@font-face{font-family:Inter;src:url(/fonts/inter-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Material Symbols Outlined;src:url(/fonts/material-symbols-outlined-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:block}:root{--surface:#f9f9ff;--surface-dim:#d8d9e5;--surface-bright:#f9f9ff;--surface-container-lowest:#ffffff;--surface-container-low:#f1f3fe;--surface-container:#ecedf9;--surface-container-high:#e6e8f3;--surface-container-highest:#e0e2ed;--surface-variant:#e0e2ed;--on-surface:#181c23;--on-surface-variant:#414755;--inverse-surface:#2d3039;--inverse-on-surface:#eef0fc;--outline:#717786;--outline-variant:#c1c6d7;--primary:#0058bc;--primary-container:#0070eb;--primary-fixed:#d8e2ff;--primary-fixed-dim:#adc6ff;--on-primary:#ffffff;--on-primary-fixed-variant:#004493;--secondary:#5d5e63;--tertiary:#845000;--tertiary-container:#a66600;--tertiary-fixed:#ffddbb;--tertiary-fixed-dim:#ffb868;--error:#ba1a1a;--error-container:#ffdad6;--on-error-container:#93000a;--glass-level-1:rgba(255,255,255,0.7);--glass-level-2:rgba(255,255,255,0.85);--glass-border-1:rgba(255,255,255,0.2);--glass-border-2:rgba(255,255,255,0.4);--shadow-level-1:0 8px 32px rgba(0,0,0,0.04),inset 0 0 0 1px rgba(255,255,255,1);--shadow-level-2:0 16px 48px rgba(0,0,0,0.08),inset 0 0 0 1px rgba(255,255,255,1);--container-padding:40px;--gutter:24px;--stack-sm:12px;--stack-md:24px;--stack-lg:48px;--motion-instant:100ms;--motion-fast:160ms;--motion-medium:220ms;--motion-page:300ms;--motion-panel:300ms;--ease-standard:cubic-bezier(0.2,0.8,0.2,1);--ease-out:cubic-bezier(0.16,1,0.3,1);--focus-ring:0 0 0 3px rgba(0,88,188,0.16);--sidebar-width:260px;--app-header-height:76px;--content-max:1280px;--annotation-error:var(--error);--annotation-warning:var(--tertiary);--annotation-logic:var(--primary);--annotation-task:#6750a4;--annotation-soft-error:rgba(186,26,26,0.12);--annotation-soft-warning:rgba(132,80,0,0.12);--annotation-soft-logic:rgba(0,88,188,0.12);--annotation-soft-task:rgba(103,80,164,0.12)}*{box-sizing:border-box}body,html{width:100%;height:100%;min-height:100%;margin:0;overflow:hidden;overscroll-behavior:none;background-color:#f0f4ff}body{min-height:100dvh;color:var(--on-surface);background:radial-gradient(at 0 0,rgba(240,244,255,.92) 0,transparent 50%),radial-gradient(at 100% 0,rgba(249,240,255,.9) 0,transparent 50%),linear-gradient(135deg,#f0f4ff,#f9f0ff);background-color:#f0f4ff;background-attachment:fixed;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}body.modal-open{overflow:hidden;scrollbar-gutter:stable}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.68}a{color:inherit;text-decoration:none}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid rgba(0,88,188,.7);outline-offset:3px;box-shadow:var(--focus-ring)}:where([data-main-content],main[tabindex="-1"]):focus,:where([data-main-content],main[tabindex="-1"]):focus-visible{outline:none;box-shadow:none}::selection{background:rgba(0,88,188,.16);color:var(--on-surface)}img{max-width:100%;display:block}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:0;text-transform:none;display:inline-flex;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.ui-page{min-height:100dvh;color:var(--on-surface);padding-bottom:var(--stack-lg)}.ui-page.with-nav{padding-top:112px}.ui-container{width:min(1280px,calc(100% - 80px));margin:0 auto}.ui-narrow-container{width:min(800px,calc(100% - 32px));margin:0 auto}.ui-top-nav{position:fixed;top:16px;left:50%;z-index:50;width:min(95%,1280px);height:64px;transform:translateX(-50%) scale(.95);display:flex;align-items:center;justify-content:space-between;padding:0 32px;border:1px solid var(--glass-border-1);border-radius:9999px;background:rgba(255,255,255,.7);box-shadow:0 8px 32px rgba(0,0,0,.04),0 12px 32px rgba(255,255,255,.35);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.ui-brand{min-width:104px;color:var(--primary);font-size:32px;font-weight:600;line-height:1.2;letter-spacing:0}.ui-nav-links{position:absolute;left:50%;display:flex;align-items:center;gap:var(--gutter);transform:translateX(-50%)}.ui-nav-link{color:var(--on-surface-variant);font-size:20px;font-weight:500;line-height:1.4;padding:8px 16px;border-radius:9999px;border-bottom:2px solid transparent;transition:color .3s ease,background .3s ease,transform .2s ease}.ui-nav-link:hover{color:var(--primary);background:rgba(255,255,255,.4)}.ui-nav-link.is-active{color:var(--primary);font-weight:700;border-bottom-color:var(--primary);border-radius:0}.ui-nav-actions{display:flex;align-items:center;gap:16px}.ui-icon-button{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9999px;background:transparent;color:var(--on-surface-variant);transition:background .3s ease,color .3s ease,transform .2s ease}.ui-icon-button.is-active,.ui-icon-button:hover{color:var(--primary);background:rgba(255,255,255,.4)}.ui-avatar{width:40px;height:40px;flex:0 0 auto;overflow:hidden;border:2px solid #fff;border-radius:9999px;background:var(--surface-container);box-shadow:0 2px 8px rgba(0,0,0,.04)}.ui-avatar img{width:100%;height:100%;object-fit:cover}.ui-bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:50;display:none;height:64px;align-items:center;justify-content:space-around;padding:0 16px;border-top:1px solid rgba(255,255,255,.3);border-radius:32px 32px 0 0;background:rgba(255,255,255,.8);box-shadow:0 -4px 24px rgba(0,0,0,.02);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.ui-bottom-nav a{min-width:56px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--on-surface-variant);font-size:13px;font-weight:600;line-height:1.2;opacity:.6;transition:opacity .2s ease,color .2s ease,transform .2s ease}.ui-bottom-nav a.is-active{color:var(--primary);opacity:1;transform:scale(1.08)}.glass-card,.ui-glass{border:1px solid var(--glass-border-1);background:var(--glass-level-1);box-shadow:var(--shadow-level-1);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.ui-glass-1{border-radius:32px}.glass-card.strong,.ui-glass-2{border:1.5px solid var(--glass-border-2);background:var(--glass-level-2);box-shadow:var(--shadow-level-2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.ui-hover-glow{transition:box-shadow .3s ease,transform .3s ease,background .3s ease}.ui-hover-glow:hover{background:rgba(255,255,255,.85);box-shadow:0 8px 32px rgba(0,0,0,.04),0 0 20px rgba(0,88,188,.1),inset 0 1px 0 rgba(255,255,255,1)}.ui-title-display{margin:0;font-size:48px;font-weight:700;line-height:1.1;letter-spacing:0}.ui-title-headline{margin:0;font-size:32px;font-weight:600;line-height:1.2;letter-spacing:0}.ui-title-md{margin:0;font-size:20px;font-weight:500;line-height:1.4}.ui-body-lg{font-size:18px;line-height:1.6}.ui-body-lg,.ui-body-md{margin:0;color:var(--on-surface-variant);font-weight:400}.ui-body-md{font-size:16px;line-height:1.5}.ui-label{color:var(--on-surface-variant);font-size:13px;font-weight:600;line-height:1.2;letter-spacing:0}.text-primary{color:var(--primary)}.text-tertiary{color:var(--tertiary)}.text-error{color:var(--error)}.primary-button,.ui-primary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:9999px;background:var(--primary);color:var(--on-primary);min-height:44px;padding:12px 24px;font-size:13px;font-weight:700;line-height:1.2;letter-spacing:0;box-shadow:0 8px 24px rgba(0,88,188,.3);transition:background .3s ease,box-shadow .3s ease,transform .2s ease}.primary-button:hover,.ui-primary-button:hover{background:rgba(0,88,188,.88);box-shadow:0 12px 32px rgba(0,88,188,.4)}.glass-button,.ui-secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid rgba(255,255,255,.8);border-radius:9999px;background:rgba(255,255,255,.5);color:var(--on-surface);padding:10px 18px;font-size:13px;font-weight:600;line-height:1.2;letter-spacing:0;transition:background .3s ease,box-shadow .3s ease,transform .2s ease}.glass-button:hover,.ui-secondary-button:hover{background:rgba(255,255,255,.8);box-shadow:0 4px 12px rgba(0,0,0,.05)}.ui-dark-button{display:inline-flex;justify-content:center;gap:8px;border:0;border-radius:9999px;background:var(--inverse-surface);color:var(--inverse-on-surface);min-height:40px;padding:10px 24px;font-weight:700;letter-spacing:0;box-shadow:0 12px 24px rgba(45,48,57,.16)}.ui-dark-button,.ui-footer{align-items:center;font-size:13px;line-height:1.2}.ui-footer{width:min(1280px,calc(100% - 80px));margin:var(--stack-lg) auto 0;padding:24px 0;display:flex;justify-content:space-between;gap:var(--gutter);border-top:1px solid rgba(193,198,215,.18);color:var(--on-surface-variant);font-weight:600}.ui-footer.is-compact{width:min(800px,calc(100% - 32px))}.ui-footer-brand{color:var(--primary);font-size:20px;font-weight:500;line-height:1.4}.ui-footer p{margin:0}.ui-footer-links{display:flex;gap:var(--gutter);flex-wrap:wrap}.ui-footer-links a:hover{color:var(--primary);text-decoration:underline;text-underline-offset:4px}.analytics-card header,.mode-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.history-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,340px));justify-content:start;align-items:stretch;grid-auto-rows:1fr;gap:var(--stack-md)}.empty-state{padding:32px;border-radius:32px;text-align:center}.mode-page{min-height:100dvh;display:flex;flex-direction:column}.mode-main{width:min(1200px,calc(100% - 80px));margin:0 auto;padding-top:160px;flex:1 1;display:flex;flex-direction:column;align-items:center}.mode-header{width:min(760px,100%);margin-bottom:var(--stack-lg)}.mode-header .ui-title-display{color:var(--primary)}.mode-grid{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gutter)}.mode-card{min-height:292px;display:flex;flex-direction:column;padding:var(--stack-md);border-radius:48px;color:var(--on-surface)}.mode-card.is-featured{border:2px solid rgba(0,88,188,.2);background:linear-gradient(135deg,rgba(255,255,255,.8),rgba(216,226,255,.3))}.mode-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:9999px;background:rgba(0,112,235,.2);color:var(--primary);transition:transform .3s ease}.mode-card:hover .mode-icon{transform:scale(1.1)}.mode-card.is-featured .mode-icon{color:#fff;background:var(--primary);box-shadow:0 4px 16px rgba(0,88,188,.3)}.mode-badge{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;border-radius:9999px;background:rgba(230,232,243,.5);color:var(--on-surface-variant)}.mode-card.is-featured .mode-badge{border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.6);color:var(--primary);font-weight:700}.mode-card-title{display:block;margin:var(--stack-md) 0 8px;font-size:20px;font-weight:600;line-height:1.4}.mode-subtitle{display:block;margin:0 0 16px;color:var(--primary);font-size:13px;font-weight:600;line-height:1.2;letter-spacing:0}.mode-card-footer{margin-top:auto;padding-top:var(--stack-sm);border-top:1px solid rgba(193,198,215,.2);display:flex;align-items:center;justify-content:space-between;gap:12px}.mode-meta{display:inline-flex;align-items:center;gap:8px;color:var(--outline);font-size:13px;font-weight:600;line-height:1.2;letter-spacing:0}.exam-page{height:100vh;display:flex;flex-direction:column;overflow:hidden;color:var(--on-surface);background:var(--surface-bright)}.exam-topbar{height:64px;flex:0 0 64px;justify-content:space-between;gap:var(--gutter);padding:0 var(--gutter);border-bottom:1px solid rgba(193,198,215,.3);background:var(--surface);box-shadow:0 4px 16px rgba(0,0,0,.02);z-index:10}.exam-brand-row,.exam-topbar{display:flex;align-items:center}.exam-brand-row{gap:var(--stack-sm)}.exam-ielts-mark{color:#e31837;font-size:20px;font-weight:700;line-height:1;letter-spacing:0}.exam-info-pill{display:flex;align-items:center;gap:var(--stack-md);padding:8px var(--stack-md);border:1px solid rgba(193,198,215,.2);border-radius:9999px;background:var(--surface-container-low)}.exam-info-item{display:flex;align-items:center;gap:8px}.exam-divider{width:1px;height:16px;background:rgba(193,198,215,.4)}.mini-ring{position:relative;width:24px;height:24px}.mini-ring svg{width:100%;height:100%}.mini-ring .track{stroke:var(--surface-variant)}.mini-ring .value{transform:rotate(-90deg);transform-origin:50% 50%;stroke:var(--primary);transition:stroke-dashoffset .35s ease}.mini-ring .material-symbols-outlined{position:absolute;inset:0;display:grid;place-items:center;color:var(--primary);font-size:12px}.exam-timer{color:var(--primary);font-size:20px;font-weight:600;line-height:1.4;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.exam-word-count{color:var(--on-surface);font-size:16px;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:color .3s ease}.exam-word-count.word-count-low{color:var(--error,#ba1a1a)}.exam-word-count.word-count-medium{color:var(--primary,#0058bc)}.exam-word-count.word-count-good{color:var(--success,#2e7d32)}.exam-word-count span{color:var(--outline);font-size:14px;font-weight:400}.exam-actions{display:flex;align-items:center;gap:var(--stack-md)}.saved-state{gap:4px;color:rgba(0,88,188,.8);font-weight:600;opacity:.7;min-width:80px;justify-content:flex-end}.exam-exit,.saved-state{display:inline-flex;align-items:center;font-size:13px;line-height:1.2}.exam-exit{gap:8px;border:1px solid rgba(186,26,26,.2);border-radius:9999px;background:rgba(255,218,214,.5);color:var(--on-error-container);padding:8px 16px;font-weight:700;transition:background .2s ease}.exam-exit:hover{background:var(--error-container)}.exam-layout{min-height:0;flex:1 1;display:grid;overflow:hidden}.exam-left-pane,.exam-right-pane{width:auto;min-width:0;height:100%;overflow-y:auto}.exam-left-pane{padding:20px var(--container-padding) var(--container-padding);border-right:1px solid rgba(193,198,215,.3);background:var(--surface-container-lowest);box-shadow:inset -4px 0 12px rgba(0,0,0,.01)}.exam-left-inner{width:100%;max-width:1120px;margin:0 auto;display:flex;flex-direction:column;gap:var(--stack-md);min-height:0;padding-bottom:var(--stack-lg)}.exam-section-header{padding-bottom:12px;border-bottom:1px solid rgba(193,198,215,.2)}.exam-prompt-box{position:relative;overflow:hidden;padding:var(--stack-md);border:1px solid rgba(193,198,215,.2);border-radius:32px;background:var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.04)}.exam-prompt-box:before{content:"";position:absolute;top:0;bottom:0;left:0;width:4px;background:var(--primary)}.exam-prompt-box p{margin:0}.exam-prompt-box p+p{margin-top:16px}.exam-graph-frame{margin-top:16px;padding:16px;border:1px solid rgba(193,198,215,.3);border-radius:32px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.04);overflow:visible}.exam-graph-frame img{display:block;width:100%;max-width:100%;height:auto;border-radius:16px;object-fit:contain;opacity:.9;mix-blend-mode:multiply}.exam-original-image{margin-top:16px}.exam-original-image summary{width:fit-content;cursor:pointer;color:var(--primary);font-size:13px;font-weight:700}.exam-original-image[open] summary{margin-bottom:4px}.exam-original-image .exam-graph-frame{margin-top:8px}.task1-visual{width:100%;min-width:0;min-height:200px;container:task-visuals/inline-size}.task1-visual-scroll-shell{position:relative;width:100%;min-width:0}.task1-visual-scroll-shell:after,.task1-visual-scroll-shell:before{content:"";position:absolute;top:0;bottom:0;z-index:3;width:28px;pointer-events:none;opacity:0;transition:opacity .16s ease}.task1-visual-scroll-shell:before{left:0;background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,0))}.task1-visual-scroll-shell:after{right:0;background:linear-gradient(270deg,rgba(255,255,255,.96),rgba(255,255,255,0))}.task1-visual-scroll-shell.can-scroll-left:before,.task1-visual-scroll-shell.can-scroll-right:after{opacity:1}.task1-visual-scroll-region{width:100%;min-width:0;overflow-x:auto;overflow-y:visible;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(65,71,85,.35) transparent;touch-action:pan-x pan-y}.task1-visual-scroll-region:focus-visible{outline:2px solid rgba(0,88,188,.28);outline-offset:4px;border-radius:14px}.task1-visual-scroll-region::-webkit-scrollbar{height:7px}.task1-visual-scroll-region::-webkit-scrollbar-track{background:transparent}.task1-visual-scroll-region::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(65,71,85,.3)}.task1-visual-content{width:100%;min-width:100%}.task1-visual-content[data-renderer=bar],.task1-visual-content[data-renderer=line]{min-width:max(100%,480px)}.task1-visual-content[data-renderer=pie]{min-width:max(100%,400px)}.task1-visual-content[data-renderer=map],.task1-visual-content[data-renderer=process]{min-width:max(100%,520px)}.task1-visual-content[data-renderer=mixed]{min-width:max(100%,470px)}.task1-scroll-hint{margin:8px 0 0;color:var(--on-surface-variant,#414755);font-size:11px;font-weight:600;text-align:right}.task1-chart-wrapper{width:100%;min-width:0;padding:10px 0 4px;overflow:visible}.task1-chart-heading{display:grid;gap:6px;min-width:0;margin-bottom:16px;padding:0 8px}.task1-visual-content>.task1-chart-wrapper>.task1-chart-heading{position:sticky;left:0;z-index:2;box-sizing:border-box;width:100cqw;max-width:100cqw;background:var(--surface,#fff)}.task1-mixed-grid{display:grid;grid-template-columns:minmax(470px,1fr);gap:20px;align-items:start;width:100%;min-width:0}.task1-mixed-panel{min-width:470px;padding:14px;border:1px solid rgba(193,198,215,.36);border-radius:20px;background:var(--surface,#fff)}.task1-mixed-panel[data-chart-type=pie]{min-width:400px}.task1-mixed-panel .task1-chart-wrapper{min-width:0;padding-bottom:0}@container task-visuals (min-width: 900px){.task1-mixed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.task1-mixed-panel{min-width:0}}.task1-chart-title{font-size:16px;font-weight:600;line-height:1.45;color:var(--on-surface,#181c23)}.task1-chart-subtitle,.task1-chart-title{max-width:100%;margin:0;text-align:center;overflow-wrap:anywhere}.task1-chart-subtitle{font-size:13px;line-height:1.5;color:var(--on-surface-variant,#414755)}.task1-cartesian-canvas{width:100%;min-width:0;height:350px}.task1-axis-caption{color:var(--on-surface-variant,#414755);font-size:12px;line-height:1.4}.task1-axis-caption-y{margin:0 0 4px 8px;font-weight:600;text-align:left}.task1-axis-caption-x{margin:4px 0 0;text-align:center}.task1-html-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 16px;margin:14px 0 0;padding:0 8px;list-style:none}.task1-html-legend-item{display:inline-flex;min-width:0;align-items:baseline;gap:7px;color:var(--on-surface-variant,#414755);font-size:12px;line-height:1.4}.task1-html-legend-swatch{width:10px;height:10px;flex:0 0 10px;align-self:center;border-radius:3px}.task1-html-legend-label{min-width:0;overflow-wrap:anywhere}.task1-html-legend-value{flex:0 0 auto;color:var(--on-surface,#181c23);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.task1-pie-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:center}.task1-chart-wrapper[data-chart-type=pie]{container:task-pie/inline-size}.task1-pie-canvas{width:100%;min-width:280px;height:320px}.task1-pie-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));justify-content:stretch;width:100%;margin-top:0;padding:0 8px}@container task-pie (min-width: 560px){.task1-pie-layout{grid-template-columns:minmax(280px,1fr) minmax(170px,.65fr)}.task1-pie-legend{grid-template-columns:minmax(0,1fr);padding:0}}.task1-chart-source{font-size:11px;color:var(--on-surface-variant,#414755);margin:8px 0 0;text-align:right;font-style:italic}.task1-chart-empty{color:var(--on-surface-variant,#414755);font-size:14px}.task1-chart-empty,.task1-chart-error{display:flex;align-items:center;justify-content:center;min-height:200px}.task1-chart-error{flex-direction:column;padding:24px;text-align:center}.task1-chart-error-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--error-container,#ffdad6);color:var(--error,#ba1a1a);font-size:20px;font-weight:700;margin-bottom:12px}.task1-chart-error-title{font-size:15px;font-weight:600;color:var(--on-surface,#181c23);margin:0 0 4px}.task1-chart-error-message{font-size:13px;color:var(--on-surface-variant,#414755);margin:0}.task1-visual-loading{min-height:200px;border-radius:8px;background:linear-gradient(90deg,var(--surface-variant,#e7e8ec) 25%,var(--surface,#f4f5f9) 50%,var(--surface-variant,#e7e8ec) 75%);background-size:200% 100%;animation:task1-visual-loading-shimmer 1.5s ease-in-out infinite}@keyframes task1-visual-loading-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.task1-table-container{width:100%;overflow:visible;margin:8px 0}.task1-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.task1-table th{background:var(--primary-container,#d8e2ff);color:var(--on-primary-container,#001d36);font-weight:600;padding:10px 14px;text-align:left;overflow-wrap:normal;word-break:keep-all;border-bottom:2px solid var(--primary,#0058bc)}.task1-table td,.task1-table th{min-width:112px;white-space:normal}.task1-table td{padding:8px 14px;border-bottom:1px solid var(--outline-variant,#c1c6d7);color:var(--on-surface,#181c23);overflow-wrap:break-word}.task1-table tr:hover td{background:var(--surface-container-low,#f1f3fe)}.task1-table-label{min-width:160px;font-weight:500}.task1-table-value{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.task1-process-diagram{width:100%;padding:0;overflow:visible}.task1-process-diagram-title{font-size:14px;font-weight:600;color:var(--on-surface,#181c23);margin:0 0 8px;text-align:center;letter-spacing:-.01em}.task1-process-flow{display:flex;flex-direction:row;align-items:flex-start;justify-content:center;gap:0;padding:8px 0 4px;width:100%;overflow:visible}.task1-process-stage-wrapper{display:flex;flex-direction:row;align-items:center;flex-shrink:0}.task1-process-stage-wrapper:last-child{flex-shrink:0}.task1-process-stage{display:flex;flex-direction:column;align-items:center;text-align:center;width:120px;min-height:110px;padding:12px 10px 10px;background:var(--surface,#fff);border:1.5px solid var(--outline-variant,#d1d1d6);border-radius:10px;position:relative;transition:box-shadow .2s ease,border-color .2s ease}.task1-process-stage:hover{border-color:var(--primary,#0071e3);box-shadow:0 2px 12px rgba(0,0,0,.06)}.task1-process-stage-icon{width:36px;height:36px;color:var(--primary,#0071e3);margin-bottom:4px;flex-shrink:0}.task1-process-stage-icon svg{width:100%;height:100%}.task1-process-stage-number{font-size:10px;font-weight:700;color:var(--primary,#0071e3);background:var(--primary-container,#e8f0fe);width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:4px;flex-shrink:0;letter-spacing:0}.task1-process-stage-label{font-size:12.5px;font-weight:600;color:var(--on-surface,#181c23);line-height:1.35;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;margin-bottom:2px}.task1-process-stage-desc{font-size:10.5px;color:var(--on-surface-variant,#6e6e73);line-height:1.4;word-break:break-word;margin-top:2px}.task1-process-arrow{display:flex;align-items:center;justify-content:center;width:32px;min-width:24px;height:24px;flex-shrink:0;align-self:center;margin:28px 2px 0}.task1-process-arrow-svg{width:100%;height:100%;overflow:visible}@media (max-width:1000px) and (min-width:901px){.task1-process-stage{width:105px;min-height:100px;padding:10px 8px 8px}.task1-process-stage-icon{width:30px;height:30px}.task1-process-stage-label{font-size:11.5px}.task1-process-stage-desc{font-size:10px}.task1-process-arrow{width:26px;min-width:20px;margin:24px 1px 0}}@media (max-width:900px){.task1-process-flow{flex-wrap:wrap;gap:8px 0;justify-content:center;padding:4px 0}.task1-process-stage-wrapper{flex-basis:calc(33.33% - 8px);justify-content:center;flex-shrink:0}.task1-process-stage-wrapper:nth-child(3) .task1-process-arrow,.task1-process-stage-wrapper:nth-child(6) .task1-process-arrow{display:none}.task1-process-stage{width:115px}.task1-process-arrow{margin-top:24px}}@media (max-width:580px){.task1-process-flow{flex-direction:column;align-items:center;gap:0;padding:4px 0}.task1-process-stage-wrapper{flex-direction:column;align-items:center;flex-basis:auto;width:100%;max-width:260px}.task1-process-stage{width:100%;max-width:240px;min-height:90px;padding:10px 12px 8px}.task1-process-arrow{width:24px;height:28px;margin:0}.task1-process-arrow-svg{transform:rotate(90deg)}}.process-v2{width:100%;min-width:0;padding:0;overflow:hidden}.process-v2-title{font-size:14px;font-weight:600;color:#1a1a1a;margin:0 0 12px;text-align:center;letter-spacing:-.01em}.process-v2-container{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:6px;padding:4px 0;width:100%;min-width:0}.process-v2-container[data-layout=grid]{display:grid;grid-template-columns:repeat(var(--process-cols,3),1fr);gap:8px 6px;justify-items:center}.process-v2-step-group{display:flex;flex-direction:row;align-items:center;flex-shrink:0;min-width:0}.process-v2-step-group[data-layout=vertical]{flex-direction:column;width:100%;max-width:320px}.process-v2-step-group[data-layout=grid]{flex-direction:column;align-items:center;width:100%;min-width:0}.process-v2-step{text-align:center;min-width:120px;max-width:160px;min-height:72px;padding:10px 12px 8px;background:#fafafa;border:1px solid #c8c8c8;border-radius:6px;position:relative}.process-v2-step,.process-v2-step-content{display:flex;flex-direction:column;align-items:center}.process-v2-step-content{gap:4px;width:100%}.process-v2-step-title{font-size:13px;font-weight:600;color:#1a1a1a;line-height:1.3;-webkit-hyphens:auto;hyphens:auto;-webkit-line-clamp:2}.process-v2-step-desc,.process-v2-step-title{word-break:break-word;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.process-v2-step-desc{font-size:11px;color:#4a4a4a;line-height:1.4;-webkit-line-clamp:3}.process-v2-endpoint-label{font-size:10px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.process-v2-arrow{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#666}.process-v2-arrow[data-direction=right]{width:28px;height:16px;margin:0 2px}.process-v2-arrow[data-direction=down]{width:16px;height:28px;margin:2px 0}.process-v2-arrow[data-direction=down-left]{width:40px;height:32px;margin:2px 0}.process-v2-arrow[data-direction=cycle]{width:24px;height:24px;margin:4px}.process-v2-arrow svg{width:100%;height:100%;overflow:visible}.process-v2-cycle-return{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0 4px;width:100%}.process-v2-cycle-return svg{width:200px;height:30px;color:#666}.process-v2-cycle-label{font-size:11px;color:#666;font-style:italic}@media (max-width:600px){.process-v2-container{flex-direction:column;align-items:center;gap:0}.process-v2-container[data-layout=grid]{display:flex;flex-direction:column;align-items:center}.process-v2-step-group[data-layout=grid]{flex-direction:column;width:100%;max-width:320px}.process-v2-step{width:100%;max-width:280px;min-width:0}.process-v2-arrow[data-direction=right]{transform:rotate(90deg);width:16px;height:28px;margin:2px 0}.process-v2-arrow[data-direction=down-left]{width:16px;height:28px;margin:2px 0}.process-v2-arrow[data-direction=down-left] svg{display:none}.process-v2-arrow[data-direction=down-left]:after{content:"↓";font-size:16px;color:#666}}@media print{.process-v2-step{background:#fff;border-color:#333}.process-v2-arrow{color:#333}.process-v2-step-title{color:#000}.process-v2-step-desc{color:#333}}.task1-map-container{display:flex;align-items:center;gap:8px;padding:8px 0}.task1-map-panel{flex:1 1;min-width:0}.task1-map-panel-title{font-size:13px;font-weight:600;color:var(--on-surface,#181c23);margin:0 0 8px;text-align:center}.task1-map-svg{width:100%;height:auto;border-radius:8px;border:1px solid var(--outline-variant,#c1c6d7)}.task1-map-arrow{flex-shrink:0;display:flex;align-items:center;justify-content:center}.task1-map-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;font-size:12px;color:var(--on-surface-variant,#414755)}.task1-map-legend-item{display:flex;align-items:center;gap:6px}.task1-map-legend-dot{width:10px;height:10px;border-radius:50%;background:var(--primary,#6750a4)}.task1-map-legend-dot.added{background:#16a34a}.task1-map-legend-dot.removed{background:#dc2626}.task1-map-visual{width:100%;padding:16px 0}.task1-map-header{margin-bottom:16px;text-align:center}.task1-map-title{font-size:18px;font-weight:700;color:var(--on-surface,#1f2937);margin:0}.task1-map-grid{display:flex;align-items:flex-start;gap:16px;width:100%}.map-panel{flex:1 1;min-width:0}.map-panel-title{font-size:14px;font-weight:600;color:var(--on-surface,#1f2937);margin:0 0 12px;text-align:center}.map-panel-content{width:100%;aspect-ratio:520/480;overflow:hidden;border-radius:8px;border:1px solid var(--outline-variant,#e5e7eb);background:var(--map-bg,#ffffff)}.map-svg{width:100%;height:100%;display:block}.map-change-arrow{flex-shrink:0;align-items:center;padding-top:40px}.map-change-arrow,.map-legend{display:flex;justify-content:center}.map-legend{gap:24px;margin-top:16px;font-size:13px;color:var(--on-surface-variant,#4b5563)}.map-legend-item{display:flex;align-items:center;gap:8px}.map-legend-line{display:inline-block;width:24px;height:0;border-top:3px solid}.map-legend-line.solid{border-top-style:solid;border-color:var(--map-road,#4b5563)}.map-legend-line.dashed{border-top-style:dashed;border-color:var(--map-future,#6b7280)}.task1-map-legacy-notice{flex-direction:column;padding:48px 24px;text-align:center;background:var(--surface-variant,#f3f4f6);border-radius:12px;border:1px dashed var(--outline-variant,#d1d5db)}.task1-map-legacy-icon,.task1-map-legacy-notice{display:flex;align-items:center;justify-content:center}.task1-map-legacy-icon{width:48px;height:48px;border-radius:50%;background:var(--warning-container,#fef3c7);color:var(--on-warning-container,#92400e);margin-bottom:16px}.task1-map-legacy-notice h4{font-size:16px;font-weight:600;color:var(--on-surface,#1f2937);margin:0 0 8px}.task1-map-legacy-notice p{font-size:14px;color:var(--on-surface-variant,#6b7280);margin:0 0 16px;max-width:400px}.task1-map-legacy-link{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:var(--primary,#3b82f6);color:var(--on-primary,#ffffff);border-radius:8px;font-size:14px;font-weight:500;text-decoration:none;transition:background .2s}.task1-map-legacy-link:hover{background:var(--primary-dark,#2563eb)}.task1-map-legacy-hint{font-size:13px;color:var(--on-surface-variant,#9ca3af);margin:0}:root{--map-bg:#ffffff;--map-border:#e5e7eb;--map-river:#d1d5db;--map-river-stroke:#9ca3af;--map-river-text:#4b5563;--map-road:#4b5563;--map-bridge:#374151;--map-bridge-stroke:#1f2937;--map-future:#6b7280;--map-tree-canopy:#6b7280;--map-tree-canopy-stroke:#4b5563;--map-tree-trunk:#78716c;--map-house-roof:#4b5563;--map-house-roof-stroke:#374151;--map-house-wall:#e5e7eb;--map-house-wall-stroke:#9ca3af;--map-carpark:#e5e7eb;--map-carpark-border:#9ca3af;--map-carpark-planned:#f3f4f6;--map-building:#d1d5db;--map-building-stroke:#9ca3af;--map-church:#374151;--map-church-wall:#f3f4f6;--map-church-planned:#e5e7eb;--map-ferry:#9ca3af;--map-ferry-stroke:#6b7280}@media (max-width:768px){.task1-map-grid{flex-direction:column;gap:24px}.map-change-arrow{transform:rotate(90deg);padding-top:0}.map-panel-content{aspect-ratio:auto;min-height:300px}}@media (prefers-color-scheme:dark){:root{--map-bg:#1f2937;--map-border:#374151;--map-river:#4b5563;--map-river-stroke:#6b7280;--map-river-text:#9ca3af;--map-road:#9ca3af;--map-bridge:#6b7280;--map-bridge-stroke:#9ca3af;--map-future:#9ca3af;--map-tree-canopy:#6b7280;--map-tree-canopy-stroke:#9ca3af;--map-tree-trunk:#9ca3af;--map-house-roof:#6b7280;--map-house-roof-stroke:#9ca3af;--map-house-wall:#374151;--map-house-wall-stroke:#4b5563;--map-carpark:#374151;--map-carpark-border:#4b5563;--map-carpark-planned:#4b5563;--map-building:#4b5563;--map-building-stroke:#6b7280;--map-church:#9ca3af;--map-church-wall:#374151;--map-church-planned:#4b5563;--map-ferry:#6b7280;--map-ferry-stroke:#9ca3af}.exam-graph-frame{background:var(--surface-container-low,#1d1f24);border-color:rgba(193,198,215,.15)}.task1-visual-scroll-shell:before{background:linear-gradient(90deg,rgba(29,31,36,.96),rgba(29,31,36,0))}.task1-visual-scroll-shell:after{background:linear-gradient(270deg,rgba(29,31,36,.96),rgba(29,31,36,0))}.task1-table th{background:var(--primary-fixed-dim,#3a4a6b);color:var(--on-primary-fixed-variant,#adc6ff)}.task1-map-svg{border-color:rgba(193,198,215,.2)}}.exam-requirement{margin-top:auto;padding-top:32px}.exam-requirement span{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid rgba(193,198,215,.3);border-radius:9999px;background:var(--surface-container);color:var(--on-surface-variant)}.exam-right-pane{position:relative;background:#fff}.editor-toolbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;gap:12px;padding:12px var(--stack-md);border-bottom:1px solid rgba(193,198,215,.1);background:rgba(255,255,255,.95);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.spell-toggle,.submit-essay-button{display:inline-flex;align-items:center;gap:8px;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:600;line-height:1.2}.spell-toggle{border:1px solid transparent;background:transparent;color:var(--on-surface-variant)}.spell-toggle:hover{border-color:rgba(193,198,215,.2);background:var(--surface-container-low)}.submit-essay-button{border:0;background:var(--primary);color:#fff}.editor-canvas{position:relative;min-height:calc(100vh - 120px);max-width:800px;margin:0 auto;padding:var(--container-padding);display:flex;flex-direction:column}.editor-textarea{width:100%;flex:1 1;min-height:520px;resize:none;border:0;outline:2px solid transparent;outline-offset:4px;border-radius:12px;background:transparent;color:var(--on-surface);font-size:18px;font-weight:400;line-height:1.6;caret-color:var(--primary)}.editor-textarea::placeholder{color:rgba(113,119,134,.5)}.editor-error{margin:0 0 16px;padding:12px 16px;border-radius:16px;background:rgba(255,218,214,.55);color:var(--on-error-container);font-size:14px;line-height:1.45}.result-main{width:min(1280px,calc(100% - 80px));margin:0 auto;display:flex;flex-direction:column;gap:0}.result-header{display:flex;align-items:center;justify-content:space-between;gap:var(--stack-md);margin-top:8px;margin-bottom:6px}.result-header-copy{min-width:0;flex:1 1}.result-score-card{min-width:200px;padding:24px;border-radius:32px;text-align:center}.criteria-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gutter)}.criterion-card{min-height:194px;padding:20px;border-radius:16px;display:flex;flex-direction:column;align-items:center}.score-ring{position:relative;width:96px;height:96px;margin-top:16px}.score-ring svg{width:100%;height:100%}.score-ring .ring-track{stroke:var(--surface-variant)}.score-ring .ring-value{transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset .8s ease-in-out}.score-ring .ring-primary{stroke:var(--primary)}.score-ring .ring-tertiary{stroke:var(--tertiary)}.score-ring .ring-error{stroke:var(--error)}.score-ring span{position:absolute;inset:0;display:grid;place-items:center;font-size:32px;font-weight:600;line-height:1.2}.issue-list{margin:0;padding:0;list-style:none;display:grid;gap:16px}.issue-list li{display:flex;gap:12px;color:var(--on-surface-variant);font-size:16px;line-height:1.5}.issue-dot{width:8px;height:8px;flex:0 0 8px;margin-top:8px;border-radius:9999px;background:var(--primary)}.issue-dot.grammar{background:var(--error)}.issue-dot.lexical{background:var(--tertiary)}.result-canvas{max-width:800px;margin:0 auto;padding:40px;border-radius:32px}.result-tabs{display:flex;gap:16px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid rgba(193,198,215,.3)}.result-tab{position:relative;border:0;background:transparent;color:var(--on-surface-variant);padding:4px 8px;font-size:13px;font-weight:600;line-height:1.2;letter-spacing:0}.result-tab.is-active{color:var(--primary);font-weight:700}.result-tab.is-active:after{content:"";position:absolute;right:0;bottom:-17px;left:0;height:2px;background:var(--primary)}.result-tab:disabled{opacity:.4;cursor:not-allowed}.revised-tab-content{display:flex;flex-direction:column;gap:16px}.revised-sub-tabs{display:flex;gap:8px;padding-bottom:12px;border-bottom:1px solid rgba(193,198,215,.2)}.revised-sub-tabs .result-tab{font-size:12px;padding:3px 6px}.essay-prose{color:var(--on-surface);font-size:18px;line-height:1.9;white-space:pre-wrap}.essay-prose p{margin:0 0 24px}.error-mark{display:inline;border:0;padding:0 1px;background:transparent;color:inherit;font:inherit;text-align:left;text-decoration-line:underline;text-decoration-style:wavy;text-decoration-thickness:2px;text-underline-offset:4px}.error-mark.grammar{text-decoration-color:rgba(186,26,26,.8)}.error-mark.lexical{text-decoration-color:rgba(132,80,0,.8)}.error-mark.cohesion,.error-mark.other,.error-mark.task{text-decoration-color:rgba(0,88,188,.8)}.error-mark.is-active,.error-mark:hover{border-radius:6px;background:rgba(186,26,26,.12)}.detail-type{display:flex;align-items:center;gap:8px;color:var(--error);text-transform:uppercase}.detail-block,.detail-type{margin-bottom:16px}.detail-block span{display:block;margin-bottom:4px}.detail-block p{margin:0;padding:12px;border-radius:16px;background:rgba(255,218,214,.3);color:var(--on-surface);line-height:1.5}.detail-block .detail-correction{background:rgba(216,226,255,.3);color:var(--on-primary-fixed-variant)}.annotation-prose{font-size:17px;line-height:1.9}.annotation-workbench{display:grid;gap:18px}.annotation-filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:2px}.annotation-filter{min-height:34px;display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(193,198,215,.48);border-radius:9999px;background:rgba(255,255,255,.48);color:var(--on-surface-variant);padding:7px 10px;font-size:12px;font-weight:700;letter-spacing:0;transition:background var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.annotation-filter:hover{color:var(--primary);background:rgba(255,255,255,.78);border-color:rgba(0,88,188,.24)}.annotation-filter.is-active{color:var(--primary);background:rgba(216,226,255,.5);border-color:rgba(0,88,188,.28)}.annotation-filter strong{min-width:20px;height:20px;display:inline-grid;place-items:center;border-radius:9999px;background:rgba(255,255,255,.7);color:inherit;font-size:11px}.annotation-inline-empty{display:inline-flex;gap:8px;background:rgba(230,232,243,.55);font-size:13px;font-weight:700}.annotation-inline-empty,.annotation-stats{align-items:center;border-radius:14px;color:var(--on-surface-variant);padding:10px 12px}.annotation-stats{display:flex;flex-wrap:wrap;gap:8px 14px;background:rgba(216,226,255,.3);font-size:12px}.annotation-stats strong{color:var(--on-surface)}.annotation-warning-list{border:1px solid rgba(132,80,0,.18);border-radius:14px;background:var(--annotation-soft-warning);color:var(--tertiary);padding:10px 12px;font-size:12px}.annotation-warning-list ul{margin:6px 0 0;padding-left:18px}.annotation-generating-status{display:flex;align-items:center;gap:8px;border:1px solid rgba(0,88,188,.18);border-radius:14px;background:rgba(0,88,188,.06);color:var(--primary);padding:12px 16px;font-size:13px;animation:pulse-gentle 2s ease-in-out infinite}.annotation-generating-status strong{color:var(--primary)}@keyframes pulse-gentle{0%,to{opacity:1}50%{opacity:.7}}.annotated-essay{color:var(--on-surface);white-space:pre-wrap;overflow-wrap:anywhere}.annotation-mark{display:inline;border:0;border-radius:5px;background:transparent;color:inherit;font:inherit;line-height:inherit;padding:0 1px;text-align:left;text-decoration-line:underline;text-decoration-style:wavy;text-decoration-thickness:1.5px;text-underline-offset:3px;transition:background var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.annotation-mark:focus-visible,.annotation-mark:hover{box-shadow:inset 0 -1.35em rgba(255,255,255,.42)}.annotation-mark.is-active{box-shadow:inset 0 -1.35em rgba(255,255,255,.72),0 0 0 2px rgba(0,88,188,.12)}.annotation-count-badge{display:inline-grid;min-width:15px;height:15px;place-items:center;margin-left:2px;border-radius:9999px;background:var(--primary);color:var(--on-primary);font-size:9px;font-weight:800;line-height:1;text-decoration:none}.annotation-grammar,.annotation-punctuation,.annotation-spelling{text-decoration-color:var(--annotation-error)}.annotation-collocation,.annotation-repetition,.annotation-sentence-structure,.annotation-style,.annotation-vocabulary{text-decoration-color:var(--annotation-warning)}.annotation-coherence,.annotation-cohesion,.annotation-unclear-expression{text-decoration-color:var(--annotation-logic)}.annotation-task-response{text-decoration-color:var(--annotation-task)}.annotation-inspector{position:static;display:grid;gap:16px;align-self:start;padding:22px;border:1px solid var(--glass-border-2);border-radius:18px;background:var(--glass-level-2);box-shadow:var(--shadow-level-2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.annotation-inspector.is-empty{min-height:240px;align-content:center;justify-items:start}.annotation-empty-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:9999px;background:rgba(216,226,255,.52);color:var(--primary)}.annotation-action-grid,.annotation-inspector-top,.annotation-nav-row,.modified-essay-header{display:flex;align-items:center;gap:10px}.annotation-inspector-top{justify-content:space-between}.annotation-type-chip,.severity-chip{min-height:30px;display:inline-flex;align-items:center;gap:6px;border-radius:9999px;padding:6px 10px;font-size:12px;font-weight:800}.annotation-type-chip{background:rgba(216,226,255,.42);color:var(--primary)}.annotation-type-chip.annotation-grammar,.annotation-type-chip.annotation-punctuation,.annotation-type-chip.annotation-spelling{background:var(--annotation-soft-error);color:var(--error)}.annotation-type-chip.annotation-collocation,.annotation-type-chip.annotation-repetition,.annotation-type-chip.annotation-sentence-structure,.annotation-type-chip.annotation-style,.annotation-type-chip.annotation-vocabulary{background:var(--annotation-soft-warning);color:var(--tertiary)}.annotation-type-chip.annotation-coherence,.annotation-type-chip.annotation-cohesion,.annotation-type-chip.annotation-unclear-expression{background:var(--annotation-soft-logic);color:var(--primary)}.annotation-type-chip.annotation-task-response{background:var(--annotation-soft-task);color:var(--annotation-task)}.severity-chip{background:rgba(230,232,243,.72);color:var(--on-surface-variant)}.severity-chip.severity-high{background:var(--annotation-soft-error);color:var(--error)}.annotation-inspector-body{animation:content-rise var(--motion-medium) var(--ease-out) both}.annotation-counter{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;color:var(--on-surface-variant);font-size:12px;font-weight:800;text-transform:uppercase}.annotation-counter strong{color:var(--primary)}.annotation-overlap-note,.annotation-unresolved-note{margin:0 0 12px;border-radius:12px;padding:9px 10px;font-size:12px;line-height:1.45}.annotation-overlap-note{background:rgba(216,226,255,.36);color:var(--primary)}.annotation-unresolved-note{background:rgba(255,218,214,.36);color:var(--error)}.annotation-detail-list{display:grid;gap:12px;margin:0}.annotation-detail-list div{display:grid;gap:5px}.annotation-detail-list dt{color:var(--on-surface-variant);font-size:11px;font-weight:800;letter-spacing:0;text-transform:uppercase}.annotation-detail-list dd{margin:0;border-radius:14px;background:rgba(255,255,255,.46);color:var(--on-surface);padding:10px 12px;font-size:14px;line-height:1.5}.annotation-detail-list dd.original{background:rgba(255,218,214,.38);text-decoration:line-through;text-decoration-color:var(--error)}.annotation-detail-list dd.replacement{background:rgba(216,226,255,.42);color:var(--on-primary-fixed-variant);font-weight:700}.annotation-action-grid,.annotation-nav-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.annotation-action-grid .ui-primary-button,.annotation-action-grid .ui-secondary-button,.annotation-nav-row .ui-secondary-button{width:100%;min-width:0;white-space:nowrap}.annotation-accept-all{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px dashed rgba(0,88,188,.36);border-radius:9999px;background:rgba(216,226,255,.26);color:var(--primary);font-size:13px;font-weight:800;transition:background var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.annotation-accept-all:hover{background:rgba(216,226,255,.46)}.modified-essay-preview,.unresolved-annotations{border:1px solid rgba(193,198,215,.32);border-radius:18px;background:rgba(255,255,255,.44);padding:16px}.modified-essay-header{justify-content:space-between;margin-bottom:8px}.modified-essay-header span:last-child{color:var(--on-surface-variant);font-size:12px;font-weight:800}.modified-essay-preview p{margin:0;white-space:pre-wrap}.unresolved-annotations ul{display:grid;gap:10px;margin:12px 0 0;padding:0;list-style:none}.unresolved-annotations li{display:grid;gap:5px;border-radius:14px;background:rgba(230,232,243,.45);padding:12px}.unresolved-annotations span{color:var(--primary);font-size:11px;font-weight:800;text-transform:uppercase}.unresolved-annotations strong{font-size:14px}.unresolved-annotation-heading{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.unresolved-annotation-details{display:grid;gap:7px;margin:4px 0 0}.unresolved-annotation-details div{display:grid;grid-template-columns:68px minmax(0,1fr);gap:8px}.unresolved-annotation-details dt{color:var(--on-surface-variant);font-size:11px;font-weight:800}.unresolved-annotation-details dd{margin:0;color:var(--on-surface);font-size:13px;line-height:1.45}.unresolved-header{display:flex;flex-direction:column;gap:4px}.unresolved-header h3{display:flex;align-items:center;gap:8px;margin:0}.unresolved-hint{font-size:12px;color:var(--on-surface-variant)}.annotation-category-chip{display:inline-block;padding:2px 8px;border-radius:4px;background:rgba(0,88,188,.1);color:var(--primary);font-size:11px;font-weight:600}.original-essay-view{display:flex;flex-direction:column;gap:12px}.original-essay-hint{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;background:rgba(216,226,255,.4);color:var(--on-surface-variant);font-size:13px}.original-essay-text{margin:0;white-space:pre-wrap;font-family:inherit;font-size:inherit;line-height:inherit}.score-not-available{margin-top:4px;font-size:12px;color:var(--on-surface-variant);font-style:italic}.history-main{width:min(1440px,calc(100% - 80px));margin:0 auto;padding-top:120px;display:grid;grid-template-columns:3fr 9fr;gap:var(--gutter);align-items:start}.history-filters{position:sticky;top:100px;padding:24px;border-radius:32px;align-self:start}.filter-group{display:grid;gap:10px;margin-top:24px}.filter-option{display:flex;align-items:center;gap:12px;border:0;background:transparent;color:var(--on-surface);padding:0;text-align:left}.filter-box{width:20px;height:20px;display:grid;place-items:center;border:1px solid var(--outline-variant);border-radius:6px;background:rgba(255,255,255,.5)}.filter-option.is-active .filter-box{border-color:var(--primary);color:var(--primary)}.filter-select{width:100%;border:1px solid rgba(193,198,215,.5);border-radius:16px;background:rgba(255,255,255,.5);color:var(--on-surface);padding:10px 12px;outline:0}.history-card{width:100%;max-width:340px;height:100%;min-height:312px;display:flex;flex-direction:column;align-items:stretch;gap:18px;padding:16px 18px;border:1px solid rgba(255,255,255,.68);border-radius:26px;background:rgba(255,255,255,.82);box-shadow:var(--shadow-level-1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.history-buttons,.history-card-meta,.history-card-stats{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.history-card-main{min-width:0;display:grid;gap:8px}.history-card-main h2{min-height:48px;line-height:1.25}.history-card-main h2,.history-summary{margin:0;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.history-summary{min-height:40px;color:var(--on-surface-variant);font-size:13px;line-height:1.5}.history-card-stats span,.history-date{display:inline-flex;align-items:center;gap:6px}.task-badge{display:inline-flex;align-items:center;padding:4px 10px;border:1px solid rgba(166,102,0,.2);border-radius:9999px;background:rgba(166,102,0,.1);color:var(--tertiary-container);font-size:12px;font-weight:700}.history-score{display:grid;justify-items:stretch;gap:8px;margin-top:auto;text-align:left}.history-score p{margin:0}.history-score strong{color:var(--primary);font-size:32px;font-weight:700;line-height:1}.history-criteria{display:flex;justify-content:flex-start;gap:6px;flex-wrap:wrap}.history-criteria span{min-height:24px;display:inline-flex;align-items:center;border:1px solid rgba(193,198,215,.38);border-radius:999px;background:rgba(255,255,255,.56);color:var(--on-surface-variant);padding:3px 8px;font-size:11px;font-weight:800}.history-buttons .ui-primary-button{min-height:34px;padding:8px 14px;font-size:13px}.history-delete{width:34px;height:34px;justify-content:center;padding:0;border-radius:999px}.history-refresh-btn{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:8px 14px;font-size:13px;font-weight:600;white-space:nowrap}.history-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.history-refresh-btn .is-spinning{animation:subtle-spin .9s linear infinite}.analytics-main{width:min(1280px,calc(100% - 80px));margin:0 auto;padding-top:120px;display:flex;flex-direction:column;gap:var(--gutter)}.analytics-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gutter)}.analytics-card{min-height:150px;padding:var(--stack-md);border-radius:32px}.analytics-value{display:flex;align-items:baseline;gap:8px;margin-top:18px}.analytics-value strong{color:var(--primary);font-size:48px;font-weight:700;line-height:1.1}.charts-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--gutter)}.chart-card{padding:var(--stack-md);border-radius:48px}.line-chart{position:relative;width:100%;height:256px;margin-top:var(--stack-sm)}.line-chart svg{width:100%;height:100%}.chart-axis{position:absolute;top:8px;bottom:8px;left:0;display:flex;flex-direction:column;justify-content:space-between;color:var(--on-surface-variant);font-size:12px}.radar-wrap{width:192px;height:192px;margin:var(--stack-sm) auto 0}.radar-wrap svg{width:100%;height:100%}.error-bar,.error-bars{display:grid;gap:8px}.error-bar{grid-template-columns:112px 1fr 48px;align-items:center}.bar-track{height:16px;overflow:hidden;border-radius:9999px;background:var(--surface-container-high)}.bar-fill{height:100%;border-radius:inherit;background:var(--primary)}.bar-fill.lexical{background:var(--primary-container)}.bar-fill.cohesion{background:var(--tertiary-fixed-dim)}.plan-card{display:flex;align-items:flex-start;gap:var(--gutter);padding:var(--stack-lg);border:1px solid var(--primary-fixed);border-radius:48px}.plan-icon{width:48px;height:48px;flex:0 0 auto;display:grid;place-items:center;border-radius:9999px;background:var(--primary-container);color:#fff}.settings-page{min-height:100vh;padding-top:40px;padding-bottom:48px}.settings-main{width:min(760px,100%);margin:0;padding:0 var(--container-padding);gap:28px}.settings-account-card{padding:32px 36px;border-radius:28px;background:var(--glass-level-1);border:1px solid var(--glass-border-1);box-shadow:var(--shadow-level-1);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;flex-direction:column;gap:0}.settings-account-row{display:flex;align-items:center;gap:20px}.settings-avatar{width:64px;height:64px;flex:0 0 auto;display:grid;place-items:center;border-radius:16px;background:var(--surface-container-high);color:var(--primary);border:1px solid var(--outline-variant);font-size:22px;font-weight:650;letter-spacing:0}.settings-account-info{min-width:0;flex:1 1}.settings-display-name-row{display:flex;align-items:center;gap:12px}.settings-display-name{font-size:20px;font-weight:650;color:var(--on-surface);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.settings-edit-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;height:36px;padding:0 14px;border:1px solid var(--outline-variant);border-radius:10px;background:var(--surface-container-low);color:var(--on-surface-variant);font:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.settings-edit-btn:hover{background:var(--surface-container);border-color:var(--outline)}.settings-email{margin:6px 0 0;font-size:14px;color:var(--on-surface-variant);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4}.settings-divider{height:1px;background:var(--outline-variant);margin:28px 0 0;opacity:.6}.settings-logout-row{display:flex;justify-content:flex-start;padding-top:20px}.settings-nickname-edit{display:flex;flex-direction:column;gap:10px}.settings-nickname-input{width:100%;max-width:320px;height:40px;padding:0 14px;border-radius:10px;border:1px solid var(--outline-variant);background:var(--surface);font:inherit;font-size:16px;font-weight:500;color:var(--on-surface);outline:none;transition:border-color .15s,box-shadow .15s}.settings-nickname-input:focus{border-color:var(--primary);box-shadow:var(--focus-ring)}.settings-nickname-input[aria-invalid=true]{border-color:var(--error)}.settings-nickname-error{font-size:12px;color:var(--error);font-weight:500}.settings-nickname-actions{display:flex;gap:8px}.settings-nickname-btn{height:36px;padding:0 16px;border:none;border-radius:10px;font:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s,opacity .15s}.settings-nickname-cancel{background:var(--surface-container);color:var(--on-surface-variant)}.settings-nickname-cancel:hover{background:var(--surface-container-high)}.settings-nickname-save{background:var(--primary);color:var(--on-primary)}.settings-nickname-save:hover{opacity:.92}.settings-nickname-save:disabled{opacity:.5;cursor:not-allowed}.settings-footer{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--on-surface-variant)}.settings-footer a{color:inherit;text-decoration:underline;text-underline-offset:2px}.settings-footer a:hover{color:var(--on-surface)}.settings-footer-dot{opacity:.5}.settings-skeleton{min-height:200px;background:var(--surface-container-low);border-radius:28px}.settings-nickname-skeleton,.settings-skeleton{animation:skeleton-pulse 1.5s ease-in-out infinite}.settings-nickname-skeleton{width:140px;height:22px;border-radius:6px;background:var(--surface-container)}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.settings-logout-button,.settings-logout-confirm{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(186,26,26,.2);border-radius:14px;background:rgba(255,238,236,.72);color:#a51d24;padding:0 16px;font:inherit;font-size:13px;font-weight:800}.settings-logout-button:hover,.settings-logout-confirm:hover{border-color:rgba(186,26,26,.34);background:rgba(255,224,221,.88)}.settings-logout-button:disabled,.settings-logout-confirm:disabled{cursor:wait;opacity:.72}.logout-confirm-dialog{width:min(440px,calc(100vw - 28px))}.logout-confirm-copy{margin:0;color:var(--on-surface-variant);line-height:1.6}.settings-sections{display:grid;gap:var(--stack-md);margin-top:0}.settings-section{padding:32px;border-radius:48px}.settings-section-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid rgba(193,198,215,.2)}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gutter)}.settings-goal-card{position:relative;overflow:hidden;display:flex;align-items:center;gap:24px;padding:24px;border:1px solid rgba(255,255,255,.4);border-radius:32px;background:rgba(241,243,254,.5)}.account-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 8px;border-bottom:1px solid rgba(255,255,255,.3)}.account-row:last-child{border-bottom:0}.account-main{display:flex;align-items:center;gap:16px}.account-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:9999px;background:var(--surface-container);color:var(--on-surface-variant)}.danger-link{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:9999px;background:transparent;color:rgba(186,26,26,.8);padding:8px 16px;font-size:13px;font-weight:600}.danger-link:hover{color:var(--error);background:rgba(255,218,214,.3)}.settings-message{margin:12px 0 0;line-height:1.5}.notice,.settings-message{color:var(--on-surface-variant)}.notice{line-height:1.55}.admin-page-shell{min-height:100vh;padding:32px 40px 48px}.floating-nav{position:sticky;top:20px;z-index:20;width:min(960px,calc(100vw - 80px));margin:0 auto 42px;justify-content:space-between;gap:18px;padding:12px 14px 12px 20px;border:1px solid var(--glass-border-1);border-radius:9999px;background:rgba(255,255,255,.68);box-shadow:var(--shadow-level-1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand,.floating-nav{display:flex;align-items:center}.brand{gap:10px;min-width:0;font-weight:700}.brand-mark{width:34px;height:34px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--primary-container));color:white}.nav-links{display:flex;align-items:center;gap:6px}.nav-link{border:1px solid rgba(255,255,255,.52);border-radius:999px;background:rgba(255,255,255,.46);color:var(--on-surface-variant);padding:10px 14px}.admin-shell{width:min(1120px,100%);margin:0 auto}.admin-card,.settings-card{padding:22px;border-radius:24px}.admin-grid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:18px}.admin-grid.wide{grid-template-columns:360px minmax(0,1fr)}.admin-hero{margin-bottom:18px}.admin-tabs{display:flex;align-items:center;gap:8px;margin:0 0 18px}.admin-filter-grid{grid-template-columns:minmax(180px,1.3fr) repeat(5,minmax(120px,1fr));margin-bottom:12px}.admin-toolbar{gap:12px}.admin-license-table{min-width:1120px}.admin-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:190px}.admin-actions .glass-button{min-height:30px;padding:6px 8px;font-size:12px}.generated-panel{margin-top:16px;padding-top:16px;border-top:1px solid rgba(193,198,215,.34)}.admin-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.event-list,.generated-list{display:grid;gap:10px;margin:12px 0 0;padding:0;list-style:none}.event-list li,.generated-list li{display:grid;gap:5px;padding:10px;border:1px solid rgba(193,198,215,.34);border-radius:16px;background:rgba(255,255,255,.42)}.event-list li{grid-template-columns:auto minmax(160px,1fr) minmax(120px,1fr) auto auto auto;align-items:center}.copy-code{width:100%;border:0;background:transparent;color:var(--primary);font-family:var(--font-mono);font-weight:800;text-align:left}.device-list{display:grid;gap:8px;margin-top:10px}.device-row{display:grid;grid-template-columns:minmax(100px,1fr) minmax(150px,1fr) minmax(180px,1.2fr) auto auto;align-items:center;gap:8px;padding:8px;border-radius:12px;background:rgba(249,249,255,.76);color:var(--on-surface-variant);font-size:12px}.pagination-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.form-stack{display:grid;gap:12px}.field{display:grid;gap:6px}.field span{color:var(--on-surface-variant);font-size:13px;font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid rgba(255,255,255,.58);border-radius:16px;padding:11px 12px;background:rgba(255,255,255,.68);color:var(--on-surface);outline:0}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table td,.data-table th{text-align:left;padding:12px 10px;border-bottom:1px solid rgba(193,198,215,.6);vertical-align:top}.data-table th{color:var(--on-surface-variant);font-size:12px;letter-spacing:0;text-transform:uppercase}.status{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700;background:rgba(216,226,255,.72);color:var(--primary)}.status.bad{color:var(--on-error-container);background:var(--error-container)}.admin-login-page,.admin-workspace{min-height:100vh;color:var(--on-surface)}.admin-login-page{display:grid;place-items:center;padding:32px}.admin-login-card{width:min(440px,100%);display:grid;gap:18px;padding:28px;border:1px solid rgba(193,198,215,.72);border-radius:8px;background:rgba(255,255,255,.92);box-shadow:0 18px 56px rgba(24,28,35,.12)}.admin-login-card h1,.admin-page-header h1{margin:0;font-size:28px;line-height:1.2}.admin-login-icon,.admin-sidebar-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:8px;background:var(--primary);color:var(--on-primary)}.admin-workspace{display:grid;grid-template-columns:260px minmax(0,1fr);background:linear-gradient(180deg,#f8faff,#eef2f8)}.admin-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:24px;padding:18px 14px;border-right:1px solid rgba(193,198,215,.76);background:rgba(255,255,255,.94);box-shadow:8px 0 32px rgba(24,28,35,.04)}.admin-sidebar-brand{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:4px 4px 10px}.admin-sidebar-brand-link{min-width:0;display:grid;gap:4px;color:inherit}.admin-sidebar-brand-link .brand-logo{width:100%}.admin-sidebar-context,.admin-topbar strong{display:block;font-size:15px}.admin-sidebar-context,.admin-topbar span{color:var(--on-surface-variant);font-size:12px}.admin-sidebar-close{display:none}.admin-sidebar-nav{display:grid;gap:6px}.admin-sidebar-item{height:42px;display:flex;align-items:center;gap:10px;border:0;border-radius:8px;padding:0 12px;background:transparent;color:var(--on-surface-variant);font-weight:700;text-align:left}.admin-sidebar-item.is-active,.admin-sidebar-item:hover{background:var(--primary-fixed);color:var(--on-primary-fixed-variant)}.admin-sidebar-status{margin-top:auto;display:flex;align-items:center;gap:8px;padding:12px;border-radius:8px;background:var(--surface-container-low);color:var(--on-surface-variant);font-size:12px;line-height:1.45}.admin-sidebar-backdrop{display:none}.admin-main-panel{min-width:0}.admin-topbar{position:sticky;top:0;z-index:15;height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 32px;border-bottom:1px solid rgba(193,198,215,.72);background:rgba(248,250,255,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.admin-chip-row,.admin-page-actions,.admin-row-actions,.admin-toolbar,.admin-topbar-actions,.admin-topbar-left{display:flex;align-items:center;gap:10px}.admin-mobile-menu{display:none}.admin-main-content{width:min(1520px,100%);margin:0 auto;padding:28px 32px 48px}.admin-section{display:grid;gap:18px}.admin-page-header{min-height:86px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.admin-field small,.admin-help,.admin-page-header p,.admin-table small{margin:0;color:var(--on-surface-variant);font-size:12px;line-height:1.45}.admin-eyebrow{margin:0 0 6px;color:var(--primary);font-size:11px;font-weight:800;letter-spacing:0}.admin-drawer,.admin-modal,.admin-panel,.admin-stat-card{border:1px solid rgba(193,198,215,.74);border-radius:8px;background:rgba(255,255,255,.96);box-shadow:0 14px 42px rgba(24,28,35,.07)}.admin-panel{min-width:0;padding:18px}.admin-drawer h2,.admin-drawer h3,.admin-modal h2,.admin-modal h3,.admin-panel h2,.admin-panel h3{margin:0}.admin-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.admin-batch-bar button,.admin-chip,.admin-code-button,.admin-drawer-actions button,.admin-generated-list button,.admin-icon-button,.admin-mini-list button,.admin-primary-button,.admin-quick-actions button,.admin-secondary-button,.admin-table-actions button,.admin-text-button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:8px;font-weight:750;letter-spacing:0;white-space:nowrap}.admin-primary-button{border:1px solid var(--primary);padding:0 14px;background:var(--primary);color:var(--on-primary)}.admin-batch-bar button,.admin-drawer-actions button,.admin-generated-list button,.admin-mini-list button,.admin-secondary-button,.admin-table-actions button{border:1px solid rgba(113,119,134,.34);padding:0 12px;background:#fff;color:var(--on-surface)}.admin-code-button,.admin-text-button{border:0;padding:0;background:transparent;color:var(--primary)}.admin-icon-button{width:36px;height:36px;border:1px solid rgba(113,119,134,.28);background:#fff;color:var(--on-surface-variant)}.admin-batch-bar button:hover,.admin-drawer-actions button:hover,.admin-generated-list button:hover,.admin-icon-button:hover,.admin-mini-list button:hover,.admin-primary-button:hover,.admin-quick-actions button:hover,.admin-secondary-button:hover,.admin-table-actions button:hover{box-shadow:0 8px 18px rgba(24,28,35,.08)}.admin-batch-bar .danger,.admin-drawer-actions .danger,.admin-mini-list .danger,.admin-table-actions .danger{border-color:rgba(186,26,26,.32);color:var(--on-error-container);background:var(--error-container)}.admin-detail-stack,.admin-form,.admin-settings-grid{display:grid;gap:14px}.admin-field{display:grid;gap:6px}.admin-field span{color:var(--on-surface-variant);font-size:12px;font-weight:800}.admin-field input,.admin-field select,.admin-field textarea{width:100%;min-height:38px;border:1px solid rgba(113,119,134,.28);border-radius:8px;padding:8px 10px;background:#fff;color:var(--on-surface)}.admin-field textarea{resize:vertical}.admin-check-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;color:var(--on-surface);font-size:13px;font-weight:700}.admin-check-row small{grid-column:2;color:var(--on-surface-variant);font-weight:500}.admin-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-stat-card{position:relative;min-height:126px;display:grid;justify-items:start;gap:8px;padding:16px;text-align:left}.admin-stat-card small,.admin-stat-card span{color:var(--on-surface-variant)}.admin-stat-card strong{font-size:34px;line-height:1}.admin-stat-card svg:last-child{position:absolute;right:14px;top:14px;color:var(--primary)}.admin-overview-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:14px}.admin-split-metric{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-split-metric div{padding:14px;border-radius:8px;background:var(--surface-container-low)}.admin-split-metric span{display:block;color:var(--on-surface-variant);font-size:12px}.admin-split-metric strong{font-size:28px}.admin-definition-list{display:grid;gap:10px;margin:0}.admin-definition-list div{display:grid;grid-template-columns:minmax(110px,.45fr) minmax(0,1fr);gap:12px}.admin-definition-list dt{color:var(--on-surface-variant);font-size:12px;font-weight:800}.admin-definition-list dd{margin:0}.admin-quick-actions{display:flex;flex-wrap:wrap;gap:10px}.admin-quick-actions button{border:1px solid rgba(113,119,134,.28);padding:0 12px;background:#fff}.admin-filter-grid{display:grid;gap:10px;margin-bottom:14px}.admin-filter-grid.license{grid-template-columns:minmax(220px,1.35fr) repeat(4,minmax(130px,1fr))}.admin-filter-grid.devices,.admin-filter-grid.logs{grid-template-columns:repeat(3,minmax(160px,1fr))}.admin-filter-grid.feedback{grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(150px,.85fr))}.admin-toolbar{justify-content:space-between;flex-wrap:wrap;margin-bottom:12px}.admin-chip-row{flex-wrap:wrap}.admin-chip{padding:0 10px;background:var(--primary-fixed);color:var(--on-primary-fixed-variant);font-size:12px}.admin-batch-bar,.admin-chip{border:1px solid rgba(0,88,188,.24)}.admin-batch-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;padding:10px;border-radius:8px;background:rgba(216,226,255,.42)}.admin-batch-bar span,.admin-batch-bar strong{font-size:13px}.admin-table-wrap{max-width:100%;overflow:auto;border:1px solid rgba(193,198,215,.66);border-radius:8px}.admin-table{width:100%;min-width:1120px;border-collapse:collapse;background:#fff}.admin-table td,.admin-table th{padding:11px 10px;border-bottom:1px solid rgba(193,198,215,.58);text-align:left;vertical-align:top;font-size:13px}.admin-table th{position:sticky;top:0;z-index:1;background:#f6f8fc;color:var(--on-surface-variant);font-size:12px}.admin-table tr:hover td{background:#f8faff}.admin-table small{display:block;margin-top:4px}.admin-table-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:150px}.admin-table-actions button{min-height:28px;padding:0 8px;font-size:12px}.admin-feedback-list{display:grid;gap:12px}.admin-feedback-card{display:grid;gap:14px;border:1px solid rgba(193,198,215,.58);border-radius:16px;background:rgba(255,255,255,.74);box-shadow:0 10px 26px rgba(24,28,35,.05);padding:16px}.admin-feedback-actions,.admin-feedback-badges,.admin-feedback-card header{display:flex;gap:10px;flex-wrap:wrap}.admin-feedback-card header{align-items:flex-start;justify-content:space-between}.admin-feedback-card h2,.admin-feedback-card p{margin:0}.admin-feedback-card h2{margin-top:4px;color:var(--on-surface);font-size:18px}.admin-feedback-card p{max-width:860px;color:var(--on-surface-variant);font-size:13px;line-height:1.55}.admin-feedback-badges{align-items:center;justify-content:flex-end}.admin-feedback-meta{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0}.admin-feedback-meta div{min-width:0;border-radius:12px;background:var(--surface-container-low);padding:10px}.admin-feedback-meta dt{color:var(--on-surface-variant);font-size:11px;font-weight:800}.admin-feedback-meta dd{margin:4px 0 0;overflow-wrap:anywhere;font-size:13px}.admin-feedback-recommendations{display:grid;gap:8px;border:1px solid rgba(0,88,188,.14);border-radius:14px;background:rgba(216,226,255,.24);padding:12px}.admin-feedback-recommendations ul{display:grid;gap:4px;margin:0;padding-left:18px;color:var(--on-surface);font-size:13px;line-height:1.45}.admin-feedback-actions{align-items:center}.admin-feedback-actions select{min-height:34px;border:1px solid rgba(113,119,134,.34);border-radius:8px;background:#fff;color:var(--on-surface);padding:0 10px;font-weight:750}.admin-feedback-dialog{width:min(820px,calc(100vw - 32px))}.admin-feedback-dialog-body{display:grid;gap:16px}.admin-code-button{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:800}.admin-status{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.admin-status.good{background:#dff7e8;color:#0d6b35}.admin-status.warning{background:#fff1d3;color:#7a4a00}.admin-status.bad{background:var(--error-container);color:var(--on-error-container)}.admin-status.neutral{background:var(--surface-container-high);color:var(--on-surface-variant)}.admin-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.admin-pagination div{display:flex;gap:8px}.admin-drawer-layer,.admin-modal-layer{position:fixed;inset:0;z-index:80;display:grid;background:rgba(24,28,35,.38)}.admin-modal-layer{place-items:center;padding:24px}.admin-modal{width:min(720px,100%);max-height:min(88vh,860px);overflow:auto;padding:20px}.admin-modal.wide{width:min(980px,100%)}.admin-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.admin-modal-actions{display:flex;justify-content:flex-end;gap:10px}.admin-generate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-generate-grid .full{grid-column:1/-1}.admin-confirm-summary{display:grid;gap:5px;padding:12px;border-radius:8px;background:var(--surface-container-low)}.admin-generated-panel{margin-top:18px;padding-top:16px;border-top:1px solid rgba(193,198,215,.72)}.admin-generated-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.admin-generated-list li{display:grid;grid-template-columns:minmax(210px,1fr) minmax(180px,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid rgba(193,198,215,.64);border-radius:8px}.admin-generated-list code,.admin-json-preview{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.admin-drawer-layer{justify-items:end}.admin-drawer{width:min(620px,100%);height:100vh;overflow:auto;padding:20px;border-radius:8px 0 0 8px}.admin-detail-stack section{display:grid;gap:10px;padding-bottom:14px;border-bottom:1px solid rgba(193,198,215,.66)}.admin-mini-list{display:grid;gap:8px}.admin-mini-list>div{display:grid;grid-template-columns:minmax(140px,.8fr) minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid rgba(193,198,215,.6);border-radius:8px;background:#fff}.admin-mini-list span{color:var(--on-surface-variant);font-size:12px}.admin-drawer-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-json-preview{max-height:280px;overflow:auto;margin:12px 0 0;padding:12px;border-radius:8px;background:#111827;color:#e5e7eb;font-size:12px}.admin-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-save-bar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgba(193,198,215,.72);border-radius:8px;background:rgba(255,255,255,.92)}.admin-error-text{color:var(--on-error-container);font-weight:800}.admin-empty-state{min-height:170px;display:grid;place-items:center;align-content:center;gap:10px;color:var(--on-surface-variant)}.admin-spin{animation:spin .9s linear infinite}.auth-page{min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:max(20px,env(safe-area-inset-top)) 16px max(20px,env(safe-area-inset-bottom));background:linear-gradient(150deg,rgba(255,255,255,.94),rgba(239,247,255,.88) 48%,rgba(247,250,252,.96)),linear-gradient(180deg,#ffffff,#eef4f8)}.auth-page>.auth-panel{flex:0 0 auto;margin-block:auto}.auth-page-modern{position:relative;overflow-x:hidden}.auth-page-modern:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(15,23,42,.035) 1px,transparent 0),linear-gradient(90deg,rgba(15,23,42,.035) 1px,transparent 0);background-size:42px 42px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 82%);mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 82%)}.auth-panel{width:min(100%,430px);display:grid;gap:22px;padding:28px;border:1px solid rgba(80,96,116,.16);border-radius:8px;background:rgba(255,255,255,.88);box-shadow:0 20px 60px rgba(20,29,47,.12)}.auth-panel-modern{position:relative;z-index:1;width:min(100%,440px);gap:20px;padding:26px;border:1px solid rgba(255,255,255,.76);border-radius:22px;background:rgba(255,255,255,.72);box-shadow:0 28px 80px rgba(27,39,64,.14),inset 0 1px 0 rgba(255,255,255,.84);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.auth-register-panel{width:min(100%,460px);gap:18px;padding:24px 26px}.auth-recovery-panel{width:min(100%,470px)}.auth-stepper ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.auth-stepper li{min-width:0;display:flex;align-items:center;gap:6px;color:#7b8798;font-size:12px;font-weight:700;white-space:nowrap}.auth-stepper li>span{width:22px;height:22px;display:inline-grid;place-items:center;flex:0 0 auto;border:1px solid rgba(100,116,139,.22);border-radius:999px;background:rgba(255,255,255,.78);color:#64748b;font-size:11px}.auth-stepper li.is-current{color:#174ea6}.auth-stepper li.is-current>span{border-color:#315fce;background:#315fce;color:#ffffff}.auth-stepper li.is-complete{color:#166534}.auth-stepper li.is-complete>span{border-color:rgba(34,197,94,.24);background:rgba(34,197,94,.12);color:#166534}@media (max-height:900px){.auth-register-panel{gap:12px;padding-block:18px}.auth-register-panel .auth-brand-block,.auth-register-panel .brand-logo-stacked{gap:5px}.auth-register-panel .brand-logo-lg{--brand-logo-size:58px}.auth-register-panel .auth-brand-block p{font-size:13px;line-height:1.35}.auth-register-panel .auth-copy{gap:4px}.auth-register-panel .auth-copy h1{font-size:26px}.auth-register-panel .auth-copy p{font-size:14px;line-height:1.5}.auth-register-panel .auth-form-modern{gap:10px}.auth-register-panel .auth-form label{gap:6px}.auth-register-panel .auth-form input,.auth-register-panel .auth-input-shell{min-height:44px}.auth-register-panel .auth-input-shell input{min-height:42px}.auth-register-panel .password-strength{gap:6px;margin-top:-4px}.auth-register-panel .password-checks{gap:6px}.auth-register-panel .password-checks span{padding:3px 7px}.auth-register-panel .auth-form .agreement-consent{line-height:1.4}.auth-register-panel .auth-main-button{min-height:44px}}.auth-brand-block{display:grid;justify-items:center;gap:8px;text-align:center}.auth-brand-block .brand-logo{width:100%;justify-content:center}.auth-brand-block .brand-logo-name{max-width:min(330px,calc(100vw - 96px))}.auth-brand-block p{margin:0;color:#5f6b7a;font-size:14px;font-weight:700;line-height:1.45}.phone-input-row{min-width:0;display:grid;grid-template-columns:68px minmax(0,1fr);gap:8px}.phone-country-code{min-height:50px;display:grid;place-items:center;border:1px solid rgba(79,94,113,.18);border-radius:14px;background:rgba(255,255,255,.86);color:#334155;font-size:14px;font-weight:800}.phone-code-input{text-align:center;letter-spacing:.38em;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace!important;font-size:22px!important;font-weight:800!important}.phone-code-copy{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:12px;border-radius:15px;background:rgba(216,226,255,.46)}.phone-code-copy>span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;color:#0a66ff;background:rgba(255,255,255,.7)}.phone-code-copy div{display:grid;gap:3px}.phone-code-copy strong{color:#172033;font-size:13px}.phone-code-copy p{margin:0;color:#64748b;font-size:12px}.auth-brand-mark{width:54px;height:54px;display:grid;place-items:center;border:1px solid rgba(10,102,255,.16);border-radius:18px;background:linear-gradient(145deg,#ffffff,#edf6ff);box-shadow:0 14px 28px rgba(10,102,255,.12);color:#0a66ff;font-size:23px;font-weight:800}.auth-heading{display:flex;align-items:center;gap:14px}.auth-copy h1,.auth-heading h1,.auth-success-state h1{margin:2px 0 0;color:#111827;font-size:30px;line-height:1.12;letter-spacing:0}.auth-copy{display:grid;gap:6px}.auth-copy p,.auth-success-state p{margin:0;color:#5f6b7a;font-size:15px;line-height:1.65}.auth-copy strong{color:#172033}.auth-kicker{color:#0a66ff!important;font-size:13px!important;font-weight:800;letter-spacing:0}.auth-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:8px;color:#ffffff;background:#0058bc}.auth-form{display:grid;gap:16px}.auth-form-modern{gap:13px}.auth-form label,.dashboard-definition-list div{display:grid;gap:8px}.auth-form label span{font-size:13px;font-weight:800;color:#334155}.auth-form input{width:100%;min-height:48px;border:1px solid rgba(79,94,113,.18);border-radius:12px;padding:0 14px;font:inherit;color:#111827;background:rgba(255,255,255,.86);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.auth-form input:focus{outline:3px solid rgba(10,102,255,.16);border-color:rgba(10,102,255,.72)}.auth-form input:disabled{background:rgba(241,245,249,.8)}.auth-input-shell{display:flex;align-items:center;gap:10px;min-height:50px;border:1px solid rgba(79,94,113,.18);border-radius:14px;padding:0 12px;color:#64748b;background:rgba(255,255,255,.86);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.auth-input-shell:focus-within{outline:3px solid rgba(10,102,255,.16);border-color:rgba(10,102,255,.72)}.auth-input-shell input{min-height:48px;border:0;border-radius:0;padding:0;background:transparent;box-shadow:none;outline:none}.auth-input-shell input:focus{border-color:transparent;outline:none;box-shadow:none}.auth-input-shell .auth-otp-input{text-align:center;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:24px;font-weight:800;letter-spacing:.34em;text-indent:.34em}.auth-icon-button{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border:0;border-radius:10px;color:#475569;background:transparent}.auth-icon-button:hover{background:rgba(15,23,42,.06)}.auth-icon-button:disabled{cursor:not-allowed;opacity:.55}.auth-row{display:flex;justify-content:flex-end;margin-top:-4px}.auth-row a,.auth-secondary-actions button,.auth-switch a,.code-meta button{color:#0a66ff;font-weight:800}.auth-submit{width:100%;justify-content:center}.auth-main-button{min-height:48px;border-radius:14px}.auth-submit-button{position:relative}.auth-submit-content{min-width:max-content;display:inline-flex;align-items:center;justify-content:center;gap:8px}.auth-loading-spinner{flex:0 0 auto;animation:auth-spin .9s linear infinite}@keyframes auth-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.auth-loading-spinner{animation-duration:1.8s}}.auth-switch{margin:0;color:#5f6b7a;text-align:center}.auth-switch a{display:inline-flex;align-items:center;gap:6px}.auth-error,.auth-success{display:flex;align-items:flex-start;gap:8px;margin:0;padding:11px 13px;border-radius:12px;font-size:14px;line-height:1.5}.auth-field-hint{margin:-4px 0 0;color:#64748b;font-size:12px;line-height:1.55}.auth-error{color:#9f1239;background:rgba(244,63,94,.09);border:1px solid rgba(244,63,94,.16)}.auth-success{color:#166534;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.16)}.admin-auth-panel{width:min(100%,500px)}.admin-current-account{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:12px 14px;border:1px solid rgba(79,94,113,.14);border-radius:12px;background:rgba(248,250,252,.72);color:#64748b;font-size:13px}.admin-current-account strong{color:#1e293b}.admin-account-warning{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:16px;border:1px solid rgba(245,158,11,.22);border-radius:14px;background:rgba(255,251,235,.9);color:#92400e}.admin-account-warning strong{display:block;margin-bottom:6px}.admin-account-warning p{margin:3px 0 0;color:#78350f;font-size:14px;line-height:1.55;overflow-wrap:anywhere}.admin-login-actions{display:grid;gap:10px}.admin-login-actions>*{width:100%;min-height:46px;justify-content:center}.admin-logout-button{color:#9f1239;border-color:rgba(190,24,93,.2)}.password-strength{display:grid;gap:8px;margin-top:-6px}.password-bars{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.password-bars span{height:5px;border-radius:999px;background:rgba(100,116,139,.18)}.password-strength[data-score="1"] .password-bars span:first-child,.password-strength[data-score="2"] .password-bars span:nth-child(-n+2),.password-strength[data-score="3"] .password-bars span{background:#0a66ff}.password-checks{display:flex;flex-wrap:wrap;gap:8px}.password-checks span{padding:5px 8px;border-radius:999px;color:#64748b;background:rgba(100,116,139,.08);font-size:12px;font-weight:700}.password-checks span.is-ok{color:#166534;background:rgba(34,197,94,.12)}.code-input-grid{display:grid;grid-template-columns:repeat(var(--otp-length,6),minmax(0,1fr));gap:9px;width:100%;min-width:0}.code-input-grid input{min-width:0;height:58px;padding:0;text-align:center;font-size:26px;font-weight:800;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.code-input-grid.is-invalid input{border-color:rgba(220,38,38,.72);background:rgba(254,242,242,.86)}.code-input-grid.is-invalid input:focus{border-color:#dc2626;outline-color:rgba(220,38,38,.16)}.code-input-grid.is-disabled input{color:#64748b;background:rgba(241,245,249,.8)}.code-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#64748b;font-size:13px}.auth-secondary-actions button,.code-meta button,.code-meta span{display:inline-flex;align-items:center;gap:6px}.auth-secondary-actions button:disabled,.code-meta button:disabled{cursor:not-allowed;color:#94a3b8;opacity:.8}.auth-secondary-actions button,.code-meta button{border:0;padding:0;background:transparent;font-size:13px}.auth-secondary-actions{display:flex;align-items:center;justify-content:center;gap:18px}.auth-success-state{display:grid;justify-items:center;gap:14px;text-align:center;padding:8px 0}.auth-success-orb{width:68px;height:68px;display:grid;place-items:center;border-radius:22px;color:#0f8a4b;background:rgba(34,197,94,.12)}.email-preview-page{background:#f6f8fb}.email-preview-shell{width:min(1280px,calc(100% - 40px));margin:0 auto;padding:42px 0;display:grid;gap:22px}.email-preview-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.email-preview-header h1{margin:4px 0 0;font-size:34px}.email-preview-header span{color:#64748b;font-weight:700}.email-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.email-preview-grid article{display:grid;gap:12px}.email-preview-grid h2{margin:0;font-size:18px}.email-preview-grid iframe{width:100%;height:720px;border:1px solid rgba(100,116,139,.2);border-radius:8px;background:#ffffff}.dashboard-main{width:min(var(--content-max),100%);margin:0 auto;display:grid;gap:var(--stack-md)}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gutter)}.dashboard-card,.dashboard-panel{border:1px solid var(--glass-border-2);border-radius:32px;background:var(--glass-level-1);box-shadow:var(--shadow-level-1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.dashboard-card{display:grid;gap:9px;min-height:156px;align-content:start;padding:22px}.dashboard-card svg{color:#0058bc}.dashboard-card span,.dashboard-definition-list dt,.dashboard-empty{color:var(--text-secondary)}.dashboard-card strong{font-size:28px}.dashboard-panel{padding:26px 28px}.dashboard-panel h2{margin:0 0 16px;font-size:20px}.dashboard-definition-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0}.dashboard-definition-list dd{margin:0;font-weight:800}.activity-panel{min-width:0}.activity-legend,.activity-panel-header{display:flex;align-items:center}.activity-panel-header{justify-content:space-between;gap:18px;margin-bottom:20px}.activity-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px}.activity-range-control{display:inline-flex;gap:3px;border:1px solid rgba(0,88,188,.12);border-radius:999px;background:rgba(255,255,255,.48);padding:3px}.activity-range-control button{min-height:30px;border:0;border-radius:999px;background:transparent;color:var(--on-surface-variant);padding:6px 11px;font-size:12px;font-weight:800;transition:color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard)}.activity-range-control button.is-active{background:rgba(216,226,255,.9);color:var(--primary)}.activity-panel-header h2,.activity-panel-header p{margin:0}.activity-panel-header p{margin-bottom:5px;color:var(--primary)}.activity-panel-header strong{color:var(--primary);font-size:22px}.activity-scroll{max-width:100%;overflow-x:auto;padding:4px 20px 10px 2px;scrollbar-width:none;overscroll-behavior-inline:contain}.activity-scroll::-webkit-scrollbar{display:none}.activity-chart{--activity-week-count:53;width:max-content;min-width:min(100%,calc(32px + (var(--activity-week-count) * 18px)));margin:0 0 0 auto;padding-right:8px}.activity-months{height:22px;display:grid;grid-template-columns:repeat(var(--activity-week-count),14px);gap:4px;margin-left:32px;color:var(--on-surface-variant);font-size:11px;font-weight:700}.dashboard-skeleton-title{width:min(280px,70%);height:24px}.dashboard-skeleton .skeleton-block{height:160px;margin:0}.account-average-setting{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.account-average-copy{min-width:0;display:flex;align-items:center;gap:12px}.account-setting-icon{width:40px;height:40px;flex:0 0 auto;display:grid;place-items:center;border-radius:13px;background:rgba(216,226,255,.66);color:var(--primary)}.account-average-copy strong{font-size:14px}.account-average-copy p,.account-average-note{margin:4px 0 0;color:var(--on-surface-variant);font-size:12px;line-height:1.5}.account-average-note{margin-top:10px}.account-average-editor{width:min(300px,100%);display:grid;gap:8px}.account-average-editor label{color:var(--on-surface-variant);font-size:12px;font-weight:700}.account-average-editor select{min-height:40px;border:1px solid var(--glass-border-1);border-radius:10px;background:var(--surface);color:var(--on-surface);padding:7px 10px;font:inherit}.account-average-actions{display:flex;justify-content:flex-end;gap:8px}.account-setting-error{color:var(--error);font-size:12px}@media (max-width:720px){.account-average-setting{flex-direction:column}.account-average-editor{width:100%}}.activity-skeleton{overflow:hidden;min-height:158px}.activity-skeleton-grid{width:min(100%,960px);display:grid;grid-template-columns:repeat(14,14px);grid-template-rows:repeat(7,14px);grid-auto-flow:column;gap:4px;margin-top:24px;margin-inline:auto}.activity-skeleton-grid span{border-radius:4px;background:rgba(0,88,188,.08);animation:skeleton-shimmer 1.4s ease-in-out infinite alternate}.activity-months span{white-space:nowrap}.activity-body{display:flex;align-items:flex-start;gap:8px}.activity-week,.activity-weekdays{display:grid;grid-template-rows:repeat(7,14px);gap:4px}.activity-weekdays{width:24px;color:var(--on-surface-variant);font-size:10px;font-weight:700;line-height:14px;text-align:right}.activity-weeks{display:flex;gap:4px;padding-right:8px}.activity-cell{width:14px;height:14px;display:block;flex:0 0 auto;border:1px solid rgba(0,88,188,.08);border-radius:4px;background:rgba(0,88,188,.04)}.activity-cell.level-1{background:rgba(0,112,235,.18)}.activity-cell.level-2{background:rgba(0,112,235,.38)}.activity-cell.level-3{background:rgba(0,88,188,.66)}.activity-cell.level-4{background:#0058bc}.activity-cell.is-placeholder{border-color:transparent;background:transparent}.activity-legend{justify-content:flex-end;gap:5px;margin-top:10px;color:var(--on-surface-variant);font-size:11px;font-weight:700}.web-admin-workspace .admin-main-panel{width:100%}.web-admin-workspace .admin-topbar{position:sticky;top:0;z-index:10}.web-admin-workspace .admin-generated-list code,.web-admin-workspace .admin-table code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}.brand-logo{--brand-logo-size:40px;min-width:0;display:inline-flex;align-items:center;gap:10px;color:inherit;line-height:1}.brand-logo-sm{--brand-logo-size:32px}.brand-logo-md{--brand-logo-size:40px}.brand-logo-lg{--brand-logo-size:76px}.brand-logo-stacked{flex-direction:column;align-items:center;gap:9px;text-align:center}.brand-logo-image-shell{position:relative;width:var(--brand-logo-size);height:var(--brand-logo-size);flex:0 0 var(--brand-logo-size);display:grid;place-items:center;overflow:hidden;border:2px solid rgba(255,255,255,.9);border-radius:9999px;background:rgba(255,255,255,.72);box-shadow:0 8px 20px rgba(31,41,55,.1)}.brand-logo-image-shell img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}.brand-logo-fallback{width:100%;height:100%;display:grid;place-items:center;border-radius:inherit;background:linear-gradient(135deg,#f9d5e4,#dbeafe);color:var(--primary);font-size:calc(var(--brand-logo-size) * .44);font-weight:850}.brand-logo-text{min-width:0;display:block}.brand-logo-name{max-width:100%;display:block;overflow:hidden;color:currentColor;font-size:16px;font-weight:850;letter-spacing:0;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.brand-logo-sm .brand-logo-name{font-size:14px}.brand-logo-lg .brand-logo-name{font-size:17px}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr)}.app-route-root,.app-shell{height:100dvh;overflow:hidden}.app-route-root{background:radial-gradient(at 0 0,rgba(240,244,255,.92) 0,transparent 50%),radial-gradient(at 100% 0,rgba(249,240,255,.9) 0,transparent 50%),linear-gradient(135deg,#f0f4ff,#f9f0ff)}.app-route-root.is-full-screen{height:100dvh;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain}.sidebar{position:sticky;top:0;height:100dvh;min-height:0;display:flex;flex-direction:column;gap:18px;padding:22px 18px;border-right:1px solid rgba(255,255,255,.48);background:rgba(255,255,255,.58);box-shadow:inset -1px 0 0 rgba(255,255,255,.7),12px 0 32px rgba(0,0,0,.025);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.sidebar-logo{min-width:0;min-height:56px;display:flex;align-items:center;gap:12px;color:var(--on-surface)}.sidebar-logo .brand-logo{width:100%}.sidebar-logo .brand-logo-name{font-size:16px}.sidebar-mobile-backdrop,.sidebar-mobile-drawer,.sidebar-mobile-menu{display:none}.sidebar-logo-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--primary-container));color:#fff;font-size:20px;font-weight:800;box-shadow:0 10px 24px rgba(0,88,188,.2)}.sidebar-logo small,.sidebar-logo strong{display:block}.sidebar-logo strong{font-size:18px;line-height:1.25}.sidebar-logo small{color:var(--on-surface-variant);font-size:12px;font-weight:700}.sidebar-nav,.sidebar-support-nav{display:grid;gap:6px}.sidebar-nav{min-height:0;overflow-y:auto;padding:6px 2px 10px}.sidebar-link{min-height:44px;display:flex;align-items:center;gap:12px;border:1px solid transparent;border-radius:14px;color:var(--on-surface-variant);padding:0 12px;font-size:14px;font-weight:800;transition:background var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.sidebar-link:hover{color:var(--primary);background:rgba(255,255,255,.58)}.sidebar-link.is-active{color:var(--primary);border-color:rgba(0,88,188,.16);background:rgba(216,226,255,.52);box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}.sidebar-link-small{min-height:36px;font-size:12px}.sidebar-bottom{margin-top:auto;display:grid;gap:10px;padding-top:12px;border-top:1px solid rgba(193,198,215,.26)}.netwatch-status{display:flex;align-items:center;gap:10px;border:1px solid rgba(193,198,215,.34);border-radius:16px;background:rgba(255,255,255,.48);padding:10px 12px}.netwatch-status>span{width:10px;height:10px;border-radius:9999px;background:var(--primary);box-shadow:0 0 0 4px rgba(0,88,188,.1)}.netwatch-status.is-offline>span{background:var(--error);box-shadow:0 0 0 4px rgba(186,26,26,.12)}.netwatch-status small,.netwatch-status strong{display:block}.netwatch-status strong{font-size:12px;line-height:1.25}.netwatch-status small{font-weight:700}.netwatch-status small,.sidebar-copyright{color:var(--on-surface-variant);font-size:11px}.sidebar-copyright{margin:2px 0 0;line-height:1.45}.app-main{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.app-header{position:sticky;top:0;z-index:40;height:var(--app-header-height);flex:0 0 var(--app-header-height);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 var(--container-padding);background:rgba(244,246,255,.82);border-bottom:1px solid rgba(255,255,255,.5);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.app-header-leading{min-width:0;display:flex;align-items:center;gap:18px}.app-header-copy{min-width:0}.app-header-title{margin:2px 0 0;color:var(--primary);font-size:24px;font-weight:700;line-height:1.25}.app-header-actions{display:flex;align-items:center;gap:12px}.app-header-create{min-height:36px;display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(0,88,188,.16);border-radius:999px;background:rgba(216,226,255,.58);color:var(--primary);padding:8px 14px;font-size:13px;font-weight:800;white-space:nowrap}.profile-avatar{flex:0 0 auto;display:grid;place-items:center;overflow:hidden;border:2px solid rgba(255,255,255,.92);border-radius:9999px;background:var(--surface-container-low,#f0f1f5);color:var(--text-primary,#1d1d1f);box-shadow:0 2px 8px rgba(0,0,0,.06);font-weight:600}.profile-avatar-md{width:40px;height:40px;font-size:16px}.profile-avatar-lg{width:96px;height:96px;font-size:36px}.profile-avatar img{width:100%;height:100%;object-fit:cover}.app-content{min-width:0;min-height:0;flex:1 1;padding:8px var(--container-padding) 48px;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;background:transparent}.app-content .mode-page,.app-content .settings-page,.app-content .ui-page{min-height:auto;padding:0}.app-content .analytics-main,.app-content .history-main,.app-content .mode-main,.app-content .result-main,.app-content .ui-container{width:min(var(--content-max),100%);margin:0 auto;padding-top:0}.app-content .settings-main{width:min(760px,100%);margin:0;padding-top:0}.app-content .legal-main,.app-content .support-main{width:min(var(--content-max),100%);margin:0 auto;padding-top:0}.mode-main{align-items:stretch;padding-top:0}.mode-header{margin:0 auto var(--stack-lg);text-align:center}.page-section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--gutter);margin-bottom:var(--stack-md)}.settings-main{display:flex;flex-direction:column;gap:var(--stack-md)}.legal-main,.support-main{display:grid;gap:var(--stack-md)}.profile-form{display:grid;gap:22px}.profile-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:6px}.profile-field-wide{grid-column:1/-1}.field-error{color:var(--error);font-size:12px;font-style:normal;font-weight:700;line-height:1.35}.preference-field{min-width:0;border:0;margin:0;padding:0}.preference-field legend{margin-bottom:8px;color:var(--on-surface-variant);font-size:13px;font-weight:700}.preference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.preference-option{min-height:42px;display:flex;align-items:center;gap:10px;border:1px solid rgba(193,198,215,.38);border-radius:14px;background:rgba(255,255,255,.48);color:var(--on-surface);padding:9px 12px;font-size:13px;font-weight:700}.preference-option input{width:16px;height:16px;accent-color:var(--primary)}.profile-save-state{border-radius:999px;padding:6px 10px;background:rgba(230,232,243,.72);color:var(--on-surface-variant);font-size:12px;font-weight:800}.profile-save-state.is-dirty{color:var(--tertiary-container);background:rgba(255,221,187,.58)}.profile-save-state.is-saving{color:var(--primary);background:rgba(216,226,255,.62)}.profile-save-state.is-success{color:var(--primary);background:rgba(216,226,255,.72)}.profile-save-state.is-error{color:var(--error);background:rgba(255,218,214,.68)}.settings-save-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:4px}.goal-status-panel{display:grid;gap:16px}.target-score-card{padding:20px}.target-score-card .goal-status-panel{gap:12px}.goal-status-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.goal-progress-ring{width:56px;height:56px;flex:0 0 auto;display:grid;place-items:center;border-radius:9999px;background:conic-gradient(var(--primary) var(--goal-progress,0),rgba(193,198,215,.42) 0),rgba(255,255,255,.68);color:var(--primary)}.goal-progress-ring strong{width:42px;height:42px;display:grid;place-items:center;border-radius:9999px;background:rgba(255,255,255,.9);font-size:15px}.goal-progress-track{height:10px;overflow:hidden;border-radius:9999px;background:rgba(193,198,215,.36)}.goal-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--primary-container));transition:width var(--motion-medium) var(--ease-standard)}.goal-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}.target-score-card .goal-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.goal-status-grid div{display:grid;gap:4px;border-radius:16px;background:rgba(255,255,255,.44);padding:10px}.goal-status-grid dt{color:var(--on-surface-variant);font-size:11px;font-weight:800}.goal-status-grid dd{margin:0;color:var(--on-surface);font-size:18px;font-weight:800}.manual-score-mark{display:inline-flex;margin-left:6px;border-radius:999px;background:rgba(216,226,255,.72);color:var(--primary);padding:2px 6px;font-size:9px;font-weight:800;vertical-align:middle}.goal-empty-state,.goal-focus-box,.next-step-box,.practice-plan-empty,.radar-empty-state{display:flex;align-items:center;gap:10px;border-radius:16px;background:rgba(216,226,255,.34);color:var(--on-surface-variant);padding:12px;font-size:13px;font-weight:700;line-height:1.45}.target-analytics-card{padding:var(--stack-md);border-radius:32px}.analytics-value.is-text{flex-direction:column;align-items:flex-start}.analytics-value.is-text strong{font-size:32px}.analytics-intro{margin:0}.radar-card{min-height:376px;display:flex;flex-direction:column;overflow:visible}.radar-chart{position:relative;min-height:316px;display:grid;grid-template-rows:minmax(250px,1fr) auto;gap:8px;margin-top:10px;overflow:visible}.radar-chart svg{width:100%;height:100%;min-height:268px;overflow:visible}.radar-legend{display:flex;justify-content:center;gap:16px;color:var(--on-surface-variant);font-size:12px;font-weight:700}.radar-legend span{display:inline-flex;align-items:center;gap:6px}.radar-legend i{width:18px;height:3px;border-radius:999px}.legend-current{background:var(--primary)}.legend-target{background:repeating-linear-gradient(90deg,#6750a4 0 6px,transparent 6px 10px)}.radar-tooltip{position:absolute;right:8px;top:8px;display:grid;gap:3px;max-width:min(260px,calc(100% - 16px));border:1px solid rgba(255,255,255,.72);border-radius:14px;background:rgba(255,255,255,.78);padding:9px 11px;opacity:.72;pointer-events:none;transition:opacity var(--motion-fast) var(--ease-standard)}.radar-tooltip.is-visible{opacity:1}.radar-tooltip strong{font-size:12px}.radar-tooltip span{color:var(--on-surface-variant);font-size:11px;font-weight:700}.radar-empty-state{min-height:260px;justify-content:center;text-align:center}.error-bar-count{text-align:right;white-space:nowrap}.error-bar{grid-template-columns:96px minmax(0,1fr) 96px}.bar-fill{display:block;min-width:0;transition:width var(--motion-medium) var(--ease-standard)}.practice-plan{width:100%;display:grid;gap:18px}.plan-card{display:block}.practice-plan-header{display:flex;align-items:flex-start;gap:var(--gutter)}.practice-plan-summary{display:flex;flex-wrap:wrap;align-items:center;gap:10px;border-radius:16px;background:rgba(216,226,255,.32);padding:12px 14px}.practice-plan-summary span{color:var(--primary);font-size:12px;font-weight:800}.practice-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.practice-card{display:grid;gap:12px;border:1px solid rgba(193,198,215,.34);border-radius:22px;background:rgba(255,255,255,.44);padding:16px}.practice-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.practice-meta-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.practice-meta-list div{display:grid;gap:3px}.practice-meta-list dt{color:var(--on-surface-variant);font-size:11px;font-weight:800}.practice-meta-list dd{margin:0;font-size:13px;font-weight:800}.practice-focus-banner{width:min(760px,100%);display:flex;align-items:center;gap:14px;margin:0 auto var(--stack-md);padding:16px;border-radius:24px}.mode-card.is-recommended{border-color:rgba(0,88,188,.32);box-shadow:0 12px 32px rgba(0,88,188,.08),inset 0 0 0 1px rgba(0,88,188,.12)}.evaluation-layout{display:grid;gap:var(--gutter)}.evaluation-body-grid,.evaluation-essay-column,.evaluation-inspector-column,.evaluation-score-column{min-width:0}.evaluation-body-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,.95fr);align-items:start;gap:var(--gutter)}.score-summary-panel{display:grid;gap:18px;padding:22px;border-radius:24px}.evaluation-score-column .score-summary-panel{position:static;grid-template-columns:minmax(170px,.55fr) minmax(0,1.25fr) minmax(220px,.85fr);align-items:start}.score-summary-hero{display:grid;gap:6px;text-align:left}.score-summary-hero strong{color:var(--primary);font-size:54px;line-height:1}.score-summary-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.criterion-summary-item,.score-summary-mini-grid div{border-radius:16px;background:rgba(255,255,255,.46);padding:10px}.criterion-summary-item .ui-label,.score-summary-mini-grid span{color:var(--on-surface-variant);font-size:11px;font-weight:800}.score-summary-mini-grid strong{display:block;margin-top:4px;color:var(--primary);font-size:20px}.score-summary-section{display:grid;gap:12px;padding-top:16px;border-top:1px solid rgba(193,198,215,.24)}.evaluation-score-column .score-summary-section{padding-top:0;padding-left:16px;border-top:0;border-left:1px solid rgba(193,198,215,.24)}.score-summary-section .ui-title-md{display:inline-flex;align-items:center;gap:8px}.criterion-summary-list{display:grid;gap:10px}.criterion-summary-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}.criterion-summary-item strong{color:var(--primary);font-size:22px;line-height:1}.criterion-summary-item p{margin:4px 0 0;line-height:1.45}.criterion-evidence,.criterion-summary-item p{color:var(--on-surface-variant);font-size:12px}.criterion-evidence{margin-top:8px}.criterion-evidence summary{cursor:pointer;color:var(--primary);font-weight:700}.criterion-evidence ul{display:grid;gap:5px;margin:7px 0 0;padding-left:18px}.criterion-why-not-higher{border-left:2px solid rgba(0,88,188,.25);padding-left:8px}.evaluation-layout .result-canvas{width:100%;max-width:none;margin:0}.evaluation-inspector-column .annotation-inspector{top:18px}.support-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:var(--gutter)}.prompt-choice-panel{display:grid;gap:16px;width:100%;margin-top:var(--stack-md);padding:18px;border-radius:28px}.prompt-choice-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.prompt-choice-list{display:grid;overflow:hidden;border:1px solid rgba(193,198,215,.34);border-radius:22px;background:rgba(255,255,255,.34)}.practice-setting-row{min-width:0;display:grid;grid-template-columns:minmax(180px,.72fr) minmax(0,1.8fr);align-items:center;gap:24px;min-height:94px;padding:18px 20px;border-bottom:1px solid rgba(193,198,215,.28)}.practice-setting-row:last-child{border-bottom:0}.practice-setting-copy{min-width:0;display:grid;gap:5px}.practice-setting-copy h3,.practice-setting-copy p{margin:0;text-align:left}.practice-setting-copy h3{color:var(--on-surface);font-size:14px;font-weight:820;line-height:1.35}.practice-setting-copy p{color:var(--on-surface-variant);font-size:12px;line-height:1.55}.practice-setting-control,.practice-setting-control-stack{min-width:0;display:flex;align-items:center;justify-content:flex-end}.practice-setting-control-stack{flex-direction:column;align-items:flex-end;gap:8px}.practice-setting-control .choice-chip-row,.practice-setting-control-stack .choice-chip-row{justify-content:flex-end}.choice-chip-row{display:flex;flex-wrap:wrap;gap:8px}.choice-chip-row.is-subtype{padding-top:4px}.custom-task-panel{display:grid;gap:16px;margin-top:2px;padding:20px;border:1px solid rgba(0,88,188,.16);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.74),rgba(233,243,255,.58)),rgba(255,255,255,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.78)}.custom-task-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.custom-task-heading h3,.custom-task-heading p{margin:0}.custom-task-heading h3{margin-top:4px;color:var(--on-surface);font-size:19px}.custom-task-heading>div:first-child>p:last-child{max-width:660px;margin-top:6px;color:var(--on-surface-variant);font-size:13px;line-height:1.6}.custom-task-dropzone{width:100%;min-height:190px;display:grid;place-items:center;align-content:center;gap:10px;border:1.5px dashed rgba(0,88,188,.34);border-radius:20px;background:rgba(255,255,255,.42);color:var(--on-surface-variant);padding:24px;font:inherit;text-align:center;cursor:pointer;transition:border-color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.custom-task-dropzone.is-dragging,.custom-task-dropzone:focus-visible,.custom-task-dropzone:hover{border-color:var(--primary);background:rgba(216,226,255,.42);outline:none}.custom-task-dropzone strong{color:var(--on-surface);font-size:15px}.custom-task-dropzone>span:last-child{max-width:520px;font-size:12px;line-height:1.55}.custom-task-upload-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:18px;color:var(--primary);background:rgba(216,226,255,.86)}.custom-task-workspace{min-width:0;display:grid;grid-template-columns:minmax(240px,.88fr) minmax(0,1.12fr);gap:18px}.custom-task-preview{min-width:0;overflow:hidden;align-self:start;border:1px solid rgba(193,198,215,.42);border-radius:18px;background:rgba(255,255,255,.66)}.custom-task-preview img{display:block;max-height:520px;object-fit:contain}.custom-task-details,.custom-task-result{min-width:0;display:grid;align-content:start;gap:14px}.custom-task-file{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border:1px solid rgba(193,198,215,.34);border-radius:16px;background:rgba(255,255,255,.58)}.custom-task-file>span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;color:var(--primary);background:rgba(216,226,255,.72)}.custom-task-file div{min-width:0;display:grid;gap:3px}.custom-task-file strong{overflow:hidden;color:var(--on-surface);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.custom-task-file small{color:var(--on-surface-variant);font-size:11px}.custom-task-file button,.custom-task-result-heading button{border:0;background:transparent;color:var(--on-surface-variant);font-weight:800}.custom-task-primary{width:100%;justify-content:center}.custom-task-progress{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;min-height:84px;padding:14px;border-radius:16px;background:rgba(216,226,255,.42)}.custom-task-progress div{display:grid;gap:4px}.custom-task-progress strong{color:var(--on-surface);font-size:14px}.custom-task-progress span:last-child{color:var(--on-surface-variant);font-size:12px}.custom-task-spinner{width:28px;height:28px;border:3px solid rgba(0,88,188,.14);border-top:3px solid var(--primary);border-radius:50%;animation:admin-spin .8s linear infinite}.custom-task-result-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.custom-task-result-heading>span{display:inline-flex;align-items:center;gap:7px;color:#166534;font-size:13px;font-weight:850}.custom-task-result-heading button{color:var(--primary);font-size:12px}.custom-task-editor{display:grid;gap:7px}.custom-task-editor>span{color:var(--on-surface);font-size:12px;font-weight:800}.custom-task-editor select,.custom-task-editor textarea{width:100%;border:1px solid rgba(113,119,134,.28);border-radius:14px;background:rgba(255,255,255,.78);color:var(--on-surface);padding:11px 12px;font:inherit;line-height:1.55;resize:vertical}.custom-task-editor select{min-height:44px}.custom-task-structure{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.custom-task-structure div{display:grid;gap:3px;padding:10px;border-radius:13px;background:rgba(255,255,255,.54)}.custom-task-structure dt{color:var(--on-surface-variant);font-size:10px;font-weight:800}.custom-task-structure dd{min-width:0;overflow:hidden;margin:0;color:var(--on-surface);font-size:12px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.custom-task-error,.custom-task-warning{margin:0;border:1px solid rgba(166,102,0,.2);border-radius:14px;background:rgba(255,245,232,.84);color:#8a5100;padding:10px 12px;font-size:12px;line-height:1.55}.custom-task-error{border-color:rgba(186,26,26,.18);background:rgba(255,237,237,.78);color:var(--error)}.custom-task-uncertainties{display:grid;gap:7px;padding:11px 12px;border-radius:14px;background:rgba(255,245,232,.72)}.custom-task-uncertainties strong{color:#8a5100;font-size:12px}.custom-task-uncertainties ul{display:grid;gap:5px;padding-left:18px;line-height:1.45}.custom-task-security,.custom-task-uncertainties ul{margin:0;color:var(--on-surface-variant);font-size:11px}.custom-task-security{display:flex;align-items:flex-start;gap:6px;line-height:1.5}.choice-subtitle{margin-top:4px}.choice-chip{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid rgba(113,119,134,.28);border-radius:999px;background:rgba(255,255,255,.62);color:var(--on-surface);padding:0 11px;font-size:13px;font-weight:760;line-height:1;white-space:nowrap}.choice-link{text-decoration:none}.choice-chip:hover{border-color:rgba(0,88,188,.24);box-shadow:0 8px 18px rgba(0,88,188,.07)}.choice-chip.is-active{border-color:rgba(0,88,188,.34);background:rgba(216,226,255,.58);color:var(--on-primary-fixed-variant)}.diagnostic-list,.faq-list{display:grid;gap:12px;margin:18px 0 0;padding:0}.faq-list{list-style:none}.faq-list li{display:block}.faq-list button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(193,198,215,.24);border-radius:16px;background:rgba(255,255,255,.48);color:var(--on-surface-variant);padding:12px 14px;font-weight:700;text-align:left;transition:background var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard)}.faq-list button:hover{border-color:rgba(0,88,188,.18);background:rgba(255,255,255,.72);color:var(--primary)}.faq-list button span{flex:1 1;min-width:0}.diagnostic-list div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px}.diagnostic-list dt{color:var(--on-surface-variant);font-size:12px;font-weight:800}.diagnostic-list dd{margin:0;color:var(--on-surface);overflow-wrap:anywhere}.feedback-form{display:grid;gap:18px}.feedback-ticket{display:inline-flex;align-items:center;min-height:28px;border:1px solid rgba(0,88,188,.18);border-radius:999px;background:rgba(216,226,255,.48);color:var(--primary);padding:4px 10px;font-size:12px;font-weight:800}.settings-message.is-error{color:var(--error)}.settings-message.is-success{color:var(--primary)}.centered-dialog{width:min(560px,calc(100vw - 32px));max-height:min(680px,calc(100dvh - 32px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:16px;overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:24px;background:rgba(255,255,255,.92);box-shadow:0 24px 64px rgba(0,0,0,.13),inset 0 1px 0 rgba(255,255,255,.82);padding:22px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.centered-dialog-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}.centered-dialog-header h2,.centered-dialog-header p{margin:0}.centered-dialog-header{grid-template-columns:minmax(0,1fr) auto}.centered-dialog-body{min-height:0;overflow:auto}.centered-dialog-footer{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.legal-consent-dialog{width:min(720px,calc(100vw - 32px));max-height:min(760px,calc(100dvh - 32px))}.legal-consent-body{display:grid;gap:16px;padding-right:6px}.legal-consent-body .legal-section{padding-bottom:14px}.legal-consent-body .legal-section h2{font-size:15px}.legal-consent-body .legal-section p{font-size:13px}.legal-required-reading-body{overflow:hidden;padding-right:0}.legal-required-reader{height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:8px;scroll-behavior:smooth}.legal-required-reader:focus-visible{outline:3px solid rgba(10,102,255,.2);outline-offset:-3px;border-radius:12px}.legal-required-document-heading{display:grid;gap:4px;margin:4px 0 18px;padding:16px;border:1px solid rgba(0,88,188,.14);border-radius:16px;background:rgba(216,226,255,.34)}.legal-required-document-heading:not(:first-child){margin-top:24px}.legal-required-document-heading h3,.legal-required-document-heading p,.legal-required-document-heading span{margin:0}.legal-required-document-heading span{color:var(--primary);font-size:12px;font-weight:800}.legal-required-document-heading h3{color:var(--on-surface);font-size:17px;line-height:1.4}.legal-required-document-heading p{color:var(--on-surface-variant);font-size:12px}.legal-required-end{margin:18px 0 2px;padding:12px 14px;border-radius:12px;background:rgba(34,197,94,.1);color:#166534;font-size:13px;font-weight:700;text-align:center}.task-badge.is-custom{color:#0a66ff;background:rgba(216,226,255,.76)}.faq-dialog{width:min(560px,calc(100vw - 32px))}.faq-dialog-title-row{display:flex;align-items:center;gap:10px;margin-bottom:14px}.faq-dialog-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:16px;background:rgba(0,88,188,.1);color:var(--primary)}.faq-steps{display:grid;gap:10px;margin:0;padding-left:24px;color:var(--on-surface);font-size:14px;line-height:1.55}.faq-dialog-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.legal-card{display:grid;gap:18px;padding:32px;border-radius:32px}.legal-section{display:grid;gap:8px;padding-bottom:18px;border-bottom:1px solid rgba(193,198,215,.24)}.legal-section:last-child{padding-bottom:0;border-bottom:0}.legal-section h2{margin:0;color:var(--on-surface);font-size:18px;line-height:1.35}.legal-section p{margin:0;color:var(--on-surface-variant);line-height:1.7}.legal-section a{color:var(--primary);font-weight:800;text-decoration:underline;text-underline-offset:3px}.route-stage{min-height:100dvh}.danger-link,.exam-exit,.filter-option,.glass-button,.primary-button,.result-tab,.spell-toggle,.submit-essay-button,.ui-bottom-nav a,.ui-dark-button,.ui-icon-button,.ui-nav-link,.ui-primary-button,.ui-secondary-button{transition-duration:var(--motion-fast);transition-timing-function:var(--ease-standard)}.danger-action-button,.glass-button,.primary-button,.submit-essay-button,.ui-dark-button,.ui-primary-button,.ui-secondary-button{min-width:max-content;min-height:44px;-webkit-user-select:none;user-select:none}.submit-essay-button[aria-busy=true],.ui-primary-button[aria-busy=true],.ui-secondary-button[aria-busy=true]{pointer-events:none}.async-button{position:relative;overflow:hidden}.async-button-content{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:max-content}.async-button.is-loading .material-symbols-outlined,.submit-essay-button.is-loading .material-symbols-outlined,.toast-loading .toast-icon .material-symbols-outlined{animation:subtle-spin .9s linear infinite}@keyframes subtle-spin{to{transform:rotate(1turn)}}@keyframes analytics-loading-slide{0%{transform:translateX(-100%)}50%{transform:translateX(150%)}to{transform:translateX(-100%)}}.ui-nav-link{position:relative}.ui-nav-link:before{content:"";position:absolute;inset:4px 8px;z-index:-1;border-radius:9999px;background:rgba(255,255,255,0);box-shadow:0 0 0 rgba(0,88,188,0);transition:background var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard),opacity var(--motion-fast) var(--ease-standard)}.ui-nav-link.is-active:before,.ui-nav-link:hover:before{background:rgba(255,255,255,.44);box-shadow:0 8px 18px rgba(0,88,188,.08)}.ui-nav-link.is-active{transition:color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard)}.ui-hover-glow{will-change:transform;transition:box-shadow var(--motion-medium) var(--ease-standard),transform var(--motion-medium) var(--ease-standard),background var(--motion-medium) var(--ease-standard),border-color var(--motion-medium) var(--ease-standard)}.ui-clickable-card{cursor:pointer}.toast-viewport{position:fixed;right:20px;bottom:22px;z-index:120;display:grid;gap:10px;width:min(400px,calc(100vw - 32px));pointer-events:none}.toast{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:12px;border:1px solid rgba(255,255,255,.55);border-radius:18px;background:rgba(255,255,255,.84);box-shadow:0 16px 42px rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,.8);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:toast-enter var(--motion-medium) var(--ease-out) both;pointer-events:auto}.toast-icon{color:var(--primary)}.toast-error .toast-icon{color:var(--error)}.toast-warning .toast-icon{color:var(--tertiary-container)}.toast-copy{display:grid;gap:2px;min-width:0}.toast-copy strong{font-size:13px;line-height:1.2}.toast-copy span{color:var(--on-surface-variant);font-size:12px;line-height:1.35}.toast-action,.toast-close{min-height:32px;border:0;border-radius:9999px;background:rgba(216,226,255,.6);color:var(--primary);font-size:12px;font-weight:700;padding:6px 10px}.toast-close{width:32px;padding:0;display:grid;place-items:center;background:transparent;color:var(--on-surface-variant)}@keyframes toast-enter{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.network-banner{position:fixed;top:92px;left:50%;z-index:90;display:inline-flex;align-items:center;gap:8px;max-width:calc(100vw - 32px);transform:translateX(-50%);padding:8px 14px;border:1px solid rgba(166,102,0,.18);border-radius:9999px;background:rgba(255,245,232,.9);color:var(--tertiary-container);box-shadow:0 12px 28px rgba(0,0,0,.06);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:13px;font-weight:700}.command-layer{z-index:120}.command-layer,.dialog-layer{position:fixed;inset:0;display:grid;place-items:start center;padding:12vh 18px 18px;background:rgba(45,48,57,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:overlay-enter var(--motion-medium) var(--ease-out) both}.dialog-layer{z-index:115;place-items:center;padding:18px}@keyframes overlay-enter{0%{opacity:0}to{opacity:1}}.command-palette,.confirm-dialog,.error-boundary-panel{width:min(640px,100%);border:1px solid rgba(255,255,255,.5);border-radius:28px;background:rgba(255,255,255,.82);box-shadow:0 24px 64px rgba(0,0,0,.13),inset 0 1px 0 rgba(255,255,255,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:panel-enter var(--motion-panel) var(--ease-out) both}@keyframes panel-enter{0%{opacity:0;transform:translateY(12px) scale(.985);filter:blur(2px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.command-input-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid rgba(193,198,215,.28);color:var(--on-surface-variant)}.command-input-row input{width:100%;border:0;background:transparent;color:var(--on-surface);outline:0;font-size:16px}.command-kbd{min-width:36px;padding:5px 8px;border-radius:8px;background:rgba(230,232,243,.75);color:var(--on-surface-variant);font-size:12px;font-weight:700;text-align:center}.command-results{max-height:min(460px,62vh);overflow-y:auto;padding:10px}.command-item{width:100%;min-height:58px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;border:0;border-radius:18px;background:transparent;color:var(--on-surface);padding:10px 12px;text-align:left;transition:background var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.command-item.is-active,.command-item:hover{background:rgba(216,226,255,.45)}.command-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:9999px;background:rgba(255,255,255,.64);color:var(--primary)}.command-item small,.command-item strong{display:block}.command-item strong{font-size:14px;line-height:1.25}.command-item em,.command-item small{color:var(--on-surface-variant);font-size:12px;font-style:normal;line-height:1.35}.command-empty{display:flex;align-items:center;justify-content:center;gap:8px;padding:36px;color:var(--on-surface-variant)}.confirm-dialog{width:min(480px,100%);display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;padding:22px}.confirm-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:9999px;background:rgba(216,226,255,.6);color:var(--primary)}.confirm-icon.danger{background:rgba(255,218,214,.7);color:var(--error)}.confirm-dialog p{margin-top:8px}.confirm-verification{grid-column:1/-1;display:grid;gap:7px;color:var(--on-surface-variant);font-size:12px}.confirm-verification strong{color:var(--on-surface);font-size:13px;overflow-wrap:anywhere}.confirm-verification input{width:100%;min-height:42px;border:1px solid var(--outline);border-radius:10px;background:var(--surface);color:var(--on-surface);padding:9px 11px;font:inherit}.confirm-verification input:focus{border-color:var(--primary);outline:3px solid color-mix(in srgb,var(--primary) 18%,transparent)}.confirm-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.danger-action-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9999px;background:var(--error);color:#fff;padding:10px 18px;font-size:13px;font-weight:700}.error-boundary-panel{display:grid;gap:16px;justify-items:start;padding:32px;margin-top:140px}.error-boundary-panel>.material-symbols-outlined{color:var(--error)}.error-actions{display:flex;flex-wrap:wrap;gap:10px}.skeleton-page{min-height:min(680px,calc(100dvh - var(--app-header-height) - 56px));display:grid;align-content:start;gap:24px;padding-top:0}.skeleton-block,.skeleton-card,.skeleton-line{position:relative;overflow:hidden;border-radius:24px;background:rgba(255,255,255,.56);box-shadow:var(--shadow-level-1)}.skeleton-block:after,.skeleton-card:after,.skeleton-line:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.62),transparent);animation:skeleton-shimmer 1.4s var(--ease-standard) infinite}@keyframes skeleton-shimmer{to{transform:translateX(100%)}}.skeleton-line.title{width:min(360px,60vw);height:42px;margin-bottom:var(--stack-lg)}.question-skeleton{display:grid;gap:12px;padding:4px 0 8px}.question-skeleton .skeleton-line{height:18px;border-radius:9999px}.question-skeleton-kicker{width:112px}.question-skeleton-title{width:min(460px,72%);height:36px!important}.question-skeleton-copy{width:min(720px,92%)}.question-skeleton-copy.is-short{width:min(560px,68%)}.chart-skeleton{min-height:260px;display:grid;grid-template-rows:auto 1fr;gap:22px;padding:24px;border-radius:28px;background:rgba(255,255,255,.58);box-shadow:var(--shadow-level-1)}.chart-skeleton-title{width:38%;height:18px}.chart-skeleton-bars{min-height:180px;display:flex;align-items:end;gap:7%;padding:10px 5% 0;border-bottom:1px solid rgba(193,198,215,.5)}.chart-skeleton-bar{width:10%;min-height:36px;margin:0;border-radius:12px 12px 4px 4px}.writing-editor-skeleton{height:100%;display:grid;grid-template-rows:auto 1fr;gap:18px;padding:24px}.writing-editor-skeleton-toolbar{display:flex;justify-content:space-between;gap:20px}.writing-editor-skeleton-toolbar .skeleton-line{width:140px;height:36px}.writing-editor-skeleton-canvas{height:auto;min-height:480px;margin:0}.exam-topbar-skeleton{box-shadow:none}.exam-topbar-skeleton .skeleton-line{height:30px;border-radius:9999px}.exam-skeleton-brand{width:148px}.exam-skeleton-timer{width:220px}.exam-skeleton-actions{width:126px}.exam-page-skeleton{position:relative;background:radial-gradient(circle at 20% 12%,rgba(0,112,235,.12),transparent 34%),linear-gradient(180deg,#f7faff 0,var(--surface-bright) 100%)}.exam-page-skeleton:after{content:"";position:absolute;inset:64px 0 0;background:rgba(246,249,255,.54);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);pointer-events:none;z-index:18}.writing-route-loading-card{position:fixed;top:50%;left:50%;width:min(440px,calc(100vw - 32px));display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px 16px;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.86);border-radius:28px;background:rgba(255,255,255,.94);padding:24px;box-shadow:0 24px 80px rgba(24,44,78,.18);z-index:20}.writing-route-loading-spinner{width:34px;height:34px;border:3px solid rgba(0,88,188,.16);border-top:3px solid var(--primary);border-radius:50%;animation:practice-progress-spin .85s linear infinite}.writing-route-loading-card strong{display:block;color:var(--on-surface);font-size:17px}.writing-route-loading-card p{margin:4px 0 0;color:var(--on-surface-variant);font-size:13px;line-height:1.55}.writing-route-progress{grid-column:1/-1;height:8px;overflow:hidden;border-radius:999px;background:rgba(0,88,188,.11)}.writing-route-progress span{display:block;width:42%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#6aa8ff);animation:writing-route-progress 1.35s ease-in-out infinite}.writing-route-stages{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.writing-route-stages li{position:relative;color:var(--outline);font-size:11px;font-weight:700;text-align:center}.writing-route-stages li:before{content:"";width:7px;height:7px;display:block;margin:0 auto 6px;border-radius:50%;background:rgba(193,198,215,.7)}.writing-route-stages li.is-active,.writing-route-stages li.is-done{color:var(--primary)}.writing-route-stages li.is-done:before{background:var(--primary)}.writing-route-stages li.is-active:before{background:var(--primary);box-shadow:0 0 0 5px rgba(0,88,188,.12);animation:practice-progress-pulse 1.2s ease-in-out infinite}@keyframes writing-route-progress{0%{transform:translateX(-105%)}55%{transform:translateX(90%)}to{transform:translateX(245%)}}@keyframes practice-progress-spin{to{transform:rotate(1turn)}}@keyframes practice-progress-pulse{50%{box-shadow:0 0 0 8px rgba(0,88,188,.04)}}.route-content-skeleton{min-height:100%}.skeleton-topbar{height:64px;border-radius:0}.skeleton-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gutter)}.skeleton-grid.result{grid-template-columns:repeat(3,minmax(0,1fr))}.skeleton-card{min-height:172px}.skeleton-block{height:180px;margin:var(--stack-md)}.skeleton-block.editor,.skeleton-block.tall{height:520px}.skeleton-loading-hint{position:fixed;bottom:40px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:12px 24px;background:rgba(255,255,255,.95);border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.1);font-size:14px;color:var(--on-surface-variant,#414755);z-index:100}.skeleton-loading-spinner{width:20px;height:20px;border:2px solid var(--primary-container,#0070eb);border-top:2px solid transparent;border-radius:50%;animation:spin 1s linear infinite}.refined-empty{display:grid;justify-items:center;gap:10px}.refined-empty>.material-symbols-outlined{color:var(--primary)}.history-toolbar{grid-column:1/-1;display:grid;grid-template-columns:minmax(260px,1fr) auto auto auto;align-items:center;gap:12px}.history-search{min-height:44px;display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid rgba(255,255,255,.5);border-radius:9999px;background:rgba(255,255,255,.58);box-shadow:var(--shadow-level-1)}.history-search input{width:100%;border:0;background:transparent;color:var(--on-surface);outline:0}.feedback-table .feedback-message{max-width:360px;display:-webkit-box;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical;white-space:normal}.filter-chip-row,.score-range-row{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{min-height:34px;border:1px solid rgba(193,198,215,.4);border-radius:9999px;background:rgba(255,255,255,.46);color:var(--on-surface-variant);padding:6px 10px;font-size:12px;font-weight:700}.filter-chip.is-active{border-color:rgba(0,88,188,.2);background:rgba(216,226,255,.55);color:var(--primary)}.history-card.is-removing{overflow:hidden;transform:scale(.985);opacity:0;max-height:0;margin:0;padding-top:0;padding-bottom:0;transition:opacity var(--motion-medium) var(--ease-standard),transform var(--motion-medium) var(--ease-standard),max-height var(--motion-medium) var(--ease-standard),padding var(--motion-medium) var(--ease-standard)}.history-list .refined-empty{align-self:start;grid-column:1/-1;width:min(100%,720px)}.inline-status{min-height:24px;display:inline-flex;align-items:center;gap:6px;color:var(--on-surface-variant);font-size:13px;font-weight:700;transition:color var(--motion-fast) var(--ease-standard),opacity var(--motion-fast) var(--ease-standard)}.inline-status.success{color:var(--primary)}.inline-status.error,.timer-critical{color:var(--error)}.timer-warning{color:var(--tertiary-container)}.exam-status-bar{min-height:34px;display:flex;align-items:center;gap:14px;padding:7px 12px;border-bottom:1px solid rgba(193,198,215,.14);background:rgba(249,249,255,.86);color:var(--on-surface-variant);font-size:12px;font-weight:700}.exam-status-bar span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.exam-timer{min-width:62px;text-align:right}.editor-textarea{transition:box-shadow var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard)}.editor-textarea:focus{background:transparent;box-shadow:none}.editor-textarea:focus-visible{outline-color:rgba(0,88,188,.26);box-shadow:none}.editor-canvas:focus-within:after{content:"✎ 正在写作";position:absolute;top:18px;right:22px;z-index:4;pointer-events:none;border:1px solid rgba(0,88,188,.14);border-radius:999px;padding:6px 10px;background:rgba(255,255,255,.78);color:var(--primary);box-shadow:0 8px 18px rgba(0,88,188,.08);font-size:12px;font-weight:800;line-height:1;animation:writing-focus-breathe 1.8s var(--ease-standard) infinite}@keyframes writing-focus-breathe{0%,to{opacity:.72;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.editor-error.is-info{background:rgba(216,226,255,.42);color:var(--on-primary-fixed-variant)}.prompt-generation-notice{display:flex;align-items:flex-start;gap:12px;margin:0 0 16px;padding:16px;border-radius:16px;background:linear-gradient(135deg,rgba(216,226,255,.6),rgba(216,226,255,.4));border:1px solid rgba(0,88,188,.15);font-size:14px;line-height:1.45}.prompt-generation-notice .notice-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:rgba(0,88,188,.1);color:var(--primary)}.prompt-generation-notice .notice-content{flex:1 1;display:flex;flex-direction:column;gap:4px;color:var(--on-surface)}.prompt-generation-notice .notice-content strong{font-size:13px;font-weight:600;color:var(--primary)}.prompt-generation-notice .notice-dismiss{flex-shrink:0;padding:6px 12px;border-radius:8px;border:1px solid rgba(0,88,188,.2);background:rgba(255,255,255,.8);color:var(--primary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.prompt-generation-notice .notice-dismiss:hover{background:rgba(0,88,188,.1);border-color:rgba(0,88,188,.3)}.editor-progress-panel{position:absolute;right:24px;bottom:24px;z-index:20;width:min(360px,calc(100% - 48px));padding:18px;border:1px solid rgba(255,255,255,.58);border-radius:24px;background:rgba(255,255,255,.88);box-shadow:var(--shadow-level-2);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:panel-enter var(--motion-panel) var(--ease-out) both}.stage-list{display:grid;gap:8px;margin:14px 0 0;padding:0;list-style:none}.stage-list li{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;color:var(--on-surface-variant);font-size:13px;line-height:1.35}.stage-dot{width:9px;height:9px;border-radius:9999px;background:var(--surface-container-highest)}.stage-list li.is-active{color:var(--primary);font-weight:700}.stage-list li.is-active .stage-dot{background:var(--primary);box-shadow:0 0 0 4px rgba(0,88,188,.12)}.stage-list li.is-done .stage-dot{background:var(--primary-fixed-dim)}.progress-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.cancel-button{padding:6px 12px;border-radius:8px;border:1px solid rgba(186,26,26,.3);background:rgba(255,218,214,.5);color:var(--error);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.cancel-button:hover{background:rgba(186,26,26,.1);border-color:rgba(186,26,26,.5)}.progress-footer{margin-top:12px;padding-top:12px;border-top:1px solid rgba(0,0,0,.05)}.elapsed-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.editor-footer{display:flex;align-items:center;justify-content:flex-end;padding:8px 0;font-size:12px}.word-count-hint .hint-warning{color:var(--error)}.word-count-hint .hint-info{color:var(--on-surface-variant)}.word-count-hint .hint-success{color:var(--success,#2e7d32)}.resizer-handle{position:relative;width:10px;min-width:10px;cursor:col-resize;touch-action:none;background:transparent;transition:background var(--motion-fast) var(--ease-standard)}.resizer-handle:after{content:"";position:absolute;top:0;bottom:0;left:4px;width:2px;border-radius:999px;background:rgba(193,198,215,.62);transition:width var(--motion-fast) var(--ease-standard),left var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard)}.resizer-handle.is-active,.resizer-handle:focus-visible,.resizer-handle:hover{background:rgba(0,88,188,.06)}.resizer-handle.is-active:after,.resizer-handle:focus-visible:after,.resizer-handle:hover:after{left:3px;width:4px;background:rgba(0,88,188,.58)}body.is-resizing-editor,body.is-resizing-editor *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}@media (max-width:920px){.exam-page{min-height:100vh;height:auto;overflow:visible}.exam-layout{grid-template-columns:minmax(0,1fr)!important;overflow:visible}.exam-left-pane,.exam-right-pane{width:100%;height:auto;overflow:visible}.exam-left-pane{border-right:0;border-bottom:1px solid rgba(193,198,215,.3)}.resizer-handle{display:none}.exam-status-bar{max-width:100vw;overflow-x:auto;overscroll-behavior-inline:contain}.editor-canvas{min-height:560px}}.result-actions-row{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 22px;padding:0;min-height:0}.analytics-card,.chart-card,.criteria-grid .criterion-card{animation:content-rise var(--motion-page) var(--ease-out) both}.analytics-card:nth-child(2),.criteria-grid .criterion-card:nth-child(2){animation-delay:60ms}.analytics-card:nth-child(3),.criteria-grid .criterion-card:nth-child(3){animation-delay:.12s}.criteria-grid .criterion-card:nth-child(4){animation-delay:.18s}@keyframes content-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chart-point{cursor:pointer}.chart-point:focus-visible{outline:none;stroke-width:1.5}.settings-toggle-row,.shortcut-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 8px;border-bottom:1px solid rgba(255,255,255,.3)}.shortcut-row kbd{min-width:92px;padding:6px 9px;border-radius:10px;background:rgba(230,232,243,.72);color:var(--on-surface-variant);font-family:inherit;font-size:12px;font-weight:800;text-align:center}.switch-button{width:48px;height:28px;border:0;border-radius:9999px;background:var(--surface-container-highest);padding:3px;transition:background var(--motion-fast) var(--ease-standard)}.switch-button span{width:22px;height:22px;display:block;border-radius:9999px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.12);transition:transform var(--motion-fast) var(--ease-standard)}.switch-button.is-on{background:var(--primary)}.switch-button.is-on span{transform:translateX(20px)}.reduce-motion *,.reduce-motion :after,.reduce-motion :before{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}.reduce-motion .admin-spin,.reduce-motion .async-button.is-loading .material-symbols-outlined,.reduce-motion .auth-loading-spinner,.reduce-motion .history-refresh-btn .is-spinning,.reduce-motion .submit-essay-button.is-loading .material-symbols-outlined,.reduce-motion .toast-loading .toast-icon .material-symbols-outlined{animation-duration:1.5s!important;animation-iteration-count:infinite!important}.reduce-motion .editor-canvas:focus-within:after{animation:none}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}.admin-spin,.async-button.is-loading .material-symbols-outlined,.auth-loading-spinner,.history-refresh-btn .is-spinning,.submit-essay-button.is-loading .material-symbols-outlined,.toast-loading .toast-icon .material-symbols-outlined{animation-duration:1.5s!important;animation-iteration-count:infinite!important}.editor-canvas:focus-within:after{animation:none}}@media (max-width:1080px){.analytics-kpi-grid,.criteria-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid,.admin-grid.wide,.charts-grid,.history-main,.mode-grid{grid-template-columns:1fr}.annotation-inspector{position:static;width:100%;max-height:none;overflow:auto;border-radius:20px}.admin-workspace{grid-template-columns:1fr}.admin-sidebar{position:fixed;inset:0 auto 0 0;z-index:90;width:min(300px,86vw);transform:translateX(-105%);transition:transform var(--motion-fast) var(--ease-standard)}.admin-workspace.sidebar-open .admin-sidebar{transform:translateX(0)}.admin-mobile-menu,.admin-sidebar-close,.admin-workspace.sidebar-open .admin-sidebar-backdrop{display:grid}.admin-sidebar-backdrop{position:fixed;inset:0;z-index:85;background:rgba(24,28,35,.35)}.admin-main-content{padding:24px 18px 44px}.admin-overview-grid,.admin-settings-grid,.admin-stat-grid{grid-template-columns:1fr}.admin-filter-grid.devices,.admin-filter-grid.license,.admin-filter-grid.logs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:820px){:root{--container-padding:24px;--gutter:18px;--stack-lg:36px}.settings-page,.ui-page.with-nav{padding-top:96px;padding-bottom:96px}.analytics-main,.history-main,.mode-main,.result-main,.ui-container,.ui-footer{width:min(100% - 32px,720px)}.ui-top-nav{display:none}.ui-bottom-nav{display:flex}.ui-title-display{font-size:36px}.ui-title-headline{font-size:24px}.admin-filter-grid,.analytics-kpi-grid,.criteria-grid,.device-row,.evaluation-body-grid,.event-list li,.settings-grid{grid-template-columns:1fr}.admin-section-heading,.history-card,.pagination-row,.plan-card,.result-header{align-items:stretch;flex-direction:column}.history-card{display:flex;max-width:none}.admin-topbar{height:auto;min-height:72px;align-items:flex-start;padding:14px 16px;flex-direction:column}.admin-page-actions,.admin-page-header,.admin-pagination,.admin-panel-heading,.admin-save-bar,.admin-topbar-actions{align-items:stretch;flex-direction:column}.admin-definition-list div,.admin-feedback-meta,.admin-filter-grid.devices,.admin-filter-grid.feedback,.admin-filter-grid.license,.admin-filter-grid.logs,.admin-generate-grid,.admin-generated-list li,.admin-mini-list>div{grid-template-columns:1fr}.admin-modal-layer{padding:10px}.admin-drawer,.admin-modal{max-height:96vh;width:100%}.dashboard-definition-list,.dashboard-grid{grid-template-columns:1fr}.auth-panel{padding:22px}.history-buttons,.history-card-stats{justify-content:space-between}.result-header-copy{width:100%}.evaluation-score-column .score-summary-panel,.practice-setting-row{grid-template-columns:1fr}.practice-setting-row{gap:12px;min-height:0;padding:16px}.practice-setting-control,.practice-setting-control-stack{width:100%;align-items:flex-start}.practice-setting-control .choice-chip-row,.practice-setting-control-stack .choice-chip-row{width:100%;justify-content:flex-start}.custom-task-heading{align-items:stretch;flex-direction:column}.custom-task-structure,.custom-task-workspace{grid-template-columns:1fr}.evaluation-score-column .score-summary-section{padding-top:16px;padding-left:0;border-top:1px solid rgba(193,198,215,.24);border-left:0}.exam-page{min-height:100vh;height:auto;overflow:visible}.exam-topbar{height:auto;min-height:64px;flex-wrap:wrap;padding:12px 16px}.exam-layout{grid-template-columns:minmax(0,1fr)!important;overflow:visible}.exam-left-pane,.exam-right-pane{width:100%;height:auto;overflow:visible}.exam-left-pane{border-right:0;border-bottom:1px solid rgba(193,198,215,.3)}.resizer-handle{display:none}.exam-status-bar{max-width:100vw;overflow-x:auto;overscroll-behavior-inline:contain}.editor-canvas{min-height:560px}}@media (max-width:560px){:root{--container-padding:16px;--gutter:16px}.ui-title-display{font-size:30px}.chart-card,.history-card,.mode-card,.settings-account-card,.settings-profile-card,.settings-section{border-radius:32px}.ui-footer{align-items:flex-start;flex-direction:column}.exam-info-pill{order:3;width:100%;justify-content:space-between}.auth-copy h1,.auth-success-state h1{font-size:26px}.code-input-grid{gap:6px}.code-input-grid input{height:50px;font-size:22px;border-radius:10px}.email-preview-grid iframe{height:620px}}.app-header{padding-inline:var(--container-padding)}.app-header-inner{width:min(var(--content-max),100%);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.app-header-title{margin:0}.app-content{padding-inline:var(--container-padding)}.app-content .mode-main{align-items:stretch}.mode-card-trigger{width:100%;height:100%;min-width:0;appearance:none;display:flex;flex-direction:column;color:inherit;text-align:left;cursor:pointer}.mode-card-trigger:focus-visible{border-radius:48px;outline:3px solid rgba(0,88,188,.2);outline-offset:3px}.practice-start-confirm-dialog{width:min(460px,calc(100vw - 32px))}.practice-start-summary{display:grid;gap:10px}.practice-start-summary span{min-height:42px;display:flex;align-items:center;gap:10px;border-radius:14px;background:rgba(216,226,255,.38);color:var(--on-surface-variant);padding:10px 12px;font-size:13px;font-weight:700}.draft-entry-button{width:100%;min-height:76px;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;margin-top:var(--stack-md);border:1px solid rgba(255,255,255,.72);border-radius:24px;background:rgba(255,255,255,.58);color:var(--on-surface);padding:14px 18px;box-shadow:var(--shadow-level-1);text-align:left;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.draft-entry-button:hover{border-color:rgba(0,88,188,.18);background:rgba(255,255,255,.74)}.draft-entry-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:rgba(216,226,255,.72);color:var(--primary)}.draft-entry-button small,.draft-entry-button strong{display:block}.draft-entry-button strong{font-size:15px}.draft-entry-button small{margin-top:4px;color:var(--on-surface-variant);font-size:12px;line-height:1.45}.draft-entry-count{min-width:30px;height:30px;display:grid;place-items:center;border-radius:999px;background:rgba(216,226,255,.72);color:var(--primary);font-size:13px;font-weight:800}.draft-manager-dialog{width:min(820px,calc(100vw - 32px));max-height:min(780px,calc(100dvh - 32px))}.draft-manager-body{display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px;overflow:hidden}.draft-dialog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.draft-tabs{min-width:0;display:flex;flex-wrap:wrap;gap:8px}.draft-tabs button{min-height:36px;border:1px solid rgba(193,198,215,.42);border-radius:999px;background:rgba(255,255,255,.52);color:var(--on-surface-variant);padding:7px 12px;font-size:12px;font-weight:800}.draft-tabs button.is-active{border-color:rgba(0,88,188,.2);background:rgba(216,226,255,.7);color:var(--primary)}.draft-delete-quota{margin:0;color:var(--on-surface-variant);font-size:12px;font-weight:800;white-space:nowrap}.draft-list{min-height:0;display:grid;gap:12px;overflow-y:auto;padding-right:4px}.draft-card{display:grid;gap:13px;border:1px solid rgba(193,198,215,.34);border-radius:22px;background:rgba(255,255,255,.58);padding:16px}.draft-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.draft-card-heading h3{margin:8px 0 0;font-size:15px;line-height:1.4}.draft-card-meta,.draft-single-summary,.draft-updated{display:flex;align-items:center;gap:7px;color:var(--on-surface-variant);font-size:12px;font-weight:700}.draft-updated{white-space:nowrap}.draft-card-meta,.draft-single-summary{flex-wrap:wrap;gap:10px 18px}.draft-full-test-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.draft-full-test-summary div{min-width:0;display:grid;gap:5px;border-radius:14px;background:rgba(216,226,255,.28);padding:10px 12px}.draft-full-test-summary strong{overflow:hidden;font-size:12px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.draft-full-test-summary span{color:var(--on-surface-variant);font-size:12px;font-weight:700}.draft-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.draft-delete-button{min-height:38px;display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:8px 12px}.draft-delete-button:disabled{cursor:not-allowed;opacity:.45}.draft-dialog-state{min-height:210px;display:grid;place-items:center;align-content:center;gap:10px;color:var(--on-surface-variant);text-align:center}.draft-dialog-state p{margin:0}.draft-loading-spinner{animation:practice-progress-spin .85s linear infinite}.draft-dialog-state.is-error{color:var(--error)}.reduce-motion .draft-loading-spinner,.reduce-motion .writing-route-loading-spinner,.reduce-motion .writing-route-progress span,.reduce-motion .writing-route-stages li.is-active:before{animation:none}.draft-delete-dialog{width:min(480px,calc(100vw - 32px))}@media (max-width:720px){.app-header{padding:14px 16px}.app-header-inner{width:100%}.draft-manager-dialog{width:calc(100vw - 12px);height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);border-radius:24px;padding:18px}.draft-card-heading,.draft-dialog-toolbar{align-items:stretch;flex-direction:column}.draft-delete-quota{white-space:normal}.draft-full-test-summary{grid-template-columns:1fr}.draft-updated{white-space:normal}}@media (max-width:430px){.draft-entry-button{grid-template-columns:auto minmax(0,1fr) auto}.draft-entry-button>.material-symbols-outlined{display:none}.draft-card-actions>*{width:100%;justify-content:center}}@media (max-width:1180px){:root{--sidebar-width:232px}.email-preview-grid,.evaluation-body-grid,.support-grid{grid-template-columns:1fr}.evaluation-inspector-column .annotation-inspector,.score-summary-panel{position:static;max-height:none}.practice-card-grid{grid-template-columns:1fr}.goal-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){:root{--sidebar-width:82px;--container-padding:20px}.sidebar{padding:16px 10px}.sidebar-mobile-menu{width:42px;height:42px;display:grid;place-items:center;grid-column:3;border:1px solid rgba(0,88,188,.18);border-radius:14px;background:rgba(255,255,255,.78);color:var(--primary)}.sidebar-logo{justify-content:center}.netwatch-status div,.sidebar-copyright,.sidebar-link span,.sidebar-logo .brand-logo-text{display:none}.sidebar-link{justify-content:center;padding:0}.netwatch-status{justify-content:center;padding:10px}.app-header{padding:0 20px}}@media (max-width:720px){.app-shell{grid-template-columns:1fr}.sidebar{position:sticky;z-index:60;height:auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border-right:0;border-bottom:1px solid rgba(255,255,255,.48)}.sidebar-logo-mark{width:38px;height:38px}.sidebar-logo .brand-logo{width:auto}.sidebar-logo .brand-logo-image-shell{--brand-logo-size:38px}.sidebar>.sidebar-bottom,.sidebar>.sidebar-nav{display:none}.sidebar-mobile-backdrop{position:fixed;z-index:69;inset:0;display:block;border:0;background:rgba(22,28,40,.38);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar-mobile-drawer{position:fixed;z-index:70;inset:0 0 0 auto;width:min(86vw,340px);display:flex;flex-direction:column;gap:14px;padding:18px;overflow-y:auto;background:rgba(250,251,255,.98);box-shadow:-18px 0 54px rgba(18,35,64,.2)}.sidebar-mobile-drawer-heading{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 10px}.sidebar-mobile-drawer-heading strong{font-size:18px}.sidebar-mobile-drawer-heading button{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:12px;background:var(--surface-container-low);color:var(--on-surface)}.sidebar-mobile-drawer nav{display:grid;gap:6px}.sidebar-mobile-drawer .sidebar-link{min-height:48px;justify-content:flex-start;padding:0 14px}.sidebar-mobile-drawer .sidebar-link span{display:inline}.sidebar-mobile-support{margin-top:auto;padding-top:14px;border-top:1px solid rgba(193,198,215,.45)}.app-header{height:auto;min-height:var(--app-header-height);flex:0 0 auto;align-items:flex-start;padding:16px}.app-content{padding:0 16px 36px}.page-section-header,.practice-plan-header,.settings-save-bar{align-items:stretch;flex-direction:column}.settings-profile-card{grid-template-columns:1fr}.settings-account-card{padding:22px}.settings-account-row{gap:14px}.settings-avatar{width:54px;height:54px;font-size:20px}.settings-display-name{font-size:18px}.settings-nickname-input{max-width:100%}.settings-divider{margin-top:22px}.settings-logout-row{padding-top:16px}.settings-profile-actions{justify-items:stretch;padding-top:18px;border-top:1px solid rgba(193,198,215,.28)}.settings-profile-actions p{text-align:left}.settings-logout-button{width:100%}.history-toolbar{grid-template-columns:1fr auto;gap:8px}.history-toolbar .filter-select,.history-toolbar .ui-label{display:none}.history-refresh-btn{min-height:34px;padding:6px 10px;font-size:12px}.history-refresh-btn span{display:none}.history-card{align-items:stretch;grid-template-columns:1fr;flex-direction:column;height:auto;min-height:270px;max-width:none}.history-buttons .ui-primary-button{width:100%}.history-score{justify-items:stretch;text-align:left}.history-buttons,.history-criteria{justify-content:flex-start}.history-card-main h2{white-space:normal}.faq-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:24px;padding:18px}.goal-status-grid,.practice-meta-list,.preference-grid,.profile-form-grid,.target-score-card .goal-status-grid{grid-template-columns:1fr}.radar-tooltip{position:static;margin-top:8px}.legal-card{padding:22px}.auth-page{padding:max(16px,env(safe-area-inset-top)) 12px max(16px,env(safe-area-inset-bottom))}.auth-panel-modern{padding:22px;border-radius:20px}.auth-register-panel{padding:20px}.settings-profile-identity{align-items:flex-start}.settings-account-label{max-width:100%;white-space:normal;overflow-wrap:anywhere}.code-meta,.email-preview-header{align-items:flex-start;flex-direction:column}.auth-secondary-actions{flex-direction:column;gap:10px}.email-preview-shell{width:min(100% - 24px,760px);padding:24px 0}}.full-test-tabs{width:min(280px,100%);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0 0 8px}.full-test-tabs .result-tab{min-height:38px;display:grid;place-items:center;padding:6px 10px;border-radius:12px 12px 0 0;text-align:center}.full-test-tabs .result-tab.is-active:after{right:18%;bottom:-13px;left:18%;border-radius:999px}.exam-status-bar{flex-wrap:wrap;align-content:center;gap:7px 10px;padding:7px var(--gutter)}.exam-status-bar span{min-height:24px;border-radius:999px;background:rgba(255,255,255,.5);padding:3px 8px}@media (max-width:920px){.exam-status-bar{max-width:none;overflow-x:visible}}@media (max-width:720px){.exam-info-pill{overflow-x:auto;justify-content:flex-start;border-radius:18px}.exam-info-item{flex:0 0 auto}.exam-status-bar{align-items:stretch}.exam-status-bar span{max-width:100%;white-space:normal}.full-test-tabs{width:100%}}@keyframes question-bank-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.question-bank-skeleton{background:linear-gradient(90deg,rgba(207,218,234,.72) 20%,rgba(242,247,253,.98) 50%,rgba(207,218,234,.72) 80%);background-size:220% 100%;animation:question-bank-shimmer 1.25s linear infinite;border:1px solid rgba(121,154,198,.14)}.past-paper-skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.past-paper-skeleton-card{padding:20px;border-radius:20px;background:rgba(230,237,248,.85);box-shadow:0 2px 8px rgba(0,0,0,.06);display:grid;gap:12px;border:1px solid rgba(121,154,198,.18)}.past-paper-skeleton-header{display:flex;gap:6px;flex-wrap:wrap}.past-paper-skeleton-badge{width:64px;height:22px;border-radius:9999px;background:linear-gradient(90deg,rgba(207,218,234,.72) 20%,rgba(242,247,253,.98) 50%,rgba(207,218,234,.72) 80%);background-size:220% 100%;animation:question-bank-shimmer 1.25s linear infinite;border:1px solid rgba(121,154,198,.14)}.past-paper-skeleton-badge-secondary{width:52px}.past-paper-skeleton-meta{display:flex;gap:12px;flex-wrap:wrap}.past-paper-skeleton-meta-item{width:100px;height:14px;border-radius:9999px;background:linear-gradient(90deg,rgba(207,218,234,.72) 20%,rgba(242,247,253,.98) 50%,rgba(207,218,234,.72) 80%);background-size:220% 100%;animation:question-bank-shimmer 1.25s linear infinite;animation-delay:.1s;border:1px solid rgba(121,154,198,.14)}.past-paper-skeleton-meta-item-short{width:72px}.past-paper-skeleton-title{width:min(280px,80%);height:24px;border-radius:12px;animation:question-bank-shimmer 1.25s linear infinite;animation-delay:.2s;border:1px solid rgba(121,154,198,.14)}.past-paper-skeleton-text,.past-paper-skeleton-title{background:linear-gradient(90deg,rgba(207,218,234,.72) 20%,rgba(242,247,253,.98) 50%,rgba(207,218,234,.72) 80%);background-size:220% 100%}.past-paper-skeleton-text{width:100%;height:16px;border-radius:9999px;animation:question-bank-shimmer 1.25s linear infinite;animation-delay:.3s;border:1px solid rgba(121,154,198,.14)}.past-paper-skeleton-text-short{width:75%}.past-paper-skeleton-footer{display:flex;justify-content:space-between;align-items:center;margin-top:4px}.past-paper-skeleton-tags{display:flex;gap:6px}.past-paper-skeleton-tag{width:48px;height:20px;border-radius:9999px;background:linear-gradient(90deg,rgba(207,218,234,.72) 20%,rgba(242,247,253,.98) 50%,rgba(207,218,234,.72) 80%);background-size:220% 100%;animation:question-bank-shimmer 1.25s linear infinite;animation-delay:.4s;border:1px solid rgba(121,154,198,.14)}.past-paper-skeleton-tag-short{width:40px}.past-paper-skeleton-button{width:80px;height:32px;border-radius:8px;background:linear-gradient(90deg,rgba(207,218,234,.72) 20%,rgba(242,247,253,.98) 50%,rgba(207,218,234,.72) 80%);background-size:220% 100%;animation:question-bank-shimmer 1.25s linear infinite;animation-delay:.5s;border:1px solid rgba(121,154,198,.14)}.past-paper-filter-skeleton{padding:20px;display:grid;gap:16px}.past-paper-skeleton-sort-row{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.past-paper-skeleton-sort-label{width:36px;height:16px;border-radius:9999px;border:1px solid rgba(121,154,198,.14)}.past-paper-skeleton-sort-label,.past-paper-skeleton-sort-select{background:linear-gradient(90deg,rgba(207,218,234,.72) 20%,rgba(242,247,253,.98) 50%,rgba(207,218,234,.72) 80%);background-size:220% 100%;animation:question-bank-shimmer 1.25s linear infinite}.past-paper-skeleton-sort-select{width:100px;height:32px;border-radius:8px;animation-delay:.1s;border:1px solid rgba(121,154,198,.14)}.past-paper-skeleton-filter-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.past-paper-skeleton-filter-item{width:100px;height:52px;border-radius:8px;background:linear-gradient(90deg,rgba(207,218,234,.72) 20%,rgba(242,247,253,.98) 50%,rgba(207,218,234,.72) 80%);background-size:220% 100%;animation:question-bank-shimmer 1.25s linear infinite;animation-delay:.2s;border:1px solid rgba(121,154,198,.14)}.past-paper-skeleton-search-row{display:flex;gap:8px}.past-paper-skeleton-search-input{flex:1 1;animation:question-bank-shimmer 1.25s linear infinite;animation-delay:.3s}.past-paper-skeleton-search-button,.past-paper-skeleton-search-input{height:36px;border-radius:8px;background:linear-gradient(90deg,rgba(207,218,234,.72) 20%,rgba(242,247,253,.98) 50%,rgba(207,218,234,.72) 80%);background-size:220% 100%;border:1px solid rgba(121,154,198,.14)}.past-paper-skeleton-search-button{width:64px;animation:question-bank-shimmer 1.25s linear infinite;animation-delay:.4s}.past-paper-skeleton-panel{border-radius:20px;background:rgba(230,237,248,.85);box-shadow:0 2px 8px rgba(0,0,0,.06);border:1px solid rgba(121,154,198,.18)}.past-paper-skeleton-back-button{width:36px;height:36px;border-radius:8px;border:1px solid rgba(121,154,198,.14)}.past-paper-skeleton-back-button,.past-paper-skeleton-page-title{background:linear-gradient(90deg,rgba(207,218,234,.72) 20%,rgba(242,247,253,.98) 50%,rgba(207,218,234,.72) 80%);background-size:220% 100%;animation:question-bank-shimmer 1.25s linear infinite}.past-paper-skeleton-page-title{width:120px;height:32px;border-radius:12px;animation-delay:.1s;border:1px solid rgba(121,154,198,.14)}.question-bank-loading-status{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 16px;margin-bottom:16px;background:rgba(230,237,248,.6);border-radius:16px;border:1px solid rgba(121,154,198,.18)}.question-bank-loading-row{display:flex;align-items:center;gap:10px;color:#4a6fa5;font-size:14px;font-weight:500}.question-bank-spinner{width:18px;height:18px;border:2px solid rgba(121,154,198,.3);border-top-color:#4a6fa5;border-radius:50%;animation:spin .8s linear infinite}.question-bank-progress{width:min(360px,72vw);height:3px;border-radius:999px;overflow:hidden;background:rgba(121,154,198,.15)}.question-bank-progress-bar{width:40%;height:100%;background:linear-gradient(90deg,#4a6fa5,#7ba3d4);border-radius:999px;animation:progress-slide 1.5s ease-in-out infinite}@keyframes progress-slide{0%{transform:translateX(-100%)}50%{transform:translateX(150%)}to{transform:translateX(350%)}}.past-paper-skeleton-loading-hint{display:flex;align-items:center;justify-content:center;gap:10px;padding:20px 0;color:#4a6fa5;font-size:14px}.past-paper-skeleton-spinner{width:20px;height:20px;border:2px solid rgba(121,154,198,.3);border-top-color:#4a6fa5;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.past-paper-loading-hint{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;text-align:center}.past-paper-loading-hint p{margin:0;color:#4a6fa5;font-size:14px;font-weight:500}.past-paper-loading-hint .ui-secondary-button{margin-top:8px}@media (prefers-reduced-motion:reduce){.past-paper-skeleton-back-button,.past-paper-skeleton-badge,.past-paper-skeleton-button,.past-paper-skeleton-filter-item,.past-paper-skeleton-meta-item,.past-paper-skeleton-page-title,.past-paper-skeleton-search-button,.past-paper-skeleton-search-input,.past-paper-skeleton-sort-label,.past-paper-skeleton-sort-select,.past-paper-skeleton-tag,.past-paper-skeleton-text,.past-paper-skeleton-title,.question-bank-skeleton{animation:none;background:rgba(207,218,234,.72)}.past-paper-skeleton-spinner,.question-bank-spinner{animation:none;border-top-color:rgba(121,154,198,.3)}.question-bank-progress-bar{animation:none;transform:translateX(50%)}}@media (max-width:640px){.past-paper-skeleton-grid{grid-template-columns:1fr}.past-paper-skeleton-filter-row{flex-direction:column}.past-paper-skeleton-filter-item{width:100%}.question-bank-loading-status{padding:16px 12px}.question-bank-loading-row{font-size:13px}}.sidebar-link{cursor:pointer;-webkit-user-select:none;user-select:none}.sidebar-link.is-navigating,.sidebar-link:hover{background-color:var(--surface-variant)}[role=button],a,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:0s!important;transition-duration:0s!important}}