:root{font-family:Inter,"Microsoft YaHei",system-ui,sans-serif;color:#172332;background:#f4f7fb;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.shell{display:flex;min-height:100vh}.sidebar{width:244px;flex:none;background:#102033;color:#d2dce8;display:flex;flex-direction:column;padding:26px 15px}.brand{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:750;line-height:1.1;padding:3px 14px 30px;color:#fff}.brand small{font-size:11px;font-weight:500;letter-spacing:.18em;color:#91a9bf}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#3779f6;color:#fff;font-weight:800}.sidebar nav{display:grid;gap:4px}.sidebar nav a{padding:11px 15px;border-radius:9px}.sidebar nav a:hover,.sidebar nav a.active{background:#213a59;color:#fff}.sidebar-bottom{margin-top:auto;padding:24px 14px 0;border-top:1px solid #34445a;display:flex;justify-content:space-between;gap:8px;font-size:12px}.text-button{color:#a9c8ff;background:none;border:0;padding:0}.content{flex:1;min-width:0;padding:43px max(28px,4vw) 70px}.page-head{display:flex;justify-content:space-between;align-items:end;gap:15px}.eyebrow{color:#4976b2;letter-spacing:.17em;font-size:11px;font-weight:700;margin:0 0 8px}.page-head h1,.login-card h1{font-size:30px;line-height:1.2;margin:0}.monitor{border:1px solid #bed3f1;background:#fff;color:#2363ba;padding:10px 13px;border-radius:9px}.intro,.subtle{color:#66768a}.intro{margin:16px 0 27px}.operation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(315px,1fr));gap:16px}.operation,.result,.login-card{border:1px solid #e0e8f2;background:#fff;border-radius:15px;box-shadow:0 3px 14px #162b4710}.operation{padding:21px}.operation-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px}.operation-head h2,.result h2{font-size:17px;margin:0}.operation-head span{font-size:11px;color:#5474a5;background:#edf4ff;border-radius:20px;padding:4px 9px}.operation.write .operation-head span{background:#fff1e9;color:#bd6531}.operation form,.login-card form{display:grid;gap:11px}.operation label,.login-card label{display:grid;gap:7px;font-size:12px;font-weight:650;color:#53647a}.operation textarea,.login-card input{width:100%;border:1px solid #cdd9e8;border-radius:9px;padding:10px 11px;background:#fbfdff;color:#172332;outline:none}.operation textarea{font-family:Consolas,monospace;font-size:12px;resize:vertical;min-height:85px;line-height:1.5}.operation textarea:focus,.login-card input:focus{border-color:#3779f6;box-shadow:0 0 0 3px #3779f627}.primary,.danger{border:0;border-radius:9px;padding:10px 15px;font-weight:700;color:#fff;background:#306fde}.danger{background:#b75b40}.primary:hover{background:#205fcf}.danger:hover{background:#9f452e}.alert{padding:13px 16px;border-radius:9px;margin:15px 0}.error{color:#9c2a2a;background:#fff0f0;border:1px solid #ffcbcb}.result{padding:19px;margin:18px 0 24px}.result pre{overflow:auto;max-height:410px;background:#f6f8fc;border-radius:8px;padding:14px;line-height:1.5;font-size:12px}.login-layout{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(circle at 15% 10%,#dceaff,transparent 38%),#f4f7fb}.login-card{width:min(100%,420px);padding:33px}.login-card .brand-mark{margin-bottom:22px}.login-card .subtle{margin-bottom:27px}.login-card form{gap:17px}.login-card input{height:43px}.login-card button{margin-top:7px}@media(max-width:720px){.shell{display:block}.sidebar{width:auto;padding:13px}.brand{padding:5px 5px 14px}.sidebar nav{display:flex;overflow:auto}.sidebar nav a{white-space:nowrap}.sidebar-bottom{padding:12px 5px 0}.content{padding:26px 16px 50px}.page-head{align-items:start}.page-head h1{font-size:25px}.operation-grid{grid-template-columns:1fr}}
:root .operation input{width:100%;border:1px solid #cdd9e8;border-radius:9px;padding:10px 11px;background:#fbfdff;color:#172332;outline:none}.operation input:focus{border-color:#3779f6;box-shadow:0 0 0 3px #3779f627}.operation details{border-top:1px solid #e5ebf3;padding-top:10px}.operation summary{cursor:pointer;color:#57708f;font-size:12px}.operation details label{margin-top:10px}
