:root{color-scheme:light;--paper-light: #FFF6E3;--paper: #F2E7CF;--paper-2: #E8D9B8;--paper-edge: #C9B58C;--bg: #E9DCBF;--ink: #2B1D12;--ink-2: #5C4A36;--ink-3: #6E6558;--border: #D9C9A6;--border-strong: #86704A;--bronze: #A8722E;--bronze-ink: #7A4E17;--bronze-deep: #5F3C10;--bronze-light: #D9A75B;--bronze-soft: #F3E4C0;--gold-hi: #F1D08A;--wax: #8E2B24;--wax-ink: #7E241E;--wax-soft: #F0D9D2;--moss: #4E6B3A;--moss-ink: #3E5A2C;--moss-soft: #DFE6CB;--sea: #2F6F8F;--sea-ink: #275E7A;--sea-soft: #D6E4EA;--amber: #8A5A12;--amber-ink: #7C4F0E;--amber-soft: #F3E4C0;--wood: #5A3B22;--wood-dark: #3B2415;--leather: #4A3223;--stone: #8E877A;--stone-dark: #4B463F;--surface: var(--paper);--surface-2: var(--paper-2);--text: var(--ink);--muted: var(--ink-2);--accent: var(--bronze);--accent-ink: var(--bronze-ink);--accent-strong: var(--bronze-deep);--accent-soft: var(--bronze-soft);--on-accent: var(--paper-light);--success: var(--moss-ink);--success-soft: var(--moss-soft);--warn: var(--amber-ink);--warn-soft: var(--amber-soft);--danger: var(--wax);--danger-soft: var(--wax-soft);--info: var(--sea-ink);--info-soft: var(--sea-soft);--link: var(--bronze-ink);--overlay: rgba(43, 29, 18, .55);--map-bg: #2B2724;--map-fog: #3F3A34;--map-paper: #F3EAD3;--map-far: #B9B1A5;--tex-paper: url(/img/ui/parchment-512.webp);--tex-desk: url(/img/ui/parchment-dark-640.webp);--tex-wood: url(/img/ui/wood-512.webp);--tex-leather: url(/img/ui/leather-512.webp);--tex-linen: url(/img/ui/linen-384.webp);--tex-stone: url(/img/ui/stone-256.webp);--coin: url(/img/ui/coin-bronze-128.webp);--plaque: url(/img/ui/plaque-bronze-512.webp);--paper-frame: url(/img/ui/paper-frame-768.webp);--wax-mask: url(/img/props/wax-seal.webp);--paper-lift: linear-gradient(rgba(255,250,238,.5), rgba(255,250,238,.5));--paper-bg: var(--paper-lift), var(--tex-paper) center / 512px repeat var(--paper);--font-display: "Philosopher", Georgia, serif;--font-book: "Literata", Georgia, "Times New Roman", serif;--font-ui: "Philosopher", "Inter", system-ui, sans-serif;--font-input: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font: var(--font-book);--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs-xs: 12px;--fs-sm: 14px;--fs-md: 16px;--fs-lg: 18px;--fs-xl: 22px;--fs-2xl: 30px;--lh-tight: 1.15;--lh-ui: 1.4;--lh-text: 1.55;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--gutter: clamp(16px, 4vw, 24px);--control-h: 44px;--control-h-sm: 36px;--touch: 44px;--r-xs: 3px;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-full: 999px;--radius: var(--r-md);--radius-sm: var(--r-sm);--shadow-paper: 0 1px 2px rgba(59,36,21,.1), 0 3px 8px rgba(59,36,21,.08);--shadow-lift: 0 2px 6px rgba(59,36,21,.14), 0 8px 20px rgba(59,36,21,.14);--shadow-deep: 0 12px 32px rgba(31,20,10,.3);--shadow-metal: 0 1px 2px rgba(59,36,21,.22);--shadow-1: var(--shadow-paper);--shadow-2: var(--shadow-lift);--shadow-3: var(--shadow-deep);--shadow: var(--shadow-paper);--ring: 0 0 0 3px rgba(122,78,23,.28);--dur-fast: .12s;--dur-base: .2s;--dur-slow: .32s;--ease-out: cubic-bezier(.2,.7,.2,1);--ease-in: cubic-bezier(.4,0,1,1);--spring: cubic-bezier(.2,.9,.3,1.15);--ease: var(--ease-out);--stamp: cubic-bezier(.3,1.6,.5,1);--z-sticky: 10;--z-overlay: 20;--z-drawer: 30;--z-dialog: 40;--z-toast: 50;--icon-sm: 16px;--icon-md: 20px;--icon-lg: 24px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--topbar-h: 56px}@font-face{font-family:Literata;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/literata-400-italic-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Literata;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/literata-400-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Literata;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/literata-400-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Literata;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/literata-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Literata;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/literata-600-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Literata;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/literata-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Philosopher;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/philosopher-700-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Philosopher;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/philosopher-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Philosopher;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/philosopher-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Philosopher;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/philosopher-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%}body{margin:0;overscroll-behavior-x:none;background:var(--bg);color:var(--text);font:400 var(--fs-md)/var(--lh-text) var(--font-book)}body.no-scroll{overflow:hidden}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#f7f0e06b,#f7f0e04d 40%,#f7f0e061),var(--bg-land, url(/img/ui/bg-land-wide.webp)) center / cover no-repeat var(--bg)}@media(max-width:767px){body:before{background-image:linear-gradient(180deg,#f7f0e06b,#f7f0e057),var(--bg-land-tall, url(/img/ui/bg-land-tall.webp))}}:focus{outline:none}:focus-visible{outline:2px solid var(--bronze-ink);outline-offset:2px}.topbar :focus-visible,.side-head :focus-visible,.lock :focus-visible,.admin-dock :focus-visible,.city-head :focus-visible,.menu-tiles :focus-visible{outline-color:var(--gold-hi)}button,a,[role=button]{-webkit-touch-callout:none}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0;line-height:var(--lh-tight);letter-spacing:0;font-family:var(--font-display);color:var(--ink)}h1{font-size:var(--fs-2xl);font-weight:700}h2{font-size:var(--fs-xl);font-weight:700}h3{font-size:20px;font-weight:600}h1 .i,h2 .i,h3 .i{vertical-align:-.18em}p{margin:0}p+p,.stack>*+*{margin-top:var(--sp-3)}.stack-sm>*+*{margin-top:var(--sp-2)}.stack-lg>*+*{margin-top:var(--sp-5)}.row{display:flex;gap:var(--sp-2) var(--sp-3);flex-wrap:wrap;align-items:center}.row.between{justify-content:space-between}.row.end{justify-content:flex-end}.row.nowrap{flex-wrap:nowrap}.grow{flex:1 1 auto;min-width:0}.mt-1{margin-top:var(--sp-1)}.mt-2{margin-top:var(--sp-2)}.mt-3{margin-top:var(--sp-3)}.mt-4{margin-top:var(--sp-4)}.mt-5{margin-top:var(--sp-5)}.mb-2{margin-bottom:var(--sp-2)}.mb-3{margin-bottom:var(--sp-3)}.mb-4{margin-bottom:var(--sp-4)}.muted{color:var(--muted)}.small{font-size:var(--fs-sm)}.xs{font-size:var(--fs-xs)}.strong{font-weight:600}.hint{color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-ui);margin-top:var(--sp-1);font-style:italic}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.center{text-align:center}.code{font-family:var(--font-mono);letter-spacing:.08em;font-weight:700}code{font-family:var(--font-mono);font-size:.9em;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-xs);padding:0 var(--sp-1)}.i{width:1.15em;height:1.15em;flex:none;vertical-align:-.22em}.i-sm{width:var(--icon-sm);height:var(--icon-sm)}.i-md{width:var(--icon-md);height:var(--icon-md)}.i-lg{width:var(--icon-lg);height:var(--icon-lg)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@keyframes stamp{0%{transform:scale(1.6) rotate(-8deg);opacity:0}60%{transform:scale(.94) rotate(2deg);opacity:1}to{transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes scaleIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:none}}@keyframes popCheck{0%{transform:scale(.4)}60%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes flipIn{0%{transform:rotateX(90deg);opacity:0}to{transform:none;opacity:1}}@keyframes ripple{0%{r:6;opacity:.9}to{r:46;opacity:0}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}button,.btn{font:500 var(--fs-md)/1 var(--font);min-height:var(--control-h);padding:0 var(--sp-4);border-radius:var(--r-sm);border:1px solid transparent;background:var(--accent-ink);color:var(--on-accent);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);text-decoration:none;white-space:nowrap;transition:background var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast),transform var(--dur-fast)}button:hover,.btn:hover{background:var(--accent-strong);text-decoration:none}button:active,.btn:active{transform:scale(.98)}button.secondary,.btn.secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}button.secondary:hover,.btn.secondary:hover{background:var(--surface-2);border-color:var(--text)}button.ghost,.btn.ghost{background:transparent;color:var(--muted);border-color:transparent}button.ghost:hover,.btn.ghost:hover{background:var(--surface-2);color:var(--text)}button.danger,.btn.danger{background:var(--danger);color:var(--on-accent)}button.danger:hover,.btn.danger:hover{background:#952f21}button.danger.secondary{background:var(--surface);color:var(--danger);border-color:var(--danger)}button.sm,.btn.sm{min-height:var(--control-h-sm);padding:0 var(--sp-3);font-size:var(--fs-sm)}button.icon,.btn.icon{width:var(--control-h);padding:0}button.icon.sm,.btn.icon.sm{width:var(--control-h-sm)}button.block,.btn.block{width:100%}button:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:default;pointer-events:none;transform:none}button .i,.btn .i{width:var(--icon-md);height:var(--icon-md)}button.sm .i,.btn.sm .i{width:var(--icon-sm);height:var(--icon-sm)}button.icon.sm{position:relative}button.icon.sm:before{content:"";position:absolute;inset:-4px}.actions{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin-top:var(--sp-4)}.actions.end{justify-content:flex-end}@media(max-width:639px){.actions>button:first-child:not(.sm),.actions>.btn:first-child:not(.sm){flex:1 1 auto}}label{display:block;margin:var(--sp-4) 0 var(--sp-1);color:var(--text);font-size:var(--fs-sm);font-weight:500;line-height:var(--lh-ui)}label:first-child{margin-top:0}label .opt{color:var(--muted);font-weight:400}input,select,textarea{width:100%;min-height:var(--control-h);padding:var(--sp-2) var(--sp-3);border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);font:400 var(--fs-md)/var(--lh-ui) var(--font);color:var(--text);transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}textarea{resize:vertical;min-height:calc(var(--control-h) * 2)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.75}input:read-only:not([type=checkbox]):not([type=radio]){background:var(--surface-2)}input:disabled,select:disabled,textarea:disabled{opacity:.55}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--surface) inset}input[type=number]{max-width:12ch;-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none}input.full{max-width:none}select{appearance:none;padding-right:var(--sp-8);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236B645A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right var(--sp-2) center}label.check{display:flex;align-items:center;gap:var(--sp-2);min-height:var(--touch);margin:0;font-weight:400;font-size:var(--fs-md);cursor:pointer}label.check input{width:20px;height:20px;min-height:0;margin:0;padding:0;accent-color:var(--accent);flex:none}.field{margin-top:var(--sp-3)}.field:first-child{margin-top:0}.field .error{margin-top:var(--sp-1)}.grid{display:grid;gap:var(--sp-3);grid-template-columns:1fr}@media(min-width:640px){.grid.cols-2{grid-template-columns:1fr 1fr}.grid.cols-3{grid-template-columns:1fr 1fr 1fr}}input[type=range]{accent-color:var(--accent);padding:0;min-height:var(--touch);border:0;background:transparent;box-shadow:none}.card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-5);margin-bottom:var(--sp-4);box-shadow:var(--shadow-1)}.card.flat{background:var(--surface-2);box-shadow:none;padding:var(--sp-4);margin-bottom:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-3)}.card-head h2,.card-head h1{margin:0;display:inline-flex;align-items:center;gap:var(--sp-2)}.card-head .count{color:var(--muted);font-weight:400;font-size:var(--fs-md)}h1 .ico,h2 .ico,h3 .ico{display:inline-flex;width:28px;height:28px;border-radius:var(--r-sm);align-items:center;justify-content:center;margin-right:var(--sp-1);vertical-align:-7px;background:var(--accent-soft);color:var(--accent-ink);flex:none}h1 .ico .i,h2 .ico .i,h3 .ico .i{width:16px;height:16px}.card[data-tone=ok]{--tone: var(--success)}.card[data-tone=warn]{--tone: var(--warn)}.card[data-tone=bad]{--tone: var(--danger)}.chip,.badge,.pill,.stat{display:inline-flex;align-items:center;gap:var(--sp-1);height:22px;padding:0 var(--sp-2);border-radius:var(--r-full);font-size:var(--fs-xs);font-weight:600;line-height:1;background:var(--surface-2);border:1px solid var(--border);color:var(--muted);vertical-align:middle;white-space:nowrap}.chip .i,.badge .i,.pill .i,.stat .i{width:14px;height:14px}.chip.accent,.badge.accent,.chip.we{background:var(--accent-soft);color:var(--accent-ink);border-color:transparent}.chip.ok,.badge.ok,.pill.live{background:var(--success-soft);color:var(--success);border-color:transparent}.chip.warn,.badge.warn,.pill.draft{background:var(--warn-soft);color:var(--warn);border-color:transparent}.chip.bad,.badge.bad{background:var(--danger-soft);color:var(--danger);border-color:transparent}.chip.info,.badge.info{background:var(--info-soft);color:var(--info);border-color:transparent}.chip.team,.badge.team{background:color-mix(in srgb,var(--team, var(--accent)) 16%,white);color:color-mix(in srgb,var(--team, var(--accent)) 80%,black);border-color:transparent}.chip.solid{background:var(--accent);color:var(--on-accent);border-color:transparent}.pill.live:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--success)}.stat strong{color:var(--text);font-weight:600}.count-chip{min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-full);background:var(--surface-2);border:1px solid var(--border);color:var(--muted);font-size:var(--fs-xs);font-weight:600;display:inline-flex;align-items:center;justify-content:center;line-height:1}.count-chip.hot{background:var(--accent);color:var(--on-accent);border-color:transparent}.avatar{width:32px;height:32px;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--fs-sm);flex:none}.avatar.team{background:var(--team, var(--accent));color:var(--on-accent)}.avatar.lg{width:44px;height:44px;font-size:var(--fs-lg)}.avatar.sm{width:24px;height:24px;font-size:var(--fs-xs)}.person{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.person .name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note,.error{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-2);align-items:start;border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);margin:var(--sp-2) 0;font-size:var(--fs-sm);line-height:var(--lh-ui);background:var(--surface-2);color:var(--text)}.note>.i{margin-top:2px}.note.ok{background:var(--success-soft);color:var(--success)}.note.warn{background:var(--warn-soft);color:var(--warn)}.note.bad,.error{background:var(--danger-soft);color:var(--danger)}.note.info{background:var(--info-soft);color:var(--info)}.note.accent,.hint-box{background:var(--accent-soft);color:var(--text)}.note:has(>:only-child),.error{grid-template-columns:1fr}.hint-box{border-radius:var(--r-sm);padding:var(--sp-3);margin:var(--sp-2) 0;font-size:var(--fs-sm);line-height:var(--lh-text)}.hint-box p{margin:0 0 var(--sp-1)}.list{list-style:none;padding:0;margin:0}.list>li,.list .item{display:flex;justify-content:space-between;gap:var(--sp-2) var(--sp-3);align-items:flex-start;flex-wrap:wrap;padding:var(--sp-3) 0;border-top:1px solid var(--border);min-height:var(--touch)}.list>li:first-child,.list .item:first-child{border-top:0}.list .main{min-width:0;flex:1 1 220px;display:flex;flex-direction:column;gap:var(--sp-1)}.list .side{display:flex;gap:var(--sp-1);align-items:center;flex-wrap:wrap}.list .title{font-weight:600}.list .meta{color:var(--muted);font-size:var(--fs-sm);display:flex;gap:var(--sp-1) var(--sp-2);flex-wrap:wrap;align-items:center}.list.interactive>li{cursor:pointer;border-radius:var(--r-sm)}.list.interactive>li:hover{background:var(--surface-2)}.list.interactive>li:focus-visible{outline-offset:-2px}.state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-2);color:var(--muted);padding:var(--sp-6) var(--sp-4);font-size:var(--fs-sm)}.state .i{width:32px;height:32px;color:var(--border-strong)}.state.inline{flex-direction:row;text-align:left;padding:var(--sp-3) 0;justify-content:flex-start}.state.inline .i{width:var(--icon-md);height:var(--icon-md)}.skeleton{display:block;height:14px;border-radius:var(--r-xs);background:linear-gradient(90deg,var(--surface-2) 25%,var(--border) 50%,var(--surface-2) 75%);background-size:400px 100%;animation:shimmer 1.2s linear infinite}.skeleton+.skeleton{margin-top:var(--sp-2)}.skeleton,.map-loading{opacity:0;animation:sk-appear .15s ease .22s forwards}@keyframes sk-appear{to{opacity:1}}@media(prefers-reduced-motion:reduce){.skeleton,.map-loading{animation-duration:.01s}}.tabs{display:flex;gap:var(--sp-1);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-1)}.tabs>button,.tabs>a{flex:1 1 0;min-width:0;background:transparent;color:var(--muted);border:0;border-radius:var(--r-sm);min-height:40px;padding:0 var(--sp-2);font-weight:600;font-size:var(--fs-sm);display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-1);position:relative}.tabs>button:hover,.tabs>a:hover{background:#ffffffb3;color:var(--text)}.tabs>button.active,.tabs>a.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.tabs>button .i{width:var(--icon-md);height:var(--icon-md)}.tabs.stacked>button{flex-direction:column;gap:2px;min-height:52px;font-size:var(--fs-xs)}@media(min-width:640px){.tabs.stacked>button{flex-direction:row;gap:var(--sp-1);min-height:40px;font-size:var(--fs-sm)}}.tabs.sticky{position:sticky;top:calc(var(--topbar-h) + var(--sp-2));z-index:var(--z-sticky);margin-bottom:var(--sp-4);background:var(--surface-2)}.tabs .count-chip{margin-left:2px}.tabs.stacked .count-chip{position:absolute;top:4px;right:50%;transform:translate(18px);margin:0}@media(min-width:640px){.tabs.stacked .count-chip{position:static;transform:none}}.overlay-backdrop{position:fixed;inset:0;z-index:var(--z-dialog);background:var(--overlay);display:flex;align-items:flex-end;justify-content:center;animation:fade var(--dur-base) var(--ease-out)}.overlay-backdrop.absolute{position:absolute}.overlay{background:var(--surface);width:100%;max-height:92dvh;display:flex;flex-direction:column;border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:var(--shadow-3);animation:rise var(--dur-slow) var(--ease-out);padding-bottom:var(--safe-bottom)}.overlay .overlay-head{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-3) var(--sp-2) var(--sp-4);border-bottom:1px solid var(--border);flex:none}.overlay .overlay-head h2{flex:1;min-width:0;font-size:var(--fs-lg)}.overlay .overlay-body{overflow:auto;padding:var(--sp-4);flex:1 1 auto;-webkit-overflow-scrolling:touch}.overlay .overlay-foot{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border);display:flex;gap:var(--sp-2);justify-content:flex-end;flex-wrap:wrap;flex:none}.overlay .grabber{width:36px;height:4px;border-radius:2px;background:var(--border-strong);margin:var(--sp-2) auto 0}@media(min-width:640px){.overlay-backdrop{align-items:center;padding:var(--sp-4)}.overlay{border-radius:var(--r-lg);max-height:90vh;animation:scaleIn var(--dur-base) var(--ease-out);padding-bottom:0}.overlay.sm{max-width:440px}.overlay.md{max-width:640px}.overlay.lg{max-width:880px}.overlay .grabber{display:none}}.modal-backdrop{position:fixed;inset:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;padding:var(--sp-4);z-index:var(--z-dialog);animation:fade var(--dur-base) var(--ease-out)}.modal{background:var(--surface);border-radius:var(--r-lg);padding:var(--sp-5);max-width:440px;width:100%;box-shadow:var(--shadow-3);animation:scaleIn var(--dur-base) var(--ease-out)}.modal h2{margin-bottom:var(--sp-2)}.modal p{margin:0 0 var(--sp-2);color:var(--muted)}.toasts{position:fixed;left:50%;bottom:calc(var(--sp-4) + var(--safe-bottom));transform:translate(-50%);display:flex;flex-direction:column;gap:var(--sp-2);z-index:var(--z-toast);width:min(92vw,420px);pointer-events:none}.toast{pointer-events:auto;display:flex;gap:var(--sp-2);align-items:flex-start;background:var(--text);color:var(--on-accent);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);font-size:var(--fs-sm);line-height:var(--lh-ui);box-shadow:var(--shadow-3);animation:rise var(--dur-base) var(--ease-out);cursor:pointer}.toast .i{width:var(--icon-md);height:var(--icon-md);flex:none;margin-top:1px}.toast.ok .i{color:#9be0a9}.toast.bad{background:var(--danger)}.menu-wrap{position:relative;display:inline-block}.menu{position:absolute;right:0;top:calc(100% + 4px);z-index:var(--z-overlay);min-width:200px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-2);padding:var(--sp-1);animation:scaleIn var(--dur-fast) var(--ease-out);transform-origin:top right}.menu.left{right:auto;left:0;transform-origin:top left}.menu button{display:flex;width:100%;justify-content:flex-start;background:transparent;color:var(--text);border:0;min-height:40px;padding:0 var(--sp-3);font-weight:500;border-radius:var(--r-sm)}.menu button:hover{background:var(--surface-2)}.menu button.danger{color:var(--danger);background:transparent}.menu button.danger:hover{background:var(--danger-soft)}.menu .sep{height:1px;background:var(--border);margin:var(--sp-1) 0}.crumb{display:inline-flex;align-items:center;gap:var(--sp-1);color:var(--muted);font-size:var(--fs-sm);font-weight:500;min-height:var(--touch);margin-left:calc(-1 * var(--sp-1));padding:0 var(--sp-1)}.crumb:hover{color:var(--text);text-decoration:none}.page-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2) var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-4)}.page-head h1{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;font-size:var(--fs-xl)}.page-head .stats{display:flex;gap:var(--sp-1);flex-wrap:wrap}.copy-field{display:flex;gap:var(--sp-2);align-items:center}.copy-field input{flex:1;min-width:0;font-size:var(--fs-sm)}.progress{height:6px;background:var(--surface-2);border-radius:var(--r-full);overflow:hidden}.progress span{display:block;height:100%;background:var(--accent);transition:width var(--dur-slow) var(--ease-out)}.topbar{position:sticky;top:0;z-index:calc(var(--z-sticky) + 1);padding-top:var(--safe-top);background:var(--surface);border-bottom:1px solid var(--border)}.topbar-inner{max-width:1040px;margin:0 auto;height:var(--topbar-h);padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.brand{display:flex;align-items:center;gap:var(--sp-2);color:var(--text);font-weight:700;white-space:nowrap}.brand:hover{text-decoration:none}.brand .mark{width:32px;height:32px;flex-shrink:0;display:block}.user-menu{display:flex;align-items:center;gap:var(--sp-2);background:transparent;color:var(--text);border:0;padding:0 var(--sp-1) 0 0;min-height:var(--touch);max-width:220px}.user-menu:hover{background:var(--surface-2)}.user-menu .name{font-size:var(--fs-sm);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:479px){.user-menu .name{display:none}}.container{max-width:1040px;margin:0 auto;padding:var(--sp-4) max(var(--gutter),var(--safe-left)) var(--sp-8) max(var(--gutter),var(--safe-right))}.container.narrow{max-width:520px}.cards{display:grid;grid-template-columns:1fr;gap:var(--sp-3)}@media(min-width:640px){.cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}.empty-page{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-3);padding:var(--sp-10) var(--sp-4);color:var(--muted)}.empty-page .i{width:40px;height:40px;color:var(--border-strong)}.login-page:before{content:"";position:fixed;inset:0;z-index:-1;background:url(/img/brand/hero.webp) center / cover no-repeat}.login-page:after{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,#f6f4ef26,#f6f4ef8c 70%)}.login-page .card{background:#fffffff0;box-shadow:var(--shadow-3)}.auth{max-width:420px;margin:var(--sp-4) auto}@media(min-width:640px){.auth{margin:var(--sp-8) auto}}.guest-bar{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-2);min-height:var(--touch);margin:calc(-1 * var(--sp-2)) 0 var(--sp-2)}.auth-logo{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-2);margin:0 0 var(--sp-5)}.auth-logo img{width:72px;height:72px}.auth-logo h1{font-size:var(--fs-xl)}.auth form{margin-top:var(--sp-4)}.lang-switch{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface-2);margin-left:auto}.lang-switch button{position:relative;min-height:32px;min-width:44px;padding:0 var(--sp-2);border:0;border-radius:var(--r-full);background:transparent;color:var(--muted);font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em}.lang-switch button:before{content:"";position:absolute;inset:-6px 0}.lang-switch button:hover{background:#ffffffb3;color:var(--text)}.lang-switch button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.google-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2)}.google-btn .google-mark{flex:none}.or-divider{display:flex;align-items:center;gap:var(--sp-3);margin:var(--sp-4) 0 0;color:var(--muted);font-size:var(--fs-sm)}.or-divider:before,.or-divider:after{content:"";flex:1 1 auto;height:1px;background:var(--border)}.auth-foot{margin:var(--sp-5) 0 0;text-align:center;font-size:var(--fs-sm)}.auth-foot a{color:var(--muted)}.disclosure summary{display:flex;align-items:center;gap:var(--sp-1);min-height:var(--touch);color:var(--link);font-size:var(--fs-sm);font-weight:500;cursor:pointer;list-style:none}.disclosure summary::-webkit-details-marker{display:none}.disclosure summary .i{transition:transform var(--dur-fast)}.disclosure[open] summary .i{transform:rotate(180deg)}.disclosure>p{margin:0 0 var(--sp-2)}.invite-team{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.invite-team .person{flex:1 1 auto}.invite-team .avatar{width:40px;height:40px;font-size:var(--fs-md)}.narrow-page{max-width:520px;margin:0 auto}.narrow-page .page-head{margin-top:var(--sp-2)}.narrow-page .card.auth{max-width:none;margin:0 0 var(--sp-4)!important}.narrow-page .actions{margin-top:var(--sp-5)}.home-section{margin-bottom:var(--sp-6)}.home-section>h2{display:flex;align-items:center;gap:var(--sp-1);margin-bottom:var(--sp-3)}.home-card{display:flex;gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-1);color:var(--text);text-decoration:none;min-height:72px;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.home-card:hover{text-decoration:none;border-color:var(--border-strong);box-shadow:var(--shadow-2)}.home-card .main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:var(--sp-1)}.home-card .title{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;font-weight:600;line-height:var(--lh-tight)}.home-card .title .name{overflow:hidden;text-overflow:ellipsis}.home-card .meta{display:flex;align-items:center;gap:var(--sp-1) var(--sp-3);flex-wrap:wrap;color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-ui)}.home-card .meta>span{display:inline-flex;align-items:center;gap:var(--sp-1);min-width:0}.home-card .meta .i{width:var(--icon-sm);height:var(--icon-sm);color:var(--border-strong)}.home-card .side{flex:none;display:flex;align-items:center;gap:var(--sp-2);color:var(--border-strong)}.team-card{align-items:center}.team-card .avatar.lg{flex:none}.game-card{position:relative;flex-direction:column;gap:var(--sp-2)}.game-card .title{justify-content:space-between}.game-card .title .name{flex:1 1 auto}.game-card .card-link{display:flex;flex-direction:column;gap:var(--sp-2);color:inherit;text-decoration:none;min-width:0}.game-card .card-link:after{content:"";position:absolute;inset:0;border-radius:inherit}.game-card.has-menu .title{padding-right:calc(var(--control-h-sm) + var(--sp-2))}.game-card .card-menu{position:absolute;top:var(--sp-2);right:var(--sp-2);z-index:1}.home-card .skeleton-avatar{width:44px;height:44px;border-radius:50%;flex:none}.home-foot{display:flex;justify-content:center;gap:var(--sp-3);flex-wrap:wrap;margin-top:var(--sp-4)}.map-screen{position:fixed;inset:0;overscroll-behavior:none;background:var(--map-bg);display:flex}.map-area{position:relative;flex:1 1 auto;min-width:0;overflow:hidden}.map-canvas{position:absolute;inset:0;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;overflow:hidden;background:var(--map-bg)}.map-svg.world{display:block;position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform;overflow:hidden}.map-svg.world.passthrough,.map-svg.world .screen-items{pointer-events:none}.map-svg.world .screen-items .m-label,.map-svg.world .screen-items .m-deed,.map-svg.world .screen-items .pick{pointer-events:auto}.fx-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.fx-layer.sea{background:#3f86a6}.coast{pointer-events:none}.coast-wet{stroke-width:calc(1.2px / var(--k, 1))}.owner-ring{stroke-width:calc(2px / var(--k, 1))}.map-loading{position:absolute;inset:0;margin:auto;width:min(280px,80%);height:max-content;display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);color:var(--map-paper);font-size:var(--fs-sm)}.map-loading .skeleton{opacity:.35;animation:none}.hud-left{position:absolute;left:calc(var(--sp-3) + var(--safe-left));top:calc(var(--sp-3) + var(--safe-top));z-index:5;display:flex;gap:var(--sp-2);align-items:center;max-width:calc(100% - 92px)}.hud-btn{position:relative;box-shadow:var(--shadow-1);background:color-mix(in srgb,var(--surface) 94%,transparent);flex:none}.hud-btn .count-chip{position:absolute;top:-6px;right:-6px}.hud-team{display:flex;align-items:center;gap:var(--sp-2);min-height:var(--touch);min-width:0;padding:0 var(--sp-3) 0 var(--sp-1);border-radius:var(--r-full);background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);color:var(--text);box-shadow:var(--shadow-1);font-weight:600;font-size:var(--fs-sm)}.hud-team:hover{background:var(--surface)}.hud-team .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(min-width:1024px){.hud-team{cursor:default}}.map-area .map-controls{position:absolute;right:calc(var(--sp-3) + var(--safe-right));top:calc(var(--sp-3) + var(--safe-top));z-index:5;display:flex;flex-direction:column;gap:var(--sp-2)}.map-area .map-controls button{box-shadow:var(--shadow-1);background:color-mix(in srgb,var(--surface) 94%,transparent)}.finish-banner{position:absolute;left:50%;top:calc(var(--sp-3) + var(--safe-top) + 56px);transform:translate(-50%);z-index:5;display:flex;align-items:center;gap:var(--sp-2);max-width:calc(100% - 2 * var(--sp-4));padding:var(--sp-2) var(--sp-4);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--success);color:var(--success);font-weight:600;font-size:var(--fs-sm);line-height:var(--lh-ui);box-shadow:var(--shadow-1)}.finish-banner .i{flex:none}.hex-fog{stroke:none}.hex-tile{stroke:color-mix(in srgb,var(--text) 28%,transparent);stroke-width:calc(1px / var(--k, 1))}.m-edge line{stroke-width:calc(3px/max(1.6,var(--k, 1)));stroke-linecap:round}.m-edge line.hit,.m-edge.active line.hit,.m-edge.sel line.hit{stroke:transparent;stroke-width:calc(22px / var(--k, 1));stroke-dasharray:none}.m-edge.idle line{stroke:color-mix(in srgb,white 25%,transparent)}.m-edge.active line{stroke:var(--map-paper)}.m-edge line.foreign{stroke-width:calc(3px/max(1.6,var(--k, 1)));stroke-dasharray:none;opacity:.85;pointer-events:none}.m-edge.idle line.foreign,.m-edge.active line.foreign{opacity:.85}.m-edge.sel line{stroke:var(--surface);stroke-width:calc(5px/max(1.6,var(--k, 1)))}.m-edge.done line{stroke-width:calc(6px/max(1.6,var(--k, 1)))}.m-edge.active,.m-edge.sel,.m-city,.m-label,.m-deed{cursor:pointer}.m-start{stroke:var(--surface);stroke-width:2}.m-fork{fill:var(--surface);stroke:var(--text);stroke-width:1.2}.m-label rect{fill:var(--map-paper);stroke:var(--text);stroke-width:1}.m-label text{fill:var(--text);pointer-events:none}.m-label use{color:var(--text);pointer-events:none}.m-label.owned rect{fill:var(--team)}.m-label.ruined rect{fill:var(--muted)}.m-label.owned text,.m-label.ruined text{fill:var(--on-accent)}.m-label.owned use,.m-label.ruined use{color:var(--on-accent)}.m-label.sm rect{opacity:.92}.m-battle circle{fill:var(--surface);stroke-width:2}.m-deed.sea .mooring{stroke:var(--surface);stroke-width:calc(2px / var(--k, 1));stroke-dasharray:calc(3px / var(--k, 1)) calc(3px / var(--k, 1));opacity:.8;pointer-events:none}.m-deed.sea.landing circle{fill:var(--success);stroke:var(--surface)}.m-deed.sea.landing use{color:var(--on-accent)}.m-land{cursor:pointer;pointer-events:auto}.m-land .pulse{fill:color-mix(in srgb,var(--success) 25%,transparent);stroke:var(--success);stroke-width:2;animation:land-pulse 1.6s ease-out infinite;transform-box:fill-box;transform-origin:center}.m-land .dot{fill:var(--surface);stroke:var(--success);stroke-width:2}.m-land use{color:var(--success);pointer-events:none}@keyframes land-pulse{0%{transform:scale(.6);opacity:1}to{transform:scale(1.5);opacity:0}}@media(prefers-reduced-motion:reduce){.m-land .pulse{animation:none;opacity:.6}}.m-island{pointer-events:none}.m-island text{font-family:Philosopher,Trebuchet MS,sans-serif;font-size:calc(16px * var(--inv-isl, 1));font-weight:400;letter-spacing:.2em;text-transform:uppercase;fill:#fff6e4;stroke:#08283c73;stroke-width:calc(1.6px * var(--inv-isl, 1));stroke-linejoin:round;paint-order:stroke fill;filter:drop-shadow(0 .6px 1.1px rgba(6,40,58,.7))}.landing-banner{border-color:var(--success);color:var(--success);gap:var(--sp-3);width:calc(100% - 2 * var(--sp-4));max-width:520px}.landing-banner span{flex:1 1 auto;min-width:0}.landing-banner button{flex:none}.m-battle.att circle{stroke:var(--info)}.m-battle.att use{color:var(--info)}.m-battle.def circle{stroke:var(--danger)}.m-battle.def use{color:var(--danger)}.map-canvas.marking{cursor:crosshair}.map-canvas.marking .screen-items{pointer-events:none}.map-area .map-controls button.on{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.m-mark{cursor:pointer;pointer-events:auto}.map-canvas.marking .m-mark{pointer-events:none}.m-mark circle{stroke:var(--surface);stroke-width:1.5}.m-mark use{color:#fff;pointer-events:none}.m-mark rect{fill:var(--map-paper);stroke:var(--text);stroke-width:1}.m-mark text{fill:var(--text);pointer-events:none}.mark-banner{border-color:var(--accent);color:var(--accent);gap:var(--sp-3);width:calc(100% - 2 * var(--sp-4));max-width:520px}.mark-banner span{flex:1 1 auto;min-width:0}.mark-banner button{flex:none}.roster-head .roster-invite{margin-left:auto}.roster-head>span{white-space:nowrap}.m-peek{pointer-events:none}.m-peek circle{fill:var(--surface);stroke:var(--text);stroke-width:1.2}.m-peek use{color:var(--text)}.m-deed .far{fill:var(--map-far)}.m-deed circle:not(.far){fill:var(--map-paper);stroke:var(--text);stroke-width:1.3}.m-deed.sel circle:not(.far){stroke-width:2.5}.m-deed use{color:var(--text);pointer-events:none}.m-deed.taken circle:not(.far){fill:var(--info-soft);stroke:var(--info)}.m-deed.taken use{color:var(--info)}.m-deed.submitted circle:not(.far){fill:var(--warn-soft);stroke:var(--warn)}.m-deed.submitted use{color:var(--warn)}.m-deed.rejected circle:not(.far){fill:var(--danger-soft);stroke:var(--danger)}.m-deed.rejected use{color:var(--danger)}.map-ripple{fill:none;stroke:var(--surface);stroke-width:3;pointer-events:none;animation:ripple .6s ease-out forwards}.city-hit{cursor:pointer;transition:transform var(--dur-fast) var(--spring);transform-box:fill-box;transform-origin:center}.city-hit:active{transform:scale(.92)}.side-backdrop{position:absolute;inset:0;z-index:var(--z-drawer);background:var(--overlay);animation:fade var(--dur-base) var(--ease-out)}.side-menu{position:absolute;top:0;bottom:0;left:0;z-index:calc(var(--z-drawer) + 1);width:min(380px,88%);background:var(--surface);box-shadow:var(--shadow-3);overflow:auto;-webkit-overflow-scrolling:touch;animation:slideIn var(--dur-slow) var(--ease-out);display:flex;flex-direction:column;padding-top:var(--safe-top);padding-left:var(--safe-left)}@media(min-width:1024px){.side-menu{width:360px;box-shadow:none;border-right:1px solid var(--border);animation:none;z-index:6}.map-canvas{--map-pad-left: 360px}.hud-left{left:calc(360px + var(--sp-3) + var(--safe-left))}}.side-head{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-3) var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:1}.side-name{font-weight:700;font-size:var(--fs-lg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-menu .section{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border)}.side-menu .section h2{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-md);margin-bottom:var(--sp-2)}.side-menu .section h2 .i{color:var(--accent);width:var(--icon-md);height:var(--icon-md)}.side-menu .section h2 .count{color:var(--muted);font-weight:400}.side-menu .list>li{padding:var(--sp-2) 0}.side-menu .list .main{flex-basis:160px}.side-menu .state{padding:var(--sp-2) 0}.standings-list{list-style:none;margin:0;padding:0}.standing{display:flex;gap:var(--sp-2);padding:var(--sp-2) 0;border-top:1px solid var(--border)}.standing:first-child{border-top:0}.standing .rank{width:22px;flex:none;padding-top:3px;text-align:center;color:var(--muted);font-weight:700;font-size:var(--fs-sm)}.standing .rank .i{color:var(--accent);width:18px;height:18px}.standing .body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.standing .name{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;font-weight:600}.standing .meta{color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-ui)}.passage-card{padding:var(--sp-3);margin-top:var(--sp-2);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2)}.passage-card .actions{margin-top:var(--sp-3)}.roster>li{flex-wrap:wrap;align-items:center;padding:var(--sp-2) 0}.roster .main,.side-menu .list .roster .main{flex:1 1 0;min-width:0;flex-basis:0}.roster .side{flex:none;flex-wrap:nowrap}.roster .role-pick .chip{max-width:150px}.roster .role-pick .chip,.roster .chip-btn .chip{overflow:hidden}.roster-title{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin-bottom:var(--sp-2)}.roster-title h2{display:flex;align-items:center;gap:var(--sp-2);margin:0;min-width:0}.roster-title h2 .count{color:var(--muted);font-weight:400;font-size:var(--fs-md)}.roster-title .roster-invite{margin-left:auto}.standing-roster{margin-top:var(--sp-2);cursor:auto}.standing-roster .roster-head{display:flex;align-items:center;gap:var(--sp-1);font-weight:600;margin-bottom:var(--sp-1)}.standing-roster .roster-head .i{width:16px;height:16px}.standing-roster .roster>li{padding:var(--sp-1) 0}.roster .side{align-items:center}.role-pick .chip{gap:4px;padding-right:6px}.role-pick .chip .chev{width:12px;height:12px;transform:rotate(90deg);transition:transform .2s}.role-pick[aria-expanded=true] .chip .chev{transform:rotate(-90deg)}.role-pick.none .chip{background:transparent;border:1px dashed var(--accent);color:var(--accent-ink)}.role-tray{flex:1 1 100%;width:100%;min-width:0;display:flex;flex-direction:column;gap:2px;padding-left:40px;box-sizing:border-box}.role-opt{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;min-width:0;min-height:44px;padding:var(--sp-1) var(--sp-2);border:0;border-radius:var(--r-md, 10px);background:transparent;color:inherit;text-align:left;box-shadow:none;text-shadow:none;font:inherit;white-space:normal}.role-opt:hover{background:color-mix(in srgb,var(--paper-light) 60%,transparent)}.role-opt.on{background:var(--bronze-soft, var(--accent-soft))}.role-opt .chip{height:28px;padding:0 var(--sp-3);flex:none}.role-opt .desc{font-size:var(--fs-xs);line-height:1.3;color:var(--ink-3, var(--muted));min-width:0;white-space:normal;padding-left:2px}@media(max-width:420px){.role-tray{padding-left:0}}.role-tray .hint{margin:var(--sp-1) 0 0}.chip-btn{background:transparent;border:0;padding:0 var(--sp-1);min-height:var(--touch);color:inherit}.chip-btn:hover{background:transparent}.menu-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-2);padding:var(--sp-3) var(--sp-4) calc(var(--sp-4) + var(--safe-bottom));margin-top:auto}.menu-tiles>a,.menu-tiles>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-1);min-height:56px;padding:var(--sp-2) 2px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-size:var(--fs-xs);font-weight:600;text-decoration:none;white-space:nowrap}.menu-tiles>a:hover,.menu-tiles>button:hover{background:var(--surface);border-color:var(--border-strong);text-decoration:none}.menu-tiles .i{width:var(--icon-md);height:var(--icon-md);color:var(--accent)}.push-prompt{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);color:var(--muted)}.push-prompt span{flex:1 1 180px}.overlay-head .sheet-title{flex:1;min-width:0;display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.sheet-title h2{font-size:var(--fs-lg);min-width:0}.meta-line{display:flex;align-items:center;gap:var(--sp-1);flex-wrap:wrap;color:var(--muted);font-size:var(--fs-sm)}.meta-line .i{width:var(--icon-sm);height:var(--icon-sm)}.city-sheet .overlay-head{padding:0;border-bottom:0;position:relative}.city-sheet .overlay-head>button{position:absolute;right:var(--sp-2);top:var(--sp-2);color:var(--on-accent)}.city-sheet .overlay-head>button:hover{background:color-mix(in srgb,white 18%,transparent);color:var(--on-accent)}.city-head{flex:1;min-width:0;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) 56px var(--sp-4) var(--sp-4);color:var(--on-accent);background:linear-gradient(90deg,color-mix(in srgb,var(--text) 86%,transparent),color-mix(in srgb,var(--text) 60%,transparent)),var(--city-img) center / cover}.city-head img{width:64px;height:64px;object-fit:contain;flex:none;filter:drop-shadow(0 2px 6px color-mix(in srgb,black 40%,transparent))}.city-head .title{min-width:0}.city-head h2{font-size:var(--fs-xl);color:inherit}.city-head .status{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin-top:var(--sp-1);color:color-mix(in srgb,white 85%,transparent);font-size:var(--fs-sm)}.steps{list-style:none;margin:0 0 var(--sp-4);padding:0;display:flex;gap:var(--sp-1);counter-reset:step}.steps li{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2);border-radius:var(--r-sm);background:var(--surface-2);color:var(--muted);font-size:var(--fs-sm);font-weight:500}.steps li>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.steps .num{width:24px;height:24px;border-radius:50%;border:1px solid var(--border-strong);display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:700;flex:none}.steps li.current{background:var(--accent-soft);color:var(--accent-ink)}.steps li.current .num{background:var(--accent);color:var(--on-accent);border-color:transparent}.steps li.done{color:var(--success)}.steps li.done .num{background:var(--success-soft);color:var(--success);border-color:transparent}.step-body>h3{margin-bottom:var(--sp-2)}.sortable{list-style:none;margin:var(--sp-3) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.sortable li{display:flex;align-items:center;gap:var(--sp-1);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--sp-1) var(--sp-1) var(--sp-1) 0;color:var(--text)}.sortable li.dragging{box-shadow:var(--shadow-2);border-color:var(--accent);background:var(--surface)}.sortable .grip{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;width:var(--touch);min-height:var(--touch);align-self:stretch;display:flex;align-items:center;justify-content:center;color:var(--muted);flex:none}.sortable .grip .i{width:var(--icon-md);height:var(--icon-md)}.sortable .body{flex:1;min-width:0}.sortable .arrows{display:flex;flex-direction:column;flex:none}.d-title{font-weight:600}.d-sum{font-size:var(--fs-sm);line-height:var(--lh-ui)}.d-title .muted{white-space:nowrap;font-weight:500}.districts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.district{display:flex;align-items:center;justify-content:flex-start;gap:var(--sp-2);width:100%;min-height:52px;padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-3);text-align:left;white-space:normal;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);font-weight:400;line-height:var(--lh-ui)}.district:hover{background:var(--surface-2);border-color:var(--border-strong)}.district.done{border-color:var(--success)}.district .num{width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-weight:700;font-size:var(--fs-xs);display:inline-flex;align-items:center;justify-content:center;flex:none}.district.done .num{background:var(--success)}.district.extra .num{background:var(--accent-soft);color:var(--accent-ink)}.district .body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.district .check{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);flex:none}.district .check.on{background:var(--success);color:var(--on-accent);animation:popCheck .4s var(--spring)}.district.locked .check{color:var(--warn)}.cipher{margin-top:var(--sp-4);padding:var(--sp-3);background:var(--surface-2);border-radius:var(--r-sm)}.cipher .letters{display:flex;flex-wrap:wrap;gap:var(--sp-1);margin-top:var(--sp-2)}.cipher .letters span{width:28px;height:32px;border-radius:var(--r-xs);background:var(--surface);border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:var(--muted)}.cipher .letters span.on{background:var(--accent);color:var(--on-accent);border-color:transparent;animation:flipIn .45s var(--spring)}.capture .row.nowrap input{flex:1 1 auto;min-width:0}.capture .key-input{text-transform:uppercase;letter-spacing:.1em;font-family:var(--font-mono)}.capture p .i{vertical-align:-.2em;color:var(--accent)}.disclose{border-top:1px solid var(--border);margin-top:var(--sp-3)}.disclose>summary{list-style:none;display:flex;align-items:center;gap:var(--sp-2);min-height:var(--touch);cursor:pointer;font-weight:600}.disclose>summary::-webkit-details-marker{display:none}.disclose>summary>.i:first-child{color:var(--accent)}.disclose>summary .chev{margin-left:auto;color:var(--muted);transition:transform var(--dur-fast)}.disclose[open]>summary .chev{transform:rotate(180deg)}.disclose>:not(summary){padding-bottom:var(--sp-3)}.disclose.sm{border-top:0;margin-top:var(--sp-2)}.disclose.sm>summary{min-height:40px;font-weight:500;font-size:var(--fs-sm);color:var(--link)}.disclose.sm>summary>.i:first-child{color:var(--link)}.task-view .back-btn{margin-left:calc(-1 * var(--sp-3))}.task-view .prompt{font-size:var(--fs-lg);line-height:var(--lh-text);margin:var(--sp-3) 0}.no-copy{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.choices{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.choices button{width:100%;justify-content:flex-start;text-align:left;white-space:normal;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);background:var(--surface);color:var(--text);border:1px solid var(--border);font-weight:400;line-height:var(--lh-ui)}.choices button:hover{background:var(--surface-2)}.choices button.on{border-color:var(--accent);background:var(--accent-soft)}.choices .radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--border-strong);flex:none}.choices button.on .radio{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 3px var(--surface)}.lock-note{display:flex;flex-direction:column;gap:var(--sp-2);color:var(--text)}.lock-note>.row:first-child{color:var(--danger)}.lock-note button.secondary{background:var(--surface)}.dispute-form{display:flex;flex-direction:column}.dispute-form label{margin-top:var(--sp-2)}.dispute-form textarea{user-select:text;-webkit-user-select:text}.dispute-form .actions{margin-top:var(--sp-2)}.war h3,.passage-section h3{font-size:var(--fs-md)}.declare .row.nowrap input{max-width:12ch}.battle{margin-top:var(--sp-3);padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2)}.battle .strong .i{color:var(--accent);vertical-align:-.2em}.verses{list-style:none;margin:var(--sp-2) 0;padding:0;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);overflow:hidden}@media(min-width:640px){.verses{max-height:300px;overflow:auto}}.verses li{border-top:1px solid var(--border)}.verses li:first-child{border-top:0}.verses button{width:100%;justify-content:flex-start;align-items:flex-start;text-align:left;white-space:normal;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:transparent;color:var(--text);border:0;border-radius:0;font-weight:400;font-size:var(--fs-sm);line-height:var(--lh-ui)}.verses button:hover{background:var(--surface-2)}.verses button:disabled{opacity:1}.verses .box{width:20px;height:20px;border-radius:var(--r-xs);border:1px solid var(--border-strong);flex:none;display:inline-flex;align-items:center;justify-content:center;background:var(--surface);margin-top:1px}.verses .box .i{width:14px;height:14px}.verses .ref{color:var(--muted);flex:none;min-width:40px;font-weight:600}.verses li.on button{background:var(--accent-soft)}.verses li.on .box{border-color:var(--accent);color:var(--accent)}.verses li.done button{background:var(--success-soft)}.verses li.done .box{background:var(--success);border-color:var(--success);color:var(--on-accent)}.chapter-select{width:auto;min-width:9ch}.how-to{max-width:640px;margin:0 auto}.how-to .card{margin-bottom:0}.how-to .changelog{padding-left:1.2em}.how-to .changelog li{line-height:var(--lh-body, 1.5)}.how-to .guide-toc{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.how-to .guide-toc a{font-size:var(--fs-sm);padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--text);text-decoration:none}.how-to .guide-figs{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:flex-start}.how-to .guide-fig{margin:0;flex:1 1 200px;max-width:260px}.how-to .guide-fig.wide{flex-basis:100%;max-width:100%}.how-to .guide-fig img{display:block;width:100%;height:auto;border-radius:var(--r-sm);border:1px solid color-mix(in srgb,var(--text) 14%,transparent);box-shadow:var(--shadow-1)}.how-to .guide-fig figcaption{font-size:var(--fs-sm);color:var(--muted);margin-top:var(--sp-1)}.how-to section[id]{scroll-margin-top:var(--sp-4)}.m-edge line.dashed{stroke-dasharray:calc(7px * var(--inv, 1)) calc(6px * var(--inv, 1))}.deed-sheet details.codex{margin-top:var(--sp-2)}.deed-sheet details.codex ol{margin:var(--sp-2) 0 0;padding-left:1.2em}.deed-sheet details.codex li{margin-bottom:4px}.deed-sheet .chips label.check.inline{display:inline-flex;align-items:center;gap:6px;margin:0 var(--sp-2) var(--sp-1) 0;padding:4px 10px;border:1px solid var(--border);border-radius:999px;font-size:14px}.deed-sheet .field .label{display:block;font-weight:600;margin-bottom:4px}.lock{--lock-metal: #6B6258;--lock-dark: #3E3730;--lock-light: #A79C8E;--lock-tex: url(/img/lock/body.webp);--shackle-w: 152px;margin-top:var(--sp-3);position:relative;padding-top:74px}.lock .shackle{position:absolute;top:0;left:50%;width:var(--shackle-w);height:112px;transform:translate(-50%);transform-origin:76% 100%;transition:transform .55s var(--spring);z-index:0}.lock .shackle svg{width:100%;height:100%;overflow:visible}.lock .shackle path{fill:none;stroke-linecap:butt}.lock .shackle .shk-shadow{stroke:#00000059;stroke-width:22;filter:blur(3px)}.lock .shackle .shk-base{stroke:#3a3835;stroke-width:22}.lock .shackle .shk-body{stroke:url(#shk);stroke-width:18}.lock .shackle .shk-hi{stroke:#ffffff8c;stroke-width:3;stroke-linecap:round}.lock.open .shackle{transform:translate(-50%) translateY(-22px) rotate(-16deg)}.lock.jam{animation:lockJam .5s var(--ease-out)}.lock-body{position:relative;z-index:1;border-radius:14px 14px 22px 22px;padding:var(--sp-3);color:#f4eee4;background:linear-gradient(180deg,#261e166b,#261e1680),var(--lock-tex, linear-gradient(160deg, var(--lock-light) 0%, var(--lock-metal) 35%, var(--lock-dark) 100%));background-size:cover,cover;background-position:center,center;box-shadow:inset 0 1px #ffffff47,inset 0 -3px 8px #00000073,inset 0 0 0 1px #00000059,0 10px 22px #00000059}.lock-body:before,.lock-body:after{content:"";position:absolute;top:-1px;width:30px;height:12px;border-radius:0 0 8px 8px;background:linear-gradient(180deg,#17150f,#3b342c);box-shadow:inset 0 -2px 3px #ffffff1f,0 1px #ffffff26}.lock-body:before{left:calc(50% - var(--shackle-w) * .5 + 5px)}.lock-body:after{left:calc(50% + var(--shackle-w) * .5 - 35px)}.lock-top .strong{display:inline-flex;align-items:center;gap:var(--sp-1);color:inherit}.lock-top .ghost{color:#f4eee4}.lock-body .hint{color:#f4eee4cc;margin:var(--sp-1) 0 0}.lock-body .sortable li{background:#ffffffe6;color:var(--text)}.rings{list-style:none;margin:var(--sp-3) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.ring{display:grid;grid-template-columns:26px 1fr;grid-template-rows:auto auto auto;grid-template-areas:"pos up" "pos drum" "pos down";align-items:center;column-gap:var(--sp-2);background:linear-gradient(180deg,#00000059,#ffffff14 50%,#00000059);border:1px solid rgba(0,0,0,.45);border-radius:var(--r-sm);padding:2px var(--sp-2)}.ring .pos{grid-area:pos;width:24px;height:24px;border-radius:50%;background:#0006;display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:700}.ring .turn,.ring .turn:hover,.ring .turn:focus-visible,.ring .turn:active{grid-area:up;justify-self:center;color:#f4eee4;background:transparent;min-height:28px;padding:0 var(--sp-3)}.ring .turn:disabled{color:#f4eee447;background:transparent}.ring .turn+.drum+.turn{grid-area:down}.ring .drum{grid-area:drum;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:44px;justify-content:center;overflow:hidden}.ring .ghost-item{font-size:var(--fs-xs);opacity:.4;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.ring .cur{display:flex;flex-direction:column;align-items:center;gap:1px;font-weight:600;padding:5px 12px;border-radius:var(--r-xs);background:#100c089e;box-shadow:inset 0 0 0 1px #ffffff24;max-width:100%}.ring .cur small{color:#f4eee4cc;font-weight:400;font-size:var(--fs-xs);line-height:1.3}.ring.spin-up .cur{animation:ringSpinUp .22s var(--ease-out)}.ring.spin-down .cur{animation:ringSpinDown .22s var(--ease-out)}.lock.strips .ring .cur{background:#f3ead3;color:var(--text);font-family:Georgia,Times New Roman,serif;font-style:italic;clip-path:polygon(0 6%,4% 0,12% 8%,22% 2%,35% 9%,48% 1%,60% 8%,72% 2%,85% 9%,96% 1%,100% 8%,100% 92%,95% 100%,84% 93%,70% 100%,58% 92%,45% 99%,30% 92%,18% 100%,6% 93%,0 100%);padding:6px 14px}.lock.strips .ring .ghost-item{font-family:Georgia,serif;font-style:italic}.pins{margin-top:var(--sp-3);display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.pin-row{display:inline-flex;gap:4px;align-items:flex-end;height:18px}.pin-row i{display:inline-block;width:6px;height:12px;border-radius:3px 3px 1px 1px;background:#00000073}.pin-row i.up{height:18px;background:var(--danger);animation:pinUp .35s var(--spring)}@keyframes lockJam{0%,to{transform:none}20%{transform:translate(-4px) rotate(-.5deg)}40%{transform:translate(4px) rotate(.5deg)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}@keyframes ringSpinUp{0%{transform:translateY(14px);opacity:.3}to{transform:none;opacity:1}}@keyframes ringSpinDown{0%{transform:translateY(-14px);opacity:.3}to{transform:none;opacity:1}}@keyframes pinUp{0%{height:12px}to{height:18px}}.ring.single .drum{min-height:72px}.ring.single .cur{font-size:var(--fs-md);padding:6px 12px}.ring.single .pos .i{width:14px;height:14px}.seal-wrap{position:relative;display:inline-block;flex:none;line-height:0}.seal-wrap>.seal{position:relative;z-index:2;display:block;width:100%;height:100%}.seal-wrap:not(.imprint){background:url(/img/props/seal-bronze.webp) center / 100% 100% no-repeat;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3))}.seal-wrap:not(.imprint)>.seal{transform:scale(var(--seal-fit, .84))}.seal .rim{fill:none;stroke:#00000047;stroke-width:1}.seal .sector{fill:#ffffff14;stroke:#fff4dc61;stroke-width:.8;transition:fill .3s}.seal .sector.on{fill:color-mix(in srgb,var(--accent) 80%,transparent)}.seal .sector.struck{animation:strike .6s var(--spring);transform-origin:50px 50px}.seal .glyph{fill:transparent;font-weight:700;font-family:var(--font-mono)}.seal .glyph.on{fill:#fff6e6}.seal .core{fill:#160e0680;stroke:#fff4dc59;stroke-width:1}.seal .core-text{fill:#fff6e6;font-weight:700;font-family:var(--font-mono)}.seal-wrap.imprint .wax-color,.seal-wrap.imprint .wax-relief{position:absolute;inset:0;display:block}.seal-wrap.imprint .wax-color{background:var(--wax, #9E2B2B);-webkit-mask:url(/img/props/wax-seal.webp) center / 100% 100% no-repeat;mask:url(/img/props/wax-seal.webp) center / 100% 100% no-repeat}.seal-wrap.imprint .wax-relief{background:url(/img/props/wax-seal.webp) center / 100% 100% no-repeat;mix-blend-mode:hard-light}.seal-wrap.imprint>.seal{transform:scale(var(--seal-fit, .66))}.seal.imprint .rim{fill:none;stroke:none}.seal.imprint .sector{fill:#00000014;stroke:#ffffff29}.seal.imprint .sector.on{fill:#00000042}.seal.imprint .glyph.on{fill:#ffece2eb}.seal.imprint .core{fill:#00000047;stroke:#fff3}.seal.imprint .core-text{fill:#ffece2f2}.seal-wrap.corner{opacity:.95}@keyframes strike{0%{transform:scale(1)}30%{transform:scale(1.18)}to{transform:scale(1)}}.cipher{display:flex;align-items:center;gap:var(--sp-3)}.cipher-side{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.envelope{position:relative;margin-top:var(--sp-3);padding:var(--sp-3);border-radius:var(--r-md);background:linear-gradient(#ffffff59,#ffffff59),url(/img/props/parchment.webp) center / 512px repeat #f7f1e4;border:1px solid #E0D3B8;box-shadow:var(--shadow-1);overflow:hidden}.envelope .paper{position:relative;height:96px;margin:0 auto var(--sp-2);max-width:300px;background:url(/img/props/parchment.webp) center / 512px repeat #efe4cc;border:1px solid #D6C6A4;border-radius:var(--r-sm);overflow:visible}.envelope .flap{position:absolute;inset:0 0 auto;height:52px;background:linear-gradient(180deg,#0000000f,#00000029),url(/img/props/parchment.webp) center / 512px repeat #d6c6a4;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:50% 0;transition:transform .6s var(--spring)}.envelope .wax{position:absolute;left:50%;top:14px;width:86px;height:86px;transform:translate(-50%);transition:transform .5s var(--spring),filter .4s;filter:drop-shadow(0 3px 4px rgba(0,0,0,.3))}.envelope.broken .flap{transform:rotateX(160deg)}.envelope.broken .wax{transform:translate(-50%) translateY(14px) rotate(18deg);filter:drop-shadow(0 3px 4px rgba(0,0,0,.3)) brightness(.7);clip-path:polygon(0 0,55% 0,45% 100%,0 100%)}.envelope.scratched .wax{animation:lockJam .5s var(--ease-out)}.envelope.dry .wax{filter:grayscale(.8) drop-shadow(0 3px 4px rgba(0,0,0,.3))}.envelope .cipher-line{display:flex;flex-direction:column;align-items:center;gap:2px;margin:var(--sp-2) 0}.envelope .cipher-text{font-family:var(--font-mono);font-size:var(--fs-xl);letter-spacing:.25em;padding-left:.25em;color:var(--accent-ink)}.envelope p .i{vertical-align:-.2em;color:var(--accent)}.key-cells{position:relative;display:flex;gap:6px;justify-content:center;margin:var(--sp-1) 0 var(--sp-2);cursor:text}.key-cells .cell{width:40px;height:48px;border-radius:var(--r-xs);border:1px solid var(--border-strong);background:var(--surface);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:var(--fs-xl);font-weight:700;color:var(--text)}.key-cells .cell.on{border-color:var(--accent);background:var(--accent-soft)}.key-cells:focus-within .cell.cursor{box-shadow:var(--ring)}.key-cells .key-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;font-size:16px}.envelope .charter{text-align:center;padding:var(--sp-3);margin-top:var(--sp-2);border:2px double var(--accent-strong);border-radius:var(--r-sm);background:url(/img/props/parchment.webp) center / 512px repeat #fbf6ea;animation:charterIn .6s var(--spring)}.envelope .charter .crowns{color:var(--accent);display:flex;justify-content:center;gap:var(--sp-1)}.envelope .charter .crowns .i{width:26px;height:26px}.envelope .charter.foreign{border-style:dashed}@keyframes charterIn{0%{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}.burnt .scroll-paper{position:relative;margin:var(--sp-3) 0;padding:var(--sp-3) var(--sp-3);border:34px solid transparent;border-image:url(/img/props/scroll-burnt.webp) 118 fill / 34px / 0 stretch;background:none;filter:drop-shadow(0 4px 8px rgba(0,0,0,.22));font-family:Georgia,Times New Roman,serif;font-size:var(--fs-lg);line-height:1.8;color:#3a2a17}.burnt .hole{display:inline-block;margin:0 .2em;vertical-align:baseline}.burnt .hole input{width:8ch;min-width:8ch;height:1.7em;padding:0 .3em;border:0;border-bottom:2px solid #7A5A2E;border-radius:4px 4px 0 0;background:radial-gradient(ellipse at 50% 60%,#46280a2e,#46280a0d);font:inherit;color:#1e140a;text-align:center;letter-spacing:.02em}.burnt .hole input:focus{outline:none;box-shadow:0 2px 0 var(--accent)}.burnt .hole input:not(:placeholder-shown){animation:inkIn .4s var(--ease-out)}@keyframes inkIn{0%{color:transparent}to{color:#1e140a}}.crossword{margin-top:var(--sp-2)}.cw-grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:2px;max-width:calc(var(--cols) * 34px);margin:0 auto var(--sp-3)}.cw-cell{position:relative;aspect-ratio:1}.cw-cell.empty{visibility:hidden}.cw-cell input{width:100%;height:100%;min-height:0;padding:0;text-align:center;text-transform:uppercase;font-weight:700;font-size:var(--fs-md);border:1px solid var(--border-strong);border-radius:3px;background:var(--surface)}.cw-cell.active input{background:var(--accent-soft);border-color:var(--accent)}.cw-cell .cw-n{position:absolute;top:1px;left:3px;font-size:9px;line-height:1;color:var(--muted);pointer-events:none;z-index:1}.cw-clues{display:flex;flex-direction:column;gap:var(--sp-2)}.cw-list{list-style:none;margin:var(--sp-1) 0 0;padding:0;display:flex;flex-direction:column}.cw-list li.active>button{background:var(--accent-soft)}.cw-list button{width:100%;justify-content:flex-start;text-align:left;white-space:normal;padding:4px var(--sp-2);font-weight:400;color:var(--text);line-height:var(--lh-ui)}.pick-cooling{display:inline-flex;align-items:center;gap:var(--sp-2)}.pick-cooling .track{fill:none;stroke:var(--border);stroke-width:3}.pick-cooling .heat{fill:none;stroke:var(--danger);stroke-width:3;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset 1s linear}.pick-cooling .pick{fill:none;stroke:var(--text);stroke-width:1.8;stroke-linecap:round}.candle{display:inline-flex;align-items:center;gap:6px;padding:2px 8px 2px 4px;border-radius:999px;background:#00000047;color:color-mix(in srgb,white 90%,transparent)}.candle img{flex:none;height:30px;width:auto;margin:-4px 0}.candle.lit img{animation:candleGlow 1.4s ease-in-out infinite alternate}@keyframes candleGlow{0%{filter:drop-shadow(0 0 3px rgba(255,200,90,.55))}to{filter:drop-shadow(0 0 7px rgba(255,190,70,.95))}}.district.set{background:color-mix(in srgb,hsl(var(--d-hue) 65% 55%) 12%,var(--surface));border-color:color-mix(in srgb,hsl(var(--d-hue) 65% 45%) 40%,var(--border))}.district.set .num{background:hsl(var(--d-hue) 55% 42%)}.district.set.done .num{background:var(--success)}.districts li.reveal{animation:freezeIn .5s var(--spring) both}.district .window{width:10px;height:14px;border-radius:5px 5px 2px 2px;background:#ffd98a;box-shadow:0 0 8px 2px #ffc85ab3;flex:none}@keyframes freezeIn{0%{transform:translate(-12px);opacity:.2;filter:grayscale(1)}to{transform:none;opacity:1;filter:none}}.prophet-letter{background:url(/img/props/parchment.webp) center / 512px repeat #f3e6c8;border:1px solid #D9C8A5;box-shadow:inset 0 0 40px #78501e1f,0 2px 6px #0000001f;font-family:Georgia,Times New Roman,serif}.prophet-letter .letter-head{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin-bottom:var(--sp-2);font-family:var(--font)}.prophet-letter .letter-head .i{color:var(--accent)}.prophet-letter .letter-sign{margin-top:var(--sp-2);text-align:right;font-family:var(--font)}.feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.feed li{display:flex;gap:var(--sp-2);padding:var(--sp-2) 0;border-top:1px solid var(--border);align-items:flex-start}.feed li:first-child{border-top:0}.feed .ico{width:28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);display:inline-flex;align-items:center;justify-content:center;flex:none;margin-top:2px}.feed .ico .i{width:16px;height:16px}.feed li.news .ico{background:var(--info-soft);color:var(--info)}.feed .body{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:var(--fs-sm);line-height:var(--lh-ui)}.feed .meta{color:var(--muted);font-size:var(--fs-xs)}.feed details summary{cursor:pointer;font-weight:600}.feed details p{margin:var(--sp-1) 0 0}.feed.compact li{padding:6px 0}.service{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.service .svc-stat{flex:1 1 70px;min-width:70px;display:flex;flex-direction:column;align-items:center;padding:var(--sp-2);border-radius:var(--r-sm);background:var(--surface-2)}.service .svc-stat b{font-size:var(--fs-xl);line-height:1.1;color:var(--accent-ink)}.service .svc-stat span{font-size:var(--fs-xs);color:var(--muted)}.standing .peace-slot{margin-left:auto;display:inline-flex}.standing .peace-btn{color:var(--accent)}.standing .peace-row{display:flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-1)}@media(max-width:639px){.tabs.stacked>button{padding:0 2px;font-size:11px;letter-spacing:-.01em}.tabs.stacked>button>span:not(.count-chip){max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.checklist{list-style:none;margin:0;padding:0}.checklist>li{display:flex;gap:var(--sp-3);align-items:flex-start;padding:var(--sp-3) 0;border-top:1px solid var(--border)}.checklist>li:first-child{border-top:0}.checklist .step{width:28px;height:28px;border-radius:50%;flex:none;display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-sm);font-weight:700;background:var(--surface-2);border:1px solid var(--border-strong);color:var(--muted);margin-top:2px}.checklist .step.done{background:var(--success-soft);border-color:transparent;color:var(--success)}.checklist .step .i{width:16px;height:16px}.checklist .body{flex:1 1 200px;min-width:0;display:flex;flex-direction:column;gap:var(--sp-1)}.checklist .body .title{font-weight:600}.checklist .act{flex:none;display:flex;align-items:center;min-height:32px}.problems{margin-top:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-2)}.problems .note{margin:0}.problems .note a.fix{display:block;margin-top:var(--sp-1);font-weight:600}.summary-tiles{display:grid;gap:var(--sp-3);grid-template-columns:1fr 1fr}.summary-tiles a{display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);color:var(--text);min-height:var(--touch)}.summary-tiles a:hover{text-decoration:none;border-color:var(--border-strong)}.summary-tiles .sum-value{font-size:var(--fs-xl);font-weight:700;line-height:var(--lh-tight)}.summary-tiles .sum-value.hot{color:var(--accent-ink)}.summary-tiles .sum-label{color:var(--muted);font-size:var(--fs-sm);display:inline-flex;align-items:center;gap:var(--sp-1)}.standing-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;border-top:1px solid var(--border)}.standing-row:first-child{border-top:0}.standing-row .rank{width:20px;color:var(--muted);font-weight:700;font-size:var(--fs-sm);text-align:center;flex:none}.standing-row .body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.standing-row .name{font-weight:600;display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.standing-row .nums{color:var(--muted);font-size:var(--fs-sm)}.standing-row.out .name,.standing-row.out .nums{color:var(--muted)}.standing-row.out .name{font-weight:500}.taken-cities{display:flex;flex-direction:column;gap:var(--sp-2)}.taken-cities .row{align-items:flex-start}.taken-cities .lost{text-decoration:line-through}.admin-map{position:relative}.view-as{display:flex;gap:var(--sp-2);overflow-x:auto;padding:0 0 var(--sp-3);scrollbar-width:none}.view-as::-webkit-scrollbar{display:none}.view-as .chip-btn{flex:none;display:inline-flex;align-items:center;gap:var(--sp-2);min-height:36px;padding:0 var(--sp-3) 0 var(--sp-2);border-radius:var(--r-full);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:var(--fs-sm);font-weight:600}.view-as .chip-btn.on{background:var(--accent-soft, var(--surface-2));border-color:var(--accent);color:var(--accent-ink)}.view-as .chip-btn .avatar.team{width:22px;height:22px;font-size:11px}.view-as-hint{margin-top:var(--sp-2)}.mapwrap.team-view{cursor:default}.mapwrap .map-state{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:var(--sp-4)}@media(max-width:639px){.view-as{padding:var(--sp-2) var(--gutter) var(--sp-2)}.view-as-hint{padding:0 var(--gutter)}}.mapwrap{position:relative;width:100%;height:min(70vh,640px);min-height:360px;overflow:hidden;background:var(--map-bg);border-radius:var(--r-md);border:1px solid var(--border);touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}.mapwrap svg{display:block}.adm-edge{stroke:#1f1b1640;stroke-width:calc(1.5px / var(--k, 1))}.adm-path{stroke-width:calc(5px/max(1.6,var(--k, 1)));stroke-linecap:round}.adm-sea{fill:none;stroke-width:calc(3px/max(1.6,var(--k, 1)));stroke-dasharray:calc(6px / var(--k, 1)) calc(5px / var(--k, 1));stroke-linecap:round;opacity:.9}@media(max-width:639px){.admin-map{touch-action:none}.admin-map .mapwrap{height:calc(100dvh - var(--topbar-h) - 140px);min-height:420px;border-radius:0;border-left:0;border-right:0}.map-card{margin-left:calc(-1 * var(--gutter));margin-right:calc(-1 * var(--gutter));padding:0;border-left:0;border-right:0;border-radius:0}.map-card>:not(.admin-map){padding:var(--sp-3) var(--gutter)}.map-card .mapwrap{border-top:0}}.mapwrap .pick{cursor:pointer}.mapwrap .pick:hover>.hit{fill:#ffffff2e}.mapwrap .quiet{pointer-events:none}.admin-map .map-controls{position:absolute;right:var(--sp-3);top:var(--sp-3);z-index:5;display:flex;flex-direction:column;gap:var(--sp-2)}.admin-map .map-controls button{width:var(--touch);box-shadow:var(--shadow-1)}.admin-map .overlay-backdrop.absolute{border-radius:var(--r-md)}.admin-map .overlay{max-height:100%}.admin-map .overlay .list .main{flex-basis:120px}@media(min-width:640px){.admin-map .overlay{max-height:calc(100% - 2 * var(--sp-4))}}.keys{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-2) var(--sp-3);align-items:center;margin:0}.keys dt{color:var(--muted);font-size:var(--fs-sm)}.keys dd{margin:0}.keys .key{font-family:var(--font-mono);font-size:var(--fs-lg);font-weight:700;letter-spacing:.12em;background:var(--surface-2);padding:0 var(--sp-2);border-radius:var(--r-xs);border:1px solid var(--border-strong)}details.fold{border-top:1px solid var(--border)}details.fold>summary{list-style:none;display:flex;align-items:center;gap:var(--sp-2);min-height:var(--touch);cursor:pointer;font-weight:600;color:var(--text)}details.fold>summary::-webkit-details-marker{display:none}details.fold>summary .chev{margin-left:auto;color:var(--muted);transition:transform var(--dur-fast)}details.fold[open]>summary .chev{transform:rotate(180deg)}details.fold>summary .count{color:var(--muted);font-weight:400}details.fold.test>summary{color:var(--muted);font-weight:500}details.fold.test>summary .i:first-child{color:var(--warn)}.admin-districts{margin:0 0 var(--sp-3);padding-left:1.4rem;display:flex;flex-direction:column;gap:var(--sp-3)}.admin-districts .note{margin:var(--sp-1) 0 0}.test-actions{display:flex;flex-direction:column;gap:var(--sp-2);padding-bottom:var(--sp-3)}.test-actions .row button{flex:1 1 auto}details.legend{margin-top:var(--sp-2);font-size:var(--fs-sm);color:var(--muted)}details.legend>summary{list-style:none;display:inline-flex;align-items:center;gap:var(--sp-1);min-height:32px;cursor:pointer}details.legend>summary::-webkit-details-marker{display:none}details.legend .items{display:flex;gap:var(--sp-2) var(--sp-4);flex-wrap:wrap;margin-top:var(--sp-1)}details.legend .items span{display:inline-flex;align-items:center;gap:var(--sp-1)}.sw{display:inline-block;width:14px;height:14px;flex:none}.sw.dot{border-radius:50%;background:var(--c);border:2px solid var(--surface);box-shadow:0 0 0 1px var(--border-strong)}.sw.spot{width:8px;height:8px;border-radius:50%;background:var(--c, var(--muted));margin:0 3px}.sw.line{height:4px;width:20px;border-radius:2px;background:var(--muted)}.sw.ring{border-radius:50%;border:3px solid var(--muted);background:color-mix(in srgb,var(--muted) 30%,transparent)}.sw.ring.bad{border-color:var(--danger);background:transparent;border-style:dashed}.timeline{margin-top:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2)}.timeline .tl-now{display:flex;flex-direction:column;gap:2px;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);font-size:var(--fs-sm)}.timeline .tl-now.live{background:var(--accent-soft);border-color:transparent;color:var(--accent-ink)}.timeline .tl-now strong{font-weight:600}.timeline input[type=range]{width:100%;cursor:pointer}.review-head .count-chip{margin-left:var(--sp-1)}.review-item .links{display:flex;gap:var(--sp-2);flex-wrap:wrap}.review-item .report{white-space:pre-wrap}.return-box{flex:1 1 100%;display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-sm);background:var(--surface-2)}.trial{padding:var(--sp-3) 0;border-top:1px solid var(--border)}.trial:first-child{border-top:0}.trial .sides{display:flex;gap:var(--sp-2) var(--sp-3);flex-wrap:wrap;align-items:center}.trial .sides .who{display:inline-flex;align-items:center;gap:var(--sp-1)}.trial .cols{display:grid;gap:var(--sp-2) var(--sp-4);grid-template-columns:1fr;margin-top:var(--sp-2);font-size:var(--fs-sm);color:var(--muted)}@media(min-width:640px){.trial .cols{grid-template-columns:1fr 1fr}}.trial .cols strong{color:var(--text);font-weight:600}.trial .list{margin-top:var(--sp-2)}.team-block{padding:var(--sp-2) 0;border-top:1px solid var(--border)}.team-head{display:flex;align-items:center;gap:var(--sp-2);cursor:pointer;padding:var(--sp-1) 0;border-radius:var(--r-md)}.team-head:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.team-head .rank{width:20px;color:var(--muted);font-weight:700;font-size:var(--fs-sm);text-align:center;flex:none}.team-head .body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.team-head .name{font-weight:600;display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.team-head .nums{color:var(--muted);font-size:var(--fs-sm)}.team-head .chev{width:18px;height:18px;color:var(--muted);transform:rotate(90deg);transition:transform .2s;flex:none}.team-block.open .team-head .chev{transform:rotate(-90deg)}.team-block.out .team-head .name,.team-block.out .team-head .nums{color:var(--muted)}.team-invites{margin:var(--sp-2) 0 0;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.team-invites .menu,.team-invites>:last-child{margin-left:auto}.team-block:first-of-type{border-top:0}.team-block .list{margin-top:var(--sp-2)}.team-block .list>li{padding:var(--sp-2) 0}.team-block .member-row{align-items:center}.team-block .member-row .main{flex:1 1 0;min-width:0}.team-block .member-row .side{flex:none;flex-wrap:nowrap}.team-block .member-row .role-pick .chip{max-width:140px;overflow:hidden}.role-tray.compact{flex-direction:row;flex-wrap:wrap;gap:var(--sp-1);padding-left:40px}.role-tray.compact .chip-btn{min-height:32px;padding:0}.role-tray.compact .chip{height:28px;padding:0 var(--sp-3)}@media(max-width:420px){.role-tray.compact{padding-left:0}}.team-block .list select{width:auto;min-width:140px}.invite-btns{display:inline-flex;gap:var(--sp-1)}.invite-fallback{word-break:break-all;margin-top:var(--sp-2)}.deed-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.settings-group{padding-top:var(--sp-4);margin-top:var(--sp-4);border-top:1px solid var(--border)}.settings-group:first-of-type{padding-top:0;margin-top:0;border-top:0}.settings-group h3{margin-bottom:var(--sp-2)}.settings-group .sub{margin-left:28px}.money{display:flex;gap:var(--sp-2);align-items:flex-end}.money input[type=number]{max-width:14ch}.money input.cur{max-width:8ch}.push-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-3);color:var(--muted);font-size:var(--fs-sm)}.push-row span{flex:1 1 200px}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--sp-2)}.tile{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--sp-3)}.tile .value{font-size:var(--fs-xl);font-weight:700;line-height:var(--lh-tight)}.tile .cap{color:var(--muted);font-size:var(--fs-sm);margin-top:var(--sp-1)}.tile .hint{margin-top:0;font-size:var(--fs-xs)}.tile .delta{font-size:var(--fs-xs);margin-top:var(--sp-1);font-weight:600}.tile .delta.up{color:var(--success)}.tile .delta.down{color:var(--danger)}.tile .delta.flat{color:var(--muted)}.tile .delta .muted{font-weight:400}.spark{margin-top:var(--sp-2)}.spark svg{display:block;width:100%;height:36px}.spark-label{font-size:var(--fs-xs);color:var(--muted);margin-top:2px;font-variant-numeric:tabular-nums}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.data-table th,.data-table td{text-align:left;padding:var(--sp-2);border-top:1px solid var(--border);white-space:nowrap}.data-table th{color:var(--muted);font-weight:500;border-top:0}.labels{display:flex;flex-direction:column;gap:6mm}.label-row{display:grid;grid-template-columns:1fr 1fr;gap:0;break-inside:avoid;page-break-inside:avoid}.labels .label{border:1px dashed #8a8378;padding:5mm 6mm;min-height:48mm;display:flex;flex-direction:column;gap:2mm;background:#fff;color:#1f1b16;font-size:11pt}.labels .label.outer{border-right:0}.label .lbl-top{display:flex;justify-content:space-between;font-size:8.5pt;color:#6b645a}.label .lbl-num{font-weight:700;border:1px solid #6B645A;border-radius:999px;padding:0 6px}.label .lbl-city{font-size:15pt;font-weight:700}.label .lbl-to{font-size:11pt}.label .lbl-code{display:flex;flex-direction:column;margin-top:auto}.label .lbl-code strong{font-size:20pt;letter-spacing:.14em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.label .lbl-code strong.key{font-size:24pt}.label .lbl-congrats{font-size:13pt;font-weight:600}.label .lbl-hint{font-size:8.5pt;color:#6b645a}@media(max-width:640px){.label-row{grid-template-columns:1fr}.labels .label.outer{border-right:1px dashed #8a8378;border-bottom:0}}@media print{@page{size:A4;margin:10mm}body{background:#fff!important}body:before,.topbar,.no-print,.toasts{display:none!important}.container{max-width:none;padding:0}.labels{gap:4mm}.label-row{grid-template-columns:1fr 1fr}.labels .label.outer{border-right:0;border-bottom:1px dashed #8a8378}}.support-list li.closed{opacity:.7}.support-list .msg{margin:var(--sp-1) 0;white-space:pre-wrap}.support-reply textarea{width:100%}.support-form{margin-top:var(--sp-3)}.support-form textarea{width:100%}.chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.chips .chip-btn{display:inline-flex;align-items:center;gap:var(--sp-1);min-height:30px;padding:0 var(--sp-3);border-radius:var(--r-full);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:var(--fs-sm);font-weight:500}.admin-screen{position:fixed;inset:0;background:var(--map-bg);overscroll-behavior:none;touch-action:none}.admin-map-area,.admin-map.full{position:absolute;inset:0}.admin-map.full .mapwrap{position:absolute;inset:0;height:auto;min-height:0;border:0;border-radius:0}.admin-map.full .view-as{position:absolute;right:calc(var(--sp-3) + var(--safe-right) + 56px + var(--sp-2));top:calc(var(--sp-3) + var(--safe-top));z-index:5;max-width:min(55vw,720px);padding:var(--sp-1);background:color-mix(in srgb,var(--surface) 88%,transparent);border-radius:var(--r-full);box-shadow:var(--shadow-1)}.admin-map.full .view-as-hint{position:absolute;right:calc(var(--sp-3) + var(--safe-right) + 56px + var(--sp-2));top:calc(var(--sp-3) + var(--safe-top) + 52px);z-index:5;margin:0;padding:var(--sp-1) var(--sp-3);background:color-mix(in srgb,var(--surface) 90%,transparent);border-radius:var(--r-sm);max-width:min(80vw,560px)}.admin-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:var(--sp-4)}.admin-empty .card{max-width:420px;width:100%}.admin-timeline{position:absolute;left:50%;transform:translate(-50%);bottom:calc(var(--sp-3) + var(--safe-bottom));z-index:5;width:min(92vw,440px);padding:var(--sp-2) var(--sp-3);background:color-mix(in srgb,var(--surface) 92%,transparent);border-radius:var(--r-md);box-shadow:var(--shadow-1)}.admin-timeline .timeline{margin-top:0;gap:var(--sp-1)}.admin-timeline .timeline h3,.admin-timeline .timeline .row.between{display:none}.admin-timeline .timeline .tl-now{padding:var(--sp-1) var(--sp-2);font-size:var(--fs-sm)}.admin-top{position:absolute;left:calc(var(--sp-3) + var(--safe-left));top:calc(var(--sp-3) + var(--safe-top));z-index:6;display:flex;align-items:center;gap:var(--sp-2);max-width:calc(100% - 140px)}.admin-title{display:flex;align-items:center;gap:var(--sp-2);min-height:var(--touch);min-width:0;padding:0 var(--sp-3);border-radius:var(--r-full);background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:var(--shadow-1);font-weight:700}.admin-title .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-dock{position:absolute;z-index:6;display:flex;gap:var(--sp-2);left:calc(var(--sp-3) + var(--safe-left));top:calc(var(--sp-3) + var(--safe-top) + 60px);flex-direction:column}.dock-btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:64px;min-height:58px;padding:6px 4px;border-radius:16px;border:1px solid transparent;background:color-mix(in srgb,var(--surface) 94%,transparent);color:var(--text);box-shadow:var(--shadow-1);font:500 11px/1.1 var(--font)}.dock-btn .i{width:22px;height:22px;color:var(--accent-ink)}.dock-btn:hover{background:var(--surface)}.dock-btn.on{background:var(--accent-ink);color:var(--on-accent)}.dock-btn.on .i{color:var(--on-accent)}.dock-btn .badge{position:absolute;top:-5px;right:-5px;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--surface-2, var(--surface));border:1px solid var(--border);color:var(--text);font:700 11px/18px var(--font);text-align:center}.dock-btn .badge.hot{background:var(--danger, #b3402a);border-color:transparent;color:#fff}.admin-popup.overlay-backdrop{z-index:8}.admin-popup .overlay-body .card{box-shadow:none}@media(max-width:767px){.admin-dock{top:auto;left:50%;transform:translate(-50%);bottom:calc(var(--sp-2) + var(--safe-bottom));flex-direction:row;padding:var(--sp-1);background:color-mix(in srgb,var(--surface) 90%,transparent);border-radius:22px;box-shadow:var(--shadow-2)}.dock-btn{width:62px;min-height:52px;box-shadow:none;background:transparent}.admin-timeline{bottom:calc(var(--sp-2) + var(--safe-bottom) + 76px)}.admin-map.full .view-as{left:calc(var(--sp-3) + var(--safe-left));right:auto;transform:none;top:calc(var(--sp-3) + var(--safe-top) + 52px);max-width:calc(100vw - 110px)}.admin-map.full .view-as-hint{left:calc(var(--sp-3) + var(--safe-left));right:auto;transform:none;top:calc(var(--sp-3) + var(--safe-top) + 100px);max-width:calc(100vw - 110px)}.admin-top{max-width:calc(100% - 2 * var(--sp-3))}}.admin-loading{width:min(360px,80vw)}details.settings-group summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:var(--sp-2)}details.settings-group summary::-webkit-details-marker{display:none}details.settings-group summary:after{content:"▾";color:var(--muted);margin-left:auto;transition:transform .15s}details.settings-group[open] summary:after{transform:rotate(180deg)}details.settings-group summary h3{margin:0}.rule-row{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:var(--sp-2);align-items:center;padding:6px 0;border-bottom:1px dashed var(--border)}.rule-row label{margin:0;font-size:14px}.rule-row input{width:100%}@media(max-width:480px){.rule-row{grid-template-columns:1fr}}details.fold-card>summary{list-style:none;display:flex;align-items:center;gap:var(--sp-2);min-height:var(--touch);cursor:pointer;font-weight:600}details.fold-card>summary::-webkit-details-marker{display:none}details.fold-card>summary>.i:first-child{color:var(--accent)}details.fold-card>summary .chev{margin-left:auto;color:var(--muted);transition:transform var(--dur-fast)}details.fold-card[open]>summary .chev{transform:rotate(180deg)}.table.activity td,.table.activity th{white-space:nowrap}.season-book{max-width:820px;margin:0 auto;padding:var(--sp-4) var(--sp-4) var(--sp-6)}.season-book .book-head{text-align:center;margin:var(--sp-4) 0 var(--sp-5);padding-bottom:var(--sp-4);border-bottom:2px double var(--accent-strong)}.season-book .book-head .org{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:var(--fs-xs)}.season-book .book-head h1{font-size:2rem;margin:var(--sp-1) 0}.season-book .book-head .winner{margin-top:var(--sp-2);font-weight:600;color:var(--accent-ink)}.season-book .book-head .winner .i{vertical-align:-.2em}.season-book section{margin-bottom:var(--sp-5);break-inside:avoid}.season-book h2{font-size:var(--fs-lg);margin-bottom:var(--sp-2);display:flex;align-items:center;gap:var(--sp-2)}.season-book h3{font-size:var(--fs-md);margin:var(--sp-3) 0 var(--sp-1)}.season-book .book-standings{list-style:none;margin:0;padding:0}.season-book .book-standings li{display:flex;align-items:center;gap:var(--sp-2);padding:6px 0;border-top:1px solid var(--border)}.season-book .book-standings li:first-child{border-top:0}.season-book .book-standings .rank{width:24px;font-weight:700;color:var(--muted)}.season-book .book-standings .meta{margin-left:auto;color:var(--muted);font-size:var(--fs-sm)}.season-book .book-cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}@media(max-width:600px){.season-book .book-cols{grid-template-columns:1fr}}.season-book ul.plain{margin:0;padding-left:1.2em}.season-book ul.plain li{margin-bottom:4px;line-height:var(--lh-ui)}.season-book .book-chronicle{margin-bottom:var(--sp-3);padding:var(--sp-2) var(--sp-3);background:var(--surface-2);border-radius:var(--r-sm)}.season-book .book-chronicle p{margin:4px 0}@media print{.season-book{max-width:none;padding:0}.season-book section{page-break-inside:avoid}}.review-filters{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center;margin-bottom:var(--sp-2)}.review-filters select{width:auto;min-width:0;max-width:220px;height:var(--control-h-sm)}.review-item .pick{display:flex;align-items:center;padding:6px 4px 0 0}.review-item .pick input{width:20px;height:20px;margin:0}.review-item.picked{background:var(--accent-soft);border-radius:var(--r-sm)}.topbar{background:#f7f0e08c;border-bottom:1px solid rgba(122,78,23,.1);box-shadow:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{color:var(--ink);font:700 var(--fs-xl)/1 var(--font-display);letter-spacing:.01em}.brand:hover{color:var(--bronze-ink)}.brand .mark{filter:none}.user-menu,.user-menu:hover,.user-menu:active{background:transparent;border:0;box-shadow:none;text-shadow:none;transform:none;color:var(--ink);border-radius:var(--r-sm)}.user-menu:hover{color:var(--bronze-ink)}.user-menu .avatar{box-shadow:0 0 0 1px var(--bronze)}.user-menu .i-sm{opacity:.8}.user-menu .name{font-family:var(--font-ui)}button,.btn{font:700 var(--fs-md)/1 var(--font-ui);letter-spacing:.01em;border:1px solid var(--bronze-deep);color:var(--paper-light);background:var(--bronze-ink);box-shadow:var(--shadow-metal);text-shadow:none;transition:background var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast),transform var(--dur-fast),box-shadow var(--dur-fast)}button:hover,.btn:hover{background:var(--bronze-deep)}button:active,.btn:active{transform:translateY(1px);box-shadow:none}button.secondary,.btn.secondary{background:var(--paper-light);color:var(--ink);border-color:var(--border-strong);box-shadow:none}button.secondary:hover,.btn.secondary:hover{background:#fffbf0;border-color:var(--ink-2)}button.ghost,.btn.ghost{background:transparent;color:var(--bronze-ink);border-color:transparent;box-shadow:none}button.ghost:hover,.btn.ghost:hover{background:#7a4e1714;color:var(--ink)}button.danger,.btn.danger{background:var(--wax);border-color:#6a1e19;color:var(--paper-light)}button.danger:hover,.btn.danger:hover{background:var(--wax-ink)}button.danger.secondary{background:var(--paper-light);color:var(--wax-ink);border-color:var(--wax)}button:disabled,.btn[aria-disabled=true]{opacity:1;background:var(--paper-2);color:var(--stone-dark);border-color:var(--paper-edge);box-shadow:none;text-shadow:none}button.ghost:disabled{background:transparent;color:var(--stone);border-color:transparent}label{font-family:var(--font-ui)}input,select,textarea{background:var(--paper-light);border-color:var(--border-strong);border-radius:var(--r-xs);font-family:var(--font-input);box-shadow:none}input:focus,select:focus,textarea:focus{border-color:var(--bronze-ink);box-shadow:var(--ring)}input:read-only:not([type=checkbox]):not([type=radio]){background:var(--paper-2)}input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--paper-light) inset}label.check input{accent-color:var(--bronze-ink)}input[type=range]{accent-color:var(--bronze-ink);background:transparent;box-shadow:none}input[type=range]:read-only:not([type=checkbox]):not([type=radio]){background:transparent}.card{isolation:isolate;background:var(--paper-bg);border:1px solid var(--paper-edge);box-shadow:var(--shadow-paper)}.card:after{display:none}.card.flat{background:var(--paper-2);box-shadow:none}.card[data-tone]{border-top:3px solid var(--tone)}.card-head h2,.card-head h1{font-family:var(--font-display)}.card-head .count{font-family:var(--font-ui)}h1 .ico,h2 .ico,h3 .ico{width:28px;height:28px;border-radius:0;background:none;color:var(--bronze-ink);filter:none;margin-right:2px}h1 .ico .i,h2 .ico .i,h3 .ico .i{width:22px;height:22px}.overlay .card{background:#fffaec4d;border-color:#fffaec99;box-shadow:none}.chip,.badge,.pill,.stat{font:700 var(--fs-xs)/1 var(--font-ui);letter-spacing:.02em;background:var(--paper-light);border-color:var(--paper-edge);color:var(--ink-2);box-shadow:none}.chip.accent,.badge.accent,.chip.we{background:var(--bronze-soft);color:var(--bronze-ink);border-color:transparent}.chip.ok,.badge.ok,.pill.live{background:var(--moss-soft);color:var(--moss-ink);border-color:transparent}.chip.warn,.badge.warn,.pill.draft{background:var(--amber-soft);color:var(--amber-ink);border-color:transparent}.chip.bad,.badge.bad{background:var(--wax-soft);color:var(--wax-ink);border-color:transparent}.chip.info,.badge.info{background:var(--sea-soft);color:var(--sea-ink);border-color:transparent}.chip.solid{background:var(--bronze-ink);color:var(--paper-light);border-color:transparent}.count-chip{min-width:20px;height:20px;padding:0 5px;background:var(--paper-light);border:1px solid var(--bronze);color:var(--bronze-ink);font:700 11px/1 var(--font-ui);text-shadow:none;box-shadow:none}.count-chip.hot{background:var(--wax);border-color:transparent;color:var(--paper-light)}.avatar{box-shadow:0 0 0 1px var(--paper-edge);font-family:var(--font-display);font-weight:700}.avatar.team{box-shadow:none}.avatar.sm{box-shadow:0 0 0 1px var(--paper-edge)}.note,.error{font-family:var(--font-ui);background:var(--paper-2);box-shadow:none}.note.ok{background:var(--moss-soft);color:var(--moss-ink)}.note.warn{background:var(--amber-soft);color:var(--amber-ink)}.note.bad,.error{background:var(--wax-soft);color:var(--wax-ink)}.note.info{background:var(--sea-soft);color:var(--sea-ink)}.note.accent,.hint-box{background:var(--bronze-soft);color:var(--ink)}.state{font-family:var(--font-book);font-style:italic;color:var(--ink-2)}.state .i{color:var(--bronze);opacity:.6}.list>li,.list .item{border-top-color:var(--paper-edge);box-shadow:none}.list .title{font-family:var(--font-book)}.list .meta{font-family:var(--font-ui);color:var(--ink-3)}.list.interactive>li:hover{background:var(--paper-light)}.skeleton{background:linear-gradient(90deg,var(--paper-2) 25%,var(--paper-edge) 50%,var(--paper-2) 75%);background-size:400px 100%}.progress{background:var(--paper-2);box-shadow:none}code{background:var(--paper-light);border-color:var(--paper-edge)}.tabs{background:var(--paper-2);border-color:var(--paper-edge);border-radius:var(--r-sm);padding:3px;box-shadow:none}.tabs>button,.tabs>a{color:var(--ink-2);font:700 var(--fs-sm)/1 var(--font-ui);border-radius:var(--r-xs);text-shadow:none;box-shadow:none}.tabs>button:hover,.tabs>a:hover{background:#fff6e3b3;color:var(--ink)}.tabs>button.active,.tabs>a.active{background:var(--paper-light);color:var(--ink);box-shadow:inset 0 -2px 0 var(--bronze)}.tabs.sticky{background:var(--paper-2)}.overlay{isolation:isolate;background:#fffaec8c;border-top:2px solid var(--bronze);box-shadow:0 10px 30px #3b24152e;overflow:hidden;-webkit-backdrop-filter:blur(18px) saturate(1.05);backdrop-filter:blur(18px) saturate(1.05)}.overlay input,.overlay select,.overlay textarea,.overlay .stepper{background:#fffaecb3}.overlay .overlay-head{border-bottom:1px solid var(--paper-edge);box-shadow:none}.overlay .overlay-head h2{font:700 var(--fs-xl)/var(--lh-tight) var(--font-display)}.overlay .overlay-foot{border-top:1px solid var(--paper-edge)}.overlay .grabber{background:var(--bronze-light);width:36px}@media(min-width:640px){.overlay{border:1px solid var(--paper-edge);border-top:2px solid var(--bronze)}}.modal{background:#fffaec9e;border:1px solid rgba(255,250,236,.75);box-shadow:0 10px 30px #3b24152e;-webkit-backdrop-filter:blur(16px) saturate(1.05);backdrop-filter:blur(16px) saturate(1.05)}.modal h2{font-family:var(--font-display)}.menu{background:var(--paper-light);border-color:var(--paper-edge);box-shadow:var(--shadow-lift)}.menu button{background:transparent;color:var(--ink);border:0;box-shadow:none;text-shadow:none;font-weight:400}.menu button:hover{background:var(--paper-2)}.menu button.danger{color:var(--wax-ink);background:transparent}.menu button.danger:hover{background:var(--wax-soft)}.menu .sep{background:var(--paper-edge)}.toast{background:var(--paper-light);color:var(--ink);border:1px solid var(--bronze);box-shadow:var(--shadow-lift);font-family:var(--font-ui)}.toast .i{color:var(--bronze-ink)}.toast.ok .i{color:var(--moss-ink)}.toast.bad{background:var(--wax-soft);color:var(--wax-ink);border-color:var(--wax)}.toast.bad .i{color:var(--wax-ink)}.crumb{font-family:var(--font-ui);color:var(--bronze-ink)}.crumb:hover{color:var(--ink)}.container>.crumb,.how-to>.crumb,.narrow-page>.crumb{position:sticky;top:calc(var(--topbar-h) + var(--safe-top) + var(--sp-2));z-index:4;margin-left:0;padding:0 var(--sp-3) 0 var(--sp-2);border-radius:var(--r-full);background:#fffaece0;border:1px solid rgba(122,78,23,.18);box-shadow:0 2px 8px #3b24151f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.container.bare>.crumb{top:calc(var(--safe-top) + var(--sp-2))}@media(min-width:1200px){.container>.crumb,.how-to>.crumb,.narrow-page>.crumb{position:fixed;left:max(var(--sp-4),calc((100vw - 1040px)/2 - 150px))}}.page-head h1{font-family:var(--font-display)}.help{display:inline}.help>summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-left:var(--sp-1);border-radius:50%;border:1px solid var(--bronze);background:var(--paper-light);color:var(--bronze-ink);cursor:pointer;vertical-align:-6px;position:relative;font:700 var(--fs-xs)/1 var(--font-ui)}.help>summary::-webkit-details-marker{display:none}.help>summary:before{content:"";position:absolute;inset:-10px}.help>summary .i{width:14px;height:14px}.help[open]>summary{background:var(--bronze-ink);color:var(--paper-light)}.help>.help-body{display:block;margin:var(--sp-2) 0 0;padding:var(--sp-2) var(--sp-3);border-left:2px solid var(--bronze-light);background:var(--paper-2);font:italic 400 var(--fs-sm)/var(--lh-ui) var(--font-book);color:var(--ink);border-radius:0 var(--r-sm) var(--r-sm) 0;animation:fade var(--dur-fast) var(--ease-out)}.help.block{display:block;margin-top:var(--sp-2)}.help.block>summary{width:auto;height:auto;min-height:40px;padding:0 var(--sp-2) 0 0;border:0;border-radius:0;background:none;color:var(--link);gap:var(--sp-1);font-size:var(--fs-sm);margin:0}.help.block[open]>summary{background:none;color:var(--ink)}.login-page:before,.login-page:after{display:none}.login-page .card{background:#fffaec75;border:1px solid rgba(255,250,236,.7);box-shadow:0 6px 20px #3b24151a;-webkit-backdrop-filter:blur(14px) saturate(1.05);backdrop-filter:blur(14px) saturate(1.05)}.auth-logo h1{font:700 var(--fs-2xl)/1 var(--font-display)}.lang-switch{background:var(--paper-2);border-color:var(--paper-edge)}.lang-switch button{color:var(--ink-2);font-family:var(--font-ui);background:transparent;box-shadow:none;text-shadow:none;border:0}.lang-switch button:hover{background:#fff6e3b3;color:var(--ink)}.lang-switch button.active{background:var(--paper-light);color:var(--ink);box-shadow:none}.disclosure summary{font-family:var(--font-ui)}.home-section>h2{font-family:var(--font-display)}.home-card{background:#fffaec75;border:1px solid rgba(255,250,236,.7);border-left:4px solid var(--team, var(--bronze));box-shadow:0 6px 20px #3b24151a;-webkit-backdrop-filter:blur(14px) saturate(1.05);backdrop-filter:blur(14px) saturate(1.05);transition:background-color var(--dur-fast),box-shadow var(--dur-fast)}.home-card:hover{background:#fffaec99;box-shadow:0 8px 24px #3b241524;border-color:#fffaecd9;border-left-color:var(--team, var(--bronze))}.home-card .title{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:700}.home-card .meta{font-family:var(--font-book);font-style:italic;color:var(--ink-2)}.home-card .meta .i,.home-card .side{color:var(--bronze)}.home-card .skeleton-avatar{box-shadow:none}.game-card{border-left-color:var(--bronze)}.empty-page{font-family:var(--font-book);font-style:italic}.empty-page .i{color:var(--bronze);opacity:.6}.container{--col: 1040px}.narrow-page{--col: 520px}.how-to{--col: 640px}.scroll-top{position:fixed;right:max(var(--sp-4),var(--safe-right),calc((100vw - var(--col, 1040px)) / 2 - 56px));bottom:calc(var(--sp-4) + var(--safe-bottom));z-index:5;width:44px;height:44px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#fffaece0;border:1px solid rgba(122,78,23,.18);color:var(--bronze-ink);box-shadow:0 2px 8px #3b241524;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-shadow:none;animation:fade var(--dur-fast) ease-out}.scroll-top:hover{background:var(--paper-light);color:var(--ink)}.scroll-top .i{width:22px;height:22px}@media(prefers-reduced-motion:reduce){.scroll-top{animation:none}}.container .card:not(.season-book .card),.container .tile,.container .summary-tiles a{background:#fffaec80;border:1px solid rgba(255,250,236,.72);box-shadow:0 6px 20px #3b24151a;-webkit-backdrop-filter:blur(14px) saturate(1.05);backdrop-filter:blur(14px) saturate(1.05)}.container .card .card{background:#fffaec66;box-shadow:none}.container .tile,.container .summary-tiles a{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffaec8c}.stepper{display:inline-flex;align-items:stretch;width:128px;max-width:100%;border:1px solid var(--border-strong);border-radius:var(--r-xs);background:var(--paper-light);overflow:hidden}.stepper input{flex:1 1 auto;min-width:0;width:auto;border:0;border-radius:0;background:transparent;box-shadow:none;text-align:center;font:600 var(--fs-lg)/1 var(--font-input);-moz-appearance:textfield;appearance:textfield;padding:0 var(--sp-1)}.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stepper input:focus{box-shadow:none}.stepper:focus-within{border-color:var(--bronze-ink);box-shadow:var(--ring)}.stepper .arrows{display:flex;flex-direction:column;border-left:1px solid var(--paper-edge)}.stepper .arrows button{flex:1 1 50%;min-height:0;height:auto;width:34px;padding:0;border:0;border-radius:0;background:#7a4e170d;color:var(--bronze-ink);box-shadow:none;text-shadow:none;display:inline-flex;align-items:center;justify-content:center}.stepper .arrows button+button{border-top:1px solid var(--paper-edge)}.stepper .arrows button:hover{background:#7a4e171f;color:var(--ink)}.stepper .arrows button:disabled{opacity:.35}.stepper .arrows .i{width:16px;height:16px}.rule-row .stepper{width:140px}.hud-left .hud-btn,.hud-left .hud-team,.map-area .map-controls button{background:var(--paper-light);border:1px solid var(--border-strong);color:var(--ink);box-shadow:0 1px 3px #00000047;text-shadow:none}.hud-left .hud-btn:hover,.hud-left .hud-team:hover,.map-area .map-controls button:hover{background:#fffbf0;border-color:var(--ink-2)}.hud-left .hud-team{backdrop-filter:none;-webkit-backdrop-filter:none;font:700 var(--fs-sm)/1 var(--font-ui)}.hud-left .hud-btn .count-chip.hot{box-shadow:none}.finish-banner{background:var(--paper-light);border:1px solid var(--moss-ink);color:var(--moss-ink);font-family:var(--font-ui);box-shadow:0 1px 3px #00000047}.side-menu{background:#fffaec8c;-webkit-backdrop-filter:blur(18px) saturate(1.05);backdrop-filter:blur(18px) saturate(1.05)}.side-menu .side-head{background:#fffaecd1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:2}@media(min-width:1024px){.side-menu{border-right:1px solid var(--bronze-deep);box-shadow:2px 0 8px #1f140a29}}.side-head{background:var(--paper-light);color:var(--ink);border-bottom:3px solid var(--team, var(--bronze));box-shadow:none}.side-head .side-name{font:700 var(--fs-xl)/1.1 var(--font-display)}.side-head .muted{color:var(--ink-2);font-family:var(--font-ui)}.side-head button.ghost{color:var(--bronze-ink)}.side-head button.ghost:hover{background:#7a4e1714;color:var(--ink)}.side-menu .section{border-bottom:1px solid var(--paper-edge);box-shadow:none}.side-menu .section h2{font:700 20px/1.15 var(--font-display);color:var(--ink)}.side-menu .section h2>.i{width:22px;height:22px;padding:0;border-radius:0;background:none;color:var(--bronze-ink);filter:none}.side-menu .section h2 .count{font:400 18px/1 var(--font-display);color:var(--ink-2)}.side-menu .list .title{font-family:var(--font-book)}.side-menu .card{background:#fffaec4d;border-color:#fffaec99;box-shadow:none;padding:var(--sp-3);margin-bottom:0}.side-menu .card-head h2{font-size:var(--fs-lg)}.standing{border-top:1px solid var(--paper-edge);box-shadow:none}.standing .rank{width:24px;height:24px;padding:0;margin-top:2px;border-radius:50%;background:var(--paper-light);border:1px solid var(--bronze);color:var(--bronze-ink);font:700 13px/22px var(--font-display);text-shadow:none;filter:none}.standing .rank .i{color:var(--bronze-ink);width:13px;height:13px;vertical-align:-2px}.standing .name{font-family:var(--font-ui);font-weight:700}.standing .name .chev{margin-left:auto;color:var(--bronze);transition:transform var(--dur-fast)}.standing[aria-expanded=true] .name .chev{transform:rotate(180deg)}.standing.expandable{cursor:pointer}.standing .meta{font:400 13px/1.4 var(--font-book);font-variant-numeric:tabular-nums;color:var(--ink-2)}.standing .meta+.meta{color:var(--ink-3)}.standing .meta .help{margin-left:2px}.standing .meta .help>summary{width:20px;height:20px;vertical-align:-5px}.feed li{border-top:1px dashed var(--paper-edge)}.feed .ico{width:26px;height:26px;background:var(--paper-light);border:1px solid var(--paper-edge);color:var(--bronze-ink);filter:none}.feed .ico .i{width:14px;height:14px}.feed li.news .ico{border-color:var(--sea);color:var(--sea-ink)}.feed .body{font:400 15px/1.4 var(--font-book)}.feed .meta{font:400 12px/1.3 var(--font-ui);color:var(--ink-3)}.feed details summary{font:700 17px/1.2 var(--font-display);color:var(--ink)}.feed details p{font-size:var(--fs-sm)}.passage-card{background:var(--paper-2);border-color:var(--paper-edge);box-shadow:none}.service .svc-stat{background:var(--paper-2);border:1px solid var(--paper-edge);box-shadow:none}.service .svc-stat b{font:700 var(--fs-xl)/1.1 var(--font-display);color:var(--bronze-ink)}.service .svc-stat span{font-family:var(--font-ui)}.menu-tiles{background:var(--paper-2);border-top:1px solid var(--paper-edge);box-shadow:none}.menu-tiles>a,.menu-tiles>button{background:var(--paper-light);border:1px solid var(--paper-edge);color:var(--ink);font:700 var(--fs-xs)/1 var(--font-ui);text-shadow:none;box-shadow:none}.menu-tiles>a:hover,.menu-tiles>button:hover{background:var(--paper-light);border-color:var(--bronze);color:var(--ink)}.menu-tiles .i{color:var(--bronze-ink)}.chip-btn,.chip-btn:hover{box-shadow:none;text-shadow:none}.role-select{font-family:var(--font-ui)}.side-menu .push-row{color:var(--ink-2)}.side-menu .push-row>span{flex:1 1 160px}.sheet-title h2{font:700 24px/1.1 var(--font-display)}.deed-sheet .direction{font:400 13px/1.3 var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--bronze-ink)}.deed-sheet .deed-desc{font:400 var(--fs-md)/var(--lh-text) var(--font-book);color:var(--ink)}.deed-sheet .deed-desc.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.deed-sheet .desc-more{margin:var(--sp-1) 0 0 calc(-1 * var(--sp-3))}.meta-line{font-family:var(--font-ui);color:var(--ink-2);row-gap:var(--sp-1)}.meta-line .i{color:var(--bronze)}.meta-line .chip .i{color:inherit}.meta-line .help>summary{margin-left:0}.deed-sheet details.codex{margin-top:var(--sp-3)}.deed-sheet details.codex ol{background:var(--paper-light);border:1px solid var(--paper-edge);border-radius:var(--r-xs);padding:var(--sp-3) var(--sp-3) var(--sp-3) 2em;font:italic 400 var(--fs-sm)/var(--lh-ui) var(--font-book);color:var(--ink);box-shadow:none}.deed-sheet details.codex li::marker{color:var(--bronze-ink);font-weight:700}.deed-sheet .chips label.check.inline{background:var(--paper-light);border-color:var(--paper-edge);font-family:var(--font-ui);box-shadow:none}.deed-sheet .field .label{font-family:var(--font-ui)}.deed-sheet .actions>button:first-child:not(.secondary):not(.ghost),.task-view .actions>button:first-child:not(.secondary):not(.ghost),.capture .actions>button:first-child:not(.secondary):not(.ghost),.login-page .auth form .actions>button:first-child{min-height:52px;font-size:var(--fs-lg)}.city-head{color:var(--paper-light);background:linear-gradient(90deg,#2b1d12e0,#2b1d128c 60%,#2b1d1259),var(--city-img) center / cover;box-shadow:inset 0 -6px 12px #1f140a4d}.city-head h2{font:700 var(--fs-2xl)/1 var(--font-display);color:var(--paper-light);text-shadow:0 1px 2px rgba(0,0,0,.6)}.city-head .status{color:var(--paper-2);font-family:var(--font-ui)}.city-head .chip.solid{box-shadow:none}.city-sheet .overlay-head>button{color:var(--paper-light)}.steps{position:relative;justify-content:space-between;gap:var(--sp-2);padding:var(--sp-1) 0}.steps:before{content:"";position:absolute;left:12%;right:12%;top:50%;height:1px;background:var(--paper-edge);box-shadow:none;z-index:0}.steps li{position:relative;z-index:1;flex:0 1 auto;padding:var(--sp-1) var(--sp-2) var(--sp-1) var(--sp-1);border-radius:var(--r-xs);background:transparent;color:var(--ink-2);font:700 var(--fs-sm)/1 var(--font-ui)}.steps .num{width:26px;height:26px;border:1px solid var(--bronze);background:var(--paper-light);color:var(--bronze-ink);font:700 13px/1 var(--font-display);text-shadow:none;filter:none}.steps li.current{background:transparent;color:var(--bronze-ink);box-shadow:none}.steps li.current .num{background:var(--bronze-ink);border-color:var(--bronze-ink);color:var(--paper-light);animation:flipIn .45s var(--spring)}.steps li.done{color:var(--moss-ink)}.steps li.done .num{width:30px;height:30px;margin:-2px;border:0;background:var(--moss-ink);-webkit-mask:var(--wax-mask) center / 100% 100% no-repeat;mask:var(--wax-mask) center / 100% 100% no-repeat;filter:none;text-shadow:none;animation:stamp .38s var(--stamp)}.steps .num .i{width:14px;height:14px}.step-body>h3,.step-head h3{font:600 20px/1.2 var(--font-display)}.step-head{margin-bottom:var(--sp-2)}.step-head h3{margin-bottom:0}.sum-toggle{flex:none;font-size:var(--fs-sm)}.districts{gap:var(--sp-3)}.district{position:relative;min-height:60px;padding:var(--sp-2) var(--sp-3) var(--sp-2) var(--sp-3);gap:var(--sp-3);font:400 var(--fs-md)/var(--lh-ui) var(--font-book);letter-spacing:0;text-shadow:none;border:1px solid var(--paper-edge);border-left:4px solid var(--bronze);border-radius:var(--r-sm);background:var(--paper);color:var(--ink);box-shadow:var(--shadow-paper);transition:box-shadow var(--dur-fast),border-color var(--dur-fast),border-left-color .4s,background var(--dur-fast)}.district:after{display:none}.district:hover{background:var(--paper-light);transform:none;box-shadow:var(--shadow-lift);border-color:var(--border-strong)}.district:active{transform:none;box-shadow:var(--shadow-paper)}.district.set{background:var(--paper);border-color:var(--paper-edge);border-left-color:hsl(var(--d-hue) 42% 38%)}.district.set:hover{background:var(--paper-light);border-color:var(--border-strong);border-left-color:hsl(var(--d-hue) 42% 38%)}.district.done,.district.set.done{border-color:var(--paper-edge);border-left-color:var(--moss-ink)}.district.locked,.district.set.locked{background:var(--paper-2);color:var(--ink-2);border-left-color:var(--stone);box-shadow:none}.district .num{width:32px;height:32px;border-radius:50%;background:var(--paper-light);border:1px solid var(--bronze);color:var(--bronze-ink);font:700 15px/1 var(--font-display);text-shadow:none;filter:none}.district.set .num{background:hsl(var(--d-hue) 42% 38%);border-color:hsl(var(--d-hue) 42% 38%);color:var(--paper-light)}.district.extra .num{background:var(--bronze-soft);border-color:var(--bronze);color:var(--bronze-ink)}.district.done .num,.district.set.done .num{background:var(--moss-ink);border-color:var(--moss-ink);color:var(--paper-light);filter:none}.district.locked .num{background:var(--paper-2);border-color:var(--stone);color:var(--stone-dark)}.district .body{gap:3px}.district .d-title{font:700 20px/1.15 var(--font-display);color:var(--ink)}.district .d-title .muted{font:700 12px/1 var(--font-ui);letter-spacing:.06em;color:var(--bronze-ink);margin-left:var(--sp-1);white-space:nowrap}.district .d-sum{font:italic 400 var(--fs-sm)/1.4 var(--font-book);color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.district .d-sum.one{-webkit-line-clamp:1}.district.locked .d-title{color:var(--ink-2)}.district .check{width:34px;height:34px;color:var(--bronze)}.district .check .i{width:18px;height:18px}.district .check.on{width:40px;height:40px;margin:-3px;background:var(--moss-ink);-webkit-mask:var(--wax-mask) center / 100% 100% no-repeat;mask:var(--wax-mask) center / 100% 100% no-repeat;color:var(--paper-light);animation:stamp .38s var(--stamp)}.district.locked .check{color:var(--stone-dark);background:var(--paper-light);border-radius:50%;box-shadow:inset 0 0 0 1px var(--paper-edge)}.district .window{width:11px;height:15px;animation:flicker 1.1s steps(3) infinite}.district:focus-visible,.choices button:focus-visible{outline-offset:3px}@keyframes flicker{0%,to{opacity:1;box-shadow:0 0 8px 2px #ffc85ab3}50%{opacity:.85;box-shadow:0 0 5px 1px #ffc85a80}}@media(prefers-reduced-motion:reduce){.district .window,.district .check.on,.steps li.done .num,.steps li.current .num{animation:none}}.cipher{background:var(--paper-2);border:1px solid var(--paper-edge);box-shadow:none}.cipher-side .strong{font:700 var(--fs-lg)/1.2 var(--font-display)}.cipher-side .hint{font-family:var(--font-ui);font-style:normal;font-variant-numeric:tabular-nums}.task-view .back-btn{font-family:var(--font-ui)}.task-view .back-btn .i{color:var(--bronze)}.task-view h3{font:700 var(--fs-xl)/1.15 var(--font-display)}.task-view .scope{font:700 12px/1.3 var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--bronze-ink);margin-top:2px}.task-view .prompt{background:var(--paper-light);border:1px solid var(--paper-edge);padding:var(--sp-4);border-radius:var(--r-xs);box-shadow:none;font:400 var(--fs-lg)/1.6 var(--font-book);color:var(--ink)}.task-view .burnt .prompt{background:none;border:0;padding:0;box-shadow:none}.task-view .field>label{font-family:var(--font-ui)}.task-view .field>input{background:transparent;border:0;border-bottom:2px solid var(--ink-2);border-radius:0;box-shadow:none;padding-left:0;font:600 var(--fs-lg)/1.2 var(--font-book)}.task-view .field>input:focus{border-bottom-color:var(--bronze-ink);box-shadow:0 2px #7a4e1759}.task-view .support-link button{font-family:var(--font-ui)}.task-view .support-form textarea{font-family:var(--font-input)}.choices button{background:var(--paper);border:1px solid var(--paper-edge);border-left:4px solid var(--paper-edge);color:var(--ink);font:400 var(--fs-md)/var(--lh-ui) var(--font-book);letter-spacing:0;text-shadow:none;box-shadow:none;transition:background var(--dur-fast),border-color var(--dur-fast)}.choices button:hover{background:var(--paper-light);transform:none;box-shadow:none;border-color:var(--border-strong)}.choices button.on{border-color:var(--bronze);border-left-color:var(--bronze);background:var(--bronze-soft)}.choices .radio{border-color:var(--bronze);background:var(--paper-light)}.choices button.on .radio{background:var(--bronze);border-color:var(--bronze-deep);box-shadow:inset 0 0 0 3px var(--paper-light)}.lock-note{font-family:var(--font-ui)}.lock-note button.secondary{background:var(--paper-light)}.pick-cooling svg{background:var(--coin) center / 100% 100% no-repeat var(--bronze-deep);border-radius:50%;filter:none}.pick-cooling .track{stroke:#fff6e359}.pick-cooling .heat{stroke:var(--wax)}.pick-cooling .pick{stroke:var(--paper-light)}.pick-cooling .small,.candle .small{font-family:var(--font-ui)}.lock-top .ghost,.lock-top .ghost:hover,.lock-top .ghost:focus-visible,.lock-top .ghost:active,.lock-top .ghost[aria-pressed=true]{color:var(--gold-hi);background:transparent}.lock-top .ghost:hover{background:#ffffff14}.lock-top .lock-tools{margin-left:auto}.lock-top .strong{font-family:var(--font-ui)}.lock-body .hint{font-family:var(--font-ui);font-style:normal}.lock-body .help>summary{background:#00000059;border-color:#f1d08a99;color:var(--gold-hi)}.lock-body .help[open]>summary{background:var(--gold-hi);color:var(--ink)}.lock-body .help>.help-body{background:#00000059;color:#f4eee4;border-left-color:var(--gold-hi)}.ring .cur{font-family:var(--font-ui)}.lock-body .sortable li{background:var(--paper-light)}.cw-cell input{background:var(--paper-light);border-color:var(--border-strong);font-family:var(--font-input)}.cw-cell.active input{background:var(--bronze-soft);border-color:var(--bronze)}.cw-cell .cw-n{color:var(--ink-3)}.cw-list button{font-family:var(--font-book)}.envelope{background:var(--paper-bg);border-color:var(--paper-edge);box-shadow:none}.envelope .cipher-text{font-family:var(--font-input);color:var(--bronze-ink)}.envelope .cipher-line .small{font-family:var(--font-ui)}.envelope p .i{color:var(--bronze)}.envelope .field>label,.capture .hint{font-family:var(--font-ui)}.key-cells .cell{background:var(--paper-light);border-color:var(--border-strong);font-family:var(--font-input);box-shadow:none}.key-cells .cell.on{border-color:var(--bronze);background:var(--bronze-soft)}.envelope .charter{position:relative;margin-top:var(--sp-3);padding:var(--sp-3) var(--sp-3);border:22px solid transparent;border-image:var(--paper-frame) 60 fill / 22px / 6px stretch;border-radius:0;background:none;box-shadow:none;filter:drop-shadow(0 3px 6px rgba(59,36,21,.2));animation:stamp .5s var(--stamp)}.envelope .charter:before{display:none}.envelope .charter.foreign{border-style:solid}.envelope .charter .strong{font:700 26px/1.1 var(--font-display);color:var(--ink)}.envelope .charter.foreign .strong{font-size:var(--fs-xl);color:var(--wax-ink)}.envelope .charter .small{font-family:var(--font-book);font-style:italic;color:var(--ink-2);margin-top:var(--sp-1)}.envelope .charter .crowns{color:var(--bronze)}.envelope.broken .wax{filter:drop-shadow(0 3px 4px rgba(0,0,0,.3)) brightness(.7) saturate(.8)}@media(prefers-reduced-motion:reduce){.envelope .charter{animation:none}}.capture .row .hint{font-family:var(--font-ui)}.prophet-letter{margin:var(--sp-3) 0;padding:var(--sp-1) var(--sp-2);border:22px solid transparent;border-image:var(--paper-frame) 60 fill / 22px / 4px stretch;border-radius:0;background:none;box-shadow:none;filter:drop-shadow(0 3px 6px rgba(59,36,21,.2));font-family:var(--font-book);color:var(--ink)}.prophet-letter .letter-head{font-family:var(--font-ui)}.prophet-letter .letter-head .strong{font:700 var(--fs-lg)/1.2 var(--font-display)}.prophet-letter .letter-head .i{color:var(--bronze)}.prophet-letter .letter-sign{font-family:var(--font-book);font-style:italic}.login-page .auth-logo img{filter:drop-shadow(0 1px 2px rgba(59,36,21,.25))}.how-to .card{background:#fffaec80;border:1px solid rgba(255,250,236,.72);box-shadow:0 6px 20px #3b24151a;-webkit-backdrop-filter:blur(14px) saturate(1.05);backdrop-filter:blur(14px) saturate(1.05)}.login-page .guest-bar .ghost{font-family:var(--font-ui)}.disclose{border-top:1px solid var(--paper-edge);box-shadow:none}.disclose>summary{font:700 var(--fs-md)/1.3 var(--font-ui);color:var(--ink)}.disclose>summary>.i:first-child{width:22px;height:22px;padding:0;border-radius:0;background:none;color:var(--bronze-ink);filter:none}.disclose>summary .chev{color:var(--bronze)}.disclose.sm{border-top:0;box-shadow:none}.disclose.sm>summary{font:700 var(--fs-sm)/1.3 var(--font-ui);color:var(--bronze-ink)}.disclose.sm>summary>.i:first-child{width:18px;height:18px;color:var(--bronze-ink)}.disclose.sm>summary:hover{color:var(--ink)}.disclose.sm>:not(summary){font-family:var(--font-book)}.war h3,.passage-section h3{font:600 20px/1.2 var(--font-display)}.war .muted.small,.passage-section .muted.small{font-family:var(--font-book)}.battle{background:var(--paper-2);border-color:var(--paper-edge);box-shadow:none}.battle .strong{font-family:var(--font-ui)}.battle .strong .i{color:var(--bronze)}.verses{background:var(--paper-light);border-color:var(--paper-edge)}.verses li{border-top-color:var(--paper-edge)}.verses button{font-family:var(--font-book);letter-spacing:0;text-shadow:none;box-shadow:none;border:0}.verses button:hover{background:var(--paper-2)}.verses button:disabled{background:transparent;color:var(--ink);border:0;box-shadow:none;text-shadow:none}.verses .box{background:var(--paper-light);border-color:var(--border-strong)}.verses .ref{color:var(--ink-3);font-family:var(--font-ui)}.verses li.on button{background:var(--bronze-soft)}.verses li.on .box{border-color:var(--bronze);color:var(--bronze-ink)}.verses li.done button,.verses li.done button:disabled{background:var(--moss-soft)}.verses li.done .box{background:var(--moss-ink);border-color:var(--moss-ink);color:var(--paper-light)}.passage .strong,.picker .hint,.entry-form label{font-family:var(--font-ui)}.progress span{background:var(--bronze)}.how-to>p.muted{font-family:var(--font-book);font-style:italic}.how-to .guide-toc a{background:var(--paper-light);border:1px solid var(--paper-edge);color:var(--ink);font:700 var(--fs-sm)/1 var(--font-ui);padding:8px 12px;border-radius:var(--r-sm);box-shadow:none}.how-to .guide-toc a:hover{background:#fffbf0;border-color:var(--bronze);text-decoration:none}.how-to .guide-fig img{border:1px solid var(--paper-edge);border-radius:var(--r-xs);box-shadow:none}.how-to .guide-fig figcaption{font-family:var(--font-book);font-style:italic;color:var(--ink-2)}.how-to .changelog{list-style:none;padding-left:1.2em}.how-to .changelog li{position:relative}.how-to .changelog li:before{content:"◆";position:absolute;left:-1.2em;top:.5em;font-size:9px;line-height:1;color:var(--bronze)}.how-to .card h2{font-size:var(--fs-xl)}.narrow-page .hint{font-family:var(--font-book)}.home-card .chip:not(.ok):not(.warn):not(.bad):not(.info):not(.accent){color:var(--stone-dark)}.hud-left .hud-btn,.hud-left .hud-team,.map-area .map-controls button{background:#fffaec8c;border:1px solid rgba(255,250,236,.7);box-shadow:0 2px 8px #3b24151a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hud-left .hud-btn:hover,.hud-left .hud-team:hover,.map-area .map-controls button:hover{background:#fffaeccc}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-2);padding:var(--sp-3) var(--sp-4)}.menu-grid>button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:72px;padding:var(--sp-2) 4px;border-radius:var(--r-md);background:#fffaec73;border:1px solid rgba(255,250,236,.7);color:var(--ink);box-shadow:none;text-shadow:none;font:600 var(--fs-xs)/1.15 var(--font-ui);text-align:center}.menu-grid>button:hover{background:#fffaecbf;border-color:var(--border-strong)}.menu-grid>button .i{width:24px;height:24px;color:var(--bronze-ink)}.menu-grid>button .count-chip{position:absolute;top:6px;right:6px}.menu-sub{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:#fffaecd1;border-bottom:1px solid var(--paper-edge);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.menu-sub h2{margin:0;font:700 var(--fs-lg)/1.1 var(--font-display);color:var(--ink)}.menu-sub .ghost.sm{padding-left:var(--sp-1)}.side-menu .section.attention h2 .i{color:var(--wax-ink)}.side-menu .section.attention .list li .chev{flex:none;width:18px;height:18px;color:var(--ink-2)}.side-menu .section.attention .list li .title{font-weight:700}.menu-hint{padding:0 var(--sp-4) var(--sp-2);margin:0}@media(min-width:1024px){.side-menu{border-right:1px solid rgba(122,78,23,.15)}}.menu-tiles{background:transparent;border-top:1px solid rgba(122,78,23,.12)}.menu-tiles>a,.menu-tiles>button{background:#fffaec73;border:1px solid rgba(255,250,236,.7);box-shadow:none}.menu-tiles>a:hover,.menu-tiles>button:hover{background:#fffaecbf}.admin-title{background:var(--paper-light);border:1px solid var(--border-strong);box-shadow:0 1px 3px #00000047;font-family:var(--font-ui)}.admin-title .name{font-weight:700}.admin-map.full .view-as{background:var(--paper-light);border:1px solid var(--border-strong);box-shadow:0 1px 3px #00000047}.view-as .chip-btn{background:transparent;border-color:transparent;color:var(--ink);font:700 var(--fs-sm)/1 var(--font-ui);box-shadow:none;text-shadow:none}.view-as .chip-btn:hover{background:var(--paper-2);border-color:transparent}.view-as .chip-btn.on{background:var(--bronze-soft);border-color:var(--bronze);color:var(--bronze-ink);box-shadow:none}.view-as .chip-btn .i{color:var(--bronze-ink)}.admin-map.full .view-as-hint{background:var(--paper-light);border:1px solid var(--border-strong);box-shadow:0 1px 3px #00000047;font-family:var(--font-book);font-style:italic}.admin-timeline{background:var(--paper-light);border:1px solid var(--border-strong);box-shadow:0 1px 3px #00000047}.timeline .tl-now{background:var(--paper);border-color:var(--paper-edge);font-family:var(--font-ui);box-shadow:none}.timeline .tl-now.live{background:var(--bronze-soft);border-color:var(--bronze-light);color:var(--bronze-ink)}.timeline .tl-now strong{font-weight:700}.admin-timeline .timeline .tl-now,.admin-timeline .timeline .tl-now.live{background:transparent;border-color:transparent}.timeline h3{font-family:var(--font-display)}.timeline input[type=range]{-webkit-appearance:none;appearance:none;height:26px;margin:0;background:transparent}.timeline input[type=range]::-webkit-slider-runnable-track{height:3px;border-radius:2px;background:var(--paper-edge);box-shadow:none}.timeline input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;margin-top:-9px;border:1px solid var(--bronze-deep);border-radius:50%;background:var(--bronze);box-shadow:0 1px 2px #3b24154d;cursor:pointer}.timeline input[type=range]::-moz-range-track{height:3px;border-radius:2px;background:var(--paper-edge)}.timeline input[type=range]::-moz-range-thumb{width:20px;height:20px;border:1px solid var(--bronze-deep);border-radius:50%;background:var(--bronze);box-shadow:0 1px 2px #3b24154d;cursor:pointer}.timeline input[type=range]:focus-visible{outline:2px solid var(--bronze-ink);outline-offset:2px}.admin-dock .dock-btn{background:var(--paper-light);border:1px solid var(--border-strong);border-radius:var(--r-sm);color:var(--ink);box-shadow:0 1px 3px #00000047;font:700 11px/1.1 var(--font-ui);letter-spacing:.01em;text-shadow:none;transition:background var(--dur-fast),border-color var(--dur-fast),box-shadow var(--dur-fast)}.admin-dock .dock-btn .i{color:var(--bronze-ink)}.admin-dock .dock-btn:hover{background:#fffbf0;border-color:var(--ink-2)}.admin-dock .dock-btn.on,.admin-dock .dock-btn.on:hover{background:var(--bronze-ink);border-color:var(--bronze-deep);color:var(--paper-light);box-shadow:0 1px 3px #00000047;text-shadow:none}.admin-dock .dock-btn.on .i{color:var(--paper-light)}.admin-dock .dock-btn .badge{min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--paper-light);border:1px solid var(--bronze);color:var(--bronze-ink);font:700 11px/18px var(--font-ui);text-shadow:none;box-shadow:none}.admin-dock .dock-btn .badge.hot{background:var(--wax);border-color:transparent;color:var(--paper-light)}@media(max-width:767px){.admin-dock{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;gap:var(--sp-2)}.admin-dock .dock-btn{width:60px;background:var(--paper-light);border:1px solid var(--border-strong);box-shadow:0 1px 3px #00000047;color:var(--ink);text-shadow:none}.admin-dock .dock-btn .i{color:var(--bronze-ink)}.admin-dock .dock-btn:hover{background:#fffbf0;border-color:var(--ink-2)}}.admin-popup .card-head h2{font-size:var(--fs-xl)}.admin-popup .overlay-body .card{border:1px solid var(--paper-edge);box-shadow:none}.summary-tiles a,.tile,.return-box,.keys .key,.chips .chip-btn,.season-book .book-chronicle{background:var(--paper-light);border:1px solid var(--paper-edge);box-shadow:none}.summary-tiles a:hover{border-color:var(--bronze);background:#fffbf0}.summary-tiles .sum-value{font:700 28px/1 var(--font-display);color:var(--bronze-ink)}.summary-tiles .sum-value.hot{color:var(--wax-ink)}.summary-tiles .sum-label{font-family:var(--font-ui);color:var(--ink-2)}.summary-tiles .sum-label .i{color:var(--bronze)}.chips .chip-btn{font-family:var(--font-ui);font-weight:700;color:var(--ink-2)}.chips .chip-btn:hover{background:#fffbf0;border-color:var(--border-strong)}.checklist>li{border-top-color:var(--paper-edge);box-shadow:none}.checklist .step{background:var(--paper-light);border:1px solid var(--bronze);color:var(--bronze-ink);font:700 var(--fs-sm)/1 var(--font-display);text-shadow:none;box-shadow:none}.checklist .step.done{background:var(--moss);border:0;-webkit-mask:var(--wax-mask) center / 100% 100% no-repeat;mask:var(--wax-mask) center / 100% 100% no-repeat;color:var(--paper-light);box-shadow:none;text-shadow:none;animation:stamp .38s var(--stamp)}.checklist .body .title{font-family:var(--font-book)}.problems .note a.fix{font-family:var(--font-ui)}.standing-row{border-top-color:var(--paper-edge);box-shadow:none}.standing-row .rank{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--paper-light);border:1px solid var(--bronze);color:var(--bronze-ink);font:700 13px/1 var(--font-display);text-shadow:none;box-shadow:none}.standing-row .name{font-family:var(--font-book)}.standing-row .nums{font-family:var(--font-ui);color:var(--ink-3)}.standing-row.out .rank{background:var(--paper-2);border-color:var(--stone);color:var(--stone-dark);text-shadow:none}.team-block,.trial{border-top-color:var(--paper-edge);box-shadow:none}.trial .cols{font-family:var(--font-ui)}.trial .cols strong{font-family:var(--font-book)}.review-item.picked{background:var(--bronze-soft)}.review-item .report{font-family:var(--font-book)}.review-item .links a{font-family:var(--font-ui)}.admin-popup .feed .ico{width:26px;height:26px;background:var(--paper-light);border:1px solid var(--paper-edge);color:var(--bronze-ink);filter:none}.admin-popup .feed .ico .i{width:14px;height:14px}.admin-popup .feed li{border-top-color:var(--paper-edge)}.admin-popup .feed .meta{font-family:var(--font-ui)}details.fold-card>summary{font:700 var(--fs-lg)/1.2 var(--font-display);color:var(--ink)}details.fold-card>summary>.i:first-child{color:var(--bronze)}details.fold-card>summary .chev{color:var(--bronze-ink)}details.fold>summary{font-family:var(--font-ui)}details.fold>summary .chev{color:var(--bronze-ink)}details.legend>summary{font-family:var(--font-ui)}.table.activity th{font:700 var(--fs-xs)/1.2 var(--font-ui);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.table.activity td{font-family:var(--font-input);font-variant-numeric:tabular-nums}.deed-row .main{cursor:pointer}.deed-desc{-webkit-line-clamp:1;font-family:var(--font-book)}.deed-desc.open{display:block;-webkit-line-clamp:unset;overflow:visible}.deed-row .deed-chev .i{transition:transform var(--dur-fast)}.deed-row.open .deed-chev .i{transform:rotate(180deg)}.list .meta .chip{height:20px}.review-item .desc-toggle{align-self:flex-start;min-height:32px;padding:0 var(--sp-2)}.review-item .deed-desc.open{margin-top:0}.card-head>.help,.page-head>.help,.with-help>.help{margin-left:calc(-1 * var(--sp-1));margin-right:auto}.card-head>.help[open],.page-head>.help[open],.with-help>.help[open]{flex:1 1 100%;order:100;margin-left:0}.with-help{display:flex;align-items:center;flex-wrap:wrap;gap:0 var(--sp-1);margin-top:var(--sp-4)}.with-help>label{margin:0}.with-help>label.check{flex:0 1 auto}.with-help.mt-2{margin-top:var(--sp-2)}.with-help.mt-3{margin-top:var(--sp-3)}.settings-group{border-top-color:var(--paper-edge)}.settings-group h3{font-family:var(--font-display);font-size:var(--fs-lg)}details.settings-group summary:after{content:"";width:20px;height:20px;background:var(--bronze);-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>") center / contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>") center / contain no-repeat}.rule-group{margin:var(--sp-4) 0 var(--sp-1);font:700 var(--fs-xs)/1.2 var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--bronze-ink)}.rule-row{border-bottom-color:var(--paper-edge)}.rule-row label{font-family:var(--font-ui)}.rule-row select{width:100%;min-width:0}.money input.cur{font-family:var(--font-input)}.push-row{font-family:var(--font-book);font-style:italic}.season-book{background:var(--paper-bg);border:1px solid var(--paper-edge);box-shadow:var(--shadow-paper);border-radius:var(--r-md);padding:var(--sp-5) var(--sp-6) var(--sp-8);margin:var(--sp-4) auto}.season-book .book-head{position:relative;margin:0 calc(-1 * var(--sp-6)) var(--sp-6);padding:var(--sp-8) var(--sp-5);border-bottom:0;background:var(--tex-leather) center / 512px repeat var(--leather);color:var(--paper);box-shadow:none}.season-book .book-head:before{content:"";position:absolute;inset:10px;border:1px solid var(--bronze-light);opacity:.7;pointer-events:none}.season-book .book-head .org{color:var(--gold-hi);font:700 var(--fs-xs)/1.4 var(--font-ui);letter-spacing:.12em}.season-book .book-head h1{font:700 34px/1.1 var(--font-display);color:var(--paper-light);text-shadow:0 1px 2px rgba(0,0,0,.4)}.season-book .book-head .dates{color:var(--paper-2);font-family:var(--font-book);font-style:italic}.season-book .book-head .winner{color:var(--gold-hi);font-family:var(--font-ui)}.season-book .no-print .page-head h1{font-family:var(--font-display)}.season-book h2{font:700 var(--fs-xl)/1.2 var(--font-display)}.season-book h3{font:700 var(--fs-md)/1.3 var(--font-ui);color:var(--ink-2)}.season-book .book-standings li{border-top-color:var(--paper-edge)}.season-book .book-standings .rank{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--paper-light);border:1px solid var(--bronze);color:var(--bronze-ink);font:700 12px/1 var(--font-display);text-shadow:none}.season-book .book-standings .meta{font-family:var(--font-ui)}.season-book ul.plain li{font-family:var(--font-book)}.season-book .book-chronicle{border-radius:var(--r-sm)}.season-book .book-chronicle p{font-family:var(--font-book)}@media(max-width:639px){.season-book{padding:var(--sp-4)}.season-book .book-head{margin:0 calc(-1 * var(--sp-4)) var(--sp-5)}}.tile .value{font:700 var(--fs-xl)/var(--lh-tight) var(--font-input);font-variant-numeric:tabular-nums;color:var(--ink)}.tile .cap{font-family:var(--font-ui);color:var(--ink-2)}.tile .delta{font-family:var(--font-input);font-variant-numeric:tabular-nums}.tile .delta.up{color:var(--moss-ink)}.tile .delta.down{color:var(--wax-ink)}.tile .delta.flat{color:var(--ink-3)}.spark svg polyline{stroke:var(--bronze-light)}.spark-label,.data-table{font-family:var(--font-input)}.support-list .msg{font-family:var(--font-book)}.support-list li.closed{opacity:.75}.labels-page .page-head h1{font-family:var(--font-display)}@media print{.season-book{background:#fff!important;border:0;box-shadow:none;border-radius:0;margin:0}.season-book .book-head{background:#fff!important;color:#1f1b16;box-shadow:none;border-bottom:2px double #5F3C10;margin:0 0 var(--sp-5);padding:0 0 var(--sp-4)}.season-book .book-head:before{display:none}.season-book .book-head h1,.season-book .book-head .org,.season-book .book-head .dates,.season-book .book-head .winner{color:#1f1b16;text-shadow:none}.season-book .book-chronicle,.season-book .book-standings .rank{background:none!important;color:#1f1b16;border:0;text-shadow:none}}.admin-map-area:has(.admin-empty){background:linear-gradient(180deg,#f7f0e06b,#f7f0e057),url(/img/ui/bg-land-wide.webp) center / cover no-repeat var(--bg)}.admin-empty .card{background:#fffaec80;border:1px solid rgba(255,250,236,.72);box-shadow:0 6px 20px #3b24151a;-webkit-backdrop-filter:blur(14px) saturate(1.05);backdrop-filter:blur(14px) saturate(1.05)}.overlay.admin-popup{background:#fffaec80;border-top:2px solid var(--bronze);-webkit-backdrop-filter:blur(18px) saturate(1.05);backdrop-filter:blur(18px) saturate(1.05)}.overlay.admin-popup .overlay-head{background:#fffaec40}.admin-popup .overlay-body .card{background:#fffaec42;border:1px solid rgba(255,250,236,.55);box-shadow:none}.admin-popup .overlay-body .tile,.admin-popup .overlay-body .summary-tiles a,.admin-popup .overlay-body .card.flat,.admin-popup .overlay-body .keys .key{background:#fffaec52;border-color:#fffaec99;box-shadow:none}.admin-popup .overlay-body input,.admin-popup .overlay-body select,.admin-popup .overlay-body textarea,.admin-popup .overlay-body .stepper{background:#fffaecb3}.admin-map.full .view-as{padding:4px;gap:4px;background:#fffaeccc;border:1px solid rgba(122,78,23,.15);box-shadow:0 2px 8px #3b24151f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--r-full)}.view-as .va{flex:none;width:36px;height:36px;min-height:0;padding:0;border-radius:50%;border:2px solid transparent;background:transparent;color:var(--bronze-ink);box-shadow:none;text-shadow:none;display:inline-flex;align-items:center;justify-content:center}.view-as .va .i{width:20px;height:20px}.view-as .va .avatar{width:26px;height:26px;font-size:12px;box-shadow:none}.view-as .va:hover{background:#7a4e1714;border-color:transparent}.view-as .va.on{border-color:var(--bronze-ink);background:var(--paper-light)}.admin-map.full .view-as-name{position:absolute;right:calc(var(--sp-3) + var(--safe-right) + 56px + var(--sp-2));top:calc(var(--sp-3) + var(--safe-top) + 50px);z-index:5;display:inline-flex;align-items:center;gap:var(--sp-1);padding:3px 10px 3px 4px;border-radius:var(--r-full);background:#fffaeccc;border:1px solid rgba(122,78,23,.15);font:700 var(--fs-xs)/1 var(--font-ui);color:var(--ink);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.admin-map.full .view-as-name .avatar{width:22px;height:22px;font-size:11px;box-shadow:none}.admin-timeline{width:auto;max-width:min(92vw,520px);padding:0;background:transparent;border:0;box-shadow:none}.tl-dock{display:flex;flex-direction:column-reverse;align-items:center;gap:4px}.tl-dock .tl-row{display:inline-flex;align-items:center;gap:4px;padding:3px;border-radius:var(--r-full);background:#fffaeccc;border:1px solid rgba(122,78,23,.15);box-shadow:0 2px 8px #3b24151f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tl-dock .tl-toggle{display:inline-flex;align-items:center;gap:var(--sp-1);min-height:32px;padding:0 var(--sp-2) 0 var(--sp-2);border:0;border-radius:var(--r-full);background:transparent;color:var(--ink);font:700 var(--fs-sm)/1 var(--font-ui);box-shadow:none;text-shadow:none}.tl-dock .tl-toggle .i{width:18px;height:18px;color:var(--bronze-ink)}.tl-dock .tl-toggle .i-sm{width:14px;height:14px;color:var(--ink-2)}.tl-dock .tl-toggle:hover{background:#7a4e1714}.tl-dock.past .tl-toggle{color:var(--bronze-ink)}.tl-dock .tl-row .ghost.sm{min-height:28px;padding:0 var(--sp-2);font-size:var(--fs-xs)}.tl-dock .tl-body{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:2px var(--sp-1);width:min(92vw,520px);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-md);background:#fffaeccc;border:1px solid rgba(122,78,23,.15);box-shadow:0 2px 8px #3b24151f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tl-dock .tl-body input[type=range]{flex:1 1 160px;min-width:120px;height:22px;margin:0;-webkit-appearance:none;appearance:none;background:transparent}.tl-dock .tl-body input[type=range]::-webkit-slider-runnable-track{height:3px;border-radius:2px;background:var(--paper-edge)}.tl-dock .tl-body input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;margin-top:-6.5px;border:1px solid var(--bronze-deep);border-radius:50%;background:var(--bronze)}.tl-dock .tl-body input[type=range]::-moz-range-track{height:3px;border-radius:2px;background:var(--paper-edge)}.tl-dock .tl-body input[type=range]::-moz-range-thumb{width:16px;height:16px;border:1px solid var(--bronze-deep);border-radius:50%;background:var(--bronze)}.tl-dock .tl-body .ghost.icon.sm{width:30px;height:30px;min-height:0;padding:0}.tl-dock .tl-body .ghost.icon.sm .i{width:16px;height:16px}.tl-dock .tl-desc{flex:1 0 100%;text-align:center;font:400 var(--fs-xs)/1.3 var(--font-ui);color:var(--ink-2);padding-bottom:2px}@media(max-width:767px){.admin-map.full .view-as-name{left:calc(var(--sp-3) + var(--safe-left));right:auto;top:calc(var(--sp-3) + var(--safe-top) + 100px)}}.deadline{position:relative}.deadline-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2)}.deadline-row .stepper{width:104px}.deadline-lbl{font:400 var(--fs-md)/1 var(--font-book);color:var(--ink-2)}.deadline-row .cal-btn{margin-left:auto}.deadline-presets{display:flex;flex-wrap:wrap;gap:var(--sp-1);margin-top:var(--sp-2)}.deadline-presets .ghost.on{background:var(--bronze-soft);color:var(--bronze-ink)}.deadline-when{display:flex;align-items:center;gap:var(--sp-1);margin:var(--sp-2) 0 0;font:italic 400 var(--fs-sm)/1.3 var(--font-book);color:var(--ink)}.deadline-when .i{width:16px;height:16px;color:var(--bronze-ink)}.calendar{position:absolute;right:0;top:44px;z-index:6;width:300px;max-width:100%;padding:var(--sp-2);border-radius:var(--r-md);background:#fffaeceb;border:1px solid rgba(122,78,23,.18);box-shadow:0 10px 30px #3b24152e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:fade var(--dur-fast) ease-out}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-1)}.cal-month{font:700 var(--fs-md)/1 var(--font-display);color:var(--ink)}.cal-head .ghost.icon.sm{width:32px;height:32px;min-height:0;padding:0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-dow{text-align:center;font:700 10px/1.6 var(--font-ui);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2)}.cal-day{min-height:0;height:36px;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--ink);font:600 var(--fs-sm)/1 var(--font-ui);box-shadow:none;text-shadow:none}.cal-day:hover:not(:disabled){background:#7a4e171a}.cal-day:disabled{color:var(--ink-3, #A89A85);opacity:.45}.cal-day.today{border-color:var(--bronze)}.cal-day.sel,.cal-day.sel:hover{background:var(--bronze-ink);color:var(--paper-light);border-color:var(--bronze-deep)}@media(max-width:479px){.calendar{right:auto;left:0}}.admin-dock .dock-btn,.admin-dock .dock-btn:hover{background:#fffaec8c;border:1px solid rgba(255,250,236,.7);box-shadow:0 2px 8px #3b24151a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.admin-dock .dock-btn:hover{background:#fffaecbf}.admin-dock .dock-btn.on,.admin-dock .dock-btn.on:hover{background:#fffaece6;border-color:var(--bronze);color:var(--bronze-ink);box-shadow:0 2px 8px #3b24151f}.admin-dock .dock-btn.on .i{color:var(--bronze-ink)}@media(max-width:767px){.admin-dock .dock-btn{background:#fffaec8c;border:1px solid rgba(255,250,236,.7)}.admin-dock .dock-btn.on{background:#fffaece6}}.admin-map.full .admin-title,.admin-map.full .admin-back,.admin-map .map-controls button,.admin-top .admin-title,.admin-top .hud-btn,.admin-top .hud-btn:hover{background:#fffaec8c;border:1px solid rgba(255,250,236,.7);box-shadow:0 2px 8px #3b24151a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.admin-top .hud-btn:hover{background:#fffaeccc}@media print{@page{size:A4;margin:10mm}body{background:#fff!important}body:before,.topbar,.no-print,.toasts{display:none!important}.container{max-width:none;padding:0}.card,.overlay,.district,.home-card{background:#fff!important;box-shadow:none!important;border-image:none!important}}
