:root{--ground: #f6f6f7;--surface: #fff;--surface2: #ececf0;--ink: #0f0f12;--ink2: #5c5f6b;--ink3: #9296a1;--line: #e7e7ec;--line2: #d9d9e0;--ai: #2f4bb0;--fuji: #7a6ab0;--shu: #b0433a;--midori: #3f7a5e;--lift: 0 1px 2px rgba(15, 15, 18, .04), 0 12px 32px -20px rgba(15, 15, 18, .35);--serif: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;--sans: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", system-ui, sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, monospace;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--ground: #0e0e11;--surface: #17171b;--surface2: #232329;--ink: #f2f2f5;--ink2: #a9adb8;--ink3: #7a7e8a;--line: #26262c;--line2: #35353d;--ai: #9db1ee;--fuji: #b7a6df;--shu: #e28c80;--midori: #79be9b;--lift: none}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);line-height:1.7;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;overscroll-behavior-y:none}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--ai);outline-offset:2px}.app{min-height:100%;max-width:720px;margin:0 auto;display:flex;flex-direction:column;padding:max(14px,env(safe-area-inset-top)) 16px calc(14px + env(safe-area-inset-bottom))}.bar{display:flex;align-items:center;gap:10px;padding-bottom:14px}.bar h1{font-family:var(--serif);font-size:19px;font-weight:700;margin:0;letter-spacing:.04em}.bar .spacer{margin-left:auto}.iconbtn{background:var(--surface2);border:none;border-radius:999px;min-width:38px;height:38px;padding:0 14px;cursor:pointer;color:var(--ink2);font-size:13px;font-weight:500;display:inline-flex;align-items:center;gap:6px;justify-content:center;transition:background .15s ease}.iconbtn:hover{background:var(--line2);color:var(--ink)}.avatar{width:38px;height:38px;border-radius:999px;display:block;margin:-1px -14px}.bars{display:flex;height:4px;border-radius:999px;overflow:hidden;background:var(--surface2)}.bars i{display:block;height:100%;transition:width .3s ease}.b-new{background:var(--line2)}.b-mid{background:var(--fuji)}.b-ok{background:var(--midori)}.legend{display:flex;gap:14px;font-size:11.5px;color:var(--ink3);font-variant-numeric:tabular-nums;margin-top:9px;flex-wrap:wrap}.legend span:before{content:"";display:inline-block;width:6px;height:6px;border-radius:999px;margin-right:6px;vertical-align:1px}.legend .l1:before{background:var(--line2)}.legend .l2:before{background:var(--fuji)}.legend .l3:before{background:var(--midori)}.legend .l4{margin-left:auto}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{font-size:12.5px;font-weight:500;color:var(--ink2);background:var(--surface2);border:none;border-radius:999px;padding:7px 14px;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease}.chip:hover{color:var(--ink)}.chip[aria-pressed=true]{background:var(--ink);color:var(--ground)}.chip .n{margin-left:7px;opacity:.55;font-variant-numeric:tabular-nums}.stage{flex:1;display:flex;flex-direction:column;margin-top:18px;perspective:1400px;touch-action:pan-y;will-change:transform}.card{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--lift);padding:32px 24px;flex:1;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;cursor:pointer;position:relative;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}@media(prefers-color-scheme:light){.card{border-color:transparent}}.card .corner{position:absolute;top:14px;font-size:11.5px;color:var(--ink3);font-variant-numeric:tabular-nums}.card .corner.l{left:18px}.card .corner.r{right:18px}.term{font-family:var(--serif);font-size:clamp(32px,8.5vw,48px);font-weight:700;line-height:1.4;letter-spacing:.02em;margin:0;text-wrap:balance;-webkit-user-select:text;user-select:text}.term ruby rt{font-family:var(--sans);font-size:.32em;font-weight:400;color:var(--ai);letter-spacing:.02em;line-height:1.5}.zh{font-size:16.5px;color:var(--ink2);-webkit-user-select:text;user-select:text;margin:0}.zh.big{font-family:var(--sans);font-size:clamp(22px,5.5vw,30px);font-weight:500;color:var(--ink);letter-spacing:.01em}.veil{color:var(--ink3);font-size:12.5px}.card.enter{animation:card-in .22s ease-out}.card.turn{animation:card-turn .34s cubic-bezier(.2,.7,.3,1)}@keyframes card-in{0%{opacity:0;transform:translateY(10px) scale(.97)}}@keyframes card-turn{0%{transform:rotateY(-90deg)}}.example{margin-top:4px;padding-top:16px;border-top:1px solid var(--line);width:100%;text-align:left;font-size:14.5px}.example .ja{margin:0 0 4px;line-height:2.1;-webkit-user-select:text;user-select:text}.example .ja ruby rt{font-size:.5em;color:var(--ai);font-weight:400}.example mark{background:color-mix(in srgb,var(--fuji) 20%,transparent);color:inherit;border-radius:3px}.example .zhline{margin:0;font-size:13.5px;color:var(--ink3)}.example .lbl{font-size:11px;color:var(--ink3);letter-spacing:.06em;display:flex;align-items:center;gap:8px;margin-bottom:4px}.speak{position:absolute;bottom:14px;right:16px;background:var(--surface2);border:none;border-radius:999px;min-width:40px;height:40px;cursor:pointer;color:var(--ink2);display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease}.speak.trash{right:auto;left:16px;background:none;color:var(--ink3)}.speak.trash:hover{background:color-mix(in srgb,var(--shu) 12%,transparent);color:var(--shu)}.speak.inline{position:static;min-width:30px;height:30px}.speak.inline.text{width:auto;padding:0 12px;font-size:11.5px;letter-spacing:.04em}.speak.inline svg{width:15px;height:15px}.speak:hover{background:var(--line2);color:var(--ink)}.speak svg{width:19px;height:19px}.acts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.acts.one{grid-template-columns:1fr}.act{font-size:16px;font-weight:500;padding:17px 10px;border-radius:14px;cursor:pointer;border:none;background:var(--surface2);color:var(--ink2);-webkit-tap-highlight-color:transparent;transition:background .15s ease,opacity .15s ease}.act:hover{color:var(--ink)}.act.again{color:var(--shu)}.act.got,.acts.one .act{background:var(--ink);color:var(--ground)}.act.got:hover,.acts.one .act:hover{color:var(--ground);opacity:.88}.act kbd{font-family:var(--mono);font-size:10px;border-radius:4px;padding:1px 5px;margin-left:8px;background:color-mix(in srgb,currentColor 14%,transparent);vertical-align:middle}@media(max-width:560px){.act kbd{display:none}}.foot{margin-top:14px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;font-size:11.5px;color:var(--ink3);font-variant-numeric:tabular-nums}.link{font-size:12.5px;color:var(--ink3);background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:0}.link:hover{color:var(--ink)}.sync.pending{color:var(--fuji)}.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:5;display:flex;gap:16px;align-items:center;padding:11px 18px;border-radius:14px;background:var(--ink);color:var(--ground);font-size:13.5px;white-space:nowrap;max-width:calc(100% - 32px);box-shadow:0 10px 30px -14px #0f0f1280}.toast span{overflow:hidden;text-overflow:ellipsis}.toast .link{color:var(--ground);font-size:13px}.center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:24px 8px}.center h2{font-family:var(--serif);font-size:26px;margin:0;font-weight:700;letter-spacing:.03em}.center p{margin:0;color:var(--ink2);max-width:30em}.tally{display:flex;gap:32px;font-variant-numeric:tabular-nums}.tally div{display:flex;flex-direction:column}.tally b{font-size:32px;font-weight:600;line-height:1.2;letter-spacing:-.01em}.tally .k b{color:var(--midori)}.tally .u b{color:var(--shu)}.tally span{font-size:11.5px;color:var(--ink3)}.signin{gap:28px}.signin .lede{font-family:var(--serif);font-size:clamp(30px,9vw,42px);letter-spacing:.05em;margin:0}.providers{display:flex;flex-direction:column;gap:10px;width:min(100%,320px)}.pbtn{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 18px;border-radius:14px;font-size:16px;font-weight:500;cursor:pointer;border:none;background:var(--surface2);color:var(--ink);text-decoration:none}.pbtn.apple{background:var(--ink);color:var(--ground)}.pbtn svg{width:19px;height:19px}.err{color:var(--shu);font-size:13px}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--ink) 32%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center;z-index:10;animation:fade .18s ease-out}.sheet>div{background:var(--surface);border-radius:24px 24px 0 0;width:min(100%,720px);padding:8px 18px calc(22px + env(safe-area-inset-bottom));max-height:86vh;overflow:auto;animation:sheet-up .24s cubic-bezier(.2,.7,.3,1)}.sheet>div:before{content:"";display:block;width:36px;height:4px;border-radius:999px;background:var(--line2);margin:0 auto 16px}@keyframes fade{0%{opacity:0}}@keyframes sheet-up{0%{transform:translateY(14px)}}.sheet h2{font-size:12px;font-weight:600;color:var(--ink3);letter-spacing:.08em;margin:24px 0 10px}.sheet h2:first-of-type{margin-top:0}.rows{display:flex;flex-direction:column;margin-top:4px}.row{display:flex;gap:12px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;font-size:13.5px}.row:last-child{border-bottom:none}.row .d{color:var(--ink3);font-size:12.5px}.row .g{margin-left:auto;color:var(--ink2)}.note{font-size:12.5px;color:var(--ink3);margin:4px 0 0;font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
