:root{--bg:#0a0e14;--bg2:#0f1622;--panel:#131c2b;--panel2:#1a2536;--line:#243349;--ink:#eaf2ff;--muted:#8aa0bd;--dim:#5d7390;--accent:#c6ff2e;--accent2:#19f0c8;--g1:#13e6a6;--g2:#36a6ff;--g3:#ffd23f;--g4:#ff9248;--g5:#ff5a78;--shadow:0 24px 60px -20px #000000b3;--pre:"Pretendard",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--han:"Black Han Sans",var(--pre);--num:"Bebas Neue","Pretendard",sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{background:var(--bg);color:var(--ink);font-family:var(--pre)}body{-webkit-font-smoothing:antialiased;background:radial-gradient(900px 500px at 12% -8%,#c6ff2e1a,#0000 60%),radial-gradient(900px 600px at 100% 0,#19f0c817,#0000 55%),linear-gradient(#0a0e14,#0a0e14 40%,#0b1018);min-height:100vh;padding:0 0 80px}.wrap{max-width:1180px;margin:0 auto;padding:0 18px}header.top{border-bottom:1px solid var(--line);background:linear-gradient(#131c2b99,#0a0e1400);padding:34px 0 28px;position:relative;overflow:hidden}header.top:before{content:"";background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:34px 34px;position:absolute;inset:0;-webkit-mask:radial-gradient(700px 300px at 30% 0,#000,#0000 75%);mask:radial-gradient(700px 300px at 30% 0,#000,#0000 75%)}.brandrow{flex-wrap:wrap;align-items:center;gap:14px;display:flex;position:relative}.logomark{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#06210f;width:54px;height:54px;font-family:var(--han);border-radius:15px;flex:none;place-items:center;font-size:26px;display:grid;transform:rotate(-4deg);box-shadow:0 10px 30px -8px #c6ff2e80}.titles h1{font-family:var(--han);letter-spacing:.5px;background:linear-gradient(92deg,#fff 30%,var(--accent) 90%);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(26px,4.4vw,40px);font-weight:400;line-height:1.02}.titles .sub{color:var(--muted);letter-spacing:.2px;margin-top:5px;font-size:13.5px}.tag-2026{font-family:var(--num);letter-spacing:2px;color:#06210f;background:linear-gradient(135deg,var(--accent),var(--accent2));white-space:nowrap;border-radius:999px;align-self:flex-start;margin-left:auto;padding:7px 14px;font-size:15px;box-shadow:0 8px 24px -8px #c6ff2e80}.schoolbar{display:none}.grid{grid-template-columns:380px 1fr;align-items:start;gap:22px;margin-top:26px;display:grid}@media (max-width:880px){.grid{grid-template-columns:1fr}}.card{background:linear-gradient(180deg,var(--panel),var(--bg2));border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px}.card .head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:18px 20px 14px;display:flex}.card .head .dot{background:var(--accent);width:9px;height:9px;box-shadow:0 0 12px var(--accent);border-radius:50%}.card .head h2{letter-spacing:.3px;font-size:15px;font-weight:800}.card .head .mini{color:var(--dim);font-size:11.5px;font-family:var(--num);letter-spacing:1.5px;margin-left:auto}.card .body{padding:20px}.field{margin-bottom:16px}.fieldRow{gap:10px;margin-bottom:0;display:flex}.fieldRow .field{flex:1;margin-bottom:16px}.fieldRow .fieldShort{flex:0 0 140px}.labelOpt{color:var(--dim);font-size:10.5px;font-weight:500}.field>label{color:var(--muted);letter-spacing:.2px;margin-bottom:7px;font-size:12.5px;font-weight:700;display:block}.seg{background:var(--bg);border:1px solid var(--line);border-radius:12px;gap:4px;padding:4px;display:flex}.seg button{color:var(--muted);font-family:var(--pre);cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;padding:10px 0;font-size:14px;font-weight:800;transition:all .18s}.seg button.on[data-sex=male]{color:#fff;background:linear-gradient(135deg,#36a6ff,#2f7bff);box-shadow:0 6px 18px -8px #2f7bff}.seg button.on[data-sex=female]{color:#fff;background:linear-gradient(135deg,#ff6aa0,#ff4d7e);box-shadow:0 6px 18px -8px #ff4d7e}.inp{align-items:center;display:flex;position:relative}.inp input{background:var(--bg);border:1px solid var(--line);width:100%;color:var(--ink);font-family:var(--num);letter-spacing:.5px;border-radius:12px;padding:13px 52px 13px 14px;font-size:21px}.inp input::placeholder{font-family:var(--pre);letter-spacing:0;color:var(--dim);font-size:14px}.inp input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #c6ff2e21}.inp .unit{color:var(--dim);pointer-events:none;font-size:13px;font-weight:700;position:absolute;right:14px}#name{font-family:var(--pre);font-size:16px}.measure{grid-template-columns:1fr;gap:13px;display:grid}.mrow{background:var(--bg);border:1px solid var(--line);border-radius:14px;grid-template-columns:1fr;gap:7px;padding:12px 13px;display:grid}.mrow .mlab{align-items:center;gap:9px;display:flex}.mrow .ico{background:var(--panel2);border:1px solid var(--line);border-radius:9px;flex:none;place-items:center;width:30px;height:30px;font-size:16px;display:grid}.mrow .mt{font-size:13.5px;font-weight:800}.mrow .ms{color:var(--dim);margin-top:1px;font-size:11px}.mrow .inp input{padding:11px 52px 11px 13px;font-size:19px}.twocol{grid-template-columns:1fr 1fr;gap:10px;display:grid}.bmiout{background:var(--panel2);border:1px dashed var(--line);color:var(--muted);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;margin-top:9px;padding:8px 12px;font-size:12.5px;display:flex}.bmiout b{font-family:var(--num);color:var(--accent2);letter-spacing:1px;font-size:20px}.btnrow{gap:10px;margin-top:6px;display:flex}.btn{cursor:pointer;font-family:var(--pre);border:0;border-radius:13px;justify-content:center;align-items:center;gap:8px;font-weight:800;transition:all .16s;display:flex}.btn:active{transform:translateY(1px)scale(.99)}.btn-primary{color:#06210f;background:linear-gradient(135deg,var(--accent),var(--accent2));flex:1;padding:16px;font-size:16px;box-shadow:0 14px 30px -12px #c6ff2e99}.btn-primary:hover{filter:brightness(1.06)}.btn-ghost{color:var(--muted);background:var(--panel2);border:1px solid var(--line);padding:0 16px;font-size:13.5px}.btn-ghost:hover{color:var(--ink);border-color:var(--accent2)}#result{min-height:380px}.empty{text-align:center;color:var(--dim);place-items:center;padding:60px 24px;display:grid}.empty .big{font-family:var(--han);opacity:.18;font-size:46px;line-height:1}.empty p{max-width:300px;margin-top:14px;font-size:14px;line-height:1.6}.res-head{flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:6px;display:flex}.res-head .who{align-items:center;gap:11px;display:flex}.res-head .av{width:46px;height:46px;font-family:var(--han);color:#fff;border-radius:13px;place-items:center;font-size:20px;display:grid}.res-head .nm{font-family:var(--han);font-size:24px}.res-head .meta{color:var(--muted);margin-top:2px;font-size:12px}.res-head .score-pill{text-align:right;margin-left:auto}.res-head .score-pill .lab{color:var(--dim);letter-spacing:1px;font-size:11px}.res-head .score-pill .val{font-family:var(--num);letter-spacing:1px;font-size:40px;line-height:.9}.res-head .score-pill .of{color:var(--muted);font-size:14px}.res-grid{grid-template-columns:1.05fr .95fr;gap:18px;margin-top:14px;display:grid}@media (max-width:640px){.res-grid{grid-template-columns:1fr}}.radarbox{background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:10px;position:relative;overflow:hidden}.radarbox:after{content:"";pointer-events:none;background:radial-gradient(420px 240px at 50% 30%,#19f0c80f,#0000 70%);position:absolute;inset:0}svg.radar{width:100%;height:auto;display:block}.radar-data{transform-origin:200px 200px;animation:.85s cubic-bezier(.18,.85,.25,1) both pop}@keyframes pop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.radar-axis-label{font-family:var(--pre);fill:var(--ink);font-size:12.5px;font-weight:800}.radar-axis-sub{font-family:var(--pre);fill:var(--muted);font-size:9.5px}svg.radar [data-axis]{transition:opacity .35s,filter .35s,stroke .35s,fill .35s,stroke-width .35s,font-size .35s,r .35s}svg.radar line.radar-axis.axis-on{filter:url(#axisGlow);stroke:#c6ff2e!important;stroke-width:2.4px!important}svg.radar line.radar-ray.axis-on{filter:url(#axisGlow);animation:1.6s ease-in-out infinite rayPulse;opacity:.85!important}svg.radar text.radar-axis-label.axis-on{filter:url(#axisGlow);font-size:14.5px;fill:#c6ff2e!important}svg.radar text.radar-axis-sub.axis-on{font-size:10.5px;fill:#19f0c8!important}svg.radar circle.radar-dot.axis-on{r:8.5;filter:url(#axisGlow);stroke:#c6ff2e!important;stroke-width:2.5px!important}svg.radar text.radar-vtag.axis-on{filter:url(#axisGlow);font-size:15px;font-weight:800}svg.radar .axis-dim{opacity:.32}@keyframes rayPulse{0%,to{opacity:.55}50%{opacity:.95}}.radar-vtag{font-family:var(--num);letter-spacing:.5px;font-size:13px}.cards{flex-direction:column;gap:9px;display:flex}.ecard{background:var(--bg);border:1px solid var(--line);border-left-width:4px;border-radius:13px;grid-template-columns:34px 1fr auto;align-items:center;gap:11px;padding:11px 13px;animation:.5s both slidein;display:grid}@keyframes slidein{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}.ecard .ei{background:var(--panel2);border-radius:10px;place-items:center;width:34px;height:34px;font-size:17px;display:grid}.ecard .en{font-size:13.5px;font-weight:800}.ecard .ev{color:var(--muted);margin-top:1px;font-size:11.5px}.ecard .ev b{color:var(--ink);font-family:var(--num);letter-spacing:.4px;font-size:14px}.ecard .gb{font-family:var(--num);letter-spacing:.5px;color:#06210f;white-space:nowrap;border-radius:8px;padding:5px 10px;font-size:13px;font-weight:700}.analysis{grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;display:grid}@media (max-width:640px){.analysis{grid-template-columns:1fr}}.abox{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:15px 16px}.abox .ah{letter-spacing:.4px;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;font-weight:800;display:flex}.abox .ah .chip{border-radius:7px;padding:3px 8px;font-size:10.5px;font-weight:800}.abox .nm2{font-family:var(--han);font-size:18px}.abox p{color:var(--muted);margin-top:6px;font-size:13px;line-height:1.65}.verdict{border:1px solid var(--line);background:linear-gradient(135deg,#c6ff2e14,#19f0c80d);border-radius:14px;margin-top:12px;padding:15px 16px}.verdict .vh{color:var(--accent2);letter-spacing:.5px;margin-bottom:5px;font-size:12px;font-weight:800}.verdict p{color:var(--ink);font-size:13.5px;line-height:1.65}.planBox{background:var(--bg);border:1px solid var(--line);border-radius:16px;margin-top:14px;padding:16px 17px;position:relative;overflow:hidden}.planHeader{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.planHeader .pTitle{letter-spacing:.4px;color:var(--accent);align-items:center;gap:7px;font-size:13px;font-weight:800;display:flex}.planHeader .pHint{color:var(--dim);margin-left:auto;font-size:11.5px}.pickerSection{margin-bottom:13px}.pickerSection:last-child{margin-bottom:0}.pickerLabel{color:var(--ink);letter-spacing:.2px;align-items:center;gap:7px;margin-bottom:8px;font-size:12px;font-weight:800;display:flex}.pickerLabel .stepNum{background:var(--panel2);border:1px solid var(--line);width:20px;height:20px;color:var(--muted);font-family:var(--num);border-radius:6px;place-items:center;font-size:12px;font-weight:700;display:grid}.pickerLabel.done .stepNum{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#06210f;border-color:#0000}.pickerLabel .pSubtxt{color:var(--dim);letter-spacing:0;margin-left:6px;font-size:10.5px;font-weight:600}.areaTabs{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}@media (max-width:520px){.areaTabs{grid-template-columns:repeat(2,1fr)}}.areaTabs button{border:1px solid var(--line);background:var(--panel2);color:var(--muted);font-family:var(--pre);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:3px;padding:10px 6px;font-size:12.5px;font-weight:800;line-height:1.2;transition:all .18s;display:flex;position:relative}.areaTabs button .aIco{font-size:18px;line-height:1}.areaTabs button .aSub{color:var(--dim);font-size:10px;font-weight:600}.areaTabs button:hover{border-color:var(--accent2);color:var(--ink)}.areaTabs button.on{color:#062a33;background:linear-gradient(135deg,#19f0c8,#3da9fc);border-color:#0000;box-shadow:0 8px 22px -10px #19f0c880}.areaTabs button.on .aSub{color:#063a3a}.areaTabs button .reco{color:#fff;letter-spacing:.2px;background:#ff5a78;border-radius:5px;padding:2px 5px;font-size:8.5px;font-weight:800;position:absolute;top:-5px;right:-3px}.planTabs{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.planTabs button{border:1px solid var(--line);background:var(--panel2);color:var(--muted);font-family:var(--pre);cursor:pointer;border-radius:11px;flex-direction:column;align-items:center;gap:2px;padding:11px 8px;font-size:13.5px;font-weight:800;transition:all .18s;display:flex;position:relative}.planTabs button .pSub{color:var(--dim);letter-spacing:.3px;font-size:10.5px;font-weight:600}.planTabs button:hover{border-color:var(--accent2);color:var(--ink)}.planTabs button.on{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#06210f;border-color:#0000;box-shadow:0 8px 22px -10px #c6ff2e80}.planTabs button.on .pSub{color:#0a4730}.planTabs button .reco{color:#fff;letter-spacing:.2px;background:#ff5a78;border-radius:5px;padding:2px 5px;font-size:8.5px;font-weight:800;position:absolute;top:-5px;right:-3px}.planPrompt{border:1px dashed var(--line);text-align:center;color:var(--muted);background:linear-gradient(135deg,#19f0c80d,#c6ff2e0a);border-radius:13px;margin-top:14px;padding:22px 18px}.planPrompt .ppIco{opacity:.65;margin-bottom:6px;font-size:28px}.planPrompt .ppMain{color:var(--ink);margin-bottom:5px;font-size:13.5px;font-weight:700}.planPrompt .ppSub{color:var(--dim);font-size:12px;line-height:1.6}.planPrompt .ppStatus{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:9px;display:inline-flex}.planPrompt .ppChip{background:var(--panel2);border:1px solid var(--line);color:var(--dim);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700}.planPrompt .ppChip.ok{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#06210f;border-color:#0000}.planContent{margin-top:14px;animation:.35s both planFade}@keyframes planFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.planMeta{color:var(--muted);flex-wrap:wrap;gap:14px;margin-bottom:12px;font-size:12px;display:flex}.planMeta span b{color:var(--ink);font-weight:800}.planSection{background:var(--panel2);border:1px solid var(--line);border-radius:12px;margin-bottom:9px;padding:12px 14px}.planSection .pSecHead{align-items:center;gap:8px;margin-bottom:8px;display:flex}.planSection .pNum{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#06210f;width:24px;height:24px;font-family:var(--num);border-radius:7px;place-items:center;font-size:14px;font-weight:700;display:grid}.planSection .pName{font-size:13.5px;font-weight:800}.planSection .pDur{font-family:var(--num);color:var(--accent2);letter-spacing:.5px;margin-left:auto;font-size:13px}.planList{gap:6px;margin:0;padding:0;list-style:none;display:grid}.planList li{color:var(--ink);align-items:baseline;gap:8px;font-size:13px;line-height:1.55;display:flex}.planList li:before{content:"▸";color:var(--accent);flex:none;font-weight:800}.planList li .reps{font-family:var(--num);color:var(--muted);letter-spacing:.4px;white-space:nowrap;margin-left:auto;padding-left:8px;font-size:12.5px}.planTip{color:var(--muted);border-left:3px solid var(--accent);background:#c6ff2e0f;border-radius:0 9px 9px 0;margin-top:6px;padding:9px 12px;font-size:12.5px;line-height:1.6}.res-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.res-actions .btn{padding:12px 16px;font-size:13.5px}.btn-print{background:var(--panel2);border:1px solid var(--line);color:var(--muted)}.btn-print:hover{color:var(--ink)}.journalCard{margin-top:22px}.jIntro{color:var(--muted);margin-bottom:14px;font-size:13px;line-height:1.65}.jIntro b{color:var(--ink);font-weight:800}.journalGrid{grid-template-columns:repeat(5,1fr);gap:9px;display:grid}@media (max-width:900px){.journalGrid{grid-template-columns:repeat(3,1fr)}}@media (max-width:560px){.journalGrid{grid-template-columns:repeat(2,1fr)}}.journalBox{color:#1e40af;background:#fff;border:2px solid #1e40af;border-radius:13px;flex-direction:column;gap:5px;min-height:140px;padding:9px 11px;display:flex}.journalBox .jHead{align-items:center;gap:6px;display:flex}.journalBox .jNum{color:#fff;width:22px;height:22px;font-family:var(--num);letter-spacing:0;background:#1e40af;border-radius:50%;flex:none;place-items:center;font-size:12.5px;font-weight:800;display:grid}.journalBox .jTitle{color:#1e40af;flex:none;font-size:12px;font-weight:800}.journalBox .jDate{border-bottom:1.5px dashed #1e40af;flex:1;align-self:flex-end;min-height:14px;margin-bottom:2px}.journalBox .jExList{color:#1e40af;margin:2px 0 0;padding:0;font-size:9.5px;line-height:1.55;list-style:none}.journalBox .jExList li{align-items:baseline;gap:4px;display:flex}.journalBox .jExList li .jNo{flex:none;font-weight:800}.journalBox .jExList li .jName{flex:1;font-weight:600}.journalBox .jExList li .jReps{color:#6b7280;font-family:var(--num);letter-spacing:.3px;flex:none;font-size:10px}.journalBox .jWrite{border-top:1px dashed #dbeafe;flex:1;min-height:30px;margin-top:3px}.safetyCard{border:1px solid var(--line);background:linear-gradient(135deg,#ffd23f14,#ff92480f);border-left:4px solid #ffd23f;border-radius:13px;margin-top:14px;padding:14px 16px}.safetyHead{color:#ffd23f;letter-spacing:.3px;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;font-weight:800;display:flex}.safetyList{grid-template-columns:1fr 1fr;gap:7px 14px;margin:0;padding:0;list-style:none;display:grid}@media (max-width:600px){.safetyList{grid-template-columns:1fr}}.safetyList li label{cursor:pointer;color:var(--ink);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:flex}.safetyList li input{accent-color:var(--accent);cursor:pointer;flex:none;width:16px;height:16px}.safetyList li label.done{color:var(--dim);text-decoration:line-through}.journalBox.midCheck{grid-column:span 2;background:linear-gradient(135deg,#fff7ed,#fef3c7)!important;border:2.5px solid #f59e0b!important}@media (max-width:560px){.journalBox.midCheck{grid-column:span 2}}.journalBox.midCheck .jNum{background:#f59e0b!important}.journalBox.midCheck .jTitle{color:#b45309!important;font-size:13px!important}.midPrompt{color:#92400e;padding:4px 0;font-size:11px;font-weight:600;line-height:1.5}.midPrompt b{color:#7c2d12}.jRpe{color:#1e40af;letter-spacing:0;border-top:1px dashed #dbeafe;flex-wrap:nowrap;align-items:center;gap:3px;margin-top:3px;padding-top:4px;font-size:8px;font-weight:700;display:flex}.jRpe .rLab{flex:none;font-size:8.5px}.jRpe .rScale{flex:1;justify-content:space-between;gap:2px;display:flex}.jRpe .rN{width:13px;height:13px;font-family:var(--num);color:#1e40af;border:1px solid #1e40af;border-radius:50%;place-items:center;font-size:8.5px;display:grid}.journalBox[data-week="1"]{border-color:#60a5fa}.journalBox[data-week="2"]{border-color:#3b82f6}.journalBox[data-week="3"]{border-color:#1d4ed8}.journalBox[data-week="4"]{background:linear-gradient(#fff,#f5f9ff);border-color:#1e3a8a}.journalBox[data-week="1"] .jNum{background:#60a5fa}.journalBox[data-week="2"] .jNum{background:#3b82f6}.journalBox[data-week="3"] .jNum{background:#1d4ed8}.journalBox[data-week="4"] .jNum{background:#1e3a8a}.journalBox .jWeek{color:#1e40af;letter-spacing:.2px;align-items:center;gap:3px;padding:2px 0;font-size:8.5px;font-weight:800;display:flex}@keyframes recoPulse{0%,to{box-shadow:0 0 #ff5a788c}50%{box-shadow:0 0 0 7px #ff5a7800}}.areaTabs button.has-reco:not(.on){animation:2s ease-in-out infinite recoPulse}.modeBanner{background:linear-gradient(135deg,#36a6ff29,#19f0c81a);border:1px solid #36a6ff;border-radius:13px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:11px 14px;display:none}.modeBanner.on{display:flex}.modeBanner .mTitle{color:#36a6ff;align-items:center;gap:7px;font-size:13px;font-weight:800;display:flex}.modeBanner .mInfo{color:var(--muted);flex:1;min-width:140px;font-size:11.5px}.modeBanner .mInfo b{color:var(--ink)}.modeBanner .mBack{border:1px solid var(--line);background:var(--panel2);color:var(--muted);font-family:var(--pre);cursor:pointer;border-radius:8px;padding:6px 11px;font-size:11.5px;font-weight:700}.modeBanner .mBack:hover{color:var(--ink);border-color:var(--accent2)}.modeChip{color:#fff;letter-spacing:.3px;background:linear-gradient(135deg,#36a6ff,#2f7bff);border-radius:999px;align-items:center;gap:5px;margin-left:8px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-flex}.btn-postmode{color:#fff;background:linear-gradient(135deg,#36a6ff,#2f7bff);box-shadow:0 10px 24px -10px #36a6ff8c}.btn-postmode:hover{filter:brightness(1.08)}.btn-export{color:#fff;background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 8px 20px -10px #8b5cf68c}.btn-export:hover{filter:brightness(1.08)}.adminImportBtn{color:#06210f;font-family:var(--pre);cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#13e6a6,#19f0c8);border:none;border-radius:8px;padding:7px 14px;font-size:12px;font-weight:800;transition:all .2s}.adminImportBtn:hover{filter:brightness(1.08)}.ccard{background:var(--bg);border:1px solid var(--line);border-left-width:4px;border-radius:13px;grid-template-columns:34px 1fr auto;align-items:center;gap:11px;padding:11px 13px;animation:.5s both slidein;display:grid}.ccard.up{border-left-color:#13e6a6}.ccard.same{border-left-color:#8aa0bd}.ccard.down{border-left-color:#ff5a78}.ccard .ei{background:var(--panel2);border-radius:10px;place-items:center;width:34px;height:34px;font-size:17px;display:grid}.ccard .cmid{flex-direction:column;gap:2px;min-width:0;display:flex}.ccard .cn{font-size:13px;font-weight:800}.ccard .cv{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:11.5px;display:flex}.ccard .cv .gPre{color:var(--dim);text-decoration:line-through}.ccard .cv .gArr{color:var(--accent);font-weight:800}.ccard .cv .gPost{font-family:var(--num);color:var(--ink);letter-spacing:.5px;font-size:14px;font-weight:700}.ccard .cdiff{font-family:var(--pre);color:#06210f;white-space:nowrap;text-align:center;border-radius:8px;padding:5px 10px;font-size:11.5px;font-weight:800;line-height:1.1}.ccard.up .cdiff{background:#13e6a6}.ccard.same .cdiff{color:#fff;background:#8aa0bd}.ccard.down .cdiff{color:#fff;background:#ff5a78}.ccard .cdiff small{opacity:.85;margin-top:1px;font-size:9px;font-weight:600;display:block}.improveSummary{border:1px solid var(--line);background:linear-gradient(135deg,#13e6a61a,#36a6ff14);border-radius:14px;margin-top:14px;padding:15px 17px}.improveSummary .iHead{color:#13e6a6;letter-spacing:.3px;align-items:center;gap:7px;margin-bottom:7px;font-size:13px;font-weight:800;display:flex}.improveSummary .iStats{flex-wrap:wrap;gap:10px;margin-bottom:8px;display:flex}.improveSummary .iStat{background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:5px 11px;font-size:12px;font-weight:700}.improveSummary .iStat.up{color:#13e6a6;border-color:#13e6a6}.improveSummary .iStat.down{color:#ff5a78;border-color:#ff5a78}.improveSummary .iStat.same{color:#8aa0bd}.improveSummary p{color:var(--ink);font-size:13px;line-height:1.65}svg.radar .radar-pre-poly{fill:#8aa0bd1f;stroke:#8aa0bd;stroke-width:1.8px;stroke-dasharray:6 4}svg.radar .radar-pre-dot{fill:#8aa0bd;stroke:#0a0e14;stroke-width:1.5px}.radarLegend{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:14px;margin-top:6px;font-size:11px;display:flex}.radarLegend .lg{align-items:center;gap:5px;display:inline-flex}.radarLegend .lgSwatch{border-radius:2px;width:22px;height:3px;display:inline-block}.radarLegend .lg.now .lgSwatch{background:linear-gradient(90deg,#c6ff2e,#19f0c8)}.radarLegend .lg.prev .lgSwatch{background:#ff8c61}.radarLegend .lg.target .lgSwatch{background:repeating-linear-gradient(90deg,#19f0c8 0 4px,#0000 4px 8px)}footer.foot{text-align:center;color:var(--dim);margin-top:34px;font-size:12.5px;line-height:1.8}footer.foot .credit{border:1px solid var(--line);color:var(--ink);background:linear-gradient(135deg,#c6ff2e1a,#19f0c812);border-radius:999px;align-items:center;gap:9px;margin-top:10px;padding:8px 18px;font-size:13px;font-weight:700;display:inline-flex}footer.foot .credit .spark{font-size:15px}footer.foot .note{margin-top:14px;max-width:680px;color:var(--dim);margin-inline:auto;font-size:11.5px;line-height:1.7}.toast{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#06210f;opacity:0;pointer-events:none;z-index:99;border-radius:13px;padding:13px 22px;font-size:14px;font-weight:800;transition:all .28s;position:fixed;bottom:26px;left:50%;transform:translate(-50%)translateY(20px);box-shadow:0 18px 40px -12px #0009}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.goalsCard{border:1px solid var(--line);background:linear-gradient(135deg,#19f0c80f,#c6ff2e0a);border-radius:14px;margin-top:14px;padding:15px 17px}.goalsHead{color:var(--accent2);letter-spacing:.3px;align-items:center;gap:8px;margin-bottom:6px;font-size:13px;font-weight:800;display:flex}.goalsHead .gBadge{background:var(--accent2);color:#062a33;border-radius:6px;padding:2px 7px;font-size:9.5px;font-weight:800}.goalsIntro{color:var(--muted);margin-bottom:11px;font-size:12px;line-height:1.6}.goalsIntro b{color:var(--ink);font-weight:800}.goalList{grid-template-columns:1fr 1fr;gap:9px;display:grid}@media (max-width:560px){.goalList{grid-template-columns:1fr}}.goalRow{background:var(--bg);border:1px solid var(--line);border-radius:11px;align-items:center;gap:10px;padding:9px 12px;display:flex}.goalRow .gIco{flex:none;font-size:18px}.goalRow .gInfo{flex:1;min-width:0}.goalRow .gName{font-size:12.5px;font-weight:800}.goalRow .gCur{color:var(--dim);margin-top:1px;font-size:10.5px}.goalRow .gArrow{color:var(--accent);flex:none;font-size:13px}.goalRow select{background:var(--panel2);border:1px solid var(--line);color:var(--ink);font-family:var(--pre);cursor:pointer;border-radius:8px;flex:none;padding:6px 8px;font-size:13px;font-weight:700}.goalRow select:focus{border-color:var(--accent);outline:none}.goalsActions{flex-wrap:wrap;gap:9px;margin-top:11px;display:flex}.goalsActions .btn{cursor:pointer;font-size:12.5px;font-weight:800;font-family:var(--pre);border:0;border-radius:10px;padding:9px 14px}.goalsBtnSave{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#06210f}.goalsBtnSave:hover{filter:brightness(1.06)}.goalsBtnClear{background:var(--panel2);color:var(--muted);border:1px solid var(--line)!important}.goalsBtnClear:hover{color:var(--g5)}.goalsStatus{color:var(--accent2);align-self:center;margin-left:auto;font-size:12px;font-weight:700}.compareBanner{border:1px solid var(--accent2);background:linear-gradient(135deg,#19f0c81a,#c6ff2e0f);border-radius:13px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;padding:11px 15px;display:flex}.compareBanner .cIcon{font-size:22px}.compareBanner .cText{flex:1;min-width:170px;font-size:13px;line-height:1.5}.compareBanner .cText b{color:var(--accent2)}.compareBanner button{border:1px solid var(--line);background:var(--panel2);color:var(--muted);font-family:var(--pre);cursor:pointer;border-radius:8px;padding:7px 11px;font-size:12px;font-weight:700}.compareBanner button:hover{color:var(--ink);border-color:var(--accent2)}.changeChip{font-family:var(--num);letter-spacing:.3px;border-radius:6px;align-items:center;gap:3px;margin-left:6px;padding:2px 7px;font-size:11.5px;font-weight:800;display:inline-flex}.changeChip.up{color:#13e6a6;background:#13e6a629}.changeChip.down{color:#ff5a78;background:#ff5a7829}.changeChip.same{background:var(--panel2);color:var(--muted)}.goalMet{color:#062a33;letter-spacing:.3px;background:linear-gradient(135deg,#13e6a6,#19f0c8);border-radius:6px;margin-left:6px;padding:2px 7px;font-size:11px;font-weight:800;display:inline-block}.goalMissed{background:var(--panel2);color:var(--muted);border:1px solid var(--line);border-radius:6px;margin-left:6px;padding:2px 7px;font-size:11px;font-weight:800;display:inline-block}svg.radar polygon.radar-prev{fill:#ff8c612e;stroke:#ff8c61;stroke-width:2px;stroke-dasharray:6 4;transition:all .35s}svg.radar circle.radar-dot-prev{fill:#ff8c61;stroke:#0a0e14;stroke-width:1.5px;opacity:.85;transition:all .35s}svg.radar[data-focus=pre] polygon.radar-prev{filter:drop-shadow(0 0 8px #ff8c6180);fill:#ff8c616b!important;stroke:#ff8c61!important;stroke-width:3px!important;stroke-dasharray:0!important}svg.radar[data-focus=pre] circle.radar-dot-prev{r:6!important;opacity:1!important}svg.radar[data-focus=pre] polygon.radar-poly{fill:#c6ff2e0f!important;stroke:#7a8c4a!important;stroke-width:1.6px!important;stroke-dasharray:6 4!important}svg.radar[data-focus=pre] circle.radar-dot,svg.radar[data-focus=pre] text.radar-vtag{opacity:.25}svg.radar[data-focus=post] polygon.radar-poly{filter:drop-shadow(0 0 8px #c6ff2e66)}.radarFocusBtns{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px;display:flex}.rfBtn{border:1.5px solid var(--line);background:var(--panel2);color:var(--muted);font-family:var(--pre);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:800;transition:all .2s;display:inline-flex}.rfBtn .rfDot{border-radius:50%;width:10px;height:10px}.rfBtn[data-focus=pre] .rfDot{background:#ff8c61}.rfBtn[data-focus=post] .rfDot{background:linear-gradient(135deg,#c6ff2e,#19f0c8)}.rfBtn:hover{color:var(--ink);border-color:var(--accent2)}.rfBtn.on[data-focus=pre]{color:#fff;background:linear-gradient(135deg,#ff8c61,#ff6a3d);border-color:#0000;box-shadow:0 8px 22px -10px #ff8c6199}.rfBtn.on[data-focus=post]{color:#06210f;background:linear-gradient(135deg,#c6ff2e,#19f0c8);border-color:#0000;box-shadow:0 8px 22px -10px #c6ff2e99}.journalBox{cursor:pointer;transition:transform .2s,box-shadow .2s;position:relative}.journalBox:hover{transform:translateY(-2px);box-shadow:0 8px 18px #1e40af2e}.journalBox.empty{cursor:default;background:#1e40af08!important;border-style:dashed!important;border-color:#1e40af38!important}.journalBox.empty:hover{box-shadow:none;transform:none}.journalBox .emptyHint{color:#94a3b8;text-align:center;flex:1;justify-content:center;align-items:center;padding:14px 0;font-size:10.5px;font-style:italic;line-height:1.4;display:flex}.journalBox.empty .jExList,.journalBox.empty .jWrite,.journalBox.empty .jRpe,.journalBox.empty .midPrompt{display:none}.planActions{text-align:center;border-top:1px dashed var(--line);margin-top:18px;padding-top:14px}.btn-add{color:#06210f;cursor:pointer;font-size:14.5px;font-weight:800;font-family:var(--pre);letter-spacing:-.2px;background:linear-gradient(135deg,#13e6a6,#19f0c8);border:none;border-radius:12px;padding:13px 28px;transition:all .2s;box-shadow:0 10px 24px -10px #13e6a68c}.btn-add:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn-add:disabled{color:#7a8696;cursor:not-allowed;filter:none;box-shadow:none;background:linear-gradient(135deg,#2a3340,#1f2630);transform:none}.addHint{color:var(--muted);margin-top:10px;font-size:11.5px;line-height:1.6}.addHint b{color:var(--accent);font-weight:800}.allFilledMsg{text-align:center;border:1.5px solid var(--accent2);color:var(--accent2);background:linear-gradient(135deg,#19f0c824,#c6ff2e14);border-radius:13px;padding:18px;font-size:15px;font-weight:800;line-height:1.55}.allFilledMsg .afBig{margin-bottom:6px;font-size:24px;display:block}.jDoneBtn{color:#06210f;width:100%;font-family:var(--pre);cursor:pointer;background:linear-gradient(135deg,#13e6a6,#19f0c8);border:none;border-radius:9px;margin-top:9px;padding:9px;font-size:12.5px;font-weight:800;transition:all .2s}.jDoneBtn:hover{filter:brightness(1.08);transform:translateY(-1px)}.jDoneBtn:active{transform:translateY(0)}.jUndoBtn{z-index:6;color:#fff;font-family:var(--pre);cursor:pointer;background:#0a0e1499;border:1px solid #ffffff59;border-radius:7px;padding:3px 9px;font-size:10px;font-weight:700;position:absolute;bottom:7px;right:8px}.jUndoBtn:hover{background:#0a0e14d9}.jResetBtn{border:1px solid var(--line);color:var(--muted);font-family:var(--pre);cursor:pointer;background:0 0;border-radius:8px;margin-left:auto;padding:5px 11px;font-size:11px;font-weight:700;transition:all .2s}.jResetBtn:hover{color:#ff5a78;border-color:#ff5a78}.doneStamp{pointer-events:none;z-index:5;filter:drop-shadow(0 3px 8px #19f0c859);width:78%;height:78%;color:var(--accent2);animation:.55s cubic-bezier(.34,1.56,.64,1) both stickerPop;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-10deg)}.journalBox.done{background:linear-gradient(135deg,#19f0c814,#c6ff2e0a)!important;border-color:#19f0c859!important}.journalBox.done .jExList,.journalBox.done .jWrite,.journalBox.done .jWeek,.journalBox.done .jHead,.journalBox.done .jRpe,.journalBox.done .midPrompt{opacity:.32;transition:opacity .3s}@keyframes stickerPop{0%{opacity:0;transform:translate(-50%,-50%)rotate(-180deg)scale(0)}60%{opacity:1;transform:translate(-50%,-50%)rotate(5deg)scale(1.12)}to{opacity:.92;transform:translate(-50%,-50%)rotate(-10deg)scale(1)}}.journalProgress{color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;margin-bottom:11px;padding:8px 13px;font-size:13px;display:flex}.journalProgress .jpBar{background:var(--panel2);border-radius:99px;flex:1;height:8px;overflow:hidden}.journalProgress .jpFill{background:linear-gradient(90deg,#13e6a6,#19f0c8);border-radius:99px;height:100%;transition:width .4s}.journalProgress .jpNum{font-family:var(--num);color:var(--ink);letter-spacing:.5px;font-size:16px;font-weight:700}.journalProgress .jpNum b{color:#13e6a6}.journalKcalBanner{background:linear-gradient(135deg,#ff6b3524,#ffb34714);border:1px solid #ff6b35;border-radius:13px;align-items:center;gap:14px;margin-bottom:11px;padding:13px 16px;display:flex}.journalKcalBanner .jkFire{filter:drop-shadow(0 2px 6px #ff6b3566);font-size:32px;line-height:1}.journalKcalBanner .jkBody{flex:1;min-width:0}.journalKcalBanner .jkLabel{color:var(--muted);margin-bottom:2px;font-size:12px;font-weight:600}.journalKcalBanner .jkVal{font-family:var(--num);color:var(--ink);letter-spacing:.3px;font-size:15px}.journalKcalBanner .jkVal b{color:#ff6b35;margin-right:2px;font-size:30px;font-weight:800}.journalKcalBanner .jkSub{color:var(--dim);text-align:right;flex:none;font-size:10.5px;line-height:1.5}.journalBox .jKcal{color:#ff6b35;background:#ff6b351a;border-radius:7px;align-self:flex-start;margin:3px 0 2px;padding:3px 8px;font-size:11px;font-weight:800;display:inline-block}.gShape{font-family:var(--num);margin-right:3px;font-weight:800;display:inline-block}.planList li .exReason{color:var(--muted);margin-top:2px;font-size:11px;font-weight:500;display:block}.bmiNote{color:var(--dim);margin-top:5px;font-size:11px;font-style:italic;line-height:1.55}svg.radar polygon.radar-target{stroke-dasharray:5 3;stroke-width:1.6px;opacity:.55;stroke:#19f0c8!important}svg.radar text.radar-target-label{font-family:var(--num);fill:#19f0c8;letter-spacing:.5px;opacity:.8;font-size:10px;font-weight:700}.autosaveIndicator{color:var(--dim);background:var(--panel2);border:1px solid var(--line);opacity:0;pointer-events:none;z-index:50;border-radius:999px;padding:5px 11px;font-size:11px;transition:all .3s;position:fixed;bottom:14px;left:14px}.autosaveIndicator.show{opacity:.85}.celebrationOverlay{z-index:99999;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#confettiCanvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.celebrationMsg{z-index:1;text-align:center;pointer-events:all;background:linear-gradient(145deg,#0f1520ee,#1a2540ee);border:1px solid #36a6ff55;border-radius:24px;width:90%;max-width:420px;padding:36px 32px;animation:.5s cubic-bezier(.34,1.56,.64,1) celebPop;position:relative;box-shadow:0 30px 80px #36a6ff40,0 0 0 1px #36a6ff33}@keyframes celebPop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.cmTrophy{margin-bottom:10px;font-size:72px;line-height:1;animation:1s infinite alternate trophyBounce}@keyframes trophyBounce{0%{transform:translateY(0)rotate(-5deg)}to{transform:translateY(-8px)rotate(5deg)}}.cmTitle{font-family:var(--han);color:var(--ink);background:linear-gradient(135deg,#ffd23f,#ff8c61);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:8px;font-size:26px;font-weight:900}.cmSub{color:var(--muted);margin-bottom:18px;font-size:14px;line-height:1.7}.cmSub b{color:var(--accent2)}.cmStats{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:22px;display:flex}.cmStatChip{border:1px solid var(--line);font-size:13px;font-family:var(--num);color:var(--ink);background:#ffffff12;border-radius:99px;padding:6px 14px;font-weight:700}.cmStatChip b{color:#ffd23f}.cmCloseBtn{color:#06210f;font-family:var(--pre);cursor:pointer;background:linear-gradient(135deg,#ffd23f,#ff8c61);border:none;border-radius:12px;width:100%;padding:12px 28px;font-size:14px;font-weight:800;transition:all .2s}.cmCloseBtn:hover{filter:brightness(1.1)}.feedbackOverlay{z-index:9998;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a0e14e0;justify-content:center;align-items:center;padding:16px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.feedbackModal{background:#0f1520;border:1px solid #1e2d40;border-radius:16px;width:100%;max-width:480px;overflow:hidden}.fmHeader{background:#36a6ff1a;border-bottom:1px solid #1e2d40;align-items:center;padding:14px 18px;display:flex}.fmTitle{color:var(--ink);flex:1;font-size:13.5px;font-weight:800}.fmClose{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 8px;font-size:16px;transition:all .15s}.fmClose:hover{color:var(--ink);background:#ffffff14}.fmBody{flex-direction:column;gap:6px;padding:16px 18px;display:flex}.fmLabel{color:var(--ink);font-size:12.5px;font-weight:800}.fmText{background:var(--bg);border:1px solid var(--line);width:100%;color:var(--ink);font-family:var(--pre);resize:vertical;box-sizing:border-box;border-radius:9px;padding:10px 12px;font-size:13px;line-height:1.6;transition:all .15s}.fmText:focus{border-color:var(--accent2);outline:none}.fmText::placeholder{color:var(--dim)}.fmFooter{border-top:1px solid #1e2d40;justify-content:flex-end;gap:10px;padding:12px 18px;display:flex}.fmCancelBtn{background:var(--panel2);border:1px solid var(--line);color:var(--muted);font-family:var(--pre);cursor:pointer;border-radius:9px;padding:8px 16px;font-size:13px;font-weight:700;transition:all .15s}.fmCancelBtn:hover{color:var(--ink)}.fmSaveBtn{color:#06210f;font-family:var(--pre);cursor:pointer;background:linear-gradient(135deg,#13e6a6,#19f0c8);border:none;border-radius:9px;padding:8px 20px;font-size:13px;font-weight:800;transition:all .15s}.fmSaveBtn:hover{filter:brightness(1.08)}.jFeedbackBtn{color:#94a3b8d9;width:100%;font-family:var(--pre);cursor:pointer;background:0 0;border:1.5px dashed #1e40af59;border-radius:7px;justify-content:center;align-items:center;gap:5px;margin-top:5px;padding:6px 8px;font-size:11px;font-weight:700;transition:all .2s;display:flex}.jFeedbackBtn:hover{color:#36a6ff;background:#36a6ff0f;border-color:#36a6ff}.jFeedbackBtn.has-feedback{color:#13e6a6;background:#13e6a612;border-style:solid;border-color:#13e6a6}.jFeedbackPreview{color:var(--muted);-webkit-line-clamp:2;border-left:2px solid #13e6a673;-webkit-box-orient:vertical;margin-top:4px;padding-left:6px;font-size:9.5px;line-height:1.45;display:-webkit-box;overflow:hidden}.jFeedbackPreview b{color:var(--dim);font-weight:700}.adminToggleBtn{color:#fff;font-family:var(--pre);cursor:pointer;letter-spacing:-.2px;white-space:nowrap;background:linear-gradient(135deg,#36a6ff,#2f7bff);border:none;border-radius:10px;margin-left:auto;padding:8px 16px;font-size:12.5px;font-weight:800;transition:all .2s}.adminToggleBtn:hover{filter:brightness(1.12);transform:translateY(-1px)}.adminOverlay{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0e14eb;justify-content:center;align-items:flex-start;padding:20px 16px;animation:.25s fadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.adminPanel{background:#0f1520;border:1px solid #1e2d40;border-radius:18px;width:100%;max-width:1100px;overflow:hidden}.adminHeader{background:linear-gradient(135deg,#36a6ff26,#2f7bff14);border-bottom:1px solid #1e2d40;align-items:center;gap:12px;padding:18px 22px;display:flex}.adminTitle{font-family:var(--han);color:var(--ink);font-size:18px;font-weight:800}.adminHeaderRight{align-items:center;gap:10px;margin-left:auto;display:flex}.adminStudentCount{color:var(--muted);font-size:12.5px;font-weight:700}.adminClearBtn{color:#ff5a78;font-family:var(--pre);cursor:pointer;background:0 0;border:1px solid #3a2530;border-radius:8px;padding:6px 12px;font-size:11.5px;font-weight:700;transition:all .2s}.adminClearBtn:hover{background:#ff5a781a}.adminCloseBtn{border:1px solid var(--line);color:var(--muted);font-family:var(--pre);cursor:pointer;background:#ffffff14;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:800;transition:all .2s}.adminCloseBtn:hover{color:var(--ink);background:#ffffff24}.adminBody{flex-direction:column;gap:20px;padding:20px 22px;display:flex}.adminEmpty{text-align:center;padding:48px 20px}.adminEmpty .aeIco{margin-bottom:14px;font-size:48px}.adminEmpty .aeTitle{font-family:var(--han);color:var(--ink);margin-bottom:8px;font-size:18px}.adminEmpty .aeSub{color:var(--muted);font-size:13px;line-height:1.7}.adminEmpty .aeSub b{color:var(--accent2)}.adminSummaryRow{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}@media (max-width:700px){.adminSummaryRow{grid-template-columns:repeat(2,1fr)}}.adminCard{background:var(--bg);border:1px solid var(--line);border-radius:13px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.adminCard .acLabel{color:var(--muted);font-size:11.5px;font-weight:700}.adminCard .acVal{font-family:var(--num);color:var(--ink);font-size:26px;font-weight:800;line-height:1}.adminCard .acSub{color:var(--dim);font-size:11px}.adminCard .acBadge{border-radius:7px;width:fit-content;padding:3px 9px;font-size:12px;font-weight:800;display:inline-block}.adminMidRow{grid-template-columns:320px 1fr;gap:16px;display:grid}@media (max-width:800px){.adminMidRow{grid-template-columns:1fr}}.adminSection{background:var(--bg);border:1px solid var(--line);border-radius:13px;padding:16px}.adminSectionTitle{color:var(--ink);align-items:center;gap:7px;margin-bottom:14px;font-size:13px;font-weight:800;display:flex}.adminSectionTitle span{color:var(--muted);margin-left:auto;font-size:10.5px;font-weight:600}.distChart{flex-direction:column;gap:10px;display:flex}.distRow{grid-template-columns:90px 1fr 70px;align-items:center;gap:10px;display:grid}.distRowLabel{color:var(--ink);white-space:nowrap;font-size:12.5px;font-weight:700}.distBarWrap{background:var(--panel2);border-radius:6px;height:24px;display:flex;overflow:hidden}.distSeg{color:#000000b3;justify-content:center;align-items:center;min-width:0;height:100%;font-size:10px;font-weight:800;transition:width .6s;display:flex;overflow:hidden}.distAvgBadge{font-family:var(--num);text-align:right;white-space:nowrap;font-size:12px;font-weight:800}.adminTableWrap{overflow-x:auto}.adminTable{border-collapse:collapse;width:100%;font-size:12.5px}.adminTable th{background:var(--panel2);color:var(--muted);text-align:center;border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 10px;font-size:11.5px;font-weight:700}.adminTable td{text-align:center;border-bottom:1px solid var(--line);padding:7px 10px;transition:background .15s}.adminTable tr:hover td{cursor:pointer;background:#ffffff0a}.adminTable .tdName{text-align:left;color:var(--ink);font-weight:700}.adminTable .tdGrade{border-radius:6px;padding:3px 8px;font-size:12px;font-weight:800;display:inline-block}.adminTable .tdJournal{font-family:var(--num);font-size:12px;font-weight:700}.adminTable .tdOverall{font-family:var(--num);font-size:14px;font-weight:800}.attnGrid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.attnCard{background:#ff5a7812;border:1px solid #ff5a784d;border-radius:11px;padding:11px 13px}.attnCard .attnName{color:var(--ink);margin-bottom:5px;font-size:13px;font-weight:800}.attnCard .attnAreas{flex-wrap:wrap;gap:4px;display:flex}.attnCard .attnTag{border-radius:6px;padding:2px 7px;font-size:10px;font-weight:700}.adminNoAttn{color:var(--muted);padding:8px 0;font-size:13px}.versionBadge{font-family:var(--pre);vertical-align:middle;letter-spacing:.2px;border-radius:99px;align-items:center;margin-left:8px;padding:3px 10px;font-size:11px;font-weight:800;display:inline-flex}.studentBadge{color:#06210f;background:linear-gradient(135deg,#13e6a6,#19f0c8);padding:3px 10px}.teacherBadge{color:#fff;background:linear-gradient(135deg,#36a6ff,#2f7bff);padding:3px 10px}body.studentMode .adminToggleBtn,body.studentMode .adminOverlay{display:none!important}@media print{@page{size:A4 portrait;margin:8mm}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body{padding:0;background:#fff!important;font-size:11px!important}header.top,.btnrow,.res-actions,footer,#plannerBtns,#areaBtns,.pickerSection,.planPrompt,.planHeader .pHint,.modeBanner,.adminToggleBtn,.adminOverlay,.radarFocusBtns,.tag-2026,.jDoneBtn,.jUndoBtn,.jResetBtn,.jFeedbackBtn,.goalsActions,.compareBanner button,.journalProgress .jpBar,.grid>section.card:first-child,.planBox,.journalCard{display:none!important}.grid{grid-template-columns:1fr!important;gap:0!important}.wrap{max-width:100%!important;padding:0!important}.card{break-inside:avoid;box-shadow:none!important;background:#fff!important;border:none!important;border-radius:0!important}.card .head{background:#f3f5f8!important;border-bottom:1px solid #ccc!important;padding:5px 10px!important}.card .head h2{color:#111!important;font-size:12px!important}.card .head .mini{color:#555!important}.card .body{background:#fff!important;padding:8px!important}.res-head{margin-bottom:7px!important}.res-head .nm{color:#111!important;font-size:15px!important}.res-head .meta{color:#555!important;font-size:10.5px!important}.score-pill{padding:7px 12px!important}.score-pill .val{font-size:20px!important}.score-pill .lab{font-size:10px!important}.score-pill .meta{font-size:11px!important}.res-grid{grid-template-columns:155px 1fr!important;gap:10px!important;margin-bottom:7px!important}.radarbox{box-shadow:none!important;background:0 0!important;border:none!important;max-width:155px!important;padding:0!important}.radarbox:after{display:none!important}.radarLegend{color:#444!important;margin-top:3px!important;font-size:9px!important}svg.radar{max-width:155px!important;max-height:155px!important}.radar-data{opacity:1!important;animation:none!important}.radar-grid{stroke:#aaa!important;fill:none!important}.radar-axis,.radar-axis.axis-on{stroke:#aaa!important;stroke-width:1px!important;filter:none!important}.radar-ray{display:none!important}.radar-axis-label,.radar-axis-label.axis-on{fill:#111!important;filter:none!important;font-size:10.5px!important;font-weight:800!important}.radar-axis-sub,.radar-axis-sub.axis-on{fill:#555!important;font-size:8px!important}.radar-poly{fill:#28825a38!important;stroke:#16804f!important;stroke-width:2px!important}.radar-dot,.radar-dot.axis-on{stroke:#fff!important;stroke-width:1.5px!important;filter:none!important}.radar-vtag,.radar-vtag.axis-on{filter:none!important;font-size:10px!important;font-weight:700!important}svg.radar .axis-dim{opacity:1!important}svg.radar polygon.radar-prev{fill:#ff8c6129!important;stroke:#ff8c61!important;stroke-dasharray:5 3!important}svg.radar circle.radar-dot-prev{fill:#ff8c61!important}.cards{grid-template-columns:1fr 1fr!important;gap:4px!important;display:grid!important}.ecard{box-shadow:none!important;background:#fff!important;border:1px solid #e2e8f0!important;border-radius:5px!important;align-items:center!important;gap:6px!important;padding:5px 7px!important;display:flex!important}.ecard .ei{background:#f3f5f8!important;border:1px solid #ddd!important;width:25px!important;height:25px!important;font-size:12px!important}.ecard .en{color:#111!important;font-size:10.5px!important}.ecard .ev{color:#555!important;font-size:9.5px!important}.ecard .gb{padding:2px 5px!important;font-size:10px!important}.analysis{grid-template-columns:1fr 1fr!important;gap:7px!important;margin:6px 0!important}.abox{box-shadow:none!important;background:#fff!important;border:1px solid #e2e8f0!important;padding:6px 8px!important}.abox .ah{margin-bottom:3px!important;font-size:10.5px!important}.abox .nm2{color:#111!important;font-size:11.5px!important}.abox p{color:#444!important;margin:2px 0 0!important;font-size:10px!important;line-height:1.4!important}.verdict{break-inside:avoid;background:#f9fbf2!important;border:1px solid #d1fae5!important;margin:5px 0!important;padding:6px 10px!important}.verdict .vh{color:#0a8060!important;margin-bottom:3px!important;font-size:10px!important}.verdict p{color:#111!important;font-size:10.5px!important;line-height:1.5!important}.goalsCard{break-inside:avoid;background:#f0fdfa!important;border:1px solid #99f6e4!important;margin:5px 0!important;padding:7px 10px!important}.goalsHead{color:#0f766e!important;margin-bottom:3px!important;font-size:11.5px!important}.goalsIntro{color:#555!important;margin-bottom:5px!important;font-size:10px!important;line-height:1.4!important}.goalsIntro b{color:#0f172a!important}.goalList{gap:4px!important}.goalRow{background:#fff!important;border:1px solid #d1d5db!important;gap:6px!important;padding:4px 8px!important}.goalRow .gName{color:#111!important;font-size:11px!important}.goalRow .gCur{color:#6b7280!important;font-size:10.5px!important}.goalRow .gArrow{color:#0f766e!important}.goalRow select{color:#111!important;background:#fff!important;border:1px solid #d1d5db!important;font-size:10px!important}.gBadge{padding:1px 5px!important;font-size:9px!important}.changeChip.up{color:#16a34a!important;background:#dcfce7!important}.changeChip.down{color:#dc2626!important;background:#fee2e2!important}.changeChip.same{color:#6b7280!important;background:#f3f4f6!important}.goalMet{color:#fff!important;background:#10b981!important}.goalMissed{color:#6b7280!important;background:#f3f4f6!important}.jFeedbackPreview{opacity:1!important;color:#333!important;-webkit-line-clamp:unset!important;border-left:2px solid #13e6a6!important;padding-left:4px!important;font-size:7.5px!important;display:block!important}.jFeedbackPreview b{color:#0a8060!important}}
