@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/be-vietnam-pro-500.woff2) format("woff2")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/be-vietnam-pro-700.woff2) format("woff2")}:root{--bg: #f4f5f7;--surface: #ffffff;--surface-2: #eceef2;--text: #111214;--muted: #8a8f98;--border: #e3e5ea;--primary: #111214;--on-primary: #ffffff;--purple: #281257;--purple-pressed: #1b0b3e;--orange: #fe8a02;--orange-pressed: #e47a00;--brand: var(--orange);--accent: var(--purple);--accent-pressed: var(--purple-pressed);--on-accent: #ffffff;--focus: color-mix(in srgb, var(--accent) 55%, white);--cjk: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Noto Sans CJK JP", "Yu Gothic", Meiryo, sans-serif;--pos: #12a150;--neg: #e5484d;--radius: 18px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);color-scheme:light dark;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}@media(prefers-color-scheme:dark){:root{--bg: #0b0c0e;--surface: #17191c;--surface-2: #222429;--text: #f2f3f5;--muted: #8d929b;--border: #2a2d33;--primary: #f2f3f5;--on-primary: #0b0c0e;--pos: #3ddc84;--neg: #ff6b6f;--accent: color-mix(in srgb, var(--purple) 30%, #d9ccff);--accent-pressed: color-mix(in srgb, var(--purple) 40%, #d9ccff);--on-accent: var(--purple)}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text)}html,body{overscroll-behavior:none}html,body{height:100%;overflow:hidden}body{position:fixed;top:0;right:0;bottom:0;left:0;width:100%}button,a,label,[role=button],.tab,.badge,.btn,img,svg{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}img{-webkit-user-drag:none}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}#root{max-width:480px;margin:0 auto;height:100dvh;overflow:hidden}h1,h2,p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}input{font:inherit;color:inherit}.muted{color:var(--muted)}.small{font-size:13px}.center{text-align:center}.right{text-align:right;align-items:flex-end}.pos{color:var(--pos);font-weight:600}.neg{color:var(--neg);font-weight:600}.error{color:var(--neg);font-size:14px}.stack{display:flex;flex-direction:column;gap:16px}.screen{height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding:calc(16px + var(--safe-top)) 20px calc(20px + var(--safe-bottom));display:flex;flex-direction:column;gap:20px}.card{background:var(--surface);border-radius:var(--radius);padding:18px}.btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:54px;border-radius:16px;border:0;font-size:17px;font-weight:600;transition:transform .1s,opacity .15s}.btn:active{transform:scale(.98)}.btn[aria-busy=true]{cursor:progress}.btn-primary{background:var(--purple);color:#fff}.btn-primary:active{background:var(--purple-pressed)}@media(prefers-color-scheme:dark){.btn-primary,.get-btn.block{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--purple) 40%,#b9a6ff)}}.btn-outline{background:var(--surface);border:1px solid var(--border)}.icon-btn{display:grid;place-items:center;width:38px;height:38px;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:50%;border:0;background:var(--surface-2);color:var(--text)}.icon-btn>svg{display:block}.icon-btn.danger{color:var(--neg);background:color-mix(in srgb,var(--neg) 14%,transparent)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:36px}.topbar-title{display:flex;align-items:center;gap:8px;font-size:17px;white-space:nowrap}.back-btn{flex:none;display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:13px;color:var(--text);background:#e6e8ed;transition:transform .1s,filter .15s}.back-btn:hover{filter:brightness(.96)}.back-btn:active{transform:scale(.94)}@media(prefers-color-scheme:dark){.back-btn{background:var(--surface-2)}}.back-btn svg path{stroke-width:2.4}.back-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.truncate{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-block{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.field-block input{transition:border-color .15s,box-shadow .15s;height:46px;padding:0 14px;border-radius:12px;border:1px solid var(--border);background:var(--bg);font-size:16px;color:var(--text);outline:0}.field-block input:focus{border-color:var(--focus);box-shadow:0 0 0 1px var(--focus)}.field-block.invalid input,.field-block.invalid input:focus{border-color:var(--neg);box-shadow:none;background:color-mix(in srgb,var(--neg) 6%,var(--bg))}.field-block.invalid input:focus{box-shadow:0 0 0 1px var(--neg)}.field-block .error{font-size:13px}.avatar{flex:none;display:inline-grid;place-items:center;border-radius:28%;background:var(--brand);color:#fff;font-weight:700}.profile{display:flex;align-items:center;gap:12px}.profile-text{flex:1;min-width:0}.profile-text h1{margin-top:1px;font-size:17px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.greeting{display:flex;align-items:center;gap:5px;font-size:14px;color:var(--muted);white-space:nowrap;overflow:hidden}.greeting svg{flex:none}.greeting[data-tone=morning] svg{color:#f5a524}.greeting[data-tone=noon] svg{color:#f97316}.greeting[data-tone=afternoon] svg{color:#ea580c}.greeting[data-tone=evening] svg{color:#6366f1}.greeting[data-tone=night] svg{color:#8b5cf6}.profile-text .small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.big{font-size:22px;font-weight:700;letter-spacing:-.01em}.list{list-style:none;margin:0;padding:4px 16px}.row{display:flex;align-items:center;gap:12px;padding:12px 0}.row+.row{border-top:1px solid var(--border)}.empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 0;color:var(--muted)}.screen.home .empty{flex:1;justify-content:center;padding-bottom:15vh}.home{height:100dvh;overflow:hidden}.screen.home{overflow:hidden}.screen>*{flex-shrink:0}.home .profile{margin-top:18px}.home-tools{flex:none;display:flex;gap:6px}.dots-btn svg{transform:rotate(90deg)}.tool-btn{width:40px;height:40px;border-radius:13px;color:var(--accent);background:#e6e8ed;transition:transform .1s,filter .15s}.tool-btn:active{transform:scale(.94)}.tool-btn:hover,.tool-btn[aria-expanded=true]{filter:brightness(.96)}@media(prefers-color-scheme:dark){.tool-btn{color:color-mix(in srgb,var(--accent) 70%,white);background:var(--surface-2)}}.home-tools{align-items:center}.coin-badge{display:inline-flex;align-items:center;gap:4px;height:44px;margin-right:-2px;padding:0 4px 0 0;border:0;background:none;color:#8a5200;font-size:17px;font-weight:800;font-variant-numeric:tabular-nums;transition:transform .1s;-webkit-tap-highlight-color:transparent}.coin-badge:active{transform:scale(.96)}@media(prefers-color-scheme:dark){.coin-badge{color:#ffcf66}}.coin-sprite{--size: 40px;margin:0 -2px;width:var(--size);height:var(--size);flex:none;background:url(/assets/coin-spin.webp) 0 0 / calc(var(--size) * 12) var(--size) no-repeat}.coin-sprite.spin{animation:coin-spin var(--spin-ms, .6s) steps(12) 1,coin-hop var(--spin-ms, .6s) ease-out 1}@keyframes coin-spin{to{background-position-x:calc(var(--size) * -12)}}@keyframes coin-hop{0%,to{transform:translateY(0)}40%{transform:translateY(-6px)}}@media(prefers-reduced-motion:reduce){.coin-sprite.spin{animation:none}}.sheet-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50}.sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#080a0e73;opacity:0;will-change:opacity}.sheet{position:absolute;left:0;right:0;bottom:0;margin:0 auto;max-width:480px;max-height:80dvh;display:flex;flex-direction:column;background:var(--surface);border-radius:24px 24px 0 0;transform:translate3d(0,100%,0);will-change:transform}.sheet-head{flex:none;padding:10px 20px 12px;text-align:center;touch-action:none;cursor:grab}.sheet-handle{display:block;width:40px;height:5px;margin:0 auto 14px;border-radius:999px;background:var(--border)}.sheet-head h2{font-size:18px;font-weight:700}.sheet-head p{margin-top:4px}.sheet-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 12px;-webkit-overflow-scrolling:touch}.sheet-body:last-child{padding-bottom:calc(12px + var(--safe-bottom))}.sheet-foot{flex:none;padding:12px 20px calc(16px + var(--safe-bottom));border-top:1px solid var(--border)}.check{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:7px;border:2px solid var(--border);color:#fff;transition:background .15s,border-color .15s}.check.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.check.check-error{background:var(--neg);border-color:var(--neg)}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.check svg path{stroke-width:3}.action-list{list-style:none;margin:0;padding:0 0 8px;display:flex;flex-direction:column;gap:4px}.action-item{display:flex;align-items:center;gap:14px;width:100%;padding:12px 10px;border:0;border-radius:14px;background:transparent;color:var(--text);text-align:left}.action-item:active{background:var(--surface-2)}@media(hover:hover){.action-item:hover{background:var(--surface-2)}}.action-item>svg{flex:none;color:var(--muted)}.action-icon{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--surface-2);color:var(--text)}.action-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.action-text strong{font-size:16px;font-weight:600}.action-text .small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-item.danger strong{color:var(--neg)}.action-item.danger .action-icon{background:color-mix(in srgb,var(--neg) 12%,var(--surface));color:var(--neg)}@media(max-width:360px){.home-tools{gap:4px}.tool-btn{width:36px;height:36px;border-radius:12px}.profile-text h1{font-size:16px}.greeting{font-size:13px}.profile{gap:10px}.profile .avatar{width:46px!important;height:46px!important;font-size:17px!important}}.cjk,.cjk input,.cjk textarea{font-family:var(--cjk)}.app-icon{flex:none;display:inline-grid;place-items:center;line-height:1;color:#fff;font-family:Be Vietnam Pro,system-ui,sans-serif;font-weight:700;letter-spacing:-.03em}.app-icon.cjk{font-family:var(--cjk);letter-spacing:0}.app-icon.has-image{overflow:hidden;box-shadow:inset 0 0 0 1px #0000000f}.app-icon img{display:block;width:100%;height:100%;object-fit:cover}.mini-app{--app-soft: var(--app-soft-l);--app-ink: var(--app-ink-l);height:100dvh;display:flex;flex-direction:column}.mini-app>.page{flex:1;min-height:0;height:auto}@media(prefers-color-scheme:dark){.mini-app{--app-soft: var(--app-soft-d);--app-ink: var(--app-ink-d)}}.btn-app{background:var(--app-color);color:#fff}.btn-app:active{filter:brightness(.92)}.btn-app svg path{fill:currentColor;stroke:none}.topbar-title{min-width:0}.topbar-spacer{width:40px}.mini-app .page-top{grid-template-columns:40px minmax(0,1fr) 96px;gap:12px}.mini-app .page-top .topbar-title{justify-content:flex-start;min-height:40px}.page-top.no-back{grid-template-columns:minmax(0,1fr) 40px}.mini-app .page-top.no-back{grid-template-columns:minmax(0,1fr) 96px}.page-top.no-back .topbar-title{justify-content:flex-start;min-height:40px}.capsule{position:fixed;z-index:20;top:calc(15px + var(--safe-top));right:max(20px,calc(50vw - 220px));display:flex;align-items:center;height:34px;padding:0 2px;border-radius:999px;background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid var(--border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.capsule button{display:grid;place-items:center;width:40px;height:30px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--text)}.capsule button:active{background:var(--surface-2)}.capsule-sep{width:1px;height:16px;background:var(--border)}.capsule-app-icon{background:none}.tab-bar{flex:none;display:flex;justify-content:space-around;gap:4px;padding:6px 8px calc(6px + var(--safe-bottom));border-top:1px solid var(--border);background:var(--surface)}.tab-item{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px 4px;border-radius:12px;color:var(--muted);font-size:11px;font-weight:700;-webkit-tap-highlight-color:transparent}.tab-item span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-item.on{color:var(--app-color)}@media(prefers-color-scheme:dark){.tab-item.on{color:var(--app-ink)}}.tab-item:active{background:var(--surface-2)}.mini-app.has-tabs .page-body{padding-bottom:24px}.app-splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:var(--app-soft);transition:opacity .28s ease,visibility .28s}.app-splash.hide{opacity:0;visibility:hidden;pointer-events:none}.app-splash-logo{display:grid;line-height:0;margin-bottom:14px;border-radius:28px;box-shadow:0 10px 30px #0000001f;animation:app-splash-in .52s cubic-bezier(.2,.8,.2,1) both}.app-splash-logo .app-icon{border-radius:28px}.app-splash-name{font-size:24px;font-weight:800;color:var(--text);animation:app-splash-in .52s 80ms cubic-bezier(.2,.8,.2,1) both}.app-splash-sub{font-size:14px;font-weight:600;color:var(--app-ink);animation:app-splash-in .52s .14s cubic-bezier(.2,.8,.2,1) both}@keyframes app-splash-in{0%{opacity:0;transform:translateY(10px) scale(.94)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.app-splash-logo,.app-splash-name,.app-splash-sub{animation:none}}.exit-confirm{display:flex;flex-direction:column;align-items:center;gap:18px;padding:4px 8px 8px}.exit-confirm .app-icon{border-radius:18px}.exit-actions{display:flex;gap:10px;width:100%}.exit-actions .btn{flex:1}.field{transition:border-color .15s,box-shadow .15s;display:flex;align-items:center;gap:10px;height:54px;padding:0 16px;background:var(--surface);border:1px solid var(--border);border-radius:16px;color:var(--muted)}.field:focus-within{border-color:var(--focus);box-shadow:0 0 0 1px var(--focus);color:var(--focus)}.field>svg{flex:none}.field input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:16px;color:var(--text)}.field.search{height:48px}.field.search input::-webkit-search-cancel-button{cursor:pointer}.danger-outline{color:var(--neg)}.btn-outline{color:var(--text)}.form-sheet{display:flex;flex-direction:column;gap:14px;padding:4px 8px 12px}.field-block textarea{transition:border-color .15s,box-shadow .15s;resize:none;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--bg);font:inherit;font-size:16px;color:var(--text);outline:0}.field-block textarea:focus{border-color:var(--focus);box-shadow:0 0 0 1px var(--focus)}.sheet-msg{margin:0 10px 8px;font-size:14px;font-weight:600}.sheet-msg.ok{color:var(--pos)}.sheet-note{padding:0 10px 12px}.speak-btn{flex:none;display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:12px;background:transparent;color:var(--muted);transition:transform .1s,color .15s}.speak-btn:active{transform:scale(.92);color:var(--accent)}.speak-btn.big{width:54px;height:54px;border-radius:16px;background:var(--surface);color:var(--accent)}.flash-stage{position:relative;height:min(56dvh,420px);perspective:1200px}.flash{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:pan-y;cursor:grab;outline:none;will-change:transform}.flash.animating{transition:transform .22s cubic-bezier(.2,.7,.2,1)}.flash:focus-visible .flash-face{box-shadow:0 0 0 2px var(--focus)}.flash-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .45s cubic-bezier(.3,.7,.2,1)}.flash.flipped .flash-inner{transform:rotateY(180deg)}.flash-face{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;border-radius:24px;background:var(--surface);text-align:center;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 10px 30px -12px #140a3c2e,0 0 0 1px var(--border)}.flash-face.front{border-top:5px solid var(--app-color)}.flash-face.back{transform:rotateY(180deg);border-top:5px solid var(--brand)}.flash-face hr{width:48px;height:3px;margin:6px 0;border:0;border-radius:3px;background:var(--border)}.flash-term{font-size:clamp(30px,10vw,46px);font-weight:700;line-height:1.2;word-break:break-word}.flash-term.small-term{font-size:clamp(22px,7vw,30px)}.flash-meaning{font-size:20px;font-weight:600;line-height:1.35}.flash-tip{position:absolute;bottom:16px}.swipe-hint{position:absolute;top:14px;z-index:2;padding:6px 12px;border-radius:10px;font-size:14px;font-weight:800;pointer-events:none;transition:opacity .1s}.swipe-hint.left{left:14px;color:var(--neg);border:2px solid var(--neg);background:var(--surface)}.swipe-hint.right{right:14px;color:var(--pos);border:2px solid var(--pos);background:var(--surface)}.grade-btn.again{background:color-mix(in srgb,var(--neg) 14%,var(--surface));color:var(--neg)}.grade-btn.good{background:color-mix(in srgb,var(--pos) 16%,var(--surface));color:var(--pos)}.grade-btn svg path{stroke-width:2.6}@media(prefers-reduced-motion:reduce){.flash-inner,.flash.animating{transition:none}}.screen.home{gap:16px;padding-bottom:0}.screen.home>.installed{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin:0 -20px;padding:0 20px calc(24px + var(--safe-bottom));display:flex;flex-direction:column;gap:18px}.field.search.with-action{padding-right:10px}.field.search input::-webkit-search-cancel-button{-webkit-appearance:none}.clear-btn{flex:none;display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:var(--surface-2);color:var(--muted)}.clear-btn svg path{stroke-width:2.6}.see-all{width:auto;height:48px;margin-top:8px;padding:0 24px}.list-title{margin:0 0 10px 4px;font-size:13px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.app-list{list-style:none;margin:0;padding:4px 14px}.app-row{display:flex;align-items:center;gap:14px;padding:12px 0;cursor:pointer;-webkit-user-select:none;user-select:none}.app-row+.app-row{border-top:1px solid var(--border)}.app-row:active .app-row-text strong{opacity:.6}.app-row-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.app-row-text strong{font-size:17px;font-weight:700}.app-row-text strong.cjk{font-family:var(--cjk)}.app-row-meta{display:flex;align-items:center;gap:6px;margin-top:3px;color:var(--muted);font-weight:600}.app-row-meta i{width:3px;height:3px;border-radius:50%;background:var(--muted);opacity:.6}.app-row-meta b{color:#c96a00;font-weight:700}@media(prefers-color-scheme:dark){.app-row-meta b{color:#ffb35c}}.go-btn,.get-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:68px;height:34px;padding:0 16px;border:0;border-radius:999px;font-size:15px;font-weight:700;letter-spacing:.01em;transition:transform .1s,background .15s}.go-btn{background:var(--orange);color:#fff}.go-btn:active{background:var(--orange-pressed);transform:scale(.95)}.get-btn{background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent)}.get-btn:active{transform:scale(.95)}.go-btn.block,.get-btn.block{width:100%;height:54px;border-radius:16px;font-size:17px}.get-btn.block{background:var(--purple);color:#fff}.get-btn.installing{cursor:progress}.ring{width:22px;height:22px;animation:spin .9s linear infinite}.ring circle{fill:none;stroke-width:3}.ring circle:first-child{stroke:color-mix(in srgb,currentColor 22%,transparent)}.ring circle:last-child{stroke:currentColor;stroke-dasharray:18 100;stroke-linecap:round}@keyframes spin{to{transform:rotate(360deg)}}.page{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.page-top{flex:none;display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;padding:calc(12px + var(--safe-top)) 20px 8px;background:var(--bg)}.page-top .topbar-title{justify-content:center;font-size:17px}.page-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 20px calc(28px + var(--safe-bottom))}.page-body>*{flex-shrink:0}.featured{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -20px;padding:0 20px 4px;scrollbar-width:none;overscroll-behavior-x:contain}.featured::-webkit-scrollbar{display:none}.feature-card{position:relative;overflow:hidden;flex:0 0 78%;height:150px;scroll-snap-align:center;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;padding:16px 18px;border:0;border-radius:22px;color:#fff;text-align:left}.feature-card:active{transform:scale(.98)}.feature-card strong{font-family:Be Vietnam Pro,system-ui,sans-serif;font-size:24px;font-weight:700;letter-spacing:-.02em;z-index:1}.feature-card strong.cjk{font-family:var(--cjk);letter-spacing:.02em}.feature-cat{position:absolute;top:14px;left:18px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;opacity:.85}.feature-tag{font-size:14px;opacity:.92;z-index:1}.feature-glyph{position:absolute;right:-6px;top:-10px;font-family:Be Vietnam Pro,system-ui,sans-serif;font-size:110px;font-weight:700;line-height:1;opacity:.2;letter-spacing:-.05em}.feature-glyph.cjk{font-family:var(--cjk)}.detail-page .page-body{padding-bottom:calc(100px + var(--safe-bottom))}.detail-hero{display:flex;align-items:center;gap:18px}.detail-head{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;align-items:flex-start}.detail-head h1{font-family:Be Vietnam Pro,system-ui,sans-serif;font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.2}.detail-head h1.cjk{font-family:var(--cjk);letter-spacing:.02em}.detail-chip{margin-top:4px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;background:color-mix(in srgb,var(--app-color) 14%,var(--surface));color:var(--app-color)}@media(prefers-color-scheme:dark){.detail-chip{color:color-mix(in srgb,var(--app-color) 55%,white)}}.detail-facts{list-style:none;margin:0;padding:14px 4px;display:grid;grid-template-columns:repeat(4,1fr)}.detail-facts li{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:0 4px}.detail-facts li+li{border-left:1px solid var(--border)}.detail-facts strong{font-size:14px}.detail-desc{font-size:15px;line-height:1.55;padding:0 4px}.learn-list{list-style:none;margin:0;padding:6px 16px}.learn-list li{display:flex;align-items:flex-start;gap:10px;padding:10px 0;font-size:15px;line-height:1.4}.learn-list li+li{border-top:1px solid var(--border)}.learn-check{flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:color-mix(in srgb,var(--pos) 16%,var(--surface));color:var(--pos)}.learn-check svg path{stroke-width:3}.preview-row{display:flex;gap:10px;overflow-x:auto;margin:0 -20px;padding:0 20px 4px;scroll-snap-type:x mandatory;scrollbar-width:none}.preview-row::-webkit-scrollbar{display:none}.preview-card{flex:0 0 62%;scroll-snap-align:start;display:flex;flex-direction:column;gap:3px;min-width:0;padding:14px 10px 14px 16px;border-radius:18px;background:var(--surface);border-top:4px solid var(--app-color)}.preview-top{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0}.preview-top strong{font-size:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-top .speak-btn{width:32px;height:32px}.preview-meaning{font-size:14px;font-weight:600}.detail-remove{display:flex;flex-direction:column;gap:8px;margin-top:4px}.detail-foot{position:fixed;left:50%;bottom:0;transform:translate(-50%);width:100%;max-width:480px;z-index:3;padding:12px 20px calc(16px + var(--safe-bottom));background:var(--bg);border-top:1px solid var(--border)}.illustration{display:block;flex:none;object-fit:cover;border-radius:14px;background:var(--surface-2)}
