:root{color-scheme:light;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1e293b;background:#eef2f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #172033;--muted: #64748b;--line: #d8dee6;--surface: #ffffff;--surface-soft: #f7f9fb;--accent: #146c94;--accent-strong: #0e506f;--accent-soft: #e5f4f8;--green: #1f8a70;--amber: #b7791f;--danger: #be3a34;--shadow: 0 12px 36px rgba(37, 53, 76, .09)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.home-shell{position:relative;min-height:100vh;overflow:hidden;color:#17151d;background:linear-gradient(#ffffffb8,#ffffffb8),linear-gradient(90deg,rgba(255,77,109,.08) 1px,transparent 1px),linear-gradient(rgba(0,205,255,.07) 1px,transparent 1px),#fbfaf5;background-size:auto,48px 48px,48px 48px,auto}.home-shell:before{position:absolute;right:-140px;bottom:-120px;width:min(58vw,760px);aspect-ratio:1;content:"";background:linear-gradient(135deg,transparent 0 34%,rgba(255,213,79,.28) 34% 39%,transparent 39% 100%),linear-gradient(155deg,transparent 0 44%,rgba(255,62,88,.22) 44% 49%,transparent 49% 100%),linear-gradient(120deg,transparent 0 54%,rgba(0,199,255,.18) 54% 58%,transparent 58% 100%);opacity:.86}.home-shell:after{position:absolute;inset:0;pointer-events:none;content:"";background-image:linear-gradient(90deg,rgba(23,21,29,.035) 1px,transparent 1px),linear-gradient(rgba(23,21,29,.035) 1px,transparent 1px);background-position:18px 18px;background-size:96px 96px;-webkit-mask-image:radial-gradient(circle at 80% 78%,#000 0 34%,transparent 68%);mask-image:radial-gradient(circle at 80% 78%,#000 0 34%,transparent 68%)}.home-nav{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;width:min(100% - 64px,1320px);margin:0 auto;padding:30px 0}.home-mark{display:grid;grid-template-columns:repeat(2,10px);gap:5px;padding:0;background:transparent;border:0;cursor:pointer}.home-mark span{width:10px;height:10px;background:#17151d}.home-mark span:nth-child(2){background:#ff3f5f}.home-mark span:nth-child(3){background:#ffd33d}.home-mark span:nth-child(4){background:#00c7ff}.home-nav nav{display:flex;align-items:center;gap:26px}.home-nav a,.home-nav button{position:relative;padding:0 0 6px;color:#17151d;background:transparent;border:0;cursor:pointer;font-size:15px;font-weight:800;letter-spacing:.03em;text-decoration:none}.home-nav a:after,.home-nav button:after{position:absolute;right:0;bottom:0;left:0;height:3px;content:"";background:linear-gradient(90deg,#ff3f5f,#ffd33d,#00c7ff);transform:scaleX(.28);transform-origin:right;transition:transform .18s ease}.home-nav a:hover:after,.home-nav button:hover:after{transform:scaleX(1);transform-origin:left}.home-stage{position:relative;z-index:1;width:min(100% - 64px,1320px);min-height:calc(100vh - 112px);margin:0 auto}.home-name{position:absolute;top:clamp(54px,10vh,118px);left:0}.home-name h1{margin:0;color:#19151d;font-family:Arial Black,PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-size:clamp(38px,6.2vw,86px);font-weight:950;line-height:.98;text-shadow:4px 0 0 rgba(255,63,95,.16),8px 0 0 rgba(255,211,61,.1)}.home-name p{margin:12px 0 0;color:#2f2a35;font-family:SFMono-Regular,Cascadia Code,Menlo,Consolas,monospace;font-size:clamp(15px,1.7vw,22px);font-weight:800;letter-spacing:.02em}.pixel-accent{position:absolute;display:grid;grid-template-columns:repeat(5,18px);gap:8px}.pixel-accent span{width:18px;height:18px;box-shadow:6px 6px #17151d14}.pixel-accent-a{top:clamp(180px,29vh,270px);left:clamp(12px,8vw,126px)}.pixel-accent-a span:nth-child(1),.pixel-accent-a span:nth-child(4){background:#ffd33d}.pixel-accent-a span:nth-child(2){background:#ff3f5f}.pixel-accent-a span:nth-child(3){background:#00c7ff}.pixel-accent-a span:nth-child(5){background:#ad5cff}.pixel-economics{position:absolute;right:min(1vw,16px);bottom:clamp(58px,10vh,118px);width:min(52vw,640px);height:min(42vw,460px)}.pixel-bars{position:absolute;right:13%;bottom:14%;display:flex;align-items:end;gap:16px}.pixel-bars span{width:clamp(28px,3.1vw,44px);background:#17151d;box-shadow:9px 9px #17151d17}.pixel-bars span:nth-child(1){height:clamp(82px,10vw,134px);background:#ff3f5f}.pixel-bars span:nth-child(2){height:clamp(124px,14vw,188px);background:#ffd33d}.pixel-bars span:nth-child(3){height:clamp(168px,18vw,244px);background:#00c7ff}.pixel-bars span:nth-child(4){height:clamp(210px,22vw,306px);background:#ad5cff}.pixel-step{position:absolute;right:6%;bottom:24%;width:min(42vw,520px);height:min(24vw,260px)}.pixel-step span{position:absolute;width:clamp(40px,5vw,72px);height:clamp(18px,2vw,28px);background:#ff3f5f;box-shadow:0 clamp(18px,2vw,28px) 0 #ffd33d,clamp(20px,2.2vw,34px) clamp(36px,4vw,56px) 0 #00c7ff}.pixel-step span:nth-child(1){left:0;bottom:0}.pixel-step span:nth-child(2){left:16%;bottom:18%}.pixel-step span:nth-child(3){left:32%;bottom:36%}.pixel-step span:nth-child(4){left:48%;bottom:52%}.pixel-step span:nth-child(5){left:64%;bottom:67%}.pixel-step span:nth-child(6){left:80%;bottom:78%}.pixel-orbit{position:absolute;top:8%;right:8%;display:grid;grid-template-columns:repeat(3,clamp(24px,3vw,42px));gap:clamp(12px,1.6vw,22px)}.pixel-orbit span{aspect-ratio:1;border:5px solid #17151d}.pixel-orbit span:nth-child(1){background:#ffd33d}.pixel-orbit span:nth-child(2){background:#ff3f5f}.pixel-orbit span:nth-child(3){background:#00c7ff}.back-home-link{padding:0 0 8px;color:var(--muted);background:transparent;border:0;cursor:pointer;font-size:13px;font-weight:800}.back-home-link:hover{color:var(--accent)}.app-shell{width:min(1480px,calc(100% - 40px));margin:0 auto;padding:26px 0 42px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px}.eyebrow{margin:0 0 6px;color:var(--accent);font-size:13px;font-weight:700}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;color:var(--ink);font-size:30px;line-height:1.2}h2{margin-bottom:0;font-size:20px;line-height:1.25}h3{margin-bottom:6px;font-size:17px}p{color:var(--muted);line-height:1.7}.mode-switch,.teacher-actions,.form-grid{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.mode-switch{padding:4px;background:#dfe7ee;border-radius:8px}.mode-switch button,.primary-action,.secondary-action,.danger-action,.icon-button,.download-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:0;border-radius:7px;cursor:pointer;text-decoration:none;transition:background .18s ease,color .18s ease,transform .18s ease,border-color .18s ease}.mode-switch button{min-width:108px;padding:0 14px;color:#475569;background:transparent}.mode-switch button.active{color:var(--ink);background:#fff;box-shadow:0 5px 16px #0f172a14}.layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:18px}.sidebar,.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.sidebar{position:sticky;top:18px;align-self:start;padding:16px}.field{display:grid;gap:7px}.field span{color:#475569;font-size:13px;font-weight:700}.field input{width:100%;min-height:42px;padding:0 12px;color:var(--ink);background:#fff;border:1px solid #cbd5e1;border-radius:7px;outline:none}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #146c9424}.case-list{display:grid;gap:10px;margin-top:14px}.case-card{display:grid;gap:6px;width:100%;padding:14px;color:var(--ink);text-align:left;background:var(--surface-soft);border:1px solid transparent;border-radius:8px;cursor:pointer}.case-card span,.case-card small{color:var(--muted)}.case-card strong{font-size:16px}.case-card.selected{background:var(--accent-soft);border-color:#9bd0df}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px}.teacher-workspace{grid-template-columns:minmax(0,1fr) 320px}.main-column,.result-column{display:grid;gap:18px;align-content:start}.panel{padding:20px}.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.case-intro p{margin-bottom:14px}.case-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.case-detail-grid div{padding:14px;background:var(--surface-soft);border:1px solid #e2e8f0;border-radius:8px}.case-detail-grid h3{margin-bottom:8px}.case-detail-grid ul,.param-list{margin:0;padding-left:18px;color:#475569;line-height:1.55}.case-detail-grid li+li,.param-list li+li{margin-top:5px}.goal-row{display:flex;flex-wrap:wrap;gap:8px}.goal-row span{padding:6px 10px;color:#24586a;background:var(--accent-soft);border:1px solid #c6e7ef;border-radius:999px;font-size:13px;font-weight:700}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) auto;align-items:end}.primary-action{min-width:124px;padding:0 16px;color:#fff;background:var(--accent)}.primary-action:hover{background:var(--accent-strong)}.primary-action:disabled{cursor:not-allowed;opacity:.65}.secondary-action{padding:0 14px;color:var(--accent);background:#fff;border:1px solid #b7d7e0}.danger-action{padding:0 14px;color:#fff;background:var(--danger)}.danger-action:hover{background:#9f2f2a}.danger-action:disabled{cursor:not-allowed;opacity:.65}.download-link{color:#fff}.icon-button{width:40px;color:var(--accent);background:var(--accent-soft)}.group-badge{display:flex;align-items:center;gap:10px;width:fit-content;margin-top:14px;padding:10px 12px;background:#f1f8f4;border:1px solid #c9e8d5;border-radius:8px}.group-badge span{color:var(--muted);font-size:13px}.group-badge strong{color:var(--green)}.status-line{margin:12px 0 0;color:#315466}.round-block{padding:18px 0;border-top:1px solid var(--line)}.round-block:first-of-type{border-top:0;padding-top:0}.round-block p{margin-bottom:12px}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.option-card{display:grid;gap:7px;min-height:210px;padding:14px;text-align:left;color:var(--ink);background:var(--surface-soft);border:1px solid #dce3ea;border-radius:8px;cursor:pointer}.option-card strong{font-size:16px}.option-card span,.option-card small,.param-list{color:var(--muted);line-height:1.55}.option-card small{color:#475569}.param-list{padding-left:17px;font-size:13px}.option-card.selected{background:#f0f8fa;border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.submit-action{width:100%;margin-top:6px}.score-card{display:grid;gap:8px;padding:18px;background:linear-gradient(180deg,#eff9fb,#fff);border:1px solid #c5e3ea;border-radius:8px}.score-card span,.score-card small{color:var(--muted)}.score-card strong{color:var(--accent-strong);font-size:36px;line-height:1}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.metric-grid.single{grid-template-columns:1fr}.metric-grid div{display:grid;gap:6px;padding:12px;background:var(--surface-soft);border:1px solid #e2e8f0;border-radius:8px}.metric-grid span{color:var(--muted);font-size:13px}.metric-grid strong{color:var(--ink);overflow-wrap:anywhere}.rank-list{display:grid;gap:8px}.rank-row{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:11px 12px;background:var(--surface-soft);border:1px solid #e2e8f0;border-radius:8px}.rank-row span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:#fff;background:var(--accent);border-radius:50%;font-weight:800}.rank-row em{color:var(--green);font-style:normal;font-weight:800}.muted{margin-bottom:0;color:var(--muted)}.teacher-actions{align-items:end;margin-top:16px}.teacher-actions .field{min-width:240px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:720px}th,td{padding:12px;text-align:left;border-bottom:1px solid #e2e8f0;vertical-align:top}th{color:#475569;background:#f8fafc;font-size:13px}td{color:var(--ink);line-height:1.5}@media(max-width:1180px){.layout,.workspace,.teacher-workspace{grid-template-columns:1fr}.sidebar{position:static}.case-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.app-shell{width:min(100% - 24px,1480px);padding-top:18px}.topbar{align-items:stretch;flex-direction:column}h1{font-size:24px}.case-list,.case-detail-grid,.form-grid,.option-grid,.metric-grid{grid-template-columns:1fr}.mode-switch{width:100%}.mode-switch button{flex:1;min-width:0}.panel{padding:16px}}
