:root{--color-midnight:#0b1423;--color-slate:#26374a;--color-gold:#d4a64a;--color-gold-soft:#e6c77a;--color-gold-deep:#a67c2a;--color-ivory:#f3e9d3;--color-ivory-muted:#f3e9d3b8;--color-ivory-faint:#f3e9d380;--color-danger:#e5826f;--color-success:#8fd3a3;--surface:#0b1423bd;--surface-strong:#0b1423e6;--surface-raised:#26374a8c;--surface-border:#d4a64a52;--surface-border-strong:#d4a64a99;--surface-blur:14px;--font-display:"Palatino Linotype", Palatino, "Book Antiqua", Georgia, "Times New Roman", serif;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.2rem;--text-xl:clamp(1.5rem, 3vw, 2rem);--text-display:clamp(2rem, 5vw, 3rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--max-content:1100px;--gutter:16px;--focus-ring:0 0 0 3px var(--color-midnight), 0 0 0 6px var(--color-gold);--duration-fast:.15s;--duration-base:.24s;--duration-slow:.6s;--ease:cubic-bezier(.2, .7, .2, 1)}*,:before,:after{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-text-size-adjust:100%}body{min-height:100vh;font-family:var(--font-body);font-size:var(--text-md);color:var(--color-ivory);background:var(--color-midnight);margin:0;line-height:1.5;overflow-x:hidden}#app{isolation:isolate;min-height:100vh}h1,h2,h3{font-family:var(--font-display);letter-spacing:.01em;color:var(--color-ivory);margin:0;font-weight:600;line-height:1.2}p{margin:0}a{color:var(--color-gold-soft);text-underline-offset:.15em}a:hover{color:var(--color-ivory)}button,input,select{font:inherit;color:inherit}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root[data-motion=reduce] *,:root[data-motion=reduce] :before,:root[data-motion=reduce] :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}@media (prefers-reduced-motion:reduce){:root:not([data-motion=allow]) *,:root:not([data-motion=allow]) :before,:root:not([data-motion=allow]) :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);border:1px solid var(--surface-border);background:var(--surface-raised);min-height:44px;color:var(--color-ivory);font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:.02em;cursor:pointer;transition:background-color var(--duration-fast) var(--ease), border-color var(--duration-fast) var(--ease), color var(--duration-fast) var(--ease), transform var(--duration-fast) var(--ease);padding:.6rem 1.25rem;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--surface-border-strong);background:#26374acc}.btn:active{transform:translateY(1px)}.btn--primary{background:linear-gradient(180deg, var(--color-gold-soft), var(--color-gold));border-color:var(--color-gold-deep);color:var(--color-midnight);font-weight:700}.btn--primary:hover{background:linear-gradient(180deg, #f0d48c, var(--color-gold-soft))}.btn--ghost{color:var(--color-ivory-muted);font-family:var(--font-body);font-size:var(--text-md);background:0 0;border-color:#0000}.btn--ghost:hover{color:var(--color-ivory);background:#f3e9d30f}.btn--danger{color:var(--color-danger);font-family:var(--font-body);font-size:var(--text-sm);border-color:#e5826f80}.btn--block{width:100%}.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none}.btn[aria-disabled=true]:hover{background:var(--surface-raised);border-color:var(--surface-border)}.panel{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-lg);padding:var(--space-5);-webkit-backdrop-filter:blur(var(--surface-blur))}.panel--strong{background:var(--surface-strong)}.panel--muted{background:#26374a59;border-style:dashed}.panel__heading{font-size:var(--text-lg);color:var(--color-gold-soft);margin-bottom:var(--space-3)}.panel__body{gap:var(--space-3);flex-direction:column;display:flex}.field{gap:var(--space-2);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.field__row{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.field__label{color:var(--color-ivory);font-weight:600}.field__hint{font-size:var(--text-sm);color:var(--color-ivory-muted)}.field__error{font-size:var(--text-sm);color:var(--color-danger);font-weight:600}.field__value{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-gold-soft)}.field__input{border-radius:var(--radius-md);border:1px solid var(--surface-border);width:100%;min-height:44px;color:var(--color-ivory);background:#0b142399;padding:.5rem .75rem}.field__input::placeholder{color:var(--color-ivory-faint)}.field--error .field__input{border-color:var(--color-danger)}.field__range{width:100%;accent-color:var(--color-gold);min-height:32px}.radio-group{gap:var(--space-2);flex-direction:column;display:flex}.radio{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;align-items:flex-start;display:flex}.radio:has(.radio__input:checked){border-color:var(--surface-border-strong);background:#d4a64a14}.radio:has(.radio__input:focus-visible){box-shadow:var(--focus-ring)}.radio__input{accent-color:var(--color-gold);flex:none;margin-top:.3rem}.radio__text{flex-direction:column;display:flex}.radio__label{font-weight:600}.radio__description{font-size:var(--text-sm);color:var(--color-ivory-muted)}.bg{z-index:-1;background:radial-gradient(ellipse 90% 60% at 50% 0%, var(--color-slate), var(--color-midnight) 70%);position:fixed;inset:0;overflow:hidden}.bg__image{object-fit:cover;object-position:50% 40%;width:100%;height:100%;display:block}@media (max-width:720px){.bg__image{object-position:58% 50%}}.bg__overlay{background:linear-gradient(#0b142359 0%,#0b142340 35%,#0b1423bf 75%,#0b1423f2 100%);position:absolute;inset:0}.bg--app .bg__image{filter:blur(6px)brightness(.5)saturate(.8);transform:scale(1.04)}.bg--app .bg__overlay{background:linear-gradient(#0b1423bf,#0b1423eb)}.bg--fallback .bg__overlay{background:linear-gradient(#0b142300 0%,#0b142399 100%)}.screen{width:100%;min-height:100vh;padding:var(--space-6) var(--gutter) var(--space-7);gap:var(--space-5);animation:screen-in var(--duration-slow) var(--ease) both;flex-direction:column;margin:0 auto;display:flex;position:relative}.screen--narrow{max-width:720px}.screen--wide{max-width:var(--max-content)}.screen__heading{font-size:var(--text-display);color:var(--color-gold-soft)}@keyframes screen-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.stack{gap:var(--space-4);flex-direction:column;display:flex}.muted{color:var(--color-ivory-muted);font-size:var(--text-sm)}.status{min-height:1.5em;font-size:var(--text-sm);color:var(--color-success)}.tag{font-size:var(--text-xs);font-family:var(--font-body);text-transform:uppercase;letter-spacing:.08em;color:var(--color-gold-soft);border:1px solid var(--surface-border);margin-top:var(--space-1);border-radius:999px;padding:.1rem .55rem;display:inline-block}.summary{gap:var(--space-2);flex-direction:column;margin:0;display:flex}.summary__row{gap:var(--space-3);grid-template-columns:minmax(7rem,10rem) 1fr;display:grid}.summary dt{color:var(--color-ivory-muted)}.summary dd{margin:0}@media (max-width:480px){.summary__row{gap:var(--space-1);grid-template-columns:1fr}}.form{gap:var(--space-4);flex-direction:column;display:flex}.form__actions{justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.form__warning{color:var(--color-gold-soft);font-size:var(--text-sm)}.form__error{color:var(--color-danger);font-weight:600}.screen--title{padding-top:var(--space-5);justify-content:space-between;align-items:center;max-width:none}.title{align-items:center;gap:var(--space-6);flex-direction:column;width:100%;max-width:560px;margin:auto 0;display:flex}.title__brand{align-items:center;gap:var(--space-3);text-align:center;flex-direction:column;display:flex}.title__logo{filter:drop-shadow(0 6px 24px #0000008c);width:min(560px,86vw);height:auto}.title__wordmark{font-family:var(--font-display);letter-spacing:.04em;color:var(--color-gold);text-shadow:0 4px 24px #0009;font-size:clamp(3rem,12vw,5.5rem);font-weight:700}.title__tagline{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-ivory);text-shadow:0 2px 12px #000c}.title__menu{gap:var(--space-3);flex-direction:column;width:min(360px,100%);display:flex}.title__hint{font-size:var(--text-sm);color:var(--color-ivory-muted);text-align:center;margin-top:calc(var(--space-2) * -1)}.title__footer{text-align:center;gap:var(--space-2);flex-direction:column;max-width:640px;display:flex}.title__version{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-ivory-muted)}.title__notice{font-size:var(--text-xs);color:var(--color-ivory-faint)}@media (max-width:720px){.title{gap:var(--space-5)}.title__logo{width:min(420px,92vw)}}.topbar{align-items:center;gap:var(--space-3) var(--space-4);padding:var(--space-3) var(--space-4);background:var(--surface-strong);border:1px solid var(--surface-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(var(--surface-blur));flex-wrap:wrap;display:flex}.topbar__brand{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-gold);letter-spacing:.04em}.topbar__player{color:var(--color-ivory-muted);flex:auto}.topbar__actions,.tabs{gap:var(--space-2);flex-wrap:wrap;display:flex}.tabs__tab{border:1px solid var(--surface-border);background:var(--surface);min-height:40px;color:var(--color-ivory-muted);cursor:pointer;transition:color var(--duration-fast) var(--ease), border-color var(--duration-fast) var(--ease);border-radius:999px;padding:.4rem 1rem}.tabs__tab:hover{color:var(--color-ivory)}.tabs__tab--active{color:var(--color-midnight);background:var(--color-gold);border-color:var(--color-gold-deep);font-weight:700}.dashboard-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.roadmap{gap:var(--space-1);color:var(--color-ivory-muted);flex-direction:column;margin:0;padding-left:1.2rem;display:flex}.credits-list{margin:0;padding-left:1.2rem}@media (max-width:480px){.topbar__actions{width:100%}.topbar__actions .btn,.form__actions .btn{flex:auto}}.table-wrap{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.table th,.table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--surface-border);vertical-align:top;white-space:nowrap}.table thead th{color:var(--color-gold-soft);font-family:var(--font-body);font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em}.table tbody th{font-family:var(--font-body);color:var(--color-ivory);font-weight:600}.table__num{text-align:right;font-family:var(--font-mono)}code{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-gold-soft)}.table__wrap{white-space:normal;min-width:18rem}.offer-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.offer{border:1px solid var(--surface-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);gap:var(--space-2);background:#26374a40;flex-direction:column;display:flex}.offer__header{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.offer__title{font-size:var(--text-md);font-family:var(--font-body);font-weight:600}.offer__status--accepted{color:var(--color-success);border-color:var(--color-success)}.offer__status--rejected,.offer__status--expired,.offer__status--withdrawn{color:var(--color-ivory-muted)}.timeline{font-size:var(--text-sm);color:var(--color-ivory-muted);gap:var(--space-1);flex-direction:column;margin:0;padding-left:1.2rem;display:flex}.timeline__turn{font-family:var(--font-mono);color:var(--color-gold-soft)}.offer__actions{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.offer__actions .field{flex:10rem}.filters{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.stat{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-gold-soft)}.activity{gap:var(--space-2);font-size:var(--text-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.activity__item{gap:var(--space-2);grid-template-columns:3rem 6.5rem 1fr;align-items:baseline;display:grid}.activity__turn{font-family:var(--font-mono);color:var(--color-ivory-faint)}.activity__kind{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-gold-soft)}.activity__item--inbound-offer .activity__kind,.activity__item--trade .activity__kind{color:var(--color-success)}.activity__item--expired .activity__kind{color:var(--color-ivory-muted)}@media (max-width:480px){.activity__item{grid-template-columns:2.5rem 1fr}.activity__message{grid-column:1/-1}}.tabs__badge{background:var(--color-success);min-width:1.4em;color:var(--color-midnight);font-size:var(--text-xs);text-align:center;border-radius:999px;margin-left:.4em;padding:0 .4em;font-weight:700;display:inline-block}.map{gap:var(--space-2);flex-direction:column;display:flex;position:relative}.map__canvas{border-radius:var(--radius-md);border:1px solid var(--surface-border);background:var(--color-slate);touch-action:none;width:100%;height:min(60vh,520px);min-height:280px;overflow:hidden}.map__canvas .leaflet-container{background:var(--color-slate);width:100%;height:100%;font-family:var(--font-body)}.map__attribution{font-size:var(--text-xs);color:var(--color-ivory-muted)}.map__notice{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);background:#e5826f26;border:1px solid #e5826f80}.map__loading{color:var(--color-ivory-muted);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.map__legend{gap:var(--space-3);font-size:var(--text-xs);color:var(--color-ivory-muted);flex-wrap:wrap;display:flex}.map__swatch{vertical-align:-.1em;border-radius:2px;width:.9em;height:.9em;margin-right:.35em;display:inline-block}.table__row--selected th,.table__row--selected td{background:#d4a64a24}.table__row--selectable{cursor:pointer}
