:root{font-family:Inter,Noto Sans SC,system-ui,sans-serif;color:#17201e;background:#f3f5f1;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea{font:inherit}button{border:1px solid #cbd4cf;border-radius:10px;background:#fff;padding:.62rem .9rem;cursor:pointer;color:#24322e}button:hover{border-color:#2f755f}button:disabled{opacity:.5;cursor:not-allowed}.primary{color:#fff;background:#23634f;border-color:#23634f}.danger{color:#a43f36}.app-shell{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh}aside{background:#172d27;color:#f7fbf8;padding:28px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;margin-bottom:36px}.brand>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#d6f266;color:#172d27;font-weight:800}.brand strong,.brand small{display:block}.brand small{color:#aac0b8;margin-top:3px}nav{display:grid;gap:6px}nav button{border:0;color:#cbdad5;background:transparent;text-align:left;padding:11px 13px}nav button.active{background:#285043;color:#fff}.account{margin-top:auto;display:grid;gap:8px;color:#aac0b8}.account code{color:#fff}.account button{background:transparent;color:#fff}.workspace{padding:46px clamp(22px,5vw,72px);max-width:1440px;width:100%}.page-header{margin-bottom:28px}.page-header h1,.login-card h1{font-family:Georgia,"Noto Serif SC",serif;font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;margin:5px 0 10px;letter-spacing:-.035em}.page-header p{color:#63706b}.eyebrow{color:#397b64!important;font-size:.75rem;font-weight:800;letter-spacing:.16em}.panel{background:#ffffffe6;border:1px solid #dde4df;border-radius:18px;padding:22px;box-shadow:0 12px 32px #1e372f0f;margin-bottom:20px}.panel h2{margin-top:0}.split{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.6fr);gap:20px;align-items:start}.list{display:grid;gap:10px}.row,.select-row{display:flex;width:100%;justify-content:space-between;align-items:center;gap:20px;padding:14px;border:1px solid #e1e6e3;border-radius:12px;background:#fff;text-align:left}.row small,.select-row small{display:block;margin-top:5px;color:#71807a}.select-row.selected{background:#eef7f1;border-color:#8db8a8}.inline-form{display:flex;gap:10px;flex-wrap:wrap}.inline-form input{flex:1;min-width:180px}label{display:grid;gap:6px;color:#40504a;font-size:.9rem}input,textarea{border:1px solid #cbd4cf;border-radius:10px;padding:.75rem .85rem;background:#fff}textarea{min-height:92px;resize:vertical}.stack{display:grid;gap:12px;margin:18px 0}.section-title,.toolbar,.actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.toolbar{justify-content:flex-end;margin-bottom:12px}.section-title h2,.section-title h3{margin:0}.upload{display:grid;gap:.6rem;color:#24322e;font-weight:600;margin-top:12px}.upload input{display:block;max-width:100%;width:100%;min-width:0}.upload input:focus-visible{outline:3px solid #23634f;outline-offset:3px}.upload input:disabled{opacity:.6;cursor:not-allowed}.upload-queue{list-style:none;padding:0;display:grid;gap:10px}.upload-queue li{display:grid;gap:6px;padding:12px;background:#f6f8f5;border:1px solid #dde4df;border-radius:10px;overflow-wrap:anywhere}.upload-queue span{color:#40504a}.upload-queue button{justify-self:start}.upload-queue .notice{margin:0}.notice{border-left:3px solid #71917f;padding:10px 12px;background:#edf3ef;border-radius:4px 10px 10px 4px}.notice.error,.error{color:#9d332c;border-color:#c65b50}.notice.success{border-color:#4e8a52}.source-text{white-space:pre-wrap;background:#f6f7f5;padding:14px;border-radius:10px;max-height:40vh;overflow:auto}.scope-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:20px}.check{grid-template-columns:auto 1fr;align-items:center;margin:8px 0}.blueprint{display:grid;gap:9px}.blueprint-row{display:grid;grid-template-columns:1fr 120px 140px;align-items:end;gap:12px;padding:10px 0;border-bottom:1px solid #edf0ee}.blueprint-row label{min-width:0}.blueprint-row input{width:100%;min-width:0}.total{text-align:right;font-size:1.15rem;margin:18px 0}.question{border-top:1px solid #e1e6e3;padding:18px 0}.question pre,.revision-list pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:40vh;overflow:auto;background:#f6f7f5;border-radius:10px;padding:12px}.options{display:grid;gap:6px}.question blockquote{margin:6px 0;padding-left:12px;border-left:3px solid #cbd4cf;color:#4f5d58}.revision-list{display:grid;gap:8px;margin-top:12px}.empty,.muted{color:#74817c}.login-shell,.center{min-height:100vh;display:grid;place-items:center;padding:24px}.login-shell{background:radial-gradient(circle at 20% 20%,#dcefd7,transparent 42%),#f3f5f1}.login-card{width:min(460px,100%);background:#fff;padding:42px;border-radius:24px;box-shadow:0 24px 70px #14302724}.login-card form{display:grid;gap:16px;margin-top:28px}.spinner{width:20px;height:20px;border:2px solid #ccd7d1;border-top-color:#23634f;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:760px){.app-shell{display:block}aside{position:static;height:auto;padding:16px}aside nav{display:flex;overflow-x:auto}aside nav button{white-space:nowrap}.account{display:flex;align-items:center;flex-wrap:wrap;margin-top:12px}.workspace{padding:24px 16px}.split,.scope-grid{grid-template-columns:1fr}.blueprint-row{grid-template-columns:64px minmax(0,1fr) minmax(0,1fr)}.section-title{align-items:flex-start;flex-wrap:wrap}.actions{flex-wrap:wrap}.row{align-items:flex-start;flex-wrap:wrap}.page-header h1{font-size:2.35rem}}
