:root{color-scheme:dark;--ink: #0e0c09;--ink-2: #14110c;--ink-3: #1c1811;--ink-4: #262016;--glass: rgba(16, 13, 9, .84);--glass-strong: rgba(14, 12, 9, .94);--line: rgba(212, 162, 76, .14);--line-strong: rgba(212, 162, 76, .3);--text: #efe4cc;--text-dim: #a99b80;--text-faint: #6f6553;--gold: #d4a24c;--gold-bright: #f0c770;--gold-deep: #8a6421;--ember: #e0533d;--steel: #5b8bd9;--amber: #e6a23c;--parchment: #e9d7ae;--hamlet: #8d8169;--timber: #a7b46a;--stone: #b8b2a4;--iron: #7fa6b8;--font-display: "Cinzel", "Times New Roman", serif;--font-text: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;--radius: 10px;--radius-small: 6px;--shadow: 0 10px 30px rgba(0, 0, 0, .45), 0 1px 0 rgba(240, 199, 112, .05) inset;--panel-w: 440px;--gap: 14px;--ease: cubic-bezier(.22, .8, .26, 1)}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:var(--ink);color:var(--text);font-family:var(--font-text);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}body{overflow-x:hidden}h1,h2,h3{font-family:var(--font-display);font-weight:700;letter-spacing:.02em;margin:0}a{color:var(--gold-bright);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}::selection{background:#d4a24c59}*{scrollbar-width:thin;scrollbar-color:rgba(212,162,76,.28) transparent}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.muted{color:var(--text-dim)}.small{font-size:12px}.gold{color:var(--gold-bright)}.ember{color:var(--ember)}.steel{color:var(--steel)}.amber{color:var(--amber)}.row{display:flex;align-items:center}.gap{gap:8px}.wrap{flex-wrap:wrap}.empty{color:var(--text-faint);font-style:italic;margin:6px 0}.error-line{color:#f08d7c;margin:8px 0}.warn-line{color:var(--amber);margin:4px 0 12px;font-size:13px}.swatch{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:7px;box-shadow:0 0 0 1px #00000080;vertical-align:1px}.tag{display:inline-block;margin-left:7px;padding:0 6px;border-radius:99px;border:1px solid var(--line-strong);color:var(--text-dim);font-size:10.5px;line-height:16px;letter-spacing:.03em;vertical-align:1px}.tag-gold{color:var(--gold-bright);border-color:#f0c77080}.badge{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 5px;margin-left:6px;border-radius:99px;background:var(--gold);color:var(--ink);font-size:10.5px;font-weight:600}.badge-ember{background:var(--ember);color:#fff3ec}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border-radius:var(--radius-small);border:1px solid var(--line-strong);background:#fff0d205;color:var(--text);font-weight:500;cursor:pointer;transition:border-color .2s,background .2s,transform .15s var(--ease),color .2s;text-decoration:none!important;white-space:nowrap}.btn:hover:not(:disabled){border-color:var(--gold);background:#d4a24c14}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-gold{background:linear-gradient(180deg,#e8b85e,#c08a33);border-color:#f0c770;color:#1a1206;font-weight:600;box-shadow:0 6px 18px #d4a24c38}.btn-gold:hover:not(:disabled){background:linear-gradient(180deg,#f2c870,#cc953a);color:#1a1206}.btn-ember{border-color:var(--ember);color:#ffb2a4}.btn-small{padding:5px 10px;font-size:12.5px}.btn-block{width:100%;margin-top:10px}.btn.is-done{border-color:var(--gold);color:var(--gold-bright)}.icon-btn{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;border:1px solid var(--line-strong);background:var(--glass);backdrop-filter:blur(10px);color:var(--text);font-size:17px;cursor:pointer;transition:border-color .2s,color .2s}.icon-btn:hover{border-color:var(--gold);color:var(--gold-bright)}.linkish{border:0;background:none;padding:0;color:var(--text);cursor:pointer;border-bottom:1px dotted rgba(240,199,112,.4)}.linkish:hover{color:var(--gold-bright)}.field{display:grid;gap:6px;margin:14px 0}.field>span{font-size:12px;color:var(--text-dim);letter-spacing:.04em;text-transform:uppercase}.field small{color:var(--text-faint);font-size:11.5px}.field small.is-bad{color:#f08d7c}input,select{font:inherit;color:var(--text);background:#0a0907;border:1px solid var(--line-strong);border-radius:var(--radius-small);padding:9px 11px;transition:border-color .2s,box-shadow .2s}input:focus,select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #d4a24c26}input.num{width:92px;padding:5px 8px;font-family:var(--font-mono);font-size:12.5px}.inline-field{display:inline-flex;align-items:center;gap:6px;color:var(--text-dim);font-size:12.5px}.inline-field select{padding:4px 8px;font-size:12.5px}.switch{display:flex;align-items:center;gap:9px;cursor:pointer;font-size:12.5px;color:var(--text-dim)}.switch input{position:absolute;opacity:0;pointer-events:none}.switch-track{position:relative;width:32px;height:18px;border-radius:99px;background:var(--ink-4);border:1px solid var(--line-strong);transition:background .25s;flex:none}.switch-track:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--text-dim);transition:transform .25s var(--ease),background .25s}.switch input:checked+.switch-track{background:#d4a24c4d}.switch input:checked+.switch-track:after{transform:translate(14px);background:var(--gold-bright)}.switch input:focus-visible+.switch-track{outline:2px solid var(--gold);outline-offset:2px}.status{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;padding:1px 7px;border-radius:99px;border:1px solid currentColor}.status-running{color:#9fcf8f}.status-paused{color:var(--amber)}.status-ended{color:var(--text-faint)}.chip{padding:4px 11px;border-radius:99px;border:1px solid var(--line-strong);background:transparent;color:var(--text-dim);cursor:pointer;font-size:12.5px;transition:all .2s}.chip:hover{color:var(--text);border-color:var(--gold)}.chip.is-active{background:#d4a24c29;color:var(--gold-bright);border-color:var(--gold)}.chip.is-threatened{box-shadow:0 0 0 1px var(--ember) inset}.chip.is-threatened:before{content:"\2694  ";color:var(--ember)}.chip-static{cursor:default;display:inline-block;margin:0 5px 5px 0}.card{position:relative;padding:24px;border-radius:var(--radius);background:linear-gradient(180deg,var(--ink-3),var(--ink-2));border:1px solid var(--line);box-shadow:var(--shadow)}.card:before{content:"";position:absolute;inset:0 24px auto;height:1px;background:linear-gradient(90deg,transparent,rgba(240,199,112,.55),transparent)}.card h2{font-size:20px;color:var(--parchment);margin-bottom:6px}.card-sealed{border-color:#d4a24c73;box-shadow:var(--shadow),0 0 40px #d4a24c14}.key-box{display:flex;align-items:center;gap:10px;padding:10px 12px;margin:10px 0 16px;border-radius:var(--radius-small);background:#0a0907;border:1px dashed rgba(240,199,112,.55)}.key-box code{flex:1;min-width:0;overflow-wrap:anywhere;color:var(--gold-bright);font-size:12.5px}.snippet{margin:10px 0 14px;border:1px solid var(--line);border-radius:var(--radius-small);background:#0a0907;overflow:hidden}.snippet-head{display:flex;justify-content:space-between;align-items:center;padding:7px 8px 7px 12px;border-bottom:1px solid var(--line);font-size:12px;color:var(--text-dim)}.snippet-code{margin:0;padding:12px;font-family:var(--font-mono);font-size:11.5px;line-height:1.65;color:#e3d5b6;overflow-x:auto;white-space:pre}.snippet-note{margin:0;padding:0 12px 10px;color:var(--text-faint);font-size:11.5px}.tabs-inline{border-bottom:1px solid var(--line);margin-top:6px}.home{min-height:100vh}.hero{position:relative;min-height:min(82vh,760px);display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}.hero-map{position:absolute;inset:0;width:100%;height:100%;z-index:-2;filter:saturate(.9) brightness(.86)}.hero-veil{position:absolute;inset:0;z-index:-1;background:radial-gradient(120% 90% at 25% 70%,#0e0c09d1,#0e0c0973 45%,#0e0c091a 75%),linear-gradient(180deg,rgba(14,12,9,.55) 0%,transparent 25%,transparent 55%,var(--ink) 100%)}.hero-copy{width:100%;max-width:1120px;margin:0 auto;padding:0 28px 72px;animation:rise .9s var(--ease) both}.eyebrow{margin:0 0 10px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}.hero-title{font-size:clamp(44px,8vw,86px);line-height:1;letter-spacing:.04em;background:linear-gradient(180deg,#fbe2a6,#d4a24c 55%,#9a6d22);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 2px 30px rgba(212,162,76,.15)}.hero-pitch{max-width:560px;margin:18px 0 26px;font-size:17px;color:#e6d8bb}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.home-main{max-width:1120px;margin:0 auto;padding:8px 28px 60px}.heading-row{display:flex;align-items:baseline;justify-content:space-between;margin:30px 0 14px}.heading-row h2{font-size:22px;color:var(--parchment)}.world-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:var(--gap)}.world-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:18px 18px 16px;border-radius:var(--radius);background:linear-gradient(180deg,var(--ink-3),var(--ink-2));border:1px solid var(--line);color:var(--text);text-decoration:none!important;transition:transform .25s var(--ease),border-color .25s,box-shadow .25s;animation:rise .6s var(--ease) both}.world-card:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:var(--shadow)}.world-card-top{display:flex;justify-content:space-between;align-items:center}.world-kind{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}.kind-sandbox .world-kind{color:var(--steel)}.world-name{font-size:19px;color:var(--parchment)}.world-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.world-stats>div,.world-bar-stat,.village-head-stats>div{display:grid}.stat-value{font-size:16px;font-weight:600}.stat-label{font-size:11px;color:var(--text-faint)}.world-progress{height:3px;border-radius:99px;background:#ffffff0f;overflow:hidden}.world-progress div{height:100%;background:linear-gradient(90deg,var(--gold-deep),var(--gold-bright));transform-origin:left;transition:transform .6s linear}.world-enter{font-size:12.5px;color:var(--gold-bright);opacity:.7;transition:opacity .2s,transform .25s var(--ease)}.world-card:hover .world-enter{opacity:1;transform:translate(3px)}.home-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:var(--gap);margin-top:40px;scroll-margin-top:20px;align-items:start}.link-list{list-style:none;padding:0;margin:8px 0 16px;display:grid;gap:6px}.link-list li{display:flex;justify-content:space-between;gap:10px;padding:7px 10px;border-radius:var(--radius-small);background:#fff0d206;border:1px solid var(--line)}.home-foot{display:flex;justify-content:space-between;gap:16px;margin-top:48px;padding-top:18px;border-top:1px solid var(--line);color:var(--text-faint);font-size:12.5px}.world{position:fixed;inset:0;overflow:hidden;background:var(--ink)}.world-fatal{display:grid;place-items:center;padding:20px}.world-fatal .card{max-width:420px}.map,.map-canvas{position:absolute;inset:0;width:100%;height:100%}.map-canvas{display:block;cursor:grab;touch-action:none}.map-tip{position:absolute;top:0;left:0;min-width:170px;max-width:260px;padding:10px 12px;border-radius:8px;background:var(--glass-strong);border:1px solid var(--line-strong);box-shadow:var(--shadow);pointer-events:none;opacity:0;transition:opacity .15s;z-index:5}.map-tip.is-on{opacity:1}.map-tip-name{font-family:var(--font-display);font-weight:700;color:var(--parchment);font-size:14px}.map-tip-owner{margin-top:3px;font-size:12.5px}.map-tip-meta{display:flex;gap:10px;margin-top:5px;font-size:11.5px;color:var(--text-dim);font-family:var(--font-mono)}.world-top{position:absolute;top:var(--gap);left:var(--gap);right:calc(var(--panel-w) + var(--gap) * 2);display:flex;flex-direction:column;align-items:flex-start;gap:10px;pointer-events:none;z-index:3}.world-top>*{pointer-events:auto}.world-bar{display:flex;align-items:center;gap:18px;max-width:100%;padding:9px 16px 9px 10px;border-radius:var(--radius);background:var(--glass);backdrop-filter:blur(12px);border:1px solid var(--line);box-shadow:var(--shadow);animation:drop .6s var(--ease) both}.back{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;color:var(--text-dim);text-decoration:none!important;transition:background .2s,color .2s}.back:hover{background:#d4a24c1f;color:var(--gold-bright)}.world-bar-title h1{font-size:16px;color:var(--parchment);white-space:nowrap}.world-bar-sub{font-size:11px;color:var(--text-faint);text-transform:capitalize}.world-bar-stat span{font-size:14px;font-weight:600}.world-bar-stat small{font-size:10.5px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em}.world-bar-you{display:flex;align-items:center;gap:6px;padding-left:16px;border-left:1px solid var(--line);font-weight:600;white-space:nowrap}.conn{width:8px;height:8px;border-radius:50%;flex:none}.conn-live{background:#9fcf8f;box-shadow:0 0 #9fcf8f99;animation:beacon 2.4s infinite}.conn-connecting,.conn-reconnecting{background:var(--amber)}.conn-offline{background:var(--ember)}.alert{display:flex;align-items:center;gap:10px;padding:9px 16px;border-radius:99px;border:1px solid rgba(224,83,61,.7);background:#2e0e09e0;backdrop-filter:blur(10px);color:#ffd9d0;cursor:pointer;text-align:left;animation:drop .45s var(--ease) both,warn 1.8s ease-in-out infinite}.alert-icon{color:var(--ember);font-size:15px}.alert strong{color:#fff}.alert-sight{color:#ffb39f}.notice{position:absolute;top:74px;left:50%;transform:translate(calc(-50% - var(--panel-w) / 2));display:flex;align-items:center;gap:12px;padding:8px 10px 8px 16px;border-radius:var(--radius);background:var(--glass-strong);border:1px solid rgba(230,162,60,.6);color:#f3d9a8;z-index:4;max-width:min(560px,90vw);animation:drop .4s var(--ease) both}.world-tools{position:absolute;left:var(--gap);bottom:var(--gap);display:flex;align-items:flex-end;gap:10px;z-index:3}.zoom{display:grid;gap:6px}.sandbox{width:300px;border-radius:var(--radius);background:var(--glass);backdrop-filter:blur(12px);border:1px solid rgba(91,139,217,.4);box-shadow:var(--shadow);overflow:hidden;animation:rise .5s var(--ease) both}.sandbox-head{width:100%;display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border:0;background:none;cursor:pointer}.sandbox-title{font-family:var(--font-display);font-weight:700;font-size:13px;letter-spacing:.08em;color:#b9cdf2}.sandbox-body{display:grid;gap:10px;padding:2px 14px 14px}.selected-card{position:absolute;bottom:var(--gap);left:calc((100% - var(--panel-w) - var(--gap)) / 2);transform:translate(-50%);width:290px;padding:14px 16px;border-radius:var(--radius);background:var(--glass-strong);backdrop-filter:blur(12px);border:1px solid var(--line-strong);box-shadow:var(--shadow);z-index:3;animation:rise .35s var(--ease) both}.selected-name{font-family:var(--font-display);font-weight:700;font-size:17px;color:var(--parchment);padding-right:20px}.selected-owner{margin:3px 0 10px;font-size:13px}.close{position:absolute;top:8px;right:10px;border:0;background:none;color:var(--text-dim);font-size:18px;cursor:pointer}.close:hover{color:var(--text)}.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 14px;margin:0 0 12px}.facts dt{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint)}.facts dd{margin:1px 0 0;font-weight:500}.panel{position:absolute;top:var(--gap);right:var(--gap);bottom:var(--gap);width:var(--panel-w);display:flex;flex-direction:column;border-radius:var(--radius);background:var(--glass-strong);backdrop-filter:blur(14px);border:1px solid var(--line);box-shadow:var(--shadow);z-index:3;overflow:hidden;animation:slide-in .6s var(--ease) both}.panel:not(.is-open){bottom:auto}.panel-handle{display:none}.tabs{display:flex;gap:2px;padding:6px 8px 0;border-bottom:1px solid var(--line);overflow-x:auto;flex:none}.tab{position:relative;padding:9px 6px 10px;border:0;background:none;color:var(--text-dim);font-size:12px;font-weight:600;letter-spacing:.02em;cursor:pointer;white-space:nowrap;transition:color .2s}.tab:after{content:"";position:absolute;left:7px;right:7px;bottom:-1px;height:2px;border-radius:2px;background:var(--gold);transform:scaleX(0);transition:transform .3s var(--ease)}.tab:hover{color:var(--text)}.tab.is-active{color:var(--gold-bright)}.tab.is-active:after{transform:scaleX(1)}.tab-collapse{margin-left:auto;font-size:16px;padding:6px 4px}.tab-collapse:after{display:none}.panel-body{flex:1;overflow-y:auto;padding:14px 16px 24px;overscroll-behavior:contain}.tab-page{display:grid;gap:4px;animation:fade .35s var(--ease) both}.spectator{margin-bottom:12px;padding:10px 12px;border-radius:var(--radius-small);border:1px solid var(--line);background:#d4a24c0d;color:var(--text-dim);font-size:13px}.spectator p{margin:0}.section{margin:10px 0 6px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.section-head h3{display:flex;align-items:center;gap:10px;flex:1;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}.section-head h3:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line-strong),transparent)}.picker{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.village-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding:4px 0 6px}.village-name{font-size:21px;color:var(--parchment)}.village-head-stats{display:flex;gap:18px;text-align:right}.big{font-family:var(--font-display);font-weight:700;font-size:19px}.village-head-stats small{font-size:10.5px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em}.stat-row{display:grid;grid-template-columns:76px 1fr auto;align-items:center;gap:2px 10px;margin:7px 0}.stat-name{font-size:12.5px;color:var(--text-dim);text-transform:capitalize}.stat-num{font-size:12.5px;text-align:right}.stat-sub{grid-column:2 / 4;font-size:11px}.res:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px}.res-timber:before{background:var(--timber)}.res-stone:before{background:var(--stone)}.res-iron:before{background:var(--iron)}.meter{position:relative;height:6px;border-radius:99px;background:#fff0d20f;overflow:hidden}.meter-fill{position:absolute;inset:0;border-radius:inherit;transform-origin:left;transition:transform .45s var(--ease);background:var(--gold)}.meter-marker{position:absolute;top:-1px;bottom:-1px;width:2px;margin-left:-1px;background:#0e0c09d9;box-shadow:0 0 0 1px #f0c77059}.meter-gold .meter-fill{background:linear-gradient(90deg,var(--gold-deep),var(--gold-bright))}.meter-ember .meter-fill{background:linear-gradient(90deg,#8f2a1b,var(--ember))}.meter-steel .meter-fill{background:linear-gradient(90deg,#2d4f86,var(--steel))}.meter-amber .meter-fill{background:linear-gradient(90deg,#8c5c18,var(--amber))}.meter-timber .meter-fill{background:linear-gradient(90deg,#5d6a2c,var(--timber))}.meter-stone .meter-fill{background:linear-gradient(90deg,#6a655a,var(--stone))}.meter-iron .meter-fill{background:linear-gradient(90deg,#3d6577,var(--iron))}.building-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.building{position:relative;padding:7px 9px 8px;border-radius:var(--radius-small);background:#fff0d208;border:1px solid var(--line);transition:border-color .2s,background .2s}.building:hover{border-color:var(--line-strong);background:#d4a24c0f}.building.is-unbuilt{opacity:.5}.building.is-max{border-color:#f0c77073}.building-name{display:block;font-size:11px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.building-level{font-family:var(--font-display);font-weight:700;font-size:18px;color:var(--parchment)}.building-level small{font-family:var(--font-text);font-weight:400;font-size:10.5px;color:var(--text-faint)}.building-queued{margin-left:5px;font-family:var(--font-mono);font-size:11px;color:var(--gold-bright)}.building-bar{height:2px;margin-top:3px;border-radius:2px;background:#fff0d212;overflow:hidden}.building-bar div{height:100%;background:var(--gold);transform-origin:left;transition:transform .5s var(--ease)}.building-ready{position:absolute;top:7px;right:7px;width:6px;height:6px;border-radius:50%;background:#9fcf8f;box-shadow:0 0 6px #9fcf8fb3}.timeline{position:relative;height:24px;margin-bottom:8px;border-radius:5px;background:#fff0d20a;border:1px solid var(--line);overflow:hidden}.timeline-seg{position:absolute;top:2px;bottom:2px;display:flex;align-items:center;padding:0 6px;border-radius:4px;background:#d4a24c2e;border-right:1px solid var(--ink);font-size:10.5px;color:var(--parchment);overflow:hidden;white-space:nowrap;transition:left .3s linear,width .3s linear}.timeline-seg.is-active{background:linear-gradient(90deg,#d4a24c8c,#d4a24c4d)}.timeline-seg span{overflow:hidden;text-overflow:ellipsis}.queue{list-style:none;margin:0;padding:0;display:grid;gap:4px}.queue-row{display:grid;grid-template-columns:minmax(0,1fr) 86px auto;align-items:center;gap:10px;padding:5px 8px;border-radius:var(--radius-small);font-size:12.5px}.queue-row.is-active{background:#d4a24c0f}.queue-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-times{text-align:right;white-space:nowrap}.train-group+.train-group{margin-top:10px}.train-head{font-size:12px;margin-bottom:4px;color:var(--parchment)}.countdown{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:12px;color:var(--parchment);white-space:nowrap}.countdown.is-paused{color:var(--amber)}.table{width:100%;border-collapse:collapse;font-size:12.5px}.table th{text-align:left;font-weight:500;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);padding:4px 6px;border-bottom:1px solid var(--line)}.table td{padding:5px 6px;border-bottom:1px solid rgba(212,162,76,.06)}.table .num{text-align:right}.unit-dot{display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:1px;transform:rotate(45deg);vertical-align:1px}.type-infantry{background:var(--parchment)}.type-cavalry{background:var(--amber)}.type-ranged{background:var(--timber)}.standings tbody tr{cursor:pointer;transition:background .2s}.standings tbody tr:hover{background:#d4a24c0f}.standings tr.is-you td{background:#d4a24c1f;color:var(--gold-bright)}.rows{list-style:none;margin:0;padding:0;display:grid;gap:5px}.row-item{padding:7px 10px;border-radius:var(--radius-small);background:#fff0d208;border:1px solid var(--line);font-size:12.5px;animation:fade .4s var(--ease) both}.row-main{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}.row-main .countdown{margin-left:auto}.row-sub{margin-top:2px;font-size:11.5px;color:var(--text-dim)}.move{border-left:3px solid var(--text-faint)}.move-attack{border-left-color:var(--ember)}.move-support{border-left-color:var(--steel)}.move-trade{border-left-color:var(--amber)}.move.is-returning{opacity:.7}.move.is-incoming.move-attack{background:#e0533d14}.move-kind{font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin-right:4px}.move-attack .move-kind{color:#f08d7c}.move-support .move-kind{color:#93b4ec}.move-trade .move-kind{color:var(--amber)}.sighted{color:#ffb39f}.notes{margin:0;padding:10px 12px;border-radius:var(--radius-small);background:#e9d7ae0f;border:1px solid var(--line);border-left:2px solid var(--gold);font-family:var(--font-text);font-size:12.5px;line-height:1.6;white-space:pre-wrap;color:#e9dcc0}.orders{margin-bottom:6px;border-radius:var(--radius-small);border:1px solid var(--line);background:#fff0d205}.orders summary{padding:7px 10px;cursor:pointer;font-weight:500;font-size:13px}.order-list{list-style:none;margin:0;padding:0 10px 8px;display:grid;gap:3px;font-size:12.5px}.order-kind{display:inline-block;width:40px;font-family:var(--font-mono);font-size:10.5px;color:var(--gold)}.order-paused{margin-left:8px;padding:0 6px;border-radius:99px;background:#e0533d26;color:#f08d7c;font-family:var(--font-mono);font-size:10.5px}.filters{display:flex;gap:2px}.filter{padding:2px 7px;border-radius:99px;border:1px solid transparent;background:none;color:var(--text-faint);font-size:11px;cursor:pointer}.filter:hover{color:var(--text)}.filter.is-active{border-color:var(--line-strong);color:var(--gold-bright)}.log{list-style:none;margin:0;padding:0;font-family:var(--font-mono);font-size:11.5px}.log-entry{padding:6px 0 7px 10px;border-left:2px solid var(--line-strong);border-bottom:1px solid rgba(212,162,76,.06);animation:log-in .45s var(--ease) both}.log-entry.via-mcp{border-left-color:#5b8bd999}.log-entry.via-orders{border-left-color:#e6a23c99}.log-entry.is-failed{border-left-color:var(--ember)}.log-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.log-time,.log-tick{color:var(--text-faint)}.log-call{color:var(--parchment);font-weight:500}.log-status{color:#9fcf8f}.log-status.is-bad{color:var(--ember)}.log-ms{color:var(--text-dim)}.log-via{margin-left:auto;padding-right:4px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint)}.log-note{margin:3px 0 2px;font-family:var(--font-text);font-style:italic;font-size:12.5px;color:#e3cf9f}.log-note:before{content:"\201c";color:var(--gold)}.log-note:after{content:"\201d";color:var(--gold)}.log-action{display:flex;gap:8px;padding-left:4px;color:var(--text-dim)}.log-mark{color:#9fcf8f}.log-action.is-bad .log-mark,.log-code{color:var(--ember)}.log-type{min-width:46px;color:var(--text)}.log-summary{min-width:0;overflow-wrap:anywhere}.report-list{list-style:none;margin:0;padding:0;display:grid;gap:5px}.report-row{width:100%;display:grid;grid-template-columns:70px 1fr;gap:1px 10px;padding:8px 10px;text-align:left;border-radius:var(--radius-small);border:1px solid var(--line);background:#fff0d206;cursor:pointer;transition:border-color .2s,background .2s}.report-row:hover{border-color:var(--line-strong);background:#d4a24c0f}.report-row.is-unread{border-left:3px solid var(--gold)}.report-row.is-unread .report-title{font-weight:600}.report-outcome{grid-row:span 2;align-self:center;font-family:var(--font-display);font-weight:700;font-size:13px}.outcome-won .report-outcome,.outcome-scouted .report-outcome{color:var(--gold-bright)}.outcome-lost .report-outcome,.outcome-failed .report-outcome{color:var(--ember)}.report-title{font-size:13px}.report-meta{font-size:11px}.report-head{margin:12px 0 6px}.report-head h2{font-size:18px;margin:2px 0}.report-head .report-outcome.big{font-size:22px}.strength{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:8px 0 4px}.strength>div:not(.strength-bar){display:grid;text-align:center}.strength small{font-size:10.5px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em}.strength-bar{height:8px;border-radius:99px;background:var(--steel);overflow:hidden}.strength-attack{height:100%;background:var(--ember);border-right:2px solid var(--ink)}.intel-buildings{margin:6px 0 8px}.chart svg{display:block;width:100%;height:auto;overflow:visible}.chart-grid{stroke:#d4a24c1a;stroke-width:1}.chart-label{fill:var(--text-faint);font-family:var(--font-mono);font-size:9px}.chart-cross{stroke:#f0e4cc59;stroke-dasharray:3 3}.chart-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:4px;font-size:11.5px;color:var(--text-dim)}.chart-legend i{display:inline-block;width:10px;height:3px;border-radius:2px;margin-right:6px;vertical-align:3px}.chart-legend b{margin-left:6px;color:var(--text);font-weight:500}.chart-at{margin-left:auto}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}@keyframes drop{0%{opacity:0;transform:translateY(-8px)}}@keyframes fade{0%{opacity:.4}}@keyframes slide-in{0%{opacity:0;transform:translate(24px)}}@keyframes log-in{0%{opacity:.4;transform:translate(-6px);background:#d4a24c1f}}@keyframes beacon{0%{box-shadow:0 0 #9fcf8f8c}70%,to{box-shadow:0 0 0 8px #9fcf8f00}}@keyframes warn{0%,to{box-shadow:0 0 #e0533d59,var(--shadow)}50%{box-shadow:0 0 22px 2px #e0533d59,var(--shadow)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:960px){:root{--panel-w: 360px}.stat-speed{display:none!important}.home-grid{grid-template-columns:1fr}}@media(max-width:760px){:root{--gap: 10px;--panel-w: 0px}.hero-copy{padding:0 18px 48px}.home-main{padding:8px 16px 40px}.home-foot{flex-direction:column}.card{padding:18px}.world-top{right:var(--gap)}.world-bar{gap:12px;padding:7px 12px 7px 6px;width:100%}.world-bar-sub,.stat-left,.world-bar-you{display:none!important}.world-bar-title{flex:1;min-width:0}.world-bar-title h1{overflow:hidden;text-overflow:ellipsis}.alert{font-size:12.5px;border-radius:var(--radius)}.notice{transform:translate(-50%)}.panel{inset:auto 0 0;width:auto;height:56vh;border-radius:16px 16px 0 0;border-bottom:0;animation:sheet-in .55s var(--ease) both;padding-bottom:env(safe-area-inset-bottom)}.panel:not(.is-open){height:auto}.panel-handle{display:grid;place-items:center;width:100%;height:18px;border:0;background:none;cursor:pointer;flex:none}.panel-handle span{width:40px;height:4px;border-radius:99px;background:var(--line-strong)}.tabs{padding-top:0}.tab-collapse{display:none}.world-tools{bottom:calc(56vh + 10px)}.zoom{display:none}.sandbox{width:min(300px,calc(100vw - 20px))}.sandbox:not(.is-open){width:auto}.selected-card{left:50%;bottom:calc(56vh + 10px);width:min(320px,calc(100vw - 20px))}.building-grid{grid-template-columns:repeat(2,1fr)}}@keyframes sheet-in{0%{transform:translateY(40px);opacity:0}}
/*# sourceMappingURL=app.css.map */
