:root{font-family:Inter,"Microsoft YaHei",system-ui,sans-serif;color:#223740;background:#edf2f3;--accent:#256b6b;--line:#d4e0e3;--muted:#6a8089}*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.65}button,input,select,textarea{font:inherit}button,a,input{touch-action:manipulation}button{padding:8px 12px;border:1px solid #c5d6da;border-radius:4px;color:#244c56;background:white;cursor:pointer;min-height:36px}button:hover{border-color:#438783;background:#f0f8f8}button:disabled{opacity:.45;cursor:wait}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}input,select,textarea{padding:8px;border:1px solid #cbd9df;background:white;color:#21343e;border-radius:4px;max-width:100%;min-width:0}textarea{resize:vertical;line-height:1.7;width:100%}a{color:#286e74;text-underline-offset:4px}label{display:block;font-size:12px;font-weight:600;margin:12px 0}label>input:not([type=checkbox]),label>select,label>textarea{display:block;width:100%;font-weight:400;margin-top:5px}h1{font-size:26px;margin:3px 0 7px;line-height:1.35}h2{font-size:15px;margin:0 0 12px}h3{font-size:12px;color:var(--muted);margin:8px 0}p{margin:6px 0 12px}header{background:#142a37;color:#eef5f5;display:flex;align-items:center;gap:22px;padding:16px 26px;border-bottom:3px solid #80aaa6}header .brand{font-size:24px;color:#fff;text-decoration:none;white-space:nowrap}header small{font-size:9px;letter-spacing:.13em;margin-left:10px}header nav{display:flex;flex:1;gap:8px}header nav a{color:#b5d0d8;text-decoration:none;padding:5px 9px}header nav a:hover{color:#fff}header button{background:transparent;color:white}header #who{font-size:11px}.edition{color:#88acb5;font-size:11px}.summary{display:flex;align-items:center;justify-content:space-between;padding:26px 28px 12px;gap:20px}.summary-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.eyebrow{font-size:10px;letter-spacing:.16em;color:#5b838a;margin:0}.muted{color:var(--muted)}.small{font-size:11px}.pill{border:1px solid #a7c6c8;padding:4px 8px;border-radius:20px;font-size:10px;white-space:nowrap}.presence{margin:0 28px 18px;display:flex;align-items:center;gap:12px;font-size:11px;color:var(--muted)}#people{display:flex;gap:6px;flex:1;flex-wrap:wrap}#people span{background:#dbe9e9;border-radius:20px;padding:3px 8px;color:#356365}.grid{display:grid;grid-template-columns:220px minmax(460px,1fr) 306px;gap:18px;margin:0 24px 30px;align-items:start}.card{border:1px solid var(--line);border-radius:6px;background:white;padding:17px;box-shadow:0 3px 12px #24404c0b;min-width:0}.center .card+.card,.inspector .card+.card{margin-top:18px}.queue{position:sticky;top:15px;padding:13px}.queue input{width:100%}#shots{height:calc(100vh - 380px);min-height:320px;overflow:auto;margin-top:10px}.shot{display:block;text-align:left;width:100%;background:#f2f6f7;border:1px solid transparent;margin:5px 0;padding:9px;font-size:11px}.shot strong{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.shot small{font-size:9px;color:#73919a}.shot.active{border-color:#408884;background:#e1f0eb}.bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.bar h2{margin:0}.stage-card{padding:13px}#viewport{width:100%;min-width:0;background:#091219;aspect-ratio:16/9;overflow:hidden;margin-top:12px;position:relative}#stage-frame{position:relative;width:1280px;height:720px;transform-origin:top left}#ghost{position:absolute;inset:0;width:1280px;height:720px;z-index:50;pointer-events:none}#ghost .camera-box{pointer-events:all;cursor:move;fill:transparent;stroke-width:3}#ghost .proposal-box{stroke:#5ce3eb;stroke-width:4;stroke-dasharray:14 9;fill:#3adde008}.transport{display:flex;align-items:center;gap:10px;margin:10px 0}.transport input{flex:1;padding:0}.transport span{font-size:10px;min-width:60px}.transport button{font-size:11px;padding:5px 9px;white-space:nowrap}.text-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.source{font-family:Georgia,"Microsoft YaHei",serif;white-space:pre-wrap;line-height:1.9;max-height:270px;overflow:auto}.camera-grid{display:grid;grid-template-columns:44px repeat(3,1fr);gap:7px;margin:14px 0;font-size:11px;align-items:center}.camera-grid input{width:100%;font-size:11px;padding:6px}.inspector button{font-size:11px}.inspector>div>button{margin:3px}.review-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.8 Consolas,monospace;padding:12px;background:#eff5f6;max-height:400px;overflow:auto}#reviews,#events,#assets{font-size:11px;overflow-wrap:anywhere;max-height:260px;overflow:auto}.record{border-bottom:1px solid #e0e9ec;padding:9px 0}.record p{margin:3px 0}.record small{color:#6f8e98}.proposal{border-left:3px dashed #2daeba;padding-left:10px;margin-top:12px;font-size:11px}.proposal pre{max-height:150px}#heatmap{overflow:auto;max-height:220px;margin-top:12px}#heatmap table{border-collapse:collapse;width:100%;font-size:10px;text-align:center}#heatmap th,#heatmap td{padding:4px;border:1px solid #dce6e8;white-space:nowrap}#heatmap td[data-ready="2"]{background:#c9e8dc}#heatmap td[data-ready="1"]{background:#f3e8c5}#heatmap td[data-ready="0"]{background:#e9eef0;color:#97a7ad}.export-options{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.export-options label{flex:1;min-width:65px}#jobs .job{padding:12px 0;border-bottom:1px solid #dce6e8;font-size:11px}#jobs img{max-width:100%;display:block;margin:10px 0}.notice{margin:8px 24px;padding:12px;background:#fff4d7;border-left:3px solid #b89b54}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:13px 24px;background:#173e48;color:white;max-width:90vw;z-index:1000;border-radius:4px;box-shadow:0 5px 30px #0003}.login{display:grid;grid-template-columns:1fr 430px;max-width:1000px;gap:90px;margin:100px auto;padding:30px}.login h1{font-size:48px;line-height:1.4;font-weight:500;letter-spacing:.02em}.login-copy p:last-child{margin-top:24px;color:var(--muted)}.login .card{align-self:center;padding:30px}.login button{width:100%;margin-top:15px}.ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0 28px 30px}.ai-grid textarea{font:12px/1.8 Consolas,monospace;margin:12px 0;background:#f6f9fa}.ai-grid #ai-result{background:#152e3b;color:#d3e9ed;min-height:480px;max-height:75vh}.upload-button input{font-size:11px}#member-form input,#member-form select{width:100%;margin:4px 0}#admin label{font-weight:400}[hidden]{display:none!important}:focus-visible{outline:3px solid #66acb5;outline-offset:2px}@media(max-width:1200px){.grid{grid-template-columns:190px minmax(400px,1fr)}.inspector{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:15px}.inspector .card+.card{margin:0}.edition{display:none}}@media(max-width:760px){header{flex-wrap:wrap;padding:13px;gap:10px}header nav{order:3;flex-basis:100%;font-size:12px}.summary{display:block;padding:20px 14px}.summary-actions{margin-top:15px}h1{font-size:21px}.presence{margin:0 14px 15px;flex-wrap:wrap}.grid{display:block;margin:0 12px 20px}.queue{position:static;margin-bottom:15px}#shots{height:150px;min-height:0}.inspector{display:block;margin-top:15px}.inspector .card+.card{margin-top:15px}.text-grid{grid-template-columns:1fr}.transport{flex-wrap:wrap}.transport input{min-width:80px}.ai-grid{display:block;margin:0 12px 20px}.ai-grid .card+.card{margin-top:15px}.login{display:block;margin:25px auto;padding:20px}.login-copy{margin-bottom:35px}.login h1{font-size:34px}.notice{margin:10px 12px}.camera-grid input{font-size:12px}} 
