@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}.visible{visibility:visible}.fixed{position:fixed}.static{position:static}.container{width:100%}.block{display:block}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@font-face{font-family:Raglan Punch;src:url(/fonts/raglan_punch.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Techno Codex;src:url(/fonts/Techno%20Codex.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@layer base{html,body,#root{height:100%}body{text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.45;overflow:hidden}p{line-height:1.5}h1,h2,h3,h4,h5,h6{letter-spacing:-.01em;line-height:1.12}button,input,select,textarea{font:inherit;line-height:1.35}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}:root{--ui-app-bg: #071612;--ui-sidebar-bg-start: #d8e6db;--ui-sidebar-bg-end: #bfd3c4;--ui-sidebar-border: #2c4f44;--ui-surface-bg: rgba(255, 255, 255, .64);--ui-surface-border: #aec7b6;--ui-control-bg: #eef6ef;--ui-control-border: #8ea99a;--ui-control-text: #1b2d25;--ui-floating-bg-start: rgba(214, 229, 217, .95);--ui-floating-bg-end: rgba(192, 210, 197, .95);--ui-floating-shadow-rgb: 5, 16, 12;--ui-text-primary: #152a22;--ui-text-muted: #345246;--ui-chip-bg: #edf5ee;--ui-chip-border: #9db5a4;--game-canvas-bg: #0d1f1a;--game-terrain-valley-1-fill: #36594e;--game-terrain-valley-1-stroke: #4a7062;--game-terrain-valley-2-fill: #456056;--game-terrain-valley-2-stroke: #57766a;--game-terrain-valley-3-fill: #52666b;--game-terrain-valley-3-stroke: #688289;--game-terrain-valley-4-fill: #5d6075;--game-terrain-valley-4-stroke: #747791;--game-terrain-blocked-fill: #1e2429;--game-terrain-blocked-stroke: #313c43;--game-grid-stroke-rgb: 226, 246, 238;--game-star-rgb: 217, 245, 234;--game-bridge-slot-reachable-rgb: 194, 223, 213;--game-bridge-slot-locked-rgb: 130, 149, 141;--game-hub-pulse-rgb: 255, 238, 164;--game-belt-flow-rgb: 231, 248, 255;--game-miner-rotor-rgb: 235, 255, 246;--game-machine-port-preview-input: rgba(43, 86, 62, .9);--game-machine-port-preview-output: rgba(95, 69, 30, .92);--game-machine-port-input: rgba(39, 85, 61, .9);--game-machine-port-output: rgba(102, 74, 32, .92);--game-machine-token-bg: rgba(12, 24, 20, .78);--game-hover-outline-rgb: 242, 255, 248;--server-blocking-overlay-bg: rgba(4, 11, 9, .72);--server-blocking-modal-border: #9ab3a5;--server-blocking-modal-bg-start: rgba(233, 243, 237, .97);--server-blocking-modal-bg-end: rgba(214, 228, 220, .97);--server-blocking-modal-shadow: rgba(3, 10, 8, .45);--server-blocking-modal-title: #163428;--server-blocking-modal-text: #25463a;--server-blocking-modal-meta: #3d5f52;--server-blocking-sidebar-block-bg: rgba(62, 116, 198, .34);--server-blocking-rejoin-border: #2f5041;--server-blocking-rejoin-bg-start: rgba(99, 145, 121, .98);--server-blocking-rejoin-bg-end: rgba(79, 121, 100, .98);--server-blocking-rejoin-hover-border: #1f3a2e;--server-blocking-rejoin-hover-bg-start: rgba(82, 125, 103, .99);--server-blocking-rejoin-hover-bg-end: rgba(64, 101, 82, .99);--server-blocking-rejoin-text: #f3fff9}.app{display:flex;height:100vh;width:100%;background:var(--ui-app-bg)}.godhand-button-base{transition:border-color .12s ease-out,background-color .12s ease-out,box-shadow .12s ease-out,transform .12s ease-out}.godhand-button-base:hover:not(:disabled){transform:translateY(-1px)}.godhand-button-base:active:not(:disabled){transform:translateY(1px)}.sidebar{width:390px;display:flex;flex-direction:column;height:100%;padding:10px;gap:8px;border-right:1px solid var(--ui-sidebar-border);box-sizing:border-box;overflow:hidden;background:radial-gradient(circle at 12% 7%,#f0faf580,#f0faf500 34%),linear-gradient(180deg,var(--ui-sidebar-bg-start) 0%,var(--ui-sidebar-bg-end) 100%)}.sidebar-scroll{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:10px;padding-right:2px}.sidebar-scroll::-webkit-scrollbar{width:10px}.sidebar-scroll::-webkit-scrollbar-track{background:#c4d6ca99}.sidebar-scroll::-webkit-scrollbar-thumb{background:#6a8878c7}.sidebar-scroll::-webkit-scrollbar-thumb:hover{background:#587567d6}.app.app-server-blocked .sidebar{position:relative;pointer-events:none;filter:saturate(.72) brightness(.92)}.app.app-server-blocked .sidebar:after{content:"";position:absolute;inset:0;z-index:10;background:var(--server-blocking-sidebar-block-bg);-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px)}.sidebar .sidebar-section{position:relative;display:flex;flex-direction:column;gap:9px;background:linear-gradient(180deg,#f3faf6c2,#e3efe7b3);border:1px solid var(--ui-surface-border);padding:9px;box-shadow:0 1px #ffffff73 inset}.sidebar .sidebar-section:before{content:"";position:absolute;inset:3px;border:1px solid rgba(150,176,161,.25);pointer-events:none}.sidebar .sidebar-section-header{display:flex;align-items:center;justify-content:space-between;min-height:18px}.sidebar .sidebar-section-title{margin:0;font-family:Techno Codex,Raglan Punch,sans-serif;font-size:12px;line-height:1;letter-spacing:.05em;text-transform:uppercase;color:#1f3c30}.manual-queue-bar{position:relative;flex-shrink:0;z-index:4;margin-top:2px}.manual-queue-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ui-text-primary)}.manual-queue-capacity{border:1px solid #95ae9f;background:#edf6f0d6;color:#2a4c3d;padding:2px 6px;font-size:10px}.manual-queue-row{display:flex;flex-wrap:wrap;gap:6px}.manual-queue-chip{position:relative;min-width:30px;height:24px;border:1px solid #8fa89b;background:#edf6ef;color:#1d3328;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.manual-queue-chip-active{border-color:#3d7a59;box-shadow:inset 0 0 0 999px #42845f2e}.manual-queue-count{position:absolute;right:-4px;top:-6px;min-width:12px;height:12px;border:1px solid #8ca197;border-radius:999px;background:#f5fbf7;color:#2a4b3a;font-size:8px;line-height:12px;text-align:center;padding:0 2px}.manual-queue-empty{font-size:10px;color:var(--ui-text-muted)}.sidebar .window-toggle-button,.sidebar .sidebar-section>button{width:100%;min-height:34px;box-sizing:border-box;padding:6px 8px;text-align:left;border:1px solid #8fa99a;background:color-mix(in oklab,var(--ui-control-bg) 95%,white 5%);color:#173428;font-size:12px;line-height:1.2;transition:border-color .12s ease-out,background-color .12s ease-out,transform .12s ease-out}.sidebar .window-toggle-button:hover:not(:disabled),.sidebar .sidebar-section>button:hover:not(:disabled){border-color:#6d907f;background:color-mix(in oklab,var(--ui-control-bg) 88%,white 12%);transform:translateY(-1px)}.sidebar-nav-section{padding:7px 8px;gap:0}.sidebar-nav-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.sidebar-nav-button{width:100%;min-height:30px;border:1px solid #8fa99a;background:color-mix(in oklab,var(--ui-control-bg) 95%,white 5%);color:#173428;font-family:Techno Codex,Raglan Punch,sans-serif;font-size:11px;letter-spacing:.04em;text-transform:uppercase;line-height:1;padding:5px 4px;transition:border-color .12s ease-out,background-color .12s ease-out,transform .12s ease-out}.sidebar-nav-button:hover:not(:disabled){border-color:#6d907f;background:color-mix(in oklab,var(--ui-control-bg) 88%,white 12%);transform:translateY(-1px)}.sidebar-diagnostics-section{gap:7px}.sidebar-diagnostics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.sidebar-diagnostics-item{border:1px solid #a7bfb0;background:#eff7f2d1;padding:5px 6px;display:flex;flex-direction:column;gap:2px;min-width:0}.sidebar-diagnostics-item-wide{grid-column:span 2}.sidebar-diagnostics-label{font-size:10px;color:#355247;text-transform:uppercase;letter-spacing:.03em}.sidebar-diagnostics-value{font-size:12px;color:#173428;font-weight:700;line-height:1.2;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.window-toggle-list{display:flex;flex-direction:column;gap:5px}.window-toggle-button{display:flex;align-items:center;justify-content:space-between;gap:8px}.window-toggle-label{color:#1f3d31}.window-toggle-state{min-width:42px;text-align:center;border:1px solid #8ea99a;background:#edf6f0d1;color:#2a4c3d;padding:2px 5px;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.window-toggle-state-on{border-color:#64947c;background:#d5eee1e6;color:#1f553d}.window-toggle-state-off{border-color:#a4b9ad;background:#eaf2ecd1;color:#4a6659}.sidebar .sidebar-expandable{padding:0;gap:0}.sidebar .sidebar-expandable>summary{list-style:none;cursor:pointer;min-height:18px;display:flex;align-items:center;justify-content:space-between;padding:9px;margin:0;font-family:Techno Codex,Raglan Punch,sans-serif;font-size:12px;line-height:1;letter-spacing:.05em;text-transform:uppercase;color:#1f3c30}.sidebar .sidebar-expandable>summary::-webkit-details-marker{display:none}.sidebar .sidebar-expandable>summary:after{content:"+";font-family:Techno Codex,Raglan Punch,sans-serif;font-size:11px;color:#365748}.sidebar .sidebar-expandable[open]>summary:after{content:"-"}.sidebar .sidebar-expandable[open]>summary{border-bottom:1px solid rgba(142,167,153,.55)}.sidebar .sidebar-expandable-content{padding:8px 9px 9px}.main{flex:1;display:flex;flex-direction:column}.canvas-wrap{flex:1;position:relative;overflow:hidden;background:var(--game-canvas-bg)}.shader-backdrop{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0;pointer-events:none}.game-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1}.game-canvas-shell{position:absolute;inset:0;z-index:1}.canvas-hover-overlay{position:absolute;left:14px;bottom:56px;z-index:2;width:-moz-fit-content;width:fit-content;max-width:min(250px,calc(100% - 24px));border:1px solid var(--ui-control-border);background:color-mix(in oklab,var(--ui-control-bg) 96%,white 4%);color:var(--ui-text-primary);padding:7px 9px;font-size:11px;line-height:1.35;pointer-events:none}.canvas-hover-title{font-weight:700;font-size:12px;margin-bottom:3px}.canvas-hover-line{color:var(--ui-text-muted)}.canvas-hover-meter{margin-top:6px;display:flex;flex-direction:column;gap:3px}.canvas-hover-meter-label{font-size:10px;color:var(--ui-text-primary);text-transform:uppercase;letter-spacing:.03em}.canvas-hover-meter-track{height:8px;border:1px solid #7f9889;background:#152b212e}.canvas-hover-meter-fill{display:block;height:100%;background:linear-gradient(90deg,#6a996f,#9ecf8f)}.canvas-shortcuts-overlay{position:absolute;left:50%;bottom:12px;transform:translate(-50%);z-index:2;max-width:calc(100% - 24px);border:1px solid var(--ui-control-border);background:color-mix(in oklab,var(--ui-control-bg) 96%,white 4%);color:var(--ui-text-primary);font-size:11px;padding:6px 10px;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.canvas-placement-feedback{position:absolute;left:50%;bottom:42px;transform:translate(-50%);z-index:3;border:1px solid #b54b4b;background:#5b1818e6;color:#ffdede;font-size:11px;padding:5px 9px;pointer-events:none;white-space:nowrap;box-shadow:0 3px 8px #00000040}.canvas-placement-status{position:absolute;left:50%;bottom:72px;transform:translate(-50%);z-index:3;font-size:11px;padding:5px 9px;pointer-events:none;white-space:nowrap;box-shadow:0 3px 8px #00000040}.canvas-placement-status-good{border:1px solid #529a5a;background:#cff3d1eb;color:#101010}.canvas-placement-status-bad{border:1px solid #b54b4b;background:#fcd6d6f0;color:#101010}.game-loading-overlay{position:absolute;inset:0;z-index:71;display:flex;align-items:center;justify-content:center;padding:20px;background:#040b09ad;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.game-loading-card{width:min(420px,100%);border:1px solid rgba(141,166,153,.8);background:linear-gradient(180deg,#eaf4edf7,#d7e5ddf7);box-shadow:0 12px 24px #030a0861;padding:16px;display:flex;flex-direction:column;gap:8px}.game-loading-title{margin:0;font-family:Techno Codex,Raglan Punch,sans-serif;font-size:26px;line-height:1.05;text-transform:uppercase;letter-spacing:.04em;color:#163428}.game-loading-text{margin:0;color:#2a4a3d;font-size:14px;line-height:1.4}.game-loading-progress{position:relative;height:10px;border:1px solid rgba(60,92,77,.6);background:#d6e4dbcc;overflow:hidden}.game-loading-progress-fill{position:relative;display:block;height:100%;background:linear-gradient(90deg,#5e9f84,#7ac19e,#5e9f84);box-shadow:inset 0 0 6px #edfff773;transition:width .28s ease}.game-loading-progress-fill:after{content:"";position:absolute;top:0;left:-35%;width:35%;height:100%;background:linear-gradient(90deg,#fff0,#f5fffaa6,#fff0);animation:game-loading-shimmer 1.15s linear infinite}@keyframes game-loading-shimmer{0%{left:-35%}to{left:130%}}.server-blocking-modal-overlay{position:absolute;inset:0;z-index:72;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--server-blocking-overlay-bg);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.server-blocking-modal{width:min(520px,100%);border:1px solid var(--server-blocking-modal-border);background:linear-gradient(180deg,var(--server-blocking-modal-bg-start) 0%,var(--server-blocking-modal-bg-end) 100%);box-shadow:0 14px 28px var(--server-blocking-modal-shadow);padding:16px;display:flex;flex-direction:column;gap:10px}.server-blocking-modal-title{margin:0;font-family:Techno Codex,Raglan Punch,sans-serif;font-size:28px;line-height:1.04;text-transform:uppercase;letter-spacing:.04em;color:var(--server-blocking-modal-title)}.server-blocking-modal-text{margin:0;color:var(--server-blocking-modal-text);font-size:14px;line-height:1.4}.server-blocking-modal-meta{margin:0;color:var(--server-blocking-modal-meta);font-size:12px}.server-blocking-modal-actions{display:flex;gap:10px;flex-wrap:wrap}.server-blocking-modal-actions .ui-button{flex:1 1 200px}.server-blocking-modal-actions .server-blocking-modal-rejoin-button{border-color:var(--server-blocking-rejoin-border);background:linear-gradient(180deg,var(--server-blocking-rejoin-bg-start) 0%,var(--server-blocking-rejoin-bg-end) 100%);color:var(--server-blocking-rejoin-text)}.server-blocking-modal-actions .server-blocking-modal-rejoin-button:hover:not(:disabled){border-color:var(--server-blocking-rejoin-hover-border);background:linear-gradient(180deg,var(--server-blocking-rejoin-hover-bg-start) 0%,var(--server-blocking-rejoin-hover-bg-end) 100%)}.server-blocking-modal-actions .server-blocking-modal-rejoin-button:disabled{pointer-events:none;cursor:not-allowed;border-color:var(--server-blocking-rejoin-border);background:linear-gradient(180deg,var(--server-blocking-rejoin-bg-start) 0%,var(--server-blocking-rejoin-bg-end) 100%);color:var(--server-blocking-rejoin-text);opacity:.6}.production-config-modal-overlay{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;background:var(--server-blocking-overlay-bg)}.production-config-modal{position:relative;width:min(460px,calc(100vw - 32px));border:1px solid var(--ui-surface-border);padding:12px;background:linear-gradient(180deg,var(--ui-floating-bg-start) 0%,var(--ui-floating-bg-end) 100%);box-shadow:0 12px 24px rgba(var(--ui-floating-shadow-rgb),.38);color:var(--ui-text-primary);display:flex;flex-direction:column;gap:8px}.production-config-modal:before{content:"";position:absolute;inset:4px;border:1px solid rgba(150,176,161,.25);pointer-events:none}.production-config-modal-header{min-height:30px}.production-config-modal-titlebar{font-family:Techno Codex,Raglan Punch,sans-serif;font-size:13px;line-height:1;letter-spacing:.05em;text-transform:uppercase;color:#1f3c30;cursor:default;touch-action:auto;-webkit-user-select:none;-moz-user-select:none;user-select:none}.production-config-modal-content{display:flex;flex-direction:column;gap:8px;margin-top:2px}.production-config-modal-meta{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--ui-text-muted)}.production-config-modal-select{display:flex;flex-direction:column;gap:6px;padding-top:4px;border-top:1px solid rgba(150,176,161,.26)}.production-config-modal-select span{font-size:11px;line-height:1;letter-spacing:.04em;text-transform:uppercase;color:var(--ui-text-primary)}.production-config-modal-select select{width:100%;border:1px solid var(--ui-control-border);background:color-mix(in oklab,var(--ui-control-bg) 96%,white 4%);color:var(--ui-control-text);min-height:30px;padding:6px 8px}.production-config-modal-active{font-size:12px;color:var(--ui-text-primary);border:1px solid var(--ui-surface-border);background:color-mix(in oklab,var(--ui-control-bg) 96%,white 4%);padding:8px}.floating-window{position:absolute;z-index:3;max-height:calc(100% - 16px);box-sizing:border-box;background:linear-gradient(180deg,var(--ui-floating-bg-start) 0%,var(--ui-floating-bg-end) 100%);box-shadow:0 10px 20px rgba(var(--ui-floating-shadow-rgb),.32);padding:8px;overflow:hidden}.floating-window-header{display:flex;align-items:center;gap:6px}.floating-window-header button{border:1px solid var(--ui-control-border);background:var(--ui-control-bg);color:var(--ui-control-text);padding:4px 6px;font-size:11px;line-height:1}.floating-window-header-actions{display:flex;align-items:center;gap:4px}.floating-window-drag{flex:1;height:28px;display:inline-flex;align-items:center;text-align:left;cursor:grab;touch-action:none;font-size:11px;font-weight:600;padding:0 8px}.floating-window-drag:active{cursor:grabbing}.floating-window-body{margin-top:6px;overflow:auto;height:calc(100% - 38px);padding-right:2px}.floating-window-minimized-content{margin-top:4px;font-size:10px;line-height:1.2;max-width:100%;overflow:hidden}.floating-window-header-icon{width:28px;min-width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:16px;line-height:1;cursor:pointer;transition:border-color .12s ease-out,background-color .12s ease-out,transform .12s ease-out}.floating-window-header-icon:hover:not(:disabled){border-color:#739885;background:color-mix(in oklab,var(--ui-control-bg) 88%,white 12%);transform:translateY(-1px)}.floating-window-header-icon:active:not(:disabled){transform:translateY(1px)}.floating-window-header-icon svg{width:18px;height:18px;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;fill:none}.floating-window-minimized{padding:5px;max-width:min(360px,calc(100% - 16px))}.floating-window-minimized .floating-window-header{gap:4px}.title-webgl-word{position:relative;display:block;width:-moz-max-content;width:max-content;max-width:100%}.title-cinzel{font-family:Cinzel Decorative,Raglan Punch,Georgia,serif;font-weight:900;letter-spacing:.012em}.title-webgl-word-measure{visibility:hidden;white-space:nowrap;display:block}.title-webgl-word-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;filter:drop-shadow(0 3px 9px rgba(2,10,7,.2))}.title-webgl-word-fallback{position:absolute;inset:0;white-space:nowrap;color:#e8f8f1;text-shadow:0 3px 10px rgba(2,10,7,.22);pointer-events:none}.floating-window-minimized .floating-window-drag{flex:0 1 auto;height:24px;display:inline-flex;align-items:center;min-width:0;max-width:180px;padding:0 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floating-window-minimized .floating-window-header-icon{width:24px;min-width:24px;height:24px}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--ui-control-border);background:var(--ui-control-bg);color:var(--ui-control-text);padding:8px 12px;font-size:15px;font-weight:700;line-height:1.2;text-decoration:none;transition:border-color .15s ease-out,background-color .15s ease-out,box-shadow .15s ease-out,transform .12s ease-out;min-height:40px;box-sizing:border-box}.ui-button:hover{border-color:#5f7f70;background:color-mix(in oklab,var(--ui-control-bg) 90%,white 10%)}.ui-button:active{transform:translateY(1px)}.ui-button:disabled{cursor:not-allowed;opacity:.6}.ui-button-left{justify-content:flex-start}.profile-dock{position:fixed;left:14px;bottom:14px;z-index:80;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.profile-dock-toggle{display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;border-radius:0;border:1px solid var(--ui-control-border);background:linear-gradient(180deg,#e6f2ecf5,#c9dacff5);color:#173728;cursor:pointer;box-shadow:0 10px 18px #040c0947}.profile-dock-toggle:hover{border-color:#5f7f70;transform:translateY(-1px)}.profile-dock-toggle-icon{width:24px;height:24px}.profile-dock-menu{display:flex;min-width:188px;flex-direction:column;gap:8px;border:1px solid #8aa495;background:linear-gradient(180deg,#deebe3fa,#c7d7ccfa);padding:10px;box-shadow:0 12px 24px #040c0957}.profile-dock-username{margin:0;font-size:13px;font-weight:700;color:#1f4635}.profile-dock-menu-button{width:100%;min-height:36px;justify-content:flex-start;font-size:14px;padding:6px 10px}.profile-dock-error{margin:0;border:1px solid #b86969;background:#802b2b21;padding:6px 8px;font-size:12px;line-height:1.35;color:#602626}.profile-dock-inline{position:relative;left:auto;bottom:auto;z-index:auto;gap:0}.profile-dock-inline .profile-dock-toggle{width:30px;height:30px;box-shadow:none;background:#f0f8f3f2;border-color:#88a494}.profile-dock-inline .profile-dock-toggle:hover{border-color:#739885;transform:none}.profile-dock-inline .profile-dock-toggle-icon{width:18px;height:18px}.profile-dock-inline .profile-dock-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:180px;z-index:22}.ui-link{color:#244f3d;font-weight:700;text-decoration:none}.ui-link:hover{color:#193728;text-decoration:none}.ui-input{box-sizing:border-box;width:100%;border:1px solid var(--ui-control-border);background:color-mix(in oklab,var(--ui-control-bg) 95%,white 5%);color:var(--ui-control-text);padding:8px 10px;font-size:16px;line-height:1.25;outline:none}.ui-input:focus{outline:2px solid rgba(50,104,77,.35)}.landing-shell{position:relative;isolation:isolate;height:100vh;width:100%;overflow:hidden;background:var(--ui-app-bg)}.landing-health-banner{position:absolute;bottom:clamp(10px,3vh,20px);left:50%;z-index:6;display:inline-flex;align-items:center;gap:7px;transform:translate(-50%);border:1px solid rgba(114,156,132,.42);background:#07151085;color:#bce1ccd1;padding:6px 11px;font-size:11px;font-weight:600;letter-spacing:.02em;box-shadow:0 8px 16px #02080647;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.landing-health-banner-up{border-color:#63947873;color:#b8e0c8d6}.landing-health-banner-checking{border-color:#6c927e61;color:#b1d4c2b8}.landing-health-banner-down{border-color:#b25d5d8f;background:#1d090994;color:#ffd1d1e6}.landing-health-dot{width:8px;height:8px;flex-shrink:0;border-radius:999px;background:#6ec193;box-shadow:0 0 0 1px #8fc8a573,0 0 8px #6fbf916b}.landing-health-banner-checking .landing-health-dot{background:#7cb295cc;box-shadow:0 0 0 1px #7cb29561}.landing-health-banner-down .landing-health-dot{background:#db6a6a;box-shadow:0 0 0 1px #de86867a,0 0 8px #dc6a6a5c}.landing-health-text{text-transform:uppercase}.landing-health-version{padding-left:7px;margin-left:1px;border-left:1px solid rgba(146,184,164,.36);color:#aacfbbb3;font-size:10px;letter-spacing:.04em}.landing-health-banner-down .landing-health-version{border-left-color:#c7848466;color:#f5bfbfc7}.landing-health-refresh-button{border:1px solid rgba(255,214,214,.52);background:#bf535338;color:inherit;padding:1px 7px;font-size:10px;line-height:1.4;text-transform:uppercase;letter-spacing:.04em;font-weight:700;cursor:pointer}.landing-health-refresh-button:hover:not(:disabled){background:#ce5f5f4d}.landing-health-refresh-button:disabled{cursor:not-allowed;opacity:.7}.title-screen-shell{display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:clamp(72px,12vh,120px) 16px 24px}.title-screen-shell:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% 36%,#7ec6b31a,#13262129 52%,#050d0b57)}.title-screen-center{position:relative;z-index:2;width:min(960px,100%);max-height:100%;display:flex;min-height:0;flex-direction:column;align-items:center;gap:18px;transform:translateY(-10px)}.title-screen-logo-stack{display:flex;flex-direction:column;align-items:center}.title-screen-word{display:block;font-family:Techno Codex,Raglan Punch,sans-serif;font-size:clamp(58px,11vw,162px);line-height:.8;letter-spacing:.05em}.title-screen-word-bottom{margin-top:18px}.title-primary-menu{width:min(360px,100%);display:flex;flex-direction:column;margin-top:24px;gap:12px}.title-menu-button{width:100%;min-height:50px;font-family:Techno Codex,Raglan Punch,sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:18px}.title-menu-button-label{display:inline-block;transform:translateY(1px)}.title-session-note{margin:-4px 0 0;display:inline-flex;align-items:center;gap:6px;color:#c7ddd2;font-size:12px;letter-spacing:.02em}.title-session-note strong{font-weight:700;color:#e8f8f0}.title-session-note-icon{display:inline-flex;width:14px;height:14px;color:#d5eee2}.title-session-note-icon svg{width:100%;height:100%}@media(max-width:900px){.title-screen-shell{padding:68px 10px 14px}.title-screen-center{gap:14px}.landing-health-banner{bottom:8px;max-width:calc(100% - 16px)}}.landing-floating-window{background:linear-gradient(180deg,#d6e5d99e,#c0d2c59e);box-shadow:0 12px 28px #040c0957;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}@media(max-width:900px){.landing-floating-window{-webkit-backdrop-filter:none;backdrop-filter:none}}.landing-floating-window .floating-window-drag{height:30px;display:inline-flex;align-items:center;padding:0 10px;font-size:14px;font-weight:600;letter-spacing:.01em}.landing-floating-window .floating-window-header-icon{width:30px;min-width:30px;height:30px}.landing-floating-window .floating-window-body{margin-top:8px;display:flex;min-height:0;flex-direction:column;overflow:hidden}.news-feed-window-content{display:flex;flex-direction:column;min-height:0;padding:6px 0 0;font-family:Georgia,Cambria,Times New Roman,serif}.news-feed-post-list{display:flex;flex-direction:column;min-height:0;flex:1;gap:14px;overflow-y:auto;overflow-x:hidden;padding:8px 0 10px;box-sizing:border-box}.news-feed-post-card{display:flex;width:100%;cursor:pointer;flex-direction:column;gap:12px;border:1px solid var(--ui-surface-border);padding:14px 16px;box-sizing:border-box;transition:border-color .15s ease-out,background-color .15s ease-out,box-shadow .15s ease-out,transform .15s ease-out}.news-feed-post-card-active{border-color:#678777;background:linear-gradient(180deg,#f8fdfaf0,#eef8f1e6);box-shadow:0 8px 16px #05100c29}.news-feed-post-card-idle{border-color:var(--ui-surface-border);background:linear-gradient(180deg,#fffc,#f7fcf9b8)}.news-feed-post-card-idle:hover{border-color:#7e9f90;transform:translateY(-1px);box-shadow:0 6px 12px #05100c1f}.news-feed-post-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #b5cbbe;padding-bottom:8px;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#355247}.news-feed-post-version{display:inline-flex;align-items:center;border:1px solid #95b1a2;background:#edf6f0bf;padding:2px 8px}.news-feed-post-title{margin:0;font-size:29px;line-height:1.08;letter-spacing:-.01em;color:#193126}@media(max-width:900px){.news-feed-post-title{font-size:24px}}.news-feed-post-description{margin:0;font-size:16px;line-height:1.48;color:#365245}.news-feed-post-open-tag{display:inline-flex;align-items:center;gap:5px;border:1px solid #8ea99a;background:#ecf5efd1;padding:4px 10px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#375548}.news-feed-details-window-content{display:flex;height:100%;min-height:0;flex-direction:column;padding:8px 10px;font-family:Georgia,Cambria,Times New Roman,serif}.news-feed-details-scroll{min-height:0;flex:1;overflow-y:auto;padding:2px 8px 6px 4px;scrollbar-gutter:stable}.news-feed-markdown{color:#2f5142}.news-feed-markdown h1{margin:0 0 8px;font-size:34px;font-weight:700;line-height:1.05}.news-feed-markdown h2{margin:12px 0 8px;font-size:22px;font-weight:700;line-height:1.15;letter-spacing:.01em}.news-feed-markdown h3{margin:12px 0 8px;font-size:19px;font-weight:700;line-height:1.2}.news-feed-markdown p{margin:0 0 12px;font-size:17px;line-height:1.52}.news-feed-markdown ul{margin:0 0 12px;list-style:disc;padding-left:24px}.news-feed-markdown li{margin:0 0 6px;font-size:16px;line-height:1.5}.auth-shell{position:relative;isolation:isolate;height:100vh;width:100%;overflow:hidden;background:var(--ui-app-bg)}.auth-floating-window{min-width:0;border:1px solid rgba(168,196,181,.86);background:linear-gradient(180deg,#e5efe8f0,#d6e5dbed);box-shadow:0 20px 36px #030a0875;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.auth-floating-window .floating-window-header{gap:4px}.auth-floating-window .floating-window-drag{height:32px;font-family:Techno Codex,Raglan Punch,sans-serif;font-size:15px;letter-spacing:.04em;text-transform:uppercase}.auth-floating-window .floating-window-header-icon{width:30px;min-width:30px;height:30px}.auth-floating-window .floating-window-body{margin-top:4px;display:flex;min-height:0;flex-direction:column;overflow-y:auto;overflow-x:hidden;padding:0}.auth-floating-window .floating-window-header button{background:color-mix(in oklab,var(--ui-control-bg) 84%,white 16%);border-color:#6f8f7f}.auth-floating-window .floating-window-body::-webkit-scrollbar{width:10px}.auth-floating-window .floating-window-body::-webkit-scrollbar-track{background:#dee9e28c}.auth-floating-window .floating-window-body::-webkit-scrollbar-thumb{background:#869e92d9}.auth-floating-window .floating-window-body::-webkit-scrollbar-thumb:hover{background:#708b7ee6}.auth-panel{display:flex;flex-direction:column;gap:9px}.auth-popup-panel{min-height:0;padding:2px 2px 32px}.auth-popup-tabs{display:flex;gap:8px;background:#d7e5dc9e;border:1px solid #9ab5a6;padding:5px}.auth-popup-tab{flex:1;min-height:34px;font-size:13px;font-family:Techno Codex,Raglan Punch,sans-serif;letter-spacing:.03em;text-transform:uppercase;background:#f2f8f4e6;border-color:#95afa0;color:#2a4a3d}.auth-popup-tab-active{border-color:#3f6553;background:linear-gradient(180deg,#59846ef2,#476d5af2);color:#f2fff8;box-shadow:inset 0 0 0 1px #e4f5ed38}.auth-popup-tab-active:hover:not(:disabled){border-color:#365a49;background:linear-gradient(180deg,#507964f7,#3f6250f7)}.auth-title{margin:0;font-family:Techno Codex,Raglan Punch,sans-serif;font-size:clamp(28px,4.2vw,34px);line-height:1.04;letter-spacing:.04em;text-transform:uppercase;color:var(--ui-text-primary)}.auth-subtitle{margin:0;font-size:13px;line-height:1.35;color:var(--ui-text-muted)}.auth-login-inline-note{border:1px solid;padding:6px 8px}.auth-login-inline-note-error{border-color:#b86969;background:#802b2b21;color:#602626}.auth-login-inline-note-success{border-color:#679b7f;background:#3c7e5424;color:#1f5937}.auth-form{display:flex;flex-direction:column;gap:10px}.auth-google-button{min-height:42px;justify-content:center;font-size:15px;margin-top:2px;margin-bottom:18px;border-color:#7f9d8d;background:#eff7f3f5;color:#24483a}.auth-google-button:hover:not(:disabled){border-color:#5f7f70;background:#f5faf7fa}.auth-submit-button{justify-content:center;min-height:42px;margin-top:6px;border-color:#3f6553;background:linear-gradient(180deg,#59846ef5,#476d5af5);color:#f3fff9}.auth-floating-window-register .auth-submit-button{margin-bottom:8px}.auth-submit-button:hover:not(:disabled){border-color:#2f5041;background:linear-gradient(180deg,#639179fa,#4f7964fa)}.auth-floating-window .ui-input{border-color:#8ca89a;background:#f7fcf9fa}.auth-floating-window .ui-input:focus{outline-color:#3f65535c}.auth-login-social-divider{margin:2px 0;position:relative;text-align:center;text-transform:uppercase;letter-spacing:.06em;font-size:12px;color:#3a5b4d}.auth-login-social-divider:before,.auth-login-social-divider:after{content:"";position:absolute;top:50%;width:42%;border-top:1px solid #9ab5a6}.auth-login-social-divider:before{left:0}.auth-login-social-divider:after{right:0}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-label{font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--ui-text-primary)}.auth-google-icon{display:inline-flex;width:18px;height:18px;flex-shrink:0}.auth-google-icon svg{width:100%;height:100%;display:block}.auth-help-text{margin:0;font-size:14px;line-height:1.45;color:var(--ui-text-muted)}.auth-resend-panel{display:flex;flex-direction:column;gap:8px;border:1px solid #9bb4a6;background:#e8f1ebb8;padding:10px}.auth-resend-title{color:#274a3a}.auth-resend-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.auth-resend-input{flex:1;min-width:200px}.auth-resend-button{min-width:152px}.auth-alert{margin:0;border:1px solid;padding:6px 8px;font-size:14px;line-height:1.45}.auth-alert-info{border-color:#6f9bb7;background:#436c9024;color:#20435d}.auth-alert-error{border-color:#b86969;background:#802b2b21;color:#602626}.auth-alert-warning{border-color:#b88966;background:#985b2c21;color:#61351b}.auth-alert-list{margin:0;padding:8px 10px 8px 26px}.auth-alert-list li{margin:0 0 4px}.auth-alert-list li:last-child{margin-bottom:0}.auth-alert-success{border-color:#679b7f;background:#3c7e5424;color:#1f5937}.auth-center-shell{display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}.auth-message-panel{position:relative;z-index:1;display:flex;width:100%;max-width:680px;flex-direction:column;gap:12px;border:1px solid var(--ui-sidebar-border);background:linear-gradient(180deg,#d6e5d9e6,#c0d2c5e6);padding:20px;box-shadow:0 14px 28px rgba(var(--ui-floating-shadow-rgb),.36)}.auth-message-panel .auth-title{font-size:34px}.auth-message-panel .auth-subtitle{font-size:18px;line-height:1.5}.lobby-shell{position:relative;isolation:isolate;display:flex;height:100vh;width:100%;align-items:center;justify-content:center;background:var(--ui-app-bg);padding:16px;box-sizing:border-box}.lobby-panel{position:relative;z-index:1;display:flex;width:min(1080px,95vw);flex-direction:column;gap:14px;border:1px solid rgba(168,196,181,.8);background:linear-gradient(180deg,#e5efe8e8,#d6e5dbe6);padding:18px;box-sizing:border-box;box-shadow:0 18px 36px #030a086b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.lobby-browser-panel{min-height:min(720px,calc(100vh - 32px))}.lobby-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.lobby-header-copy{display:flex;flex-direction:column;gap:4px}.lobby-header-actions{display:flex;align-items:center;gap:8px}.lobby-back-button{min-width:40px;min-height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center}.lobby-back-button-icon{width:18px;height:18px;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;fill:none}.lobby-title{margin:0;font-family:Techno Codex,Raglan Punch,sans-serif;font-size:clamp(32px,4.2vw,42px);line-height:1.1;letter-spacing:.04em;text-transform:uppercase;color:#123427}.lobby-subtitle{margin:0;font-size:14px;color:#2a4e40}.lobby-browser-layout{display:flex;flex:1;min-height:0;gap:14px}.lobby-notice-banner{display:flex;align-items:center;justify-content:space-between;gap:10px}.lobby-notice-dismiss{border:1px solid #7e9f90;background:#e8f2ea;color:var(--ui-text-primary);font-size:12px;line-height:1.2;padding:3px 8px;cursor:pointer}.lobby-server-list-panel{display:flex;flex:1;flex-direction:column;min-width:0;gap:10px;border:1px solid #a6bfaf;background:#f6fbf88f;padding:10px;box-sizing:border-box}.lobby-server-list-head{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #b6ccbf;padding-bottom:8px;font-family:Techno Codex,Raglan Punch,sans-serif;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#315043}.lobby-server-list-head .ui-button{min-height:30px;padding:4px 10px;font-size:12px}.lobby-server-list{display:flex;flex:1;min-height:0;flex-direction:column;gap:8px;overflow-y:auto;overflow-x:hidden}.lobby-empty-state{margin:0;color:#3d6252;font-size:13px;line-height:1.45}.lobby-server-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;border:1px solid #afc5b8;background:#ffffffc2;padding:10px 11px;text-align:left;color:#173429;transition:border-color .15s ease-out,background-color .15s ease-out,box-shadow .15s ease-out}.lobby-server-row:hover{border-color:#7fa08f;background:#f8fdfae6}.lobby-server-row-selected{border-color:#3f6653;background:linear-gradient(180deg,#e3f0e8f0,#d4e5dbe6);box-shadow:inset 0 0 0 1px #5e857133}.lobby-server-row-main{display:flex;min-width:0;flex-direction:column;gap:1px}.lobby-server-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700}.lobby-server-row-meta{font-size:12px;color:#41685a;display:inline-flex;align-items:center;gap:8px}.lobby-server-ping{border:1px solid #9ab5a6;background:#e9f3eddb;color:#2b4b3d;font-size:10px;letter-spacing:.03em;text-transform:uppercase;padding:1px 6px}.lobby-server-row-count{font-family:Techno Codex,Raglan Punch,sans-serif;font-size:12px;letter-spacing:.03em;color:#2c5042}.lobby-status-dot{width:9px;height:9px;border-radius:999px;box-shadow:0 0 0 1px #6a907b66}.lobby-status-dot-online{background:#53aa78}.lobby-status-dot-full{background:#e5b85d}.lobby-status-dot-offline{background:#cb6f6f}.lobby-server-details{display:flex;width:min(380px,38vw);min-width:280px;flex-direction:column;gap:11px;border:1px solid #a5beaf;background:#f8fcfaa1;padding:12px;box-sizing:border-box}.lobby-server-badge-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.lobby-status-pill{display:inline-flex;align-items:center;border:1px solid;padding:3px 8px;font-family:Techno Codex,Raglan Punch,sans-serif;font-size:12px;letter-spacing:.04em;text-transform:uppercase}.lobby-status-pill-online{border-color:#5d8f74;background:#d8ecdfc7;color:#1f5b3a}.lobby-status-pill-full{border-color:#8f7a4f;background:#f1e7cbd1;color:#6e5626}.lobby-status-pill-offline{border-color:#9f6666;background:#f3d9d9d6;color:#6f2c2c}.lobby-server-region{color:#3a5f50;font-size:12px;letter-spacing:.03em;text-transform:uppercase}.lobby-server-title{margin:0;font-family:Techno Codex,Raglan Punch,sans-serif;font-size:26px;line-height:1.06;letter-spacing:.03em;text-transform:uppercase;color:#19382c}.lobby-server-description{margin:0;color:#355848;font-size:14px;line-height:1.45}.lobby-population-row{display:flex;flex-direction:column;gap:6px}.lobby-population-label{color:#2e5042;font-size:12px}.lobby-population-bar{height:9px;border:1px solid var(--ui-surface-border);background:#e1ece5d9}.lobby-population-fill{display:block;height:100%;background:linear-gradient(90deg,#4c7a63f2,#6ea288f2)}.lobby-player-roster{display:flex;min-height:0;flex:1;flex-direction:column;gap:7px}.lobby-player-roster h3{margin:0;font-size:14px;letter-spacing:.03em;text-transform:uppercase;color:#204335}.lobby-player-list{margin:0;padding:0;list-style:none;display:flex;min-height:0;flex:1;flex-direction:column;gap:6px;overflow-y:auto}.lobby-player-item{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #aec3b6;background:#f3faf6cc;padding:6px 8px;box-sizing:border-box}.lobby-player-item-online{border-color:#84ac98}.lobby-player-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#183a2d;font-size:13px;font-weight:600}.lobby-player-tag{flex-shrink:0;font-size:11px;color:#3b5f50;text-transform:uppercase;letter-spacing:.04em}.lobby-empty-roster{margin:0;font-size:13px;color:#47695a}.lobby-selection-empty{margin:0;color:#406556;font-size:14px}.lobby-action-stack{display:flex;flex-direction:column;gap:8px}.lobby-action-stack .ui-button{min-height:42px;font-family:Techno Codex,Raglan Punch,sans-serif;text-transform:uppercase;letter-spacing:.05em}.lobby-action-stack .lobby-join-button{border-color:#2f5041;background:linear-gradient(180deg,#639179fa,#4f7964fa);color:#f3fff9}.lobby-action-stack .lobby-join-button:hover:not(:disabled){border-color:#1f3a2e;background:linear-gradient(180deg,#527d67fc,#406552fc)}.lobby-action-stack .ui-button:disabled{opacity:.58}.profile-panel{width:min(1040px,95vw);min-height:min(700px,calc(100vh - 32px))}.profile-loading{padding:4px 2px 0}.profile-layout{display:flex;flex:1;min-height:0;gap:14px}.profile-card{display:flex;flex:1;min-width:0;flex-direction:column;gap:10px;border:1px solid #a6bfaf;background:#f8fcfaa1;padding:12px;box-sizing:border-box}.profile-account-card{flex:1.25}.profile-google-card{flex:1}.profile-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.profile-card-title{margin:0;display:inline-flex;align-items:center;gap:8px;font-family:Techno Codex,Raglan Punch,sans-serif;font-size:24px;line-height:1.08;letter-spacing:.03em;text-transform:uppercase;color:#19382c;line-height:1}.profile-card-title-label{display:inline-block;transform:translateY(2px)}.profile-google-header-icon{width:18px;height:18px;transform:translateY(1px)}.profile-status-pill{display:inline-flex;align-items:center;border:1px solid #86a998;background:#dfece4d1;color:#28513e;padding:3px 8px;font-family:Techno Codex,Raglan Punch,sans-serif;font-size:11px;letter-spacing:.05em;text-transform:uppercase;transform:translateY(1px)}.profile-status-pill-online{border-color:#5d8f74;background:#d8ecdfc7;color:#1f5b3a}.profile-card-subtitle{margin:0;color:#355848;font-size:13px;line-height:1.4}.profile-form{margin-top:4px}.profile-form .ui-input{background:#f7fcf9fa}.profile-actions-row{display:flex;margin-top:4px}.profile-google-actions{display:flex;flex-direction:column;gap:8px;margin-top:2px}.profile-primary-button{min-height:42px;justify-content:center;border-color:#3f6553;background:linear-gradient(180deg,#59846ef5,#476d5af5);color:#f3fff9}.profile-primary-button:hover:not(:disabled){border-color:#2f5041;background:linear-gradient(180deg,#639179fa,#4f7964fa)}.profile-secondary-button{min-height:40px;justify-content:center}.profile-alert{margin-top:2px}@media(max-width:900px){.lobby-panel{width:min(94vw,920px);min-height:0;max-height:calc(100vh - 24px);overflow:hidden}.lobby-browser-layout{flex-direction:column}.lobby-server-details{width:100%;min-width:0;min-height:220px}.profile-panel{min-height:0}.profile-layout{flex-direction:column}.lobby-header{flex-direction:column;align-items:stretch}.lobby-header-actions{justify-content:flex-end}}.floating-window-minimized .floating-window-minimized-content{margin-top:3px}.floating-window-interacting{box-shadow:0 14px 28px #030c096b}.floating-window-resize{position:absolute;right:6px;bottom:4px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ui-control-border);background:var(--ui-control-bg);color:#26483b;font-size:12px;cursor:nwse-resize;padding:0;line-height:1;touch-action:none}.floating-window-resize:hover{border-color:#739885;background:color-mix(in oklab,var(--ui-control-bg) 88%,white 12%)}.inventory-floating-window{min-width:0}.inventory-floating-window.floating-window-minimized{width:min(360px,calc(100% - 16px))!important}.inventory-floating-window.floating-window-minimized .floating-window-header{width:100%}.inventory-floating-window.floating-window-minimized .floating-window-drag{flex:1 1 auto;max-width:none}.inventory-floating-window.floating-window-minimized .floating-window-minimized-content{margin-top:5px;max-height:112px;overflow:auto;padding-right:2px}.recipes-floating-window{min-width:0}.recipes-floating-window .floating-window-body{display:flex;flex-direction:column;overflow:hidden}.window-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.window-section-title{margin:0;font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#193427}.window-section-meta{font-size:10px;letter-spacing:.03em;text-transform:uppercase;color:#3d5f51}.machine-floating-window{min-width:0}.machine-floating-window .floating-window-body{display:flex;flex-direction:column;gap:6px}.machine-minimized-summary{white-space:nowrap}.machine-window-header-row{display:flex;justify-content:space-between;gap:8px;font-size:11px;font-weight:600;color:var(--ui-text-primary)}.machine-window-meta{font-size:11px;color:var(--ui-text-muted)}.machine-window-recipe{display:flex;flex-direction:column;gap:4px;font-size:11px}.machine-window-recipe select{width:100%}.machine-window-section-head{margin-bottom:2px}.machine-window-buffer-head{margin-top:4px}.machine-window-buffer-list{display:flex;flex-direction:column;gap:4px}.machine-window-buffer-row{display:flex;justify-content:space-between;gap:8px;font-size:11px;border:1px solid var(--ui-surface-border);background:color-mix(in oklab,var(--ui-control-bg) 96%,white 4%);padding:4px 6px}.machine-window-buffer-empty{font-size:11px;color:var(--ui-text-muted)}.build-menu{display:flex;flex-direction:column;gap:7px;box-sizing:border-box;width:100%}.build-selection-cost{border:1px solid var(--ui-surface-border);background:color-mix(in oklab,var(--ui-control-bg) 96%,white 4%);padding:8px;display:flex;flex-direction:column;gap:4px}.build-selection-title{font-size:14px;font-weight:700;font-family:Techno Codex,Raglan Punch,sans-serif;letter-spacing:.03em;color:var(--ui-text-primary)}.build-selection-afford{font-size:11px;text-transform:uppercase;letter-spacing:.03em}.afford-yes{color:#206a3c}.afford-no{color:#8d2f2f}.build-selection-cost-text{font-size:12px;color:var(--ui-text-muted)}.build-selection-hint{font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:#3c5f50}.build-selection-details{margin:0;padding-left:15px;display:flex;flex-direction:column;gap:2px;font-size:10px;color:#345346}.build-categories{display:flex;flex-direction:column;gap:7px;background:#ffffffad;padding:8px;border:1px solid #b0c4b4}.build-category-group{display:flex;flex-direction:column;gap:6px}.build-items-panel{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:7px;justify-items:stretch;background:#ffffffad;padding:8px;border:1px solid #b0c4b4}.build-menu button{border:1px solid #8aa393;padding:6px 8px;background:#eff6ef;color:#112119;transition:border-color .12s ease-out,background-color .12s ease-out,transform .12s ease-out}.build-menu button:hover:not(:disabled){border-color:#6f9481;background:#e6f2ea}.build-item-button{color:#111;width:100%;min-height:102px;border-width:2px;display:flex;align-items:center;justify-content:flex-start;flex-direction:column;gap:5px;text-align:center;transition:transform .12s ease,filter .2s ease;padding-top:8px;padding-bottom:7px}.build-item-button:hover:not(:disabled){transform:translateY(-1px)}.build-item-button:disabled{opacity:.35;filter:grayscale(.4);cursor:not-allowed}.build-item-unavailable:disabled{opacity:.48;filter:none;border-color:#b34d4d!important;box-shadow:inset 0 0 0 999px #ad353529;color:#5c1f1f}.build-item-expensive:not(:disabled){border-color:#b34d4d!important;box-shadow:inset 0 0 0 999px #ad353529,inset 0 0 0 2px #7d232361;color:#4a1515}.build-item-expensive:not(:disabled) .build-item-lock{color:#702020}.build-item-label{display:block;font-size:11px;line-height:1.1;padding:0 5px;font-weight:700}.build-item-lock{font-size:10px;text-transform:uppercase;letter-spacing:.03em}.build-item-visual{width:46px;height:46px;border:1px solid rgba(20,38,29,.28);background:#f6fbf7d1;display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px #fff6}.build-item-sprite{width:40px;height:40px;image-rendering:pixelated;image-rendering:crisp-edges}.build-item-token{font-size:13px;font-weight:700;color:#1a3528;font-family:Techno Codex,Raglan Punch,sans-serif;letter-spacing:.04em}.build-category-button{display:flex;align-items:center;justify-content:space-between;padding:9px 11px;font-weight:600;font-size:12px;border-width:2px}.build-category-collapse-token{font-family:Techno Codex,Raglan Punch,sans-serif;font-size:12px;line-height:1}.build-active{outline:2px solid #11231a;outline-offset:-2px}.valley-list{display:flex;flex-direction:column;gap:8px}.valley-card{border:1px solid #a2b6a9;background:#ecf4ee;padding:8px;display:flex;flex-direction:column;gap:4px}.valley-open{border-color:#6f9c86;background:#e3f2e8}.valley-title{font-size:12px;font-weight:700;color:#1f3a2d}.valley-sub{font-size:11px;color:#365143}.valley-ores{display:flex;flex-wrap:wrap;gap:4px}.valley-chip{border:1px solid #a9beb1;background:#f5faf6;padding:2px 6px;font-size:10px}.valley-status{font-size:11px;color:#435e50}.valley-complete{color:#1f6c41}.resource-list,.material-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:6px}.inventory-panel{display:flex;flex-direction:column;gap:8px}.inventory-section{display:flex;flex-direction:column;gap:6px}.resource-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;border:1px solid #999;padding:5px 6px;min-height:34px;font-size:11px}.resource-row-main{display:flex;justify-content:space-between;align-items:center;gap:8px}.resource-row-label{min-width:0;color:#13291f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resource-row-count{flex-shrink:0;color:#224335;font-size:10px;letter-spacing:.01em}.pin-toggle{width:24px;height:24px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid #9ab2a1;background:#eff6f0;color:#1f352b;cursor:pointer}.pin-toggle:hover{background:#e6f1e9;border-color:#86a293}.pin-toggle-icon{display:inline-flex;width:14px;height:14px;background:currentColor;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-position:center;mask-repeat:no-repeat;mask-size:contain}.pin-toggle-icon-off{-webkit-mask-image:url(/icons/keep_off_24dp_E3E3E3_FILL0_wght400_GRAD0_opsz24.svg);mask-image:url(/icons/keep_off_24dp_E3E3E3_FILL0_wght400_GRAD0_opsz24.svg)}.pin-toggle-icon-on{-webkit-mask-image:url(/icons/keep_24dp_E3E3E3_FILL0_wght400_GRAD0_opsz24.svg);mask-image:url(/icons/keep_24dp_E3E3E3_FILL0_wght400_GRAD0_opsz24.svg)}.pin-toggle-active{background:#dceee2;border-color:#5c9275;color:#204934}.inventory-minimized-pins{display:grid;grid-template-columns:repeat(auto-fill,minmax(94px,1fr));gap:4px;width:100%}.inventory-minimized-shell{display:flex;flex-direction:column;gap:5px;min-width:min(280px,calc(100vw - 48px));max-width:100%}.inventory-minimized-head{font-size:11px;line-height:1.2;letter-spacing:.04em;text-transform:uppercase;color:#335546}.inventory-pin-chip{display:flex;align-items:center;justify-content:space-between;gap:6px;border:1px solid var(--ui-chip-border);background:var(--ui-chip-bg);color:var(--ui-text-primary);padding:2px 5px;min-height:20px;box-sizing:border-box}.inventory-pin-name{min-width:0;font-size:11px;color:#163326;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inventory-pin-value{flex-shrink:0;font-size:11px;font-family:inherit;font-variant-numeric:tabular-nums}.inventory-minimized-empty{color:var(--ui-text-muted);font-size:11px}.inventory-storage-status{border:1px solid #9fb5a3;background:#eef5ef;color:#264430;padding:7px 8px;font-size:13px;line-height:1.35;font-weight:600;letter-spacing:.01em;font-family:inherit;font-variant-numeric:tabular-nums}.inventory-panel .window-section-meta{font-size:11px}.inventory-panel .resource-row{font-size:12px}.inventory-panel .resource-row-count{font-size:11px}.craft-section,.research-section{gap:6px}.craft-list,.research-list{display:flex;flex-direction:column;gap:5px}.craft-button,.research-button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:1px solid #97ad9d;background:#f3f9f4;color:#182a20;padding:6px 7px;text-align:left;font-size:11px;transition:transform .12s ease,box-shadow .2s ease}.craft-button:hover:not(:disabled),.research-button:hover:not(:disabled){transform:translateY(-1px)}.craft-button:disabled,.research-button:disabled{opacity:.5;cursor:not-allowed}.craft-ready{box-shadow:0 0 0 2px #498e5f40}.craft-working{border-color:#6e8a7a;box-shadow:inset 0 0 0 999px #73958214}.craft-progress{width:100%;height:6px;border:1px solid #8ca499;background:#ffffff8c}.craft-progress-fill{height:100%;background:linear-gradient(90deg,#4d8f67,#75bc8c)}.craft-cost{font-size:10px;color:#355044}.craft-title-row,.research-title-row{width:100%;display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:12px;font-weight:700}.craft-output{flex-shrink:0;color:#245340;font-size:10px;font-weight:700}.craft-meta,.research-description{font-size:10px;color:#3e5a4c}.research-state{flex-shrink:0;font-size:9px;letter-spacing:.03em;text-transform:uppercase;color:#3b5c4d}.research-done{background:#e1efe4;border-color:#6ea27c}.controls-hint{margin-top:0;border:1px solid #c1d0c5;background:#f4f8f4;color:#3b5548;padding:7px;font-size:10px}.recipe-controls{display:flex;flex-direction:column;gap:8px}.recipe-controls-head{margin-bottom:2px}.recipe-search{border:1px solid #98ad9f;background:#f5faf6;color:#1f372d;padding:6px 8px;font-size:12px}.recipe-filter-row{display:flex;gap:8px}.recipe-filter{flex:1;display:flex;flex-direction:column;gap:4px;font-size:11px;color:#355548}.recipe-filter select{border:1px solid #98ad9f;background:#f5faf6;color:#1f372d;padding:5px 6px;font-size:12px}.recipe-toggle-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11px;color:#2f4f41}.recipe-toggle-row button{border:1px solid #8ca996;background:#f3f8f4;color:#1c2b26;padding:5px 8px;font-size:11px}.recipe-summary{margin-top:8px;margin-bottom:8px;font-size:11px;color:#365347}.recipe-graph-head{margin-bottom:6px}.recipe-graph-scroll{position:relative;border:1px solid #b1c5b7;background:#f3f8f4;padding:8px;overflow:hidden;min-height:0;flex:1}.recipe-graph-transform{position:absolute;inset:0 auto auto 0}.recipe-graph-editor{position:relative;min-width:100%;min-height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none}.recipe-graph-links{position:absolute;inset:0;pointer-events:none;z-index:1}.recipe-edge-path{fill:none;stroke-width:2.4;stroke-linecap:square;stroke-linejoin:miter}.recipe-root-node{position:absolute;width:150px;min-height:32px;border:1px solid #9eb5a5;background:#edf4ef;color:#193227;padding:6px 8px;font-size:11px;display:flex;align-items:center;z-index:2}.recipe-root-label{font-weight:700;letter-spacing:.01em}.recipe-node{position:absolute;width:220px;height:120px;border:1px solid #a8bcae;background:#fff;color:#1a3227;padding:8px;display:flex;flex-direction:column;gap:5px;cursor:grab;z-index:3}.recipe-node:active{cursor:grabbing}.recipe-node-available{border-color:#6f9f86;box-shadow:0 0 0 1px #579b7633}.recipe-node-head{display:flex;justify-content:space-between;gap:8px;font-size:12px;font-weight:700}.recipe-node-meta{font-size:10px;color:#405d4e}.recipe-node-focus-button{align-self:flex-start;border:1px solid #8ca996;background:#f3f8f4;color:#1c2b26;font-size:10px;padding:2px 6px}.recipe-node-focus-active{border-color:#5f8d75;background:#e1efe6;color:#214334}.recipe-node-status-row{display:flex;gap:6px;flex-wrap:wrap}.recipe-status-chip{border:1px solid #b9cabe;background:#eef5f0;color:#355648;font-size:10px;padding:1px 5px}.recipe-status-good{border-color:#7baa90;background:#e2efe7;color:#214334}.recipe-node-ingredients{display:flex;flex-wrap:wrap;gap:4px;margin-top:auto}.recipe-input-chip{border:1px solid #adc0b2;background:#edf4ee;color:#1d372b;font-size:10px;padding:2px 5px;white-space:nowrap}.recipe-empty-state{border:1px dashed #9eb5a6;background:#eef5ef;color:#3e5a4c;font-size:12px;padding:10px}.recipe-minimized-summary{color:var(--ui-text-muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.timing-floating-window{min-width:0}.timing-floating-window .floating-window-body{display:flex;flex-direction:column;overflow:hidden}.timing-panel{display:flex;flex-direction:column;gap:8px;height:100%}.timing-summary{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;color:#2f4f41}.timing-summary span{border:1px solid #acc0b2;background:#edf4ef;padding:3px 6px}.timing-graph-wrap{border:1px solid #b2c5b8;background:linear-gradient(180deg,#eff7f2f5,#e8f1ecf0);padding:7px;position:relative;overflow:hidden}.timing-uplot{width:100%!important;min-height:190px;border:1px solid #9db9a8;background:#f7fcf9e0;box-shadow:inset 0 0 0 1px #ffffff73}.timing-uplot .u-axis{color:#476357;font-family:Techno Codex,Raglan Punch,sans-serif;letter-spacing:.02em}.timing-uplot .u-cursor-x,.timing-uplot .u-cursor-y{border-color:#345646a3!important;border-style:solid!important;opacity:.85}.timing-uplot .u-over{touch-action:none}.timing-legend{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.timing-legend-chip{font-size:11px;border:1px solid #a8beaf;background:#f1f8f4f5;padding:3px 8px;display:inline-flex;align-items:center;gap:6px;box-shadow:inset 0 0 0 1px #ffffff73}.timing-legend-swatch{width:8px;height:8px;border-radius:999px;flex-shrink:0}.timing-legend-value{color:#2e5142;font-weight:700}.timing-legend-empty{font-size:11px;color:#496558}.timing-hover-card{position:absolute;top:11px;transform:translate(-50%);z-index:1;pointer-events:none;border:1px solid #95af9f;background:#eef7f1fa;box-shadow:0 4px 12px #08120d2b;padding:6px 8px;min-width:150px}.timing-hover-time{font-size:11px;color:#1f4031;margin-bottom:4px;font-weight:700;font-family:Techno Codex,Raglan Punch,sans-serif;letter-spacing:.02em}.timing-hover-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;line-height:1.25}.timing-hover-key{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timing-hover-value{color:#27483a;font-weight:700}.timing-legend-belt{border-color:#3a6e56;color:#2f5f49}.timing-legend-utilization{border-color:#7f5a2a;color:#6c4d25}.timing-machine-list{flex:1;overflow:auto;display:flex;flex-direction:column;gap:6px}.timing-machines-head{margin-top:2px}.timing-machine-card{border:1px solid #afc3b5;background:#ffffffb8;padding:6px 8px;display:flex;flex-direction:column;gap:4px}.timing-machine-head{display:flex;gap:8px;flex-wrap:wrap;font-size:11px;color:#1f3a2d;font-weight:700}.timing-machine-meta{font-size:11px;color:#3b5a4c}.timing-input-list{display:flex;flex-direction:column;gap:4px;margin-top:2px}.timing-input-row{display:grid;grid-template-columns:minmax(70px,1fr) minmax(75px,auto) minmax(130px,auto);gap:6px;align-items:center;font-size:10px;border:1px solid #b4c6ba;padding:2px 6px}.timing-input-ok{background:#e8f2eb;color:#1f4a34}.timing-input-needs{background:#f6ede3;color:#634820;border-color:#ccb18b}.timing-empty{border:1px dashed #9eb5a6;background:#eef5ef;color:#3e5a4c;font-size:12px;padding:10px}.settings-floating-window{min-width:0}.settings-floating-window .floating-window-body{overflow:auto}.settings-window-content{display:flex;flex-direction:column;gap:10px;font-size:12px;color:#244438}.settings-window-title{font-size:12px;font-weight:700;letter-spacing:.02em;color:#1d3a2e;text-transform:uppercase}.settings-toggle-row{display:flex;align-items:center;gap:8px;border:1px solid #9fb3a7;background:#f1f8f4cc;padding:8px}.settings-toggle-row input{width:14px;height:14px;margin:0;accent-color:#4d7d67}.settings-toggle-copy{display:flex;flex-direction:column;gap:2px}.settings-toggle-title{font-size:12px;font-weight:700;color:#1b3a2d}.settings-toggle-description{font-size:11px;line-height:1.35;color:#406356}.settings-window-note{margin:0;color:#3d5f51;line-height:1.4;border:1px solid #afc2b6;background:#e6efe9b3;padding:7px 8px}.settings-slider-row{display:flex;flex-direction:column;gap:6px;border:1px solid #9fb3a7;background:#f1f8f4cc;padding:8px}.settings-slider-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.settings-slider-row input[type=range]{width:100%}.settings-slider-value{font-size:11px;font-weight:700;color:#2f4c40}.settings-reset-button{width:100%;min-height:30px;border:1px solid #8ea99a;background:color-mix(in oklab,var(--ui-control-bg) 95%,white 5%);color:#173428;font-size:12px;line-height:1.1}.debug-floating-window .floating-window-body{display:flex;flex-direction:column;gap:8px;overflow:auto;min-height:0}.debug-console{display:flex;flex-direction:column;flex:1 1 180px;min-height:0;gap:8px}.debug-section-head{margin-top:2px}.debug-performance-panel{border:1px solid #a9beaf;background:#ffffffb8;padding:6px 8px;margin-bottom:0;flex:0 0 auto}.debug-performance-title{font-size:11px;font-weight:700;color:#1f3a2e;margin-bottom:6px}.debug-performance-grid{display:grid;grid-template-columns:auto auto;gap:3px 8px;font-size:11px;color:#274438}.debug-performance-grid span:nth-child(2n){text-align:right;color:#1e332a}.debug-quick-actions{display:flex;flex-direction:column;gap:6px;margin-bottom:0;flex:0 0 auto}.debug-quick-category{border:1px solid #a9beaf;background:#ffffffb8;padding:4px 6px}.debug-quick-summary{width:100%;border:1px solid #99b0a2;background:#eff6f1;color:#1f3a2e;padding:4px 6px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:11px;font-weight:700}.debug-quick-buttons{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.debug-quick-buttons button{border:1px solid #8ca996;background:#f3f8f4;color:#1c2b26;padding:4px 7px;font-size:10px}.debug-seed-form{display:flex;gap:6px;margin-top:6px}.debug-give-form{display:grid;grid-template-columns:minmax(120px,1fr) minmax(130px,1fr) 72px auto;gap:6px;margin-top:6px}.debug-seed-form input{flex:1;border:1px solid #8ca996;background:#f3f8f4;color:#1c2b26;padding:4px 6px;font-size:11px}.debug-seed-form button{border:1px solid #8ca996;background:#f3f8f4;color:#1c2b26;padding:4px 7px;font-size:10px}.debug-give-form input,.debug-give-form select{border:1px solid #8ca996;background:#f3f8f4;color:#1c2b26;padding:4px 6px;font-size:11px}.debug-give-form button{border:1px solid #8ca996;background:#f3f8f4;color:#1c2b26;padding:4px 7px;font-size:10px}.debug-console-input-row{display:flex;gap:6px}.debug-console-input-row input{flex:1;border:1px solid #8ca996;background:#f3f8f4;color:#1c2b26;padding:6px 8px;font-size:12px}.debug-console-input-row button{border:1px solid #8ca996;background:#f3f8f4;color:#1c2b26;padding:6px 8px;font-size:11px}.debug-console-log{flex:1;min-height:0;border:1px solid #afc6b4;background:#ffffffb8;overflow:auto;padding:6px 8px}.debug-console-line{font-size:11px;margin-bottom:4px;word-break:break-word}.debug-console-line-info{color:#3a594b}.debug-console-line-success{color:#24503a}.debug-console-line-error{color:#8a2f2f}@media(max-width:1100px){.sidebar{width:340px}}@keyframes pulse-green{0%{box-shadow:0 0 #2a7b4740}to{box-shadow:0 0 0 8px #2a7b4700}}.canvas-wrap{--game-window-border: #9ab6a7;--game-window-inner: rgba(235, 246, 239, .82);--game-window-surface: rgba(248, 252, 250, .76);--game-window-text: #173529;--game-window-muted: #3a5b4d;--game-window-accent-border: #3f6653;--game-window-accent-bg-a: rgba(99, 145, 121, .98);--game-window-accent-bg-b: rgba(79, 121, 100, .98);--game-window-accent-text: #f3fff9}.canvas-wrap .floating-window{border:1px solid var(--game-window-border);box-shadow:0 18px 36px #030a0870;background:linear-gradient(180deg,#e5efe8ed,#d6e5dbe8);padding:10px}.canvas-wrap .floating-window:before{content:"";position:absolute;inset:4px;border:1px solid rgba(168,193,180,.44);pointer-events:none}.canvas-wrap .floating-window-header{gap:5px}.canvas-wrap .floating-window-drag{height:30px;font-family:Techno Codex,Raglan Punch,sans-serif;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--game-window-text)}.canvas-wrap .floating-window-header-icon{width:30px;min-width:30px;height:30px}.canvas-wrap .floating-window-header button{border-color:#88a494;background:#f0f8f3f2;color:#1e3b2f}.canvas-wrap .floating-window-header-icon:hover:not(:disabled){border-color:#739885;background:#e2eee7f7}.canvas-wrap .floating-window-body{margin-top:8px;height:calc(100% - 40px);padding-right:4px}.canvas-wrap .floating-window-body::-webkit-scrollbar{width:10px;height:10px}.canvas-wrap .floating-window-body::-webkit-scrollbar-track{background:#dce9e1a8}.canvas-wrap .floating-window-body::-webkit-scrollbar-thumb{background:#779183db}.canvas-wrap .floating-window-body::-webkit-scrollbar-thumb:hover{background:#617c6fe6}.canvas-wrap .floating-window-resize{right:8px;bottom:6px;width:24px;height:24px;border:1px solid #88a494;background:#f0f8f3f2;color:#2d5143;font-size:13px}.canvas-wrap .floating-window-resize:hover{border-color:#739885;background:#e2eee7f7}.canvas-wrap .floating-window-interacting{box-shadow:0 22px 42px #030a0880}.canvas-wrap .floating-window-minimized .floating-window-minimized-content{color:var(--game-window-muted)}.canvas-wrap .floating-window input,.canvas-wrap .floating-window select,.canvas-wrap .floating-window textarea{border:1px solid #8ea99a;background:#f7fcf9fa;color:#1f372d}.canvas-wrap .floating-window input:focus,.canvas-wrap .floating-window select:focus,.canvas-wrap .floating-window textarea:focus{outline:none;box-shadow:0 0 0 2px #59846e33}.canvas-wrap .timing-summary span,.canvas-wrap .timing-legend-chip,.canvas-wrap .recipe-status-chip,.canvas-wrap .recipe-input-chip,.canvas-wrap .machine-window-buffer-row{border-color:#a9beaf;background:var(--game-window-inner);color:var(--game-window-text)}.canvas-wrap .resource-row,.canvas-wrap .inventory-storage-status,.canvas-wrap .recipe-root-node,.canvas-wrap .recipe-node,.canvas-wrap .timing-machine-card,.canvas-wrap .settings-toggle-row,.canvas-wrap .settings-window-note,.canvas-wrap .debug-performance-panel,.canvas-wrap .debug-quick-category,.canvas-wrap .debug-console-log{border-color:#a7c0b0;background:var(--game-window-surface)}.canvas-wrap .resource-row{border-width:1px;border-radius:2px}.canvas-wrap .pin-toggle,.canvas-wrap .recipe-toggle-row button,.canvas-wrap .recipe-node-focus-button,.canvas-wrap .debug-quick-buttons button,.canvas-wrap .debug-seed-form button,.canvas-wrap .debug-give-form button,.canvas-wrap .debug-console-input-row button{border:1px solid #8ca996;background:#eef6f1f5;color:#193126}.canvas-wrap .pin-toggle:hover{border-color:#739885;background:#e2eee7f7}.canvas-wrap .pin-toggle-active,.canvas-wrap .recipe-node-focus-active{border-color:#5f8d75;background:#dfefe6f0;color:#214334}.canvas-wrap .recipe-controls{gap:9px}.canvas-wrap .recipe-filter-row{gap:10px}.canvas-wrap .recipe-toggle-row{border:1px solid #afc2b6;background:#ecf5efc2;padding:7px 8px}.canvas-wrap .recipe-summary{margin-top:6px;margin-bottom:8px;color:var(--game-window-muted)}.canvas-wrap .recipe-graph-scroll{border-color:#a8beaf;background:#f3f8f4e6}.canvas-wrap .recipe-node{border-color:#a6bcae;background:#fffc}.canvas-wrap .recipe-node-available{border-color:#64947c;box-shadow:0 0 0 1px #579b7633}.canvas-wrap .timing-graph-wrap{border-color:#a9beaf;background:linear-gradient(180deg,#f0f8f3f0,#e8f1ece6)}.canvas-wrap .timing-uplot{border-color:#9db8a8;background:#f8fdfae6}.canvas-wrap .settings-window-title{font-family:Techno Codex,Raglan Punch,sans-serif;letter-spacing:.04em}.canvas-wrap .window-section-head{padding:0 1px}.canvas-wrap .window-section-title{font-family:Techno Codex,Raglan Punch,sans-serif;letter-spacing:.04em;font-size:11px;color:#1b3a2d}.canvas-wrap .window-section-meta{color:#3d6052}.canvas-wrap .settings-toggle-row{padding:9px;align-items:flex-start;gap:10px}.canvas-wrap .settings-toggle-row input{margin-top:2px}.canvas-wrap .debug-performance-title,.canvas-wrap .debug-quick-summary{font-family:Techno Codex,Raglan Punch,sans-serif;letter-spacing:.03em}.canvas-wrap .chat-floating-window{border-radius:0;background:linear-gradient(180deg,#e5efe8ed,#d6e5dbe8)}.canvas-wrap .chat-window-container{display:flex;flex-direction:column;height:100%;padding:0;gap:5px}.canvas-wrap .chat-messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;border:1px solid #a7c0b0;background:var(--game-window-surface);padding:6px 7px;margin:0;gap:2px}.canvas-wrap .chat-empty-state{color:#406353;font-size:14px;line-height:1.35;padding:5px 3px}.canvas-wrap .chat-messages::-webkit-scrollbar{width:8px}.canvas-wrap .chat-messages::-webkit-scrollbar-track{background:#dce9e1a8}.canvas-wrap .chat-messages::-webkit-scrollbar-thumb{background:#779183db}.canvas-wrap .chat-messages::-webkit-scrollbar-thumb:hover{background:#617c6fe6}.canvas-wrap .chat-message{margin:0;font-size:14px;line-height:1.32}.canvas-wrap .chat-message-line{display:block;white-space:pre-wrap;word-break:break-word;font-family:inherit}.canvas-wrap .chat-message-user .chat-message-line{color:#1f4e38;font-weight:600}.canvas-wrap .chat-message-other .chat-message-line{color:#223c31}.canvas-wrap .chat-message-system .chat-message-line{color:#49685a;font-size:13px;font-style:italic}.canvas-wrap .chat-input-container{display:block;border-top:0;padding-top:0}.canvas-wrap .chat-connection-error{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;padding:6px 8px;border:1px solid rgba(142,82,82,.7);background:#f8e8e8e6;color:#5b2f2f;font-size:12px}.canvas-wrap .chat-retry-button{border:1px solid #8f5c5c;background:linear-gradient(180deg,#ead6d6,#ddc1c1);color:#4d2626;font-size:11px;padding:3px 8px;cursor:pointer}.canvas-wrap .chat-retry-button:hover{background:linear-gradient(180deg,#e2caca,#d4b4b4)}.canvas-wrap .chat-input{width:100%;box-sizing:border-box;border:1px solid #8ea99a;border-radius:0;font-size:14px;background:#f7fcf9fa;color:#1f372d;min-height:38px;padding:7px 9px}.canvas-wrap .chat-input::-moz-placeholder{color:#527263}.canvas-wrap .chat-input::placeholder{color:#527263}.canvas-wrap .chat-input:disabled{color:#4c685b;background:#ebf3eee6;cursor:not-allowed}.canvas-wrap .chat-input:focus{outline:none;box-shadow:0 0 0 2px #59846e33}.uplot,.uplot *,.uplot *:before,.uplot *:after{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5;width:-moz-min-content;width:min-content}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;position:relative;width:100%;height:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:#00000012;position:absolute;pointer-events:none}.u-cursor-x,.u-cursor-y{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}.u-hz .u-cursor-x,.u-vt .u-cursor-y{height:100%;border-right:1px dashed #607D8B}.u-hz .u-cursor-y,.u-vt .u-cursor-x{width:100%;border-bottom:1px dashed #607D8B}.u-cursor-pt{position:absolute;top:0;left:0;border-radius:50%;border:0 solid;pointer-events:none;will-change:transform;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}
