:root{--paper:#ece0c8;--panel:#f8f0dd;--panel-deep:#efe4cb;--ink:#2b2320;--ink-soft:#5c5147;--teal:#1f6f6b;--teal-hi:#2f8f8a;--terra:#c4643b;--navy:#2c3e66;--gold:#d9a441;--green:#3d7a41;--red:#a33f2f;--line:3px solid var(--ink);--shadow:4px 4px 0 rgba(43,35,32,0.35);--shadow-sm:3px 3px 0 rgba(43,35,32,0.3);--font-ui:Verdana,Geneva,Tahoma,"DejaVu Sans",sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--paper);background-image:radial-gradient(rgba(43,35,32,.05) 1px,transparent 0);background-size:14px 14px;color:var(--ink);font-family:var(--font-ui);font-size:14px;line-height:1.45}body:after{content:"";position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(30,20,10,.03) 3px 4px);z-index:999}a{color:var(--teal)}a:hover{color:var(--terra)}.crt-frame{max-width:1180px;margin:18px auto 60px;padding:0 14px}.titlebar{display:flex;align-items:center;gap:10px;background:linear-gradient(180deg,var(--navy),#22314f);color:#f4ecdb;border:var(--line);box-shadow:var(--shadow);padding:8px 14px;margin-bottom:18px}.titlebar .dots{display:flex;gap:5px}.titlebar .dots i{width:11px;height:11px;border:2px solid var(--ink);display:inline-block}.dots i:first-child{background:var(--red)}.dots i:nth-child(2){background:var(--gold)}.dots i:nth-child(3){background:var(--green)}.titlebar h1{margin:0;font-size:13px;letter-spacing:.18em;font-weight:800;text-transform:uppercase;flex:1 1;text-align:center}.titlebar .tray{display:flex;gap:8px;align-items:center;font-size:11px}.panel{background:var(--panel);border:var(--line);box-shadow:var(--shadow)}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 12px;border-bottom:var(--line);background:var(--panel-deep);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.btn{font-family:var(--font-ui);font-size:12px;font-weight:700;color:var(--ink);background:var(--panel);border-bottom:3px solid var(--ink);border-right:3px solid var(--ink);border-top:3px solid #fffdf5;border-left:3px solid #fffdf5;box-shadow:var(--shadow-sm);padding:6px 12px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:hover{background:#fff8e8}.btn.pressed,.btn:active{transform:translate(2px,2px);box-shadow:none;border-top-color:var(--ink);border-left-color:var(--ink)}.btn.primary{background:var(--teal);color:#f7f2e4}.btn.primary:hover{background:var(--teal-hi)}.btn[disabled]{opacity:.5;cursor:not-allowed}.stamp{font-size:9px;font-weight:800;letter-spacing:.12em;padding:2px 6px;border:2px solid var(--ink);text-transform:uppercase;display:inline-block;background:var(--gold)}.floor{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:16px;gap:16px}.room{display:flex;flex-direction:column}.room .crew{padding:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));grid-gap:10px;gap:10px;background-image:repeating-conic-gradient(rgba(43,35,32,.04) 0 25%,transparent 0 50%);background-size:26px 26px;flex:1 1}.badge{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 6px;background:var(--panel);border:2px solid var(--ink);box-shadow:var(--shadow-sm);cursor:pointer;text-decoration:none;color:var(--ink);transition:transform 60ms steps(2);position:relative}.badge:hover{transform:translate(-1px,-2px);background:#fff8e8;color:var(--ink)}.badge:active{transform:translate(2px,2px);box-shadow:none}.badge .who{font-size:11px;font-weight:700}.badge .what{font-size:9px;color:var(--ink-soft);text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.presence-dot{position:absolute;top:5px;right:5px;width:9px;height:9px;border:2px solid var(--ink);border-radius:50%}.presence-dot.on{background:#57c04f}.presence-dot.busy{background:var(--gold)}.presence-dot.off{background:#9b9186}.ticker{overflow:hidden;white-space:nowrap;border:var(--line);box-shadow:var(--shadow);background:var(--ink);color:var(--gold);font-size:11px;letter-spacing:.08em;padding:5px 0;margin-bottom:16px}.ticker span{display:inline-block;padding-left:100%;animation:tick 40s linear infinite}@keyframes tick{to{transform:translateX(-100%)}}.dossier-grid{display:grid;grid-template-columns:minmax(300px,380px) 1fr;grid-gap:16px;gap:16px;align-items:start}@media (max-width:860px){.dossier-grid{grid-template-columns:1fr}}.id-card{padding:14px;display:flex;gap:12px;align-items:flex-start}.id-card .meta{flex:1 1;min-width:0}.id-card h2{margin:0 0 2px;font-size:18px}.id-card .role{color:var(--ink-soft);font-size:12px;margin-bottom:6px}.id-card .tagline{font-style:italic;font-size:12px}.chip{display:inline-block;font-size:10px;font-weight:700;border:2px solid var(--ink);padding:1px 6px;margin:2px 3px 0 0;background:var(--panel-deep)}.tabs{display:flex;gap:6px;padding:8px 8px 0}.tab{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;cursor:pointer;border:2px solid var(--ink);border-bottom:none;background:var(--panel-deep)}.tab.active{background:var(--panel);position:relative;top:2px;padding-bottom:7px}.loadout{display:flex;gap:8px;padding:10px 12px}.slot{width:44px;height:44px;display:grid;place-items:center;border:2px dashed var(--ink-soft);font-size:20px;background:var(--panel-deep)}.slot.filled{border-style:solid;border-color:var(--ink);background:#fff8e8}.skill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:10px;gap:10px;padding:12px}.skill-card{border:2px solid var(--ink);box-shadow:var(--shadow-sm);background:var(--panel);padding:8px;cursor:pointer;display:flex;flex-direction:column;gap:4px;position:relative}.skill-card:hover{background:#fff8e8}.skill-card:active{transform:translate(2px,2px);box-shadow:none}.skill-card .icon{font-size:22px}.skill-card .name{font-size:12px;font-weight:800}.skill-card .desc{font-size:10px;color:var(--ink-soft)}.skill-card.rare{border-color:var(--teal);box-shadow:3px 3px 0 rgba(31,111,107,.45)}.skill-card.epic{border-color:var(--terra);box-shadow:3px 3px 0 rgba(196,100,59,.5)}.skill-card .rarity{font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.skill-card.equipped{outline:3px solid var(--gold);outline-offset:-1px}.skill-card.equipped:after{content:"EQUIPPED";position:absolute;top:6px;right:-8px;transform:rotate(8deg);font-size:8px;font-weight:800;letter-spacing:.1em;background:var(--gold);border:2px solid var(--ink);padding:1px 5px}.skill-card.pop{animation:pop .24s steps(3)}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.12) rotate(-2deg)}to{transform:scale(1)}}.chat{display:flex;flex-direction:column;min-height:420px;max-height:72vh}.chat .log{flex:1 1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:repeating-linear-gradient(0deg,transparent 0 26px,rgba(43,35,32,.045) 26px 27px)}.msg{max-width:78%;display:flex;gap:8px;align-items:flex-end}.msg .bubble{border:2px solid var(--ink);box-shadow:var(--shadow-sm);padding:8px 10px;font-size:13px;background:var(--panel);white-space:pre-wrap;word-break:break-word}.msg.you{align-self:flex-end;flex-direction:row-reverse}.msg.you .bubble{background:var(--teal);color:#f7f2e4}.msg .tiny-sprite{flex-shrink:0}.msg-meta{font-size:9px;color:var(--ink-soft);margin-top:2px}.task-chip{display:inline-block;margin-top:6px;font-size:10px;font-weight:700;border:2px solid var(--ink);background:var(--gold);padding:2px 6px}.typing{display:inline-flex;gap:3px;padding:6px 4px}.typing i{width:6px;height:6px;background:var(--ink);display:inline-block;animation:blink 1s steps(2) infinite}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}@keyframes blink{50%{opacity:.15}}.chat .composer{display:flex;gap:8px;padding:10px;border-top:var(--line);background:var(--panel-deep)}.chat input{flex:1 1;font-family:var(--font-ui);font-size:13px;border:3px solid var(--ink);padding:8px 10px;background:#fffdf3}.chat input:focus{outline:3px solid var(--gold)}.memory-list{list-style:none;margin:0;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.memory-list li{border:2px solid var(--ink);background:var(--panel-deep);padding:6px 9px;font-size:12px}.memory-list .when{font-size:9px;color:var(--ink-soft)}.empty{padding:18px;text-align:center;color:var(--ink-soft);font-size:12px;font-style:italic}.backlink{display:inline-block;margin-bottom:12px;font-size:12px;font-weight:700;text-decoration:none}.footer{margin-top:22px;font-size:10px;color:var(--ink-soft);text-align:center}.persona-sheet{padding:12px 14px;font-size:12px;white-space:pre-wrap}.brainplate{font-size:10px;padding:6px 12px;border-top:2px dashed var(--ink-soft);color:var(--ink-soft)}.hud{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:12px;font-weight:700}.tower-scroll{overflow-x:auto;padding-bottom:8px}.tower{position:relative;margin:0 auto;border:var(--line);box-shadow:var(--shadow);background:linear-gradient(180deg,#f4ecda,#efe4cb)}.roof{position:absolute;top:0;left:0;right:0;height:44px;background:var(--navy);color:var(--gold);display:grid;place-items:center;font-size:12px;font-weight:800;letter-spacing:.2em;border-bottom:var(--line)}.tfloor{border-top:3px solid var(--ink);background:repeating-linear-gradient(90deg,transparent 0 70px,rgba(43,35,32,.05) 70px 74px),linear-gradient(180deg,rgba(255,253,243,.5),transparent 40%)}.tfloor,.tfloor:after{position:absolute;left:0;right:0}.tfloor:after{content:"";bottom:0;height:7px;background:repeating-linear-gradient(90deg,#5c5147 0 18px,#4a423a 18px 36px)}.floor-label{position:absolute;left:64px}.cooler,.plant{position:absolute;bottom:8px;font-size:17px}.plant{right:10px}.shaft{position:absolute;bottom:0;width:44px;background:repeating-linear-gradient(0deg,#d9ccb2 0 12px,#cfc1a5 12px 24px);border-right:3px solid var(--ink);border-left:3px solid var(--ink)}.shaft:before{content:"ELEV";position:absolute;top:48px;left:50%;transform:translateX(-50%) rotate(90deg);font-size:8px;letter-spacing:.3em;color:var(--ink-soft)}.walker{position:absolute;width:40px;cursor:pointer;z-index:3;display:flex;flex-direction:column;align-items:center;transition:left 1.3s linear,bottom .9s ease-in-out}.walker:hover{z-index:6;filter:brightness(1.06)}.walker .nametag{font-size:8px;font-weight:700;background:var(--panel);border:1px solid var(--ink);padding:0 3px;margin-top:1px;max-width:62px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.walker.locked{filter:grayscale(.95) opacity(.55)}.walker.riding{z-index:2}.sprite .frame-b{opacity:0}.sprite.walking .frame-a{animation:stepA .36s steps(1) infinite}.sprite.walking .frame-b{animation:stepB .36s steps(1) infinite}@keyframes stepA{50%{opacity:0}}@keyframes stepB{50%{opacity:1}}.bubble-mini{position:absolute;bottom:100%;margin-bottom:4px;left:-30px;width:120px;background:#fffdf3;border:2px solid var(--ink);box-shadow:var(--shadow-sm);font-size:9px;padding:4px 6px;z-index:8;animation:bubblein .2s steps(3)}.bubble-mini:after{content:"";position:absolute;top:100%;left:44px;border:5px solid transparent;border-top:5px solid var(--ink)}@keyframes bubblein{0%{transform:scale(.6)}to{transform:scale(1)}}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,96vw);background:var(--paper);border-left:var(--line);box-shadow:-6px 0 0 rgba(43,35,32,.25);z-index:50;display:flex;flex-direction:column}.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:var(--line);background:var(--panel-deep);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.drawer-body{overflow-y:auto;padding:14px}.dossier-stack{display:flex;flex-direction:column;gap:14px}.overlay{position:fixed;inset:0;background:rgba(43,35,32,.45);z-index:60;display:grid;place-items:center;padding:16px}.modal{width:min(640px,96vw);max-height:88vh;overflow-y:auto}.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:12px;gap:12px;padding:14px}.plan{border:2px solid var(--ink);background:var(--panel-deep);padding:10px;display:flex;flex-direction:column;gap:6px}.plan.current{outline:3px solid var(--gold)}.plan-name{font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:12px}.plan-price{font-size:18px;font-weight:800;color:var(--teal)}.plan ul{margin:0;padding-left:16px;font-size:11px}.confer-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px}.confer-form input,.confer-form select,.retro-input{font-family:var(--font-ui);font-size:12px;border:3px solid var(--ink);padding:7px 9px;background:#fffdf3}.confer-form input{flex:1 1;min-width:180px}.minutes{padding:6px 14px 14px;font-size:12px;border-top:2px dashed var(--ink-soft)}.minutes p{margin:8px 0}.thoughts{font-size:10px;color:var(--ink-soft);margin-bottom:4px;border:2px dashed var(--ink-soft);padding:4px 8px;background:var(--panel-deep);white-space:pre-wrap;max-width:420px}.thoughts summary{cursor:pointer;font-weight:700}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));grid-gap:10px;gap:10px;margin-bottom:14px}.tile{padding:12px;text-align:center}.tile b{display:block;font-size:22px}.tile span{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}.admin-table{width:100%;border-collapse:collapse;font-size:11px}.admin-table td,.admin-table th{border-top:2px solid var(--ink);padding:6px 10px;text-align:left}.admin-table th{background:var(--panel-deep);font-size:9px;letter-spacing:.12em;text-transform:uppercase}.admin-table select{font-family:var(--font-ui);border:2px solid var(--ink);background:#fffdf3}.title-link{color:inherit;text-decoration:none}.title-link:hover{color:var(--gold)}.global-nav{justify-content:space-between;gap:8px;border:var(--line);box-shadow:var(--shadow);background:var(--panel-deep);padding:6px 10px;margin-bottom:14px}.global-nav,.nav-account,.nav-links{display:flex;align-items:center;flex-wrap:wrap}.nav-account,.nav-links{gap:6px}.nav-item{font-family:var(--font-ui);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--ink);background:var(--panel);border:2px solid var(--ink);padding:4px 9px;cursor:pointer}.nav-item:hover{background:#fff8e8;color:var(--ink)}.nav-item.active{background:var(--teal);color:#f7f2e4}.nav-item.strong{background:var(--gold)}.badge-chip{font-size:10px;font-weight:700;border:2px dashed var(--ink);padding:3px 8px;background:var(--panel)}.ceo-desk{margin-bottom:14px}.ceo-form{display:flex;gap:8px;padding:10px 12px}.ceo-form input{flex:1 1;font-family:var(--font-ui);font-size:13px;border:3px solid var(--ink);padding:8px 10px;background:#fffdf3;min-width:0}.ceo-form input:focus{outline:3px solid var(--gold)}.route-card{border-top:2px dashed var(--ink-soft);padding:8px 12px;font-size:12px}.route-line{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ack{font-style:italic;color:var(--ink-soft);margin-top:5px}.orders-log{list-style:none;margin:0;padding:8px 12px;border-top:2px dashed var(--ink-soft);display:flex;flex-direction:column;gap:6px}.orders-log li{display:flex;gap:8px;align-items:baseline;font-size:11px;flex-wrap:wrap}.orders-log .order-text{font-weight:700}.orders-log .order-chain{color:var(--ink-soft);font-size:10px}.stamp.done{background:var(--green);color:#f4ecdb}.tower-wrap{display:flex;gap:12px;align-items:flex-start}.floor-jump{position:-webkit-sticky;position:sticky;top:12px;display:flex;flex-direction:column;gap:4px;border:var(--line);box-shadow:var(--shadow);background:var(--panel);padding:8px;min-width:118px}.fj-title{font-size:9px;font-weight:800;letter-spacing:.16em;text-align:center;padding-bottom:4px;border-bottom:2px solid var(--ink)}.fj-btn{font-family:var(--font-ui);font-size:9px;font-weight:700;text-align:left;background:var(--panel-deep);border:2px solid var(--ink);padding:3px 6px;cursor:pointer;letter-spacing:.04em}.fj-btn:hover{background:var(--gold)}.fj-btn b{display:inline-block;width:18px}.tfloor.flash{animation:floorflash 1.4s steps(4)}@keyframes floorflash{0%,60%{background-color:rgba(217,164,65,.35)}}.desk{position:absolute;width:32px;height:13px;z-index:1;background:#b08d57;border:2px solid var(--ink)}.desk:after{content:"";position:absolute;top:100%;left:3px;width:3px;height:4px;background:var(--ink);box-shadow:21px 0 0 var(--ink)}.desk .monitor{position:absolute;bottom:100%;left:9px;width:10px;height:8px;background:#22303f;border:2px solid var(--ink)}.prop{position:absolute;bottom:9px;font-size:15px;opacity:.9;z-index:1}.zone-meet{width:96px;height:26px;z-index:0;border:2px dashed rgba(43,35,32,.35);font-size:7px;letter-spacing:.2em;color:rgba(43,35,32,.4);display:flex;align-items:flex-end;justify-content:center}.elev-door,.zone-meet{position:absolute;bottom:7px}.elev-door{width:22px;height:34px;z-index:1;border:2px solid var(--ink);background:repeating-linear-gradient(90deg,#9b8d74 0 9px,#8a7c64 9px 11px)}.elev-light{position:absolute;top:-8px;left:50%;transform:translateX(-50%);width:6px;height:6px;border:1px solid var(--ink);background:#6a5f52}.elev-light.on{background:#57c04f;box-shadow:0 0 6px #57c04f}button.walker{background:none;border:none;padding:0;font-family:var(--font-ui)}.walker:focus-visible{outline:3px solid var(--gold);outline-offset:2px;z-index:7}.walker .tip{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);background:var(--ink);color:var(--paper);font-size:9px;font-weight:700;padding:3px 7px;border:2px solid var(--gold);white-space:nowrap;opacity:0;pointer-events:none;z-index:9}.walker:focus-visible .tip,.walker:hover .tip{opacity:1}.walker.locked{filter:grayscale(.85) opacity(.6)}.walker.locked:focus-visible,.walker.locked:hover{filter:grayscale(.3) opacity(.9)}@media (max-width:820px){.tower-wrap{flex-direction:column}.floor-jump{position:static;flex-direction:row;flex-wrap:wrap;min-width:0;width:100%}.fj-title{border-bottom:none;border-right:2px solid var(--ink);padding-right:6px}}@media (max-width:700px){.titlebar{flex-wrap:wrap;padding:6px 10px}.titlebar h1{order:-1;width:100%;font-size:12px;margin-bottom:4px}.titlebar .dots{display:none}.crt-frame{padding:0 8px;margin-top:10px}.ceo-form{flex-direction:column}}.floor-label{position:-webkit-sticky;position:sticky;left:10px;top:5px;display:inline-block;margin:5px 0 0 64px;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;background:var(--panel);border:2px solid var(--ink);padding:1px 7px;z-index:5;max-width:60vw}.tower-scroll{min-width:0;max-width:100%}