/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@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-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.static{position:static}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.grow{flex-grow:1}.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}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.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)}}:root{--desk:#221c15;--paper:#efe7d5;--paper2:#e6dcc4;--edge:#c9bb9c;--ink:#1d2430;--dim:#7d7159;--blue:#17529c;--red:#d6382a;--amber:#b26a06;--green:#2c6740}*{box-sizing:border-box}html,body{width:100%;height:100%;color:var(--ink);margin:0;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;overflow:auto}body{background:var(--desk);background-image:repeating-linear-gradient(94deg,#00000029 0 1px,#0000 1px 6px),repeating-linear-gradient(94deg,#ffebc806 0 2px,#0000 2px 11px);min-width:1180px}#wrap{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:10px 12px;height:100svh;min-height:560px;padding:10px;display:none;position:relative;overflow:hidden}#gamebar{grid-area:1/1;grid-template-columns:minmax(0,1fr);align-items:center;gap:12px;min-width:0;display:grid}#left{grid-area:1/1;min-width:0;min-height:0;position:relative}#right{z-index:11;width:268px;min-width:0;min-height:0;position:absolute;top:16px;left:26px}#timelinecard{z-index:11;width:248px;max-height:calc(100svh - 32px);position:absolute;top:16px;right:26px;overflow:hidden auto}.card,#brief,canvas{background:var(--paper);border:1px solid var(--edge);box-shadow:0 12px 26px #00000080}canvas{touch-action:none;max-width:none;height:auto;display:block}#boardviewport{scrollbar-width:thin;background:#0a080652;border:1px solid #efe7d51f;width:100%;min-width:0;height:100%;min-height:0;overflow:hidden;box-shadow:inset 0 12px 32px #0000003d}#boardstage{box-sizing:border-box;align-content:center;place-items:center;width:max-content;min-width:100%;min-height:100%;padding:10px;display:grid}@media (width>=761px){#boardstage{padding-left:300px;padding-right:280px}}#commanddock{z-index:10;width:268px;min-width:0;display:block;position:absolute;bottom:16px;left:16px;box-shadow:0 16px 36px #00000094}#commandmain{gap:0;min-width:0;display:grid}#docktools{background:var(--paper2);border:1px solid var(--edge);border-top:0;grid-template-columns:42px 42px;justify-content:end;align-items:center;gap:4px;padding:5px;display:grid}#docktools button{min-height:34px;padding:4px}#docktools #exec{min-width:0}#commanddock #step{box-shadow:none;border-bottom:0;padding:5px 6px}#commanddock #stepnum{flex-basis:24px;width:24px;height:24px;font-size:11px}#commanddock #steptitle{font-size:10px}#commanddock #stepback{padding:4px 6px;font-size:9px}#gameutils{position:relative}#gameutils>summary{background:var(--paper);width:42px;height:42px;color:var(--ink);cursor:pointer;border:1px solid #a39471;place-items:center;font-size:0;list-style:none;display:grid}#gameutils>summary:after{content:"•••";letter-spacing:.08em;font-size:13px}#gameutils>summary::-webkit-details-marker{display:none}#gameutils[open] .utilitysheet{display:grid}.utilitysheet{z-index:20;background:var(--paper);border:1px solid var(--edge);gap:8px;width:min(330px,100vw - 20px);padding:10px;display:none;position:absolute;bottom:50px;right:0;box-shadow:0 16px 36px #0000008c}.utilitysheet .row{grid-template-columns:1fr 1fr;display:grid}#gamebar #hud{color:var(--paper);letter-spacing:.08em;white-space:normal;font-size:12px;line-height:1.45;margin:0!important}#firing{min-width:0}#firing .tl{gap:2px}#firing .tlt{background:#efe7d514;border-color:#efe7d533;padding:3px 2px}#firing .tlnum,#firing .tlkey,#firing .tlkeyglyph,#firing>.opmeta{color:#b9aa8d}#firing .tlkeyglyph,#firing>.opmeta{display:none}h1{letter-spacing:.34em;color:var(--paper);margin:0 0 3px;font-size:15px;font-weight:700}.sub{color:#9a8b70;letter-spacing:.08em;margin:0 0 12px;font-size:11px}#brief h1{color:var(--ink)}#brief .sub{color:var(--dim)}.card{margin-bottom:12px;padding:12px}.card h2,.blk{letter-spacing:.24em;color:var(--dim);border-bottom:1px solid var(--edge);margin:0 0 9px;padding-bottom:5px;font-size:10px;font-weight:700}button{color:var(--ink);cursor:pointer;letter-spacing:.06em;background:0 0;border:1px solid #b3a385;padding:6px 9px;font-family:inherit;font-size:12px}button:hover:not(:disabled){background:var(--paper2);border-color:var(--ink)}button:disabled{opacity:.3;cursor:default}button.go,button.sel{background:var(--blue);border-color:var(--blue);color:var(--paper);font-weight:700}button.go:hover:not(:disabled){background:#2a5fdd;border-color:#2a5fdd}.ctlgrp{letter-spacing:.2em;color:var(--dim);text-transform:uppercase;margin-bottom:6px;font-size:9px;font-weight:700}button.tgl{border-style:dashed}.row.util{border-top:1px solid var(--edge);margin-top:11px;padding-top:9px}.row.util button{opacity:.72;font-size:11px}button.danger{color:#b5432f;border-color:#c2543f}button.danger:hover:not(:disabled){color:var(--paper);background:#c2543f;border-color:#c2543f}#endscreen{z-index:70;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#120e09eb;justify-content:center;align-items:center;padding:14px;animation:.22s ease-out ripin;display:none;position:fixed;inset:0;overflow-y:auto}.endcard{background:#ded0ab;border:1px solid #b8a883;width:100%;max-width:720px;max-height:96vh;overflow-y:auto;box-shadow:0 24px 70px #000000bf}.endhead{text-align:left;border-bottom:4px solid var(--edge);padding:34px 28px 28px;position:relative}.endhead.win{border-bottom-color:var(--blue);background:linear-gradient(#17529c17,#0000)}.endhead.lose{border-bottom-color:var(--red);background:linear-gradient(#d6382a1a,#0000)}.endtitle{letter-spacing:.1em;font-size:clamp(28px,5vw,52px);font-weight:800;line-height:1.05}.endhead.win .endtitle{color:var(--blue)}.endhead.lose .endtitle{color:var(--red)}.endsub{letter-spacing:.2em;color:#6b6047;margin-top:10px;font-size:12px}.endbody{padding:20px 24px 24px}.endbody .stars{justify-content:center;margin:4px 0 14px;font-size:30px}.endnext{width:100%;margin-top:14px;padding:15px;font-size:16px}#rip{z-index:60;background:#14100ad1;justify-content:center;align-items:center;padding:20px;animation:.18s ease-out ripin;display:none;position:fixed;inset:0}@keyframes ripin{0%{opacity:0}to{opacity:1}}.ripcard{text-align:left;background:#ded0ab;border:1px solid #b8a883;width:100%;max-width:520px;padding:30px;position:relative;box-shadow:0 18px 50px #0009}.ripstamp{color:var(--red);border:2.5px solid var(--red);letter-spacing:.14em;opacity:.85;padding:2px 8px;font-size:13px;font-weight:800;position:absolute;top:14px;right:16px;transform:rotate(7deg)}.riptop{text-align:left;align-items:center;gap:16px;margin-bottom:16px;display:flex}.ripport{flex:0 0 76px!important;width:76px!important;height:76px!important}.ripport svg{width:70px!important;height:70px!important}.ripname{letter-spacing:.12em;color:var(--ink);font-size:19px;font-weight:800}.ripkit{letter-spacing:.08em;color:#6b6047;margin-top:4px;font-size:11px}.ripcause{color:var(--ink);border-top:1px solid #b8a883;border-bottom:1px solid #b8a883;margin-bottom:12px;padding:13px 4px;font-size:13px;line-height:1.6}.ripsheet{letter-spacing:.16em;color:#6b6047;margin-bottom:16px;font-size:10px}#ripcont{width:100%;padding:11px}.secbtn{float:right;letter-spacing:.08em;min-height:0;margin-top:-2px;padding:3px 8px;font-size:9px}.secbtn.on{background:var(--red);border-color:var(--red);color:var(--paper)}.op .rank{color:var(--blue);text-align:center;flex:0 0 22px;align-self:center;font-size:16px;font-weight:800;line-height:1}.op.foe{border-left-color:var(--red);cursor:crosshair;background:#d6382a0d}.op.foe:hover,.op.foe:focus-visible,.op.foe.inspected{outline-offset:-2px;background:#d6382a1c;outline:1px solid #d6382a80}.op.foe .unitname,.op.foe .rank,.op.foe .opname{color:var(--red)}#actionbar{border:1px solid var(--blue);background:var(--paper);box-sizing:border-box;border-top:0;margin:0;padding:5px}.abtitle{letter-spacing:.14em;color:var(--blue);text-align:center;padding:4px 0;font-size:12px;font-weight:700}.abhead{display:none}.abhead b{letter-spacing:.12em}.abhead .unitmark{flex-basis:34px;width:34px;height:34px}.abhead .unitstats{max-width:270px}.abhead .unitstats span{border:0;border-right:1px solid var(--edge);padding:2px}.abhead .unitstats span:last-child{border-right:0}.abhead .unitstats strong{font-size:14px}.abrow{flex-direction:column;gap:4px;display:flex}.abact{letter-spacing:.06em;text-align:left;background:var(--paper2);border:1px solid var(--blue);width:100%;min-height:34px;color:var(--ink);padding-inline:10px;font-size:10px;font-weight:700}.abback{border-color:var(--edge);color:var(--dim)}.abact:disabled{opacity:.35}.abact.on{background:var(--blue);border-color:var(--blue);color:var(--paper)}.absubmit{grid-column:1/-1;min-height:34px;font-size:11px}.abcancel{grid-column:1/-1;min-height:30px}.abrow.commit.hasundo .absubmit,.abrow.commit.hasundo .abcancel{grid-column:auto}.abop{background:var(--paper2);border:1px solid var(--edge);flex-direction:column;flex:30%;justify-content:center;align-items:center;gap:2px;min-height:52px;display:flex}.abop small{letter-spacing:.02em;opacity:.8;font-weight:400}.abop.done{border-color:var(--blue);color:var(--blue)}.abop.todo{border-color:var(--amber);color:var(--amber)}#mapkey{border:1px solid var(--edge);background:#fffcf452;margin:0;padding:8px 10px}#keyitems{grid-template-columns:1fr 1fr;gap:9px 16px;margin-top:10px;display:grid}.keyrow{color:#4a4436;letter-spacing:.02em;align-items:center;gap:10px;font-size:11.5px;line-height:1.3;display:flex}.keyrow svg{border:1px solid var(--edge);background:#fff6;flex:0 0 30px;width:30px;height:30px}.keyrow svg path{fill:none;stroke:var(--ink);stroke-width:1.4px}.keyrow svg[data-kind=wall] path{stroke-width:4px}.keyrow svg[data-kind=fog] path{fill:var(--blue);stroke:none}.keyrow svg[data-kind=pkg] path{stroke:var(--amber)}.keyrow svg[data-kind=exit] path{stroke:var(--green)}.dopcell{align-items:center;gap:9px;display:flex}.port.dport{flex:0 0 34px!important;width:34px!important;height:34px!important}.opmeta.st-wait{color:var(--amber);letter-spacing:.04em;font-weight:700}.opmeta.st-set{color:var(--blue);font-weight:700}.opmeta.st-down{color:var(--amber);font-weight:700}.opmeta.st-kia{color:var(--red);font-weight:700}.row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.op{border:1px solid var(--edge);cursor:pointer;background:#ffffff47;align-items:flex-start;gap:9px;margin-bottom:7px;padding:8px;display:flex}.op.active{border-color:var(--blue);border-left-color:var(--blue);background:#17529c12}.op.dead{opacity:.34;border-left-color:var(--red)}.op.down{border-left-color:var(--amber);background:#b26a0617}.op.locked{border-left-color:var(--green)}.glyph{flex:0 0 26px;width:26px;height:26px}.opname{color:var(--ink);letter-spacing:.1em;font-weight:700}.opmeta{color:var(--dim);margin-top:3px;font-size:11px}.tag{border:1px solid var(--edge);letter-spacing:.06em;margin:0 4px 2px 0;padding:1px 5px;font-size:10px;display:inline-block}#log{height:150px;margin-top:9px;font-size:11px;line-height:1.6;overflow-y:auto}.h2acc{letter-spacing:.24em;color:var(--dim);border-bottom:1px solid var(--edge);cursor:pointer;align-items:center;gap:7px;padding-bottom:5px;font-size:10px;font-weight:700;list-style:none;display:flex}.h2acc::-webkit-details-marker{display:none}.h2acc:before{content:"▸";color:var(--dim);font-size:9px;transition:transform .12s}details[open] .h2acc:before{transform:rotate(90deg)}#log div{border-bottom:1px dotted #cdbf9f;padding:2px 0}.lk{color:var(--red);font-weight:700}.lg,.lb{color:var(--blue)}.lw{color:var(--amber);font-weight:700}.ld{color:var(--dim);letter-spacing:.18em}#brief,#lobby{background:#ded0ab;border:1px solid #b8a883;max-width:860px;margin:46px auto 18px;padding:24px;position:relative;box-shadow:0 12px 26px #00000080}#lobby h1{color:var(--ink)}#lobby .sub{color:var(--dim)}#lobby .blk{color:#6b6047;border-bottom-color:#b8a883}#lobby button{border-color:#a39471}#rules summary::-webkit-details-marker{display:none}#rules[open] summary{color:var(--ink)}.pill{border:1px solid var(--edge);letter-spacing:.08em;background:#fffcf473;margin:0 5px 5px 0;padding:3px 9px;font-size:11px;display:inline-block}.pill.me{border-color:var(--blue);color:var(--blue);font-weight:700}.pill.wait{opacity:.55}.pill.in{border-color:var(--green);color:var(--green)}.drawer{background:#fffcf457;border:1px solid #b8a883;max-height:340px;overflow-y:auto}.sheetrow{border-bottom:1px solid #cdbf9f;align-items:flex-start;gap:10px;padding:9px;display:flex}.sheetrow:last-child{border-bottom:none}.sheetrow.fresh{opacity:.72}.sheetrow.next{box-shadow:inset 3px 0 0 var(--blue);background:#17529c12}.sheettab{letter-spacing:.1em;color:#6b6047;background:#ded0ab;border:1px solid #b8a883;align-self:flex-start;padding:2px 5px;font-size:10px;font-weight:700}.sheetplate{object-fit:cover;border:1px solid #b8a883;flex:0 0 54px;width:54px;height:36px}.sheetmain{flex:1;min-width:0}button.sheetname{letter-spacing:.1em;min-height:0;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:12px;font-weight:700}button.sheetname:hover{color:var(--blue);background:0 0}.szrow{flex-wrap:wrap;gap:3px;margin-top:5px;display:flex}button.szc{border:1px solid var(--edge);background:#fff6;flex-direction:column;align-items:center;gap:1px;min-height:0;padding:3px 6px;line-height:1.1;display:flex}button.szc:hover{border-color:var(--blue);background:#17529c1a}button.szc.full{border-color:var(--amber);background:#b26a061f}button.szc.part{border-color:#c2b28c}button.szc.none{opacity:.8;border-style:dashed}.szn{color:var(--dim);letter-spacing:.06em;font-size:9px}.szs{color:var(--amber);letter-spacing:.5px;font-size:9px}button.szc.none .szs{color:#b9ab8b}.modes{flex-direction:column;gap:10px;display:flex}button.mode{text-align:left;border:1px solid var(--edge);background:#fffcf46b;flex-direction:column;align-items:flex-start;gap:5px;min-height:0;padding:15px 17px;display:flex}button.mode:hover{border-color:var(--blue);background:#17529c14}.mtitle{letter-spacing:.2em;color:var(--ink);font-size:14px;font-weight:700}.mdesc{color:#4a4436;letter-spacing:0;font-size:11.5px;font-weight:400;line-height:1.55}button.upcard{background:#fffcf480;border:1px solid #a39471;align-items:flex-start;min-height:0;display:block}button.upcard:hover{border-color:var(--blue);background:#17529c1a}#setup{background:#ded0ab;border:1px solid #b8a883;max-width:860px;margin:46px 18px 18px;padding:24px;position:relative;box-shadow:0 12px 26px #00000080}#setup h1{color:var(--ink)}#setup .sub{color:var(--dim)}#setup .blk{color:#6b6047;border-bottom-color:#b8a883}#setup button{border-color:#a39471}.accordion{margin-top:20px}summary.acc{cursor:pointer;align-items:center;gap:7px;margin-top:0;list-style:none;display:flex}summary.acc::-webkit-details-marker{display:none}summary.acc:before{content:"▸";color:var(--dim);font-size:9px;transition:transform .12s}details[open] summary.acc:before{transform:rotate(90deg)}#step,#hud,#tip,#mapkey{box-sizing:border-box;max-width:100%}.tl{align-items:stretch;gap:4px;display:flex}.tlt{border:1px solid var(--edge);text-align:center;background:#ffffff52;flex:1;min-width:0;padding:5px 4px}.tlt.empty{opacity:.45;background:0 0}.tlnum{color:var(--dim);letter-spacing:.1em;margin-bottom:4px;font-size:10px}.tlchips{flex-wrap:wrap;justify-content:center;gap:3px;min-height:20px;display:flex}.chip{width:19px;height:19px;color:var(--paper);border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex}.chip.us{background:var(--blue)}.chip.them{background:var(--red);border-radius:0}.chip.br{box-shadow:0 0 0 2px var(--amber)}.chip.on{outline:2px solid var(--ink);outline-offset:1px}.tlchips .dash{color:var(--dim);font-size:11px;line-height:19px}.tlkeyglyph{letter-spacing:.06em;color:var(--dim);justify-content:center;gap:12px;margin-top:5px;font-size:9px;display:flex}.tlkey{letter-spacing:.12em;color:var(--dim);justify-content:space-between;margin-top:4px;font-size:8.5px;display:flex}.op.open{background:#17529c12}.op .opmeta{white-space:normal}.stars{border-bottom:1px solid var(--edge);letter-spacing:.12em;color:#cdbf9f;align-items:baseline;gap:8px;padding:9px 12px;font-size:21px;display:flex}.stars .on{color:var(--amber)}.starnote{letter-spacing:.08em;color:var(--dim);text-align:right;max-width:150px;margin-left:auto;font-size:10px;line-height:1.3}.sheetstars{color:var(--amber);letter-spacing:.08em}.sheetstars .off{color:#cdbf9f}.fwrap{border-bottom:1px dotted #cdbf9f}.fwrap:last-child{border-bottom:none}.fire{cursor:default;border-bottom:1px dotted #cdbf9f;align-items:baseline;gap:8px;padding:4px 5px;font-size:11px;display:flex}.fire:last-child{border-bottom:none}.fire.us{cursor:pointer}.fire.us:hover{background:#17529c0f}.fire.act{box-shadow:inset 3px 0 0 var(--blue);background:#17529c1a}.fire.gone{opacity:.42}.fire.dn{box-shadow:inset 3px 0 0 var(--amber)}.fseq{color:var(--dim);text-align:right;flex:0 0 12px;width:12px;font-size:10px}.fire .fpri{width:19px;height:19px;color:var(--paper);border-radius:50%;flex:0 0 19px;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex}.fire.us .fpri{background:var(--blue)}.fire.them .fpri{background:var(--red)}.fshape{flex:0 0 15px;width:15px;height:15px}.fire.us .fshape{stroke:var(--blue)}.fire.them .fshape{stroke:var(--red)}.fire .fname{letter-spacing:.06em;min-width:64px;font-weight:700}.fire.them .fname{color:var(--red)}.fire .fw{font-size:10px;font-weight:700}.fstat{color:var(--dim);font-variant-numeric:tabular-nums;font-size:9.5px}.fire .fnote{color:var(--dim);text-align:right;margin-left:auto;font-size:10px}.fdetail{background:#ffffff47;gap:9px;padding:8px 8px 10px 24px;display:none}.fwrap.open .fdetail{display:flex}.port{border:1px solid var(--edge);background:#ffffff59;flex:0 0 60px;width:60px;height:60px;display:block;position:relative;overflow:hidden}.port img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.port canvas,.port svg{width:54px;height:54px;position:absolute;inset:3px}.port img[src]:not([style*=none])+canvas,.port img[src]:not([style*=none])+svg{opacity:0}#ripglyph{fill:none;stroke:var(--blue);stroke-width:2.4px}.hero{background:#e9dcbc;border-bottom:1px solid #b8a883;margin:-24px -24px 20px;position:relative;overflow:hidden}.hero img{width:100%;height:auto;display:block}.herotext{background:linear-gradient(#0000,#0c101cb8 62%);padding:16px 22px;position:absolute;bottom:0;left:0;right:0}.herotext h1{color:#f4eee2;letter-spacing:.4em;text-shadow:0 2px 10px #0009;margin:0;font-size:22px}.herotext .sub{color:#c9bda4;letter-spacing:.14em;text-shadow:0 1px 6px #000000b3;margin:4px 0 0}.pill.foe{border-color:var(--red);color:var(--red)}.dtable tr.foe td:first-child{color:var(--red);padding-left:8px}.rowclear{letter-spacing:.1em;border:1px solid var(--edge);color:var(--dim);background:0 0;flex:none;align-self:center;padding:4px 7px;font-size:9px}.rowclear:hover{border-color:var(--red);color:var(--red);background:0 0}.clock{font-variant-numeric:tabular-nums;letter-spacing:.06em;color:var(--ink);border:1px solid var(--edge);text-align:center;background:#fff6;min-width:52px;padding:4px 9px;font-size:15px;font-weight:700}.clock.hot{color:var(--paper);background:var(--red);border-color:var(--red);animation:.9s steps(2,end) infinite tick}@keyframes tick{0%,to{opacity:1}50%{opacity:.62}}.debrief{background:var(--paper);border:1px solid var(--edge);border-top:4px solid var(--blue);margin-bottom:10px;box-shadow:0 8px 20px #00000059}.dhead{border-bottom:1px solid var(--edge);padding:10px 12px}.dhead.lose{border-top-color:var(--red)}.dtitle{letter-spacing:.16em;color:var(--blue);font-size:13px;font-weight:700}.dhead.lose .dtitle{color:var(--red)}.dsub{letter-spacing:.18em;color:var(--dim);margin-top:3px;font-size:10px}.dstats{border-bottom:1px solid var(--edge);display:flex}.dstats>div{text-align:center;border-right:1px solid var(--edge);flex:1;padding:9px 6px}.dstats>div:last-child{border-right:none}.dstats b{color:var(--ink);font-size:19px;display:block}.dstats span{letter-spacing:.16em;color:var(--dim);font-size:8.5px}.dtable{width:100%;font-size:11px}.dtable td{vertical-align:top;padding:6px}.dtable .who{color:var(--blue);font-weight:700}.dtable .st{text-align:right;letter-spacing:.08em;font-size:10px;font-weight:700}.dtable tr.ok .st,.dtable .st.ok{color:var(--green)}.dtable tr.ko .st,.dtable .st.ko{color:var(--red)}.dtable tr.dn .st{color:var(--amber)}.dtable tr.ko td{opacity:.62}#step{background:var(--paper);border:1px solid var(--edge);border-left:1px solid var(--blue);align-items:center;gap:9px;margin:0;padding:7px 9px;display:flex;box-shadow:0 6px 16px #00000059}#stepnum{background:var(--blue);width:26px;height:26px;color:var(--paper);border-radius:50%;flex:0 0 26px;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}#steptitle{letter-spacing:.12em;color:var(--ink);font-size:12px;font-weight:700}#stephint{color:var(--dim);margin-top:2px;font-size:11px;display:none}#step.aim{border-left-color:var(--red)}#step.aim #stepnum{background:var(--red)}#step.done{border-left-color:var(--green)}#step.done #stepnum{background:var(--green)}#step.wait{border-left-color:var(--dim);opacity:.78}#step.wait #stepnum{background:var(--dim)}#brief:before{content:attr(data-tab);letter-spacing:.22em;color:#5c5340;background:#ded0ab;border:1px solid #b8a883;border-bottom:none;padding:6px 20px;font-size:10px;font-weight:700;position:absolute;top:-27px;left:26px}#brief .blk{color:#6b6047;border-bottom-color:#b8a883}#brief td,#brief th{border-bottom-color:#bfb08a}#brief .slot{background:#fffcf46b;border-color:#c2b28c}#brief button{border-color:#a3947180}.plate{background:#e9dcbc;border:1px solid #b8a883;margin-bottom:14px;position:relative;box-shadow:0 3px 9px #0000002e}.plate img{width:100%;height:auto;display:block}.plate.missing img,.plate:not(.missing) .noplate{display:none}.noplate{min-height:130px;padding:14px}.nptitle{letter-spacing:.2em;color:#8a7a55;margin-bottom:8px;font-size:10px;font-weight:700}.npprompt{color:#5c5340;-webkit-user-select:all;user-select:all;background:#fffcf48c;border:1px dashed #b8a883;max-height:112px;padding:8px;font-size:10px;line-height:1.55;overflow:auto}.plate .cap{letter-spacing:.16em;color:#6b6047;background:#fffcf466;border-top:1px solid #b8a883;padding:5px 8px;font-size:9px}.slot{border:1px solid var(--edge);background:#ffffff4d;margin-bottom:9px;padding:10px}.lbl{color:var(--dim);letter-spacing:.22em;margin:9px 0 5px;font-size:10px}table{border-collapse:collapse;width:100%;margin-top:8px;font-size:11px}td,th{text-align:left;border-bottom:1px dotted #cdbf9f;padding:4px 6px}th{color:var(--dim);letter-spacing:.14em;font-size:10px;font-weight:700}.hint{color:#4a4436;font-size:11.5px;line-height:1.7}.banner{border:2px solid var(--amber);color:var(--amber);letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px;padding:9px 11px;font-weight:700}.banner.win{border-color:var(--blue);color:var(--blue)}.banner.lose{border-color:var(--red);color:var(--red)}.cols{flex-direction:column;gap:16px;display:flex}.cols>div{flex:auto;min-width:0}.budget{float:right;letter-spacing:.1em;color:var(--ink);font-size:11px}.foe{border:1px solid var(--red);color:var(--red);letter-spacing:.06em;margin:0 5px 5px 0;padding:2px 6px;font-size:10.5px;display:inline-block}#lobby,#setup,#brief{background:#ded0ab;border:1px solid #b8a883;width:min(1180px,100% - 32px);max-width:1180px;min-height:calc(100svh - 32px);margin:16px auto;padding:0;box-shadow:0 20px 54px #00000094}#lobby[style*="display: block"]{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);overflow:hidden;display:grid!important}#lobby .hero{border:0;border-right:1px solid #b8a883;grid-area:1/1/span 2;min-height:0;margin:0}#lobby .hero img{object-fit:cover;filter:saturate(.9)contrast(1.04);width:100%;height:100%}#lobby .herotext{background:linear-gradient(#0000,#0c101ce0 70%);padding:32px}#lobby .herotext h1{letter-spacing:.38em;font-size:clamp(28px,4vw,58px)}#lobby .modes{grid-area:1/2;justify-content:center;gap:0;padding:24px}#lobby button.mode{background:0 0;border:0;border-bottom:1px solid #b8a883;padding:18px 4px}#lobby button.mode:last-child{border-bottom:0}#lobby button.mode:hover{background:#17529c14;padding-left:12px}#lobby .mtitle{font-size:17px}#lobby .mdesc{max-width:42ch}#lrecord{border-top:1px solid #b8a883;grid-area:2/2;padding:16px 24px}#setup{align-content:start;padding:24px 28px}#setup[style*="display: block"]{grid-template-columns:minmax(0,1fr);grid-auto-rows:max-content;display:grid!important}#setup>.row:first-child{margin-bottom:28px!important}#setup h1{letter-spacing:.18em;margin-bottom:6px;font-size:clamp(24px,4vw,44px)}#setup>.sub{max-width:70ch;margin-bottom:24px}#setup .cols{border-top:1px solid #b8a883;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:28px;padding-top:22px;display:grid}#setupbody,#setupside{min-width:0}#brief{padding:28px}.briefhead{border-bottom:1px solid #b8a883;justify-content:space-between;align-items:flex-end;margin-bottom:22px;padding-bottom:16px;display:flex}.briefhead>div:first-child{align-items:baseline;gap:14px;display:flex}.briefhead>div:first-child>span{color:var(--blue);font-variant-numeric:tabular-nums;font-size:34px;font-weight:800}.briefhead h1{letter-spacing:.12em;margin:0;font-size:clamp(24px,4vw,44px)}.briefgrid{grid-template-columns:minmax(0,1.4fr) minmax(330px,.6fr);align-items:stretch;gap:28px;display:grid}#brief .plate{place-items:center;min-height:560px;margin:0;display:grid;overflow:hidden}#brief .plate img{object-fit:cover;width:100%;height:100%}#brief .plate .cap{background:#ded0abeb;position:absolute;bottom:0;left:0;right:0}.mapvoid{color:#8a7a55;border:2px solid #8a7a55;place-items:center;width:120px;height:120px;font-size:34px;font-weight:800;display:grid;transform:rotate(45deg)}.mapvoid:first-line{transform:rotate(-45deg)}.briefside{flex-direction:column;min-height:560px;display:flex}.objective{min-height:126px;color:var(--red);border-bottom:1px solid #b8a883;justify-content:center;align-items:center;gap:18px;display:flex}.objective b{letter-spacing:.18em;font-size:19px}.target-stack{grid-template-columns:repeat(3,14px);gap:5px;display:grid}.target-stack i,.exit-mark{border:2px solid var(--red);width:14px;height:14px;display:block}.package-mark{background:var(--amber);width:18px;height:18px;display:block;transform:rotate(45deg)}.exit-mark{border-color:var(--green)}.objective-arrow{color:var(--dim);font-size:24px}.briefunits{flex-direction:column;flex:1;justify-content:center;gap:12px;display:flex}.briefunit{border-bottom:1px dotted #b8a883;align-items:center;gap:16px;padding:14px 0;display:flex}.briefunit:last-child{border-bottom:0}.unitmark{flex:0 0 46px;place-items:center;width:46px;height:46px;font-size:15px;font-weight:800;display:grid}.unitmark.player{border:3px solid var(--blue);background:var(--blue);color:var(--paper);border-radius:50%}.unitmark.enemy{border:3px solid var(--red);color:var(--red)}.unitstats{font-variant-numeric:tabular-nums;grid-template-columns:repeat(3,minmax(54px,1fr));gap:5px;width:100%;display:grid}.unitstats span{border:1px solid #6b604759;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;display:flex}.unitstats b{letter-spacing:.12em;color:var(--dim);font-size:8px}.unitstats strong{color:var(--ink);font-size:18px}#brief #deploy{width:100%;padding:16px;font-size:15px;box-shadow:0 8px 24px #0000003d}.op .unitstats{max-width:270px}.op .unitstats span{border:0;border-right:1px solid var(--edge);padding:3px 2px}.op .unitstats span:last-child{border-right:0}.op .unitstats strong{font-size:14px}.opstate{background:var(--green);border-radius:50%;flex:0 0 10px;width:10px;height:10px}.op.down .opstate{background:var(--amber);clip-path:inset(50% 0 0)}.op.dead .opstate,.endunit.ko .opstate{background:var(--red);clip-path:polygon(0 38%,38% 38%,38% 0,62% 0,62% 38%,100% 38%,100% 62%,62% 62%,62% 100%,38% 100%,38% 62%,0 62%);border-radius:0}#squadcard{background:var(--paper2);margin:0;padding:5px;box-shadow:0 16px 36px #00000094}#squadcard h2,#timelinecard h2{height:24px;margin:0;padding:3px 4px 5px;line-height:16px}#timelinecard{background:var(--paper2);margin:0;padding:5px;box-shadow:0 16px 36px #00000094}#timeline{flex-direction:column;gap:3px;display:flex}.timelineevent{border-left:3px solid var(--blue);background:var(--paper);min-height:30px;color:var(--ink);grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:5px;padding:4px 6px;font-family:ui-monospace,monospace;display:grid}.timelineevent.foe{border-left-color:var(--red)}.timelineevent.provisional{opacity:.62;outline:1px dashed var(--blue);outline-offset:-2px}.timelineevent.active{background:var(--ink);color:var(--paper)}.timelinenum{color:var(--dim);letter-spacing:.12em;font-size:9px}.timelineevent.active .timelinenum{color:var(--paper2)}.timelinename{letter-spacing:.1em;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:700;overflow:hidden}.timelineevent strong{letter-spacing:.1em;font-size:9px}.timelinespeed{color:var(--dim);letter-spacing:.12em;grid-column:2/4;font-size:7px}.timelineevent.active .timelinespeed{color:var(--paper2)}.timelineempty{border:1px dashed var(--edge);color:var(--dim);letter-spacing:.16em;text-align:center;padding:10px 7px;font:8px/1.3 ui-monospace,monospace}#roster{flex-direction:column;gap:4px;display:flex}#roster .op{background:var(--paper);align-items:center;gap:5px;min-height:36px;margin:0;padding:3px 5px;display:flex}#roster .unitmark{border-width:2px;flex-basis:28px;width:28px;height:28px;font-size:9px}#roster .unitstats{gap:1px;max-width:none}#roster .unitstats span{border-right:1px solid var(--edge);padding:1px}#roster .unitstats b{font-size:7px}#roster .unitstats strong{font-size:11px}#roster .unitdata{flex:1;min-width:0}#roster .unitname{letter-spacing:.12em;color:var(--ink);margin:0 0 2px 2px;font-size:8px;line-height:1;display:block}#roster .rowclear{padding:3px 5px}.endunits{border-top:1px solid var(--edge);flex-direction:column;margin-top:14px;display:flex}.endunit{border-bottom:1px solid var(--edge);align-items:center;gap:12px;padding:10px 0;display:flex}.endunit .unitmark{flex-basis:38px;width:38px;height:38px}.endunit .unitstats{max-width:300px}.endunit .killcount{text-align:center;min-width:24px;margin-left:auto;font-size:18px}.endunit.dn .opstate{background:var(--amber);clip-path:inset(50% 0 0)}.endunit.ko{opacity:.55}@media (width<=760px){body{min-width:0}#lobby[style*="display: block"]{grid-template-rows:minmax(220px,40vh) auto auto;grid-template-columns:1fr;overflow-y:auto}#lobby .hero{border-bottom:1px solid #b8a883;border-right:0;grid-area:1/1}#lobby .modes{grid-area:2/1}#lrecord{grid-area:3/1}#setup .cols,.briefgrid{grid-template-columns:1fr}#brief .plate{min-height:280px}.briefside{min-height:0}}@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-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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}
