:root{color:#29413d;font-synthesis:none;background:#cbdcd7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit;background:#f8f7eeeb;border:1px solid #bcc7b8;border-radius:14px;padding:12px 18px;transition:background .15s,transform .15s}button:hover{background:#fffdf6;transform:translateY(-1px)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #82b3a2}button.primary{color:#fff9e8;background:#2e5147;border:0}button.primary:hover{background:#386254}button.text{color:#51645b;background:0 0;border:0}canvas{touch-action:none;outline:none;width:100vw;height:100dvh;display:block}#ui{pointer-events:none;position:fixed;inset:0}#ui button,#ui input,#ui select,#ui textarea,#detail,dialog{pointer-events:auto}header{justify-content:space-between;align-items:center;gap:16px;display:flex;position:absolute;top:26px;left:32px;right:32px}.wordmark{letter-spacing:-1px;align-items:center;gap:12px;font-size:26px;font-weight:700;display:flex}.wordmark small{letter-spacing:3px;margin-top:1px;font-size:9px;font-weight:600;display:block}.symbol{font-size:37px;font-weight:400}.era{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f4f5e9d9;border-radius:30px;padding:10px 17px;font-size:12px}.era i{background:#568b6a;border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}header button{background:#f4f5e9d9;font-size:12px}#intro{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(110deg,#f3f4e6f5,#f3f4e6db);border-radius:24px;max-width:330px;padding:24px;position:absolute;top:25%;left:5%}.eyebrow{letter-spacing:2.1px;color:#6c8272;font-size:9px;font-weight:700}h1{letter-spacing:-1.6px;margin:18px 0;font-family:Georgia,serif;font-size:39px;font-weight:400;line-height:1.14}p{color:#68786b;font-size:13px;line-height:1.7}#intro .primary{justify-content:space-between;width:100%;margin-top:10px;display:flex}#intro .text{width:100%;font-size:12px}footer{align-items:center;gap:20px;display:flex;position:absolute;bottom:24px;left:32px;right:32px}.controls{background:#f6f6ebed;border:1px solid #b9c6b8;border-radius:17px;gap:2px;padding:5px;display:flex;box-shadow:0 10px 30px #2b514412}.controls button{background:0 0;border:none;border-radius:10px;padding:10px 12px;font-size:13px}.controls button:hover{background:#e3e9da}.hint{color:#516d61;font-size:10px}.phase{letter-spacing:2px;margin-left:auto;font-size:9px;font-weight:600}#detail{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f6edf5;border-radius:24px;width:300px;max-height:calc(100dvh - 205px);padding:28px 24px;position:absolute;top:105px;right:28px;overflow-y:auto;box-shadow:0 20px 70px #213c3320}h2{margin:15px 0;font-family:Georgia,serif;font-size:30px;font-weight:400;line-height:1.15}.activity{color:#4d7a62;font-size:12px}.close{background:0 0;border:0;padding:3px 9px;font-size:22px;position:absolute;top:10px;right:12px}.needs label{color:#596d60;margin:15px 0;font-size:11px;display:block}.needs span{float:right;font-size:10px}progress{appearance:none;border:0;width:100%;height:5px;margin-top:7px;display:block}progress::-webkit-progress-bar{background:#dfe5d7;border-radius:9px}progress::-webkit-progress-value{background:#809b71;border-radius:9px}.knowledge{border-top:1px solid #dce1d5;padding-top:16px;font-size:12px}.knowledge strong{margin-right:5px;font-size:25px;font-weight:500}.knowledge p{font-size:11px}.knowledge small,.private-note{color:#7a8679;font-size:11px;line-height:1.7}#detail .primary{width:100%;margin-top:20px}.private-note{margin:24px 0}dialog{color:#29413d;background:#f6f5ec;border:1px solid #d3dccc;border-radius:26px;width:min(440px,100vw - 30px);max-height:calc(100dvh - 50px);padding:36px;overflow:auto;box-shadow:0 25px 100px #203e3b45}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#233b3755}dialog label{margin:18px 0;font-size:12px;display:block}input,textarea,select{color:#29413d;background:#fffff8;border:1px solid #c5d0bf;border-radius:10px;width:100%;margin-top:7px;padding:11px;display:block}textarea{resize:vertical;min-height:75px}dialog .primary{width:100%;margin:10px 0}dialog small{color:#7e8b7b;font-size:10px;line-height:1.6;display:block}#formError{color:#a54f3a;font-size:12px}#notice{color:#fff6e4;opacity:0;background:#294b42f2;border-radius:13px;width:max-content;max-width:85vw;padding:13px 22px;font-size:12px;line-height:1.6;transition:opacity .3s,transform .3s;position:absolute;bottom:105px;left:50%;transform:translate(-50%,10px)}#notice.visible{opacity:1;transform:translate(-50%)}#loading{text-align:center;background:#e5ebdf;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}#loading[hidden],[hidden]{display:none!important}.seed{color:#698b73;font-size:52px;animation:2s infinite pulse}@keyframes pulse{50%{opacity:.5;transform:translateY(-8px)}}@media (width<=700px){header{gap:8px;top:18px;left:18px;right:18px}.wordmark{gap:5px;font-size:21px}.wordmark small{letter-spacing:1.5px;font-size:7px}.symbol{font-size:29px}.era{padding:8px 10px;font-size:10px}header button{padding:10px;font-size:10px}#intro{max-width:300px;padding:20px;inset:auto 18px 110px}h1{font-size:32px}#intro p{font-size:12px}footer{left:12px;right:12px;bottom:max(18px,env(safe-area-inset-bottom));justify-content:center}.controls{flex-wrap:wrap;justify-content:center}.controls button{padding:10px 9px;font-size:11px}.hint,.phase{display:none}#detail{width:auto;max-height:55dvh;padding:25px;inset:auto 14px 92px}.needs{grid-template-columns:1fr 1fr;gap:0 15px;display:grid}.needs label{margin:8px 0}dialog{padding:30px 24px}}button:disabled{opacity:.45;cursor:default;transform:none}#adminToggle{color:#f4df9d;background:#223f3d;border-color:#627970;font-size:12px;position:absolute;top:84px;right:32px;box-shadow:0 8px 30px #183b3620}#adminHud{pointer-events:auto;overscroll-behavior:contain;scrollbar-width:thin;color:#e9f1df;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#142d2ff5;border:1px solid #698779;border-radius:24px;width:min(460px,100vw - 28px);max-height:calc(100dvh - 180px);padding:24px;position:absolute;top:84px;right:24px;overflow:auto;box-shadow:0 25px 80px #132b3a40}#adminHud p,#adminHud small{color:#b7ccbf}#adminHud small{font-size:11px;line-height:1.6;display:block}#adminHud .eyebrow{color:#e7cc8b;font-size:10px}#adminHud h2{margin:12px 0;font-size:32px}#adminHud h3{font-size:17px;font-weight:500}#adminHud h4{color:#f0d99c;font-size:13px}#adminHud button{color:#e9f1df;background:#2b4747;border-color:#536c65;padding:10px 12px;font-size:12px}#adminHud button:hover{background:#395957}#adminHud .text{background:0 0;border:0;margin-top:16px}#adminHud button.danger{color:#f4d796;border-color:#b29b68}.admin-heading{justify-content:space-between;align-items:center;display:flex}.admin-heading button{border:0!important;padding:0 7px!important;font-size:22px!important}.admin-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.speed-label{margin:16px 0;font-size:11px;display:block}#adminHud select{color:#e4ecdb;background:#233e40;border-color:#5a7066}.dex-top{border-top:1px solid #49645b;justify-content:space-between;align-items:center;margin-top:22px;padding-top:10px;display:flex}.dex-note{font-size:11px}.dex-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.dex-card{text-align:left;grid-template-columns:22px 1fr;gap:4px 7px;display:grid}.dex-card i{border-radius:6px;grid-row:span 2;align-self:center;width:18px;height:18px}.dex-card strong{font-size:12px}.dex-card small{font-size:9px!important}#dexHistory{border-top:1px solid #49645b;margin-top:20px}#dexHistory table{border-collapse:collapse;width:100%;margin-top:15px;font-size:11px}#dexHistory th,#dexHistory td{text-align:left;border-bottom:1px solid #49645b;padding:8px 4px}.timeline{border-left:1px solid #6e8978;padding:0 0 0 12px;list-style:none}.timeline li{padding:6px 0 12px 8px}.timeline strong{margin-top:4px;font-size:12px;display:block}.timeline p{margin:5px 0;font-size:11px}#adminLive{font:11px ui-monospace,monospace;color:#e9d399!important}@media (width<=700px){#adminToggle{padding:10px;font-size:10px;top:74px;right:18px}#adminHud{max-height:calc(100dvh - 168px);padding:20px;top:74px;right:14px}.dex-card{padding:9px!important}}.catalog-list{overscroll-behavior:contain;max-height:45dvh;overflow:auto}.catalog-list article{border-top:1px solid #cbd3c3;padding:12px 0}.catalog-list strong{font-size:13px}.catalog-list p{margin:6px 0;font-size:12px}.lab-actions{grid-template-columns:1fr 1fr;gap:6px;display:grid}.lab-actions button{padding:10px;font-size:12px}.trial-score{background:#e4eadb;border-radius:16px;align-items:center;gap:16px;padding:15px;display:flex}.trial-score strong{font-size:32px}.trial-score span{font-size:11px;line-height:1.6}#agentSummary details{font-size:12px}#editError,#labError,#hammerError{color:#a54f3a}.library-dialog{overscroll-behavior:contain;width:min(950px,100vw - 24px);padding:34px}.library-heading{border-bottom:1px solid #cad6c5;padding:8px 0 16px}.library-heading h2{font-size:38px}.library-heading p{max-width:560px}.library-toolbar{align-items:center;gap:12px;margin:20px 0 12px;display:flex}.library-toolbar input{flex:1;min-width:0;margin:0}.library-toolbar button{white-space:nowrap}.book-tabs{scrollbar-width:thin;gap:7px;padding:4px 2px 12px;display:flex;overflow-x:auto}.book-tabs button{white-space:nowrap;padding:9px 12px;font-size:11px}.book-tabs button[aria-pressed=true]{color:#fbf4df;background:#294d43;border-color:#294d43}.library-count{letter-spacing:.06em;color:#6b806e;font-size:11px}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0 24px;display:grid}.book-card{overflow-wrap:anywhere;background:#fffdf4;border:1px solid #ccd7c4;border-radius:17px;padding:22px;box-shadow:0 5px 16px #36584205}.book-kind{color:#66816a;text-transform:uppercase;letter-spacing:.08em;font-size:9px}.book-card h3{margin:14px 0;font-family:Georgia,serif;font-size:22px;font-weight:400}.book-card p{font-size:12px}.book-card img{border-radius:9px;width:100%}.book-topics{flex-wrap:wrap;gap:5px;margin:12px 0;display:flex}.book-topics span{background:#ebefdf;border-radius:20px;padding:5px 8px;font-size:9px}.topic-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.topic-options label{background:#edf0e3;border-radius:9px;align-items:center;gap:8px;margin:0;padding:9px;display:flex}.topic-options input{flex:none;width:16px;height:16px;margin:0}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#noteError{color:#9c493b}.speech-cues{pointer-events:none;position:absolute;inset:0}.speech-cue{white-space:nowrap;background:#fff9e9f0;border:1px solid #c5cfbc;border-radius:13px;padding:5px 9px;font:11px ui-monospace,monospace;position:absolute;transform:translate(-50%,-100%);box-shadow:0 3px 9px #263e3020}.speech-cue:after{content:"";border:5px solid #0000;border-top-color:#fff9e9;border-bottom:0;position:absolute;bottom:-5px;left:45%}@media (width<=600px){.library-dialog{padding:28px 18px}.library-heading h2{font-size:30px}.book-grid{grid-template-columns:1fr}.book-card{padding:18px}.topic-options{grid-template-columns:1fr}.library-toolbar{gap:8px}.library-toolbar button{padding:12px 10px;font-size:11px}}.session-actions{align-items:center;gap:8px;min-width:0;display:flex}.session-actions button{min-height:44px}#quickLogout{color:#624636;white-space:nowrap;background:#fff9ed}body.entry-open #world{filter:blur(9px);pointer-events:none}body.entry-open #ui{pointer-events:auto;background:#24483e30}body.entry-open header,body.entry-open footer,body.entry-open #adminToggle,body.entry-open #detail,body.entry-open #speechCues{visibility:hidden;pointer-events:none}#intro{overscroll-behavior:contain;text-align:center;pointer-events:auto;background:linear-gradient(145deg,#fffdf2fa,#edf2e4f5);border:1px solid #ffffffad;border-radius:30px;width:min(430px,100vw - 32px);max-width:none;max-height:calc(100dvh - 32px);padding:30px;position:absolute;inset:50% auto auto 50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 24px 100px #12362c38}.entry-symbol{color:#466f5d;margin-bottom:10px;font-size:38px}#intro h1{margin:16px 0;font-size:38px;line-height:1.12}#intro p{margin:14px 0 22px}#intro button{justify-content:center;align-items:center;gap:18px;width:100%;min-height:48px;margin:8px 0;display:flex}#intro .primary{justify-content:center;margin-top:0}#intro .text{margin:0}#intro small{color:#708273;margin-top:14px;font-size:11px;display:block}dialog{overscroll-behavior:contain;touch-action:pan-y;max-height:calc(100dvh - 24px);scroll-padding:24px}dialog .close{background:#f6f5ec;border-radius:50%;min-width:44px;min-height:44px;top:6px;right:6px}dialog input,dialog select,dialog textarea{min-height:46px;font-size:16px}dialog button{min-height:44px}.auth-link,.logout-action{width:100%;margin-top:10px}.auth-divider{text-align:center;color:#748270;border-top:1px solid #d7dece;margin-top:20px;padding-top:20px;font-size:12px}.logout-action{color:#754632;border-color:#bc9c83}#registrationStatus{background:#e7ecdd;border-radius:14px;padding:14px}#formError:empty{display:none}footer .controls{flex-wrap:wrap;max-width:100%}.controls button{min-height:44px}#detail,#adminHud{scroll-padding:16px}@media (width<=1100px){footer .hint,footer .phase{display:none}footer{justify-content:center;left:16px;right:16px}header{gap:10px;left:20px;right:20px}.session-actions{gap:6px}#detail{max-height:calc(100dvh - 200px)}}@media (width<=600px){header{top:max(12px,env(safe-area-inset-top));flex-wrap:wrap;align-items:center;left:12px;right:12px}.wordmark{font-size:19px}.era{margin-left:auto}.session-actions{justify-content:flex-end;width:100%}.session-actions button{padding:10px 12px;font-size:12px}#intro{padding:26px 24px}#intro h1{font-size:34px}footer{bottom:max(12px,env(safe-area-inset-bottom));left:8px;right:8px}.controls{gap:0;width:100%}.controls button{padding:8px 9px;font-size:11px}#adminToggle{top:116px;right:12px}#adminHud{max-height:calc(100dvh - 224px);top:116px}#detail{max-height:calc(100dvh - 224px);top:116px;bottom:auto}}@media (height<=600px){#intro{padding:20px 26px}.entry-symbol{display:none}#intro h1{margin:10px 0;font-size:29px}#intro p{margin:8px 0 12px}#intro small{margin-top:8px}header{top:10px}footer{bottom:10px}#adminHud,#detail{max-height:calc(100dvh - 146px);top:70px}dialog{padding:30px 24px}}
