:root{color-scheme:light;--ink:#18313e;--muted:#687c86;--line:#e0e8e9;--accent:#087f72;--accent-dark:#066759;--surface:#f6f9f8;--code:#203b49;--font:"Segoe UI","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:var(--font);font-size:14px;background:var(--surface)}[hidden]{display:none!important}button,input,textarea{font:inherit}button,a,input,textarea{outline-offset:4px}button{cursor:pointer;border-radius:7px;font-weight:600;padding:11px 17px;border:1px solid transparent;white-space:nowrap}button:disabled{opacity:.48;cursor:wait}.primary{background:var(--accent);color:white}.primary:hover{background:var(--accent-dark)}.secondary{background:white;border-color:#ccd9d9;color:var(--ink)}.secondary:hover{background:#eef5f2}.quiet{background:transparent;color:var(--muted);padding:6px 7px;font-size:12px}.quiet:hover{background:#e7efed}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,p{margin:0}h1{font-size:27px;letter-spacing:-.6px;font-weight:650}h2{font-size:16px;font-weight:650}.muted{color:var(--muted);line-height:1.75}.compact{font-size:12px;margin:9px 0 25px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:var(--muted);margin-bottom:10px}.brand-mark{width:42px;height:42px;background:var(--ink);color:white;border-radius:11px;display:grid;place-items:center;font-size:24px;font-weight:700;margin-bottom:26px}.brand-mark.small{width:30px;height:30px;border-radius:7px;font-size:19px;margin:0 3px 0 0}.dot{width:6px;height:6px;background:#159a79;border-radius:50%;display:inline-block;margin-right:5px}.topbar{height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;background:white;border-bottom:1px solid var(--line);gap:20px}.brand,.top-actions{display:flex;gap:15px;align-items:center}.brand strong{font-size:16px}.divider{color:#b0bfc2}.top-actions{font-size:12px}.target{padding:6px 10px;background:#edf6f2;border-radius:5px;color:#316a5a}.layout{display:grid;grid-template-columns:225px minmax(480px,1fr) 270px;min-height:calc(100vh - 66px)}.sidebar{background:#f0f5f3;border-right:1px solid var(--line);padding:27px 18px;position:relative;display:flex;flex-direction:column}.section-label{font-size:10px;color:var(--muted);letter-spacing:1px;margin:8px 0 12px}#files{display:flex;flex-direction:column;gap:5px}#files button{text-align:left;border-radius:5px;padding:9px 10px;background:transparent;font-size:11px;font-family:Consolas,monospace;white-space:normal;overflow-wrap:anywhere;color:#49616d;font-weight:400}#files button:hover{background:#e4eeea}#files button.active{color:#0a6b5e;background:#dcece5;box-shadow:inset 3px 0 #168b73}.project-foot{margin-top:auto;padding-top:50px;font-size:11px;color:#527b6d}.project-foot p{padding:9px 0 0 12px;color:var(--muted)}main{padding:28px 28px 12px;min-width:0}.workspace-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;gap:15px}.workspace-heading .eyebrow{letter-spacing:1px}.release-strip{min-height:40px;display:flex;gap:10px;align-items:center;font-size:11px;color:var(--muted);margin-bottom:12px;flex-wrap:wrap}.release-badge{background:#e4f1ea;color:#267c5d;border:1px solid #d1e6d9;border-radius:4px;padding:4px 7px;font-weight:650}.spacer{flex:1}.notice{background:#edf5f2;border:1px solid #cbe3d6;padding:12px 14px;border-radius:6px;font-size:12px;line-height:1.6;margin-bottom:12px}.notice.error{background:#fff2ec;border-color:#edd4c5;color:#904b2c}.job{background:#edf4f8;border:1px solid #cbdfe9;border-radius:6px;padding:13px;display:flex;align-items:center;gap:14px;margin-bottom:12px}.job progress{width:52px;height:6px;accent-color:var(--accent)}.job strong{font-size:12px}.job p{font-size:11px;color:var(--muted);margin-top:5px}.editor-shell{background:white;border:1px solid #d4dfe0;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #18313e05}.editor-tab{height:43px;display:flex;align-items:center;gap:14px;background:#fafcfb;border-bottom:1px solid var(--line);padding:0 16px;font-size:12px}#filename{font-family:Consolas,monospace;font-weight:600}#editor-mode{margin-left:auto;font-size:10px;color:var(--muted)}.code-wrap{display:flex;position:relative;height:clamp(310px,49vh,650px);background:#fff}#line-numbers{padding:20px 12px 20px 17px;background:#fbfcfc;border-right:1px solid #f0f4f3;color:#97a7ac;min-width:48px;text-align:right;font:13px/23px Consolas,monospace;white-space:pre;overflow:hidden;user-select:none}#editor{display:block;border:0;resize:none;width:100%;height:100%;padding:20px 18px;background:transparent;color:var(--code);font:13px/23px Consolas,"Cascadia Code","Microsoft YaHei",monospace;tab-size:4;outline:none;overflow:auto}#editor:focus{box-shadow:inset 0 0 0 2px #087f721f}#editor[readonly]{background:#f9fbfa}.editor-footer{height:29px;padding:0 13px;display:flex;align-items:center;gap:17px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}#base-version{margin-left:auto}.publish-bar{display:flex;gap:10px;align-items:flex-end;margin-top:20px}.note-label{flex:1;min-width:100px;font-size:11px;color:var(--muted)}.note-label input{display:block;margin-top:7px;height:39px;width:100%;border:1px solid #d4dfe0;border-radius:6px;padding:0 10px;background:white;font-size:12px}.publish-bar button{height:40px;padding:9px 15px}.footnote{font-size:11px;color:var(--muted);margin:13px 0;line-height:1.6}.history-panel{background:#fafcfb;border-left:1px solid var(--line);padding:28px 20px}.history-heading{display:flex;justify-content:space-between;align-items:center}.history-heading .eyebrow{letter-spacing:1.2px;font-size:9px}.history-heading>span{font-size:11px;color:var(--muted)}.history-item{border-left:2px solid #d7e2dd;padding:0 0 23px 15px;position:relative}.history-item:before{content:"";position:absolute;left:-5px;top:5px;width:8px;height:8px;background:#bbccc3;border-radius:50%}.history-item.current:before{background:var(--accent)}.history-item .version{font-size:14px;font-weight:650;margin-right:9px}.current-tag{font-size:9px;color:var(--accent)}.history-item p{font-size:12px;line-height:1.6;margin:6px 0;color:#4d6570;overflow-wrap:anywhere}.history-meta{font-size:10px;color:var(--muted);line-height:1.7}.history-buttons{display:flex;gap:5px;margin-top:5px}.history-buttons button{padding:5px 7px;font-size:11px;font-weight:500;background:transparent;color:var(--accent)}.history-buttons button:hover{background:#e5efea}.history-help{font-size:10px;line-height:1.8;color:var(--muted);padding-top:20px;border-top:1px solid var(--line)}.login-screen{display:grid;place-items:center;min-height:100vh;background:radial-gradient(ellipse at 20% 0%,#e3eee8,transparent 60%),#f2f6f4}.login-card{width:430px;max-width:90vw;border:1px solid #dbe5df;border-radius:14px;background:white;box-shadow:0 20px 70px #18313e0b;padding:38px}.login-card h1{font-size:25px;margin-bottom:12px}.login-card>.muted{font-size:12px;margin-bottom:28px}.login-card label{display:block;font-size:12px;margin:18px 0}.login-card input{display:block;width:100%;height:42px;margin-top:8px;padding:0 12px;border:1px solid #cedcd5;border-radius:6px;background:#fbfdfc}.login-card>.primary{width:100%;display:flex;justify-content:space-between;margin-top:25px}.login-foot{font-size:11px;color:var(--muted);margin-top:24px;border-top:1px solid var(--line);padding-top:20px}.error-text{font-size:12px;color:#934c33;line-height:1.6;margin-top:14px}@media(max-width:1160px){.layout{grid-template-columns:190px minmax(400px,1fr)}.history-panel{grid-column:2;border-left:0;border-top:1px solid var(--line)}#history{display:flex;flex-wrap:wrap;gap:25px}.history-item{width:200px}.history-help{margin-top:10px}.top-actions{gap:8px}.brand{gap:9px}main{padding:24px 20px}.history-panel>.compact{margin-bottom:20px}}@media(max-width:760px){.topbar{height:auto;min-height:65px;padding:14px 18px;flex-wrap:wrap}.layout{display:block}.sidebar{padding:18px;border-bottom:1px solid var(--line)}.sidebar .compact,.section-label,.project-foot{display:none}#files{flex-direction:row;overflow-x:auto;margin-top:14px}#files button{min-width:130px}.history-panel{padding:22px}.top-actions .target{display:none}.workspace-heading h1{font-size:23px}.publish-bar{flex-wrap:wrap}.note-label{flex-basis:100%}.publish-bar button{flex:1}.code-wrap{height:420px}.release-strip{gap:7px}.brand{font-size:12px}}
