:root{--blue:#4b92df;--blue-deep:#2c6ebd;--indigo:#587fd3;--purple:#7f8de8;--teal:#6fc6d8;--text:#1b2444;--muted:#65748f;--line:#6487b933;--card:#ffffffc2;--card-solid:#fff;--green:#1eae73;--green-weak:#e4f8ee;--amber:#e9a23b;--shadow:0 14px 40px #3468aa21;--shadow-sm:0 6px 18px #3468aa17;--radius:22px;--radius-sm:14px}*{box-sizing:border-box}html,body{color:var(--text);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Hiragino Sans,Noto Sans JP,sans-serif;line-height:1.65}html{scroll-behavior:smooth;scroll-padding-top:78px}body{background-color:#f5fbff;background-image:radial-gradient(900px 520px at 82% 8%,#6cb7da33,#0000 64%),radial-gradient(760px 520px at 0 62%,#6d9ad72e,#0000 58%),url(/images/nordic-watercolor-clean.jpg);background-position:50%,50%,50%;background-size:auto,auto,cover;background-attachment:fixed;min-height:100vh;position:relative}body:before{content:"";pointer-events:none;z-index:0;filter:blur(18px);opacity:.86;background:radial-gradient(520px 240px at 18% 18%,#ffffffc7,#0000 72%),radial-gradient(680px 300px at 78% 18%,#ffffffad,#0000 74%),radial-gradient(640px 260px at 56% 62%,#f0faff94,#0000 72%),radial-gradient(460px 220px at 8% 82%,#e8f6fc8f,#0000 70%);position:fixed;inset:-8%}body:after{content:"";pointer-events:none;z-index:0;background:#fafdff80;position:fixed;inset:0}a{color:inherit;text-decoration:none}.container{z-index:1;max-width:880px;margin:0 auto;padding:22px 18px 112px;position:relative}.shell{z-index:1;grid-template-columns:minmax(230px,290px) minmax(500px,730px) minmax(300px,370px);align-items:start;gap:20px;width:min(1480px,100%);height:calc(100dvh - 132px);margin:0 auto;padding:24px 22px 20px;display:grid;position:relative;overflow:hidden}.main-stage{min-width:0}.left-panel,.main-stage,.right-panel,.right-rail{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:calc(100dvh - 176px);padding-right:4px;overflow-y:auto}.main-stage>.right-panel{max-height:none;padding-right:20px;overflow:visible}.shell-view-review .main-stage{grid-column:1/4;height:calc(100dvh - 176px)}.shell-view-review .main-stage>.right-panel{width:100%;min-height:100%}.shell-view-writing,.shell-view-vocab{grid-template-columns:minmax(620px,1fr) minmax(380px,480px)}.shell-view-writing .main-stage,.shell-view-vocab .main-stage{grid-column:1}.shell-view-writing .right-panel,.shell-view-vocab .right-panel,.shell-view-writing .right-rail,.shell-view-vocab .right-rail{grid-column:2}.shell-view-writing .right-panel,.shell-view-vocab .right-panel{padding:24px}.right-rail{align-content:start;gap:18px;display:grid}.right-rail .recent-side-card{max-height:none;padding:24px;overflow:visible}.right-rail .tutor-inline-button{justify-self:start;margin:0 0 0 26px}.right-rail .embedded-tutor{margin-top:0}.shell-view-writing .embedded-tutor,.shell-view-vocab .embedded-tutor{padding:20px}.shell-view-writing .tutor-thread,.shell-view-vocab .tutor-thread{min-height:180px;max-height:42dvh}.shell-view-writing .tutor-input textarea,.shell-view-vocab .tutor-input textarea{min-height:112px}.left-panel::-webkit-scrollbar{width:8px}.main-stage::-webkit-scrollbar{width:8px}.right-panel::-webkit-scrollbar{width:8px}.right-rail::-webkit-scrollbar{width:8px}.tutor-thread::-webkit-scrollbar{width:8px}.left-panel::-webkit-scrollbar-thumb{background:#4b92df38;border-radius:999px}.main-stage::-webkit-scrollbar-thumb{background:#4b92df38;border-radius:999px}.right-panel::-webkit-scrollbar-thumb{background:#4b92df38;border-radius:999px}.right-rail::-webkit-scrollbar-thumb{background:#4b92df38;border-radius:999px}.tutor-thread::-webkit-scrollbar-thumb{background:#4b92df38;border-radius:999px}.topbar{z-index:20;-webkit-backdrop-filter:saturate(160%)blur(18px);border-bottom:1px solid var(--line);background:#fff9;justify-content:space-between;align-items:center;padding:14px 20px;display:flex;position:sticky;top:0}.topbar:after{content:none}.topbar h1{letter-spacing:-.01em;margin:0;font-size:1.05rem;font-weight:800}.topbar h1 a{background:linear-gradient(90deg, var(--blue-deep), var(--teal));color:#0000;-webkit-background-clip:text;background-clip:text}.topbar nav{align-items:center;gap:8px;display:flex}.topbar nav form{margin:0}.card{background:var(--card);-webkit-backdrop-filter:saturate(150%)blur(14px);box-shadow:var(--shadow-sm);border-radius:var(--radius);border:1px solid #ffffffb3;margin-bottom:16px;padding:20px}.cards{flex-direction:column;gap:4px;display:flex}.hero{color:#fff;box-shadow:var(--shadow);background:radial-gradient(360px 150px at 82% 30%,#ffffff3d,#0000 68%),linear-gradient(135deg,#4292d7 0%,#4f88d8 58%,#6ca6df 100%);border-radius:26px;margin-bottom:22px;padding:30px 28px;position:relative;overflow:hidden}.hero-sm{padding:22px 26px}.hero-eyebrow{opacity:.9;margin:0 0 6px;font-size:.85rem;font-weight:600}.hero-title{letter-spacing:-.02em;margin:0;font-size:1.9rem;font-weight:800}.hero-sub{opacity:.95;margin:8px 0 0;font-size:.92rem}.hero-sub b{font-weight:700}.hero-orb{filter:blur(4px);opacity:.68;background:radial-gradient(88px 58px at 32% 58%,#ffffffdb,#0000 76%),radial-gradient(108px 76px at 64% 40%,#e1f3ffa8,#0000 74%),radial-gradient(130px 82px at 48% 74%,#ffffff85,#0000 78%);border:1px solid #ffffff80;border-radius:46% 54% 52% 48%/48% 44% 56% 52%;width:210px;height:150px;position:absolute;top:-28px;right:-34px;transform:none}.side-panel{-webkit-backdrop-filter:saturate(155%)blur(18px);min-height:0;box-shadow:var(--shadow-sm);background:linear-gradient(160deg,#ffffffe0,#ffffff85),linear-gradient(120deg,#4e91d524,#6fc6d817);border:1px solid #ffffffc7;border-radius:28px;padding:20px}.left-panel{background:linear-gradient(155deg,#ffffffe6,#f2f7ff9e),linear-gradient(32deg,#4f94da21,#0000 58%)}.right-panel{background:linear-gradient(155deg,#ffffffe0,#f2f9fc9e),linear-gradient(320deg,#68bed621,#0000 60%)}.side-kicker,.quick-label{color:var(--indigo);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:.75rem;font-weight:850}.side-panel h2,.quick-practice h2{letter-spacing:-.01em;margin:0;font-size:1.15rem;line-height:1.25}.side-copy,.quick-practice p{color:var(--muted);margin:8px 0 0;font-size:.88rem;line-height:1.6}.mode-section{margin-top:18px}.mode-section h3{color:#39436d;margin:0 0 9px;font-size:.82rem}.mode-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.mode-pill,.score-chip,.daily-level-chip,.mode-row{border:1px solid var(--line);color:var(--text);font:inherit;cursor:pointer;background:#ffffff94;transition:transform .12s,background .12s,border-color .12s,box-shadow .12s}.mode-pill{border-radius:16px;min-height:46px;font-weight:800}.mode-pill:hover,.score-chip:hover,.daily-level-chip:hover,.mode-row:hover{box-shadow:var(--shadow-sm);background:#ffffffe6;transform:translateY(-1px)}.mode-pill.active,.score-chip.active,.daily-level-chip.active,.mode-row.active{color:#fff;background:linear-gradient(135deg, var(--blue), var(--teal));border-color:#0000;box-shadow:0 10px 24px #4b92df40}.score-strip{border:1px solid var(--line);background:#ffffff85;border-radius:18px;margin-top:14px;padding:13px}.score-strip>span{color:var(--muted);text-transform:uppercase;margin-bottom:8px;font-size:.78rem;font-weight:800;display:block}.score-options{flex-wrap:wrap;gap:7px;display:flex}.score-chip{border-radius:999px;padding:6px 9px;font-size:.8rem;font-weight:800}.daily-level-options{gap:7px;display:grid}.daily-level-chip{text-align:left;border-radius:15px;gap:2px;width:100%;padding:9px 10px;display:grid}.daily-level-chip b{font-size:.86rem;line-height:1.2}.daily-level-chip small{color:var(--muted);font-weight:750;line-height:1.25}.daily-level-chip.active small{color:#ffffffd1}.mode-list{flex-direction:column;gap:8px;display:flex}.mode-row{text-align:left;border-radius:17px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:10px 12px;display:flex}.mode-row span{font-weight:850}.mode-row small{color:var(--muted);font-weight:700}.mode-row.active small{color:#ffffffd1}.saving{color:var(--blue-deep);margin:14px 0 0;font-size:.82rem;font-weight:800}.quick-practice{border:1px solid var(--line);background:linear-gradient(120deg,#ffffffb8,#f5f8ff80),linear-gradient(90deg,#4992da21,#6fc6d81a);border-radius:20px;grid-template-columns:1fr auto;align-items:center;gap:16px;margin:16px 0 0;padding:16px 18px;display:grid}.quick-practice h3{margin:0;font-size:1.05rem}.quick-practice p{color:var(--muted);margin:6px 0 0;font-size:.88rem}.quick-practice .qcard{grid-column:1/-1;margin:2px 0 0}.btn-bright{white-space:nowrap;background:linear-gradient(135deg,#329be0,#55bfcf)}.writing-section{box-shadow:var(--shadow-sm);-webkit-backdrop-filter:saturate(150%)blur(14px);background:radial-gradient(380px 150px at 10% 0,#ffffffe6,#0000 72%),radial-gradient(420px 180px at 90% 8%,#d2eff85c,#0000 68%),#ffffffa8;border:1px solid #ffffffc2;border-radius:28px;margin:0 0 18px;padding:18px}.section-head{margin:0 0 14px;padding:0 2px}.section-head h2{margin:0;font-size:1.45rem}.section-head p:not(.quick-label){color:var(--muted);margin:7px 0 0;font-size:.88rem}.writing-section .card{margin-bottom:14px}.vocab-card{box-shadow:var(--shadow-sm);-webkit-backdrop-filter:saturate(150%)blur(14px);background:radial-gradient(360px 150px at 15% 0,#ffffffeb,#0000 72%),radial-gradient(360px 180px at 95% 18%,#d3f2f770,#0000 70%),#ffffffc2;border:1px solid #ffffffc7;border-radius:24px;margin:0 0 18px;padding:18px}.home-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.home-progress-grid{grid-template-columns:minmax(0,1fr) minmax(240px,.85fr);gap:14px;margin-bottom:14px;display:grid}.progress-card,.next-step-card,.streak-card{min-height:168px;box-shadow:var(--shadow-sm);background:radial-gradient(300px 130px at 12% 0,#fffffff0,#0000 72%),#eef9fdb8;border:1px solid #a3cfe88a;border-radius:24px;padding:16px}.progress-card{align-content:center;gap:14px;display:grid}.progress-card-head{justify-content:space-between;align-items:end;gap:14px;display:flex}.progress-card-head span,.next-step-card span{color:var(--indigo);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:950}.progress-card-head strong{color:#173368;letter-spacing:-.04em;font-size:clamp(2.1rem,5vw,3.4rem);line-height:.9}.progress-bar{background:#ffffffb8;border:1px solid #c2d8efcc;border-radius:999px;height:13px;overflow:hidden}.progress-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--blue), var(--teal));height:100%;display:block;box-shadow:0 8px 18px #4b92df3d}.progress-card p,.next-step-card p{color:var(--muted);margin:0;font-size:.9rem;line-height:1.6}.progress-card p b{color:var(--blue-deep);padding:0 3px}.next-step-card{gap:10px;display:grid}.streak-card{background:radial-gradient(260px 120px at 15% 0,#fffffff5,#0000 72%),linear-gradient(145deg,#e4f8eeb3,#e8f6fcbd);align-content:center;gap:10px;display:grid}.streak-card>span{color:var(--indigo);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:950}.streak-number{color:#173368;align-items:end;gap:7px;display:flex}.streak-number strong{letter-spacing:-.05em;font-size:clamp(2.4rem,5vw,3.5rem);line-height:.9}.streak-number small{color:var(--muted);padding-bottom:4px;font-size:.82rem;font-weight:950}.streak-bar{background:#ffffffbd;border:1px solid #c2d8efb8;border-radius:999px;height:11px;overflow:hidden}.streak-bar span{border-radius:inherit;background:linear-gradient(90deg, #20b975, var(--teal));height:100%;display:block;box-shadow:0 8px 18px #20b9752e}.streak-card p{color:var(--muted);margin:0;font-size:.86rem;line-height:1.52}.next-step-card h3{color:#16264d;margin:0;font-size:1.25rem;line-height:1.3}.next-step-actions{flex-wrap:wrap;align-self:end;gap:8px;display:flex}.next-step-actions a{color:var(--blue-deep);border:1px solid var(--line);background:#ffffffb8;border-radius:999px;padding:8px 11px;font-size:.82rem;font-weight:900}.home-entry-grid{margin-top:0}.home-tile{border:1px solid var(--line);min-height:106px;box-shadow:var(--shadow-sm);background:#ffffffa8;border-radius:20px;gap:5px;padding:14px;transition:transform .12s,background .12s,box-shadow .12s;display:grid}.home-tile:hover{box-shadow:var(--shadow);background:#ffffffeb;transform:translateY(-1px)}.home-tile span{color:var(--indigo);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:900}.home-tile strong{font-size:1.02rem;line-height:1.3}.home-tile small{color:var(--muted);font-weight:700;line-height:1.45}.home-route-compact{box-shadow:var(--shadow-sm);background:radial-gradient(320px 120px at 12% 0,#ffffffe0,#0000 72%),#e8f6fc8a;border:1px solid #a3cfe88a;border-radius:22px;gap:10px;margin-top:12px;padding:14px 16px;display:grid}.home-route-compact>span{color:var(--indigo);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:950}.home-route-compact div{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.home-route-compact strong{color:#365174;border:1px solid var(--line);text-align:center;background:#ffffffb8;border-radius:999px;place-items:center;min-height:38px;padding:7px 10px;font-size:.82rem;line-height:1.2;display:grid}.home-guide-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.home-guide-grid div{border:1px solid var(--line);background:#ffffff94;border-radius:20px;gap:6px;min-height:130px;padding:16px;display:grid}.home-guide-grid strong{font-size:.96rem}.home-guide-grid span{color:var(--muted);font-size:.86rem;line-height:1.55}.home-rhythm{background:radial-gradient(320px 120px at 10% 0,#ffffffd6,#0000 72%),#e8f6fc8f;border:1px solid #a3cfe88a;border-radius:22px;margin-top:14px;padding:16px}.home-rhythm h3{color:#39436d;margin:0 0 10px;font-size:.96rem}.home-rhythm-line{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.home-rhythm-line span{min-height:38px;color:var(--muted);border:1px solid var(--line);background:#ffffffb3;border-radius:999px;place-items:center;font-size:.82rem;font-weight:900;display:grid}.home-rhythm-line span.done{color:#fff;background:linear-gradient(135deg, var(--blue), var(--teal));border-color:#0000;box-shadow:0 9px 20px #4b92df38}.vocab-head{justify-content:space-between;align-items:start;gap:18px;margin-bottom:14px;display:flex}.vocab-head h2{margin:0;font-size:1.18rem}.vocab-head p{color:var(--muted);margin:7px 0 0;font-size:.88rem}.vocab-count{color:var(--blue-deep);background:#4b92df1a;border-radius:999px;flex:none;padding:5px 11px;font-size:.82rem;font-weight:850}.vocab-tabs,.direction-toggle{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.vocab-tab,.direction-toggle button{border:1px solid var(--line);color:var(--text);cursor:pointer;font:inherit;background:#ffffffad;border-radius:999px;padding:7px 13px;font-size:.84rem;font-weight:850;transition:transform .12s,background .12s,box-shadow .12s}.vocab-tab:hover,.direction-toggle button:hover{box-shadow:var(--shadow-sm);background:#fffffff2;transform:translateY(-1px)}.vocab-tab.active,.direction-toggle button.active{color:#fff;background:linear-gradient(135deg, var(--blue), var(--teal));border-color:#0000}.quiz-panel{border:1px solid var(--line);background:#ffffffad;border-radius:20px;padding:16px}.synonym-card{background:radial-gradient(360px 150px at 85% 0,#fffffff0,#0000 72%),radial-gradient(320px 160px at 4% 24%,#d3f2f76b,#0000 70%),#ffffffb8}.synonym-panel{gap:12px;display:grid}.quiz-mode{color:var(--indigo);letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;font-size:.76rem;font-weight:850;display:flex}.quiz-question{letter-spacing:-.015em;margin-bottom:6px;font-size:1.55rem;font-weight:900}.quiz-question-line{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.quiz-question-line .quiz-question{margin-bottom:2px}.synonym-question{background:radial-gradient(240px 100px at 0 0,#ffffffeb,#0000 72%),#e8f6fca8;border:1px solid #a3cfe880;border-radius:18px;gap:3px;padding:14px 15px;display:grid}.synonym-question span{color:var(--indigo);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:950}.synonym-question strong{color:#16264d;font-size:1.55rem;line-height:1.12}.synonym-question .quiz-question,.synonym-ja-wrap{margin:0}.synonym-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.synonym-options button{min-height:48px;color:var(--text);cursor:pointer;font:inherit;text-align:left;background:#ffffffb8;border:1px solid #c2d8efd1;border-radius:18px;padding:11px 13px;font-weight:900;transition:transform .12s,background .12s,border-color .12s,box-shadow .12s}.synonym-options button:hover{box-shadow:var(--shadow-sm);background:#fffffff2;transform:translateY(-1px)}.synonym-options button.selected{background:#e8f6fcd1;border-color:#4b92df80}.synonym-options button.correct{color:#176d4a;background:#e4f8eee6;border-color:#57c48b80}.synonym-options button.wrong{color:#8a5b16;background:#fff2e2e6;border-color:#e9a23b73}.pronunciation-row{flex-wrap:wrap;align-items:center;gap:7px;margin:0 0 10px;display:flex}.pronunciation-row span{color:#315f92;background:#e6f6ffdb;border:1px solid #a3cfe88c;border-radius:999px;align-items:center;min-height:26px;padding:2px 9px;font-size:.84rem;font-weight:850;display:inline-flex}.quiz-note{color:var(--muted);margin:0 0 12px;font-size:.88rem}.quiz-actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.quiz-result{border-radius:16px;gap:4px;margin-top:14px;padding:12px 14px;display:grid}.quiz-result.ok{color:#176d4a;background:#e4f8eedb}.quiz-result.shown{color:#245f8f;background:#e6f6ffe6}.quiz-result.miss{color:#8a5b16;background:#fff2e2e6}.quiz-result span{font-weight:800}.quiz-result small{color:inherit;opacity:.82;line-height:1.5}.quiz-complete{text-align:center;border:1px solid var(--line);background:radial-gradient(260px 120px at 50% 0,#ffffffd1,#0000 76%),linear-gradient(135deg,#e6f7ffeb,#effaf7e6);border-radius:22px;gap:8px;padding:24px;display:grid}.quiz-complete span{color:#fff;background:linear-gradient(135deg, var(--blue), var(--teal));border-radius:999px;justify-self:center;padding:5px 13px;font-size:.82rem;font-weight:900}.quiz-complete h3{margin:2px 0 0;font-size:1.25rem}.quiz-complete p{max-width:420px;color:var(--muted);margin:0 auto 8px;font-size:.9rem}.quiz-complete .btn{justify-self:center}.qcard-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.chip{letter-spacing:.02em;text-transform:uppercase;color:var(--blue-deep);background:#4b92df1f;border-radius:999px;padding:4px 12px;font-size:.72rem;font-weight:700;display:inline-block}.time{color:var(--muted);font-size:.82rem;font-weight:600}.question{letter-spacing:-.01em;margin:4px 0 10px;font-size:1.22rem;font-weight:700;line-height:1.45}.question-line{flex-wrap:wrap;align-items:baseline;gap:8px;margin:4px 0 10px;display:flex}.question-line .question{margin:0;display:inline}.speak-button{width:1.45em;height:1.45em;color:var(--blue-deep);cursor:pointer;vertical-align:-.18em;background:0 0;border:none;border-radius:999px;place-items:center;padding:0;transition:color .12s,background .12s,transform .12s;display:inline-grid}.speak-button:hover,.speak-button.speaking{color:#1f7fc5;background:#4b92df1f;transform:translateY(-1px)}.speak-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2px;width:1.08em;height:1.08em}.ja-wrap{margin-bottom:12px}.ja-toggle{border:1px solid var(--line);color:var(--indigo);font:inherit;cursor:pointer;background:#fff9;border-radius:999px;padding:5px 12px;font-size:.82rem;font-weight:600;transition:background .15s}.ja-toggle:hover{background:#6d5cf01a}.ja-text{color:#3a4275;border-left:3px solid var(--teal);background:#5fb5cb1a;border-radius:8px;margin:10px 0 0;padding:10px 14px;font-size:.9rem}.focus{color:var(--muted);align-items:center;gap:7px;margin:0 0 14px;font-size:.85rem;display:flex}.focus-dot{background:linear-gradient(135deg, var(--blue), var(--teal));border-radius:50%;width:8px;height:8px}.answer-box{width:100%;font:inherit;color:var(--text);border:1px solid var(--line);border-radius:var(--radius-sm);resize:vertical;background:#ffffffd9;min-height:96px;padding:12px 14px;transition:border-color .15s,box-shadow .15s}.answer-box:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 4px #4b92df29}.qcard-actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.btn{cursor:pointer;font:inherit;color:#fff;background:linear-gradient(135deg, var(--blue) 0%, var(--teal) 100%);border:none;border-radius:999px;align-items:center;gap:6px;padding:11px 20px;font-size:.92rem;font-weight:700;transition:transform .12s,box-shadow .12s,opacity .12s;display:inline-flex;box-shadow:0 8px 20px #4b92df47}.btn:hover{transform:translateY(-1px);box-shadow:0 10px 26px #4b92df57}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-ghost{color:var(--blue-deep);border:1px solid var(--line);box-shadow:none;background:#ffffffb3}.btn-ghost:hover{box-shadow:var(--shadow-sm);background:#fff}.result{border-top:1px dashed var(--line);margin-top:16px;padding-top:16px}.result-scroll-target{scroll-margin-top:96px}.rblock{margin-bottom:14px}.rblock h4{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin:0 0 4px;font-size:.82rem;font-weight:700}.rblock p{margin:0}.rblock ul{margin:4px 0 0;padding-left:18px}.rblock ul li{margin-bottom:3px}.rblock-emph{border-radius:var(--radius-sm);background:#4b92df14;padding:12px 14px}.rblock-emph h4{color:var(--blue-deep)}.rblock-emph p{font-weight:600}.answer-detail-container{max-width:min(1120px,100vw - 40px);padding-bottom:116px}.answer-detail-hero{box-shadow:var(--shadow-sm);background:radial-gradient(520px 190px at 12% 0,#ffffffeb,#0000 74%),#ebf8fdb8;border:1px solid #a3cfe88a;border-radius:28px;grid-template-columns:minmax(0,1fr);gap:18px;margin-bottom:16px;padding:24px;display:grid}.answer-detail-hero>div{min-width:0}.answer-detail-hero h1{color:#16264d;overflow-wrap:normal;word-break:keep-all;margin:4px 0 8px;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.08}.answer-detail-hero p:not(.hero-eyebrow){max-width:660px;color:var(--muted);margin:0}.answer-detail-hero>span{max-width:100%;color:var(--green);background:var(--green-weak);white-space:normal;overflow-wrap:anywhere;border-radius:999px;justify-self:start;padding:9px 16px;font-size:1rem;font-weight:950;line-height:1.35}.answer-detail-card{box-shadow:var(--shadow-sm);-webkit-backdrop-filter:saturate(150%)blur(14px);background:radial-gradient(560px 220px at 12% 0,#ffffffe6,#0000 74%),#ffffff94;border:1px solid #ffffffc2;border-radius:30px;gap:16px;padding:24px;display:grid}.detail-question-head h2{color:#16264d;margin:4px 0 8px;font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.35}.answer-compare-grid,.detail-section-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.answer-compare-block,.detail-section{background:#ffffffa8;border:1px solid #c2d8efc2;border-radius:22px;padding:16px}.answer-compare-block h3,.detail-section h3{color:#173368;margin:0 0 8px;font-size:.98rem}.answer-compare-block p,.detail-section p{margin:0}.answer-compare-block.corrected{background:radial-gradient(300px 120px at 8% 0,#fffffff0,#0000 74%),#e4f8ee9e;border-color:#57c48b57}.answer-compare-block.corrected p{color:#173368;font-weight:760}.detail-section ul,.comparison-list{margin:0;padding-left:18px}.detail-section li{color:var(--text);margin-bottom:6px}.detail-section-wide{background:#ffffff94}.model-answer{background:radial-gradient(360px 150px at 8% 0,#ffffffeb,#0000 74%),#e8f6fcad}.band-row{color:var(--muted);align-items:center;gap:10px;margin-bottom:14px;font-size:.85rem;display:flex}.band{color:var(--green);background:var(--green-weak);border-radius:999px;padding:3px 12px;font-weight:800}.history-container{max-width:min(1180px,100vw - 40px);padding-bottom:112px}.back-link{width:fit-content;color:var(--blue-deep);border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#ffffffb8;border-radius:999px;align-items:center;margin:0 0 14px;padding:10px 14px;font-size:.88rem;font-weight:900;display:inline-flex}.history-container .hero-sm{max-width:none}.hist-day{margin-bottom:22px}.hist-date{color:var(--indigo);margin:0 0 10px;font-size:.95rem;font-weight:800}.hist-item{padding:0;overflow:hidden}.hist-item>summary{cursor:pointer;grid-template-columns:minmax(150px,190px) minmax(300px,1fr) 58px minmax(260px,auto);align-items:center;gap:14px;padding:16px 20px;list-style:none;display:grid}.hist-item>summary::-webkit-details-marker{display:none}.hist-item .chip{white-space:normal;overflow-wrap:anywhere;word-break:break-word;text-align:left;border-radius:16px;width:fit-content;min-width:0;max-width:100%;line-height:1.25}.hist-q{min-width:0;font-size:.96rem;font-weight:600;line-height:1.45}.hist-body{padding:0 20px 18px}.field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field label{font-size:.9rem;font-weight:600}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}input,select{font:inherit;color:var(--text);border:1px solid var(--line);border-radius:var(--radius-sm);background:#ffffffd9;width:100%;padding:11px 13px}input:focus,select:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 4px #4b92df29}.muted{color:var(--muted)}.small{font-size:.85rem}.empty{text-align:center}.empty p{margin:6px 0}.banner{color:#c0392b;border-radius:var(--radius-sm);background:#fdeceae0;margin-top:12px;padding:10px 14px;font-size:.88rem}.banner-ok{color:#176d4a;background:#e4f8eeeb}.google-login-btn{color:#173368;border:1px solid var(--line);background:#ffffffd6;width:100%;margin:8px 0 12px}.login-divider{color:var(--muted);align-items:center;gap:10px;margin:6px 0 14px;font-size:.82rem;font-weight:800;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--line);flex:1;height:1px}.section-title{margin:18px 0 8px;font-size:.95rem;font-weight:800}.caps{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.72rem;font-weight:700}.prompt-q{margin:6px 0;font-size:1.15rem;font-weight:700}.result-block{margin-bottom:14px}.result-block h3{margin:0 0 4px;font-size:.95rem}.badge{background:var(--green-weak);color:var(--green);border-radius:999px;padding:3px 12px;font-weight:700;display:inline-block}.row-link{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);margin-bottom:8px;padding:12px 14px;display:block}.drill-page{z-index:1;width:min(980px,100vw - 36px);margin:0 auto;padding:22px 0 112px;position:relative}.drill-hero{box-shadow:var(--shadow-sm);-webkit-backdrop-filter:saturate(150%)blur(14px);background:radial-gradient(460px 180px at 12% 0,#fffffff0,#0000 72%),#eef9fdb8;border:1px solid #a3cfe88a;border-radius:28px;justify-content:space-between;align-items:start;gap:18px;margin-bottom:16px;padding:24px;display:flex}.drill-hero h1{color:#16264d;margin:2px 0 8px;font-size:clamp(1.7rem,4vw,2.5rem);line-height:1.08}.drill-hero p:not(.quick-label){max-width:620px;color:var(--muted);margin:0;line-height:1.6}.drill-secondary-link{color:var(--blue-deep);border:1px solid var(--line);background:#ffffffb8;border-radius:999px;flex:none;padding:10px 14px;font-size:.86rem;font-weight:900}.drill-question-shell{box-shadow:var(--shadow-sm);background:radial-gradient(520px 220px at 18% 0,#ffffffe0,#0000 72%),#ffffff7a;border:1px solid #ffffffbd;border-radius:30px;padding:22px}.drill-question-shell .qcard{margin:0}.drill-complete-ribbon,.drill-complete-box{background:radial-gradient(260px 110px at 8% 0,#ffffffeb,#0000 74%),#e4f8eec2;border:1px solid #57c48b6b;border-radius:20px;align-items:center;gap:12px;margin-bottom:14px;padding:13px 15px;display:flex}.drill-complete-ribbon span,.drill-complete-box>span{color:#fff;background:linear-gradient(135deg,#20b975,#6fc6d8);border-radius:999px;flex:none;justify-content:center;align-items:center;min-width:72px;min-height:32px;padding:5px 12px;font-size:.86rem;font-weight:950;display:inline-flex}.drill-complete-ribbon p,.drill-complete-box p{color:var(--muted);margin:0;font-size:.9rem;line-height:1.5}.drill-complete-box{align-items:start;margin:14px 0}.drill-complete-box strong{color:#176d4a;margin-bottom:2px;display:block}.drill-complete-actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.drill-complete-actions a{min-height:36px;color:var(--blue-deep);background:#fffc;border:1px solid #a3cfe8ad;border-radius:999px;justify-content:center;align-items:center;padding:7px 12px;font-size:.84rem;font-weight:950;display:inline-flex}.drill-complete-actions a:last-child{color:#fff;background:linear-gradient(135deg, var(--blue), var(--teal));border-color:#0000}.mini-history{flex-direction:column;gap:9px;margin-top:16px;display:flex}.mini-item{border:1px solid var(--line);background:#ffffff94;border-radius:18px;padding:12px;transition:transform .12s,background .12s,box-shadow .12s;display:block}.mini-item:hover{box-shadow:var(--shadow-sm);background:#ffffffeb;transform:translateY(-1px)}.mini-meta{flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:6px;display:flex}.mini-kind{border-radius:999px;align-items:center;min-height:22px;padding:2px 8px;font-size:.72rem;font-weight:950;display:inline-flex}.mini-kind.drill{color:#176d4a;background:#e4f8eeeb;border:1px solid #57c48b57}.mini-kind.writing{color:var(--blue-deep);background:#e8f6fce6;border:1px solid #a3cfe885}.mini-time{color:var(--indigo);font-size:.74rem;font-weight:850;display:inline-flex}.mini-item strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.86rem;line-height:1.45;display:-webkit-box;overflow:hidden}.mini-item small{background:var(--green-weak);color:var(--green);border-radius:999px;margin-top:7px;padding:2px 9px;font-weight:850;display:inline-block}.side-link{color:var(--blue-deep);margin-top:16px;font-size:.9rem;font-weight:850;display:inline-flex}.recent-panel-block{border-bottom:1px solid #c2d8efb8;padding-bottom:16px}.recent-panel-block+.tutor-inline-button,.recent-panel-block+.embedded-tutor{margin-top:18px}.review-subtitle{color:#39436d;margin:18px 0 0;font-size:.88rem}.weakness-box{background:radial-gradient(220px 100px at 10% 0,#ffffffdb,#0000 72%),#e9f7fca3;border:1px solid #a3cfe880;border-radius:20px;margin-top:16px;padding:14px}.weakness-box h3{color:#39436d;margin:0 0 10px;font-size:.9rem}.weakness-box p{color:var(--muted);margin:0;font-size:.86rem}.weakness-box ol{gap:9px;margin:0;padding-left:20px;display:grid}.weakness-box li{padding-left:2px}.weakness-box strong{font-size:.86rem;display:block}.weakness-box span{color:var(--muted);font-size:.78rem;line-height:1.45;display:block}.review-improvement-panel{height:auto;min-height:100%;box-shadow:none;background:0 0;border:0;grid-template-columns:minmax(250px,.28fr) minmax(0,1fr) minmax(300px,.32fr);align-items:start;gap:14px;padding:0;display:grid}.review-main-column{gap:14px;min-width:0;display:grid}.review-block{align-content:start;gap:12px;display:grid}.review-insight-panel,.review-coach-panel{align-content:start;gap:14px;min-height:0;display:grid;position:sticky;top:0}.review-insight-panel h2{color:var(--ink);margin:0;font-size:clamp(1.35rem,2.4vw,1.9rem)}.review-insight-lead{color:#4f6380;margin:0;font-size:.95rem;line-height:1.75}.review-level-card,.review-strategy-card,.review-weakness-detail-card,.review-strength-card,.review-strategy-list>div{box-shadow:var(--shadow-sm);background:radial-gradient(220px 90px at 0 0,#fffffff5,#0000 74%),#ffffffa8;border:1px solid #c2d8efc2;border-radius:22px}.review-level-card{gap:6px;padding:16px;display:grid}.review-level-card span{color:var(--indigo);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:950}.review-level-card strong{color:#173368;font-size:1.72rem;line-height:1.05}.review-level-card small{color:var(--muted);font-size:.86rem;line-height:1.5}.review-strategy-card{padding:16px}.review-strategy-card h3{color:#173368;margin:0 0 8px;font-size:1rem}.review-strategy-card p{color:#4f6380;margin:0;font-size:.9rem;line-height:1.7}.review-weakness-detail-card{background:radial-gradient(220px 90px at 0 0,#fffffff5,#0000 74%),linear-gradient(145deg,#e8f6fcc2,#fff9);gap:8px;padding:16px;display:grid}.review-weakness-detail-card span{color:var(--indigo);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:950}.review-weakness-detail-card h3{color:#173368;margin:0;font-size:1.08rem}.review-weakness-detail-card p{color:#4f6380;margin:0;font-size:.9rem;line-height:1.7}.review-strength-card{background:radial-gradient(220px 100px at 0 0,#fffffffa,#0000 74%),linear-gradient(145deg,#e8f8f5c7,#e8f6fc9e);gap:12px;padding:16px;display:grid}.review-strength-card>div:first-child{gap:4px;display:grid}.review-strength-card span:first-child{color:#1f8b68;letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:950}.review-strength-card h3{color:#173368;margin:0;font-size:1rem}.review-strength-list{gap:9px;display:grid}.review-strength-list>div{background:#ffffffa8;border:1px solid #98d5c89e;border-radius:16px;gap:4px;padding:11px 12px;display:grid}.review-strength-list strong{color:#16734f;font-size:.94rem;line-height:1.25}.review-strength-list span{color:#4f6380;text-transform:none;letter-spacing:0;font-size:.84rem;font-weight:700;line-height:1.5}.review-strategy-list{gap:10px;display:grid}.review-strategy-list>div{gap:5px;padding:14px;display:grid}.review-strategy-list strong{color:var(--blue-deep);font-size:.94rem}.review-strategy-list span{color:var(--muted);font-size:.86rem;line-height:1.55}.review-hero{display:block}.review-hero h2{margin:0 0 4px;font-size:clamp(1.6rem,3vw,2.3rem)}.review-hero p{max-width:560px;color:var(--muted);margin:4px 0 0;line-height:1.5}.improvement-plan{background:radial-gradient(460px 170px at 8% 0,#ffffffe6,#0000 72%),#e8f6fc94;border:1px solid #a3cfe88a;border-radius:24px;align-content:start;gap:12px;padding:18px;display:grid}.improvement-plan-full{margin-top:-2px}.improvement-plan h3{color:#39436d;margin:0 0 2px;font-size:1.06rem}.improvement-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-height:0;display:grid}.improvement-card,.improvement-empty{min-height:0;box-shadow:var(--shadow-sm);background:radial-gradient(220px 90px at 0 0,#fffffff5,#0000 74%),#ffffffbd;border:1px solid #c2d8efc7;border-radius:22px;align-items:start;gap:12px;padding:16px;transition:transform .12s,background .12s,box-shadow .12s;display:flex}.improvement-card:hover{box-shadow:var(--shadow);background:#ffffffeb;transform:translateY(-1px)}.improvement-card>span{color:#fff;background:linear-gradient(135deg, var(--blue), var(--teal));border-radius:999px;flex:none;place-items:center;width:30px;height:30px;font-size:.86rem;font-weight:950;display:grid}.improvement-card strong,.improvement-empty strong{color:#173368;font-size:1rem;display:block}.improvement-card p,.improvement-empty span{color:var(--muted);margin:4px 0 0;font-size:.88rem;line-height:1.55;display:block}.improvement-card em{color:#4f6380;margin-top:8px;font-size:.78rem;font-style:normal;line-height:1.45;display:block}.improvement-card small{color:var(--blue-deep);background:#e8f6fce6;border:1px solid #a3cfe899;border-radius:999px;margin-top:10px;padding:6px 10px;font-size:.76rem;font-weight:950;display:inline-flex}.weekly-analysis-card{background:radial-gradient(260px 110px at 10% 0,#ffffffeb,#0000 74%),#ffffff8f;border:1px solid #c2d8efb8;border-radius:20px;gap:10px;padding:14px;display:grid}.weakness-panel .weekly-analysis-card{margin-top:12px;padding:12px}.weekly-analysis-head{justify-content:space-between;align-items:start;gap:12px;display:flex}.weekly-analysis-head strong,.weekly-analysis-card>div>strong{color:#173368;font-size:1rem}.weekly-analysis-head p,.weekly-analysis-card p{color:var(--muted);margin:4px 0 0;font-size:.84rem;line-height:1.5}.weekly-analysis-head>span{background:var(--green-weak);color:var(--green);white-space:nowrap;border-radius:999px;flex:none;padding:6px 11px;font-size:.84rem;font-weight:950}.weekly-analysis-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.weekly-analysis-grid div{background:#e8f6fca8;border:1px solid #a3cfe873;border-radius:16px;padding:10px 11px}.weekly-analysis-grid small{color:var(--indigo);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:950;display:block}.weekly-analysis-grid b{color:#173368;margin-top:3px;font-size:.88rem;line-height:1.35;display:block}.weakness-panel .weekly-analysis-grid{grid-template-columns:1fr;gap:7px}.weakness-panel .weekly-analysis-head{flex-direction:column;gap:8px}.weakness-panel .weekly-analysis-head p{display:none}.weakness-panel .weekly-analysis-head>span{justify-self:start}.weakness-panel .weekly-analysis-grid div{padding:8px 10px}.study-boost-list{gap:12px;padding-top:4px;display:grid}.study-boost-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.study-boost-head strong{color:#39436d;font-size:1.08rem}.study-boost-head span{color:var(--muted);font-size:.88rem}.study-boost-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.study-boost-item{background:radial-gradient(220px 90px at 0 0,#fffffff7,#0000 74%),#ffffff9e;border:1px solid #c2d8efb8;border-radius:20px;gap:5px;min-height:112px;padding:16px 18px;display:grid}.study-boost-item b{color:var(--blue-deep);font-size:1.14rem;line-height:1.15}.study-boost-item span{color:#173368;font-size:.96rem;font-weight:850}.study-boost-item small{color:var(--muted);font-size:.86rem;line-height:1.5}.review-recent-strip{border:1px solid var(--line);background:#ffffff80;border-radius:24px;grid-template-rows:max-content 1fr max-content;align-content:start;padding:16px;display:grid}.review-recent-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.review-recent-head h3{color:#39436d;margin:0;font-size:1rem}.review-recent-head span{color:var(--muted);font-size:.82rem}.review-recent-strip .mini-history{grid-template-rows:repeat(2,minmax(96px,1fr));grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-height:0;margin-top:12px;display:grid}.review-recent-strip .mini-item{min-height:0}.review-recent-strip .side-link{color:var(--blue-deep);margin-top:12px;font-weight:950}.weakness-panel h2{font-size:1.42rem}.weakness-panel .weakness-box{background:radial-gradient(240px 120px at 16% 0,#fffffff5,#0000 72%),linear-gradient(145deg,#e7f7fff0,#eefaf7d1);border-color:#62b3d87a;padding:16px}.weakness-panel .weakness-box ol{counter-reset:weakness;gap:12px;padding-left:0;list-style:none}.weakness-panel .weakness-box li{min-height:96px;box-shadow:var(--shadow-sm);counter-increment:weakness;background:#ffffffd1;border:1px solid #89c2e28a;border-radius:20px;gap:5px;padding:16px 16px 16px 54px;display:grid;position:relative}.weakness-panel .weakness-box li:before{content:counter(weakness);color:#fff;background:linear-gradient(135deg, var(--blue), var(--teal));border-radius:999px;place-items:center;width:28px;height:28px;font-size:.82rem;font-weight:950;display:grid;position:absolute;top:17px;left:15px}.weakness-panel .weakness-box strong{color:#173368;font-size:1.04rem;line-height:1.3}.weakness-panel .weakness-box span{font-size:.86rem;line-height:1.55}.study-note{border:1px solid var(--line);background:#ffffff85;border-radius:20px;margin-top:16px;padding:14px}.study-note h3{color:#39436d;margin:0 0 8px;font-size:.9rem}.study-note p{color:var(--muted);margin:0;font-size:.86rem;line-height:1.6}.vocab-recent-list{gap:9px;margin-top:16px;display:grid}.vocab-recent-item{border:1px solid var(--line);background:#ffffff94;border-radius:18px;gap:5px;padding:12px;display:grid}.vocab-recent-item>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.vocab-recent-item strong{font-size:.9rem;line-height:1.35}.vocab-recent-item small{color:var(--muted);font-weight:700;line-height:1.45}.vocab-result{border-radius:999px;padding:2px 9px;font-size:.72rem;font-weight:900;display:inline-flex}.vocab-result.ok{color:#176d4a;background:var(--green-weak)}.vocab-result.miss{color:#8a5b16;background:#fff2e2eb}.vocab-result.shown{color:#245f8f;background:#e6f6ffeb}.day-rhythm{border:1px solid var(--line);background:#ffffff80;border-radius:20px;margin-top:22px;padding:14px}.day-rhythm h3{color:#39436d;margin:0 0 12px;font-size:.86rem}.rhythm-line{gap:8px;display:grid}.rhythm-dot{color:var(--muted);align-items:center;gap:9px;font-size:.82rem;font-weight:800;display:flex;position:relative}.rhythm-dot:before{content:"";background:#fffc;border:2px solid #4b92df47;border-radius:50%;width:11px;height:11px}.rhythm-dot.done{color:var(--blue-deep)}.rhythm-dot.done:before{background:linear-gradient(135deg, var(--blue), var(--teal));border-color:#0000;box-shadow:0 0 0 4px #4b92df1f}.embedded-tutor{box-shadow:var(--shadow-sm);-webkit-backdrop-filter:saturate(150%)blur(18px);background:radial-gradient(280px 130px at 10% 0,#fffffff0,#0000 70%),#f8fcffc7;border:1px solid #ffffffd1;border-radius:26px;gap:12px;margin-top:16px;padding:16px;display:grid}.tutor-inline-button{z-index:3;color:#fff;cursor:pointer;width:fit-content;font:inherit;background:linear-gradient(135deg,#3b95df,#5fc4d0);border:1px solid #ffffffd1;border-radius:999px;justify-content:center;justify-self:end;align-items:center;margin:18px 0 0 auto;padding:13px 18px;font-size:.9rem;font-weight:950;transition:transform .12s,box-shadow .12s;display:inline-flex;position:relative;box-shadow:0 18px 40px #194e8438}.tutor-inline-button:hover{transform:translateY(-1px);box-shadow:0 20px 46px #194e8445}.tutor-close{border:1px solid var(--line);color:var(--muted);cursor:pointer;font:inherit;background:#ffffffc2;border-radius:999px;flex:none;padding:6px 10px;font-size:.76rem;font-weight:900}.tutor-head{justify-content:space-between;align-items:start;gap:12px;display:flex}.tutor-head span{color:var(--indigo);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:900}.tutor-head h2{margin:4px 0 0;font-size:1.18rem}.tutor-head p{color:var(--muted);margin:6px 0 0;font-size:.86rem;line-height:1.55}.tutor-tools,.tutor-input{flex-wrap:wrap;gap:8px;display:flex}.tutor-template-row{background:radial-gradient(240px 90px at 10% 0,#ffffffdb,#0000 72%),#eaf7fc8a;border:1px solid #a3cfe870;border-radius:20px;flex-wrap:wrap;gap:8px;padding:10px;display:flex}.tutor-template-row button{color:#2a6dad;cursor:pointer;font:inherit;background:#ffffffc7;border:1px solid #c2d8efe0;border-radius:999px;padding:8px 11px;font-size:.8rem;font-weight:900;line-height:1.2;transition:transform .12s,background .12s,box-shadow .12s;box-shadow:0 8px 18px #4b92df14}.tutor-template-row button:hover{background:#fffffff5;transform:translateY(-1px);box-shadow:0 10px 22px #4b92df21}.tutor-tools button,.tutor-input button{border:1px solid var(--line);color:var(--blue-deep);cursor:pointer;font:inherit;background:#ffffffbd;border-radius:999px;padding:9px 12px;font-size:.84rem;font-weight:900}.tutor-tools button.active{color:#fff;background:linear-gradient(135deg, var(--blue), var(--teal));border-color:#0000}.tutor-helper{color:var(--text);background:#e8f6fcb8;border:1px solid #a3cfe88c;border-radius:16px;gap:4px;padding:11px 12px;font-size:.86rem;display:grid}.tutor-helper strong{color:var(--blue-deep)}.tutor-helper span,.tutor-hint{color:var(--muted)}.tutor-hint{margin:0;font-size:.88rem;line-height:1.55}.tutor-input button{color:#fff;background:linear-gradient(135deg, var(--blue), var(--teal));border-color:#0000;align-self:end}.tutor-input button:disabled{cursor:not-allowed;opacity:.5}.tutor-thread{border:1px solid var(--line);background:#ffffff8f;border-radius:18px;flex-direction:column;gap:10px;min-height:120px;max-height:260px;padding:10px;display:flex;overflow:auto}.tutor-empty{color:var(--muted);margin:0;font-size:.9rem;line-height:1.6}.tutor-msg{white-space:pre-wrap;border-radius:16px;max-width:92%;padding:10px 12px;font-size:.9rem;line-height:1.6}.tutor-msg.user{color:#fff;background:linear-gradient(135deg,#438dd8,#58b9c7);align-self:flex-end}.tutor-msg.assistant{color:var(--text);background:#ffffffe0;border:1px solid #d2e1f6c7;align-self:flex-start}.tutor-input textarea{resize:vertical;border:1px solid var(--line);min-width:0;color:var(--text);font:inherit;background:#ffffffd1;border-radius:16px;flex:1;padding:10px 12px;font-size:.92rem;line-height:1.5}.tutor-error{color:#8a3a3a;background:#ffebebe6;border-radius:14px;padding:9px 11px;font-size:.85rem;font-weight:800}.app-tab-nav{z-index:45;-webkit-backdrop-filter:saturate(160%)blur(18px);background:#ffffffdb;border:1px solid #ffffffc7;border-radius:26px;grid-template-columns:repeat(5,1fr);gap:5px;width:min(620px,100vw - 32px);padding:8px;display:grid;position:fixed;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 14px 34px #1e52822e}.app-tab-nav a{min-height:44px;color:var(--blue-deep);border-radius:19px;place-items:center;font-size:.82rem;font-weight:900;transition:background .12s,color .12s,box-shadow .12s;display:grid}.app-tab-nav a.active{color:#fff;background:linear-gradient(135deg, var(--blue), var(--teal));box-shadow:0 8px 18px #4b92df3d}.app-tab-nav a:focus-visible,.app-tab-nav a:hover{background:#4b92df1f;outline:none}.app-tab-nav a.active:hover{background:linear-gradient(135deg, var(--blue), var(--teal))}@media (max-width:1180px){.shell{grid-template-columns:minmax(220px,280px) minmax(0,1fr);height:auto;padding-bottom:72px;overflow:visible}.shell-view-writing,.shell-view-vocab,.shell-view-review{grid-template-columns:1fr}.shell-view-writing .main-stage,.shell-view-vocab .main-stage,.shell-view-writing .right-panel,.shell-view-vocab .right-panel,.shell-view-writing .right-rail,.shell-view-vocab .right-rail{grid-column:1/-1}.shell-view-review .main-stage{grid-column:1/-1;height:auto}.shell-view-review .main-stage>.right-panel{min-height:auto}.review-improvement-panel{grid-template-columns:1fr;height:auto;min-height:auto}.review-insight-panel,.review-coach-panel{position:static}.review-recent-strip{grid-template-rows:none}.left-panel,.main-stage,.right-panel,.right-rail{max-height:none;padding-right:0;overflow-y:visible}.right-panel{grid-column:1/-1;min-height:auto}.right-rail{min-height:auto}.mini-history{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.home-grid,.home-guide-grid,.home-progress-grid,.improvement-card-grid,.weekly-analysis-grid{grid-template-columns:1fr}.review-recent-strip .mini-history{grid-template-rows:none;grid-template-columns:repeat(2,minmax(0,1fr))}.hist-item>summary{grid-template-columns:minmax(150px,190px) minmax(0,1fr)}.hist-item>summary .time,.hist-item>summary .band{grid-column:2;justify-self:start}.home-rhythm-line{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:820px){.shell{grid-template-columns:1fr;padding:16px 14px 94px}.side-panel{min-height:auto}.left-panel{order:1}.main-stage{order:2}.right-panel{order:3}.shell-view-writing .main-stage,.shell-view-vocab .main-stage{order:1}.shell-view-writing .right-rail,.shell-view-vocab .right-rail{order:2}.mini-history{grid-template-columns:1fr}.review-recent-strip .mini-history{grid-template-rows:none;grid-template-columns:1fr}.answer-detail-container{max-width:100%;padding-inline:14px}.answer-detail-hero{flex-direction:column;padding:20px}.answer-compare-grid,.detail-section-grid,.weekly-analysis-grid,.study-boost-grid,.synonym-options{grid-template-columns:1fr}.answer-detail-card{padding:18px}.drill-complete-ribbon,.drill-complete-box{flex-direction:column;align-items:start}.drill-complete-actions{width:100%;margin-left:0}.drill-complete-actions a{flex:180px}.history-container{max-width:100%}.hist-item>summary{grid-template-columns:1fr;gap:8px}.hist-item .chip{max-width:100%}.hist-item>summary .time,.hist-item>summary .band{grid-column:auto}.quick-practice{grid-template-columns:1fr}.quick-practice .btn{justify-content:center;width:100%}.settings-grid{grid-template-columns:1fr;gap:0}.hero{padding:24px 20px}.hero-title{font-size:1.55rem}.home-rhythm-line{grid-template-columns:repeat(2,minmax(0,1fr))}.home-route-compact div{grid-template-columns:1fr}.review-hero{display:grid}.history-ghost-link{width:fit-content}.topbar{padding:12px 14px}.topbar nav{gap:6px}.topbar .btn{padding:9px 13px;font-size:.84rem}.app-tab-nav{border-radius:24px;gap:4px;width:calc(100vw - 24px);padding:7px;bottom:10px}.app-tab-nav a{border-radius:18px;min-height:42px;font-size:.78rem}.tutor-input{display:grid}.tutor-input button{justify-content:center;width:100%}}
