:root{color-scheme:dark;font-family:system-ui,sans-serif;color:#e8f5ff;background:#09111d}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;gap:24px;padding:22px 4vw;border-bottom:1px solid #25415a;background:#101d2d}.brand{letter-spacing:.24em;font-weight:800}.badge{font-size:12px;color:#6debdc;border:1px solid #286a66;padding:6px 10px;border-radius:30px}#connection{margin-left:auto;color:#aac1d6;font-size:14px}main{max-width:1440px;margin:auto;padding:30px 4vw 70px}h1{font-size:30px;margin:0 0 12px}h2{font-size:18px;margin:0 0 12px}p{line-height:1.6;color:#a9c0d6;font-size:14px}#login{max-width:620px;margin:7vh auto;padding:36px}.grid{display:grid;grid-template-columns:2fr 1fr;gap:18px}section{background:#101d2b;border:1px solid #233d53;border-radius:18px;padding:24px;min-width:0}.topline,.sectionhead,.actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.topline{margin-bottom:20px}.actions{justify-content:flex-start;flex-wrap:wrap}input,select,textarea,button{font:inherit;border:1px solid #35536b;border-radius:9px;padding:11px;color:#e8f5ff;background:#152a3d}input,textarea{width:100%;margin:8px 0}textarea{min-height:88px;resize:vertical}button{cursor:pointer;background:#156877;border-color:#3393a3;transition:background .15s}button:hover{background:#228295}button:disabled{opacity:.4;cursor:default}.quiet{background:transparent}label{display:block;font-size:14px;color:#bdd1e3}form{display:flex;flex-direction:column;gap:10px}form button{align-self:flex-start}.entities{display:flex;gap:8px;flex-wrap:wrap}.entities button{font-size:12px;background:#1c3348}.entities button.selected{outline:2px solid #7de7d6}.cards{display:grid;gap:10px;margin-top:14px}.card{background:#172a3c;padding:14px;border-radius:10px;overflow-wrap:anywhere}.card p{margin:8px 0}.card button{font-size:12px;padding:7px 10px;margin:4px}.card select{font-size:12px;padding:7px;max-width:100%}.muted,small{color:#a1b7cd;font-size:12px}canvas{width:100%;height:300px;background:#0a1624;border-radius:12px;margin:8px 0 16px}#message{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);background:#244860;padding:12px 20px;border-radius:12px;max-width:90vw;box-shadow:0 8px 30px #0007;display:none}#message.visible{display:block}#timeline{accent-color:#67e9d3}[hidden]{display:none!important}@media(max-width:800px){.grid{grid-template-columns:1fr}.topline{align-items:flex-start}header{flex-wrap:wrap;gap:12px}#connection{margin-left:0}.badge{font-size:10px}section{padding:18px}}
/* 0.6: calm hierarchy, one shared stage, private drafts and accessible controls. */
:root{font-family:Inter,"Segoe UI",system-ui,sans-serif;background:#080f18;color:#e5eef2}body{background:radial-gradient(ellipse at 75% 0,#15334166,transparent 45%),#080f18}header{padding:20px 4vw;background:#0c1721eb;border-color:#223742}.brand{color:#e8f7f5;text-decoration:none;font-size:17px;letter-spacing:.22em}.badge{color:#81c9c1;border-color:#2a4d50;background:#11292b;font-size:10px;font-weight:650;letter-spacing:.08em}.eyebrow{display:block;color:#83a5b5;font-size:10px;letter-spacing:.18em;font-weight:700;margin-bottom:12px}main{max-width:1560px;padding-top:32px}h1{font-size:clamp(28px,3vw,42px);line-height:1.14;letter-spacing:-.025em;font-weight:650}h2{font-size:18px;font-weight:650;letter-spacing:-.015em}p{color:#9eb3c0;font-size:14px;line-height:1.55}section{background:#101b26;border:1px solid #263844;border-radius:14px;padding:24px}.grid{grid-template-columns:minmax(0,2.1fr) minmax(300px,1fr);grid-template-areas:"scene views" "time team" "notes sources";gap:20px;align-items:start}.scene{grid-area:scene}.views{grid-area:views}.time{grid-area:time}.team{grid-area:team}.notes{grid-area:notes}.sources{grid-area:sources}#login{max-width:660px;margin:6vh auto;padding:38px;border-top:2px solid #76c6c5;background:linear-gradient(150deg,#142735,#101923 65%)}#login h1{margin-bottom:20px}#login label{margin-top:22px}#login p{max-width:52ch}.control{color:#8edacb;font-size:12px;background:#17312e;border-radius:7px;padding:8px 10px;display:inline-block;margin:4px 0}#sceneContext{font-size:12px;margin:8px 0}canvas{display:block;width:100%;height:clamp(300px,36vw,450px);margin:14px 0 10px;background:radial-gradient(ellipse,#101e2b,#09131c);border:1px solid #213441;border-radius:10px}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11px;color:#6fb9ce}.warning{color:#ffcf7b}.critical{color:#ff7282}.selected-key{color:#89ffe1}input,select,textarea,button{font-size:14px;border-color:#36505f;background:#132632;color:#e6eff3;border-radius:7px;min-height:42px}button{background:#2a716f;border-color:#438b86;font-weight:600;transition:background .15s,color .15s}button:hover{background:#398582}button:disabled{opacity:.46}button.quiet{background:transparent;color:#c0d2dc;border-color:#3b5361}button.quiet:hover{background:#1b3441}button.danger{background:#652c3c;border-color:#a95666}:focus-visible{outline:3px solid #98f4e0;outline-offset:3px}input,textarea{margin:5px 0 0}input[type=file]{font-size:12px}input[type=range]{padding:0;accent-color:#88e2cd;min-height:30px}#clock{display:block;font-size:clamp(22px,2.5vw,29px);font-variant-numeric:tabular-nums;margin:16px 0 8px;color:#deeeed}#timeHint{font-size:12px}#noteEntity{display:block;width:100%;margin-top:8px}#noteText{min-height:110px}.draft{font-size:12px;margin:0;color:#89b9b6;border-left:2px solid #467a78;padding-left:10px}.entities{margin-top:18px;gap:7px}.entities button{min-height:36px;font-size:12px;font-weight:500;background:#172c39;border-color:#2d4757}.entities button.selected{outline:1px solid #83deca;background:#1c3b3d}.cards{gap:13px}.card{border:1px solid #2e4350;border-radius:8px;background:#13232f;padding:16px}.card strong{font-size:14px}.card small{display:block;margin-bottom:13px}.card select{min-height:36px;margin:0 6px 8px 0}.card button{min-height:34px;font-weight:500;background:transparent;border-color:#3a5864}.card textarea{margin:12px 0}.reference{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid #29404c;font-size:11px;color:#aac0cb}.reference span{min-width:0}.reference button{flex-shrink:0}.empty{border:1px dashed #314755;border-radius:7px;padding:18px;font-size:13px;color:#8098a6}.muted,small{font-size:12px;color:#8fa9b7}details{margin-top:18px;border-top:1px solid #2a3c47;padding-top:14px}summary{cursor:pointer;font-size:13px;color:#a9c7d4}dialog{max-width:480px;width:calc(100vw - 40px);border:1px solid #4b6572;background:#122430;border-radius:14px;padding:28px;color:#eef6f7;box-shadow:0 25px 100px #0009}dialog::backdrop{background:#02080fc9}#message{background:#1f3b49;border:1px solid #4b6a78;color:#eef5f7;font-size:14px;border-radius:9px;z-index:10}#recovery:empty{display:none}@media(max-width:900px){.grid{grid-template-columns:1fr;grid-template-areas:"scene" "time" "views" "notes" "team" "sources"}.sectionhead{flex-wrap:wrap}canvas{height:360px}}@media(max-width:480px){main{padding:24px 14px 50px}section{padding:18px}.topline{gap:10px}#login{padding:24px;margin:3vh auto}header{padding:18px;gap:12px}.sectionhead select{width:100%}canvas{height:300px}.actions button{flex:1}.reference{align-items:flex-start}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Catalog browsing stays personal; selection and the table remain shared. */
.entity-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.7fr);gap:12px;margin-top:22px}.entity-tools input,.entity-tools select{display:block;width:100%;min-width:0;margin-top:7px}.entities{max-height:290px;overflow-y:auto;padding:5px 4px 8px;scrollbar-color:#477e82 #102330;align-content:flex-start}.entities button{max-width:100%;overflow-wrap:anywhere;text-align:left}.selected-details{display:grid;gap:8px;max-height:300px;overflow-y:auto;margin-top:12px}.selection-detail{border-left:2px solid #75bfae;padding:10px 12px;background:#122b32;border-radius:0 7px 7px 0;overflow-wrap:anywhere}.selection-detail strong{font-size:13px}.selection-detail p{font-size:12px;margin:5px 0 0}#entityCount{margin:8px 0 -8px;font-variant-numeric:tabular-nums}#listHint{margin:9px 0 0}.selected-details:empty{display:none}@media(max-width:480px){.entity-tools{grid-template-columns:1fr}.entities{max-height:245px}}
/* Private invitations are usable on a phone as well as a desktop. */
#login input{min-width:0;max-width:100%}#login input[type=file]{line-height:1.5}#login input::file-selector-button{border:1px solid #436976;border-radius:5px;background:#1d3b47;color:#def2f1;padding:8px 10px;margin-right:10px;font:inherit;cursor:pointer}#invitationHint,#privacyHint{line-height:1.65}#login form button{min-height:46px}@media(max-width:480px){#login form button{width:100%;align-self:stretch}#login input[type=password]{font-size:16px}}
