.notice-stack{top:calc(env(safe-area-inset-top,0px) + 20px);right:calc(env(safe-area-inset-right,0px) + 24px);z-index:60;pointer-events:none;flex-direction:column;gap:12px;width:min(360px,100vw - 48px);display:flex;position:fixed}.notice{border-radius:var(--r-in);background:var(--bg);color:var(--t2);box-shadow:var(--up-s);pointer-events:auto;animation:notice-in .18s var(--ease);grid-template-columns:22px minmax(0,1fr) auto;align-items:start;gap:10px;padding:14px 16px;display:grid}.notice-icon{width:22px;height:22px;color:var(--t2)}.notice-text{min-width:0}.notice-title{color:var(--t1);font-size:15px;font-weight:600;line-height:1.4;display:block}.notice-detail{color:var(--t2);overflow-wrap:anywhere;margin-top:2px;font-size:13px;line-height:1.5;display:block}.notice-error .notice-icon{color:var(--t1)}.notice-error .notice-title{font-weight:700}.notice-error .notice-detail{color:var(--t1);font-weight:500}.notice-close{align-self:center}@media (min-width:1101px){body:has(.desk-fold.mode-slide.open) .notice-stack{right:calc(env(safe-area-inset-right,0px) + min(440px, 92vw) + 24px)}}@keyframes notice-in{0%{opacity:0}}@media (max-width:767px){.notice-stack{top:calc(env(safe-area-inset-top,0px) + 64px);right:calc(env(safe-area-inset-right,0px) + 16px);left:calc(env(safe-area-inset-left,0px) + 16px);gap:10px;width:auto;max-width:420px;margin:0 auto}.notice{padding:12px 14px}}@media (prefers-reduced-motion:reduce){.notice{animation:none}}@media print{.notice-stack{display:none}}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:"Inter", "Noto Sans SC", "Source Han Sans SC", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-canvas:#ebebf5;--color-surface:#ebebf5;--color-primary:#3a3a40;--color-primary-soft:#ebebf5;--color-ink:#0c0c0e;--color-muted:#3e3c4c;--color-line:#dcdbea;--color-pending:#b86a00;--color-level-red:#e0302a;--color-level-orange:#b86a00;--color-level-green:#00a344}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sticky{position:sticky}.block{display:block}.hidden{display:none}.inline{display:inline}.table{display:table}.min-h-screen{min-height:100vh}.min-w-0{min-width:0}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.font-sans{font-family:var(--font-sans)}.italic{font-style:italic}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}@media (min-width:48rem){.md\:hidden{display:none}}}:root{--bg:#eceef4;--hi:#fff;--lo:#b8becc;--k:1;--l1:calc(6px * var(--k)) calc(6px * var(--k)) calc(14px * var(--k)) var(--lo), calc(-6px * var(--k)) calc(-6px * var(--k)) calc(14px * var(--k)) var(--hi);--l2:calc(8px * var(--k)) calc(8px * var(--k)) calc(20px * var(--k)) var(--lo), calc(-8px * var(--k)) calc(-8px * var(--k)) calc(20px * var(--k)) var(--hi);--l3:calc(10px * var(--k)) calc(10px * var(--k)) calc(24px * var(--k)) var(--lo), calc(-10px * var(--k)) calc(-10px * var(--k)) calc(24px * var(--k)) var(--hi);--in:inset calc(4px * var(--k)) calc(4px * var(--k)) calc(8px * var(--k)) var(--lo), inset calc(-4px * var(--k)) calc(-4px * var(--k)) calc(8px * var(--k)) var(--hi);--in-s:inset calc(2px * var(--k)) calc(2px * var(--k)) calc(4px * var(--k)) var(--lo), inset calc(-2px * var(--k)) calc(-2px * var(--k)) calc(4px * var(--k)) var(--hi);--r-card:18px;--r-big:20px;--r-base:24px;--r-btn:12px;--r-chip:8px;--r-nav:14px;--ease-out:cubic-bezier(.2, .8, .2, 1);--shadow-card:var(--l1)}@media (max-width:600px){:root{--k:.75}}html{background:#ebebf5;overflow-x:clip}body{min-height:100vh;color:var(--color-ink);font-family:var(--font-sans);background:0 0;font-size:15px;line-height:1.55;position:relative;overflow-x:clip}body:before{content:"";z-index:-2;pointer-events:none;background:var(--bg);position:fixed;inset:0}body:after{content:"";z-index:-1;pointer-events:none;opacity:0;background-image:none;position:fixed;inset:0}h1,h2,h3{letter-spacing:.01em;margin:0;font-weight:600}.page-header{margin-bottom:.85rem}.page-header h1{letter-spacing:.02em;font-size:1.6rem;font-weight:800;line-height:1.25}.lede,.muted,.empty{color:var(--color-muted)}.lede{max-width:42rem;margin-top:.35rem}.banner{border-radius:var(--r-card);background:var(--color-canvas);color:var(--color-ink);box-shadow:var(--l2);margin:0 0 1rem;padding:.7rem .9rem}.panel{border-radius:var(--r-card);background:var(--color-canvas);box-shadow:var(--l1);border:0;padding:1rem 1.1rem 1.15rem}.panel h2{margin-bottom:.8rem;font-size:1rem}.split{gap:1rem;display:grid}@media (min-width:960px){.split{grid-template-columns:minmax(0,1.4fr) minmax(18rem,.8fr)}}.stack{gap:1rem;display:grid}.stats{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.stat{border-radius:var(--r-card);background:var(--color-canvas);color:var(--color-muted);box-shadow:var(--l1);padding:.9rem 1rem .85rem;position:relative;overflow:hidden}.stat:before{content:"";background:0 0;height:3px;position:absolute;top:0;left:0;right:0}.stat-pending:before{background:linear-gradient(90deg, var(--color-pending), #9a670000)}.stat-pending b{color:var(--color-pending)}.stat b{color:var(--color-ink);font-size:1.6rem;line-height:1.2;display:block}.stat-note{margin-top:.25rem;font-size:.8rem;display:block}.pending-types{color:var(--color-muted);margin-top:.2rem;font-weight:400;display:block}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:15px}th,td{border-bottom:1px solid var(--color-line);text-align:left;vertical-align:top;padding:.55rem .4rem}th{color:var(--color-muted);font-weight:500}.field,.filters{gap:.35rem;margin-bottom:.75rem;display:grid}.filters{grid-template-columns:minmax(0,1fr) auto;align-items:end}.field small,.form-error{color:var(--color-muted)}.form-error{color:var(--color-level-red)}input,select,textarea{border-radius:var(--r-btn);background:var(--color-canvas);width:100%;box-shadow:var(--in);border:0;padding:.5rem .65rem}textarea{resize:vertical;min-height:4.5rem}.checks{flex-wrap:wrap;gap:.45rem .8rem;display:flex}.check{align-items:center;gap:.35rem;display:flex}.check input{width:auto}.btn{border-radius:var(--r-btn);cursor:pointer;background:var(--color-canvas);box-shadow:var(--l1);border:0;padding:.45rem .9rem;font-size:15px;transition:background-color .18s,transform .18s,box-shadow .18s;position:relative;overflow:hidden}.btn:active:not(:disabled){box-shadow:var(--in)}.btn .ripple{pointer-events:none;background:#0c0c0e1f;border-radius:50%;animation:.55s ease-out forwards ripple;position:absolute;transform:scale(0)}.btn.primary .ripple{background:#ffffff73}@keyframes ripple{to{opacity:0;transform:scale(3.2)}}.btn:hover:not(:disabled){transform:translateY(-1px)}a.btn{text-decoration:none;display:inline-block}.btn.primary{background:var(--color-primary);color:#fff;box-shadow:var(--l1)}.btn.danger{color:var(--color-level-red);box-shadow:var(--l1);background:#fbe4e1}.btn.ghost{background:var(--color-canvas);color:var(--color-ink);box-shadow:var(--l1)}.inline-form{align-items:center;gap:.4rem;display:flex}.inline-form input{min-width:7rem}.review-grid{gap:1rem;display:grid}@media (min-width:960px){.review-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}}.stem{white-space:pre-wrap;line-height:1.65}.figure-card{gap:.35rem;margin:.6rem 0;display:grid}.figure-card img{border:1px solid var(--color-line);border-radius:var(--r-chip);background:var(--color-canvas);max-width:min(100%,360px);height:auto}.compare{gap:1rem;display:grid}@media (min-width:720px){.compare{grid-template-columns:1fr 1fr}}.history{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.history li{color:var(--color-muted)}.json{white-space:pre-wrap;font-size:.78rem}.login-page{place-items:center;min-height:70vh;display:grid}.login-card{border-radius:var(--r-card);background:var(--color-canvas);width:min(100%,26rem);box-shadow:var(--l1);padding:1.4rem}.login-card h1{margin-top:1rem}.tabs{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.tabs a{border-radius:var(--r-btn);background:var(--color-canvas);color:var(--color-ink);box-shadow:var(--l1);padding:.4rem .8rem;text-decoration:none}.tabs a.on{background:var(--color-primary);color:#fff;box-shadow:var(--l1)}.filter-grid{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));align-items:end;gap:.75rem;margin-bottom:1rem;display:grid}.choice-row{align-items:end;gap:.75rem;margin-bottom:1rem;display:grid}@media (min-width:800px){.choice-row{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto}}.score-scroll{overflow-x:auto}.score-table{min-width:36rem}.score-table .sticky{z-index:1;background:var(--color-surface);min-width:6.5rem;position:sticky;left:0}.score-table th small,.score-table .sticky small{color:var(--color-muted);font-weight:400;display:block}.cell-stack{gap:.25rem;min-width:6.5rem;display:grid}.score-input{text-align:right;width:4.75rem;min-height:2.75rem;font-size:16px}.cell-stack select{min-height:2.25rem;font-size:16px}.score-actions,.tier-row{flex-wrap:wrap;gap:.45rem;display:flex}.tier{border-radius:var(--r-btn);background:var(--color-canvas);min-height:2.75rem;box-shadow:var(--l1);cursor:pointer;border:0;padding:.45rem .75rem;transition:box-shadow .18s}.tier:active{box-shadow:var(--in)}.tier.on{background:var(--color-primary);color:#fff;box-shadow:var(--l1);border-color:#0000}.mastery-row{border-top:1px solid var(--color-line);gap:.6rem;padding-top:.75rem;display:grid}.import-errors{color:var(--color-level-red);margin:.5rem 0 0;padding-left:1.1rem}.subnav{flex-wrap:wrap;gap:.75rem 1rem;margin:.4rem 0 1rem;display:flex}.prompt-list{margin:.3rem 0 0;padding-left:1.2rem}.prompt-list li+li{margin-top:.35rem}a.stat{color:inherit;text-decoration:none}.stat.on{outline:2px solid var(--color-primary)}.tilt-card{transform-style:preserve-3d;transition:transform .18s var(--ease-out), box-shadow .18s ease;position:relative}.tilt-card:after{content:"";border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(circle at var(--gx,50%) var(--gy,20%), #ffffffb3, transparent 55%);transition:opacity .3s;position:absolute;inset:0}.tilt-card[data-tilting="1"]{box-shadow:var(--l2);transition:transform 80ms linear,box-shadow .18s}.tilt-card[data-tilting="1"]:after{opacity:1}.calm .tilt-card,.calm .tilt-card[data-tilting="1"],.calm .tilt-card:after{opacity:1;animation:none;transform:none}.calm .tilt-card:after{display:none}.rhythm{flex-wrap:wrap;gap:.45rem;margin:.2rem 0 .8rem;display:flex}.rhythm span{border-radius:var(--r-btn);background:var(--color-canvas);color:var(--color-muted);box-shadow:var(--l1);padding:.35rem .75rem}.rhythm span.on{background:var(--color-canvas);color:var(--color-primary);box-shadow:var(--l1)}.node-grid,.store-grid{gap:.75rem;display:grid}@media (min-width:800px){.node-grid,.store-grid{grid-template-columns:1fr 1fr}}.node-card h3{font-size:1rem}.chip-row{flex-wrap:wrap;gap:.35rem .7rem;display:flex}.task-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.task-list li{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.65rem;display:grid}.task-pin{background:var(--color-line);border-radius:999px;width:.7rem;height:.7rem;margin-top:.45rem}.orbit{touch-action:none;cursor:grab;height:18rem;margin:.6rem 0 .4rem;position:relative}.orbit-ring{position:absolute;inset:12% 8%}.orbit-flat{flex-wrap:wrap;gap:.45rem;margin-top:.7rem;display:flex}.orbit-node{border-radius:var(--r-chip);background:var(--color-canvas);box-shadow:var(--l1);cursor:pointer;border:0;padding:.35rem .7rem}.orbit .orbit-node{white-space:nowrap;text-overflow:ellipsis;max-width:8.5rem;position:absolute;overflow:hidden}.orbit-node.on{background:var(--color-canvas);color:var(--color-primary);box-shadow:var(--l1);border-color:#0000}.orbit-node.band-weak{box-shadow:inset 0 0 0 1px #e11d4859}.orbit-node.band-medium{box-shadow:inset 0 0 0 1px #ea580c59}.orbit-node.band-strong{box-shadow:inset 0 0 0 1px #05966959}.orbit-detail{flex-wrap:wrap;align-items:baseline;gap:.35rem .7rem;display:flex}.cause-chain{gap:.55rem;margin:0;padding-left:1.1rem;display:grid}.spark-row{flex-wrap:wrap;gap:.6rem;margin-bottom:.8rem;display:flex}.spark{align-items:end;gap:.45rem;min-width:8rem;display:flex}.spark small{color:var(--color-muted);display:block}.trend-strip{align-items:end;gap:3px;height:2.2rem;display:flex}.trend-strip i{background:var(--color-primary);border-radius:999px 999px 0 0;width:.35rem;display:block}.rise{animation:.32s both rise}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.tilt-card,.tilt-card:hover,.tilt-card[data-tilting="1"],.btn:hover:not(:disabled),.btn:active:not(:disabled){transition:none!important;transform:none!important}.rise,.stat,.panel,.node-card,.meter i,.radar-poly,.stat-pending,.badge.warn,.prompt-list li{animation:none!important}.btn .ripple{display:none}}.detail-fold{margin-top:.35rem}.detail-fold summary{cursor:pointer;color:var(--t3);font-size:.85rem}.detail-body{margin-top:.35rem}.guide-phone{max-width:100%;padding-bottom:6.5rem;font-size:15px;line-height:1.5;display:block;overflow-x:clip}.guide-wide{display:none}.guide-sr{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.guide-top{flex-wrap:wrap;align-items:stretch;gap:.4rem;margin-bottom:.75rem;display:flex}.guide-chip{border-radius:var(--r-chip);background:var(--color-canvas);max-width:100%;min-height:44px;box-shadow:var(--l1);align-items:center;padding:.35rem .7rem;font-size:15px;line-height:1.3;display:inline-flex}.guide-chip.band.weak{color:var(--color-level-red);background:#fff1f2}.guide-chip.band.medium{color:var(--color-level-orange);background:#fff7ed}.guide-chip.band.strong{color:var(--color-level-green);background:#ecfdf5}.guide-why{flex:8rem;min-width:0}.guide-fold{border-radius:var(--r-card);background:var(--color-canvas);box-shadow:var(--l1);border:0;margin:.55rem 0}.guide-fold summary{cursor:pointer;align-items:center;min-height:44px;padding:.45rem .8rem;font-size:15px;display:flex}.guide-fold p{margin:0;padding:0 .8rem .8rem;font-size:15px}.guide-generic,.guide-own{border-radius:var(--r-card);gap:.2rem;margin:0 0 .75rem;padding:.7rem .85rem;font-size:16px;display:grid}.guide-generic{border:2px solid var(--color-level-orange);background:#fff7ed}.guide-own{background:var(--color-primary-soft)}.guide-generic strong,.guide-own strong{font-size:18px}.guide-question,.guide-ask{margin-bottom:.75rem}.guide-stem-preview,.guide-ask-text{overflow-wrap:anywhere;margin:.35rem 0;font-size:17px;line-height:1.5}.guide-stem-preview{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.guide-ask{border-radius:var(--r-card);background:var(--color-canvas);box-shadow:var(--l1);border:0;padding:.85rem}.guide-ask-count{color:var(--color-muted);margin:0;font-size:15px}.guide-figures{gap:.6rem;padding:0 .8rem .8rem;display:grid}.guide-zoom-open{text-align:left;width:100%;min-height:44px;color:var(--color-primary);background:0 0;border:0;gap:.35rem;padding:0;font-size:15px;display:grid}.guide-zoom-open img,.guide-zoom img{border-radius:var(--r-chip);background:var(--color-canvas);width:100%;max-width:100%;height:auto}.guide-pager{grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.75rem;display:grid}.guide-pager button,.guide-shift,.guide-zoom button{border-radius:var(--r-btn);background:var(--color-canvas);min-height:44px;color:var(--color-ink);box-shadow:var(--l1);border:0;padding:.55rem .7rem;font-size:16px;line-height:1.3;transition:box-shadow .18s}.guide-pager button:disabled,.guide-shift:disabled{opacity:.45}.guide-dock{z-index:30;padding:.55rem .75rem calc(.55rem + env(safe-area-inset-bottom));background:var(--color-canvas);box-shadow:0 calc(-6px * var(--k)) calc(14px * var(--k)) var(--lo);border-top:0;grid-template-columns:1fr 1fr;gap:.5rem;display:grid;position:fixed;bottom:0;left:0;right:0}.guide-dock form{min-width:0;display:flex}.guide-shift{text-align:center;background:var(--color-primary);color:#fff;justify-content:center;align-items:center;width:100%;text-decoration:none;display:flex}.guide-zoom{border-radius:var(--r-card);background:var(--color-canvas);width:min(100vw - 1.5rem,28rem);max-width:calc(100vw - 1.5rem);box-shadow:var(--l3);border:0;padding:.75rem}.guide-zoom button{width:100%;margin-top:.6rem}@media (max-width:767px){body:has(.guide-page){overflow-x:clip}}@media (min-width:768px){.guide-phone{display:none}.guide-wide{display:block}}@media (prefers-reduced-motion:reduce){.guide-phone,.guide-phone *,.guide-zoom,.guide-zoom::backdrop{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{.guide-phone{display:none!important}.guide-wide{display:block!important}.no-print{display:none!important}body{background:#fff}main{padding:0!important}.panel{break-inside:avoid;border:0;padding-left:0;padding-right:0}}.app-main{padding-bottom:5.75rem}.app-mobile-bar{background:var(--color-canvas);min-height:52px;box-shadow:var(--l1);border-bottom:0;align-items:center;gap:.6rem;padding:.35rem 1rem;display:flex}.tabbar{z-index:35;overscroll-behavior-x:contain;max-width:100%;padding:.35rem .5rem calc(.35rem + env(safe-area-inset-bottom));background:var(--color-canvas);box-shadow:0 calc(-6px * var(--k)) calc(14px * var(--k)) var(--lo);-webkit-backdrop-filter:none;backdrop-filter:none;border-top:0;gap:.25rem;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-x:auto}.tabbar a{border-radius:var(--r-nav);min-width:4.5rem;min-height:44px;color:var(--color-muted);white-space:nowrap;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:.1rem;padding:.2rem .55rem;font-size:12px;line-height:1.2;text-decoration:none;transition:box-shadow .18s,color .18s;display:flex;position:relative}.tabbar a.on,.tabbar button.on{background:var(--color-canvas);color:var(--color-primary);box-shadow:var(--l1);font-weight:600}.tabbar a.on:before,.tabbar button.on:before{content:"";background:var(--color-primary);border-radius:2px;width:4px;height:18px;position:absolute;top:50%;left:4px;transform:translateY(-50%)}.stat b{font-variant-numeric:tabular-nums;animation:numIn .45s var(--ease-out) both}.stats>:nth-child(2){animation-delay:40ms}.stats>:nth-child(3){animation-delay:80ms}.stats>:nth-child(4){animation-delay:.12s}.stats>:nth-child(5){animation-delay:.16s}.stats>:nth-child(6){animation-delay:.2s}.node-grid>*,.store-grid>*{animation:cardIn .5s var(--ease-out) both;animation-delay:calc(var(--i,0) * 45ms)}.rise>.panel,.stack>.panel{animation:cardIn .48s var(--ease-out) both}@keyframes numIn{0%{opacity:.45;transform:translateY(4px)scale(.92)}to{opacity:1;transform:none}}@keyframes cardIn{0%{opacity:0}to{opacity:1}}.stat-pending{animation:2.6s ease-in-out infinite breathe}@keyframes breathe{0%,to{box-shadow:var(--shadow-card)}50%{box-shadow:var(--shadow-card), 0 0 0 4px #6d4aff24}}.meter{background:var(--color-canvas);height:8px;box-shadow:var(--in-s);border-radius:999px;margin-top:.35rem;display:block;overflow:hidden}.meter i{border-radius:inherit;transform-origin:0;height:100%;animation:meterIn .6s var(--ease-out) both;background:#8a90a2;display:block}@keyframes meterIn{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.viz-wrap{gap:.85rem;margin-top:.6rem;display:grid}.radar svg{width:100%;height:auto;display:block}.radar-grid,.radar-axis{fill:none;stroke:var(--color-line)}.radar-label{fill:var(--color-muted);font-size:11px}.radar-poly{stroke:var(--color-primary);stroke-width:2px;transform-box:fill-box;transform-origin:50%;animation:radarIn .7s var(--ease-out) both}.radar-dot{fill:#fff;stroke:var(--color-primary);stroke-width:2px}.radar-dot.band-weak{stroke:var(--color-level-red)}.radar-dot.band-medium{stroke:var(--color-level-orange)}.radar-dot.band-strong{stroke:var(--color-level-green)}@keyframes radarIn{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}.graph3d{border-radius:var(--r-card);background:var(--color-canvas);min-height:240px;box-shadow:var(--l1);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border:0;position:relative;overflow:hidden}.graph3d:active{cursor:grabbing}.graph3d canvas{width:100%;height:240px;display:block}.graph-hint{color:var(--color-muted);margin:0;font-size:12px;position:absolute;bottom:8px;right:10px}.cause-chain li{margin-left:calc(var(--d,0) * 14px);border-radius:var(--r-card);background:var(--color-canvas);box-shadow:var(--l1);border:0;padding:.7rem .8rem}.cause-chain li.root{background:linear-gradient(#fff6f6,#fdecec);border-color:#edb3b3}tbody tr{transition:background-color .2s}@media (hover:hover){tbody tr:hover{background:#1e22300a}}#guide-sheet .prompt-list li{animation:cardIn .4s var(--ease-out) both;animation-delay:calc(var(--n,0) * 50ms)}#guide-sheet .prompt-list li:nth-child(2){--n:1}#guide-sheet .prompt-list li:nth-child(3){--n:2}#guide-sheet .prompt-list li:nth-child(4){--n:3}#guide-sheet .prompt-list li:nth-child(5){--n:4}#guide-sheet .prompt-list li:nth-child(6){--n:5}@media (min-width:768px){.tabbar,.app-mobile-bar{display:none}.app-main{padding-bottom:1.5rem}.panel,.stat{background:var(--color-canvas);-webkit-backdrop-filter:none;backdrop-filter:none}.viz-wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media (max-width:767px){.page-header h1{font-size:1.35rem}.filters,.choice-row,.filter-grid{grid-template-columns:1fr}.btn,.tier,select,input,textarea{min-height:44px;font-size:16px}.filters .btn,.choice-row .btn,.filter-grid .btn{width:100%}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats>:last-child:nth-child(odd){grid-column:1/-1}.score-scroll{overflow:visible}.score-table{min-width:0}table.responsive{display:block}table.responsive thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}table.responsive tbody{gap:.75rem;display:grid}table.responsive tr{border-radius:var(--r-card);background:var(--color-canvas);box-shadow:var(--l1);border:0;gap:.35rem;margin:0;padding:.85rem .9rem;display:grid}table.responsive td,table.responsive tbody th{background:0 0;border:0;grid-template-columns:5.4rem minmax(0,1fr);align-items:start;gap:.45rem;min-width:0;padding:.15rem 0;display:grid;position:static}table.responsive td:before,table.responsive tbody th:before{content:attr(data-label);color:var(--color-muted);font-size:13px;line-height:1.4}table.responsive tbody th.sticky,table.responsive td.card-title{grid-template-columns:1fr;font-size:1.05rem;font-weight:700}table.responsive tbody th.sticky:before,table.responsive td.card-title:before{content:none}.calm .score-actions{z-index:5;background:var(--color-canvas);margin:0 -.2rem;padding:.55rem .2rem;position:sticky;bottom:88px}}@media (prefers-reduced-motion:reduce){.stat b,.node-grid>*,.store-grid>*,.rise>.panel,.stack>.panel,.stat-pending,#guide-sheet .prompt-list li,.radar-poly,.meter i{animation:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
:root{--bg:#ebebf5;--sand:#ebebf5;--s1:#ebebf5;--s2:#ebebf5;--s3:#e1e0ee;--line:#dcdbea;--t1:#0c0c0e;--t2:#2e2d38;--t3:#3e3c4c;--btn-t:#3a3a40;--acs:#d6e8ff;--hi:#fff;--lo:#c9c8dc;--ok:#00a344;--warn:#b86a00;--bad:#e0302a;--k:1;--pad-out:32px;--gap:16px;--gap-v:16px;--pad-card:20px;--r:20px;--r-in:14px;--r-btn:12px;--r-card:var(--r);--r-big:var(--r);--r-base:var(--r);--r-chip:999px;--r-nav:999px;--up:calc(6px * var(--k)) calc(6px * var(--k)) calc(14px * var(--k)) var(--lo), calc(-6px * var(--k)) calc(-6px * var(--k)) calc(14px * var(--k)) var(--hi);--up-s:calc(3px * var(--k)) calc(3px * var(--k)) calc(8px * var(--k)) var(--lo), calc(-3px * var(--k)) calc(-3px * var(--k)) calc(8px * var(--k)) var(--hi);--l1:var(--up);--l2:var(--up);--l3:var(--up);--lift-1:var(--up);--lift-2:var(--up);--lift-3:var(--up);--in:inset calc(4px * var(--k)) calc(4px * var(--k)) calc(8px * var(--k)) var(--lo), inset calc(-4px * var(--k)) calc(-4px * var(--k)) calc(8px * var(--k)) var(--hi);--in-s:inset 2px 2px 4px var(--lo), inset -2px -2px 4px var(--hi);--ease:cubic-bezier(.2, .8, .2, 1)}@media (max-width:600px){:root{--k:.75;--pad-out:16px;--gap:12px;--gap-v:12px;--pad-card:16px;--r:16px;--r-in:12px}}[data-theme=dark]{--bg:#303136;--sand:#303136;--s1:#303136;--s2:#303136;--s3:#3a3b41;--line:#44454c;--t1:#f1f1f6;--t2:#d4d4de;--t3:#b9b9c6;--btn-t:#d0d0d6;--acs:#1a3f66;--hi:#ffffff0d;--lo:#00000073;--ok:#3ddc84;--warn:#ffb547;--bad:#ff6b5e;--color-canvas:#303136;--color-surface:#303136;--color-ink:#f1f1f6;--color-muted:#b9b9c6;--color-line:#44454c}html{background:var(--bg);color:var(--t1)}body{color:var(--t1);background:0 0;font-family:Inter,Noto Sans SC,sans-serif;font-size:15px;line-height:1.6}body:before{background:var(--bg)}body:after{opacity:0;background-image:none}::selection{color:inherit;background:#78788240}:focus-visible{outline:2px solid var(--btn-t);outline-offset:2px}input,textarea{caret-color:var(--t1)}*{scrollbar-color:var(--line) transparent}h1,.page-header h1,.day-head h1{letter-spacing:.02em;font-family:Noto Serif SC,serif;font-size:28px;font-weight:600;line-height:1.3}h2,.section-title h2{font-family:Noto Serif SC,serif;font-size:20px;font-weight:600;line-height:1.4}h3,.task-title,.person h3{font-family:Noto Serif SC,serif;font-size:16px;font-weight:600;line-height:1.5}.aux,.muted,.lede,.empty,.page-header .lede{color:var(--t2);font-size:13px;line-height:1.5}.num-hero,.metric-value,.stat b,.section-no,.num{font-variant-numeric:lining-nums tabular-nums;font-family:Fraunces,Noto Serif SC,serif;font-weight:600}.num-hero{letter-spacing:-.03em;color:var(--t1);font-size:96px;line-height:.9}.num-unit{color:var(--t2);margin-left:4px;font-family:Noto Serif SC,serif;font-size:28px;font-weight:600}.page-header,.opening{margin-bottom:8px}.page-top,.day-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.page-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.stage{border-radius:var(--r-base);background-color:var(--bg);box-shadow:var(--in);background-image:none;margin-bottom:28px;padding:22px;position:relative}.stage.has-float{margin-bottom:52px}.hero-row{grid-template-columns:minmax(0,1fr) 300px;align-items:stretch;gap:16px;display:grid}.hero-row.solo{grid-template-columns:1fr}.hero{border-radius:var(--r-big);background:var(--bg);box-shadow:var(--l3);padding:28px 32px 22px;position:relative;overflow:hidden;transform:translateY(-3px)}.hero:after{content:none}.hero>*{z-index:1;position:relative}.hero-label{margin-bottom:8px}.hero-figure{grid-template-columns:auto minmax(0,1fr);align-items:end;gap:28px;display:grid}.hero-delta{margin-top:12px}.hero-conclusion{border-top:1px solid var(--line);color:var(--t1);margin:18px 0 0;padding-top:14px;font-family:Noto Serif SC,serif;font-size:16px;font-weight:600;line-height:1.5}.trend-line{width:100%;height:118px}.side-metrics{flex-direction:column;gap:12px;display:flex}.metric{border-radius:var(--r-card);background:var(--bg);min-height:84px;box-shadow:var(--l1);flex:1;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.metric-value{color:var(--t1);font-size:32px;line-height:1}.metric-value small{color:var(--t2);margin-left:2px;font-family:Inter,Noto Sans SC,sans-serif;font-size:15px;font-weight:500}.metric-value.is-bad,.metric-hint.is-bad{color:var(--bad)}.chip{border-radius:var(--r-chip);background:var(--s3);color:var(--t2);align-items:center;padding:2px 8px;font-size:13px;font-weight:500;line-height:1.4;display:inline-flex}.chip.up{color:var(--ok);background:#e3f0e7}.chip.down{color:var(--bad);background:#fbe4e1}.chip.flat{background:var(--s3);color:var(--t2)}.chip.wait{color:var(--warn);background:#fbf0d9}.float-note{z-index:2;border-radius:var(--r-card);background:var(--bg);max-width:calc(100% - 80px);color:var(--t1);box-shadow:var(--l2);align-items:center;gap:12px;padding:12px 16px;font-size:15px;text-decoration:none;display:flex;position:absolute;bottom:-22px;left:48px}.float-note .go{color:var(--ac);white-space:nowrap;font-size:13px}.avatar-stack{display:flex}.avatar-stack span,.person .avatar,.logo-mark,.account-mark{border:2px solid var(--bg);background:var(--t2);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;margin-left:-8px;font-size:12px;font-weight:600;display:grid}.avatar-stack span:first-child{margin-left:0}.pulse-dot{background:var(--ac);width:8px;height:8px;box-shadow:0 0 0 4px var(--acs);border-radius:50%;flex:none}.section-title{align-items:baseline;gap:12px;margin:64px 0 16px;padding:0 4px;display:flex}.opening+.section-title,.stage+.section-title,.board-lower .section-title:first-child{margin-top:36px}.section-no{color:var(--ac);font-size:15px;font-style:italic}.section-extra{color:var(--t2);margin-left:auto;font-size:13px}.section-extra a{color:var(--t2);text-decoration:none}.board-lower{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:28px;display:grid}.sheet,.panel,.stat,.node-card,.login-card,.guide-ask,.guide-fold{background:var(--s1);box-shadow:var(--lift-1)}.sheet,.panel,.node-card{border-radius:var(--r-card);border:0}.sheet{padding:6px 18px 8px}.panel,.node-card,.stat,.login-card{border-radius:var(--r-card)}.stat{color:var(--t2)}.stat:before,.stat-pending,.stat-pending:before{background:0 0;animation:none}@keyframes radarIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}@keyframes numIn{0%{opacity:.72;transform:translateY(2px)}to{opacity:1;transform:none}}.stat b{color:var(--t1);font-size:32px;line-height:1.1}.stat-pending b{color:var(--warn)}.panel.up,.guide-ask,.login-card{background:var(--bg);box-shadow:var(--l1)}table th{color:var(--t3);font-size:12px;font-weight:500}.sheet td,.focus-table td{vertical-align:middle;height:56px}.bar{background:var(--bg);width:110px;height:6px;box-shadow:var(--in-s);border-radius:3px;display:block;overflow:hidden}.bar i,.meter i{border-radius:inherit;background:#8a90a2;height:100%;display:block}.bar i.weak,.meter i.weak{background:var(--ac)}.meter{background:var(--bg);box-shadow:var(--in-s)}.people{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.person{border-radius:var(--r-card);background:var(--bg);box-shadow:var(--l1);transition:transform .16s var(--ease), box-shadow .16s var(--ease);margin-top:18px;padding:28px 16px 16px;position:relative}.person .avatar{background:var(--bg);width:40px;height:40px;color:var(--ac);box-shadow:var(--l1);border:0;margin:0;font-size:15px;position:absolute;top:-18px;left:16px}.person .chip{position:absolute;top:12px;right:12px}.person p{margin:4px 0 0}.ability{margin-top:8px;position:relative}.ability-card{z-index:1;border-radius:var(--r-big);background:var(--bg);box-shadow:var(--l3);transform-origin:bottom;margin:0 12px -40px;padding:12px 12px 4px;position:relative;transform:perspective(900px)rotateX(6deg)}.ability-base{border-radius:var(--r-base);background-color:var(--bg);box-shadow:var(--in);background-image:none;padding:64px 16px 16px}.ability-notes{grid-template-columns:1fr 1fr;gap:12px;display:grid}.ability-notes>div{border-radius:var(--r-card);background:var(--bg);box-shadow:var(--l1);padding:14px 16px}.ability-figure svg{width:100%;height:auto;display:block}.legend{color:var(--t2);justify-content:center;gap:16px;padding-bottom:6px;font-size:12px;display:flex}.legend i,.key-now{background:var(--ac);vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}.bar-list{gap:10px;padding:8px 8px 0;display:grid}.bar-row{grid-template-columns:6.5rem minmax(0,1fr) auto;align-items:center;gap:8px;font-size:13px;display:grid}.meter-line{align-items:center;gap:8px;display:inline-flex}.page-tools form{display:contents}.btn,a.btn{border-radius:var(--r-btn);white-space:nowrap;border:0;justify-content:center;align-items:center;gap:6px;height:40px;padding:0 18px;font-size:15px;font-weight:500;line-height:1;text-decoration:none;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.btn.primary,.guide-shift{color:#fff;background:var(--ac);box-shadow:var(--l1)}.btn.ghost,.btn.secondary,.guide-pager button,.guide-zoom button{color:var(--t1);background:var(--s2);box-shadow:var(--lift-1)}.btn.slim{height:32px;padding:0 12px;font-size:13px}.btn.danger{color:var(--bad);box-shadow:var(--lift-1);background:#fbe4e1}.btn.primary:hover:not(:disabled),.guide-shift:hover{box-shadow:var(--l2);transform:translateY(-1px)}.btn.primary:active:not(:disabled),.guide-shift:active{transform:translateY(1px)}.sheet,.panel,.stat,.person,.node-card,.metric,.task,.login-card{transition:transform .18s var(--ease), box-shadow .18s var(--ease)}.btn.ghost:hover:not(:disabled),.stat:hover,.person:hover,.node-card:hover,.metric:hover,.task:hover,.login-card:hover{box-shadow:var(--lift-2);transform:translateY(-1px)}.panel:hover,.sheet:hover{box-shadow:var(--lift-2)}.btn:active:not(:disabled),a.btn:active,.btn.ghost:active:not(:disabled),.btn.secondary:active:not(:disabled),.btn.danger:active:not(:disabled),.btn.primary:active:not(:disabled),.guide-shift:active,.guide-pager button:active,.guide-zoom button:active{box-shadow:var(--in)}.btn:disabled{opacity:.55;cursor:not-allowed}.sel{border-radius:var(--r-btn);background:var(--bg);height:40px;box-shadow:var(--in);align-items:center;gap:8px;padding:0 10px 0 14px;display:flex}.sel span{color:var(--t3);white-space:nowrap;font-size:13px}.sel select,.sel input{width:auto;min-width:7.5rem;height:36px;box-shadow:none;background:0 0;border:0;padding:0}input,select,textarea{border-radius:var(--r-btn);background:var(--bg);box-shadow:var(--in);color:var(--t1);border:0}.banner{border-radius:var(--r-card);background:var(--bg);color:var(--t1);box-shadow:var(--l2)}.tabs a{border-radius:var(--r-btn);background:var(--bg);height:40px;box-shadow:var(--l1);align-items:center;display:inline-flex}.tabs a.on{background:var(--ac);color:#fff;box-shadow:var(--l1)}.rhythm span{background:var(--s1);color:var(--t2);box-shadow:var(--lift-1)}.rhythm span.on{background:var(--bg);color:var(--ac);box-shadow:var(--l1)}.commit-dot,.draft-dot{border-radius:50%;flex:none;width:6px;height:6px;display:inline-block}.commit-dot{background:var(--ok)}.draft-dot{background:var(--warn)}.score-table tbody td,.score-table tbody th{vertical-align:middle;height:56px;padding:0 12px}.score-table .detail-fold{margin-left:8px;display:inline}.score-table .detail-fold summary{display:inline}.score-table .sticky{background:var(--bg)}.cell-stack{align-items:center;gap:8px;min-width:7rem;display:flex;position:relative}.score-input{width:4.4rem;height:36px;min-height:0}.cell-stack select{z-index:4;opacity:0;pointer-events:none;width:9.5rem;height:36px;position:absolute;top:calc(100% - 2px);left:0}.cell-stack:hover select,.cell-stack:focus-within select{opacity:1;pointer-events:auto}.side{background:0 0}.logo{color:inherit;align-items:center;gap:10px;padding:4px 8px 28px;text-decoration:none;display:flex}.logo-mark{border-radius:var(--r-btn);background:var(--bg);width:34px;height:34px;color:var(--ac);box-shadow:var(--l1);border:0;margin:0;font-family:Noto Serif SC,serif;font-size:16px}.logo-name{font-family:Noto Serif SC,serif;font-size:16px;font-weight:600}.side-links{gap:2px;display:grid}.side-label{color:var(--t3);margin:18px 12px 6px;font-size:12px}.side-links a{border-radius:var(--r-nav);height:44px;color:var(--t2);align-items:center;gap:12px;padding:0 12px;font-size:15px;text-decoration:none;transition:box-shadow .18s,color .18s;display:flex;position:relative}.side-links a svg{stroke-width:1.75px;width:20px;height:20px}.side-links a.on,.tabbar a.on,.tabbar button.on{background:var(--bg);color:var(--ac);box-shadow:var(--l1);font-weight:600}.side-links a.on svg,.tabbar a.on svg,.tabbar button.on svg{stroke:var(--ac)}.side-links a.on:before,.tabbar a.on:before,.tabbar button.on:before{content:"";background:var(--ac);border-radius:2px;width:4px;height:18px;position:absolute;top:50%;left:4px;transform:translateY(-50%)}.side-account{color:var(--t2);margin-top:auto;padding:18px 12px 4px;font-size:13px}.side-account p{color:var(--t1);margin:0;font-size:14px}.side-account button{color:var(--ac);cursor:pointer;background:0 0;border:0;margin-top:6px;padding:0;font-size:13px}.app-mobile-bar{display:none}.tabbar{min-height:64px;padding:8px 4px calc(8px + env(safe-area-inset-bottom));background:var(--bg);box-shadow:0 calc(-6px * var(--k)) calc(14px * var(--k)) var(--lo);-webkit-backdrop-filter:none;backdrop-filter:none;border-top:0;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;overflow:visible}.tabbar a,.tabbar button{border-radius:var(--r-nav);min-width:0;min-height:44px;color:var(--t2);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:0;font-size:12px;font-weight:500;line-height:1.2;text-decoration:none;transition:box-shadow .18s,color .18s;display:flex;position:relative}.tabbar svg{width:22px;height:22px}.more-backdrop{z-index:34;background:#1e223047;position:fixed;inset:0}.more-sheet{z-index:40;border-radius:var(--r-card);background:var(--bg);max-height:min(60vh,420px);box-shadow:var(--l3);padding:8px;position:fixed;bottom:78px;left:12px;right:12px;overflow:auto}.more-sheet a,.more-sheet button{border-radius:var(--r-btn);width:100%;height:44px;color:var(--t1);text-align:left;background:0 0;border:0;align-items:center;padding:0 12px;font-size:15px;text-decoration:none;display:flex}.more-sheet a.on{background:var(--acs)}.task-list.paper,.today{gap:8px;display:grid}.task{border-radius:var(--r-card);background:var(--bg);box-shadow:var(--l1);color:inherit;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;display:flex}.task.main{background:var(--bg);border-radius:var(--r-big);box-shadow:var(--l3)}.task-mark{border-radius:var(--r-btn);background:var(--bg);width:36px;height:36px;color:var(--t2);box-shadow:var(--in);flex:none;place-items:center;font-family:Noto Serif SC,serif;font-weight:600;display:grid}.task.main .task-mark{background:var(--ac);color:#fff;box-shadow:var(--l1)}.task .grow{flex:1;min-width:0}.graph3d{border-radius:var(--r-card);background:var(--bg);box-shadow:var(--l1);border:0}.radar-grid,.radar-axis{stroke:var(--line)}.radar-label{fill:var(--t2);font-size:13px}.radar-poly{stroke:var(--ac);stroke-width:2.5px}.radar-dot{fill:#fff;stroke:var(--ac)}.cause-chain li{background:var(--bg);border-radius:var(--r-card);box-shadow:var(--l1);border-color:#0000}.cause-chain li.root{background:#fbe4e1;border-color:#0000}.guide-phone,.guide-wide{color:var(--t1)}.guide-phone-head{margin:4px 0 14px}.guide-phone-head h1{font-size:22px}.guide-chip{border-radius:var(--r-chip);background:var(--bg);box-shadow:var(--l1)}.guide-chip.band.weak{color:var(--bad);background:#fbe4e1}.guide-chip.band.medium{color:var(--warn);background:#fbf0d9}.guide-chip.band.strong{color:var(--ok);background:#e3f0e7}.guide-generic{border-radius:var(--r-card);box-shadow:var(--l1);background:#fbf0d9;border:0}.guide-own{border-radius:var(--r-card);background:var(--acs)}.guide-dock{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 calc(-6px * var(--k)) calc(14px * var(--k)) var(--lo);border-top:0}.guide-zoom-open{color:var(--ac)}.login-card h1{font-size:28px}.brand{align-items:center;gap:10px;display:flex}.brand .mark{border-radius:var(--r-btn);background:var(--bg);width:34px;height:34px;box-shadow:var(--l1)}.brand .mark:before{content:"学";height:100%;color:var(--ac);place-items:center;font-family:Noto Serif SC,serif;display:grid}.brand strong{font-family:Noto Serif SC,serif;display:block}.brand em{color:var(--t2);font-size:13px;font-style:normal}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (hover:hover){tbody tr:hover{background:#1e22300a}}@media (min-width:768px){.panel,.stat{background:var(--s1);-webkit-backdrop-filter:none;backdrop-filter:none}.tabbar,.app-mobile-bar,.more-sheet,.more-backdrop{display:none}}@media (max-width:1100px){.board-lower,.hero-row,.people{grid-template-columns:1fr 1fr}.board-lower{grid-template-columns:1fr}}@media (max-width:767px){h1,.page-header h1,.day-head h1{font-size:22px}h2,.section-title h2{font-size:18px}.num-hero{font-size:64px}.num-unit{font-size:20px}.metric-value,.stat b{font-size:32px}.page-top,.day-head{flex-direction:column;align-items:stretch}.filters .btn,.choice-row .btn,.filter-grid .btn{width:100%}.page-tools{justify-content:flex-start}.page-tools .sel,.page-tools .btn{width:auto}.page-tools .sel select,.page-tools .sel input{width:auto;min-width:0;max-width:9.5rem}.hero{padding:18px 16px 16px;transform:none}.hero-figure{grid-template-columns:1fr;gap:4px}.trend-line{height:64px}.hero-row,.people,.side-metrics{grid-template-columns:1fr 1fr}.hero-row{grid-template-columns:1fr}.side-metrics{display:grid}.section-title{margin-top:40px}.stage{border-radius:var(--r-base);padding:12px}.stage.has-float{margin-bottom:16px}.float-note{max-width:none;margin-top:12px;position:static}.ability-card{margin-bottom:12px;transform:none}.sheet td,.focus-table td,.score-table td,.score-table th{height:auto}.cell-stack select{opacity:1;pointer-events:auto;width:100%;position:static}.btn,.tier,select,input,textarea{min-height:40px}.app-main{padding-bottom:5.5rem}}@media (prefers-reduced-motion:reduce){.hero,.ability-card,.btn,.panel,.sheet,.stat,.person,.node-card,.metric,.task,.login-card,.float-note{transition:none!important;transform:none!important}}
body{background:var(--bg);color:var(--t1);font-size:14px}body:before{background:var(--bg)}h1,.page-header h1,.day-head h1{letter-spacing:0;font-size:26px;line-height:1.25}h2,.section-title h2,.ct,.card>h2,.panel>h2{font-family:Noto Serif SC,serif;font-size:19px;font-weight:600;line-height:1.35}h3,.task-title,.person h3{font-family:Inter,Noto Sans SC,sans-serif;font-size:14px;font-weight:600}.aux,.muted,.lede,.empty,.page-kicker{color:var(--t3);font-size:12px}.num-hero{letter-spacing:-1px;font-size:44px;line-height:1}.num-unit{font-family:Fraunces,Noto Serif SC,serif;font-size:18px}.metric-value,.stat b{color:var(--t1);font-size:26px}.app-frame{column-gap:var(--gap);row-gap:var(--gap-v);grid-template-columns:292px minmax(0,1fr);align-items:start;width:100%;max-width:2240px;min-height:100vh;margin-inline:auto;padding:40px 40px 30px 30px;display:grid}.app-frame:not(:has(.nav-card)){width:auto;max-width:none;min-height:100vh;margin:0;padding:0;display:block}.app-main{min-width:0;padding:0 0 32px}.nav-card{background:var(--bg);border-radius:var(--r);height:calc(100vh - 70px);box-shadow:var(--up);flex-direction:column;padding:28px 16px;display:flex;position:sticky;top:40px;overflow:hidden}.nav-card nav{flex-direction:column;flex:auto;gap:4px;min-height:0;display:flex;overflow:auto}.card,.panel,.sheet,.hero,.hero-card,.login-card,.stat,.node-card,.stage,.ability-card,.graph3d{background:var(--bg);border-radius:var(--r);box-shadow:var(--up);background-image:none;border:0}.card,.panel,.sheet,.hero,.hero-card,.login-card,.stat,.node-card,.filters{padding:var(--pad-card);box-sizing:border-box;min-width:0;max-width:100%}.nav-card{max-width:none;padding:28px 16px}.stage{box-shadow:none;background:0 0;margin:0;padding:0}.item,.task,.person,.metric,.kr,.w,.cause-chain li,.guide-chip,.history>li{background:var(--bg);border-radius:var(--r-in);box-shadow:var(--up-s)}.klist,.wl,.people,.today,.side-metrics,.stats-col,.history{flex-direction:column;gap:8px;display:flex}.page-head{justify-content:space-between;align-items:flex-start;gap:12px;margin:0;padding:0;display:flex}.page-head>div{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.page-head h1{order:-1;margin:0}.page-main{gap:var(--gap-v);flex-direction:column;min-width:0;display:flex}.page-rail{gap:var(--gap);flex-direction:column;min-width:0;display:flex}.page-rail .rail-tools{flex-direction:column;justify-content:flex-start;align-items:stretch;padding-top:0}.page-rail .rail-tools>.theme-switch{align-self:flex-end}.page-rail .page-tools{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;gap:8px;width:100%;display:grid}.page-rail .sel,.page-rail .page-tools .btn{box-sizing:border-box;width:100%;min-width:0;height:32px}.page-rail .page-tools .btn,.page-rail .page-tools .sel:last-child:nth-child(odd){grid-column:1/-1}.page-rail .sel select,.page-rail .sel input{height:auto}.page-rail .card,.page-rail .panel,.page-rail .stack,.page-rail .stack>*,.card .panel,.panel .panel,.split,.split>*{box-sizing:border-box;min-width:0;max-width:100%}.page-rail .split{grid-template-columns:minmax(0,1fr)}.split:has(>:only-child){grid-template-columns:minmax(0,1fr)}.stack,.split{gap:var(--gap-v)}.page-rail .filters{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:8px;width:100%;margin:0}.page-rail .filters .field,.page-rail .filters .btn,.page-rail .filters select,.page-rail .filters input{width:100%;min-width:0}.sheet table{width:max-content;min-width:100%}.sheet th,.sheet td,.sheet .badge,.sheet .chip{white-space:nowrap}.rail-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding-top:4px;display:flex}.rail-tools .page-tools,.page-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.ct,.panel>h2,.card>h2,.panel h2{margin:0 0 12px}.ct h2{font-size:inherit;line-height:inherit;margin:0}.ct{justify-content:space-between;align-items:center;gap:8px;display:flex}.ct .more,.section-extra,.section-extra a{color:var(--t2);font-family:Inter,Noto Sans SC,sans-serif;font-size:12px;font-weight:500;text-decoration:none}.hero-card .hero-figure,.hero-figure{grid-template-columns:140px minmax(0,1fr);align-items:center;gap:16px;display:grid}.hero-card .trend-line,.trend-line{width:100%;height:150px}.hero-conclusion{border-top:1px solid var(--line);color:var(--t1);margin:14px 0 0;padding-top:14px;font-family:Inter,Noto Sans SC,sans-serif;font-size:14px;font-weight:600}.pair{gap:var(--gap-v);grid-template-columns:1fr 1fr;align-items:start;display:grid}.kr,.w,.item,.task,.history>li,.cause-chain li{padding:12px 16px;font-size:14px;line-height:1.5}.kr,.w{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.kr b,.w b,.task-title{font-size:14px;font-weight:600}.metric{justify-content:space-between;align-items:center;gap:12px;min-height:0;padding:10px 14px;display:flex}.btn,a.btn,button.btn,span.btn,.guide-shift,.guide-pager button,.guide-zoom button{box-sizing:border-box;border-radius:var(--r-btn);border:0;justify-content:center;align-items:center;height:32px;min-height:32px;padding:0 14px;font-size:13px;font-weight:600;line-height:1;transition:box-shadow .18s;display:inline-flex;transform:none;background:var(--bg)!important;color:var(--btn-t)!important;box-shadow:var(--up-s)!important;background-image:none!important}.btn.slim{height:32px;min-height:32px;padding:0 12px;font-size:12px}.btn:active,a.btn:active,button.btn:active,.btn.primary:active,.tabbar a:active,.tabbar button:active,.more-sheet a:active{transform:none;box-shadow:var(--in)!important}.btn:hover,.btn.primary:hover,.panel:hover,.sheet:hover,.stat:hover,.person:hover,.task:hover,.metric:hover,.login-card:hover,.node-card:hover{transform:none}.btn.danger:before{content:"";background:currentColor;flex:none;width:14px;height:14px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 3h6l1 2h4v2H4V5h4zm1 6h2v8h-2zm4 0h2v8h-2zM7 9h2v8H7z'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 3h6l1 2h4v2H4V5h4zm1 6h2v8h-2zm4 0h2v8h-2zM7 9h2v8H7z'/%3E%3C/svg%3E") 50%/contain no-repeat}.btn.danger.return:before{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10 9V5l-7 7 7 7v-4.1c5 0 8.5 1.6 11 5.1-1-5-4-10-11-11z'/%3E%3C/svg%3E");mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10 9V5l-7 7 7 7v-4.1c5 0 8.5 1.6 11 5.1-1-5-4-10-11-11z'/%3E%3C/svg%3E")}.guide-chip,.guide-chip.band.weak,.guide-chip.band.medium,.guide-chip.band.strong,.guide-generic,.guide-own{box-sizing:border-box;white-space:nowrap;height:24px;min-height:24px;box-shadow:var(--up-s);border:0;border-radius:5px;justify-content:center;align-items:center;gap:4px;padding:0 10px;font-size:12px;font-weight:600;line-height:1;display:inline-flex;background:var(--bg)!important;color:var(--btn-t)!important}.up-t{color:var(--tone-good-text)!important}.dn-t,.metric-value.is-bad{color:var(--bad)!important}.metric-hint.is-bad{color:var(--warn)}.sel,.tabs a,.rhythm span,.tabs a.on,.rhythm span.on,a.stat,a.stat.on,.stat.on{border-radius:999px;background:var(--bg)!important;color:var(--btn-t)!important;box-shadow:var(--up-s)!important}.sel{align-items:center;gap:6px;height:36px;padding:0 14px;display:flex}.sel span,.sel b{color:var(--t3);font-size:12px;font-weight:400}.sel select,.sel input{min-width:0;height:32px;box-shadow:none;color:var(--btn-t);background:0 0;border:0;padding:0}input,select,textarea{border-radius:var(--r-in);background:var(--bg);color:var(--t1);box-shadow:var(--in);border:0}input:focus,textarea:focus,select:focus,.sel:focus-within{box-shadow:var(--in), 0 0 0 2px var(--btn-t);outline:none}.bar,.meter{width:52px;height:8px;box-shadow:var(--in-s);vertical-align:middle;background:0 0;border-radius:4px;display:inline-block;overflow:hidden}.bar i,.meter i{background:var(--ac);border-radius:4px;height:100%;display:block}.logo{color:var(--btn-t);gap:10px;padding:0 12px 34px;font-family:Noto Serif SC,serif;font-size:19px;font-weight:600}.logo-name{color:var(--btn-t);font-size:19px}.logo-mark,.brand .mark{background:var(--bg);width:30px;height:30px;color:var(--btn-t);box-shadow:var(--up-s);border:0;border-radius:50%;margin:0;font-size:14px}.brand .mark:before{color:var(--btn-t)}.side-label{color:var(--t3);margin:14px 18px 6px;font-size:12px}.side-links{gap:10px}.side-links a{height:44px;box-shadow:none;color:var(--t3);background:0 0;border-radius:999px;padding:0 18px;font-size:14px;font-weight:500}.side-links a svg{stroke:currentColor;width:18px;height:18px}.side-links a.on{background:var(--bg);color:var(--btn-t);box-shadow:var(--up);font-weight:600}.side-links a.on svg{stroke:var(--btn-t)}.side-links a.on:before,.tabbar a.on:before,.tabbar button.on:before{content:none}.side-foot{flex-direction:column;flex-shrink:0;gap:8px;margin-top:auto;padding-top:12px;display:flex}.side-switch{border-radius:var(--r-btn);background:var(--bg);height:32px;color:var(--btn-t);box-shadow:var(--up-s);justify-content:center;align-items:center;margin:0 12px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.side-account{margin-top:0;padding:8px 12px 0}.side-account button{border-radius:var(--r-btn);background:var(--bg);height:32px;color:var(--btn-t);box-shadow:var(--up-s);cursor:pointer;border:0;margin-top:8px;padding:0 12px}.section-no{color:var(--t3);font-style:normal}.section-title{margin:8px 0;padding:0}table th{height:36px;color:var(--t3);font-size:13px;font-weight:500}.sheet td,.focus-table td,table td{height:44px;font-size:14px}tbody tr:hover{background:0 0}.avatar-stack span,.person .avatar,.account-mark,.av{border:2px solid var(--bg);background:var(--bg);width:26px;height:26px;color:var(--btn-t);box-shadow:var(--up-s);border-radius:50%;margin-left:-6px}.avatar-stack span:first-child,.av{margin-left:0}.av{width:40px;height:40px;box-shadow:var(--up);place-items:center;font-weight:600;display:grid}.float-note,.alert-card{max-width:none;padding:var(--pad-card);border-radius:var(--r);background:var(--bg);color:var(--t1);box-shadow:var(--up);flex-direction:column;gap:8px;text-decoration:none;display:flex;position:static}.alert-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.avatar-stack{align-items:center;height:32px;display:flex}.pulse-dot{background:var(--t3);box-shadow:none}.float-note .go{color:var(--btn-t)}.cause-chain li.root{background:var(--bg);border-color:#0000}.stat:before,.stat-pending:before{background:0 0}.bar i,.meter i{background:var(--ac)}.task-mark,.task.main .task-mark{background:var(--bg);width:32px;height:32px;color:var(--btn-t);box-shadow:var(--in);border-radius:12px}.legend i,.key-now{background:var(--ac);border-radius:50%}.legend .key-prev{background:var(--c-coral)}.radar-grid,.radar-axis{stroke:var(--line)}.radar-label{fill:var(--t3)}.radar-poly{stroke:var(--ac)}.theme-switch{background:var(--bg);height:32px;box-shadow:var(--up-s);border-radius:8px;align-items:center;gap:2px;padding:2px;display:inline-flex}.theme-switch button{height:28px;min-height:28px;color:var(--t3);white-space:nowrap;cursor:pointer;box-shadow:none;background:0 0;border:0;border-radius:6px;padding:0 8px;font-family:Noto Sans SC,sans-serif;font-size:12px;font-weight:500;line-height:28px}.theme-switch button.on{background:var(--bg);color:var(--btn-t);box-shadow:var(--up);font-weight:600}.mobile-tools{display:none}.head-theme{display:flex}.login-page{background:var(--bg);place-items:center;min-height:100vh;padding:32px 16px;display:grid}.login-page .theme-switch{z-index:5;position:fixed;top:24px;right:24px}.tabbar{z-index:30;background:var(--bg);height:68px;min-height:68px;box-shadow:var(--up);-webkit-backdrop-filter:none;backdrop-filter:none;border:0;border-radius:22px;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:8px;display:grid;position:fixed;bottom:12px;left:12px;right:12px}.tabbar a,.tabbar button{color:var(--t3);box-shadow:none;background:0 0;border-radius:16px;font-size:11px}.tabbar a.on,.tabbar button.on{background:var(--bg);color:var(--btn-t);box-shadow:var(--up-s);font-weight:600}.tabbar a.on svg,.tabbar button.on svg{stroke:var(--btn-t)}.more-backdrop{background:#0c0c0e47}.more-sheet{border-radius:var(--r);background:var(--bg);box-shadow:var(--up);max-height:calc(100dvh - 104px);overflow:auto}.more-sheet a,.more-sheet button{color:var(--t3);background:0 0;border-radius:999px}.more-label{color:var(--t3);margin:12px 12px 0;font-size:12px;line-height:1.4}.more-entry{font-weight:600}.more-sheet a.on,.more-sheet button.on{background:var(--bg);color:var(--btn-t);box-shadow:var(--up-s)}.banner,.rhythm{flex-wrap:wrap;gap:8px;display:flex}.rnote{grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:12px;display:grid}.rnote>div{padding:var(--pad-card)}.ability-notes{grid-template-columns:1fr;gap:10px;display:grid}.ability-notes>div,.rnote>div{min-width:0;padding:var(--pad-card);border-radius:var(--r-in);background:var(--bg);box-shadow:var(--up-s);box-sizing:border-box;overflow:visible}.ability-notes h3{min-width:0;line-height:1.5;overflow:visible}.ability-figure{flex-direction:column;gap:12px;min-width:0;display:flex;overflow:visible}.ability-figure svg{width:min(100%,360px);height:auto;overflow:visible}.ability-axes{flex-direction:column;gap:8px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.ability-axes li{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex}.ability-axes li span:first-child{white-space:normal;min-width:0}.bar-list .bar-row{grid-template-columns:minmax(0,1fr) 52px auto}.bar-list .bar-row>span:first-child{white-space:normal;min-width:0}.board-cards{gap:var(--gap-v);grid-template-columns:1fr 1fr;align-items:start;display:grid}.board-cards>.board-span{grid-column:1/-1}.ct .more{align-items:center;min-height:32px;padding:0 4px;display:inline-flex}.student-roster td.card-title>a{align-items:center;min-height:32px;display:inline-flex}@media (min-width:1101px){.app-main>section.keep-rail:has(>.page-rail){column-gap:var(--gap);row-gap:var(--gap-v);grid-template-columns:minmax(0,1fr) clamp(332px,26%,440px);align-items:start;display:grid}.app-main>section.keep-rail:has(>.page-rail)>:not(.page-rail):not(.board-roster){grid-column:1;min-width:0}.app-main>section.keep-rail:has(>.page-rail)>.page-rail{grid-area:1/2/span 40}.app-main>section.keep-rail:has(>.board-roster)>.page-main{grid-row:1}.app-main>section.keep-rail:has(>.board-roster)>.page-rail{grid-row:1}.app-main>section.keep-rail>.board-roster{grid-area:2/1/auto/-1;min-width:0}section.keep-rail .head-theme{display:none}}@media (min-width:1101px) and (max-width:1799px){.board-cards>.board-ability{grid-column:1/-1}.board-ability .ability-figure{grid-template-columns:minmax(200px,360px) minmax(0,1fr);align-items:start;gap:12px 24px;display:grid}.board-ability .ability-figure>svg{grid-area:1/1}.board-ability .ability-figure>.data-legend{grid-area:2/1}.board-ability .ability-figure>.ability-axes{grid-area:1/2/span 2;align-self:center}}@media (min-width:1800px){.board-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1100px){.app-frame{padding:24px}.pair,.board-cards,.hero-figure,.hero-card .hero-figure,.board-lower,.rnote,.ability-notes{grid-template-columns:1fr}.app-main>section:has(>.page-rail){gap:var(--gap-v);flex-direction:column;display:flex}.page-rail{order:2}section.keep-rail>.board-roster{order:1}}@media (min-width:768px) and (max-width:1100px){.guide-wide:has(>.page-rail){gap:var(--gap-v);flex-direction:column;display:flex}}@media (max-width:767px){:root{--gap:12px;--gap-v:12px;--pad-card:16px}.app-frame{width:100%;max-width:none;padding:16px 16px 124px;display:block}.nav-card{display:none}.app-main{padding-bottom:24px}.page-rail .rail-tools{grid-template-columns:minmax(0,1fr)}h1,.page-header h1,.day-head h1{font-size:26px}h2,.section-title h2,.ct,.card>h2,.panel>h2{font-size:19px}.btn,a.btn,button.btn,span.btn{height:32px;min-height:32px;font-size:13px}.page-kicker,.page-head .aux{font-size:12px}.num-hero{font-size:38px}.num-unit{font-size:16px}.metric-value,.stat b{font-size:26px}.task-title,.kr b,.w b,.item,.task,.history>li{font-size:14px;line-height:1.5}body,table td{font-size:14px}.aux,.muted{font-size:11px}.btn,a.btn{font-size:12px}.theme-switch{height:36px}.theme-switch button{height:32px;min-height:32px;line-height:32px}.mobile-tools{z-index:20;align-items:center;gap:10px;display:flex;position:absolute;top:16px;right:16px}.page-head{align-items:flex-start;padding-right:196px}.rail-tools .theme-switch,.head-theme,.login-page .theme-switch{display:none}.hero-card .trend-line,.trend-line{height:64px}.side-metrics{grid-template-columns:1fr 1fr;display:grid}.home-page{flex-direction:column;gap:12px;display:flex}.home-page>.page-main,.home-page>.page-rail{display:contents}.home-page .page-main>*{order:5}.home-page .page-head{order:1}.home-page .hero-card{order:2}.home-page .overview-card{order:3}.home-page .today-card{order:4}.home-page .rail-tools,.home-page .alert-card{order:6}.sheet td,.focus-table td,table td{height:auto}.tabbar{display:grid}.guide-dock{z-index:25;padding-bottom:.55rem;bottom:88px}.more-sheet{bottom:88px}.guide-phone{padding-bottom:calc(6.5rem + 88px)}}@media (min-width:768px){.tabbar,.more-sheet,.more-backdrop,.mobile-tools{display:none}}@media (prefers-reduced-motion:reduce){.theme-switch,.theme-switch button,.btn,.nav-card,.card{transition:none}}.legend i.tone-mastered,.bar i.tone-mastered,.meter i.tone-mastered{background:var(--c-green)}.legend i.tone-partial,.bar i.tone-partial,.meter i.tone-partial{background:var(--c-orange)}.legend i.tone-weak,.bar i.tone-weak,.meter i.tone-weak{background:var(--c-red)}.legend i.tone-progress,.bar i.tone-progress,.meter i.tone-progress{background:var(--c-blue)}.legend i.tone-alert{background:var(--c-coral)}.tone-text.tone-mastered,.metric-value.is-ok{color:var(--tone-good-text)!important}.tone-text.tone-partial{color:var(--tone-mid-text)!important}.tone-text.tone-weak,.metric-value.is-weak,.metric-hint.is-weak{color:var(--tone-weak-text)!important}.tone-text.tone-progress,.metric-value.is-progress,.metric-hint.is-progress{color:var(--tone-watch-text)!important}.tone-text.tone-alert,.metric-value.is-bad,.metric-hint.is-bad,.dn-t,.alert-mark{color:var(--tone-alert-text)!important}.alert-mark:before,.guide-chip.band.weak:before,.guide-chip.band.medium:before,.guide-chip.band.strong:before{content:"";vertical-align:1px;border-radius:50%;flex:none;width:6px;height:6px;margin-right:4px;display:inline-block}.alert-mark:before{background:var(--c-coral)}.guide-chip.band.weak:before{background:var(--c-red)}.guide-chip.band.medium:before{background:var(--c-orange)}.guide-chip.band.strong:before{background:var(--c-green)}.mark-alert>td:first-child,.item.mark-alert,.alert-card{box-shadow:inset 3px 0 0 var(--c-coral), var(--up-s)}.data-legend{flex-wrap:wrap;justify-content:flex-start;gap:8px 14px;margin-top:8px;padding:0}.radar-dot.band-weak,.tone-dot.tone-weak{fill:var(--c-red);stroke:var(--c-red)}.radar-dot.band-medium,.tone-dot.tone-partial{fill:var(--c-orange);stroke:var(--c-orange)}.radar-dot.band-strong,.tone-dot.tone-mastered{fill:var(--c-green);stroke:var(--c-green)}.orbit-node{white-space:nowrap;border-radius:5px;align-items:center;gap:6px;height:24px;min-height:24px;max-height:24px;padding:0 8px;line-height:1;display:inline-flex}.orbit-node.on{color:inherit}.orbit-node.band-weak,.orbit-node.band-weak b{color:var(--tone-weak-text)}.orbit-node.band-medium,.orbit-node.band-medium b{color:var(--tone-mid-text)}.orbit-node.band-strong,.orbit-node.band-strong b{color:var(--tone-good-text)}.orbit-node.band-progress,.orbit-node.band-progress b{color:var(--tone-watch-text)}.orbit-node.band-weak{box-shadow:inset 3px 0 0 var(--c-red), var(--up-s)}.orbit-node.band-progress{box-shadow:inset 3px 0 0 var(--c-blue), var(--up-s)}.orbit-node.band-medium{box-shadow:inset 3px 0 0 var(--c-orange), var(--up-s)}.orbit-node.band-strong{box-shadow:inset 3px 0 0 var(--c-green), var(--up-s)}.sheet table.student-roster,table.student-roster{width:100%;min-width:0;max-width:100%}table.student-roster th,table.student-roster td{white-space:normal;vertical-align:top;height:auto}table.student-roster td[data-label=标记]{width:16rem;max-width:16rem}.tag-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}@media (min-width:768px){table.responsive th,table.responsive td{white-space:normal;height:auto}table.responsive th{min-width:4.5rem}}@media (max-width:767px){table.responsive thead{display:none}table.responsive td:not(.card-title)>*,table.responsive tbody th:not(.sticky)>*{white-space:normal;grid-column:2;min-width:0}.sheet table.student-roster,table.student-roster{width:100%;min-width:0;max-width:100%}table.responsive.student-roster thead{display:none}table.responsive.student-roster tbody{flex-direction:column;gap:8px;display:flex}table.responsive.student-roster tr{border-radius:var(--r-in);background:var(--bg);width:100%;min-width:0;box-shadow:var(--up-s);flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0;padding:12px 16px;display:flex}table.responsive.student-roster td{width:auto;min-width:0;max-width:100%;height:auto;box-shadow:none;white-space:normal;background:0 0;border:0;padding:0;font-size:14px;line-height:1.5;display:block}table.responsive.student-roster td.card-title,table.responsive.student-roster td[data-label=班级],table.responsive.student-roster td[data-label=就读学校],table.responsive.student-roster td[data-label=优先知识点],table.responsive.student-roster td[data-label=标记]{flex:100%;width:auto;max-width:100%}table.responsive.student-roster td.card-title{flex-wrap:wrap;align-items:center;gap:8px;font-size:16px;font-weight:600;line-height:1.4;display:flex}table.responsive.student-roster td[data-label=薄弱],table.responsive.student-roster td[data-label=学过未掌握],table.responsive.student-roster td[data-label=待确认],table.responsive.student-roster td[data-label=掌握],table.responsive.student-roster td[data-label=状态]{white-space:nowrap;flex:0 auto}table.responsive.student-roster td[data-label=薄弱]:has(.badge):before{content:none}table.responsive.student-roster td[data-label=学过未掌握]:has(.badge):before{content:none}table.responsive.student-roster td[data-label=待确认]:has(.badge):before{content:none}table.responsive.student-roster td:before{content:attr(data-label);color:var(--t3);margin-right:6px;font-size:12px;font-weight:400;line-height:1.5;display:inline}table.responsive.student-roster td.card-title:before{content:none}}.ability-notes .badge{white-space:normal;max-width:100%;height:auto;min-height:0;max-height:none;padding:4px 8px;line-height:1.5;display:inline}.tabbar a span,.tabbar button span{white-space:nowrap}button.desk-only,a.desk-only,.desk-only,.desk-span,.task-head,div.fold-bar,button.fold-mask,table.responsive td.desk-cell,table.responsive th.desk-cell{display:none}.fold-body{display:contents}.desk-fold{min-width:0}@media (min-width:1101px){.app-main>section:not(.keep-rail):not(.student-detail):has(>.page-rail){align-items:stretch;gap:var(--gap-v);flex-direction:column;display:flex}.guide-wide:has(>.page-rail){align-items:stretch;gap:var(--gap-v);flex-direction:column;display:flex}.app-main>section:not(.keep-rail):not(.student-detail)>.page-rail,.guide-wide>.page-rail{display:contents}.app-main>section:not(.keep-rail):not(.student-detail)>*,.guide-wide>*{order:10;min-width:0}.app-main>section:not(.keep-rail):not(.student-detail)>.page-head,.guide-wide>.page-head{order:1}section:has(>.page-rail) .head-theme{display:none}.guide-wide:has(>.page-rail) .head-theme{display:none}.app-main>section:not(.keep-rail):not(.student-detail) .rail-tools,.guide-wide .rail-tools{flex-direction:row;order:2;justify-content:flex-end;align-self:flex-end;align-items:center;width:auto;padding-top:0}.app-main>section:not(.keep-rail) .overview-card,.guide-wide .overview-card,.app-main>section:not(.keep-rail) .hero-card,.guide-wide .hero-card{order:3}.app-main>section:not(.keep-rail) .hero-card,.guide-wide .hero-card{order:4}.app-main>section:not(.keep-rail):not(.student-detail) .page-rail>.card:not(.overview-card):not(.hero-card):not(.task-kinds){order:30}.app-main>section:not(.keep-rail) .page-rail>.overview-card{order:3}.app-main>section:not(.keep-rail) .page-rail>.hero-card{order:4}.app-main>section:not(.keep-rail) .page-rail>.card.task-kinds,.app-main>section:not(.keep-rail) .page-rail>.rail-filters,.app-main>section:not(.keep-rail) .rail-fold{order:5}section:not(.keep-rail) .overview-card{box-shadow:none;background:0 0;padding:0}section:not(.keep-rail) .overview-card .side-metrics{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}section:not(.keep-rail) .overview-card .metric{justify-content:space-between;align-items:flex-end;gap:12px;min-height:92px;margin:0;padding:16px 18px;display:flex}section:not(.keep-rail) .rail-tools .page-tools{flex-wrap:wrap;align-items:center;gap:8px;width:auto;display:flex}section:not(.keep-rail) .rail-tools .page-tools .btn,section:not(.keep-rail) .rail-tools .page-tools .sel,section:not(.keep-rail) .rail-tools .page-tools .sel:last-child:nth-child(odd){grid-column:auto;width:auto}.guide-page .filter-grid{flex-wrap:nowrap;align-items:flex-end;gap:8px;display:flex}.guide-page .filter-grid .field{flex:1 1 0;min-width:0}.guide-page .filter-grid .btn{flex:none;width:auto}.sheet table,.table-wrap,table.responsive{width:100%}.sheet th,.sheet td{white-space:normal}table td.clip,table th.clip{text-overflow:ellipsis;white-space:nowrap;min-width:96px;max-width:220px;overflow:hidden}table td.clip>a{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:100%;display:inline-block;overflow:hidden}table td.clip.card-title:has(.badge){align-items:center;gap:8px;max-width:280px;display:flex}table td.clip.card-title:has(.badge)>a{flex:0 auto;min-width:0;max-width:100%}table td.clip.card-title:has(.badge)>.badge{flex:none}.board-roster table.student-roster{table-layout:fixed;width:100%}.board-roster table.student-roster th:first-child,.board-roster table.student-roster td:first-child{width:14%}.board-roster table.student-roster th:nth-child(2),.board-roster table.student-roster td:nth-child(2){width:18%}.board-roster table.student-roster th:nth-child(3),.board-roster table.student-roster td:nth-child(3){width:26%}.board-roster table.student-roster th:nth-child(4),.board-roster table.student-roster td:nth-child(4){width:14%}.board-roster table.student-roster td[data-label=标记],.board-roster table.student-roster th:nth-child(5){width:28%;max-width:none;overflow:visible}.board-roster .tag-row{flex-wrap:wrap;max-width:100%}td[data-label=考试画像],td[data-label=考试画像] a,.tag-row,td .badge,td .chip{white-space:nowrap}.tag-row{flex-wrap:nowrap}.task-kinds{box-shadow:none;background:0 0;flex-direction:column;align-items:flex-start;gap:8px;padding:0;display:flex}.task-kinds h2{clip:rect(0 0 0 0);width:1px;height:1px;margin:0;position:absolute;overflow:hidden}.task-kinds .stats-col{background:var(--bg);width:100%;box-shadow:var(--up-s);border-radius:8px;flex-flow:row;align-items:center;gap:0;padding:2px;display:flex;overflow-x:auto}.task-kinds a.stat{min-width:max-content;height:32px;box-shadow:none;white-space:nowrap;background:0 0;border-radius:6px;flex:1 0 auto;justify-content:center;align-items:center;gap:4px;margin:0;padding:0 8px;font-size:12px;line-height:1;display:flex}.task-kinds a.stat span{text-overflow:clip;overflow:visible}.task-kinds a.stat b{flex:none;font-size:12px;font-weight:600;line-height:1;display:inline}.task-kinds a.stat.on{background:var(--bg);box-shadow:var(--up);outline:none;font-weight:600}.task-kinds .filters{flex-flow:row;justify-content:flex-start;align-items:flex-end;gap:8px;width:auto;max-width:100%;display:flex}.task-kinds .filters .field,.task-kinds .filters select,.task-kinds .filters .btn{width:auto}.task-kinds .filters .field{flex:0 240px;margin-bottom:0}.task-kinds .filters select{max-width:240px}.choice-row,.filter-grid,.rail-filters,.page-tools,.task-kinds .filters{align-items:flex-end}.choice-row .field,.filter-grid .field,.rail-filters .field,.task-kinds .filters .field,.inline-form .field{margin-bottom:0}.choice-row input:not([type=hidden]):not([type=checkbox]):not([type=file]),.choice-row select,.choice-row .btn,.filter-grid input:not([type=hidden]):not([type=checkbox]):not([type=file]),.filter-grid select,.filter-grid .btn,.rail-filters input:not([type=hidden]):not([type=checkbox]):not([type=file]),.rail-filters select,.rail-filters .btn,.page-tools .sel,.page-tools .btn,.task-kinds .filters input:not([type=hidden]):not([type=checkbox]):not([type=file]),.task-kinds .filters select,.task-kinds .filters .btn,.inline-form input:not([type=hidden]):not([type=checkbox]):not([type=file]),.inline-form select,.inline-form .btn{box-sizing:border-box;height:32px;min-height:32px;max-height:32px;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;line-height:32px}.task-head,.task-list>li.task-row{grid-template-columns:36px minmax(96px,180px) minmax(88px,140px) minmax(0,1fr) 72px;align-items:center;gap:12px;display:grid}.task-head{color:var(--t3);padding:0 12px 4px;font-size:12px}.task-group{box-shadow:none;background:0 0;padding:0}.task-group>h2,.task-group>p{display:none}.task-list{gap:8px}.phone-cell{display:none}button.desk-only,a.desk-only,.desk-only{display:inline-flex}.desk-span{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}table.responsive td.desk-cell,table.responsive th.desk-cell{display:table-cell}.param-note{display:none}.student-detail{gap:var(--gap-v) var(--gap);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.student-detail>.page-rail,.student-detail>.stack,.student-detail>.stack>.split{display:contents}.student-detail>.page-head{grid-area:1/1;padding-right:12px}.student-detail .rail-tools{flex-direction:row;grid-area:1/2;justify-content:flex-end;align-self:center;align-items:center;width:auto;margin:0}.student-detail .rail-tools .btn{height:auto;min-height:0;box-shadow:none;color:var(--t2);background:0 0;padding:0 8px;font-size:13px}.student-detail .overview-card{grid-area:2/1/auto/-1}.student-detail>.hero-card{grid-area:3/1/auto/-1}.student-detail>.card,.student-detail>.banner,.student-detail>p.empty,.student-detail>form{grid-column:1/-1}.student-detail .panel:has(.table-wrap){grid-column:1/-1}.student-detail .panel:has(.radar){grid-column:1/-1}.student-detail .panel:has(.graph3d){grid-column:1/-1}.student-detail .panel:has(.spark-row){grid-column:1/-1}.student-detail .panel:has(>.stack){grid-column:1/-1}.student-detail>.stack>.panel:has(>ol.history){grid-column:1/-1}.student-detail>.stack>.split:has(>.panel:first-child>p.empty):not(:has(>.panel:first-child>ul)):not(:has(>.panel:first-child>ol))>.panel:last-child{grid-column:1/-1}.student-detail>.stack>.split:has(>.panel:last-child>p.empty):not(:has(>.panel:last-child>ul)):not(:has(>.panel:last-child>ol))>.panel:first-child{grid-column:1/-1}.student-detail .panel .split{grid-template-columns:auto minmax(0,1fr);align-items:end;gap:12px 16px;display:grid}.student-detail .panel .split>form.stack{flex-flow:wrap;align-items:flex-end;gap:12px;min-width:0;display:flex}.student-detail .panel .split .field{flex:180px;grid-template-rows:20px 32px;align-content:start;gap:6px;margin:0;display:grid}.student-detail .panel .split .field select,.student-detail .panel .split .field textarea,.student-detail .panel .split .field input:not([type=hidden]){box-sizing:border-box;height:32px;min-height:32px;max-height:32px;margin:0;padding-top:0;padding-bottom:0;line-height:32px}.student-detail .panel .split>form.stack>.btn{align-self:flex-end;height:32px;min-height:32px;margin:0}.student-detail .panel:has(>.empty):not(:has(ul,ol,table,form,.stack,.radar,.graph3d,.history,.spark-row)){display:none}.score-scroll{scrollbar-width:thin;scrollbar-color:var(--t3) transparent;background:linear-gradient(to left, var(--bg), var(--bg)) right center / 22px 100% no-repeat local, linear-gradient(to left, color-mix(in srgb, var(--t3) 45%, transparent), transparent) right center / 22px 100% no-repeat scroll;width:100%;min-width:0;max-width:100%;overflow-x:scroll}.score-scroll::-webkit-scrollbar{height:12px}.score-scroll::-webkit-scrollbar-track{background:0 0}.score-scroll::-webkit-scrollbar-thumb{background:var(--t3);border-radius:6px}.score-table{width:max-content;min-width:100%}.score-table .sticky{z-index:2;background:var(--bg);min-width:120px;position:sticky;left:0;box-shadow:8px 0 10px -8px #1414142e}.score-table thead .sticky{z-index:3}.review-scroll{max-height:calc(100dvh - 220px);overflow:auto}.review-scroll thead th{z-index:2;background:var(--bg);position:sticky;top:0}.admin-split{gap:var(--gap-v);flex-direction:column;display:flex}.admin-split>.add-panel{box-shadow:none;background:0 0;order:-1;margin:0;padding:0}.phone-head{display:none}.desk-fold.open .fold-mask{z-index:40;cursor:pointer;background:#0c0c0e47;border:0;padding:0;display:block;position:fixed;inset:0}.desk-fold.mode-collapse.open .fold-mask,.desk-fold.mode-slide .fold-body,.desk-fold.mode-dialog .fold-body{display:none}.desk-fold.mode-slide.open .fold-body,.desk-fold.mode-dialog.open .fold-body{z-index:50;background:var(--bg);box-shadow:var(--up);flex-direction:column;display:flex;position:fixed;overflow:auto}.desk-fold.mode-slide.open .fold-body{width:min(440px,92vw);height:100dvh;padding:24px;animation:.2s desk-slide;top:0;right:0}.desk-fold.mode-dialog.open .fold-body{border-radius:var(--r);width:min(440px,92vw);max-height:min(80dvh,720px);padding:24px;top:50%;left:50%;transform:translate(-50%,-50%)}.desk-fold.open .fold-bar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.desk-fold.mode-collapse .fold-body{display:none}.desk-fold.mode-collapse.open .fold-body{visibility:visible;pointer-events:auto;width:auto;height:auto;box-shadow:none;background:0 0;margin-top:12px;padding:0;display:block;position:static;overflow:visible;transform:none}.fold-body .inline-form{flex-direction:column;align-items:stretch}.fold-body .inline-form input{width:100%;min-width:0}.rail-filters{flex-flow:wrap;align-items:flex-end;gap:8px;width:auto;padding:16px;display:flex}.rail-filters .field,.rail-filters .btn{width:auto;min-width:0}}@media (min-width:1800px){.student-detail{grid-template-columns:repeat(3,minmax(0,1fr))}}@keyframes desk-slide{0%{transform:translate(28px)}to{transform:none}}@media (prefers-reduced-motion:reduce){.desk-fold.mode-slide.open .fold-body{animation:none}}
.tool-pair{justify-content:flex-end;align-items:center;gap:8px;display:flex}.page-rail .rail-tools>.tool-pair{align-self:flex-end}.bell{background:var(--bg);width:32px;height:32px;color:var(--t3);box-shadow:var(--up-s);border-radius:8px;flex:none;place-items:center;text-decoration:none;display:inline-grid;position:relative}.bell svg{width:18px;height:18px}.bell:hover,.bell.on{color:var(--btn-t)}.bell.on{box-shadow:var(--in-s)}.bell-count{box-sizing:border-box;background:var(--bg);min-width:18px;height:18px;color:var(--btn-t);box-shadow:var(--up-s);text-align:center;white-space:nowrap;pointer-events:none;border-radius:4px;padding:0 4px;font-size:11px;font-weight:700;line-height:18px;position:absolute;top:-7px;right:-9px}.notice-page,.message-page{gap:var(--gap-v);flex-direction:column;max-width:920px;display:flex}.notice-summary{justify-content:space-between;align-items:center;gap:12px;display:flex}.notice-summary p{color:var(--t2);margin:0}.notice-summary b{color:var(--btn-t);margin-right:4px;font-size:24px}.notice-list{gap:var(--gap);flex-direction:column;display:flex}.notice-card{padding:var(--pad-card);border-radius:var(--r);background:var(--bg);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"meta actions""title actions""body actions";gap:6px 24px;display:grid}.notice-card.is-unread{box-shadow:var(--up)}.notice-card.is-read{box-shadow:var(--in)}.notice-card-meta{flex-wrap:wrap;grid-area:meta;align-items:center;gap:4px 12px;display:flex}.notice-card-title{overflow-wrap:anywhere;grid-area:title;margin:0;font-size:17px}.notice-card-body{white-space:pre-wrap;overflow-wrap:anywhere;grid-area:body;margin:0;line-height:1.7}.notice-card-actions{grid-area:actions;align-self:center}.notice-card.is-read .notice-card-title,.notice-card.is-read .notice-card-body{color:var(--t3)}.notice-new{height:20px;min-height:20px;padding:0 6px}.home-notices .ct h2 .num{margin:0 2px}.notice-rows{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.notice-row{background:var(--bg);box-shadow:var(--up-s);border-radius:10px;align-items:center;gap:12px;padding:10px 12px;display:flex}.notice-row .grow{flex:1;min-width:0}.notice-row-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.message-form{gap:var(--gap-v) 32px;grid-template-columns:minmax(0,1.5fr) minmax(220px,1fr);grid-template-areas:"compose to""send send";display:grid}.message-compose{grid-area:compose}.message-to{border:0;flex-direction:column;grid-area:to;gap:8px;min-width:0;margin:0;padding:0;display:flex}.message-to legend{margin-bottom:8px;font-weight:600}.message-teachers{box-shadow:var(--in-s);border-radius:10px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px 12px;padding:12px;display:grid}.message-all{font-weight:600}.message-left{align-self:flex-end}.message-hint{color:var(--btn-t);margin:0;font-size:13px;font-weight:600}.message-send{grid-area:send;justify-content:flex-end;align-items:center;gap:16px;display:flex}.sent-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.sent-item details{box-shadow:var(--up-s);border-radius:10px}.sent-item details[open]{box-shadow:var(--in-s)}.sent-item summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:12px 14px;display:grid}.sent-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.sent-read{white-space:nowrap}.sent-receipts{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px 16px;margin:0;padding:4px 14px 14px;list-style:none;display:grid}.sent-receipts li{justify-content:space-between;align-items:center;gap:8px;display:flex}@media (max-width:767px){.bell{width:36px;height:36px}.mobile-tools{gap:8px}.page-head{padding-right:0}.page-head h1{padding-right:232px}.rail-tools .tool-pair,.page-head>.head-theme{display:none}.home-page .home-notices{order:1}.notice-summary .btn{flex:none}.notice-card{grid-template-columns:minmax(0,1fr);grid-template-areas:"meta""title""body""actions"}.notice-card-actions:empty{display:none}.notice-card-actions .btn,.notice-card-actions .inline-form{width:100%}.notice-row{flex-wrap:wrap}.message-form{grid-template-columns:minmax(0,1fr);grid-template-areas:"to""compose""send"}.message-send{flex-direction:column;align-items:stretch}.message-send .btn{width:100%;height:40px}.message-teachers{grid-template-columns:repeat(2,minmax(0,1fr))}.sent-item summary{grid-template-columns:minmax(0,1fr);gap:4px}}
:root{--data-good:#2fd13d;--data-mid:#ffa334;--data-weak:#fe3030;--data-watch:#2a87ff;--data-alert:#ff776d;--data-good-ink:#16782a;--data-mid-ink:#9a5200;--data-weak-ink:#c41f1f;--data-watch-ink:#1d63d6;--data-alert-ink:#b0443a;--series-1:#2f6fe4;--series-2:#ee7d1f;--series-3:#11a39a;--series-4:#c9447e;--series-total:#4a4858;--tone-good-text:var(--data-good-ink);--tone-mid-text:var(--data-mid-ink);--tone-weak-text:var(--data-weak-ink);--tone-watch-text:var(--data-watch-ink);--tone-alert-text:var(--data-alert-ink);--c-green:var(--data-good);--c-orange:var(--data-mid);--c-red:var(--data-weak);--c-blue:var(--data-watch);--c-coral:var(--data-alert);--ac:var(--data-watch)}[data-theme=dark]{--data-good-ink:#2fd13d;--data-mid-ink:#ffa334;--data-weak-ink:#ff6b5e;--data-watch-ink:#6f9bff;--data-alert-ink:#ff776d;--series-1:#6f9bff;--series-2:#ffa252;--series-3:#3fd0c6;--series-4:#ff7fb1;--series-total:#c9c9d6}
:root{--pill:calc(3px * var(--k)) calc(3px * var(--k)) calc(6px * var(--k)) var(--lo), calc(-2px * var(--k)) calc(-2px * var(--k)) calc(5px * var(--k)) var(--hi);--gloss:inset 1px 1px 0 #ffffff4d, inset -1px -1px 0 #00000014;--knob:2px 2px 4px var(--lo), -2px -2px 4px var(--hi)}[data-tone=mastered]{--tone:var(--data-good);--tone-ink:var(--tone-good-text)}[data-tone=partial]{--tone:var(--data-mid);--tone-ink:var(--tone-mid-text)}[data-tone=weak]{--tone:var(--data-weak);--tone-ink:var(--tone-weak-text)}[data-tone=progress]{--tone:var(--data-watch);--tone-ink:var(--tone-watch-text)}[data-tone=alert]{--tone:var(--data-alert);--tone-ink:var(--tone-alert-text)}.nc-num{font-variant-numeric:lining-nums tabular-nums;font-family:Fraunces,Noto Serif SC,serif;font-weight:600}.nc-ink{color:var(--tone-ink,inherit)}.badge.weak{--tone:var(--data-weak);--tone-ink:var(--tone-weak-text)}.badge.medium,.badge.warn{--tone:var(--data-mid);--tone-ink:var(--tone-mid-text)}.badge.strong,.badge.ok{--tone:var(--data-good);--tone-ink:var(--tone-good-text)}.badge.progress{--tone:var(--data-watch);--tone-ink:var(--tone-watch-text)}.badge.alert{--tone:var(--data-alert);--tone-ink:var(--tone-alert-text)}.nc-tag,.badge{box-sizing:border-box;background:var(--bg);max-width:100%;height:22px;box-shadow:var(--in-s);color:var(--tone-ink,var(--t2));white-space:nowrap;vertical-align:middle;border:0;border-radius:999px;justify-content:flex-start;justify-self:start;align-items:center;gap:5px;padding:0 10px;font-size:12px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.nc-tag>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.nc-tag[data-tone]:before,.badge:is(.weak,.medium,.warn,.strong,.ok,.progress,.alert):before{content:"";background:var(--tone);border-radius:50%;flex:none;width:6px;height:6px}.nc-tag.long,.badge.long{height:24px;box-shadow:inset 3px 0 0 var(--tone,transparent), var(--up-s);border-radius:5px}.seg{background:var(--bg);max-width:100%;box-shadow:var(--in-s);border-radius:999px;flex-wrap:wrap;justify-self:start;gap:4px;padding:4px;display:inline-flex}.seg a{color:var(--t3);transition:box-shadow .18s var(--ease), color .18s var(--ease);border-radius:999px;padding:6px 14px;font-size:13px;text-decoration:none}.seg a:hover{color:var(--t1)}.seg a[aria-current=true]{box-shadow:var(--up-s);color:var(--t1);font-weight:600}.seg a:active{box-shadow:var(--in-s)}.nc-legend{color:var(--t2);flex-wrap:wrap;gap:8px;margin:10px 0 12px;font-size:12px;display:flex}.nc-legend>span{background:var(--bg);box-shadow:var(--up-s);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.nc-legend i{background:var(--tone);width:14px;height:6px;box-shadow:var(--gloss);border-radius:3px}.nc-legend b{color:var(--t1);font-weight:600}.nc-chart-card{min-width:0}.nc-chart-card>h3{color:var(--t1);margin:0 0 4px;font-family:Noto Serif SC,serif;font-size:16px;font-weight:600}.nc-chart-card>.nc-sub{color:var(--t3);margin:0 0 14px;font-size:12px;line-height:1.6}.nc-chart-card>.nc-legend{margin-top:14px}.nc-meter{box-sizing:border-box;background:var(--bg);width:72px;max-width:100%;height:14px;box-shadow:var(--in-s);border-radius:999px;margin-top:6px;padding:3px;display:block}.nc-meter.inline{vertical-align:middle;margin:0 6px 0 0;display:inline-block}.nc-meter>i{background:var(--tone,var(--series-1));min-width:8px;height:100%;box-shadow:1px 1px 2px var(--lo), -1px -1px 2px var(--hi), var(--gloss);transform-origin:0;animation:meterIn .6s var(--ease) both;border-radius:999px;display:block}.nc-bars{box-sizing:border-box;background:var(--bg);min-width:24px;max-width:100%;height:46px;box-shadow:var(--in-s);border-radius:10px;flex:0 auto;justify-content:center;align-items:flex-end;gap:4px;padding:6px 8px;display:inline-flex}.nc-bars>i{background:var(--tone,var(--series-1));min-width:3px;min-height:4px;box-shadow:1px 1px 2px var(--lo), -1px -1px 2px var(--hi), var(--gloss);border-radius:999px;flex:0 8px;display:block}.nc-dot{z-index:1;box-sizing:border-box;border:2px solid var(--bg);background:var(--tone,var(--series-1));width:10px;height:10px;box-shadow:var(--knob);cursor:default;border-radius:50%;outline:none;margin:-5px 0 0 -5px;position:absolute}.nc-dot.current{width:13px;height:13px;margin:-6.5px 0 0 -6.5px}.nc-dot:hover,.nc-dot:focus-visible{z-index:3;box-shadow:3px 3px 6px var(--lo), -3px -3px 6px var(--hi)}.nc-dot:focus-visible{outline:2px solid var(--btn-t);outline-offset:2px}.nc-tip{border-radius:var(--r-btn);background:var(--bg);box-shadow:var(--up-s);color:var(--t2);white-space:nowrap;pointer-events:none;padding:5px 10px;font-size:12px;display:none;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)}.nc-tip b{color:var(--tone-ink,var(--t1));font-size:13px;display:block}.nc-dot.tip-left .nc-tip{left:auto;right:-8px;transform:none}.nc-dot.tip-right .nc-tip{left:-8px;transform:none}.nc-dot:hover .nc-tip,.nc-dot:focus .nc-tip{display:block}.nc-radar{margin:0}.nc-radar-stage{position:relative}.nc-radar-well{aspect-ratio:1;background:var(--bg);box-shadow:var(--in);border-radius:50%;position:absolute}.nc-radar svg{width:100%;height:auto;display:block;position:relative;overflow:visible}.nc-radar-grid{fill:none;stroke:var(--line);stroke-width:1px;vector-effect:non-scaling-stroke}.nc-radar-shape{fill:var(--series-1);fill-opacity:.14;stroke:var(--series-1);stroke-width:2px;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 calc(3px * var(--k)) calc(3px * var(--k)) var(--lo))}.nc-radar-label{color:var(--t3);-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:12px;line-height:1.3;display:-webkit-box;position:absolute;overflow:hidden}.nc-radar-label.at-left{text-align:right;transform:translate(-100%,-50%)}.nc-radar-label.at-right{text-align:left;transform:translateY(-50%)}.nc-radar-label.at-top{text-align:center;transform:translate(-50%,-100%)}.nc-radar-label.at-bottom{text-align:center;transform:translate(-50%)}.nc-line{min-width:0}.nc-well{box-sizing:border-box;border-radius:var(--r-in);background:var(--bg);height:104px;box-shadow:var(--in);padding:12px}.nc-canvas{height:100%;position:relative}.nc-canvas svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.nc-grid{stroke:var(--line);stroke-width:1px;vector-effect:non-scaling-stroke}.nc-path{fill:none;stroke:var(--series-1);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 calc(3px * var(--k)) calc(3px * var(--k)) var(--lo))}.nc-x{color:var(--t3);justify-content:space-between;margin:6px 12px 0;font-size:11px;display:flex}@media (max-width:600px){.nc-well{height:92px;padding:10px}}@media (prefers-reduced-motion:reduce){.nc-meter>i{animation:none}}
.panel-grid{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));min-width:0;display:grid}.panel-grid>*{min-width:0}.panel-grid.runs{grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr))}.student-detail .panel>.stack:has(>article){align-items:start;gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr))}.student-detail .viz-wrap{align-items:start;gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr))}.student-detail .nc-radar{max-width:600px;margin-inline:auto}@media (min-width:768px){.student-detail .spark-row{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.student-detail .spark{justify-content:space-between;min-width:0}.student-detail .spark>span:first-child{min-width:0}}@media (min-width:1101px){.student-detail{grid-template-columns:minmax(0,1fr) auto}.student-detail>.page-head{grid-column:1}.student-detail .rail-tools{grid-column:2}.student-detail>:not(.page-head,.page-rail,.stack),.student-detail>.page-rail>:not(.rail-tools),.student-detail>.stack>*{grid-column:1/-1}.student-detail .panel-grid>.panel{grid-column:auto}}
.nav-card{padding:28px 16px}.nav-card .logo{color:var(--t1);padding:0 18px 12px;font-family:Noto Serif SC,serif;font-size:19px;font-weight:600;line-height:1.35;text-decoration:none;display:block}.nav-card .logo-name{font-size:inherit;color:inherit}.nav-card nav,.nav-card.nav-front nav{overscroll-behavior:contain;scrollbar-width:thin;gap:6px;margin:-16px;padding:16px;overflow:hidden auto}.nav-card .side-links{flex-direction:column;gap:6px;display:flex}.nav-card .side-links a{border-radius:var(--r-nav);height:44px;box-shadow:none;color:var(--t3);transition:box-shadow .18s var(--ease), color .18s var(--ease);background:0 0;flex:none;align-items:center;padding:0 18px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.nav-card .side-links a:hover{color:var(--t1)}.nav-card .side-links a.on{background:var(--bg);color:var(--btn-t);box-shadow:var(--up);font-weight:600}.nav-card .side-foot{color:var(--t3);flex-shrink:0;gap:8px;margin-top:auto;padding:12px 18px 0;font-size:12px;display:grid}.nav-card .side-foot .who{align-items:baseline;gap:8px;min-width:0;line-height:20px;display:flex}.nav-card .side-foot .who-name{min-width:2em;color:var(--t1);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.nav-card .side-foot .who-role{min-width:0;color:var(--t3);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.nav-card .side-foot-actions{flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:8px;display:flex}.nav-card .side-foot-actions form{margin:0;display:flex}.nav-card .side-foot-actions .btn{flex:none;height:36px;min-height:36px}@media (min-width:768px) and (max-height:884px){.nav-card:not(.nav-front) nav,.nav-card:not(.nav-front) .side-links{gap:2px}.nav-card:not(.nav-front) .side-links a{height:36px}}@media (max-width:767px){:root{--tabbar-h:64px}.tabbar{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));height:var(--tabbar-h);min-height:var(--tabbar-h);border-radius:var(--r);gap:4px;padding:6px}.tabbar a,.tabbar button{border-radius:var(--r-in);min-width:44px;box-shadow:none;color:var(--t3);-webkit-tap-highlight-color:transparent;background:0 0;gap:3px;font-size:11px;font-weight:500;line-height:1}.tabbar a.on,.tabbar button.on{color:var(--t1);box-shadow:var(--in-s);background:0 0;font-weight:600}.tabbar a.on svg,.tabbar button.on svg{stroke:currentColor}.more-sheet{left:10px;right:10px;bottom:calc(var(--tabbar-h) + 22px + env(safe-area-inset-bottom));max-height:calc(100dvh - var(--tabbar-h) - 22px - 16px);border-radius:var(--r);padding:10px}.more-sheet a,.more-sheet button{border-radius:var(--r-in);height:auto;min-height:48px;color:var(--t2);margin:0 0 4px;padding:0 14px;font-size:15px}.more-sheet a.on,.more-sheet button.on{color:var(--t1);box-shadow:var(--in-s);background:0 0;font-weight:600}}.table-wrap{vertical-align:top;box-sizing:border-box;width:calc(100% + 24px);margin:-12px;padding:12px;display:inline-block}@media (min-width:1101px){.review-scroll{max-height:calc(100dvh - 196px)}.task-kinds .stats-col{box-sizing:border-box;width:calc(100% + 16px);margin:-8px;padding:10px}}.guide-phone{overflow:visible}
