:root{--ink:#293e36;--muted:#7b8175;--cream:#faf7ef;--line:#d8ddca;--terra:#b76846;--active:#5b8560;--integration:#c89342;--prospect:#648eab}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#94c9ce}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,#viewport:focus-visible{outline:3px solid #ac6244;outline-offset:5px}button{border:0}#game{height:100dvh;min-height:420px;overflow:hidden;position:relative}#viewport{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:grab;background:radial-gradient(ellipse at 48% 38%,#c8e3df,#99cccf 60%,#70b4c3)}#viewport.dragging{cursor:grabbing}#world{width:1900px;height:1250px;position:absolute;transform-origin:0 0;}#scene,#scene svg{width:100%;height:100%;position:absolute;inset:0}#pins{position:absolute;inset:0;pointer-events:none}.pin{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;white-space:nowrap;padding:0;background:none;display:flex;align-items:center;flex-direction:column;--color:#b76846;filter:drop-shadow(0 7px 6px #28473522)}.pin-marker{background:var(--cream);color:var(--color);width:42px;height:42px;border-radius:50% 50% 50% 6px;transform:rotate(-45deg);display:grid;place-items:center;border:2px solid #fff9e9;box-shadow:0 0 0 5px #fff5d733}.pin-marker svg{width:23px;height:23px;transform:rotate(45deg)}.pin-label{display:flex;align-items:center;gap:7px;background:var(--cream);border-radius:7px;margin-top:12px;padding:8px 11px;font-size:12px;font-weight:700;border:1px solid #fff8e5}.pin-label i{width:6px;height:6px;background:var(--color);border-radius:50%}.pin:hover .pin-label,.pin.selected .pin-label{background:var(--color);color:white}.pin:hover .pin-marker,.pin.selected .pin-marker{box-shadow:0 0 0 7px #fff8dd88}.hud{position:absolute;top:25px;left:30px;right:30px;display:flex;align-items:center;justify-content:space-between;gap:20px;pointer-events:none}.hud>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);background:#faf7efed;padding:15px 21px;border-radius:16px;box-shadow:0 8px 30px #4157460a;border:1px solid #fff8e6}.brand-icon{font-size:44px;color:#687d4b;line-height:1}.brand strong{font-family:Georgia,serif;font-size:27px;font-weight:normal;letter-spacing:-1px}.brand em{font-style:normal;color:var(--terra)}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:6px}.location{display:flex;align-items:center;gap:12px;padding:13px 18px;border-radius:50px;background:#faf7efe8;border:1px solid #fff8e5;box-shadow:0 8px 30px #41574608}.sun{font-size:29px;color:#bb944b}.location strong{font-size:13px}.location small{display:block;font-size:10px;margin-top:4px;color:#7b8175}.demo{font-size:8px;letter-spacing:1.5px;border-left:1px solid #d5dacb;padding-left:15px;margin-left:5px;color:#6f795d}.top-actions{display:flex;gap:8px}.icon-btn{background:#faf7efec;width:42px;height:42px;border-radius:50%;font-size:21px;box-shadow:0 5px 20px #385e4722}.icon-btn:hover,.map-controls button:hover{background:white}.chapter{position:absolute;left:48px;top:153px;pointer-events:none}.chapter>span{font-size:9px;letter-spacing:2.8px;color:#657956}.chapter h1{font-family:Georgia,serif;font-size:34px;font-weight:normal;line-height:1.17;margin:15px 0 13px;letter-spacing:-1px}.chapter p{font-size:12px;line-height:1.7;color:#5c7769}.compass{position:absolute;right:35px;bottom:184px;text-align:center;color:#42666a;font-size:10px;letter-spacing:1px;pointer-events:none}.compass svg{display:block;width:48px;height:48px;margin-top:3px}.bottom-hud{position:absolute;bottom:52px;left:30px;right:30px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;pointer-events:none}.bottom-hud>*{pointer-events:auto}.dock-wrap{background:#faf7eff2;padding:16px 17px 12px;border:1px solid #fff9e9;border-radius:17px;box-shadow:0 12px 40px #30574a22}.dock-heading{font-size:9px;letter-spacing:1.7px;display:flex;align-items:center;gap:8px;margin:0 5px 12px}.dock-heading .dot{background:#b76846;height:5px;width:5px;border-radius:50%}.dock-heading small{margin-left:auto;letter-spacing:0;font-size:10px;color:#919484}nav{display:flex;gap:7px}.nav-building{display:flex;align-items:center;gap:11px;background:transparent;padding:11px 15px;border:1px solid #e0e3d6;border-radius:10px;text-align:left;min-width:165px;transition:background .15s}.nav-building:hover,.nav-building.selected{background:#e9eddf;border-color:#bac8af}.nav-building svg{width:24px;height:24px;color:var(--color)}.nav-building strong{display:block;font-size:12px;font-weight:600}.nav-building small{display:block;color:#889080;font-size:10px;margin-top:5px}.nav-building small i{display:inline-block;width:5px;height:5px;background:var(--color);border-radius:50%;margin-right:5px}.map-controls{display:flex;align-items:center;gap:5px;background:#faf7eff2;border:1px solid #fff8e5;padding:5px;border-radius:12px;box-shadow:0 8px 24px #365d4422}.map-controls button{font-size:23px;background:transparent;width:35px;height:39px;border-radius:8px}.map-controls>span{height:19px;width:1px;background:#d4dacc;margin:0 4px}.map-controls output{font-size:10px;min-width:38px;text-align:center;color:#6f7966}.footer-note{position:absolute;bottom:23px;left:35px;right:35px;display:flex;justify-content:space-between;pointer-events:none;color:#416d70;font-size:9px;letter-spacing:1px}.footer-note span:last-child{letter-spacing:.3px}.hint{position:absolute;bottom:195px;left:50%;transform:translateX(-50%);padding:10px 15px;background:#fcf9eee8;border:1px solid #fff8e5;border-radius:40px;color:#6b7865;font-size:10px;white-space:nowrap;pointer-events:none;transition:opacity 1s}.hint>span:first-child{margin-right:7px;font-size:15px}.hint-separator{padding:0 8px}.help-panel{position:absolute;right:30px;top:91px;background:#faf7ef;padding:24px;border-radius:16px;max-width:300px;box-shadow:0 15px 45px #25413222;font-size:12px;z-index:8}.help-panel p{line-height:1.75;color:#647369}.help-panel small{font-size:10px;color:#8a9283}.property-card{position:absolute;width:340px;right:30px;top:105px;background:#faf7ef;border-radius:18px;overflow:hidden;box-shadow:0 25px 70px #24463344;border:1px solid #ffffe8;z-index:5;animation:appear .2s ease-out}.card-image{height:160px;background:linear-gradient(140deg,#e9efdf,#c5dbcf);position:relative;overflow:hidden}.card-image svg{position:absolute;width:100%;height:100%}.card-kicker{position:absolute;z-index:1;top:17px;left:20px;font-size:8px;letter-spacing:1.9px;color:#6b8169}.card-image button{position:absolute;right:12px;top:12px;width:30px;height:30px;z-index:2;border-radius:50%;background:#faf7efdf;font-size:24px;line-height:1}.card-body{padding:23px}.status{font-size:9px;padding:6px 9px;background:#e4eddd;border-radius:5px;font-weight:600;color:var(--color)}.status:before{content:'';display:inline-block;background:var(--color);height:5px;width:5px;border-radius:50%;margin-right:6px}.card-body h2{font-size:28px;font-family:Georgia,serif;font-weight:normal;margin:17px 0 12px}.card-body p{font-size:12px;color:#778171;line-height:1.75;margin:0}.card-details{display:flex;gap:16px;border-top:1px solid #e2e4d8;margin-top:18px;padding-top:14px;color:#63745e;font-size:10px}.fiction{font-size:9px;color:#969c8e;margin:22px 0 15px}.fiction span{margin-right:5px}#locate{background:#344f42;color:#faf7ef;width:100%;padding:13px 15px;text-align:left;border-radius:8px;font-size:11px}#locate span{float:right}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1050px){.chapter{top:132px;left:30px}.chapter h1{font-size:27px}.nav-building{min-width:140px;padding:10px}.nav-building svg{width:21px}.dock-wrap{padding:13px}.bottom-hud{gap:10px}.location .demo{display:none}.brand{padding:13px}.brand strong{font-size:24px}}@media(max-width:760px){.hud{top:max(14px,env(safe-area-inset-top));left:15px;right:15px;gap:10px}.brand{padding:10px 12px;gap:8px;border-radius:12px}.brand-icon{font-size:30px}.brand strong{font-size:22px}.brand small{font-size:6px;letter-spacing:1.2px;margin-top:4px}.location{display:none}.icon-btn{width:35px;height:35px;font-size:19px}.chapter{top:106px;left:22px}.chapter>span{font-size:7px;letter-spacing:2px}.chapter h1{font-size:24px;margin:10px 0}.chapter p{display:none}.bottom-hud{left:12px;right:12px;bottom:max(40px,calc(env(safe-area-inset-bottom) + 22px));display:block}.dock-wrap{padding:12px 10px 9px;border-radius:14px}.dock-heading{font-size:8px;margin-bottom:9px}.dock-heading small{font-size:9px}nav{display:grid;grid-template-columns:1fr 1fr;gap:5px}.nav-building{min-width:0;padding:9px 10px;gap:9px}.nav-building strong{font-size:11px}.nav-building small{font-size:9px;margin-top:3px}.nav-building svg{width:21px;height:21px}.map-controls{position:absolute;right:0;bottom:172px;gap:0}.map-controls button{width:33px;height:34px}.map-controls output{min-width:35px}.footer-note{left:16px;right:16px;bottom:max(13px,env(safe-area-inset-bottom));font-size:7px;letter-spacing:.5px}.footer-note span:last-child{font-size:7px}.compass{bottom:274px;right:17px}.compass svg{width:37px;height:37px}.hint{bottom:215px;font-size:9px;padding:9px 12px;left:15px;transform:none}.hint-separator{padding:0 4px}.help-panel{right:15px;top:82px;max-width:290px}.property-card{top:auto;bottom:210px;left:15px;right:15px;width:auto;max-width:390px;margin:auto;max-height:calc(100dvh - 300px);overflow-y:auto}.card-image{height:120px}.card-body{padding:18px}.card-body h2{font-size:24px;margin:13px 0 10px}.card-body p{font-size:11px}.fiction{margin:14px 0 12px}.card-details{margin-top:12px;padding-top:12px}.pin-label{font-size:11px;padding:7px 9px}.pin-marker{width:35px;height:35px}.pin-marker svg{width:19px;height:19px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Phase 2 — characters follow the same isometric transform as the city. */
.character{cursor:pointer;outline:none}.character .avatar-label{transition:opacity .15s;opacity:.9}.character:hover .avatar-label,.character:focus .avatar-label,.character-selected .avatar-label{opacity:1}.character:hover .avatar-label rect,.character:focus .avatar-label rect,.character-selected .avatar-label rect{stroke:#b76846;stroke-width:1.7}.character:focus .avatar-shadow,.character-selected .avatar-shadow{fill:#b7684660}.character-header{position:relative;display:flex;align-items:center;gap:15px;padding:28px 25px 23px;background:linear-gradient(140deg,#edf0e1,#d6e1cb)}#characterPortrait{height:83px;width:73px;flex-shrink:0;background:#faf7ef80;border-radius:15px;display:grid;place-items:center}#characterPortrait svg{width:65px;height:72px}.character-kicker{font-size:8px;letter-spacing:2px;color:#829074}.character-header h2{font-family:Georgia,serif;font-size:28px;font-weight:normal;margin:9px 0 7px}.character-header p{font-size:11px;color:#687a63;margin:0}.character-header button{position:absolute;right:12px;top:12px;width:30px;height:30px;border-radius:50%;background:#faf7efdf;font-size:24px}.character-body{padding:23px}.character-mission{background:#e9eddf;border:1px solid #dee5d2;border-radius:10px;padding:17px}.character-mission>span{font-size:8px;letter-spacing:1.1px;color:#6b7e5f;display:flex;align-items:center;gap:6px}.character-mission i{height:5px;width:5px;background:var(--character-color);border-radius:50%}.character-mission p{font-size:12px;line-height:1.7;color:#5a7058;margin:12px 0 0}#backToCity{background:#344f42;color:#faf7ef;width:100%;padding:13px 15px;text-align:left;border-radius:8px;font-size:11px}#backToCity span{float:right}@media(max-width:760px){.character-header{padding:20px;gap:13px}#characterPortrait{height:70px;width:62px}#characterPortrait svg{height:64px;width:60px}.character-header h2{font-size:25px}.character-body{padding:18px}.character-mission{padding:15px}.character-mission p{font-size:11px}}
/* Phase 3 — small anchored mission notifications and local completion. */
#missionBubbles{position:absolute;inset:0;pointer-events:none;z-index:2}.mission-anchor{position:absolute;width:44px;height:44px;transform-origin:center bottom;pointer-events:none}.mission-bubble{position:relative;left:43px;bottom:48px;width:44px;height:44px;border-radius:16px 16px 16px 5px;background:#b76846;color:#fff7e2;border:2px solid #fff4d6;pointer-events:auto;display:grid;place-items:center;box-shadow:0 6px 18px #775e433b;animation:missionFloat 3s ease-in-out infinite}.mission-bubble svg{height:23px;width:23px}.mission-bubble:hover{background:#a75b3c}.mission-bubble:focus-visible{outline-color:#344f42}.mission-alert{position:absolute;right:-5px;top:-5px;display:grid;place-items:center;border-radius:50%;width:17px;height:17px;background:#faf2ce;color:#a56140;font-size:10px;font-weight:bold;border:1px solid #e0cfaa}@keyframes missionFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}.mission-image{height:135px;background:linear-gradient(140deg,#eee8d7,#cddcc4)}.mission-body{padding:23px}.mission-topline{display:flex;align-items:center;justify-content:space-between;gap:10px}.mission-topline>span:first-child{font-size:10px;color:#76806a}.mission-status{display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:600;background:#f0e3c9;color:#a87536;padding:6px 9px;border-radius:5px;white-space:nowrap}.mission-status:before{content:'';width:5px;height:5px;background:currentColor;border-radius:50%}.mission-status.is-complete{background:#e2ecd9;color:#5d8054}.mission-body h2{font-family:Georgia,serif;font-weight:normal;line-height:1.2;font-size:27px;letter-spacing:-.6px;margin:18px 0 12px}.mission-body>p{font-size:12px;line-height:1.75;color:#76816e;margin:0}.mission-owner{display:flex;align-items:center;gap:11px;margin:21px 0;padding:14px 0;border-top:1px solid #e1e4d7;border-bottom:1px solid #e1e4d7}#missionAvatar{width:43px;height:43px;border-radius:11px;background:#e7ebda;display:grid;place-items:center}#missionAvatar svg{height:39px;width:37px}.mission-owner small{display:block;font-size:7px;letter-spacing:1.6px;color:#969d8c;margin-bottom:6px}.mission-owner strong{font-size:12px;font-weight:600}#completeMission{width:100%;background:#344f42;color:#faf7ef;padding:14px;border-radius:8px;font-size:12px;display:flex;align-items:center;justify-content:center;gap:7px}#completeMission:hover:not(:disabled){background:#486450}#completeMission:disabled{background:#e1ead8;color:#608057;cursor:default}#completeMission svg{width:17px;height:17px}.mission-body>.mission-saved{font-size:9px;line-height:1.6;color:#939b87;margin-top:11px;text-align:center}.mission-body .fiction{margin:18px 0 0;font-size:9px}.building-mission{margin-top:20px;border-top:1px solid #e2e4d8;padding-top:15px}.mission-section-label{display:block;font-size:7px;letter-spacing:1.6px;color:#8f9884;margin-bottom:9px}.building-mission-button{display:flex;align-items:center;gap:10px;text-align:left;width:100%;background:#eee8d6;border:1px solid #e0d9c5;border-radius:10px;padding:12px}.building-mission-button:hover{background:#e7e3cb}.mission-summary-icon{display:grid;place-items:center;width:29px;height:29px;background:#faf4e3;color:#b76846;border-radius:8px;flex-shrink:0}.mission-summary-icon svg{width:18px;height:18px}.building-mission-button strong{display:block;font-size:11px;font-weight:600}.building-mission-button small{display:block;font-size:9px;color:#969681;margin-top:5px}.building-mission-button small span{color:#b0803b}.mission-summary-arrow{margin-left:auto;font-size:16px;color:#8b947b}.building-mission-button.is-complete{background:#e7eddf;border-color:#dbe5d0}.building-mission-button.is-complete .mission-summary-icon{background:#f1f5e9;color:#628356}.building-mission-button.is-complete small span{color:#628356}.property-card{max-height:calc(100dvh - 290px);overflow-y:auto}@media(max-width:760px){.mission-bubble{left:39px;bottom:42px}.mission-image{height:115px}.mission-body{padding:18px}.mission-body h2{font-size:24px;margin:14px 0 10px}.mission-owner{margin:15px 0;padding:11px 0}.mission-body>p{font-size:11px}.building-mission{margin-top:15px;padding-top:12px}.property-card{max-height:calc(100dvh - 300px)}}@media(prefers-reduced-motion:reduce){.mission-bubble{animation:none}}
/* Phase 4 — creation and assignment, retaining the same local mission flow. */
.building-mission-button+.building-mission-button{margin-top:7px}.mission-summary-text{min-width:0}.building-mission-button strong{overflow-wrap:anywhere}.mission-empty{font-size:11px;line-height:1.6;color:#959c88;margin:7px 0 12px}.create-mission{width:100%;margin-top:10px;border:1px dashed #bdcbb1;background:transparent;padding:11px;border-radius:9px;color:#667d59;font-size:11px}.create-mission:hover{background:#e7eddf}.mission-body h2,.mission-body>p{overflow-wrap:anywhere;white-space:pre-wrap}.mission-alert{min-width:17px;width:auto;padding:0 4px}.mission-form-header{position:relative;padding:27px 23px 22px;background:linear-gradient(140deg,#f2e9d5,#d8e1c9)}.mission-form-header>span{font-size:8px;letter-spacing:1.8px;color:#859173}.mission-form-header h2{font-family:Georgia,serif;font-size:27px;font-weight:normal;margin:15px 0 9px;letter-spacing:-.5px}.mission-form-header p{font-size:12px;color:#79896a;margin:0}.mission-form-header button{position:absolute;right:12px;top:12px;width:30px;height:30px;border-radius:50%;background:#faf7efdf;font-size:24px}.mission-form{padding:22px 23px}.mission-form label{display:block;font-size:10px;color:#66785d;font-weight:600;margin:0 0 8px}.mission-form input,.mission-form textarea,.mission-form select{font:inherit;font-size:12px;color:#425c44;width:100%;border:1px solid #d9dfcc;border-radius:8px;background:#fffaf0;padding:11px 12px;outline:none;min-height:41px}.mission-form input:focus,.mission-form textarea:focus,.mission-form select:focus{border-color:#93aa7f;box-shadow:0 0 0 3px #a0b68c26}.mission-form input[aria-invalid=true],.mission-form textarea[aria-invalid=true]{border-color:#b76846}.mission-form textarea{resize:vertical;min-height:92px;max-height:200px;line-height:1.6}.mission-form input{margin-bottom:17px}.mission-form textarea{margin-bottom:16px}.mission-form input::placeholder,.mission-form textarea::placeholder{color:#a3aa95;font-size:11px}.mission-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mission-form-note{font-size:9px;color:#929b83;margin:18px 0 15px}.mission-form-note strong{font-weight:normal;color:#b0803b}.mission-form-error{font-size:11px;color:#a65f41;line-height:1.6;margin:13px 0 0}#saveNewMission{width:100%;border-radius:8px;background:#344f42;color:#faf7ef;padding:13px;font-size:12px}#saveNewMission:hover{background:#486450}#saveNewMission:disabled{opacity:.6;cursor:default}.cancel-mission{display:block;background:none;width:100%;font-size:10px;color:#879479;padding:12px 0 0}@media(max-width:760px){.mission-form-header{padding:23px 18px 18px}.mission-form-header h2{font-size:25px}.mission-form{padding:18px}.mission-form input,.mission-form textarea,.mission-form select{font-size:16px;padding:9px 11px}.mission-form input::placeholder,.mission-form textarea::placeholder{font-size:12px}}
/* Phase 5 — edits and a deliberate, inline delete confirmation. */
.mission-edit-actions{display:flex;gap:8px;margin-top:9px}.mission-edit-actions button{background:transparent;border:1px solid #d7dfca;border-radius:8px;font-size:10px;color:#748767;padding:11px}.mission-edit-actions #editMission{flex:1}.mission-edit-actions #editMission:hover{background:#e7eddf}.mission-edit-actions #deleteMission{display:grid;place-items:center;width:40px;padding:9px;color:#af7456;border-color:#e3d7c6}.mission-edit-actions #deleteMission:hover{background:#f1e6d9}#deleteMission svg{width:17px;height:17px}.mission-delete-confirm{background:#f2e7d9;border:1px solid #e7d2bc;border-radius:10px;margin-top:12px;padding:15px}.mission-delete-confirm>strong{font-size:11px;font-weight:600;color:#966745}.mission-delete-confirm p{font-size:10px;color:#a18e74;line-height:1.6;margin:8px 0 13px}.mission-delete-confirm>div{display:flex;gap:8px}.mission-delete-confirm button{flex:1;border-radius:7px;font-size:10px;padding:10px;background:#fbf6eb;color:#938469}#confirmDeleteMission{background:#b76846;color:#fff4de}#confirmDeleteMission:hover{background:#a25c3f}
/* Housing parcels and commercial construction stages. */
.pin{transform-origin:center bottom}.add-housing{display:flex;align-items:center;gap:5px;padding:0 14px;border-radius:24px;background:#344f42;color:#faf7ef;height:42px;font-size:11px;box-shadow:0 5px 20px #385e4722;white-space:nowrap}.add-housing b{font-weight:normal;font-size:20px}.add-housing:hover{background:#486450}.dock-wrap{max-width:calc(100% - 190px)}#buildingNav{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#bdc9af transparent;padding-bottom:3px}.nav-building{flex-shrink:0}.nav-building>span:first-child{display:grid;place-items:center}.housing-progress{border-top:1px solid #e2e4d8;margin-top:20px;padding-top:17px}.housing-progress-heading{display:flex;justify-content:space-between;gap:5px}.housing-progress-heading small{font-size:7px;letter-spacing:1.4px;color:#929b83}.housing-progress-heading>span{font-size:8px;color:#889579}.housing-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin:17px 0 13px}.housing-step{position:relative;background:none;display:flex;align-items:center;flex-direction:column;gap:8px;padding:0;font-size:10px}.housing-step:after{content:'';position:absolute;top:13px;left:calc(50% + 16px);right:calc(-50% + 16px);height:1px;background:#d7dfcb}.housing-step:last-child:after{display:none}.step-dot{display:grid;place-items:center;border:1px solid #d4ddc6;color:#9da88d;width:27px;height:27px;border-radius:50%;background:#f1f2e6;z-index:1}.housing-step small{font-size:8px;color:#919d80;line-height:1.4;text-align:center}.housing-step.is-current .step-dot{background:#b76846;border-color:#b76846;color:#fff3d6;box-shadow:0 0 0 4px #b7684614}.housing-step.is-current small{color:#ad7452}.housing-step.is-done .step-dot{background:#e1ebd7;border-color:#b9cbae;color:#698958}.housing-progress>p{font-size:10px;line-height:1.75;color:#889579;margin:0 0 13px}#advanceHousing{background:#e6ecdc;border:1px solid #d8e2cb;width:100%;font-size:10px;padding:11px;border-radius:8px;color:#628354}#advanceHousing:hover:not(:disabled){background:#dae6ce}#advanceHousing:disabled{cursor:default;color:#78976a}#housingSaved{display:block;font-size:8px;line-height:1.5;color:#a1aa93;margin-top:8px}.new-housing-start{display:flex;align-items:center;gap:12px;padding:15px;background:#e7eddf;border-radius:10px;margin:20px 0 0}.new-housing-start>span{font-size:29px;color:#8aa078}.new-housing-start strong{display:block;font-size:11px;color:#788c68}.new-housing-start small{display:block;font-size:9px;line-height:1.65;color:#9aa58c;margin-top:5px}#chooseHousingPlot{width:100%;padding:13px;font-size:11px;background:#344f42;color:#faf7ef;border-radius:8px}#chooseHousingPlot span{float:right}#chooseHousingPlot:disabled{opacity:.5;cursor:default}#housingPlots{position:absolute;inset:0;pointer-events:none;z-index:3}.housing-plot{position:absolute;pointer-events:auto;background:none;width:44px;height:44px;padding:0;display:flex;align-items:center;flex-direction:column;transform-origin:center center}.housing-plot>span{display:grid;place-items:center;width:44px;height:44px;background:#faf3dd;border:2px solid #b76846;box-shadow:0 0 0 6px #fff5d544;border-radius:50%;font-size:29px;line-height:1;color:#b76846;flex-shrink:0}.housing-plot:hover>span{background:#b76846;color:#fff4d9}.housing-plot small{padding:6px 9px;margin-top:5px;background:#faf4e6;border-radius:6px;white-space:nowrap;font-size:9px;color:#7c8d69}.housing-placement-bar{position:absolute;left:50%;top:113px;transform:translateX(-50%);display:flex;align-items:center;gap:35px;border-radius:14px;border:1px solid #fff1cf;background:#faf6e9f5;padding:17px 20px;box-shadow:0 12px 30px #47644722}.housing-placement-bar strong{font-family:Georgia,serif;font-weight:normal;font-size:23px;display:block}.housing-placement-bar small{font-size:10px;color:#8e9b7f;display:block;margin-top:7px}.housing-placement-bar button{font-size:10px;background:#e7eddd;color:#81956c;border-radius:8px;padding:11px 14px}.parcel-preview{pointer-events:none}.building-grow{animation:buildingAppear .5s ease-out}@keyframes buildingAppear{from{opacity:.2}to{opacity:1}}@media(max-width:760px){.add-housing{width:35px;height:35px;padding:0;justify-content:center}.add-housing span{display:none}.add-housing b{font-size:20px}.dock-wrap{max-width:100%}#buildingNav{grid-template-columns:none;grid-template-rows:repeat(2,auto);grid-auto-flow:column;grid-auto-columns:minmax(140px,1fr);gap:5px}.housing-placement-bar{top:190px;max-width:calc(100% - 30px);width:340px;justify-content:space-between;gap:10px;padding:14px 18px}.housing-placement-bar strong{font-size:21px}.housing-progress{margin-top:16px;padding-top:14px}.housing-step small{font-size:7px}.housing-progress-heading small{font-size:6px;letter-spacing:1.1px}.housing-plot small{font-size:8px}}@media(max-width:380px){.hud{gap:6px}.brand{gap:6px;padding:10px}.brand-icon{font-size:24px}.brand strong{font-size:19px}.brand small{font-size:5.5px}}@media(prefers-reduced-motion:reduce){.building-grow{animation:none}}
/* One-way LBG import: only one six-property district is rendered at a time. */
.lbg-connect{font-size:9px;letter-spacing:.5px;font-weight:600}.island-locate-wrap{position:absolute;right:31px;top:102px;background:#faf7efe8;padding:10px 13px;border:1px solid #fff8df;border-radius:11px;display:flex;align-items:center;gap:10px;z-index:2}.island-locate-wrap label{font-size:7px;letter-spacing:1.3px;color:#8d987d}.island-locate-wrap select{font:inherit;font-size:10px;color:#5b7453;border:0;background:transparent;max-width:220px;outline-offset:3px}.lbg-sync-summary{background:#e9eddf;border:1px solid #e0e5d4;padding:17px;border-radius:10px;margin:20px 0}.lbg-sync-summary strong{font-size:11px;color:#738966;display:block;line-height:1.5}.lbg-sync-summary small{font-size:9px;color:#9aa58c;display:block;margin-top:7px;line-height:1.5}#syncLbgNow{width:100%;padding:13px;border-radius:8px;background:#344f42;color:#faf7ef;font-size:11px}#syncLbgNow:disabled{opacity:.6;cursor:default}#lbgSyncStorage{font-size:8px;color:#9da68f;display:block;margin-top:11px;line-height:1.6}.mission-body>.lbg-quarter-hint{font-size:10px;line-height:1.7;color:#96a087;margin-top:20px}.housing-step:disabled{cursor:default}.imported-archived{opacity:.55}.lbg-sync-card{z-index:6}@media(max-width:760px){.island-locate-wrap{top:91px;right:15px;left:15px;justify-content:space-between;padding:10px 13px}.island-locate-wrap select{max-width:255px;font-size:11px}.island-locate-wrap:not([hidden])~.chapter{top:148px}.lbg-connect{font-size:8px}.top-actions{gap:5px}}@media(max-width:380px){.brand small{display:none}.brand-icon{font-size:20px}.brand strong{font-size:17px}.icon-btn,.add-housing{height:32px;width:32px}.hud{gap:4px}.brand{padding:9px;gap:4px}.top-actions{gap:4px}}

#world.is-overview .pin-imported:not(.selected){display:none}.island-locate-wrap select{max-width:min(260px,65vw)}.nav-building strong{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.character-card{max-height:calc(100dvh - 140px);overflow-y:auto}.character-progress{margin-bottom:17px;background:#f0ead9;border:1px solid #e5dcc5;border-radius:12px;padding:17px}.xp-heading,.xp-details{display:flex;align-items:center;justify-content:space-between;gap:8px}.xp-heading>span{font-family:Georgia,serif;font-size:22px;color:#8b663f}.xp-heading small{font-size:10px;color:#8f8c72}.xp-track{height:8px;background:#dfddc7;border-radius:10px;overflow:hidden;margin:13px 0 9px}.xp-track>span{height:100%;display:block;width:0;background:linear-gradient(90deg,#73916a,#9baa72);border-radius:10px;transition:width .4s ease}.xp-details>span{font-size:10px;font-weight:600;color:#6b805a}.xp-details small{font-size:8px;color:#90947e}.character-progress p{font-size:9px;color:#9a9278;margin:11px 0 0}.character-task{display:block;width:100%;padding:11px 0 9px;background:transparent;text-align:left;border-top:1px solid #d7deca;margin-top:9px;color:#4e6951}.character-task strong{display:block;font-size:11px;font-weight:500;line-height:1.5}.character-task small{display:block;font-size:9px;color:#879175;margin-top:4px}.character-task:hover strong{color:#ad704c}.character-more{display:block;font-size:9px;line-height:1.6;color:#929a80;margin-top:7px}.mission-xp{color:#8c784e!important;font-size:10px!important;line-height:1.6!important;margin:14px 0 10px!important}.game-toast{position:absolute;z-index:10;top:116px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:13px;padding:15px 19px;border-radius:14px;background:#faf4e6f7;border:1px solid #e7d7b6;box-shadow:0 12px 35px #48614522;max-width:calc(100% - 30px);width:330px;pointer-events:none;animation:toastIn .22s ease}.game-toast-icon{font-size:29px;color:#c09951}.game-toast strong{font-family:Georgia,serif;font-size:17px;font-weight:normal;color:#6e7450;display:block;line-height:1.3}.game-toast small{font-size:10px;color:#939276;display:block;margin-top:7px;line-height:1.5}.game-toast.is-level-up{border-color:#c69b59;background:#fff5df}.xp-pop{pointer-events:none;animation:xpRise 2.3s ease-out forwards}@keyframes toastIn{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}@keyframes xpRise{0%{opacity:0;transform:translateY(5px)}15%,70%{opacity:1}100%{opacity:0;transform:translateY(-13px)}}@media(max-width:760px){.character-card{max-height:calc(100dvh - 300px)}.character-progress{padding:14px}.xp-heading>span{font-size:20px}.xp-heading small{font-size:9px}.xp-details small{font-size:7px}.game-toast{top:145px;width:300px;padding:13px 16px}.game-toast strong{font-size:16px}}@media(prefers-reduced-motion:reduce){.xp-pop{opacity:1}}
/* Illustrated Corsica keeps geographic positions separate from the fictional game city. */
#corseWorld{position:absolute;transform-origin:0 0;}#corseBackdrop,#corsePins,#corsePlaceNames{position:absolute;inset:0;width:100%;height:100%}#corseBackdrop{pointer-events:none;user-select:none}#corsePins,#corsePlaceNames{pointer-events:none}.map-modes{position:absolute;top:105px;left:30px;display:flex;gap:4px;padding:4px;background:#faf6e9ed;border:1px solid #fff5de;border-radius:12px;z-index:3}.map-modes button{padding:9px 13px;border-radius:8px;background:transparent;font-size:10px;color:#78816b;white-space:nowrap}.map-modes button[aria-pressed=true]{background:#526c52;color:#fff5df}.corse-chapter,.corse-directory,.corse-team,.corse-directory-toggle,#corseAttribution{display:none}.is-corse .chapter,.is-corse .dock-wrap,.is-corse #islandLocateWrap,.is-corse #hint,.is-corse #dataOriginNote{display:none}.is-corse .corse-chapter,.is-corse .corse-directory-toggle,.is-corse #corseAttribution{display:block}.is-corse .corse-directory,.is-corse .corse-team{display:flex}.corse-chapter{position:absolute;top:173px;left:40px;pointer-events:none}.corse-chapter>span{font-size:8px;letter-spacing:2.4px;color:#6d8265}.corse-chapter h1{font-family:Georgia,serif;font-weight:normal;font-size:29px;line-height:1.2;letter-spacing:-.6px;margin:14px 0}.corse-chapter p{font-size:11px;line-height:1.7;color:#749079}.corse-directory-toggle{position:absolute;top:110px;right:30px;background:#faf7ed;color:#607655;border:1px solid #fff8df;border-radius:10px;padding:11px 15px;font-size:10px;z-index:4}.corse-directory{position:absolute;right:30px;top:165px;bottom:125px;width:280px;max-height:620px;flex-direction:column;background:#faf7edf5;border:1px solid #fff8df;border-radius:16px;box-shadow:0 12px 40px #41644818;overflow:hidden;z-index:3}.corse-directory-header{padding:19px 18px 12px}.corse-directory-header h2{font-family:Georgia,serif;font-size:23px;font-weight:normal;margin:0 0 6px;color:#58704f}.corse-directory-header>small{font-size:9px;color:#8c9a7c}#corseClearGroup{margin-top:10px;background:#e8ecde;padding:7px 9px;border-radius:6px;font-size:9px;color:#799066}.corse-search{display:block;padding:0 15px 12px}.corse-search input{width:100%;background:#edf0e4;border:1px solid #dbe2cd;border-radius:8px;color:#57764f;padding:10px 11px;font:inherit;font-size:11px;min-width:0}#corseResults{overflow-y:auto;min-height:0;flex:1;padding:0 16px;scrollbar-width:thin;scrollbar-color:#becaaf transparent}#corseResults h3{font-size:8px;letter-spacing:1.1px;text-transform:uppercase;color:#9aa183;margin:14px 0 7px}.corse-result{display:block;width:100%;text-align:left;border-bottom:1px solid #e2e6d8;background:transparent;padding:11px 0;color:#53714f}.corse-result strong{display:block;font-size:11px;font-weight:600;line-height:1.5}.corse-result>span{display:block;font-size:10px;line-height:1.55;color:#8b977e;margin-top:4px;overflow-wrap:anywhere}.corse-result small{display:block;font-size:8px;color:#a09778;line-height:1.6;margin-top:5px}.corse-result:hover,.corse-result.is-selected{background:#eaf0df;border-radius:7px}.corse-empty{font-size:11px;color:#8d9a7d;line-height:1.8;margin:20px 0}.corse-geocoding{padding:13px 15px;border-top:1px solid #e1e5d7;background:#f4f1e4}.corse-geocoding button{width:100%;background:#526c52;color:#fff4df;border-radius:8px;padding:11px 6px;font-size:10px}.corse-geocoding button:disabled{background:#e7ebdd;color:#a0ab91;cursor:default}.corse-geocoding small{display:block;font-size:8px;line-height:1.6;color:#9ba58b;margin-top:8px}#corseGeoStatus{margin:6px 0 0;font-size:9px;color:#81916b}.corse-marker{position:absolute;transform-origin:50% 85%;pointer-events:none;display:flex;align-items:center;flex-direction:column}.corse-marker button{pointer-events:auto}.corse-home{background:transparent;padding:0;display:flex;align-items:center;flex-direction:column;filter:drop-shadow(0 5px 4px #44604b22)}.corse-home-art{display:block;width:68px;height:48px;background:#fcf6eaf0;border:1px solid #eee3c9;border-radius:12px;box-shadow:0 0 0 3px #f7f0d540}.corse-home-art svg{width:100%;height:100%}.corse-home-name{display:block;max-width:155px;padding:5px 8px;background:#faf5e7ed;border-radius:6px;font-size:10px;color:#638356;margin-top:4px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.corse-home:hover .corse-home-art,.corse-home.is-selected .corse-home-art{border-color:#b77c55;background:#fff5df;box-shadow:0 0 0 4px #c29a6930}.corse-home.is-archived{opacity:.55}.corse-cluster{width:41px;height:41px;background:#f7f1dd;color:#678058;border:2px solid #d7dfc1;box-shadow:0 0 0 5px #f5edd44d,0 7px 14px #44644722;border-radius:50%;font-family:Georgia,serif;font-size:19px}.corse-cluster:hover{background:#526c52;color:#fff4d8;border-color:#708760}.corse-mission{position:absolute;right:-7px;top:-9px;background:#b4774f;color:#fff1d8;border:2px solid #faf1d9;border-radius:50%;min-width:24px;height:24px;font-size:10px;box-shadow:0 3px 7px #77563825}.corse-place{position:absolute;transform-origin:0 0;white-space:nowrap;font-family:Georgia,serif;font-size:12px;color:#567668;text-shadow:0 1px 5px #eef0d8,0 -1px 3px #eef0d8;pointer-events:none}.corse-team{position:absolute;left:30px;bottom:53px;align-items:center;gap:7px;padding:8px;background:#faf6eaee;border:1px solid #fff5dd;border-radius:13px;z-index:3}.corse-team button{display:flex;align-items:center;gap:7px;padding:4px 9px;border-radius:9px;background:transparent}.corse-team button:hover{background:#e8edde}.corse-team button>span{height:37px;width:33px}.corse-team svg{width:100%;height:100%}.corse-team small{font-size:9px;color:#73865d}#corseAttribution{color:#507b76;font-size:8px;text-decoration:none}.card-details{align-items:flex-start;line-height:1.6}.card-details>span{overflow-wrap:anywhere}.card-details>span:last-child{max-width:190px}.is-corse .compass{bottom:125px}.is-corse .footer-note{z-index:2}@media(max-width:1050px){.corse-directory{width:250px;right:20px}.corse-chapter{left:27px}.corse-chapter h1{font-size:24px}}@media(max-width:760px){.map-modes{top:88px;left:15px;padding:3px;gap:2px}.map-modes button{padding:9px 10px;font-size:9px}.corse-directory-toggle{right:15px;top:90px;padding:10px 12px;font-size:9px}.corse-chapter{top:143px;left:21px}.corse-chapter h1{font-size:23px;margin:9px 0}.corse-chapter>span{font-size:7px}.corse-chapter p{display:none}.corse-directory{top:auto;bottom:108px;left:15px;right:15px;width:auto;max-width:400px;margin:auto;height:290px;max-height:40dvh;border-radius:14px}.corse-directory-header{padding:13px 15px 9px}.corse-directory-header h2{font-size:20px}.corse-search{padding:0 12px 8px}.corse-search input{font-size:16px;padding:8px 10px}.corse-geocoding{padding:9px 12px}.corse-geocoding button{padding:9px}.corse-geocoding small{font-size:7px;margin-top:5px}.corse-team{left:15px;bottom:43px;gap:3px;padding:5px}.corse-team button{padding:4px;gap:3px}.corse-team button>span{height:29px;width:26px}.corse-team small{font-size:8px}.is-corse .map-controls{bottom:370px;right:0}.is-corse .compass{display:none}.is-corse .footer-note{font-size:7px}.is-corse #corseAttribution{font-size:6px}.card-details>span:last-child{max-width:220px}}@media(max-width:380px){.map-modes button{padding:8px;font-size:8px}.corse-directory-toggle{font-size:8px}.corse-chapter h1{font-size:20px}}
/* The agency is a single crisp room; dossiers live in a searchable drawer. */
#agencyWorld,#agencyScene,#agencyOverlay,#officeSvg{position:absolute;inset:0;width:100%;height:100%}#agencyOverlay{pointer-events:none}#officeSvg{overflow:visible}.office-object{cursor:pointer;outline:none}.office-object:focus-visible{filter:drop-shadow(0 0 4px #b86946)}.office-hotspot{position:absolute;transform:translate(-50%,-100%);display:flex;align-items:center;gap:9px;pointer-events:auto;background:#faf4e8f5;border:1px solid #fff8e7;padding:9px 12px 9px 8px;border-radius:12px;box-shadow:0 7px 20px #6b624b24;text-align:left;white-space:nowrap;color:#56664e}.office-hotspot-icon{background:#e6d7b8;color:#a4774d;width:28px;height:28px;display:grid;place-items:center;border-radius:8px;font-size:19px}.office-hotspot strong{display:block;font-size:11px;font-weight:600}.office-hotspot small{display:block;font-size:9px;color:#8e9179;margin-top:4px}.office-hotspot:hover,.office-hotspot[aria-expanded=true]{background:#fff8e6;border-color:#b98e61;box-shadow:0 7px 25px #9c7c4928}.agency-chapter,.agency-tier{display:none}.is-agency #viewport{background:radial-gradient(ellipse at 50% 40%,#f1ebd8,#e1e6d5 68%,#bfcfc0)}.is-agency .chapter,.is-agency .dock-wrap,.is-agency .compass,.is-agency #islandLocateWrap,.is-agency #hint{display:none!important}.is-agency .agency-chapter,.is-agency .agency-tier{display:block}.is-agency .corse-team{display:flex}.agency-chapter{position:absolute;top:177px;left:40px;pointer-events:none}.agency-chapter>span{font-size:8px;letter-spacing:1.7px;color:#838a6e}.agency-chapter h1{font-family:Georgia,serif;font-size:30px;font-weight:normal;color:#536550;line-height:1.15;margin:13px 0;letter-spacing:-.6px}.agency-chapter p{font-size:11px;color:#8d947a;line-height:1.7}.agency-shortcuts{display:flex;gap:7px;margin-top:20px;pointer-events:auto}.agency-shortcuts button{font-size:11px;background:#faf5e6;border:1px solid #d9ddc6;color:#607352;padding:11px 13px;border-radius:9px}.agency-shortcuts button:hover{background:#536c51;color:#fff1d8}.agency-tier{position:absolute;right:32px;top:117px;width:270px;padding:13px 16px;background:#faf5e6d9;border:1px solid #fff8e6;border-radius:13px;pointer-events:none}.agency-tier strong{font-family:Georgia,serif;font-weight:normal;font-size:18px;color:#69704e}.agency-tier small{display:block;font-size:8px;color:#8e9174;margin-top:7px;line-height:1.6}.agency-tier-track{height:4px;display:block;border-radius:5px;background:#e4dcc6;margin-top:10px;overflow:hidden}.agency-tier-track i{height:100%;display:block;background:#a5ab71;transition:width .25s}.agency-panel{position:absolute;z-index:5;right:30px;top:185px;bottom:145px;max-height:610px;width:350px;display:flex;flex-direction:column;background:#faf6eaf7;border:1px solid #fff8e7;border-radius:18px;box-shadow:0 18px 60px #5261432b;overflow:hidden;animation:appear .2s ease-out}.agency-panel-header{padding:23px 22px 16px;position:relative}.agency-panel-header>span{font-size:8px;letter-spacing:1.8px;color:#ad895f}.agency-panel-header h2{font-family:Georgia,serif;font-weight:normal;font-size:26px;line-height:1.2;color:#59664b;margin:10px 28px 7px 0}.agency-panel-header>small{font-size:10px;color:#979c82}.agency-panel-header>button{position:absolute;right:15px;top:16px;width:30px;height:30px;font-size:24px;background:#eeeadb;border-radius:50%;color:#8e9479}.agency-panel-tabs{margin:0 18px 13px;gap:4px;border-radius:9px;background:#ecebdd;padding:4px}.agency-panel-tabs button{flex:1;font-size:11px;border-radius:7px;padding:9px;background:transparent;color:#859074}.agency-panel-tabs button[aria-pressed=true]{background:#607653;color:#fff4db}.agency-search{display:block;padding:0 18px 12px}.agency-search input{width:100%;border:1px solid #d8ddc8;border-radius:9px;padding:11px 12px;background:#f4f3e7;color:#53664b;font:inherit;font-size:12px}.agency-task-filters{padding:0 18px 12px;display:flex;gap:7px}.agency-task-filters label{flex:1;min-width:0}.agency-task-filters select{width:100%;padding:9px 7px;background:#ebeeda;color:#667950;border:1px solid #d5ddc4;border-radius:7px;font:inherit;font-size:10px}#agencyResults{flex:1;overflow-y:auto;min-height:0;padding:0 18px;scrollbar-width:thin;scrollbar-color:#c5ceb4 transparent;overscroll-behavior:contain}#agencyResults h3{font-size:9px;letter-spacing:.7px;text-transform:uppercase;font-weight:500;color:#a3997d;margin:15px 0 5px}.agency-row{display:flex;align-items:flex-start;gap:10px;background:transparent;border-bottom:1px solid #e1e5d4;text-align:left;width:100%;padding:13px 4px;color:#566c4d}.agency-row-icon{color:#a4a579;font-size:19px;background:#eeeddd;border-radius:8px;width:30px;height:31px;flex-shrink:0;display:grid;place-items:center}.agency-row>span:last-child{min-width:0}.agency-row strong{display:block;font-size:12px;font-weight:600;line-height:1.6;overflow-wrap:anywhere}.agency-row small{display:block;font-size:10px;color:#8c947a;line-height:1.6;margin-top:3px;overflow-wrap:anywhere}.agency-row em{display:block;font-style:normal;font-size:9px;color:#a08d65;margin-top:5px;line-height:1.5}.agency-row:hover{background:#eaf0df;border-radius:9px}.agency-row.is-done .agency-row-icon{background:#dfe9d5;color:#6c8757}.agency-empty{font-size:12px;color:#8c9678;line-height:1.8;margin:18px 0}#agencyPanelHint{padding:13px 20px;font-size:9px;line-height:1.7;color:#a39e83;background:#f0efdf;margin:0;border-top:1px solid #e2e3ce}#agencyPagination{display:flex;align-items:center;justify-content:space-between;padding:7px 18px;font-size:10px;color:#8d9977}#agencyPagination button{padding:8px 12px;background:#e7ebd9;border-radius:7px}#agencyPagination button:disabled{opacity:.35;cursor:default}.is-agency .bottom-hud{justify-content:flex-end}.is-agency .footer-note{color:#849375}.is-agency .property-card{top:185px;max-height:calc(100dvh - 220px)}.is-agency .help-panel{top:165px}.agency-task-filters[hidden],.agency-panel[hidden],#agencyPagination[hidden]{display:none}
@media(max-width:1100px){.agency-chapter h1{font-size:25px}.agency-chapter{left:28px}.agency-tier{width:240px;right:22px}.agency-panel{right:22px;width:320px}}
@media(max-width:760px){.agency-chapter{top:145px;left:20px}.agency-chapter>span{font-size:7px;letter-spacing:1px}.agency-chapter h1{font-size:24px;margin:10px 0}.agency-chapter p{display:none}.agency-shortcuts{margin-top:12px;gap:5px}.agency-shortcuts button{font-size:10px;padding:9px 11px}.agency-tier{top:auto;bottom:106px;left:15px;right:15px;width:auto;max-width:350px;margin:auto;padding:9px 13px}.agency-tier strong{font-size:15px}.agency-tier small{font-size:8px;margin-top:4px}.agency-tier-track{margin-top:6px;height:3px}.agency-panel{top:auto;bottom:107px;left:15px;right:15px;width:auto;height:57dvh;max-height:530px;max-width:400px;margin:auto}.agency-panel-header{padding:16px 17px 11px}.agency-panel-header h2{font-size:23px;margin-top:8px}.agency-panel-header>span{font-size:7px}.agency-panel-tabs{margin:0 12px 10px}.agency-search{padding:0 12px 10px}.agency-search input{font-size:16px;padding:9px 10px}.agency-task-filters{padding:0 12px 10px}.agency-task-filters select{font-size:12px}.agency-row{padding:11px 3px}#agencyResults{padding:0 13px}.is-agency .property-card{top:auto;bottom:107px;max-height:65dvh}.is-agency .bottom-hud{bottom:42px;right:15px;left:15px}.is-agency .map-controls{position:static;margin-left:auto}.is-agency .help-panel{top:137px}.office-hotspot{padding:7px 9px 7px 6px;gap:6px;border-radius:10px}.office-hotspot strong{font-size:10px}.office-hotspot small{font-size:8px}.office-hotspot-icon{width:24px;height:24px;font-size:17px}.is-agency .corse-team button{gap:2px;padding:4px 2px}.is-agency .corse-team small{font-size:8px}}
@media(max-width:380px){.is-agency .map-controls button{width:26px}.is-agency .map-controls output{min-width:31px}.is-agency .map-controls{gap:2px;padding:3px}.is-agency .corse-team{gap:1px;padding:3px}.is-agency .corse-team button>span{width:22px}.is-agency .corse-team small{font-size:7px}}
.office-hotspot.has-todos .office-hotspot-icon{background:#d9b88a;color:#785a36;animation:officeNotify 3s ease-in-out infinite}@keyframes officeNotify{0%,100%{box-shadow:0 0 0 0 #b98c5330}50%{box-shadow:0 0 0 4px #b98c530a}}@media(prefers-reduced-motion:reduce){.office-hotspot.has-todos .office-hotspot-icon{animation:none}}
/* Seafront architecture: keep the real image at its native detail and the UI legible. */
.is-agency #viewport{background:linear-gradient(#b4d3e5,#548daf 55%,#2b8f99)}.is-agency .agency-chapter{padding:17px 19px;background:#faf5e8ed;border:1px solid #fff8e4;border-radius:15px;box-shadow:0 8px 30px #263e4520;max-width:287px}.is-agency .agency-chapter h1{font-size:27px}.is-agency .agency-chapter p{margin-bottom:0}.is-agency .agency-chapter>span{font-size:7px;letter-spacing:1.3px}.is-agency .agency-tier{background:#faf5e6ed}.is-agency .footer-note{color:#fff8e6;text-shadow:0 1px 3px #16393e}.office-interactive-zone{stroke:transparent;stroke-width:2;transition:stroke .15s}.office-object:hover .office-interactive-zone,.office-object:focus-visible .office-interactive-zone{stroke:#f6e0b7;fill:#fff9e00d}.is-agency .office-object:focus-visible{filter:none}
@media(max-width:760px){.is-agency .agency-chapter{padding:11px 13px;max-width:245px;top:137px;left:15px}.is-agency .agency-chapter h1{font-size:22px;margin:7px 0}.is-agency .agency-chapter>span{font-size:6px}.is-agency .agency-shortcuts{margin-top:9px}.is-agency .footer-note{font-size:7px}}
/* Full-screen office camera, with compact shortcuts on narrow screens. */
.is-agency #viewport{background:#c0a47e}.is-agency .office-hotspot[hidden]{display:none}.is-agency .map-controls button:disabled{opacity:.4;cursor:default}.is-agency #agencyWorld,.is-agency #agencyScene,.is-agency #officeSvg{width:100%;height:100%}
@media(max-width:760px){.is-agency .agency-chapter{top:136px;left:15px;right:15px;max-width:none;padding:5px;border-radius:11px;background:#faf5e8f2}.is-agency .agency-chapter>span,.is-agency .agency-chapter h1,.is-agency .agency-chapter p{display:none}.is-agency .agency-shortcuts{margin:0;gap:5px}.is-agency .agency-shortcuts button{flex:1;padding:10px;font-size:11px;background:#eeefdf;border-color:#dde2cd}.is-agency .agency-tier{bottom:112px}.is-agency .agency-panel,.is-agency .property-card{bottom:112px}}
@media(max-height:600px) and (min-width:761px){.is-agency .agency-chapter{padding:8px;top:155px}.is-agency .agency-chapter>span,.is-agency .agency-chapter h1,.is-agency .agency-chapter p{display:none}.is-agency .agency-shortcuts{margin:0}.is-agency .agency-panel,.is-agency .property-card{top:155px;bottom:105px;max-height:calc(100dvh - 260px)}.is-agency .agency-tier{width:230px;top:105px;padding:8px 12px}}
#game.is-agency{min-height:0}
@media(max-height:600px){.is-agency .agency-panel,.is-agency .property-card{top:16px;bottom:16px;height:auto;max-height:calc(100dvh - 32px);z-index:9}.is-agency .agency-panel{width:350px;max-width:calc(100vw - 30px)}.is-agency .property-card{overflow-y:auto}}
/* Four matching cartoon avatars, with a compact team roster on phones. */
.toon-frame,.toon-cell{pointer-events:none}.is-agency .corse-team button>span,.is-corse .corse-team button>span{height:43px;width:36px}.character-header #characterPortrait svg{width:100%;height:100%}
@media(max-width:760px){.is-agency .corse-team,.is-corse .corse-team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:clamp(150px,45vw,180px);gap:1px;padding:5px;bottom:43px}.is-agency .corse-team button,.is-corse .corse-team button{padding:2px;gap:3px;min-width:0;text-align:left}.is-agency .corse-team button>span,.is-corse .corse-team button>span{height:28px;width:23px;flex-shrink:0}.is-agency .corse-team small,.is-corse .corse-team small{font-size:8px;line-height:1.5}.is-agency .map-controls{gap:3px;padding:4px}.is-agency .map-controls button{width:29px}.is-agency .map-controls output{min-width:32px}.is-agency .map-controls>span{margin:0 2px}}
@media(max-width:380px){.is-agency .map-controls{gap:2px;padding:3px}.is-agency .map-controls button{width:26px}.is-agency .map-controls output{min-width:28px}.is-agency .corse-team small,.is-corse .corse-team small{font-size:7px}}
@media(max-width:760px){.is-agency .agency-tier{bottom:125px}.is-corse .corse-directory{bottom:125px}}

/* The sharp, navigable scene can pull back while the sea still fills the page. */
.is-agency #viewport{background:#658f9f url('assets/agency-grounded-v2.webp') center/cover no-repeat}
.is-agency #viewport::before{content:'';position:absolute;inset:-35px;background:inherit;filter:blur(24px) brightness(.8);pointer-events:none}
.is-agency #agencyWorld{isolation:isolate}

/* The office is a fixed stage; gestures still distinguish a tap from a swipe. */
.is-agency .map-controls{display:none}
.is-agency #viewport,.is-agency #viewport.dragging{cursor:default;touch-action:manipulation}
/* Separate break room, shared discussion and a small resident cat. */
#breakWorld,#breakScene,#breakSvg{position:absolute;inset:0;width:100%;height:100%}
.break-chapter,.pause-chat{display:none}
.is-break #viewport{background:#658f9f url('assets/breakroom/room.webp') center/cover no-repeat;cursor:default;touch-action:manipulation}
.is-break #viewport::before{content:'';position:absolute;inset:-35px;background:inherit;filter:blur(24px) brightness(.8);pointer-events:none}
.is-break #breakWorld{isolation:isolate}
.is-break .agency-chapter,.is-break .agency-tier,.is-break .corse-chapter,.is-break .corse-directory,.is-break .corse-directory-toggle,.is-break .corse-team,.is-break .dock-wrap,.is-break .map-controls,.is-break .chapter,.is-break .compass,.is-break #dataOriginNote,.is-break #corseAttribution,.is-break #addHousing,.is-break #syncLbg{display:none}
.is-break .footer-note{color:#fff8e6;text-shadow:0 1px 3px #16393e}
.is-break .break-chapter{display:block;position:absolute;left:30px;top:155px;max-width:260px;padding:15px 19px;border-radius:16px;background:#faf5e8ef;border:1px solid #fff8e4;box-shadow:0 8px 30px #263e4520}
.break-chapter>span{font-size:8px;letter-spacing:2px;color:#879071}
.break-chapter h1{font-family:Georgia,serif;font-size:31px;font-weight:normal;line-height:1.14;margin:12px 0;color:#506b53}
.break-chapter p{font-size:10px;color:#8b8972;line-height:1.7;margin:0 0 12px}
#petCat{padding:9px 12px;border-radius:9px;font-size:10px;color:#936c49;background:#eee7d4;border:1px solid #e2d7bd}
#biscotte{cursor:pointer;outline:none}#biscotte:focus-visible{filter:drop-shadow(0 0 5px #fff0af)}
#catHearts{pointer-events:none;animation:cat-love .8s ease-in-out infinite alternate}@keyframes cat-love{to{opacity:.55;transform:translateY(-7px)}}
.is-break .pause-chat{display:flex;flex-direction:column;position:absolute;right:30px;top:155px;bottom:48px;width:350px;max-height:780px;background:#faf7eff5;border:1px solid #fff8e4;border-radius:20px;box-shadow:0 20px 60px #28423c26;z-index:4;overflow:hidden}
.pause-chat>header{display:flex;align-items:center;gap:12px;padding:21px 21px 14px;border-bottom:1px solid #e5e2d4}
.pause-chat-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:#eee5d0;font-size:25px}
.pause-chat header small{font-size:7px;letter-spacing:2px;color:#9c9479}
.pause-chat h2{font-size:23px;font-family:Georgia,serif;font-weight:normal;line-height:1.2;margin:6px 0 0;color:#526b4d}
.pause-chat-connection{display:flex;gap:8px;align-items:center;padding:8px 17px 4px}
#pauseChatStatus{flex:1;margin:0;min-width:0;font-size:9px;line-height:1.5;color:#8e987c}#pauseChatStatus[data-state=error]{color:#b16e4c}
#pauseChatRetry{width:28px;height:28px;flex-shrink:0;border-radius:8px;background:#eeeede;color:#8c9879;font-size:19px}
.pause-messages{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ccd0b9 transparent;flex:1;min-height:0;padding:10px 17px 14px}
.pause-empty{font-family:Georgia,serif;color:#a0977e;font-size:18px;line-height:1.8;text-align:center;max-width:230px;margin:35px auto}
.pause-message{margin:0 23px 11px 0;padding:11px 13px;background:#eeecdf;border:1px solid #e7e5d7;border-radius:12px 12px 12px 3px}
.pause-message.is-mine{margin-left:23px;margin-right:0;background:#e2eadb;border-color:#d8e1ca;border-radius:12px 12px 3px 12px}
.pause-message>div{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.pause-message strong{font-size:10px;color:#657b57}.pause-message time{font-size:8px;color:#9da188;white-space:nowrap}
.pause-message p{font-size:12px;line-height:1.65;margin:7px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;color:#62705c}
#pauseChatForm{padding:13px 17px 14px;border-top:1px solid #e2e3d3;background:#f2f1e5}
#pauseMessageText{resize:none;width:100%;padding:11px 12px;font:inherit;font-size:12px;line-height:1.55;border:1px solid #d9ddc9;border-radius:11px;color:#506a47;background:#fcfaf2;min-height:65px;max-height:110px}
#pauseMessageText:focus{outline:2px solid #97ab81;outline-offset:1px}#pauseMessageText:disabled{opacity:.6}
.pause-compose-actions{display:flex;align-items:center;justify-content:space-between;margin-top:8px;gap:10px}.pause-compose-actions small{font-size:8px;color:#a1a58d}
#pauseSend{padding:10px 16px;background:#637b51;border-radius:9px;color:#fbf6df;font-size:11px}#pauseSend:disabled{opacity:.5;cursor:default}#pauseViewer{display:block;font-size:8px;line-height:1.5;color:#929a7e;margin-top:9px}
@media(max-width:760px){.map-modes{left:15px;right:15px;max-width:none;width:auto;transform:none;display:flex}.map-modes button{flex:1;white-space:nowrap;font-size:9px;padding:8px 7px}.is-break .break-chapter{left:15px;right:15px;top:136px;max-width:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:10px}.break-chapter>span,.break-chapter h1{display:none}.break-chapter p{font-size:8px;margin:0}.is-break #petCat{font-size:9px;padding:8px;white-space:nowrap}.is-break .pause-chat{top:auto;left:15px;right:15px;bottom:24px;width:auto;max-height:none;height:42dvh;min-height:250px;max-height:360px;border-radius:17px}.pause-chat>header{padding:12px 15px 8px;gap:9px}.pause-chat-icon{width:32px;height:32px;font-size:20px;border-radius:10px}.pause-chat h2{font-size:20px;margin-top:3px}.pause-chat header small{font-size:6px}.pause-chat-connection{padding:5px 13px 0}.pause-messages{padding:7px 12px}.pause-empty{font-size:15px;margin:10px auto;line-height:1.6}.pause-message{padding:8px 10px;margin-bottom:7px}.pause-message p{font-size:11px;margin-top:5px}.pause-message time{font-size:7px}#pauseChatForm{padding:8px 12px 10px}#pauseMessageText{font-size:16px;min-height:51px;padding:7px 9px;line-height:1.4}.pause-compose-actions{margin-top:5px}#pauseSend{padding:8px 13px;font-size:10px}#pauseViewer{margin-top:5px;font-size:7px}.is-break .footer-note{bottom:9px;font-size:7px}}
@media(max-height:600px){.is-break .pause-chat{top:136px;bottom:20px;min-height:0}.is-break .break-chapter{top:136px;padding:7px 10px}.break-chapter h1,.break-chapter>span{display:none}.break-chapter p{margin-bottom:7px}.pause-chat>header{padding:9px 13px 5px}.pause-chat h2{font-size:19px}#pauseChatForm{padding:8px 12px}.pause-chat-connection{padding-top:3px}#pauseMessageText{min-height:48px}.pause-chat-icon{height:31px;width:31px;font-size:20px}}
@media(max-height:600px) and (max-width:760px){.is-break .pause-chat{top:auto;height:42dvh;min-height:200px;max-height:360px}}
@media(prefers-reduced-motion:reduce){#catHearts{animation:none}}

#game.is-break{min-height:0}
@media(max-width:760px){.is-break #petCat{min-height:36px}.is-break #pauseSend,.is-break #pauseChatRetry{min-height:36px}}
/* Individual authenticated accounts and a small, quiet presence indicator. */
.agent-session{position:absolute;top:105px;left:30px;display:flex;align-items:center;gap:10px;background:#faf7eff2;border:1px solid #fff8e5;padding:7px 11px;border-radius:12px;box-shadow:0 5px 20px #385e4719;z-index:4;font-size:10px}
.agent-self{display:grid;grid-template-columns:6px auto;column-gap:7px;align-items:center}.agent-self i{grid-row:1/3;width:6px;height:6px;background:#759966;border-radius:50%}.agent-self strong{font-size:10px}.agent-self small{grid-column:2;color:#919a7b;font-size:7px;margin-top:3px}#agentConnectionStatus[data-state=unknown]{color:#b08352}
.agent-session button,.agent-session a{padding:7px 8px;color:#7e886a;text-decoration:none;border-radius:7px;background:#eceede;font-size:9px;white-space:nowrap}.agent-session a{background:transparent;border-left:1px solid #dfe2d0;border-radius:0;padding-left:11px}
.corse-team .agent-online{box-shadow:inset 0 -2px #789c65}.corse-team .agent-offline{opacity:.7}.seat-avatar{cursor:pointer;animation:seat-arrive .25s ease-out}.seat-avatar:focus-visible{filter:drop-shadow(0 0 5px #fff2ad)}@keyframes seat-arrive{from{opacity:0}to{opacity:1}}
.agent-gate{position:absolute;inset:0;z-index:40;display:grid;place-items:center;padding:25px;background:#edf0e5a1;backdrop-filter:blur(12px)}.agent-gate>div{max-width:390px;text-align:center;background:#faf7ef;padding:35px 30px;border:1px solid #fff9e9;border-radius:23px;box-shadow:0 20px 70px #3f5d3c25}.gate-icon{display:block;font-size:37px;color:#a47852;margin-bottom:17px}.agent-gate small{font-size:8px;letter-spacing:1.8px;color:#9b977d}.agent-gate h2{font-family:Georgia,serif;font-size:27px;line-height:1.25;font-weight:normal;color:#5e7551;margin:17px 0}.agent-gate p{font-size:12px;line-height:1.8;color:#8a937b}.agent-gate button{padding:12px 23px;background:#6c8059;color:#fff5e1;border-radius:10px;font-size:12px;margin-top:10px}.agent-gate a{display:block;color:#9a886a;font-size:10px;margin-top:18px;line-height:1.6;text-underline-offset:3px}.agent-locked #viewport{pointer-events:none}
.agent-settings{position:absolute;z-index:35;right:30px;top:154px;bottom:30px;max-height:650px;width:370px;overflow-y:auto;background:#faf7ef;border:1px solid #fff9e9;border-radius:20px;box-shadow:0 25px 70px #24463344;padding:22px 23px;scrollbar-width:thin;overscroll-behavior:contain}.agent-settings header{position:relative;padding-right:27px}.agent-settings header>small{font-size:8px;letter-spacing:2px;color:#a39a7f}.agent-settings h2{font:normal 25px Georgia,serif;color:#536d4c;margin:12px 0 15px}.agent-settings header button{position:absolute;top:0;right:-5px;border-radius:50%;height:30px;width:30px;font-size:24px;background:#e8eddd;color:#7f8d6d}.agent-settings>p{font-size:11px;line-height:1.7;color:#8b947d}.agent-settings label{display:block;margin:14px 0}.agent-settings label strong{display:block;font-size:11px;color:#70825e;margin-bottom:7px}.agent-settings label small{display:block;font-size:8px;font-weight:normal;color:#a3a18a;margin-top:4px}.agent-settings input{width:100%;padding:10px 11px;font:inherit;font-size:12px;border:1px solid #d9dfcc;border-radius:9px;color:#637956;background:#f6f5eb}.agent-settings input:read-only{background:#eeede0;color:#9a9d87}.agent-sharing-hint{padding:12px;border-radius:9px;background:#eeeddd;font-size:10px;line-height:1.8;color:#929579}#agentSettingsStatus{font-size:10px;line-height:1.8;color:#7c9570}#agentSettingsStatus.is-error{color:#b2734f}#agentSettingsSave{width:100%;padding:12px;font-size:11px;background:#687e54;color:#fff7e4;border-radius:9px}#agentSettingsSave:disabled{opacity:.55;cursor:default}
@media(max-width:1050px) and (min-width:761px){.agent-session{top:148px;left:30px}.is-break .break-chapter{top:198px}}
@media(max-width:760px){.agent-session{left:15px;right:15px;top:190px;padding:5px 9px;justify-content:space-between;gap:7px;border-radius:9px}.agent-self strong{font-size:9px}.agent-self small{font-size:7px}.agent-session button,.agent-session a{font-size:9px;padding:8px}.agent-settings{top:15px;bottom:15px;left:15px;right:15px;width:auto;max-height:none;padding:20px;z-index:45}.agent-settings input{font-size:16px}.agent-settings h2{font-size:24px}.agent-gate{padding:17px}.agent-gate>div{padding:28px 22px}.agent-gate h2{font-size:25px}}
@media(max-height:600px){.agent-settings{top:15px;bottom:15px;max-height:none;z-index:45}.agent-session{top:auto;bottom:13px;left:auto;right:15px}.is-break .agent-session{top:92px;bottom:auto;left:15px;right:auto}.is-break .break-chapter{top:137px}}
@media(prefers-reduced-motion:reduce){.seat-avatar{animation:none}}
@media(max-height:600px){.is-break .agent-session{top:auto;bottom:13px;left:15px;right:auto}}
@media(max-height:600px) and (max-width:760px){.is-break .agent-session{display:none}}

/* The office task board opens as a framed cork board, with real interactive paper notes. */
.agency-backdrop{position:absolute;inset:0;z-index:10;background:#253a3699;backdrop-filter:blur(6px);animation:appear .18s ease-out}
.agency-backdrop[hidden]{display:none}
#agencyPanel.is-taskboard{z-index:11;inset:clamp(16px,5dvh,50px) 24px;width:min(1020px,calc(100% - 48px));height:auto;max-height:none;max-width:none;margin:auto;border:12px solid #b58a5c;border-radius:15px;background-color:#c9a577;background-image:radial-gradient(#68472122 .7px,transparent 1px),radial-gradient(#fff0c92b .8px,transparent 1px),linear-gradient(115deg,#e2c39470,#b8875820);background-position:0 0,3px 5px,0 0;background-size:6px 7px,9px 8px,100% 100%;box-shadow:0 30px 100px #15291f66,0 0 0 1px #6d4f31,inset 0 0 0 2px #f3d4a0,inset 0 0 25px #6c442e36;overflow:hidden;isolation:isolate}
.is-taskboard .agency-panel-header{padding:25px 30px 16px;background:linear-gradient(#fff5dcf5,#f7ecd4eb);border-bottom:1px solid #a2785140;flex-shrink:0}
.is-taskboard .agency-panel-header>span{font-size:9px;letter-spacing:2px;color:#99714f}
.is-taskboard .agency-panel-header h2{font-size:33px;margin:8px 40px 6px 0;color:#4c5f49}
.is-taskboard .agency-panel-header>small{color:#8c785b;font-size:11px}
.is-taskboard .agency-panel-header>button{width:40px;height:40px;right:20px;top:23px;background:#eadcc2;color:#6c624b;font-size:28px}
.is-taskboard .agency-panel-tabs{margin:0;padding:9px 30px;background:#f7ecd4eb;border-radius:0;display:flex;gap:8px;flex-shrink:0}
.is-taskboard .agency-panel-tabs button{flex:none;padding:9px 16px;font-size:11px;background:#e8dcc4;color:#7b7e61}
.is-taskboard .agency-panel-tabs button[aria-pressed=true]{background:#617853;color:#fff7e4}
.is-taskboard .agency-search{padding:5px 30px 10px;background:#f7ecd4eb;flex-shrink:0}
.is-taskboard .agency-search input{background:#fffbf0;border-color:#d8c7a8;font-size:13px}
.is-taskboard .agency-task-filters{padding:0 30px 15px;background:#f7ecd4eb;flex-shrink:0;border-bottom:1px solid #af845b80}
.is-taskboard .agency-task-filters label{flex:0 1 210px}.is-taskboard .agency-task-filters select{background:#eee4cf;border-color:#d6c6a6;font-size:11px;padding:10px}
.is-taskboard #agencyResults{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:27px 24px;padding:30px 30px 35px;scrollbar-color:#8e6c47 #caa474;scroll-padding:25px;flex:1;min-height:70px}
.is-taskboard .task-postit{--paper:#f7e4a5;--ink:#5b543c;position:relative;display:flex;flex-direction:column;gap:0;align-items:stretch;width:100%;min-width:0;min-height:235px;padding:25px 19px 17px;border:0;border-radius:2px 3px 13px 2px;background:linear-gradient(175deg,#ffffff30,transparent 30%,#8069390b 90%),var(--paper);color:var(--ink);box-shadow:2px 7px 8px #573b3030,inset 0 1px #fff9;transform:rotate(var(--note-tilt));transform-origin:50% 12px;transition:transform .16s ease,box-shadow .16s ease;text-align:left;cursor:pointer}
.task-postit::before{content:'';position:absolute;left:calc(50% - 5px);top:7px;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#f7d7a0,#ad7346 65%,#6e472c);box-shadow:1px 3px 3px #70503355}
.task-postit::after{content:'';position:absolute;right:0;bottom:0;width:17px;height:17px;background:linear-gradient(135deg,#8f754326 48%,#fff7 50%,#ffffff05);border-radius:0 0 12px 0;pointer-events:none}
.is-taskboard .note-stefano{--paper:#d0e4e6;--ink:#3b5d61}.is-taskboard .note-andrea{--paper:#f1c9b3;--ink:#76503f}.is-taskboard .note-francesca{--paper:#dbe3b9;--ink:#52623c}
.is-taskboard .task-postit:hover,.is-taskboard .task-postit:focus-visible{background:linear-gradient(#fff3,#fff0),var(--paper);transform:rotate(0deg) translateY(-3px);box-shadow:3px 11px 13px #573b3038;border-radius:2px 3px 13px 2px;outline:2px solid #fff2ce;outline-offset:4px}
.postit-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:9px;text-transform:uppercase;letter-spacing:.7px;color:var(--ink);opacity:.75;margin-bottom:16px}
.postit-top>span:last-child{font-size:8px;text-transform:none;letter-spacing:0;border:1px solid currentColor;border-radius:20px;padding:3px 6px;white-space:nowrap}
.is-taskboard .task-postit small{font-size:10px;color:var(--ink);opacity:.75;margin:0 0 6px;line-height:1.5;overflow-wrap:anywhere}
.is-taskboard .task-postit strong{font-family:Georgia,serif;font-weight:normal;font-size:21px;line-height:1.22;color:var(--ink);display:block;overflow-wrap:anywhere}
.postit-description{font-size:11px;line-height:1.65;margin:11px 0 16px;color:var(--ink);opacity:.8;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere}
.postit-footer{display:flex;align-items:center;gap:7px;border-top:1px solid #7b674322;padding-top:11px;margin-top:auto;font-size:10px;color:var(--ink)}
.postit-initial{display:grid;place-items:center;width:24px;height:24px;border:1px solid #ffffff80;border-radius:50%;background:#fff4;font-family:Georgia,serif;font-size:13px}.postit-footer>span:last-child{margin-left:auto;font-size:17px}
.is-taskboard .task-postit.is-done strong{text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:#63775288}.is-taskboard .task-postit.is-done .postit-top>span:last-child{color:#4b6642;background:#fff4}
.is-taskboard #agencyPagination{background:#f3e6cc;padding:9px 25px;color:#7d7256;border-top:1px solid #af845b55;flex-shrink:0}.is-taskboard #agencyPagination button{background:#e2d6bc;color:#665e43;min-width:40px;min-height:35px}
.is-taskboard #agencyPanelHint{background:#f7ecd4eb;color:#89755a;padding:12px 30px;border-color:#af845b55;flex-shrink:0;font-size:10px}
.is-taskboard .agency-empty{grid-column:1/-1;max-width:390px;margin:24px auto;padding:30px;background:#f7edd3;box-shadow:2px 5px 10px #6d4b3220;color:#807052;font:18px/1.65 Georgia,serif;text-align:center}
@media(max-width:900px){.is-taskboard #agencyResults{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}}
@media(max-width:600px){#agencyPanel.is-taskboard{inset:12px;width:calc(100% - 24px);border-width:8px;border-radius:12px}.is-taskboard .agency-panel-header{padding:17px 17px 11px}.is-taskboard .agency-panel-header h2{font-size:27px}.is-taskboard .agency-panel-header>span{font-size:7px;letter-spacing:1.5px}.is-taskboard .agency-panel-header>button{right:12px;top:15px}.is-taskboard .agency-panel-tabs{padding:8px 16px}.is-taskboard .agency-search{padding:4px 16px 9px}.is-taskboard .agency-search input{font-size:16px}.is-taskboard .agency-task-filters{padding:0 16px 12px;gap:7px}.is-taskboard .agency-task-filters label{flex:1;min-width:0}.is-taskboard .agency-task-filters select{font-size:12px;padding:9px 6px}.is-taskboard #agencyResults{grid-template-columns:1fr;padding:24px 24px 30px;gap:24px}.is-taskboard .task-postit{min-height:225px}.is-taskboard #agencyPanelHint{padding:10px 16px;font-size:9px}.is-taskboard #agencyPagination{padding:7px 16px}}
@media(max-height:600px) and (min-width:601px){#agencyPanel.is-taskboard{inset:12px 24px}.is-taskboard .agency-panel-header{padding:12px 20px 8px}.is-taskboard .agency-panel-header h2{font-size:24px;margin-top:4px}.is-taskboard .agency-panel-header>button{top:11px;right:15px}.is-taskboard .agency-panel-tabs{position:absolute;right:70px;top:15px;padding:0;background:transparent}.is-taskboard .agency-search{padding:5px 20px}.is-taskboard .agency-task-filters{padding:0 20px 8px}.is-taskboard #agencyResults{padding:24px;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.is-taskboard #agencyPanelHint{padding:7px 20px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.agency-backdrop{animation:none}.is-taskboard .task-postit{transition:none}.is-taskboard .task-postit:hover,.is-taskboard .task-postit:focus-visible{transform:none}}

/* Compact, user-colored notes; render at most forty per page. */
#agencyPanel.is-taskboard{width:min(1160px,calc(100% - 48px))}
.is-taskboard #agencyResults{grid-template-columns:repeat(5,minmax(0,1fr));gap:19px 17px;padding:25px}
.is-taskboard .task-postit{min-height:173px;padding:22px 13px 12px}
.is-taskboard .task-postit strong{font-size:17px;line-height:1.25}
.is-taskboard .task-postit small{font-size:9px;margin-bottom:5px}
.is-taskboard .postit-top{font-size:8px;margin-bottom:10px;letter-spacing:.3px}
.is-taskboard .postit-top>span:last-child{font-size:7px;padding:2px 5px}
.is-taskboard .postit-description{font-size:10px;line-height:1.5;margin:7px 0 10px;-webkit-line-clamp:2}
.is-taskboard .postit-description:empty{display:none}
.is-taskboard .postit-footer{padding-top:8px;font-size:9px;gap:5px}.is-taskboard .postit-initial{width:21px;height:21px;font-size:11px}
.is-taskboard .paper-yellow{--paper:#f7e4a5;--ink:#5b543c}.is-taskboard .paper-peach{--paper:#f1c9b3;--ink:#76503f}.is-taskboard .paper-sage{--paper:#dbe3b9;--ink:#52623c}.is-taskboard .paper-blue{--paper:#d0e4e6;--ink:#3b5d61}.is-taskboard .paper-rose{--paper:#ebcdd6;--ink:#75535f}
.is-taskboard .agency-panel-tabs .agency-new-postit{margin-left:auto;background:#a46e47;color:#fff6e4;white-space:nowrap;font-weight:600}.agency-new-postit[hidden]{display:none}
.postit-palette{margin:18px 0 14px;padding:0;border:0;min-width:0}.postit-palette legend{font-size:11px;color:#798166;margin-bottom:10px}.postit-palette>div{display:flex;gap:8px;flex-wrap:wrap}.postit-palette .postit-swatch{width:34px;height:34px;min-width:34px;padding:0;border-radius:50%;border:3px solid #fbf6e9;box-shadow:0 0 0 1px #c4bda7;position:relative}.postit-palette .postit-swatch[aria-pressed=true]{box-shadow:0 0 0 2px #627451}.postit-swatch[aria-pressed=true]::after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;font-size:14px;color:#4b5941}.postit-palette .swatch-auto{background:conic-gradient(#f7e4a5 0 25%,#d0e4e6 25% 50%,#f1c9b3 50% 75%,#dbe3b9 75%)}.postit-palette .swatch-yellow{background:#f7e4a5}.postit-palette .swatch-peach{background:#f1c9b3}.postit-palette .swatch-sage{background:#dbe3b9}.postit-palette .swatch-blue{background:#d0e4e6}.postit-palette .swatch-rose{background:#ebcdd6}.postit-palette>small{display:block;margin-top:9px;font-size:9px;color:#93957c}#newMissionBoardFields[hidden]{display:none}#newMissionBoardFields{margin-bottom:14px}
@media(max-width:1050px){.is-taskboard #agencyResults{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:850px){.is-taskboard #agencyResults{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){#agencyPanel.is-taskboard{width:calc(100% - 24px)}.is-taskboard #agencyResults{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;padding:22px 16px}.is-taskboard .agency-panel-tabs{padding:8px 12px;gap:4px}.is-taskboard .agency-panel-tabs button{padding:9px 8px;font-size:10px}.is-taskboard .task-postit{padding:21px 10px 11px;min-height:174px}.is-taskboard .task-postit strong{font-size:16px}.is-taskboard .postit-top{font-size:7px;gap:4px}.is-taskboard .postit-top>span:last-child{font-size:6px;padding:2px 4px}.postit-palette .postit-swatch{width:38px;height:38px;min-width:38px}.postit-palette>div{gap:7px}}
@media(max-width:350px){.is-taskboard #agencyResults{grid-template-columns:1fr;padding:22px}.is-taskboard .task-postit{min-height:150px}.is-taskboard .agency-panel-tabs button{font-size:9px;padding:8px 6px}.postit-palette>div{gap:6px}.postit-palette .postit-swatch{width:32px;height:32px;min-width:32px}}
#missionFormCard{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c5ceb4 transparent}
@media(max-width:760px){#missionFormCard .mission-form input,#missionFormCard .mission-form textarea,#missionFormCard .mission-form select{font-size:16px}}

/* Keep side controls in one flow instead of overlapping absolute coordinates. */
#sideHud{position:absolute;z-index:4;top:105px;left:30px;width:270px;display:flex;flex-direction:column;gap:12px;max-height:calc(100dvh - 220px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c3c8af transparent;padding:2px 3px 6px;pointer-events:none}
#sideHud>*{flex-shrink:0;pointer-events:auto}
#sideHud>.map-modes,#sideHud>.agent-session,#sideHud>.agency-chapter,#sideHud>.corse-chapter,#sideHud>.break-chapter,#sideHud>.chapter{position:static;inset:auto;transform:none;width:100%;max-width:none;margin:0}
#sideHud>.map-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:5px}
#sideHud>.map-modes button{white-space:normal;min-width:0;min-height:36px;padding:9px 7px;font-size:10px;line-height:1.35}
#sideHud>.agent-session{display:flex;flex-wrap:wrap;gap:7px;justify-content:space-between;padding:9px 10px}
#sideHud .agent-self{min-width:55px;margin-right:auto}#sideHud .agent-session button,#sideHud .agent-session a{min-height:32px;display:flex;align-items:center;justify-content:center;margin:0;font-size:9px;padding:7px}
#sideHud>.agency-chapter{padding:15px}.is-agency #sideHud .agency-chapter h1{font-size:25px;line-height:1.2;margin:12px 0}.is-agency #sideHud .agency-shortcuts{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}#sideHud .agency-shortcuts button{min-width:0;min-height:38px;white-space:normal;padding:9px 7px;font-size:11px}
#sideHud>.corse-chapter,#sideHud>.chapter{padding:10px 8px;pointer-events:none}#sideHud .corse-chapter h1,#sideHud .chapter h1{font-size:26px}
.is-break #sideHud>.break-chapter{padding:15px;display:block}.is-break #sideHud .break-chapter h1{font-size:29px}.is-break #sideHud #petCat{width:100%;min-height:38px;white-space:normal}
/* The board toolbar must also stay in flow in landscape. */
.is-taskboard .agency-panel-tabs{position:static;inset:auto;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.is-taskboard .agency-panel-tabs button{min-height:34px;min-width:0}
.mission-form-header{padding-right:48px}.mission-form-header h2{overflow-wrap:anywhere}
@media(max-width:1050px) and (min-width:761px){#sideHud{left:22px;width:250px}#sideHud>.agent-session{padding:8px;gap:5px}}
@media(max-width:760px){#sideHud{top:84px;left:15px;right:15px;width:auto;gap:8px;max-height:calc(100dvh - 340px);padding:2px 1px 4px}#sideHud>.map-modes{grid-template-columns:repeat(4,minmax(0,1fr));padding:4px;gap:3px}#sideHud>.map-modes button{font-size:9px;min-height:34px;padding:7px 4px;line-height:1.3}#sideHud>.agent-session{padding:5px 9px;gap:6px;flex-wrap:nowrap}#sideHud .agent-session a,#sideHud .agent-session button{font-size:9px;min-height:32px;padding:7px}#sideHud>.agency-chapter{padding:5px}.is-agency #sideHud .agency-shortcuts{margin:0;gap:5px}#sideHud .agency-shortcuts button{min-height:36px;font-size:10px;padding:8px}.is-break #sideHud>.break-chapter{display:flex;align-items:center;gap:8px;padding:6px 9px}.is-break #sideHud .break-chapter p{font-size:8px;flex:1;margin:0}.is-break #sideHud #petCat{width:auto;min-height:34px;font-size:9px;padding:7px}.is-corse #sideHud>.corse-chapter{display:none}#sideHud>.chapter{display:none}.is-taskboard .agency-panel-tabs button{flex:1 1 auto}.is-taskboard .agency-panel-tabs .agency-new-postit{margin-left:0}}
@media(max-height:600px) and (min-width:761px){#sideHud{top:105px;max-height:calc(100dvh - 150px);gap:8px}.is-agency #sideHud .agency-shortcuts{margin-top:0}#sideHud>.agency-chapter{padding:7px}.is-break #sideHud .break-chapter h1,.is-break #sideHud .break-chapter>span{display:none}.is-taskboard .agency-panel-tabs{padding:6px 20px}.is-taskboard .agency-panel-tabs button{padding:7px 12px}}
@media(max-width:760px) and (max-height:600px) and (orientation:landscape){#sideHud{top:84px;left:15px;right:auto;width:210px;max-height:calc(100dvh - 108px)}#sideHud>.map-modes{grid-template-columns:repeat(2,minmax(0,1fr))}#sideHud>.agent-session{flex-wrap:wrap;gap:4px}#sideHud .agent-self{flex-basis:100%;margin:0 0 3px}#sideHud .agent-session button,#sideHud .agent-session a{flex:1}.is-break #sideHud>.agent-session{display:flex}.is-break #sideHud>.break-chapter{display:block}.is-break #sideHud .break-chapter p{margin-bottom:6px}.is-break #sideHud #petCat{width:100%}.is-break .pause-chat{left:240px;right:15px;top:84px;bottom:24px;width:auto;height:auto;min-height:0;max-height:none}}
@media(max-width:350px){#sideHud>.agent-session{flex-wrap:wrap}#sideHud .agent-self{min-width:45px}.is-taskboard .agency-panel-tabs button{font-size:9px}}
@media(max-width:1100px){.hud>.location{display:none}}

/* Four personal workstations, with access even when scene labels are hidden. */
.agency-desks-section{margin-top:16px;border-top:1px solid #d8d9c3;padding-top:13px;pointer-events:auto}.agency-desks-section>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px}.agency-desks-section>div>span{font-size:8px;letter-spacing:1.3px;color:#9a8d6c}#agencyMyDesk{font-size:9px;color:#8c6747;background:#efe4cf;border:1px solid #dfd1b4;padding:7px 9px;border-radius:7px;min-height:32px}.agency-desks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.agency-desks button{min-width:0;min-height:48px;padding:9px 10px;text-align:left;background:#f1eedf;border:1px solid #dce0cb;border-radius:9px;color:#607653}.agency-desks strong{display:block;font-size:11px;font-weight:600}.agency-desks small{display:block;font-size:8px;margin-top:5px;color:#96977e}.agency-desks button:hover{background:#e4ead6;border-color:#aaba91}.agency-desks button:focus-visible{outline-offset:1px}
.agency-desk-header{display:flex;align-items:center;gap:12px;padding:10px 30px;background:#f7ecd4eb;border-bottom:1px solid #ae916349;flex-shrink:0}.agency-desk-header>span:first-child{width:42px;height:48px;flex-shrink:0;overflow:hidden}.agency-desk-header svg{width:100%;height:100%}.agency-desk-header strong{display:block;font:20px Georgia,serif;color:#5a6f4e}.agency-desk-header small{display:block;font-size:9px;color:#a09172;margin-top:5px}.agency-all-tasks{align-self:flex-start;margin:2px 30px 9px;padding:8px 11px;border-radius:8px;border:1px solid #d4c19e;color:#7c765c;background:#f9efd7;font-size:10px;min-height:34px}
#agencyPanel.is-taskboard:has(#agencyDeskHeader:not([hidden])){background-color:#c2a176}#agencyOwnerFilter[hidden],.agency-desk-header[hidden],.agency-all-tasks[hidden]{display:none}
@media(max-width:760px){.agency-desks-section{margin-top:8px;padding:8px 5px 3px}.agency-desks-section>div:first-child{margin-bottom:5px}#agencyMyDesk{min-height:29px;padding:5px 7px;font-size:8px}.agency-desks{gap:5px}.agency-desks button{min-height:42px;padding:7px 8px}.agency-desks strong{font-size:10px}.agency-desks small{font-size:8px;margin-top:3px}.agency-desk-header{padding:7px 16px;gap:9px}.agency-desk-header>span:first-child{height:35px;width:32px}.agency-desk-header strong{font-size:17px}.agency-all-tasks{margin:2px 16px 7px;font-size:9px;padding:7px 9px}}
@media(max-height:600px){.agency-desk-header{padding-top:5px;padding-bottom:5px}.agency-desk-header>span:first-child{height:30px;width:28px}.agency-desk-header strong{font-size:17px}.agency-all-tasks{margin-bottom:6px;min-height:30px;padding:6px 9px}}

/* A separate fixed room for each agent, outside the common agency. */
#personalWorld{position:absolute;inset:0;isolation:isolate;background:#a5b6ab;overflow:hidden}
#personalWorld::before{content:'';position:absolute;inset:-35px;background:var(--office-art) center/cover;filter:blur(24px) brightness(.8);z-index:-1}
#personalRoomCanvas{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:60px 15px 100px 285px;pointer-events:none;user-select:none}
.is-office #viewport{cursor:default;touch-action:manipulation}
.is-office .chapter,.is-office .corse-chapter,.is-office .break-chapter,.is-office .agency-tier,.is-office .dock-wrap,.is-office .compass,.is-office .corse-directory,.is-office .corse-directory-toggle,.is-office .corse-team,.is-office .map-controls,.is-office #dataOriginNote,.is-office #corseAttribution,.is-office #islandLocateWrap{display:none!important}
.is-office .agency-chapter{display:block;background:#faf5e8f2;border:1px solid #fff8e4;border-radius:14px}
.is-office #sideHud .agency-chapter>span,.is-office #sideHud .agency-chapter>h1,.is-office #sideHud .agency-chapter>p,.is-office #sideHud .agency-shortcuts{display:none}
.is-office .agency-desks-section{margin:0;border:0;padding:0}
.agency-desks button[aria-pressed=true]{background:#dfe8d4;border-color:#9eb18b;color:#496442}
.personal-office-card{position:absolute;bottom:40px;left:320px;width:330px;padding:17px 20px;z-index:4;background:#faf5e8f2;border:1px solid #fff8df;border-radius:18px;box-shadow:0 12px 40px #1f3f3825}
.personal-office-card>div:first-child{display:flex;gap:12px;align-items:center}.personal-office-card>div>span:first-child{width:49px;height:57px;flex-shrink:0}.personal-office-card svg{width:100%;height:100%}.personal-office-card small{font-size:7px;letter-spacing:1.2px;color:#a08c6a}.personal-office-card h2{font:25px Georgia,serif;margin:7px 0;color:#536d4d}.personal-office-card p{font-size:10px;color:#8a9479;margin:0}.personal-office-actions{display:flex;gap:8px;margin-top:13px}.personal-office-actions button{flex:1;padding:11px 9px;border-radius:9px;font-size:11px;background:#617952;color:#fff5e1;min-height:38px}.personal-office-actions button:last-child{background:#e9ddc5;color:#98764f}

.is-office .footer-note{color:#fff5df;text-shadow:0 1px 3px #244638}
#sideHud>.map-modes{grid-template-columns:repeat(2,minmax(0,1fr))}#sideHud>.map-modes button:last-child{grid-column:1/-1}
@media(max-width:760px){#sideHud>.map-modes{grid-template-columns:repeat(3,minmax(0,1fr))}#sideHud>.map-modes button:last-child{grid-column:auto}.is-office #sideHud .agency-desks{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.is-office #sideHud .agency-desks button{padding:7px 4px;min-height:40px;text-align:center}.is-office #sideHud .agency-desks strong{font-size:9px}.is-office #sideHud .agency-desks small{font-size:7px}.is-office #sideHud>.agency-chapter{padding:8px}.personal-office-card{left:15px;right:15px;bottom:28px;width:auto;padding:12px 15px;border-radius:14px}.personal-office-card>div>span:first-child{height:40px;width:35px}.personal-office-card h2{font-size:22px;margin:5px 0}.personal-office-card small{font-size:6px}.personal-office-card p{font-size:9px}.personal-office-actions{margin-top:9px}.personal-office-actions button{font-size:10px;padding:9px;min-height:36px}#personalRoomCanvas{padding:250px 5px 155px}.is-office .footer-note{font-size:7px}}
@media(max-width:760px) and (max-height:600px) and (orientation:landscape){#sideHud>.map-modes{grid-template-columns:repeat(2,minmax(0,1fr))}#sideHud>.map-modes button:last-child{grid-column:1/-1}.is-office #sideHud .agency-desks{grid-template-columns:repeat(2,minmax(0,1fr))}.personal-office-card{left:240px;right:15px;bottom:22px;padding:9px 12px}.personal-office-card>div:first-child{gap:9px}.personal-office-card h2{font-size:19px}.personal-office-card>div>span:first-child{width:28px;height:32px}.personal-office-actions{margin-top:7px}#personalRoomCanvas{padding:75px 8px 120px 235px}}
@media(max-width:350px){.is-office #sideHud .agency-desks{grid-template-columns:repeat(2,minmax(0,1fr))}#personalRoomCanvas{padding-top:290px}}

/* The SVG board and the room image share one viewport, so hit areas follow the art exactly. */
#personalRoomCanvas{pointer-events:none}
.personal-wall-board{pointer-events:all;cursor:pointer;outline:none}
.personal-board-zone{fill:transparent;stroke:transparent;stroke-width:3;vector-effect:non-scaling-stroke;transition:fill .15s,stroke .15s}
.personal-wall-board:hover .personal-board-zone,.personal-wall-board:focus-visible .personal-board-zone{fill:#fff1c51c;stroke:#fff2c7}
.personal-board-tag rect{fill:#faf5e8f5;stroke:#ead9af;stroke-width:1;vector-effect:non-scaling-stroke}
.personal-board-tag text{font:600 15px Arial,sans-serif;fill:#70815b;pointer-events:none}
.personal-wall-board:hover .personal-board-tag rect,.personal-wall-board:focus-visible .personal-board-tag rect{fill:#fff8e8;stroke:#a58152}
@media(prefers-reduced-motion:reduce){.personal-board-zone{transition:none}}

/* Every agent keeps their own progression from the existing mission award ledger. */
.personal-xp{margin-top:12px;padding-top:10px;border-top:1px solid #d9ddc7}
.personal-xp-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.personal-xp-heading strong{font-size:11px;font-weight:600;color:#8f6e44}.personal-xp-heading>span{font-size:9px;color:#899275}
.personal-xp-track{height:5px;border-radius:5px;background:#e4dec9;overflow:hidden}.personal-xp-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#b49a60,#7f9566);border-radius:inherit;transition:width .25s ease}
.personal-xp>small{display:block;font-size:8px;letter-spacing:0;color:#90977e;margin-top:6px;line-height:1.5}.personal-xp .xp-storage-error{color:#b1704e}
.agency-desk-header .agency-desk-xp{display:inline-block;margin-top:6px;font-size:9px;line-height:1.3;font-style:normal;color:#9b7848;background:#efe2c7;padding:4px 7px;border-radius:6px}
.postit-footer .postit-xp{margin-left:auto;font-size:8px;white-space:nowrap;background:#fff5;border-radius:5px;padding:3px 4px;color:var(--ink)}.postit-footer .postit-xp+span:last-child{margin-left:0}
.agency-desks small{white-space:nowrap}.game-toast{z-index:20}
@media(max-width:760px){.personal-xp{margin-top:9px;padding-top:8px}.personal-xp-heading{margin-bottom:5px}.personal-xp-heading strong{font-size:10px}.personal-xp-heading>span{font-size:8px}.personal-xp>small{font-size:7px;margin-top:5px}.personal-xp-track{height:4px}.agency-desk-header .agency-desk-xp{font-size:8px;padding:3px 5px;margin-top:4px}.postit-footer .postit-xp{font-size:7px;padding:3px}.is-office .personal-office-actions{margin-top:9px}}
@media(max-width:760px) and (max-height:700px) and (orientation:portrait){.personal-office-card{padding:9px 12px;bottom:22px}.personal-office-card>div:first-child>span:first-child{height:33px;width:29px}.personal-office-card h2{font-size:20px}.personal-xp{margin-top:7px;padding-top:6px}.personal-xp>small{margin-top:4px}#personalRoomCanvas{padding-bottom:200px}}
@media(max-width:760px) and (max-height:600px) and (orientation:landscape){.personal-office-card{display:grid;grid-template-columns:minmax(130px,1fr) minmax(130px,1fr);gap:6px 12px}.personal-office-card>div:first-child{min-width:0}.personal-xp{margin:0;padding:0;border:0;align-self:center}.personal-office-actions{grid-column:1/-1;margin-top:0}#personalRoomCanvas{padding-bottom:125px}}
@media(prefers-reduced-motion:reduce){.personal-xp-track i{transition:none}}
@media(max-height:650px){#agencyPanel.is-taskboard{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.is-taskboard #agencyResults{flex:0 0 auto;overflow:visible;min-height:70px}.is-taskboard .agency-desk-header{flex-shrink:0}}

.room-player{cursor:pointer;outline:none}.room-player-label{pointer-events:none}.room-player:focus-visible .room-player-label rect{stroke:#b96842;stroke-width:3}

/* Every space fills the same fixed screen; controls float above the stage. */
#game{min-height:0}
#viewport,#viewport.dragging{cursor:default;touch-action:manipulation}
#game .map-controls,#game #hint{display:none!important}
#personalRoomCanvas{inset:0;width:100%;height:100%;padding:0}
.room-player{pointer-events:all}
@media(min-width:761px){.personal-office-card{left:30px;width:270px;right:auto;padding:14px 16px}.personal-office-card h2{font-size:23px}}
@media(max-width:760px){.personal-office-card{padding:10px 13px}.personal-office-card>div:first-child>span:first-child{width:28px;height:33px}.personal-office-card h2{font-size:20px;margin:3px 0}.personal-office-card>div:first-child>span:last-child>small,.personal-office-card>div:first-child>span:last-child>p{display:none}.personal-xp{padding-top:6px;margin-top:7px}.personal-xp>small{margin-top:4px}.personal-office-actions{margin-top:7px}}
@media(max-height:600px) and (orientation:landscape){.personal-office-card{left:auto;right:15px;top:105px;bottom:auto;width:210px;max-height:calc(100dvh - 125px);overflow-y:auto;display:block}.personal-office-card>div:first-child{gap:8px}.personal-office-card h2{font-size:19px}.personal-xp{margin-top:9px;padding-top:8px;border-top:1px solid #d9ddc7}.personal-office-actions{display:flex;margin-top:9px}.personal-office-actions button{padding:8px 5px;font-size:10px;min-height:34px}}

/* A discussion drawer keeps the full room visible on phones and tablets. */
.is-break .pause-chat[hidden]{display:none}
#openPauseChat{padding:9px 12px;border-radius:9px;font-size:10px;color:#5d7752;background:#e5eadb;border:1px solid #d2dcc6;min-height:36px}
#sideHud #openPauseChat{margin-top:7px;width:100%}
.pause-chat>header>div{min-width:0}
.pause-chat-close{margin-left:auto;align-self:flex-start;flex-shrink:0;min-width:30px;height:30px;border-radius:50%;background:#eceede;color:#879476;font-size:23px;line-height:1}
@media(max-width:760px){#sideHud #openPauseChat{margin:0;width:auto;white-space:nowrap;font-size:9px;padding:7px 8px}}
@media(max-width:760px) and (max-height:600px) and (orientation:landscape){#sideHud #openPauseChat{margin-top:7px;width:100%}}
/* Shared LBG sign-in, kept inside the Tycoon art direction. */
.agent-gate{overflow:auto}.agent-gate>div{width:min(420px,100%);max-width:420px;max-height:calc(100svh - 50px);overflow:auto;box-sizing:border-box}
#agentGateSignin{text-align:left;margin-top:22px}#agentGateSignin label{display:block;color:#647454;font-size:11px;font-weight:600;margin-top:15px}#agentGateSignin input{display:block;width:100%;min-width:0;box-sizing:border-box;border:1px solid #d8ddc9;border-radius:11px;background:#fffdf6;color:#42523b;padding:13px 12px;margin-top:7px;font:inherit;font-size:16px;line-height:1.25}#agentGateSignin input:focus{outline:2px solid #8b9d71;outline-offset:2px}.agent-password{position:relative;display:block}.agent-password input{padding-right:48px!important}#agentPasswordToggle{position:absolute;right:3px;top:3px;width:40px;height:40px;background:transparent;color:#647454;padding:0;margin:0;font-size:18px}#agentLoginSubmit{width:100%;margin-top:21px;min-height:46px}#agentLoginSubmit:disabled{opacity:.6;cursor:wait}#agentGateSignin a{text-align:center}#agentGateSignin>small{display:block;margin-top:19px;line-height:1.6;letter-spacing:.1px;text-align:center;font-size:10px}#agentLoginError{color:#a34e3b;font-size:12px;line-height:1.5}.agent-lbg-link{display:inline-block;padding:13px;border-radius:11px;background:#6c8059;color:#fff5e1;font-size:12px;text-decoration:none}
@media(max-height:650px){.agent-gate>div{padding:20px}.agent-gate .gate-icon{font-size:26px;margin-bottom:6px}.agent-gate h2{font-size:24px;margin:12px 0}.agent-gate p{line-height:1.5}#agentGateSignin{margin-top:14px}#agentGateSignin label{margin-top:11px}#agentGateSignin>small{margin-top:12px}}
/* The physical computer in each room opens a small iMac desktop. */
.personal-computer{cursor:pointer;outline:none;pointer-events:all}.personal-computer-zone{fill:transparent;stroke:transparent;stroke-width:3;vector-effect:non-scaling-stroke;transition:fill .15s,stroke .15s}.personal-computer:hover .personal-computer-zone,.personal-computer:focus-visible .personal-computer-zone,.personal-computer[aria-expanded=true] .personal-computer-zone{fill:#fff5dc24;stroke:#fff0bf}.personal-computer-tag rect{fill:#f9f4e8f5;stroke:#d6c49e;stroke-width:1;vector-effect:non-scaling-stroke}.personal-computer-tag text{font:600 13px Arial,sans-serif;fill:#657a5b;pointer-events:none}.personal-computer:hover .personal-computer-tag rect,.personal-computer:focus-visible .personal-computer-tag rect{fill:#fff9e8;stroke:#9b7951}
.computer-modal{position:absolute;inset:0;z-index:38;display:grid;place-items:center;padding:28px;background:#243c3794;backdrop-filter:blur(11px);-webkit-backdrop-filter:blur(11px);overflow:auto;overscroll-behavior:contain;touch-action:pan-y}.computer-modal[hidden]{display:none}.imac-hardware{width:min(880px,100%);position:relative;filter:drop-shadow(0 24px 32px #15262155);animation:computer-arrive .22s ease-out}.imac-body{padding:3px 3px 0;border-radius:25px 25px 17px 17px;background:linear-gradient(130deg,#e4e9e6,#a3b4b0 45%,#e2e7e4 65%,#8d9f9b);border:1px solid #d1d9d5;overflow:hidden}.imac-bezel{padding:17px 13px 13px;border-radius:22px 22px 0 0;background:linear-gradient(120deg,#202d2b,#101a19);position:relative}.imac-camera{position:absolute;top:6px;left:calc(50% - 2.5px);width:5px;height:5px;background:#3b5658;border:1px solid #0c1514;border-radius:50%;box-shadow:inset 0 0 2px #62858b}.imac-display{background:#d4e7df;border-radius:7px 7px 3px 3px;overflow:hidden;border:1px solid #66848060}.computer-menu{display:flex;align-items:center;gap:11px;min-height:40px;padding:0 15px;background:#f3f5e9d9;color:#53665b;border-bottom:1px solid #94b8aa40;position:relative;z-index:1}.computer-menu>strong{font-size:11px;letter-spacing:.1px}.computer-menu>span{font-size:10px;margin-left:auto}.computer-menu .computer-wifi{font-size:25px;margin-left:5px;line-height:1}#closeComputer{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;position:relative;background:transparent;padding:0;border-radius:50%;margin-left:-7px;color:#7f3027}#closeComputer::before{content:'';position:absolute;inset:10px;border-radius:50%;background:#dd8c76;border:1px solid #b76f60}#closeComputer span{font-size:13px;line-height:1;z-index:1}#closeComputer:hover::before{background:#cf775e}#closeComputer:focus-visible{outline-offset:0;outline-width:2px}.computer-desktop{position:relative;isolation:isolate;max-height:calc(100svh - 240px);overflow:auto;overscroll-behavior:contain;padding:28px 44px 16px;background:radial-gradient(ellipse at 5% 100%,#e6d3a5b8,transparent 55%),radial-gradient(ellipse at 90% 15%,#f6f3ddcc,transparent 56%),linear-gradient(155deg,#cfe3db,#a7cfd0 60%,#8cbbc2)}.computer-desktop::before{content:'';position:absolute;z-index:-1;pointer-events:none;inset:0;background:linear-gradient(170deg,transparent 54%,#fff4d02b 54.2%,#e9d7ab28 74%,transparent 74.2%)}.computer-welcome{text-align:center;margin:0 0 23px}.computer-welcome>span{font-size:8px;font-weight:600;letter-spacing:2.1px;color:#617f73}.computer-welcome h2{font:400 clamp(25px,3.1vw,36px)/1.2 Georgia,serif;color:#36584c;margin:11px 0 8px}.computer-welcome p{font-size:11px;line-height:1.6;color:#5c7a6d;margin:0}.computer-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 17px;max-width:650px;margin:auto}.computer-shortcut{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:15px 8px 13px;border-radius:17px;background:#f9f9ef80;border:1px solid #ffffffa6;color:#3e6051;text-align:center;text-decoration:none;box-shadow:0 4px 12px #496d5c09;transition:transform .16s,background .16s,box-shadow .16s}.computer-shortcut:hover{transform:translateY(-3px);background:#fffaf0d9;box-shadow:0 9px 22px #496d5c1c}.computer-shortcut:active{transform:translateY(0)}.computer-shortcut:focus-visible{outline-offset:2px;outline-color:#8b633f}.computer-app-icon{display:grid;place-items:center;width:57px;height:57px;border-radius:15px;background:linear-gradient(145deg,#73917a,#426f58);box-shadow:inset 0 1px 0 #ffffff73,0 5px 9px #42655720;color:#fcf7e8;margin-bottom:10px}.computer-app-icon svg{width:40px;height:40px}.computer-lively .computer-app-icon{background:linear-gradient(145deg,#c98d72,#a86148)}.computer-keys .computer-app-icon{background:linear-gradient(145deg,#e1b95f,#ba8733)}.computer-lnc .computer-app-icon{background:linear-gradient(145deg,#698e7c,#355f51)}.computer-airbnb .computer-app-icon{background:linear-gradient(145deg,#ef9e90,#dc7667)}.computer-booking .computer-app-icon{background:linear-gradient(145deg,#4678b0,#1d497d)}.computer-shortcut strong{font-size:12px;line-height:1.35}.computer-shortcut small{font-size:9px;color:#799083;margin-top:4px;line-height:1.4}.computer-link-arrow{position:absolute;right:10px;top:8px;color:#88a094;font-size:12px}.computer-hint{font-size:9px;line-height:1.5;text-align:center;color:#617d72;margin:20px 0 0}.imac-chin{height:49px;display:grid;place-items:center;background:linear-gradient(100deg,#c1cdc7,#e0e5df 42%,#b6c3bd);border-top:1px solid #d8e0da}.imac-chin span{font-size:24px;color:#7f9385;text-shadow:0 1px 0 #f8fff8b3}.imac-stand{height:34px;width:18%;margin:auto;clip-path:polygon(13% 0,87% 0,100% 100%,0 100%);background:linear-gradient(180deg,#7a9087,#becbc2 40%,#d9e1d8)}.imac-foot{height:9px;width:28%;margin:auto;border-radius:50% 50% 5px 5px;background:linear-gradient(180deg,#e3e9df,#9caf9f);box-shadow:0 7px 16px #203c3426}
@keyframes computer-arrive{from{opacity:0;transform:translateY(9px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:600px){.computer-modal{padding:13px}.imac-body{border-radius:17px 17px 12px 12px}.imac-bezel{padding:14px 7px 7px;border-radius:14px 14px 0 0}.imac-camera{top:4px}.computer-menu{padding:0 9px;gap:6px;min-height:37px}.computer-menu>strong{font-size:9px}.computer-menu>span{font-size:8px}.computer-menu .computer-wifi{display:none}.computer-desktop{padding:23px 13px 15px;max-height:calc(100svh - 175px)}.computer-welcome{margin-bottom:20px}.computer-welcome h2{font-size:27px}.computer-welcome p{font-size:10px}.computer-welcome>span{font-size:7px;letter-spacing:1.6px}.computer-shortcuts{gap:9px}.computer-shortcut{padding:13px 4px 11px;border-radius:13px}.computer-app-icon{width:47px;height:47px;border-radius:13px;margin-bottom:8px}.computer-app-icon svg{width:34px;height:34px}.computer-shortcut strong{font-size:10px}.computer-shortcut small{font-size:8px}.computer-link-arrow{right:6px;top:5px;font-size:10px}.computer-hint{font-size:8px;margin-top:17px}.imac-chin{height:36px}.imac-chin span{font-size:20px}.imac-stand{height:25px}.imac-foot{height:7px}}
@media(max-height:600px) and (min-width:601px){.computer-modal{padding:12px}.computer-desktop{padding:15px 28px;max-height:calc(100svh - 170px)}.computer-welcome{margin-bottom:14px}.computer-welcome h2{font-size:26px;margin:7px 0}.computer-shortcuts{grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;max-width:none}.computer-shortcut{padding:12px 5px}.computer-app-icon{width:44px;height:44px}.computer-app-icon svg{width:32px;height:32px}.computer-shortcut strong{font-size:10px}.computer-shortcut small{font-size:8px}.computer-hint{margin-top:12px}.imac-chin{height:32px}.imac-stand{height:19px}.imac-foot{height:6px}}
@media(prefers-reduced-motion:reduce){.imac-hardware{animation:none}.computer-shortcut,.personal-computer-zone{transition:none}}
/* Owner-managed Tycoon logins. No external authentication call for agents. */
.agent-settings:has(.agent-access-grid){width:min(680px,calc(100% - 40px));max-height:calc(100dvh - 40px);overflow:auto;z-index:45}.agent-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:23px}.agent-access-card{min-width:0;margin:0;padding:15px;border:1px solid #d5ddc9;border-radius:13px;background:#f3f3e8}.agent-access-card legend{padding:0 5px;color:#546b49;font-size:13px;font-weight:700}.agent-access-card legend small{display:block;font-size:9px;font-weight:400;color:#8a987c;margin-top:3px}.agent-settings .agent-access-card label{display:block;font-size:10px;color:#718264;margin-top:12px}.agent-settings .agent-access-card input:not([type=checkbox]){display:block;width:100%;font-size:16px;padding:11px 10px;margin-top:6px;border:1px solid #d3dac4;border-radius:8px;background:#fffdf5;color:#3d573a;box-sizing:border-box}.agent-settings .agent-access-card .agent-access-toggle{display:flex;align-items:center;gap:8px;font-size:11px;margin:15px 0 0}.agent-settings .agent-access-toggle input{width:18px;height:18px;margin:0;accent-color:#71875c;flex:none}.agent-login-help{font-size:10px!important;color:#829175!important;text-align:center}.agent-settings #agentSettingsSave:disabled{opacity:.55;cursor:wait}#agentGateOwner{font-size:10px;color:#6e805c;padding:8px 0;border-top:1px solid #e2e5d7}
@media(max-width:600px){.agent-settings:has(.agent-access-grid){width:auto;max-height:calc(100dvh - 30px)}.agent-access-grid{grid-template-columns:1fr;gap:13px}.agent-access-card{padding:13px}.agent-settings .agent-access-card label{margin-top:10px}}
/* Small private file cards on the post-it form and mission sheet. */
.mission-attachments{margin:20px 0;padding:16px 0;border-top:1px solid #dddcc9;border-bottom:1px solid #dddcc9}.attachment-heading{display:flex;align-items:center;gap:8px;margin-bottom:12px}.attachment-heading h3{font-size:12px;color:#617653;margin:0;font-weight:600}.attachment-heading>span{display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;background:#e8ecd9;border-radius:7px;font-size:10px;color:#7f8c6d}.attachment-list{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}.attachment-list:empty{display:none}.attachment-list li{display:flex;align-items:center;gap:9px;min-width:0;padding:10px;background:#f0f0e3;border:1px solid #e1e2cf;border-radius:10px;flex-wrap:wrap}.attachment-symbol{display:grid;place-items:center;width:31px;height:36px;flex:0 0 31px;border-radius:7px;background:#e1e7ce;color:#7a8d5e;font-size:22px}.attachment-detail{flex:1;min-width:0}.attachment-detail a{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;color:#526d48;text-decoration:underline;text-underline-offset:3px;padding:4px 0}.attachment-detail small{display:block;color:#92997f;font-size:9px;margin-top:4px}.attachment-list .attachment-remove,.staged-files button{flex:none;width:32px;min-height:32px;border-radius:8px;background:#e5e5d7;color:#9a755d;font-size:19px;padding:3px;margin:0}.attachment-list .attachment-remove:hover,.staged-files button:hover{background:#ead6c6}.attachment-picker{position:relative;display:flex!important;align-items:center;justify-content:center;min-height:43px;padding:11px 15px!important;border:1px dashed #b8c39e;border-radius:9px;background:#f4f4e8;color:#6a8056!important;cursor:pointer;font-size:11px!important;font-weight:600;margin:0!important;overflow:hidden}.attachment-picker:focus-within{outline:2px solid #a57d55;outline-offset:3px}.attachment-picker:hover{background:#eaf0db}.attachment-picker input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0!important;padding:0!important;border:0!important;font-size:16px}.attachment-picker:has(input:disabled){opacity:.5;cursor:wait}.attachment-limits{display:block;font-size:9px!important;color:#989d85!important;line-height:1.6;margin:8px 0 0}.attachment-status{font-size:10px;line-height:1.6;margin:9px 0 0;color:#859372;overflow-wrap:anywhere}.attachment-status:empty{display:none}.attachment-status.is-error{color:#a55f43}.attachment-retry{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.attachment-retry button,.attachment-confirm button{font-size:10px;color:#6d8059;background:#e4e9d5;border-radius:7px;padding:9px 12px}.attachment-retry button[hidden]{display:none}.attachment-confirm{display:flex;gap:6px;width:100%;justify-content:flex-end}.attachment-confirm button:first-child{background:#ecd7c6;color:#a06a46}.postit-attachments{margin:20px 0;padding:14px;border:1px solid #dbe0ca;border-radius:12px;min-width:0;background:#f2f2e8}.postit-attachments legend{font-size:11px;color:#71805c;padding:0 5px}.postit-attachments legend small{font-size:9px;color:#a1a88c;margin-left:5px}.attachment-existing{font-size:10px;line-height:1.6;color:#8c987c;margin:0 0 10px}.attachment-existing:empty{display:none}.staged-files{margin:12px 0 0}.staged-files li{padding:7px 8px;background:#fffaf0}.staged-files li>span{flex:1;min-width:0;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7e8c6c}.postit-attachment-count{font-size:9px;color:#8d785c;white-space:nowrap}
@media(max-width:600px){.attachment-list .attachment-remove,.staged-files button{width:36px;min-height:36px}.attachment-picker{min-height:45px}.postit-attachments{padding:12px}.attachment-detail a{font-size:12px}}
