:root{--blue:#2E4A6B;--blue2:#5f7fa3;--bg:#0d1218;--panel:rgba(22,31,42,.9);--panel2:#111923;--ink:#edf1f5;--muted:#8997a5;--line:rgba(174,190,207,.16);--error:#B23A2E;--error-bg:rgba(178,58,46,.14)}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:radial-gradient(circle at 80% 0,rgba(46,74,107,.28),transparent 34%),var(--bg);font:14px/1.55 "Noto Sans SC","Microsoft YaHei",sans-serif}header{position:sticky;top:0;z-index:3;height:58px;display:flex;align-items:center;gap:22px;padding:0 24px;border-bottom:1px solid var(--line);background:rgba(13,18,24,.86);backdrop-filter:blur(20px)}header strong{letter-spacing:.02em}header nav{display:flex;gap:4px}header button{border-color:transparent;color:#b7c3ce;background:transparent}header button.active{color:#fff;background:var(--blue)}#bankStatus,#aiState{color:var(--muted);font-size:12px}#timer{margin-left:auto;font:600 15px "JetBrains Mono",Consolas,monospace}main{display:grid;grid-template-columns:230px minmax(0,980px);gap:20px;max-width:1260px;margin:24px auto;padding:0 18px}aside,section{border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:0 18px 38px rgba(0,0,0,.2);backdrop-filter:blur(18px)}aside{align-self:start;padding:16px}section{min-width:0;padding:20px}label{display:block;margin:0 0 5px;color:var(--muted);font-size:12px}select,input,textarea,button{border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--panel2);font:inherit;outline:none}select:focus,input:focus,textarea:focus{border-color:var(--blue2);box-shadow:0 0 0 3px rgba(46,74,107,.3)}select{width:100%;margin-bottom:14px;padding:8px}button{padding:8px 13px;cursor:pointer}button:hover{border-color:var(--blue2)}button:disabled{cursor:not-allowed;opacity:.45}#source{margin:0;color:var(--muted);font-size:12px;overflow-wrap:anywhere}#stem{min-height:110px;max-height:360px;margin:0 0 16px;padding:15px;overflow:auto;border:1px solid var(--line);border-left:3px solid var(--blue2);border-radius:9px;background:#0a0f15;color:#d8e1ea;white-space:pre-wrap;font:13px/1.65 "JetBrains Mono","Cascadia Code",Consolas,monospace}.editor{display:grid;grid-template-columns:46px 1fr;height:370px;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:#0a0f15}#lines{margin:0;padding:12px 9px;overflow:hidden;color:#596979;text-align:right;border-right:1px solid var(--line);user-select:none;font:13px/1.65 "JetBrains Mono",Consolas,monospace}textarea{width:100%;height:100%;resize:none;padding:12px;border:0;border-radius:0;background:transparent;white-space:pre;overflow:auto;color:#d8e1ea;font:13px/1.65 "JetBrains Mono","Cascadia Code",Consolas,monospace;tab-size:4}.actions{display:flex;align-items:center;gap:8px;margin-top:12px}.actions input{min-width:120px;flex:1;padding:8px 10px}.actions button:last-child,#submit{color:#fff;background:var(--blue)}#progress{color:var(--muted)}#feedback{margin-top:14px;line-height:1.65}.issue{margin:6px 0;padding:7px 9px;border-left:2px solid var(--error);color:#dc8d84;background:var(--error-bg)}.ok{color:#9ab0c6}.diff{display:grid;grid-template-columns:1fr 1fr;gap:1px;max-height:440px;overflow:auto;border:1px solid var(--line);background:var(--line)}.diff pre{margin:0;padding:9px;background:#0a0f15;color:#aab8c5;white-space:pre-wrap;font:12px/1.5 "JetBrains Mono",Consolas,monospace}.diff .changed{color:#dc8d84;background:var(--error-bg)}details{margin:10px 0;padding:10px;border:1px solid var(--line);border-radius:9px;background:rgba(46,74,107,.09)}details summary{cursor:pointer}.self-score{display:flex;align-items:center;gap:7px;margin-top:10px}.self-score input{width:68px;padding:5px}.closure{margin:16px 0 0;color:var(--muted);font-size:12px}@media(max-width:760px){header{padding:0 12px;gap:10px}#bankStatus,#aiState{display:none}main{grid-template-columns:1fr;margin-top:14px}aside{display:grid;grid-template-columns:50px 1fr;gap:6px 10px}aside select{margin:0}#source{grid-column:2}.editor{height:300px}.actions{flex-wrap:wrap}.actions input{flex-basis:100%;order:2}}
