:root{font-family:DM Sans,Arial,sans-serif;color:#344333;background:#d9dece;font-synthesis:none;font-weight:400;font-size:14px}*{box-sizing:border-box}html,body,#root{margin:0;width:100%;height:100%;overflow:hidden}button,a,input,select{-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}button{cursor:pointer;border:0;transition:background .18s,transform .18s;color:inherit}button:focus-visible,a:focus-visible{outline:2px solid #937f4e;outline-offset:5px}button:disabled{cursor:wait;opacity:.6}button:hover:not(:disabled){filter:brightness(1.06)}button:active:not(:disabled){transform:translateY(1px)}button svg{flex-shrink:0}button{display:inline-flex;align-items:center;justify-content:center;gap:10px}a{color:inherit;text-decoration:none}canvas{display:block}.interface{position:absolute;inset:0;pointer-events:none}.interface button,.interface a,.interface input,.interface select{pointer-events:auto}.menu-scrim{position:absolute;inset:0;background:linear-gradient(90deg,#f4f1e9 0%,#f4f1e9 27%,#f4f1e9eb 35%,#f4f1e945 51%,transparent 67%),linear-gradient(0deg,#ebe9dd 0%,transparent 16%)}.masthead{position:absolute;top:36px;left:4.2%;right:4.2%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;font-family:Manrope,sans-serif;font-size:12px;letter-spacing:2.2px;font-weight:800}.brand-icon{display:grid;place-items:center;width:33px;height:33px;border:1px solid #9ba38c;border-radius:50%;background:#f4f1e929}.brand-rule{height:13px;width:1px;background:#b9bdac;margin:0 4px}.brand small{font-size:8px;letter-spacing:1.5px;color:#7d826f;font-weight:600}.build-label{font-size:9px;font-weight:600;letter-spacing:1.8px;display:flex;align-items:center;gap:8px;background:#f3f1e6cb;padding:11px 15px;border-radius:20px}.build-label>span,.live-dot{width:5px;height:5px;display:inline-block;border-radius:50%;background:#648360}.home-copy{position:absolute;top:23%;left:7.1%;width:470px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2.1px;display:flex;align-items:center;gap:13px;color:#7c826c}.short-rule{display:block;width:26px;height:1px;background:#909779}h1{font-family:Georgia,Times New Roman,serif;font-weight:400;font-size:clamp(45px,4.7vw,74px);line-height:1.09;letter-spacing:-2.9px;margin:24px 0;color:#33442f}h1 em{font-weight:400;color:#718066}.home-copy>p{font-size:13px;line-height:1.9;color:#818373;margin:0 0 31px}.primary{background:#41573d;border:1px solid #41573d;color:#f9f6ec;padding:17px 24px;min-width:233px;font-size:12px;font-weight:500;justify-content:space-between;box-shadow:0 6px 16px #324a2b10;border-radius:3px}.start-actions{display:flex;align-items:flex-start;flex-direction:column;gap:10px}.continue{font-size:11px;background:none;padding:4px 0;color:#69765e}.secondary-actions{display:flex;gap:25px;margin-top:22px}.secondary-actions button{font-size:10px;background:none;padding:4px 0;color:#6a735f;gap:8px}.chapter-note{display:flex;gap:16px;margin-top:39px;border-top:1px solid #dadccf;padding-top:23px;width:305px}.chapter-note>span{font-family:Georgia,serif;color:#9aa18a;font-size:23px;font-style:italic}.chapter-note b{font-size:10px;font-weight:500;color:#59654f}.chapter-note p{font-size:10px;line-height:1.8;color:#939483;margin:5px 0 0}.scene-caption{position:absolute;right:5%;bottom:15%;display:flex;align-items:center;gap:18px;background:#f3f1e8e8;border:1px solid #ffffffa3;border-radius:3px;padding:20px 22px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.caption-line{width:2px;height:33px;background:#7b8965}.scene-caption b{font-size:9px;letter-spacing:1.65px;font-weight:650;display:block;margin-bottom:7px}.scene-caption div>span{font-family:Georgia,serif;font-size:17px;color:#65705b}.sun-badge{margin-left:14px;border-left:1px solid #d6daca;padding-left:20px;color:#92956d}.scene-note{position:absolute;right:5%;top:105px;display:flex;align-items:center;gap:10px;font-size:8px;letter-spacing:1.4px;color:#526347}.scene-note>span:not(.live-dot){color:#919a81}.menu-footer{position:absolute;bottom:28px;left:4.2%;right:4.2%;border-top:1px solid #c9ceba8c;padding-top:19px;display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1.3px;color:#8b907d}.menu-footer>span:nth-child(2){display:flex;align-items:center;gap:8px;letter-spacing:0;font-size:9px}.menu-footer i{width:1px;height:10px;background:#c5c9b8;margin:0 9px}kbd{font-family:DM Sans,sans-serif;font-size:8px;font-weight:500;border:1px solid currentColor;border-radius:3px;padding:3px 5px;opacity:.75;letter-spacing:.6px}.mouse-icon{height:14px;width:10px;border:1px solid #a1aa90;border-radius:5px;position:relative}.mouse-icon:after{content:"";position:absolute;left:3px;top:2px;width:2px;height:4px;background:#a1aa90}.hud-top{position:absolute;top:28px;left:35px;right:35px;display:flex;justify-content:space-between;align-items:center;color:#fff9ea;text-shadow:0 1px 10px #20251c88}.hud-brand{font-family:Georgia,serif;font-size:24px;letter-spacing:-.5px}.hud-brand span{display:block;font:7px DM Sans,sans-serif;letter-spacing:2.5px;margin-top:6px}.hud-tools{display:flex;align-items:center;gap:10px}.hud-tools>button,.time-pill{background:#30412c55;color:#fff9ea;border:1px solid #ffffff29;border-radius:30px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);height:37px}.hud-tools>button{width:37px}.time-pill{display:flex;gap:9px;align-items:center;padding:0 14px;font-size:10px;font-variant-numeric:tabular-nums}.crosshair{position:absolute;left:calc(50% - 2px);top:calc(50% - 2px);height:4px;width:4px;border-radius:50%;background:#fffcf1d9;box-shadow:0 0 3px #28302180}.interaction{position:absolute;left:50%;top:59%;transform:translate(-50%);display:flex;gap:12px;align-items:center;background:#24331fe3;color:#f6f1e5;padding:12px 17px;border:1px solid #eee7ca30;border-radius:4px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:12px}.interaction kbd{font-size:10px;padding:4px 7px;opacity:1;border-color:#aaa98b}.welcome-toast{position:absolute;left:50%;top:23%;transform:translate(-50%);text-align:center;color:#fff9ee;text-shadow:0 2px 15px #171e16;animation:arrive 1s ease}.welcome-toast>span{font-size:8px;letter-spacing:2.5px}.welcome-toast p{font-family:Georgia,serif;font-size:26px;margin:13px 0}.play-hints{position:absolute;left:50%;bottom:24px;transform:translate(-50%);display:flex;align-items:center;gap:22px;white-space:nowrap;color:#fffbedbf;font-size:9px;text-shadow:0 1px 5px #152110;background:#2433214d;padding:12px 20px;border-radius:5px}.play-hints>span{display:flex;align-items:center;gap:7px}.location-label{position:absolute;bottom:28px;left:35px;font-size:10px;color:#fffae6;text-shadow:0 1px 5px #1c2419}.modal-backdrop,.pause-backdrop{pointer-events:auto;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#23301f55;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);padding:24px}.modal{background:#f7f4ec;border:1px solid #ffffffe0;box-shadow:0 25px 90px #1c281f30;border-radius:8px;padding:40px;width:530px;max-height:93vh;overflow-y:auto;position:relative;pointer-events:auto}.close-button{position:absolute;right:18px;top:18px;background:#e8e9de;border-radius:50%;height:29px;width:29px;color:#69755e}.modal h2,.pause-card h2{font-family:Georgia,serif;font-size:36px;font-weight:400;letter-spacing:-1px;margin:15px 0 12px}.panel-intro{color:#89907d;font-size:12px;margin-bottom:26px}.setting-row{display:flex;flex-wrap:wrap;align-items:center;border-bottom:1px solid #dfe1d3;padding:18px 0;gap:12px;font-size:12px}.setting-row>span{flex:1;display:block}.setting-row>span>svg{vertical-align:-3px;margin-right:5px}.setting-row small{display:block;color:#969985;font-size:10px;margin-top:6px;font-weight:400}.setting-row output{font-size:11px;color:#818a70;font-variant-numeric:tabular-nums}.setting-row input[type=range]{width:100%;height:3px;accent-color:#556b49;margin:12px 0 3px;cursor:pointer}.setting-row input[type=checkbox]{accent-color:#576e4d;width:16px;height:16px;cursor:pointer}.setting-row select,.setting-row input[type=number]{background:#ebece2;border:1px solid #d9decb;border-radius:4px;padding:8px;font-size:10px;color:#59674d;max-width:100px}.setting-row input[type=color]{border:0;padding:0;width:40px;height:26px;background:none}.settings-bottom{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#969c88;margin-top:28px}.settings-bottom span{display:flex;align-items:center;gap:5px}.settings-bottom button{background:none;font-size:9px;padding:0;color:#77856b}.plan-modal{width:850px;padding:32px 38px}.plan-topline{display:flex;align-items:center;justify-content:space-between;margin-top:23px}.segmented{display:flex;background:#e9eade;border-radius:5px;padding:4px;gap:3px}.segmented button{background:none;font-size:10px;padding:9px 16px;border-radius:3px;color:#869076}.segmented button.active{background:#fbf9f2;box-shadow:0 1px 4px #33452312;color:#465d3a}.text-button{padding:0;background:none;font-size:9px;color:#7d896b;gap:6px}.floor-plan{width:100%;height:clamp(240px,47vh,480px);margin:19px 0 6px}.plan-room-name{font-size:.18px;letter-spacing:.025px;fill:#777c64;font-family:DM Sans,sans-serif;font-weight:500}.plan-subtitle{font-size:.12px;letter-spacing:.014px;fill:#969c84;font-family:DM Sans,sans-serif}.plan-bottom{display:flex;justify-content:space-between;border-top:1px solid #dcdfd1;padding-top:18px;color:#899479;font-size:9px;line-height:1.8}.plan-bottom>div{display:flex;align-items:center;gap:12px}.plan-bottom>span{font-size:7px;letter-spacing:1px;text-align:right}.reference-plan{width:100%;max-height:52vh;object-fit:contain;margin-top:16px;background:#fff}.pause-card{width:410px;background:#f8f5ecef;padding:37px;border-radius:7px;border:1px solid #fff;text-align:center;box-shadow:0 10px 80px #1a241c30}.pause-card .eyebrow{justify-content:center;font-size:8px;letter-spacing:1.7px}.pause-card p{font-size:12px;color:#87917b;line-height:1.8;margin:12px 0 25px}.pause-card .primary{width:100%}.pause-links{display:flex;justify-content:space-between;margin-top:23px}.pause-links button{background:none;color:#8b937d;font-size:10px;padding:0}.room-tag{background:#1a271bd9;color:#f4eedb;white-space:nowrap;padding:6px 10px;font-size:11px;border-radius:4px;pointer-events:none}.notice{position:absolute;bottom:80px;left:50%;transform:translate(-50%);background:#f5f2e9;color:#5e6c50;padding:13px 20px;border-radius:5px;font-size:11px;box-shadow:0 6px 35px #0002}.error-panel{position:absolute;bottom:20%;left:25%;width:50%;background:#faeee3;padding:30px;color:#a34b3a;pointer-events:auto}.editor-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:23px}.editor-actions button{font-size:10px;border:1px solid #ced5bf;background:#e7eadc;padding:10px;border-radius:4px}.editor-footnote{font-size:10px;color:#8a937d;line-height:1.8;margin:20px 0 0}.modal>.text-button{margin-bottom:22px}@keyframes arrive{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media(min-width:1600px){.home-copy{top:25%}.chapter-note{margin-top:48px}.home-copy>p{font-size:15px}.primary{padding:19px 26px;font-size:13px;min-width:250px}}@media(max-height:760px){.home-copy{top:22%}h1{font-size:52px;margin:19px 0}.home-copy>p{margin-bottom:23px}.chapter-note{margin-top:25px;padding-top:15px}.scene-caption{bottom:16%}.masthead{top:25px}.menu-footer{bottom:20px}.modal{padding:30px;max-height:95vh}.setting-row{padding:13px 0}}@media(max-width:900px){.home-copy{left:6%;width:390px}.brand small,.brand-rule,.menu-footer>span:first-child,.scene-note{display:none}.scene-caption{right:4%;bottom:16%;padding:14px}.scene-caption div>span{font-size:13px}.scene-caption b{font-size:7px}.sun-badge{display:none}.menu-footer>span:last-child{font-size:7px}.scene-caption{max-width:270px}.home-copy h1{font-size:50px}.plan-modal{padding:30px}.play-hints{gap:10px;font-size:8px}.location-label{bottom:75px}.build-label{font-size:7px}}@media(max-width:620px){.menu-scrim{background:linear-gradient(90deg,#f4f1e9f0,#f4f1e9c9 67%,#f4f1e955)}.home-copy{top:20%;width:85%}.scene-caption,.build-label{display:none}.menu-footer{justify-content:center}.menu-footer>span:last-child{display:none}.home-copy h1{font-size:50px}.chapter-note{margin-top:28px}.modal{padding:28px 22px}.modal h2{font-size:29px}.plan-topline{gap:15px;align-items:flex-start;flex-direction:column}.plan-bottom>span{display:none}.hud-top{left:20px;right:20px}.play-hints>span:nth-child(2),.play-hints>span:nth-child(4){display:none}.settings-bottom{gap:15px}.modal-backdrop{padding:12px}.welcome-toast{width:100%}.welcome-toast p{font-size:23px}}.brand-name{display:flex;flex-direction:column;gap:5px;font-size:20px}.brand .brand-name small{display:block;font-size:8px}.game-lobby{isolation:isolate;position:absolute;inset:0;display:flex;align-items:center;padding:4vh 7vw;overflow:auto;pointer-events:auto;color:#f4f0e3}.lobby-shade{position:fixed;inset:0;background:linear-gradient(90deg,#111d19f5,#111d19cf 40%,#111d1955 75%);z-index:-1}.lobby-card{width:min(480px,94vw);max-height:92vh;overflow:auto;padding:20px}.game-logo{font:700 80px Georgia,serif;letter-spacing:9px;line-height:1}.game-logo span{display:block;font:600 11px Arial;letter-spacing:5px;margin:12px 0 28px;color:#bdcba9}.game-primary,.game-secondary{display:flex;width:100%;padding:15px 20px;margin-top:10px;border-radius:3px;letter-spacing:2px;font-size:12px;font-weight:700;justify-content:center}.game-primary{background:#c8d7a4;color:#1a291b;border:1px solid #dee8cb}.game-secondary{background:#23372dd9;color:#e4e9db;border:1px solid #6a795a}.avatar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:16px 0}.avatar-grid button{display:flex;flex-direction:column;gap:5px;padding:9px 2px;background:#21362bc9;border:1px solid #526047;color:#dce4ce;border-radius:3px;font-size:10px}.avatar-grid button.selected{border:2px solid #d3e3a8;background:#40543c}.avatar-grid i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff;font-style:normal;font-size:18px}.selected-character{font-size:17px;margin-top:10px}.lobby-footer,.lobby-heading,.pause-voice{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:17px 0}.lobby-footer button,.lobby-heading button,.pause-voice button{background:transparent;color:inherit;font-size:10px;letter-spacing:1px;padding:8px}.lobby-heading h2{font:600 15px Arial;margin:0}.lobby-card label{display:flex;flex-direction:column;gap:8px;margin:15px 0;font-size:11px;color:#cdd8be}.lobby-card input{background:#14251ee8;color:#fff;border:1px solid #65735a;border-radius:3px;min-height:42px;padding:10px;font-size:14px;width:100%;pointer-events:auto}.lobby-card .text-button{color:#d0dcbf;margin-top:17px}.host-address,.network-error{font-size:12px;line-height:1.5;overflow-wrap:anywhere}.network-error{color:#ffb9a3}.game-status{position:absolute;top:max(15px,env(safe-area-inset-top));left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right));display:flex;align-items:center;justify-content:flex-end;gap:8px;pointer-events:none;color:#f5f5de}.game-status button{pointer-events:auto;background:#14251bbd;border:1px solid #8796755c;border-radius:50%;color:inherit;width:42px;height:42px}.game-status .mic-live{background:#3f7a4d}.room-code{margin-right:auto;font-size:11px;letter-spacing:1px;background:#14251bbd;padding:12px;border-radius:3px}.voice-status{position:absolute;right:48px;top:48px;font-size:10px;background:#14251bbd;padding:5px 8px}.brief-controls{position:absolute;right:0;top:50px;font-size:10px;opacity:.7}.game-interface .pause-card,.game-interface .modal{background:#17291ef2;color:#e1e9d4;border-color:#77876a}.game-interface h2{font:600 24px Arial;letter-spacing:2px}.game-interface .pause-links button{color:#e1e9d4}.room-roster{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.room-roster span{padding:5px 8px;background:#314735;font-size:11px}.touch-controls{position:absolute;inset:0;pointer-events:none}.look-pad{position:absolute;right:0;top:80px;width:55%;bottom:0;pointer-events:auto;touch-action:none}.move-stick{position:absolute;left:max(32px,env(safe-area-inset-left));bottom:35px;width:118px;height:118px;border-radius:50%;border:2px solid #ffffff50;background:#162b204f;pointer-events:auto;touch-action:none;display:grid;place-items:center}.move-stick span{width:44px;height:44px;border:1px solid #ffffff8a;border-radius:50%;background:#bacbaa65}.touch-controls button{position:absolute;pointer-events:auto;touch-action:none;border-radius:50%;background:#263b2cca;border:1px solid #bccba4;color:#edf3de;width:65px;height:65px;font-size:12px}.touch-interact{right:38px;bottom:50px}.touch-run{right:120px;bottom:105px}.game-interface .modal{max-height:88vh;overflow:auto}.game-interface .setting-row input{accent-color:#aec88c}.game-interface .plan-room-name{fill:#46563b}.game-interface .interaction{pointer-events:none}.game-interface .game-lobby button:disabled{opacity:.45}.game-interface .notice{bottom:22px}.game-interface .pause-card p{color:#d0d9c3}@media(max-height:600px){.game-lobby{align-items:flex-start;padding:10px 4vw}.lobby-card{max-height:none;width:440px;padding:10px}.game-logo{font-size:42px}.game-logo span{margin:5px 0 12px}.avatar-grid{grid-template-columns:repeat(6,1fr);gap:5px}.avatar-grid button{padding:5px 2px}.game-primary,.game-secondary{padding:12px}.pause-card{padding:20px}.game-status{top:8px}}@media(pointer:coarse){.brief-controls{display:none}.crosshair{opacity:.65}.game-lobby{padding-bottom:env(safe-area-inset-bottom)}.room-code{font-size:9px}.play-hints{display:none}}
