#root{min-height:100svh}::selection{color:#171c25;background:#ffd5d1}:root{--color-bg:#fff;--color-surface:#fff;--color-soft:#f5f7f8;--color-text:#171c25;--color-muted:#68717e;--color-border:#e2e6ea;--color-accent:#d53e3a;--color-accent-solid:#d53e3a;--color-accent-soft:#fff0ee;--color-support:#08757a;--color-support-soft:#e9f6f5;--shadow-sheet:0 -20px 50px #141e281f, 0 -2px 10px #141e280f;--radius-sheet:24px;--radius-control:16px;color:var(--color-text);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#eef1f3;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans SC,sans-serif}*{box-sizing:border-box}html{background:#eef1f3}body{min-height:100svh;margin:0}button{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--color-support);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.42}.visually-hidden{clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.app-shell{background:var(--color-bg);width:min(100%,440px);min-height:100svh;margin-inline:auto;overflow:hidden;box-shadow:0 0 40px #141e2814}.skip-link{z-index:20;color:#fff;background:var(--color-support);border-radius:10px;align-items:center;min-height:44px;padding:10px 14px;display:flex;position:fixed;inset-block-start:8px;inset-inline-start:8px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.reader-header{z-index:2;min-height:calc(72px + env(safe-area-inset-top));padding:max(12px, env(safe-area-inset-top)) 16px 10px;background:#fffffff5;border-block-end:1px solid #e2e6eabd;grid-template-columns:48px 1fr 48px;align-items:center;display:grid;position:sticky;inset-block-start:0}.reader-header>div{text-align:center;min-width:0}.reader-header h1{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-family:ui-serif,Yu Mincho,Hiragino Mincho ProN,serif;font-size:18px;font-weight:650;line-height:1.2;overflow:hidden}.reader-header p{color:var(--color-muted);font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:13px}.icon-button{width:48px;min-height:48px;color:var(--color-text);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:inline-grid}.icon-button svg{stroke-width:1.8px;width:24px;height:24px}.reader{padding:18px 20px calc(112px + env(safe-area-inset-bottom))}.reader-tools{flex-wrap:wrap;align-items:center;gap:8px;margin-block-end:20px;display:flex}.language-pair{min-height:44px;color:var(--color-muted);background:var(--color-soft);text-align:start;border:0;border-radius:12px;align-items:center;gap:7px;margin:0;padding:8px 10px;font-size:13px;display:flex}.language-pair svg{stroke-width:1.7px;width:16px;height:16px}.language-pair svg:nth-of-type(2){width:13px}.contents-button{min-height:44px;color:var(--color-muted);background:var(--color-soft);border:0;border-radius:12px;flex:none;align-items:center;gap:5px;padding:8px 10px;font-size:13px;display:inline-flex}.contents-button svg{stroke-width:1.7px;width:16px;height:16px}.book-page{gap:22px;max-width:34rem;margin-inline:auto;font-family:ui-serif,Yu Mincho,Hiragino Mincho ProN,Noto Serif JP,serif;display:grid}.import-message{color:var(--color-muted);background:var(--color-soft);border-radius:10px;gap:6px;margin:-8px 0 20px;padding:10px 12px;font-size:13px;line-height:1.5;display:grid}.inline-action{min-height:44px;color:var(--color-support);text-underline-position:from-font;background:0 0;border:0;border-radius:8px;justify-self:start;margin:-4px -8px;padding:8px;font-size:13px;font-weight:650;text-decoration:underline;text-decoration-thickness:from-font}.book-pagination{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin-block-end:22px;display:grid}.book-pagination button{min-height:44px;color:var(--color-text);background:var(--color-soft);border:1px solid var(--color-border);border-radius:12px;justify-content:center;align-items:center;gap:3px;padding:7px 8px;font-size:14px;font-weight:650;display:inline-flex}.book-pagination button svg{stroke-width:2px;width:18px;height:18px}.book-pagination>span{color:var(--color-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.restore-state{min-height:100svh;color:var(--color-muted);background:var(--color-bg);text-align:center;place-content:center;gap:8px;padding:24px;display:grid}.restore-state h1{color:var(--color-text);margin:0;font-size:24px}.restore-state p{margin:0;font-size:14px}.access-gate{min-height:100svh;padding:max(24px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));background:var(--color-bg);place-items:center;display:grid}.access-card{gap:14px;width:min(100%,360px);display:grid}.access-card>*{margin:0}.access-brand{color:var(--color-accent);letter-spacing:.08em;font-size:15px;font-weight:750}.access-card h1{text-wrap:balance;font-size:32px;line-height:1.1}.access-card>p:not(.access-brand){max-width:34ch;color:var(--color-muted);text-wrap:pretty;font-size:15px;line-height:1.55}.access-card form{gap:10px;margin-block-start:10px;display:grid}.access-card label{font-size:14px;font-weight:650}.access-card input{width:100%;min-height:52px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:12px 14px;font-size:16px}.access-card input[aria-invalid=true]{border-color:var(--color-accent)}.access-card form>p{color:var(--color-accent);margin:0;font-size:14px;line-height:1.45}.access-card .button{width:100%;margin-block-start:4px}.book-block{font:inherit;margin:0}.book-block:is(h2){font-weight:700}.sentence{color:var(--color-text);cursor:pointer;text-wrap:pretty;background:0 0;border-radius:7px;padding:3px 1px;font-size:clamp(23px,6vw,27px);font-weight:450;line-height:1.75;transition:color .12s,background-color .12s;position:relative}.sentence.selected,.sentence:active{background:var(--color-accent-soft)}.long-sentence-entry{background:var(--color-soft);border-radius:var(--radius-control);text-align:start;border:0;grid-template-columns:24px 1fr;column-gap:10px;width:100%;min-height:44px;padding:14px 12px;display:grid}.long-sentence-entry>svg{width:22px;color:var(--color-accent);stroke-width:1.7px;margin-block-start:10px}.long-sentence-entry>span{min-width:0}.long-sentence-entry .long-hint{color:var(--color-support);grid-column:2;margin-block-start:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans SC,sans-serif;font-size:14px;font-weight:650;line-height:1.4}dialog{color:var(--color-text)}dialog::backdrop{background:#11182038}.sentence-guide{width:min(100%,440px);max-width:none;max-height:min(72svh,700px);padding:0 20px max(14px, env(safe-area-inset-bottom));background:var(--color-surface);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;box-shadow:var(--shadow-sheet);overscroll-behavior:contain;border:0;margin:0 auto;position:fixed;inset:auto 0 0;overflow:hidden}.sheet-handle{background:#c8ced5;border-radius:999px;width:48px;height:5px;margin:10px auto 4px}.modal-close{z-index:2;background:var(--color-soft);position:absolute;inset-block-start:14px;inset-inline-end:14px}.guide-scroll{overscroll-behavior:contain;max-height:calc(min(72svh,700px) - 90px);padding-block:50px 16px;overflow-y:auto}.guide-source{text-wrap:pretty;margin:0 0 24px;font-family:ui-serif,Yu Mincho,Hiragino Mincho ProN,serif;font-size:22px;line-height:1.65}.translation{border-block-end:1px solid var(--color-border);padding-block-end:18px}.translation h2,.segment-translation h3{margin:0 0 8px;font-size:14px;font-weight:700}.translation>p:not(.validation-note),.segment-translation p{text-wrap:pretty;margin:0;font-size:18px;line-height:1.65}.validation-note{color:var(--color-muted);margin:8px 0 0;font-size:12px}.ai-consent,.analysis-error{gap:12px;display:grid}.ai-consent p,.analysis-error p{color:var(--color-muted);margin:0;font-size:14px;line-height:1.55}.ai-consent .button,.analysis-error .button{width:100%}.grammar{margin-block-start:14px}.segment-study-button{width:100%;color:var(--color-support);background:var(--color-support-soft);margin-block-start:14px}.disclosure{width:100%;min-height:52px;color:var(--color-text);background:var(--color-soft);border-radius:var(--radius-control);text-align:start;border:0;justify-content:space-between;align-items:center;padding:10px 14px;font-size:16px;font-weight:650;display:flex}.disclosure svg{flex:none;width:20px;transition:transform .12s cubic-bezier(.2,0,0,1)}.disclosure[aria-expanded=true] svg{transform:rotate(180deg)}.grammar-points{gap:12px;padding-block-start:12px;display:grid}.grammar-points article{background:var(--color-accent-soft);border-radius:12px;padding:12px 14px}.grammar-points h3,.grammar-points p{margin:0}.grammar-points h3{color:var(--color-text);margin-block-end:5px;font-family:ui-serif,Yu Mincho,serif;font-size:17px}.grammar-points p{font-size:14px;line-height:1.55}.grammar-points .source-quote{color:var(--color-muted);margin-block-end:5px}.audio-actions{grid-template-columns:1fr 1fr;gap:12px;margin-block-start:16px;display:grid}.button,.nav-button{border-radius:var(--radius-control);justify-content:center;align-items:center;gap:8px;min-height:52px;padding:10px 14px;font-size:16px;font-weight:650;display:inline-flex}.button{border:0}.button svg,.nav-button svg{stroke-width:2px;width:20px;height:20px}.button.primary{color:#fff;background:var(--color-accent-solid)}.button.secondary{color:var(--color-support);background:var(--color-support-soft)}.button.danger{color:#fff;background:var(--color-text)}.sentence-nav{background:var(--color-surface);border-block-start:1px solid var(--color-border);grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding-block-start:12px;display:grid}.nav-button{color:var(--color-text);background:var(--color-surface);border:1px solid #cfd6dd}.nav-count{color:var(--color-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.reader-sentence-nav{z-index:3;width:min(100%,440px);padding:8px 16px max(10px, env(safe-area-inset-bottom));border-block-start:1px solid var(--color-border);background:#fffffff5;grid-template-columns:44px 44px 1fr 44px;gap:10px;margin-inline:auto;display:grid;position:fixed;inset:auto 0 0;box-shadow:0 -8px 24px #141e280f}.open-guide-button{color:#fff;background:var(--color-accent-solid);border:0;border-radius:14px;min-height:48px;padding:8px 16px;font-size:15px;font-weight:700}.language-settings,.contents-dialog,.library-dialog,.remove-book-dialog{width:min(100%,440px);max-width:none;padding:0 20px max(20px, env(safe-area-inset-bottom));background:var(--color-surface);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;box-shadow:var(--shadow-sheet);overscroll-behavior:contain;border:0;margin:0 auto;position:fixed;inset:auto 0 0}.contents-dialog,.library-dialog{max-height:min(78svh,720px);overflow-y:auto}.library-content{gap:18px;padding-block-start:28px;display:grid}.library-content>h2{text-wrap:balance;margin:0 48px 0 0;font-size:22px}.library-content>p{color:var(--color-muted);margin:-8px 48px 0 0;font-size:14px;line-height:1.55}.cloud-panel{background:var(--color-support-soft);border-radius:16px;gap:12px;padding:16px;display:grid}.cloud-panel h3,.cloud-panel p{margin:0}.cloud-panel h3{font-size:17px}.cloud-panel p{color:var(--color-muted);font-size:14px;line-height:1.55}.cloud-panel progress{width:100%;height:8px;accent-color:var(--color-support)}.cloud-actions{gap:10px;display:grid}.cloud-actions label{font-size:14px;font-weight:650}.cloud-actions input{width:100%;min-height:48px;color:var(--color-text);border:1px solid var(--color-border);background:#fff;border-radius:12px;padding:10px 12px;font-size:16px}.cloud-actions .button{width:100%;text-decoration:none}.cloud-actions .danger.subtle{color:var(--color-text);border:1px solid var(--color-border);background:0 0}.cloud-message{border-block-start:1px solid #08757a2e;padding-block-start:4px}.library-state{background:var(--color-soft);border-radius:14px;gap:12px;margin:0;padding:18px;display:grid}.library-state h3,.library-state p{margin:0}.library-state h3{font-size:17px}.library-state p{color:var(--color-muted);font-size:14px;line-height:1.55}.library-state .button{width:100%}.library-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.library-list button{width:100%;min-height:76px;color:var(--color-text);background:var(--color-soft);border:1px solid var(--color-border);text-align:start;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.library-book-copy{gap:4px;min-width:0;display:grid}.library-book-copy strong{overflow-wrap:break-word;font-size:16px;line-height:1.35}.library-book-copy>span{color:var(--color-muted);font-size:13px;line-height:1.4}.library-list svg{width:20px;height:20px;color:var(--color-muted);stroke-width:1.8px}.contents-list{list-style:none}.contents-list strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.current-book{color:var(--color-support);background:var(--color-support-soft);white-space:nowrap;border-radius:99px;padding:5px 8px;font-size:12px;font-weight:700}.confirm-content{gap:18px;padding-block-start:28px;display:grid}.confirm-content h2{text-wrap:balance;margin:0 48px 0 0;font-size:22px}.confirm-content>p{color:var(--color-muted);margin:-8px 0 0;font-size:14px;line-height:1.55}.confirm-actions{grid-template-columns:1fr 1fr;gap:12px;display:grid}.settings-content{gap:18px;padding-block-start:28px;display:grid}.settings-content h2{margin:0;font-size:22px}.settings-content>p{color:var(--color-muted);margin-block:-8px 0;margin-inline:0 48px;font-size:14px;line-height:1.55}.settings-content label{gap:7px;font-size:14px;font-weight:650;display:grid}.settings-content select{width:100%;min-height:52px;color:var(--color-text);background:var(--color-soft);border:1px solid var(--color-border);border-radius:12px;padding:10px 40px 10px 12px;font-size:16px}.long-workspace{background:var(--color-bg);border:0;width:min(100%,440px);max-width:none;height:100svh;max-height:none;margin:0 auto;padding:0;position:fixed;inset:0;overflow:hidden}.long-workspace .modal-close{background:0 0;inset-block-start:max(12px, env(safe-area-inset-top));inset-inline:12px auto}.workspace-header{min-height:calc(72px + env(safe-area-inset-top));padding:max(12px, env(safe-area-inset-top)) 16px 10px;border-block-end:1px solid var(--color-border);grid-template-columns:48px 1fr minmax(80px,auto);align-items:center;display:grid}.workspace-header h2{text-align:center;margin:0;font-size:19px}.text-button{min-height:44px;color:var(--color-accent);white-space:nowrap;background:0 0;border:0;padding:6px 0 6px 8px;font-size:15px;font-weight:650}.workspace-content{height:calc(100svh - 72px - 88px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overscroll-behavior:contain;padding:18px 20px 24px;overflow-y:auto}.segment-progress{grid-template-columns:auto 1fr;align-items:center;gap:12px;display:grid}.segment-progress strong{font-variant-numeric:tabular-nums;font-size:14px}.segment-progress progress{width:100%;height:5px;accent-color:var(--color-accent-solid);border:0;border-radius:99px;overflow:hidden}.segment-reader,.whole-sentence{gap:20px;min-height:310px;padding-block:44px 32px;font-family:ui-serif,Yu Mincho,Hiragino Mincho ProN,serif;display:grid}.segment-reader p,.whole-sentence p{text-wrap:pretty;margin:0;line-height:1.7}.segment-context{color:var(--color-muted);font-size:18px}.active-segment{padding-inline-start:18px;font-size:clamp(25px,7.4vw,34px);font-weight:600;position:relative}.active-segment:before{content:"";background:var(--color-accent-solid);border-radius:99px;width:5px;position:absolute;inset-block:5px;inset-inline-start:0}.whole-sentence p{font-size:23px}.segment-translation{border-block:1px solid var(--color-border);padding-block:20px}.relation-panel{margin-block-start:18px}.relation-panel .disclosure{color:var(--color-support);background:var(--color-support-soft)}.relation-map{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.relation-map li{background:var(--color-soft);border-inline-start:3px solid #0000;border-radius:10px;padding:12px}.relation-map li.current{background:var(--color-accent-soft);border-inline-start-color:var(--color-accent-solid)}.relation-map span{color:var(--color-muted);font-size:12px;font-weight:700}.relation-map p{margin:5px 0 0;font-family:ui-serif,Yu Mincho,serif;font-size:15px;line-height:1.5}.workspace-nav{width:min(100%,440px);padding:12px 20px max(16px, env(safe-area-inset-bottom));background:var(--color-surface);border-block-start:1px solid var(--color-border);grid-template-columns:1fr 1fr;gap:12px;margin-inline:auto;display:grid;position:fixed;inset:auto 0 0}.workspace-nav .next{color:#fff;background:var(--color-accent-solid);border-color:var(--color-accent-solid)}@media (hover:hover){.sentence:hover{background:var(--color-accent-soft)}.icon-button:hover,.nav-button:hover:not(:disabled){background:var(--color-soft)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@media (width<=359px){.reader,.sentence-guide,.workspace-content,.workspace-nav{padding-inline:16px}.audio-actions{grid-template-columns:1fr}.sentence-nav{grid-template-columns:1fr 1fr}.sentence-nav .nav-count{text-align:center;grid-area:1/1/auto/-1}}.learning-shell{--hub-blue:#0068cf;--hub-orange:#ff792f;color:#10141a;background:#fffaf2;width:min(100%,440px);min-height:100svh;margin-inline:auto;box-shadow:0 0 40px #141e2814}.today-main{padding:max(24px, env(safe-area-inset-top)) 18px calc(92px + env(safe-area-inset-bottom));gap:12px;display:grid}.brand-mark{color:#0875e1;margin:0;font-size:14px;font-weight:800}.today-main h1{letter-spacing:-.04em;text-wrap:balance;max-width:12ch;margin:2px 0 4px;font-size:clamp(32px,9vw,40px);line-height:1.02}.explanation-picker{color:#626a74;align-items:center;gap:6px;min-height:44px;font-size:13px;display:inline-flex}.explanation-picker select{color:#10141a;background:#f1f0ed;border:0;border-radius:10px;min-height:40px;padding:6px 28px 6px 10px;font-size:16px;font-weight:700}.language-tabs{scrollbar-width:none;gap:6px;margin-inline:-18px;padding-inline:18px;display:flex;overflow-x:auto}.language-tabs::-webkit-scrollbar{display:none}.language-tabs button{color:#5f6670;background:0 0;border:0;border-radius:99px;flex:none;min-height:44px;padding:8px 14px}.language-tabs button[aria-pressed=true]{color:#fff;background:var(--hub-blue);font-weight:700}.path-card{min-height:62px;color:inherit;text-align:start;background:#f1f0ed;border:0;border-radius:16px;grid-template-columns:40px 1fr 24px;align-items:center;gap:10px;padding:9px 12px;display:grid}.path-card>span:nth-child(2){gap:2px;display:grid}.path-card strong,.path-card small{display:block}.path-card small{color:#666d75;font-size:12px}.path-card svg{color:#4d555f;width:20px}.path-icon{background:radial-gradient(circle at 68% 28%,#ffb338 0 18%,#0000 19%),linear-gradient(145deg,#178a57 0 48%,#f3eee4 49%);border-radius:50%;width:40px;height:40px}.feature-card{color:#10141a;text-align:start;isolation:isolate;border:0;border-radius:18px;min-height:210px;padding:16px;position:relative;overflow:hidden}.feature-card>span:first-child{z-index:2;gap:3px;display:grid;position:absolute;inset:16px 16px auto}.feature-card strong{font-size:24px;line-height:1.05}.feature-card small{font-size:14px}.feature-card em{z-index:2;font-size:13px;font-style:normal;font-weight:650;line-height:1.25;position:absolute;bottom:18px;right:16px}.learn-card{color:#fff;background:var(--hub-blue)}.read-card{background:var(--hub-orange)}.card-art{pointer-events:none;width:190px;height:128px;position:absolute;inset:78px auto auto 10px}.card-art:before,.card-art:after,.card-art i,.card-art b{content:"";display:block;position:absolute}.speech-art:before{background:#fff4de;border-radius:52% 48% 45% 55%;width:96px;height:82px;bottom:18px;left:16px}.speech-art:after{mix-blend-mode:screen;background:#ff702c;border-radius:50%;width:72px;height:72px;bottom:10px;left:82px}.speech-art i{clip-path:polygon(18% 0,100% 20%,72% 100%,0 72%);background:#071e78;width:55px;height:86px;bottom:0;left:64px}.book-art:before{background:#fff6df;border:6px solid #fff6df;border-radius:4px 28px 5px 4px;width:108px;height:70px;bottom:18px;left:8px;transform:skewY(8deg)}.book-art:after{background:#087343;border-radius:100% 0;width:48px;height:98px;bottom:14px;left:92px;transform:rotate(20deg)}.book-art i{clip-path:polygon(0 100%,100% 0,72% 100%);background:#fff0c2;width:70px;height:40px;bottom:72px;left:96px}.app-navigation{z-index:6;width:min(100%,440px);padding:6px 10px max(8px, env(safe-area-inset-bottom));background:#fffaf2f7;border-block-start:1px solid #14181e1a;grid-template-columns:repeat(4,1fr);margin-inline:auto;display:grid;position:fixed;inset:auto 0 0}.app-navigation button{color:#68717e;background:0 0;border:0;border-radius:12px;place-items:center;gap:1px;min-height:50px;font-size:11px;display:grid}.app-navigation button[aria-current=page]{color:var(--hub-blue);font-weight:750}.app-navigation svg{stroke-width:1.8px;width:21px;height:21px}.lesson-header{padding:max(12px, env(safe-area-inset-top)) 12px 8px;grid-template-columns:48px 1fr 48px;align-items:center;display:grid}.round-button{width:48px;min-height:48px;color:inherit;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.lesson-header>div{text-align:center;gap:8px;display:grid}.lesson-header strong{font-size:13px}.lesson-header span{background:#deddd8;border-radius:99px;width:100%;height:5px;overflow:hidden}.lesson-header i{background:var(--hub-blue);border-radius:inherit;height:100%;display:block}.lesson-main{gap:20px;padding:18px 18px 180px;display:grid}.eyebrow{color:#65707a;margin:0;font-size:13px;font-weight:700}.lesson-main h1{letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(32px,9vw,42px);line-height:1.18}.sentence-explanation{background:#f1f0ed;border-radius:14px;gap:6px;padding:13px 14px;display:grid}.sentence-explanation h2,.sentence-explanation p{margin:0}.sentence-explanation h2{font-size:16px}.sentence-explanation p{color:#4f5862;font-size:16px;line-height:1.5}.word-chips{flex-wrap:wrap;justify-content:center;gap:9px;display:flex}.word-chips button{min-height:64px;color:inherit;background:#f0f1f1;border:0;border-radius:13px;gap:3px;padding:9px 13px;display:grid}.word-chips button.active{color:#10141a;background:var(--hub-orange)}.word-chips b{font-size:18px}.word-chips span{font-size:12px}.speech-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.speech-actions button{min-height:48px;color:var(--hub-blue);background:#eef5ff;border:0;border-radius:99px;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.speech-actions svg{width:19px}.lesson-hint{color:#66707a;text-align:center;margin:-8px 0 0;font-size:13px}.sticky-primary{z-index:7;inset:auto 18px calc(72px + env(safe-area-inset-bottom));color:#fff;background:var(--hub-blue);border:0;border-radius:16px;justify-content:center;align-items:center;gap:6px;width:min(100% - 36px,404px);min-height:52px;margin-inline:auto;font-weight:750;display:inline-flex;position:fixed;box-shadow:0 8px 24px #0875e140}.sticky-primary svg{width:19px}.word-detail{gap:10px;padding:4px 18px 112px;display:grid}.word-art{background:#f4e7d3;border-radius:20px;height:190px;margin-block-end:10px;position:relative;overflow:hidden}.word-art:before{content:"";background:#ff811f;border-radius:50%;width:132px;height:132px;position:absolute;top:-25px;right:42px}.word-art:after{content:"";background:#267d4a;border-radius:55% 45% 0 0;width:230px;height:105px;position:absolute;bottom:-30px;right:-25px;transform:rotate(-8deg)}.word-art span{z-index:1;background:#fff;border-radius:7px 7px 52px 52px;width:105px;height:78px;position:absolute;bottom:27px;left:44px;box-shadow:20px 24px 0 -15px #3d2818}.word-detail>h1{color:#cc4b00;margin:0;font-size:clamp(38px,11vw,50px);line-height:1}.word-reading{color:var(--hub-blue);margin:0;font-weight:750}.word-audio{width:48px;min-height:48px;color:var(--hub-blue);background:#eef5ff;border:0;border-radius:50%;place-self:end;place-items:center;display:grid;position:absolute}.word-meaning{margin:4px 0 10px;font-size:24px;font-weight:750}.usage-note{background:#eee8ff;border-radius:14px;padding:13px 14px}.usage-note p{color:#4f5260;margin:5px 0 0;font-size:14px;line-height:1.5}.examples{gap:5px;margin-block-start:8px;display:grid}.examples h2{margin:0 0 4px;font-size:17px}.examples p{border-block-start:1px solid #14181e1f;margin:0;padding-block-start:10px;font-size:17px;line-height:1.5}.examples span{color:#69717a;font-size:13px}.grammar-notes{color:#233b67;background:#eef4ff;border-radius:14px;gap:8px;margin-block-start:12px;padding:14px;display:grid}.grammar-notes h2,.grammar-notes p{margin:0}.grammar-notes ul{gap:8px;margin:0;padding-inline-start:18px;display:grid}.grammar-notes li{line-height:1.5}.grammar-notes button{color:#1f56a8;min-height:36px;font:inherit;cursor:pointer;background:#fff;border:1px solid #c7d7f5;border-radius:10px;justify-self:start;padding:0 12px;font-size:13px;font-weight:700}.course-status{color:#69717a;text-align:center;margin:0;font-size:13px}.course-error{color:#773a25;background:#fff0e8;border-radius:12px;margin:0;padding:10px 12px;font-size:13px;line-height:1.45}.course-error button{color:#7b3c25;font:inherit;cursor:pointer;background:0 0;border:0;margin-inline-start:6px;font-weight:700;text-decoration:underline}.word-actions{z-index:6;width:min(100%,440px);padding:10px 18px max(12px, env(safe-area-inset-bottom));background:#fffaf2f7;border-block-start:1px solid #14181e1a;grid-template-columns:1fr 1.25fr;gap:10px;margin-inline:auto;display:grid;position:fixed;inset:auto 0 0}.word-actions button{min-height:54px;color:var(--hub-blue);background:#edf5ff;border:0;border-radius:15px;justify-content:center;align-items:center;gap:6px;font-weight:750;display:inline-flex}.word-actions .save-word{color:#10141a;background:var(--hub-orange)}.word-actions .save-word:disabled{color:#37644e;opacity:1;background:#ddf3e5}.word-actions svg{width:20px}.review-main{min-height:100svh;padding:max(28px, env(safe-area-inset-top)) 18px calc(86px + env(safe-area-inset-bottom))}.review-main h1{letter-spacing:-.035em;text-wrap:balance;margin:4px 0 22px;font-size:clamp(32px,9vw,42px);line-height:1.05}.review-summary{background:#f1f0ed;border-radius:16px;grid-template-columns:auto 1fr auto 1fr;align-items:baseline;gap:8px;padding:16px;display:grid}.review-summary strong,.review-summary b{color:var(--hub-blue);font-size:26px}.review-summary span{color:#656c74;font-size:12px}.review-library ul{gap:10px;margin:18px 0;padding:0;list-style:none;display:grid}.review-library li{background:#fff;border:1px solid #14181e1a;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:70px;padding:12px 14px;display:grid}.review-library li>span{gap:2px;display:grid}.review-library li strong{font-size:18px}.review-library li small{color:#69717a}.review-library li>b{font-size:14px}.review-empty{text-align:center;background:#f1f0ed;border-radius:18px;place-items:center;gap:8px;margin-block-start:22px;padding:30px 18px;display:grid}.review-empty svg{width:34px;height:34px;color:var(--hub-blue)}.review-empty h2,.review-empty p{margin:0}.review-empty p{color:#66707a;font-size:14px}.review-empty button{color:#fff;background:var(--hub-blue);border:0;border-radius:12px;min-height:44px;margin-block-start:8px;padding:8px 18px;font-weight:700}.hub-primary{color:#fff;background:var(--hub-blue);border:0;border-radius:15px;width:100%;min-height:54px;padding:10px 16px;font-weight:750}.review-quiz{gap:18px;display:grid}.review-quiz h1 strong{color:var(--hub-blue)}.answer-list{gap:10px;display:grid}.answer-list button{color:#10141a;text-align:start;background:#fff;border:1px solid #d4d9de;border-radius:14px;min-height:62px;padding:12px 15px;font-size:17px}.answer-list button.selected{border:2px solid var(--hub-blue);background:#edf5ff}.answer-status{color:#773a25;background:#fff0e8;border-radius:14px;margin:0;padding:14px;font-weight:700}.answer-status.correct{color:#17633d;background:#e4f6e9}.review-finished{text-align:center;place-content:center;justify-items:center;gap:14px;min-height:calc(100svh - 130px);display:grid}.review-finished>span{color:#fff;background:#18a45e;border-radius:50%;place-items:center;width:72px;height:72px;display:grid}.review-finished h1,.review-finished p{margin:0}.review-finished p{color:#65707a;max-width:30ch;line-height:1.5}.review-finished .hub-primary{margin-block-start:8px}.placement-main{min-height:calc(100svh - 70px);padding:18px 18px max(28px, env(safe-area-inset-bottom))}.placement-state{text-align:center;place-content:center;gap:12px;min-height:calc(100svh - 130px);display:grid}.placement-state h1,.placement-state p{margin:0}.placement-state p{color:#65707a;text-wrap:pretty;max-width:32ch;line-height:1.55}.placement-state .hub-primary{margin-block-start:8px}.placement-quiz{gap:18px;display:grid}.placement-meta{color:#65707a;justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.placement-meta span:first-child{color:var(--hub-blue);background:#edf5ff;border-radius:99px;padding:5px 9px;font-weight:800}.placement-quiz h1{letter-spacing:-.025em;text-wrap:balance;max-width:22ch;margin:6px 0;font-size:clamp(30px,8vw,40px);line-height:1.2}.placement-audio{width:fit-content;min-height:44px;color:var(--hub-blue);background:#edf5ff;border:0;border-radius:99px;align-items:center;gap:7px;padding:8px 14px;font-weight:700;display:inline-flex}.placement-audio svg{width:19px}.placement-feedback{color:#773a25;background:#fff0e8;border-radius:14px;padding:14px}.placement-feedback.correct{color:#17633d;background:#e4f6e9}.placement-feedback p{margin:5px 0 0;line-height:1.5}.placement-result{text-align:center;place-content:center;justify-items:center;gap:12px;min-height:calc(100svh - 130px);display:grid}.placement-result>span{color:#fff;background:#18a45e;border-radius:50%;place-items:center;width:72px;height:72px;display:grid}.placement-result h1,.placement-result p{margin:0}.placement-result h1{text-wrap:balance;font-size:clamp(32px,9vw,42px);line-height:1.05}.placement-result>p:not(.eyebrow){color:#65707a;text-wrap:pretty;max-width:31ch;line-height:1.55}.placement-result .hub-primary{margin-block-start:10px}@media (prefers-reduced-motion:no-preference){.feature-card:active,.sticky-primary:active,.hub-primary:active,.placement-audio:active{scale:.96}}
