:root{--band: #4f625a;--band-ink: #f1e9d4;--parchment: #e8d9b5;--parchment-dark: #d9c79c;--sea: #b9c9c4;--ink: #1f1711;--ink-soft: #4a3b2c;--brass: #a8802a;--brass-light: #d4a94a;--panel: #f5ecd6;--panel-edge: #8b6f3d;--danger: #8f2d1f;--ok: #3f6b2f;--font-display: "Cinzel", "Georgia", serif;--font-body: "Lora", "Georgia", "Times New Roman", serif}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--sea);color:var(--ink);font-family:var(--font-body);font-size:20px;line-height:1.4}#app{height:100%;display:flex;flex-direction:column}button{font-family:var(--font-display);font-size:16px;font-weight:600;letter-spacing:.04em;background:var(--brass-light);border:1px solid var(--panel-edge);color:var(--ink);padding:7px 14px;cursor:pointer;border-radius:3px}button:hover{background:#e2bb5c}button:disabled{opacity:.5;cursor:default}button.busy:disabled{opacity:1;cursor:progress;display:inline-flex;align-items:center;justify-content:center;gap:10px}.spinner{width:.9em;height:.9em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;flex:0 0 auto;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}button.danger{background:#d8a294}button.big{font-size:19px;padding:12px 26px}input,select{font-family:var(--font-body);font-size:20px;padding:10px 12px;border:1px solid var(--panel-edge);background:#fffaf0;color:var(--ink);border-radius:3px}input[type=number]{width:110px}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:42px;background:#fffaf0 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 6l5 5 5-5' fill='none' stroke='%231f1711' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center / 14px 14px}input[type=number]::-webkit-inner-spin-button{margin-left:8px}h1,h2,h3{font-family:var(--font-display);margin:0}a{color:var(--brass)}label{font-size:20px}.centered{margin:auto;background:var(--panel);border:2px solid var(--panel-edge);padding:34px 44px;box-shadow:0 8px 30px #00000040;min-width:600px;max-width:760px}.centered h1{font-size:44px;letter-spacing:.14em;text-align:center;margin-bottom:18px}.centered .sub{text-align:center;color:var(--ink-soft);margin-bottom:20px;font-size:22px}.centered .actions{display:flex;justify-content:center;margin-top:18px}.row{display:flex;gap:10px;align-items:center;margin:12px 0;flex-wrap:wrap}.row label{min-width:170px}.hint{color:var(--ink-soft);font-size:18px}.error{color:var(--danger);margin-top:10px;font-size:19px;min-height:1.3em}table{border-collapse:collapse;width:100%}td,th{padding:5px 8px;text-align:left;border-bottom:1px solid rgba(0,0,0,.12);vertical-align:top}th{font-family:var(--font-display);font-size:15px;letter-spacing:.06em;color:var(--ink-soft)}.muted{color:var(--ink-soft)}.small{font-size:18px}.battle-report{table-layout:fixed;font-size:17px;margin:6px 0}.battle-report th:first-child,.battle-report td:first-child{width:auto}.battle-report th:not(:first-child),.battle-report td:not(:first-child){width:64px;text-align:right;padding-left:2px}.battle-report th{font-size:13px;letter-spacing:.02em;white-space:nowrap}.battle-report td.unit{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ul.games{padding:0;margin:10px 0 22px}.games li{list-style:none;padding:10px 0;border-bottom:1px solid rgba(0,0,0,.12);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:nowrap}.games .info{min-width:0;overflow:hidden}.games .name{font-size:22px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.games .actions{display:flex;gap:8px;flex:none;white-space:nowrap}.games .meta{color:var(--ink-soft);font-size:18px;margin-top:2px}.section{font-family:var(--font-display);font-size:18px;letter-spacing:.08em;margin:38px 0 20px;border-bottom:1px solid var(--panel-edge);padding-bottom:6px}.section-note{font-style:italic;font-size:15px;line-height:1.3;margin:-12px 0 14px}:root{--topbar-h: 50px}.topbar{position:absolute;top:0;left:0;z-index:6;box-sizing:border-box;height:var(--topbar-h);width:max-content;max-width:100%;display:flex;align-items:center;gap:14px;padding:0 12px 0 8px;background:var(--panel);border-right:2px solid var(--panel-edge);border-bottom:2px solid var(--panel-edge);border-bottom-right-radius:4px;box-shadow:0 4px 14px #0003;font-size:20px;white-space:nowrap}.topbar .title{font-family:var(--font-display);font-weight:700;letter-spacing:.1em;font-size:24px}.topbar .stat{padding:2px 14px;white-space:nowrap;border-left:1px solid rgba(0,0,0,.18)}.topbar .stat:first-child{border-left:0;padding-left:2px}.topbar .stat.muted{font-style:italic}.topbar button.stat.learn-stat{background:transparent;border:0;border-left:1px solid rgba(0,0,0,.18);border-radius:0;box-shadow:none;padding:2px 14px;margin:0;font:inherit;color:inherit;letter-spacing:0;text-transform:none;cursor:pointer;line-height:inherit}.topbar button.stat.learn-stat:hover b:first-of-type{text-decoration:underline;text-underline-offset:3px}.topbar .learn-stat .sep{color:var(--ink-soft)}.topbar .stat b{font-weight:700}.topbar .spacer{flex:0 0 2px}.topbar-icons{display:flex;align-items:center;gap:8px}.topbar button.turn-ended{background:var(--parchment-dark)}.topbar .turn-stat .muted{font-style:italic}@media(max-width:1100px){.topbar .turn-stat .wide{display:none}}@media(max-width:700px){#tb:has(.turn-stat) .harvest-stat{display:none}#tb-turn button{font-size:14px;padding:5px 8px}}#app{position:relative}.main{position:absolute;top:0;right:0;bottom:0;left:0}#banner{position:absolute;top:var(--topbar-h);left:50%;transform:translate(-50%);z-index:6;max-width:90%}#banner:empty{display:none}button.icon{font-size:22px;padding:7px 12px;line-height:1}.side-frame.hidden{display:none}#side-head:empty{display:none}.panel-head{display:flex;align-items:center;gap:8px;background:var(--ink);color:var(--panel);padding:10px 16px}.panel-title{font-family:var(--font-display);font-size:24px;letter-spacing:.04em;flex:1}.panel-head button.icon{background:transparent;border-color:var(--brass-light);color:var(--panel)}.panel-head button.icon{width:40px;height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;line-height:1}.panel-head button.icon svg{width:22px;height:22px;display:block}.panel-title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:700px){.panel-head h2,.panel-title{font-size:22px}}.stats{border:1px solid var(--panel-edge);background:#fbf4e2;padding:6px 12px;margin-bottom:12px}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid rgba(0,0,0,.08)}.stat-row:last-child{border-bottom:0}.stat-row .v{font-weight:600;display:inline-flex;align-items:center;gap:6px}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.tile{background:var(--ink);color:var(--panel);text-align:center;padding:10px 6px 8px;display:flex;flex-direction:column;align-items:center;gap:2px}@keyframes tileFlash{0%{box-shadow:0 0 0 3px #d4a94ae6,inset 0 0 22px #d4a94a8c}to{box-shadow:0 0 0 3px #d4a94a00,inset 0 0 22px #d4a94a00}}.tile.flash{animation:tileFlash .85s ease-out}.tile-icon{color:var(--brass-light)}.tile-label{font-family:var(--font-display);font-size:15px;letter-spacing:.06em}.tile-level{font-size:34px;font-weight:600;line-height:1.1}.tile-sub{font-size:15px;color:#cbbf9f;margin-bottom:6px}.tile button{width:100%}.block{border:1px solid var(--panel-edge);background:#fbf4e2;padding:8px 12px;margin-bottom:10px;font-size:18px}.block.muster{background:var(--band);color:var(--band-ink);border-color:var(--band);margin-top:-4px;padding:10px 14px}.block.muster b{color:#fff}.action-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--panel-edge);background:#fbf4e2;padding:10px 12px;margin-bottom:10px;font-size:18px}.action-row span{flex:1}.action-row button{white-space:nowrap;flex:0 0 150px;width:150px;text-align:center;padding-left:4px;padding-right:4px;font-size:15px}.tiles{margin-bottom:10px}.tile button{font-size:15px;font-weight:600;padding:7px 0;white-space:nowrap;letter-spacing:.02em;overflow:hidden}table.ruler{width:100%}table.ruler td,table.ruler th{padding:6px;white-space:nowrap}table.ruler td:first-child{white-space:normal}.side-frame.wide{width:600px}table.ruler tr.preview td{color:var(--ink-soft);font-style:italic}table.ruler tr.bad td{color:var(--danger)}table.ruler tr.total td{font-weight:700;border-top:2px solid var(--panel-edge)}.row.ruler-level{margin-top:10px;flex-direction:row;align-items:center;flex-wrap:nowrap;gap:8px}.ruler-level>span:first-child{white-space:nowrap;font-size:18px}.ruler-level>span.hint:first-child{white-space:normal;flex:1 1 auto;min-width:0;line-height:1.3}.ruler-level button{padding:5px 12px;font-size:17px;line-height:1;flex:0 0 auto}.ruler-level .spacer{flex:1}.ruler-level .spacer-sm{width:14px}.pick-row{display:flex;align-items:center;gap:10px;border:1px solid var(--panel-edge);background:#fbf4e2;padding:8px 12px;margin-bottom:8px}.pick-icon{color:var(--ink-soft);display:inline-flex}.pick-count{min-width:28px;text-align:left;font-size:22px;font-weight:700}.pick-name{flex:1;margin-left:14px}.pick-actions{display:flex;gap:6px;flex:none}.province-link{color:inherit;text-decoration:underline dotted;text-underline-offset:3px}.province-link:hover{color:var(--brass);text-decoration-style:solid}.stops-pill{display:inline-block;min-width:18px;padding:0 6px;margin-left:6px;border-radius:9px;background:var(--ink);color:var(--brass-light);font-family:var(--font-body);font-size:14px;font-weight:700;line-height:18px;text-align:center;vertical-align:2px}.pick-row button{flex:0 0 90px}.pick-row button.plus{flex:0 0 auto;padding:7px 13px;font-size:20px;line-height:1}.menu-clock{display:none;gap:8px;margin-bottom:12px}.menu-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--panel-edge);border-radius:3px;background:#faf3e1;overflow:hidden}.menu-list button{text-align:left;font-size:17px;padding:11px 14px;display:flex;align-items:center;gap:10px;background:transparent;border:0;border-bottom:1px solid rgba(139,111,61,.3);border-radius:0}.menu-list button:last-child{border-bottom:0}.menu-list button:hover{background:#f0e2bf}.menu-list button svg{flex:0 0 auto;opacity:.8}.menu-list .key{color:var(--ink-soft);font-size:13px;margin-left:auto}.menu-list button.danger{background:transparent;color:#8a2f22;border-top:2px solid rgba(139,111,61,.3)}.menu-list button.danger:hover{background:#f3dfd8}.side-frame.slim{width:360px}.side-frame.slim .side{padding:0}.side-frame.slim .menu-list{border:0;border-radius:0}.side-frame.slim .menu-list button{padding:11px 16px}.side-frame.slim .menu-list button:last-child{border-bottom:1px solid rgba(139,111,61,.3)}.side-frame.slim .menu-clock{margin:10px 12px 0}#map{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;cursor:grab;background:var(--sea);touch-action:none}#map.waypointing,#map.measuring{cursor:crosshair}.side-frame{position:absolute;top:var(--topbar-h);left:0;width:480px;max-height:calc(100% - var(--topbar-h));background:var(--panel);border:2px solid var(--panel-edge);border-top:0;border-left:0;box-shadow:0 8px 24px #0000004d;z-index:5;display:flex;flex-direction:column;overflow:hidden}.side{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:12px 16px;scrollbar-width:thin;scrollbar-color:var(--panel-edge) transparent}.side::-webkit-scrollbar{width:8px}.side::-webkit-scrollbar-track{background:transparent}.side::-webkit-scrollbar-thumb{background:var(--panel-edge);border-radius:4px}.side::-webkit-scrollbar-thumb:hover{background:var(--brass)}.side h2{font-size:26px;letter-spacing:.06em;border-bottom:1px solid var(--panel-edge);padding-bottom:6px;margin-bottom:10px}.side h3{font-size:17px;letter-spacing:.06em;margin:26px 0 10px;color:var(--ink-soft)}.side h2+h3,.side .tabs+h3,.side h3:first-child{margin-top:10px}.swatch{display:inline-block;width:14px;height:14px;border:1px solid var(--ink);vertical-align:middle;margin-right:5px}.infra{display:grid;grid-template-columns:1fr auto auto;gap:6px 10px;align-items:center}.tabs{display:flex;gap:4px;margin:0 -16px 12px;padding:0 12px;border-bottom:2px solid var(--panel-edge);flex-wrap:nowrap;align-items:flex-end}.tabs button{flex:1 1 0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:2px solid var(--panel-edge);border-bottom:0;border-radius:6px 6px 0 0;background:var(--parchment-dark);color:var(--ink-soft);padding:6px 8px;margin-bottom:0}.tabs button:hover{background:var(--brass-light);color:var(--ink)}.tabs button.active{background:var(--panel);color:var(--ink);border-color:var(--panel-edge);padding:8px 8px 10px;margin-bottom:-2px}@media(max-width:700px){.tabs{gap:3px;padding:0 8px}.tabs button,.tabs button.active{font-size:13px;letter-spacing:.02em;padding-left:4px;padding-right:4px}}.event-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px 0 10px}.event{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--panel-edge);background:#fbf4e2;padding:10px 14px;margin-bottom:8px;font-size:19px;line-height:1.3;cursor:pointer}.event:last-child{margin-bottom:0}.event.unread{background:#fff8e6;border-color:var(--brass)}.event-num{flex:0 0 auto;min-width:34px;text-align:center;padding:2px 6px;border-radius:4px;font-family:var(--font-display);font-size:15px;font-weight:700;background:var(--ink);color:#cbbf9f}.event-num.unread{background:var(--brass);color:var(--ink)}.event .when{font-family:var(--font-display);font-size:14px;color:var(--ink-soft);flex:0 0 auto;min-width:68px}.event .event-body{flex:1}.event .event-body p{margin:8px 0 0}.event .event-body .term{color:var(--brass);font-weight:600}.wp{display:grid;grid-template-columns:1fr auto;align-items:baseline;font-size:22px;padding:6px 0;border-bottom:1px solid rgba(0,0,0,.08)}.stop-grid{display:grid;grid-template-columns:58px minmax(0,1fr) minmax(120px,auto) 58px 34px;gap:6px 8px;align-items:center;margin:4px 0 10px}.stop-grid-head{display:contents}.stop-grid-head span{font-family:var(--font-display);font-size:13px;letter-spacing:.06em;color:var(--ink-soft);padding-bottom:2px;border-bottom:1px solid var(--panel-edge);align-self:stretch}.stop-grid-head span:empty:before{content:" "}.stop-row{display:contents}.stop-row.locked .stop-dest{opacity:.75}.stop-dest{min-width:0;display:flex;flex-direction:column;line-height:1.2}.stop-dest b{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stop-grid select{min-width:0;font-size:17px;padding:7px 36px 7px 6px;background-position:right 10px center}.stop-grid input{width:100%;box-sizing:border-box;text-align:right;font-size:18px;font-weight:600;padding:7px 6px}.stop-blank{text-align:center}.stop-grid button.remove{font-family:var(--font-body);font-size:18px;font-weight:700;padding:6px 0;width:34px;line-height:1;background:transparent;border-color:transparent;color:var(--ink-soft)}.stop-grid button.remove:hover{color:var(--danger);background:transparent}@media(max-width:700px){.stop-grid{grid-template-columns:52px minmax(0,1fr) minmax(104px,auto) 52px 30px;gap:6px 5px}.stop-grid select{font-size:15px;padding:7px 28px 7px 5px}.stop-grid input{font-size:16px;padding:7px 4px}.stop-grid button.remove{width:30px}}.stop-card{border:1px solid #c9b99a;border-radius:3px;padding:8px 10px;margin:8px 0;background:#ffffff40}.stop-card.locked{background:#0000000d}.stop-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.stop-head b{font-size:19px}.stop-head button.remove{font-family:var(--font-body);font-size:20px;font-weight:700;padding:4px 12px;line-height:1;background:#d8a294}.stop-line{display:flex;align-items:center;gap:8px;margin:6px 0}.stop-line label{font-family:var(--font-display);font-size:14px;letter-spacing:.04em;width:92px;flex:none}.stop-line select{flex:1;min-width:0;font-size:19px;padding:8px 42px 8px 6px}.stop-line input{width:84px;flex:none;text-align:right;font-size:21px;font-weight:600;padding:8px}.stop-line .unit{color:var(--ink-soft);font-size:17px}.wp-eta{font-family:var(--font-body);font-weight:600;font-size:21px;color:var(--ink-soft);text-align:right;white-space:nowrap}.wp-doing{grid-column:1 / -1;font-size:18px;color:var(--ink-soft)}.wp-through{grid-column:1 / -1;font-size:16px;font-style:italic;color:var(--ink-soft);opacity:.8;padding-left:22px}.stop-through{grid-column:1 / -1;margin:-4px 0 2px}.stop-through .wp-through{padding-left:66px}.stops-line{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;font-size:19px;margin:4px 0 10px;min-height:1.6em}.stop-chip{display:inline-flex;align-items:center;gap:2px;background:#fbf4e2;border:1px solid var(--panel-edge);padding:1px 4px 1px 10px}.chip-x{padding:0 6px;font-size:17px;line-height:1.3;background:transparent;border-color:transparent}.chip-x:hover{background:var(--brass-light);border-color:var(--panel-edge)}.route-bar{display:flex;flex-wrap:wrap;align-items:center;gap:4px;border-top:1px solid var(--panel-edge);padding-top:10px}.route-bar .spacer{flex:1}.route-bar .route-actions{display:flex;gap:4px;margin-left:auto}.route-bar .route-eta{font-weight:600;white-space:nowrap}.route-bar button{white-space:nowrap}.route-bar button.big{font-size:16px;padding:7px 14px}.route-bar #route-undo,.route-bar #route-clear-draft{font-size:22px;line-height:1;padding:7px 16px}.wp-total{border-top:1px solid var(--panel-edge);border-bottom:0;margin-top:4px;padding-top:10px}.side h3.orders-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.loop-badge{display:inline-flex;align-items:center;gap:5px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:var(--brass-light);border:1px solid var(--brass);border-radius:999px;padding:2px 11px 2px 7px}.loop-badge svg{width:16px;height:16px}.loop-toggle{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.loop-toggle svg{width:18px;height:18px;color:var(--ink-soft)}.loop-toggle.on svg{color:var(--brass)}.wp-total .wp-name{font-family:var(--font-display);font-size:15px;letter-spacing:.06em;color:var(--ink-soft)}.wp-total .wp-eta{color:var(--ink)}.eta{font-family:var(--font-display);font-size:13px;color:var(--ink-soft);letter-spacing:.03em}.toast{position:fixed;bottom:18px;left:50%;transform:translate(-50%);background:var(--ink);color:var(--panel);padding:12px 20px;border-radius:3px;font-size:20px;opacity:0;transition:opacity .2s;pointer-events:none;z-index:10}.toast.show{opacity:1}.transfer{display:flex;gap:14px;margin:8px 0 6px}.transfer .col{flex:1;text-align:center}.transfer .label{font-family:var(--font-display);font-size:16px;margin-bottom:4px}.transfer input{width:100%;text-align:center;font-size:26px;font-weight:600}.transfer-buttons{display:flex;gap:8px;align-items:center;justify-content:center;margin:4px 0 8px}.transfer-buttons button{min-width:64px}.transfer-buttons button:nth-child(2),.transfer-buttons button:nth-child(3){font-size:24px;line-height:14px;padding:4px 16px 8px}.panel-foot{display:flex;gap:10px;justify-content:flex-end;margin-top:14px;padding-top:12px;border-top:1px solid #c9b99a}.codex-nav{justify-content:space-between}.codex-nav button,.codex-nav span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.codex-nav button:first-child{text-align:left}.codex-nav button:last-child{text-align:right}button.quiet{background:var(--parchment-dark)}button.link{background:none;border:0;padding:0;font-family:var(--font-body);font-size:inherit;font-weight:600;color:var(--brass);text-decoration:underline;cursor:pointer}.banner{background:var(--ink);color:var(--brass-light);text-align:center;padding:8px;font-family:var(--font-display);letter-spacing:.1em;font-size:20px}.banner button.link{color:var(--brass-light);font-size:inherit;margin-left:6px}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#140f0ab8;z-index:60;display:flex;align-items:center;justify-content:center;padding:24px}.confirm-card{background:var(--panel);border:2px solid var(--panel-edge);box-shadow:0 12px 40px #0006;padding:26px 30px;max-width:440px;width:100%}.confirm-card p{font-size:20px;line-height:1.4;margin:0 0 20px}.victory-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#140f0ab8;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px;overflow-y:auto}.victory-overlay.hidden{display:none}.victory-card{background:var(--panel);border:2px solid var(--panel-edge);box-shadow:0 12px 40px #0006;padding:34px 40px;max-width:620px;width:100%;max-height:100%;overflow-y:auto}.victory-card h1{font-size:38px;letter-spacing:.08em;text-align:center;margin-bottom:10px}.victory-sub{text-align:center;font-size:20px;color:var(--ink-soft);margin-bottom:20px}.victory-standings{width:100%;margin-bottom:8px}.victory-standings th{font-size:14px}.victory-standings td{font-size:19px;padding:7px 8px}.victory-standings tr.winner{background:#fff8e6;font-weight:700}.victory-recap .event{cursor:default}.victory-recap .event-num{background:var(--ink);color:#cbbf9f}.calc-sheet{border:1px solid var(--panel-edge);background:#fbf4e2;padding:4px 14px;margin:6px 0 4px}.calc-sheet h3:first-child{margin-top:6px}.calc-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.08)}.calc-row:last-child{border-bottom:0}.calc-row>span{font-size:18px}.calc-val{display:grid;grid-template-columns:32px 70px 32px;align-items:center;gap:6px;width:160px;flex:none;font-size:18px;font-weight:600}.calc-val input{width:70px;text-align:center;font-size:20px;font-weight:600;padding:6px 4px}.calc-val button{padding:6px 10px;font-size:20px;line-height:1;min-width:0}.calc-val .calc-static{grid-column:1 / 4;text-align:right}.calc-banner{font-family:var(--font-display);font-size:20px;letter-spacing:.04em;text-align:center;padding:12px;border:1px solid var(--panel-edge)}.calc-banner.hold{background:#dcead3;color:#2f5a2b;border-color:#2f5a2b}.calc-banner.fall{background:#f3d9d3;color:var(--danger);border-color:var(--danger)}.calc-banner.muted{background:#fbf4e2;color:var(--ink-soft);font-family:var(--font-body);font-size:17px;letter-spacing:0}.codex-index button span{display:block}.codex-index button .hint{margin:2px 0 0;font-size:17px;font-family:var(--font-body);text-transform:none;letter-spacing:0;font-weight:400}.codex-page p{margin:8px 0 10px;line-height:1.45}.codex-page h3{margin-top:18px}.codex-page ul{margin:6px 0 10px;padding-left:22px}.codex-page li{margin:4px 0;line-height:1.4}.codex-page table.codex{margin:6px 0 12px}.codex-page table.codex td{font-size:18px}.portrait{display:inline-block;width:64px;height:64px;object-fit:cover;vertical-align:middle;flex:none;border:1px solid var(--ink);border-radius:3px;--house: 120,108,92;background-color:#221e1c;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.55' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.22 0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>"),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='400' height='400'><filter id='s'><feTurbulence type='fractalNoise' baseFrequency='0.004 0.018' numOctaves='5' seed='11'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1.6 -0.6'/></filter><rect width='400' height='400' filter='url(%23s)' transform='rotate(-22 200 200) scale(1.4)' transform-origin='200 200'/></svg>"),radial-gradient(ellipse 55% 45% at 68% 30%,rgba(var(--house),.95),rgba(var(--house),.5) 40%,rgba(var(--house),0)),radial-gradient(ellipse 70% 60% at 10% 95%,#0a0808e6,#0a080880 40%,#0a080800),linear-gradient(200deg,#ffebcd29,#ffebcd00 40%,#00000080),radial-gradient(ellipse 95% 95% at 55% 45%,rgba(var(--house),.3),#100c0ce6);background-size:160px 160px,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%;background-blend-mode:overlay,soft-light,normal,normal,normal,normal}.portrait-blank{border:1px dashed var(--panel-edge);border-radius:3px;background:#0000000a}.seat-portrait{width:56px;height:56px;margin-right:12px}.seat{display:flex;align-items:center}.house-row{display:flex;align-items:flex-start;gap:12px}.house-portrait{width:60px;height:60px;margin-top:2px}.tech-art{width:44px;height:44px;object-fit:contain;vertical-align:middle}td.tech-cell{width:48px;padding-right:4px}.sheet{margin:-12px -16px 0}.sheet>*{margin:0!important;border-left:0!important;border-right:0!important}.sheet .province-art{max-height:170px}.sheet .stats{border-top:0;padding:2px 14px}.sheet .stat-row{padding:5px 0}.sheet .stat-row.holder-row{margin:2px -14px 0!important;padding:8px 14px}.sheet .holder-card{border-bottom:0}.sheet .holder-card .stats{padding:0 14px;justify-content:stretch}.sheet .holder-card .stat-row{flex:1 1 0;min-height:0;padding:0}.sheet .holder-card .holder-row .house-link{padding-top:2px;padding-bottom:2px}.sheet .holder-card .stat-row.holder-row{margin:0 -14px!important;padding:0 14px;border-top:1px solid var(--panel-edge)}.side:has(>.sheet){padding-bottom:0}.sheet{border-bottom:0}.sheet .holder-portrait{width:150px;min-height:150px}.sheet .tiles{gap:0;border-top:2px solid var(--panel-edge)}.sheet .tile{border-right:1px solid rgba(245,236,214,.18);padding:8px}.sheet .tile:last-child{border-right:0}.sheet .tile button{margin-top:2px}.sheet .block.muster{border-top:2px solid var(--panel-edge);padding:8px 14px}.sheet .block.muster+.action-row{border-top:0}.sheet .action-row{border-top:1px solid var(--panel-edge);border-bottom:0;padding:9px 14px}.sheet .action-row:first-child{border-top:0}.sheet h3{padding:10px 14px 0;margin:0}.sheet .hint{padding:0 14px 8px}.sheet .stats .hint{padding:0 0 6px}.sheet .holder-card .stats .hint{padding:0}.holder-card{display:flex;align-items:stretch;margin:-12px -16px 12px;border-bottom:2px solid var(--panel-edge);background:#fbf4e2}.holder-portrait{width:160px;height:auto;min-height:150px;object-fit:cover;flex:none;border:0;border-radius:0;border-right:2px solid var(--panel-edge)}.holder-card .stats{flex:1;min-width:0;margin:0;border:0;display:flex;flex-direction:column;justify-content:center}.stat-row.holder-row{background:var(--band);color:var(--band-ink);margin:4px -12px 0;padding:9px 12px;border-top:1px solid var(--panel-edge);border-bottom:0}.stats .holder-row:last-child{border-bottom:0}.holder-row .house-link{color:var(--band-ink);font-weight:700}.holder-row .house-link:hover{color:#f0a24a;text-decoration-style:solid}.rename-row input{flex:1;min-width:0;font-size:17px;padding:7px 10px}.holder-card .holder-row{margin-top:auto}.portrait-blank.holder-portrait{background:var(--parchment-dark)}@media(max-width:700px){.holder-portrait{width:120px}}.province-art{display:block;width:calc(100% + 32px);margin:-12px -16px 12px;max-height:190px;object-fit:cover;border-bottom:2px solid var(--panel-edge)}.centered.people-panel{max-width:860px}.people-show{display:flex;align-items:center;gap:10px;margin:10px 0}.people-arrow{font-size:44px;line-height:1;padding:20px 14px 26px;flex:none}.people-body{flex:1;text-align:center;min-width:0}.people-big{width:300px;height:300px;border:2px solid var(--ink);border-radius:4px;box-shadow:0 6px 18px #0000004d}.people-frame{position:relative;display:inline-block;line-height:0}.people-frame:after{content:"";position:absolute;left:2px;right:2px;bottom:2px;height:28%;border-radius:0 0 3px 3px;pointer-events:none;background:linear-gradient(to bottom,#100c0c00,#100c0c80 55%,#100c0cf2)}.people-title{font-family:var(--font-display);font-size:34px;letter-spacing:.06em;margin:6px 0 8px}.people-story{font-size:24px;line-height:1.35;margin:0 24px 16px;min-height:2.7em}.people-pair{display:flex;gap:16px;justify-content:center}.pair{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid var(--panel-edge);background:#fbf4e2;padding:8px 14px 8px 8px;min-width:250px}.pair .tech-art{width:56px;height:56px}.pair-label{font-family:var(--font-display);font-size:14px;letter-spacing:.08em}.pair.easier .pair-label{color:#3d7a2a}.pair.harder .pair-label{color:var(--danger)}.pair.even{min-width:340px;justify-content:center;text-align:center}.pair.even .pair-label{color:var(--ink-soft)}.people-dots{margin-top:14px}.dot{display:inline-block;width:12px;height:12px;border-radius:50%;border:1px solid var(--ink);margin:0 4px;cursor:pointer;background:transparent}.dot.on{background:var(--ink)}.people-panel .panel-foot{justify-content:center;padding-top:22px;margin-top:20px}.blurb{background:var(--ink);color:var(--panel);text-align:center;padding:10px 14px;margin:-12px -16px 0;font-size:18px;line-height:1.35}.learn-top{display:flex;margin:0 -16px 12px;border-bottom:2px solid var(--panel-edge)}.learn-pic{width:130px;flex:none;display:flex;align-items:center;justify-content:center;background:#fbf4e2;border-right:1px solid var(--panel-edge)}.learn-pic .tech-art{width:104px;height:104px}.learn-rows{flex:1;min-width:0}.learn-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid rgba(0,0,0,.08);font-size:18px}.learn-row>span{white-space:nowrap}.learn-row:last-child{border-bottom:0}.learn-row select{font-size:18px;padding:5px 30px 5px 8px;flex:0 1 160px;min-width:0}table.learn-progress{width:100%;border-collapse:collapse;margin-bottom:12px}table.learn-progress td{padding:6px;font-size:18px;border-bottom:1px solid rgba(0,0,0,.06)}table.learn-progress td.num{text-align:right}table.learn-progress tr.now td{font-weight:700}.learn-trait{display:flex;align-items:center;gap:12px;border:1px solid var(--panel-edge);background:#fbf4e2;padding:8px 12px;margin-bottom:8px}.learn-trait-lines{color:var(--ink-soft);line-height:1.35}.learn-entry{margin:0 -16px;border-top:2px solid var(--panel-edge)}.learn-entry h3.learn-name{margin:0;padding:10px 16px;background:var(--ink);color:var(--brass-light);font-size:20px;letter-spacing:.06em}.learn-entry-body{display:flex;align-items:center;gap:14px;padding:12px 16px;font-size:18px;line-height:1.4}.learn-entry-body .tech-art{width:96px;height:96px;flex:none}button.link.house-link{color:inherit;font-weight:inherit;text-decoration:underline dotted;text-underline-offset:3px}button.link.house-link:hover{color:var(--brass)}.pick-row.house-row{cursor:pointer}.house-head{display:flex;align-items:center;gap:14px;margin-bottom:12px}.house-big{width:120px;height:120px}.house-people{font-family:var(--font-display);font-size:22px;letter-spacing:.04em}.house-techs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px}.house-tech{text-align:center;border:1px solid var(--panel-edge);background:#fbf4e2;padding:6px 4px}.house-tech .tech-art{width:48px;height:48px}.house-tech-name{font-family:var(--font-display);font-size:13px;letter-spacing:.04em;color:var(--ink-soft)}.house-tech-level{font-size:24px;font-weight:700}.cmp-grid{margin-bottom:12px;border:1px solid var(--panel-edge);background:#fbf4e2;padding:2px 12px}.cmp-row{display:grid;grid-template-columns:1fr 92px 92px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.08);font-size:19px}.cmp-row:last-child{border-bottom:0}.cmp-row span:nth-child(2),.cmp-row span:nth-child(3){text-align:right;font-weight:600}.cmp-row.cmp-head{font-family:var(--font-display);font-size:15px;letter-spacing:.06em;color:var(--ink-soft);font-weight:400}.cmp-row.cmp-head span:nth-child(2),.cmp-row.cmp-head span:nth-child(3){font-weight:400}.cmp-row.cmp-head span:nth-child(2){grid-column:1 / 3;text-align:left}.cmp-better{color:#3d7a2a}.cmp-worse{color:var(--danger)}.tile .tile-sub.cmp-better{color:#7bc46a}.tile .tile-sub.cmp-worse{color:#e2897a}table.houses-table{margin:6px 0 8px}table.houses-table th,table.houses-table td{padding:6px 5px}table.houses-table th.num,table.houses-table td.num{text-align:right;white-space:nowrap}table.houses-table th.sortable{cursor:pointer}table.houses-table th.sorted{color:var(--ink)}table.houses-table .sort-mark{display:inline-block;width:.9em;text-align:right;visibility:hidden}table.houses-table th.sorted .sort-mark{visibility:visible}table.houses-table td.swatch-cell{width:18px;padding-right:0}table.houses-table td.look-cell{width:30px;padding:4px 2px}table.houses-table button.look{font-size:18px;padding:2px 6px;background:transparent;border-color:transparent;color:var(--brass)}table.houses-table button.look:hover{border-color:var(--panel-edge);background:var(--brass-light)}table.houses-table tr.self td{background:#d4a03c29}table.houses-table td.name-cell .house-link{font-weight:600;white-space:nowrap}table.houses-table td.name-cell .small{white-space:nowrap}table.houses-table td.name-cell .small{font-size:14px}.deal{border:1px solid var(--panel-edge);background:#fbf4e2;padding:10px 12px;margin-bottom:8px;font-size:19px}.deal-row{display:flex;gap:8px;margin-top:8px;align-items:center}.deal-row select{flex:1;min-width:0;font-size:18px;padding:6px 42px 6px 8px}.deal-row button{flex:0 0 150px;white-space:nowrap}.badge{display:inline-block;min-width:20px;padding:0 6px;border-radius:10px;background:var(--danger);color:#fff;font-family:var(--font-body);font-size:14px;font-weight:700;line-height:20px;text-align:center;vertical-align:middle}#letters-btn{position:relative}#ruler-btn{line-height:0;padding:5px 10px}.topbar button.icon.active{background:var(--ink);color:var(--brass-light)}#mail-badge{position:absolute;top:-8px;right:-8px}.badge[hidden]{display:none}@keyframes mailBlink{0%,to{opacity:1}50%{opacity:.35}}#letters-btn.blink{animation:mailBlink 1.1s ease-in-out infinite}.thread-row{cursor:pointer}.thread-row.unread{background:#fff8e6;border-color:var(--brass)}.thread-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:20px}.thread{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.letter{max-width:85%;padding:8px 12px;border:1px solid var(--panel-edge);border-radius:6px;font-size:19px;line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere}.letter.theirs{align-self:flex-start;background:#fbf4e2}.letter.mine{align-self:flex-end;background:#f3e4bd}.letter .when{font-family:var(--font-display);font-size:12px;color:var(--ink-soft);margin-top:4px}.compose textarea{width:100%;font-family:var(--font-body);font-size:19px;padding:8px 10px;resize:vertical}.compose .panel-foot{margin-top:8px;padding-top:8px}.bulletins{display:flex;flex-direction:column;gap:10px;margin-top:14px}.bulletin{border:1px solid var(--panel-edge);background:#fbf4e2;padding:10px 14px;font-size:19px;line-height:1.35}.bulletin.mine{background:#f3e4bd}.bulletin-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:20px}.bulletin .letter-body{white-space:pre-wrap;overflow-wrap:anywhere}.colour-pick{margin-top:14px}.colour-row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:6px}.colour-swatch{width:30px;height:30px;padding:0;border:2px solid var(--panel-edge);border-radius:4px;cursor:pointer}.colour-swatch.on{border-color:var(--ink);box-shadow:0 0 0 3px var(--brass-light);transform:scale(1.12)}.colour-swatch:disabled{opacity:.25;cursor:not-allowed}.lobby-actions{display:flex;gap:14px;justify-content:center;margin-top:22px}.lobby-learn{text-align:center;margin-top:18px}.lobby-learn button{font-size:18px}.lobby-learn button svg{vertical-align:-.15em;margin-right:4px}.centered .codex-page{font-size:19px}.centered .codex-nav{margin-top:18px;padding-top:14px}.centered .section-note button.link{padding:0;font-size:17px}.lobby-actions .badge{margin-left:6px}.xcard{border:1px solid var(--panel-edge);background:#fbf4e2;padding:10px 12px;margin-bottom:10px}.xcard-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:19px}.xline{font-size:19px;margin:3px 0}.xcard .panel-foot{margin-top:10px;padding-top:8px}table.ledger td{font-size:19px;padding:6px}table.ledger td.num{text-align:right;white-space:nowrap}.xcard.log{cursor:default}.xcard.log.unread{background:#fff8e6;border-color:var(--brass);cursor:pointer}li.seat-open{border:1px dashed var(--panel-edge);border-bottom-style:dashed;background:#00000008;padding:10px 12px;margin:4px -12px}li.seat-open .seat-portrait{opacity:.5}.seat-wait{font-style:italic;color:var(--ink-soft);font-size:20px}.centered .panel-foot{margin-top:35px;padding-top:35px;justify-content:space-between;gap:24px}.row select{flex:1;min-width:0}.centered .panel-foot+.error{text-align:right}.centered .panel-foot+.error:empty{display:none}.centered.gate{max-width:560px;min-width:480px;text-align:center}.gate-seal{font-size:54px;color:var(--brass);margin:12px 0 6px;line-height:1}.gate-text{font-size:20px;color:var(--ink-soft);margin:0 20px 18px}.gate .error{margin:12px 0 0;min-height:0}.gate .error:empty{display:none}.gate .panel-foot{text-align:left}.gate-form{display:flex;justify-content:center}.gate-form input{width:100%;max-width:320px;font-size:22px;padding:10px 14px}canvas.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;z-index:0;filter:sepia(.3) saturate(.8)}.centered{position:relative;z-index:1}.landing{flex:1;overflow-y:auto;position:relative;z-index:1;display:flex;flex-direction:column}.landing-hero{flex:1 0 auto;display:flex;align-items:center;justify-content:center;text-align:center;padding:40px 24px 38px}.landing-about{flex:0 0 auto}.cartouche{width:100%;max-width:1060px;background:#f5ecd6f0;border:2px solid var(--panel-edge);outline:1px solid var(--panel-edge);outline-offset:5px;box-shadow:0 14px 40px #0000004d;padding:34px 52px 38px}.landing-hero h1{font-size:76px;letter-spacing:.16em;line-height:1}.lede{max-width:620px;margin:24px auto 0;font-size:21px;color:var(--ink-soft)}.invite-note{display:inline-block;margin:24px auto 0;padding:10px 18px;background:#fbf4e2;border:1px solid var(--brass);font-size:18px}.landing-cta{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:32px}.landing-cta button{font-size:19px;padding:12px 30px;min-width:210px}.landing-cta button.ghost{background:transparent}.landing-cta button.ghost:hover{background:#fffaf0}.landing-about{width:calc(100% - 48px);max-width:1060px;margin:0 auto 40px;background:#f5ecd6f2;border:2px solid var(--panel-edge);outline:1px solid var(--panel-edge);outline-offset:5px;box-shadow:0 14px 40px #0000004d;padding:46px 40px 50px}.landing-about h2{font-size:30px;letter-spacing:.1em;text-align:center;margin-bottom:36px}.features{max-width:940px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 36px}.feature{display:flex;gap:18px;align-items:flex-start}.feature img{width:88px;height:88px;flex:none;object-fit:contain;background:#fbf4e2;border:1px solid var(--panel-edge)}.feature h3{font-size:18px;letter-spacing:.06em;margin:2px 0 6px}.feature p{margin:0;font-size:18px;line-height:1.4;color:var(--ink-soft)}.tutorial-video{display:block;width:100%;aspect-ratio:16 / 9;background:#2a2118;border:1px solid var(--panel-edge)}.lobby-learn{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 22px}.videos-overlay{align-items:flex-start;overflow-y:auto}.videos-card{background:var(--panel);border:2px solid var(--panel-edge);box-shadow:0 12px 40px #0006;padding:18px 22px 22px;width:100%;max-width:1240px;margin:auto}.videos-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.videos-head h2{font-size:24px;letter-spacing:.08em}.videos-body{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:20px}.videos-side{position:relative;min-height:320px}.videos-scroll{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;padding-right:6px}.now-playing{margin-top:12px}.now-playing h3{font-size:22px;letter-spacing:.04em;margin:2px 0 4px}.now-playing p{margin:0;font-size:18px;color:var(--ink-soft)}.episode-chapter{font-family:var(--font-display);font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}h3.episode-chapter{margin:14px 0 6px;padding-bottom:4px;border-bottom:1px solid var(--panel-edge)}h3.episode-chapter:first-child{margin-top:0}.episode-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:6px}.videos-scroll{overflow-x:hidden}.episode{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#fbf4e2;border:1px solid var(--panel-edge);padding:6px 10px 6px 6px;font:inherit;color:var(--ink);cursor:pointer}.episode:hover{background:#fffaf0}.episode.current{border-color:var(--brass);box-shadow:inset 3px 0 0 var(--brass);background:#fffaf0}.episode-thumb{position:relative;display:block;flex:none}.episode-thumb img{display:block;width:96px;aspect-ratio:16 / 9;object-fit:cover;border:1px solid var(--panel-edge)}.episode-play{position:absolute;left:50%;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;background:#2a2118bf}.episode-play:after{content:"";position:absolute;left:10px;top:7px;border-style:solid;border-width:6px 0 6px 9px;border-color:transparent transparent transparent #f5ecd6}.episode:hover .episode-play{background:#2a2118f2}.episode-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.episode-title{font-family:var(--font-display);font-size:16px;letter-spacing:.03em}.episode-blurb{font-size:15px;line-height:1.3;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.episode-length{flex:none;font-family:var(--font-display);font-size:14px;color:var(--ink-soft)}.landing-episodes{max-width:940px;margin:0 auto}.landing-episodes .episode-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}.landing-episodes .episode-blurb{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.landing-episodes h3.episode-chapter{margin-top:26px;font-size:15px}.landing-episodes h3.episode-chapter:first-child{margin-top:0}@media(max-width:860px){.videos-body{grid-template-columns:1fr}.videos-side{min-height:0}.videos-scroll{position:static;overflow:visible;padding-right:0}}.auth form{text-align:left;max-width:360px;margin:4px auto 0}.auth label{display:block;font-family:var(--font-display);font-size:15px;letter-spacing:.05em;color:var(--ink-soft);margin:20px 0 5px}.auth input{width:100%}.auth .hint{font-style:italic;font-size:15px;line-height:1.3;margin-top:4px;color:var(--ink-soft)}.auth .error{text-align:left}.auth form button[type=submit]{width:100%;margin-top:22px}.auth-switch{margin-top:20px;font-size:18px;color:var(--ink-soft)}@media(max-width:700px){.landing-hero{padding:28px 14px}.cartouche{padding:30px 18px 32px;outline-offset:3px}.landing-hero h1{font-size:44px;letter-spacing:.1em}.lede{font-size:18px}.landing-cta button{width:100%;max-width:320px}.landing-about{width:calc(100% - 28px);margin-bottom:24px;padding:30px 14px 34px;outline-offset:3px}.features{grid-template-columns:1fr;gap:22px}.feature img{width:64px;height:64px}.videos-overlay{padding:10px}.videos-card{padding:12px 12px 16px}.landing-episodes .episode-list{grid-template-columns:1fr}}button.link.secondary{font-family:var(--font-display);font-size:16px;letter-spacing:.04em;color:var(--ink-soft);text-decoration:none;padding:8px 4px}button.link.secondary:hover{color:var(--ink);text-decoration:underline}button.outline{background:transparent;border:1px solid var(--panel-edge);color:var(--ink-soft);font-family:var(--font-display);font-size:15px;letter-spacing:.04em;padding:6px 14px}button.outline:hover{border-color:var(--ink-soft);color:var(--ink);background:#5a46280f}.chev{vertical-align:-.1em;margin-right:2px}.topbar .stat .n{display:none}@media(max-width:700px){.topbar .stat .n{display:inline}}@media(max-width:700px){.topbar{position:relative;height:auto;width:auto;max-width:none;border-right:0;border-radius:0;box-shadow:none;flex-wrap:nowrap;gap:4px;padding:6px 8px;font-size:16px;overflow:hidden}.main{position:relative;inset:auto;flex:1;min-height:0}#banner{position:static;transform:none;max-width:none}.topbar .stat{padding:0 7px}.topbar .stat:first-child{padding-left:2px}.topbar button.icon{font-size:20px;padding:5px 10px}#tb{display:flex;align-items:baseline;white-space:nowrap;min-width:0;overflow:hidden}.topbar .stat .w{display:none}.topbar .stat.muted{font-style:normal;font-size:13px}#tb-actions,#help-btn,.menu-list .key{display:none}#ruler-btn{padding:4px 8px}#ruler-btn svg{width:22px;height:22px}.menu-clock{display:flex}.side-frame,.side-frame.wide,.side-frame.slim{top:0;left:0;width:100%;max-height:100%;border-width:0 0 2px 0}.victory-overlay{padding:0;align-items:stretch}.victory-card{max-width:none;border-width:0;padding:18px 16px 24px}.victory-card h1{font-size:26px;letter-spacing:.06em}.victory-sub{font-size:17px}.victory-standings th{font-size:12px}.victory-standings td{font-size:16px;padding:6px 4px}}.hint.indent{margin:-8px 0 16px 180px;font-style:italic;font-size:15px;line-height:1.3}.choice-row{position:relative}.quiet-range{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.quiet-range select{flex:1;min-width:0}.quiet-range.off{display:none}.quiet-range{flex:1 1 100%;margin-left:180px;order:2}.choice-row:has(.quiet-range) label.check{flex:1 1 auto}@media(max-width:700px){.quiet-range{margin-left:0}}.capture-sliders{flex:1 1 100%;margin-left:180px;order:2;display:flex;flex-direction:column;gap:8px}.capture-sliders.off{display:none}.choice-row:has(.capture-sliders) label.check{flex:1 1 auto}.capture-slider{display:flex;align-items:center;gap:14px}.capture-slider .cs-name{flex:0 0 96px}.capture-slider .cs-track{flex:1;display:flex;flex-direction:column;min-width:0}.capture-slider input[type=range]{width:100%;margin:0;accent-color:var(--brass);cursor:pointer}.capture-slider .cs-stops{display:flex;justify-content:space-between;font-size:14px;color:var(--ink-soft)}.capture-slider .cs-stops span{cursor:pointer}.capture-slider .cs-stops span.on{color:var(--ink);font-weight:700}.capture-summary{font-style:italic;font-size:15px;margin-top:2px}@media(max-width:700px){.capture-sliders{margin-left:0}}.choice-row label.check{min-width:0;flex:0 1 auto;display:inline-flex;align-items:center;gap:8px;cursor:pointer}.choice-row label.check input{width:20px;height:20px;margin:0}.choice-row select{align-self:stretch}button.choice-q{flex:0 0 47px;height:47px;align-self:flex-start;padding:0;font-size:18px;line-height:1;background:transparent;color:var(--ink-soft)}button.choice-q:hover{background:#8b6f3d1f}button.choice-q.active{background:var(--ink);color:var(--brass-light);border-color:var(--ink)}.choice-row.off{display:none}.choice-help{position:absolute;top:calc(100% + 4px);left:180px;right:0;z-index:5;padding:10px 14px;background:#faf3e1;border:1px solid var(--panel-edge);border-radius:3px;box-shadow:0 6px 18px #00000038;font-size:15px;line-height:1.35}.choice-help p{margin:0 0 8px}.choice-help dl{margin:0}.choice-help dt{font-weight:700;margin-top:6px}.choice-help dt:first-child{margin-top:0}.choice-help dd{margin:0;font-style:italic}@media(max-width:700px){#app{overflow-y:auto}#app:has(>.centered):before,#app:has(>.centered):after{content:"";flex:0 0 12px}.centered,.centered.gate,.centered.people-panel{min-width:0;max-width:none;width:calc(100% - 24px);box-sizing:border-box;margin:auto 12px;padding:22px 16px 28px}.centered h1{font-size:32px;letter-spacing:.1em}.centered .sub{font-size:18px}.section{margin-top:30px}.row{flex-direction:column;align-items:stretch;gap:6px}.row label{min-width:0}.hint.indent{margin-left:0}.row:has(.choice-q){flex-direction:row;flex-wrap:wrap}.row:has(.choice-q) label{flex:0 0 100%}.choice-help{left:0}.row input:not([type=checkbox]):not([type=number]),.row select{width:100%;box-sizing:border-box}.games li{flex-wrap:wrap}.games .info{flex:1 1 200px}.games .actions{margin-left:auto}.lobby-actions{flex-direction:column;gap:10px}.lobby-actions button{width:100%}.centered .panel-foot{margin-top:24px;padding-top:24px;gap:12px}.people-show{gap:0;position:relative}.people-arrow{position:absolute;top:90px;transform:translateY(-50%);font-size:36px;padding:8px 12px 12px}#pp-prev{left:0}#pp-next{right:0}.pair,.pair.even{min-width:0}.people-big{width:180px;height:180px}.people-title{font-size:22px;letter-spacing:.04em;white-space:nowrap}.people-story{font-size:16px;margin:0 2px 12px;min-height:2.7em}.people-pair{flex-direction:column;gap:8px;align-items:stretch;min-height:215px}.pair.even{flex:1;align-items:center}.gate-text{margin:0 0 16px}}.crossings .learn-progress td.num{white-space:nowrap}.crossings .learn-progress td{vertical-align:top}
