.lobby-container{min-height:var(--measurement-100dvh);padding:var(--measurement-32px) var(--measurement-24px);background:var(--bg-main);background-image:var(--pattern-svg);justify-content:center;align-items:center;display:flex}.lobby-box{width:100%;max-width:var(--measurement-520px);padding:var(--measurement-46px);background:linear-gradient(145deg, var(--lobby-box-surface-alternate), var(--lobby-box-surface));border:var(--measurement-1px) solid var(--gold-border);border-radius:var(--measurement-18px);box-shadow:var(--shadow-surface);text-align:center;position:relative;overflow:hidden}.lobby-box:before,.lobby-box:after{content:"";width:var(--measurement-90px);height:var(--measurement-90px);border:var(--measurement-1px) solid var(--gold-border);position:absolute;transform:rotate(45deg)}.lobby-mon{width:var(--measurement-58px);height:var(--measurement-58px);margin:0 auto var(--measurement-16px);border:var(--measurement-1px) solid var(--color-primary-border);background:var(--color-primary-bg-light);color:var(--color-primary);font-family:Georgia,serif;font-size:var(--measurement-1-8rem);border-radius:50%;place-items:center;display:grid}.lobby-eyebrow{margin-bottom:var(--measurement-8px);color:var(--gold);font-size:var(--measurement-0-68rem);letter-spacing:.2em;font-weight:700}.game-title{margin-bottom:var(--measurement-10px);font-family:Georgia,serif;font-size:var(--measurement-2-45rem);color:var(--text-main);font-weight:500}.lobby-intro{max-width:var(--measurement-350px);margin:0 auto var(--measurement-30px);color:var(--text-muted);font-size:var(--measurement-0-88rem);line-height:1.55}.clan-picker{gap:var(--measurement-8px);margin-bottom:var(--measurement-18px);grid-template-columns:repeat(3,1fr);display:grid}.clan-choice{min-width:0;padding:var(--measurement-13px) var(--measurement-7px);border:var(--measurement-1px) solid var(--border-medium);border-radius:var(--measurement-10px);background:var(--bg-input);color:var(--text-secondary);cursor:pointer;transition:var(--measurement-180ms) ease}.clan-choice strong,.clan-choice span{display:block}.clan-choice strong{font:500 var(--measurement-0-86rem) Georgia, serif;color:var(--text-main)}.clan-choice span{margin-top:var(--measurement-4px);font-size:var(--measurement-0-62rem);color:var(--text-muted)}.clan-choice:hover{border-color:var(--color-primary-border-hover);transform:translateY(-var(--measurement-1px))}.clan-choice.is-selected{border-color:var(--color-primary);background:var(--color-primary-bg-light);box-shadow:inset 0 0 var(--measurement-18px) var(--clan-choice-is-selected-shadow)}.game-title span{color:var(--color-primary)}.field-label{margin-bottom:var(--measurement-8px);text-align:left;color:var(--text-secondary);font-size:var(--measurement-0-95rem);display:block}.input{width:100%;height:var(--measurement-48px);margin-bottom:var(--measurement-16px);padding:0 var(--measurement-14px);border:var(--measurement-1px) solid var(--border-input);border-radius:var(--measurement-10px);background:var(--bg-input);color:var(--text-main);font:inherit;transition:border-color var(--measurement-0-2s), background var(--measurement-0-2s)}.input:focus{border-color:var(--color-primary);outline:none}.form-feedback{min-height:var(--measurement-14px);margin:var(--measurement-8px) 0 0;text-align:left}.btn-primary,.btn-secondary{width:100%;height:var(--measurement-48px);border-radius:var(--measurement-10px);font:inherit;cursor:pointer;transition:background var(--measurement-0-2s), border-color var(--measurement-0-2s), color var(--measurement-0-2s);font-weight:600}.btn-primary{border:var(--measurement-1px) solid var(--btn-primary-border);background:var(--color-primary);color:var(--text-on-accent)}@media (width<=560px){.lobby-box{padding:var(--measurement-34px) var(--measurement-20px)}.clan-picker{grid-template-columns:1fr}.clan-choice{justify-content:space-between;align-items:center;display:flex}.clan-choice span{margin:0}}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{background:var(--bg-button-transparent);color:var(--text-main);border:var(--measurement-1px) solid var(--color-primary-border)}.btn-secondary:hover{background:var(--color-primary-bg-light);border-color:var(--color-primary-border-hover)}.divider{height:var(--measurement-1px);margin:var(--measurement-28px) 0;background:var(--border-subtle)}.waiting-animation{align-items:center;gap:var(--measurement-16px);margin:var(--measurement-28px) 0;color:var(--text-secondary);flex-direction:column;display:flex}.spinner{width:var(--measurement-42px);height:var(--measurement-42px);border:var(--measurement-3px) solid var(--color-primary-bg-light);border-top-color:var(--color-primary);animation:spin var(--measurement-1s) linear infinite;border-radius:50%}.code-label{margin-bottom:var(--measurement-8px);color:var(--text-muted)}.code-display{margin:var(--measurement-20px) 0 var(--measurement-28px);padding:var(--measurement-18px);border-radius:var(--measurement-14px);border:var(--measurement-1px) dashed var(--color-primary-border);background:var(--bg-code);color:var(--text-main);font-size:var(--measurement-2-4rem);letter-spacing:var(--measurement-0-25rem);font-weight:700}@keyframes spin{to{transform:rotate(360deg)}}.waiting-screen{justify-content:center;align-items:center;gap:var(--measurement-16px);min-height:var(--measurement-100dvh);color:var(--text-secondary);background:var(--bg-main);background-image:var(--pattern-svg);flex-direction:column;display:flex}.waiting-screen .spinner{width:var(--measurement-42px);height:var(--measurement-42px);border:var(--measurement-3px) solid var(--color-primary-bg-light);border-top-color:var(--color-primary);animation:spin var(--measurement-1s) linear infinite;border-radius:50%}.deployment-screen{min-height:var(--measurement-100dvh);background:var(--bg-main);background-image:var(--pattern-svg);display:flex}.deployment-panel{width:var(--measurement-320px);padding:var(--measurement-28px);background:var(--bg-surface);border-right:var(--measurement-1px) solid var(--border-subtle);flex-shrink:0;overflow-y:auto}.deployment-panel h2{margin-bottom:var(--measurement-12px);font-size:var(--measurement-1-4rem);color:var(--text-main)}.deployment-hint{margin-bottom:var(--measurement-20px);color:var(--text-secondary);font-size:var(--measurement-0-9rem);line-height:1.5}.army-tray{gap:var(--measurement-8px);margin-bottom:var(--measurement-24px);flex-direction:column;display:flex}.army-tray-item{align-items:center;gap:var(--measurement-10px);padding:var(--measurement-10px) var(--measurement-12px);border-radius:var(--measurement-10px);border:var(--measurement-1px) solid var(--border-input);background:var(--bg-input);color:var(--text-main);cursor:pointer;font:inherit;text-align:left;transition:border-color var(--measurement-0-2s), background var(--measurement-0-2s);display:flex}.army-tray-item:hover:not(:disabled){border-color:var(--color-primary-border-hover)}.army-tray-item.depleted,.army-tray-item:disabled{opacity:.4;cursor:not-allowed}.army-tray-icon{width:var(--measurement-28px);height:var(--measurement-28px);background:var(--color-primary);color:var(--text-on-accent);font-weight:700;font-size:var(--measurement-0-85rem);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.army-tray-label{flex:1;font-weight:600}.army-tray-count{color:var(--text-muted);font-size:var(--measurement-0-85rem)}.btn-primary,.btn-secondary,.btn-tiny{border-radius:var(--measurement-10px);font:inherit;cursor:pointer;transition:background var(--measurement-0-2s), border-color var(--measurement-0-2s), color var(--measurement-0-2s);font-weight:600}.btn-primary{width:100%;height:var(--measurement-46px);background:var(--color-primary);color:var(--text-on-accent);border:none}.btn-secondary{width:100%;height:var(--measurement-44px);margin-top:var(--measurement-8px);background:var(--bg-button-transparent);color:var(--text-main);border:var(--measurement-1px) solid var(--color-primary-border)}.btn-secondary:hover:not(:disabled){background:var(--color-primary-bg-light);border-color:var(--color-primary-border-hover)}.btn-primary:disabled,.btn-secondary:disabled,.btn-tiny:disabled{opacity:.4;cursor:not-allowed}.btn-tiny{padding:var(--measurement-4px) var(--measurement-12px);border:var(--measurement-1px) solid var(--color-primary-border);background:var(--bg-button-transparent);color:var(--text-main);font-size:var(--measurement-0-8rem)}.btn-tiny:hover:not(:disabled){background:var(--color-primary-bg-light)}.battle-screen{min-height:var(--measurement-100dvh);background:var(--bg-main);background-image:var(--pattern-svg);color:var(--text-main);flex-direction:column;display:flex}.battle-header{justify-content:space-between;align-items:center;gap:var(--measurement-20px);padding:var(--measurement-16px) var(--measurement-28px);background:var(--bg-surface);border-bottom:var(--measurement-1px) solid var(--border-subtle);flex-wrap:wrap;display:flex}.turn-info{align-items:center;gap:var(--measurement-16px);display:flex}.turn-number{color:var(--text-muted);font-size:var(--measurement-0-9rem)}.turn-indicator{padding:var(--measurement-4px) var(--measurement-12px);border-radius:var(--measurement-999px);font-weight:600;font-size:var(--measurement-0-85rem)}.turn-indicator.my-turn{background:var(--color-primary-bg-light);color:var(--color-primary)}.turn-indicator.their-turn{background:var(--bg-input);color:var(--text-muted)}.actions-left{color:var(--text-secondary);font-size:var(--measurement-0-85rem)}.players-score{align-items:center;gap:var(--measurement-14px);display:flex}.score-vs{color:var(--text-faint);font-size:var(--measurement-0-85rem)}.player-badge{gap:var(--measurement-2px);padding:var(--measurement-8px) var(--measurement-14px);border-radius:var(--measurement-10px);border:var(--measurement-1px) solid var(--border-subtle);background:var(--bg-panel);min-width:var(--measurement-110px);flex-direction:column;display:flex}.player-badge-label{font-size:var(--measurement-0-7rem);color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em}.player-badge-clan{font-weight:700;font-size:var(--measurement-0-95rem)}.player-badge-vp{font-size:var(--measurement-0-78rem);color:var(--text-muted)}.battle-body{flex:1;min-height:0;display:flex}.board-area{padding:var(--measurement-20px);flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:auto}.side-panel{width:var(--measurement-320px);padding:var(--measurement-20px);background:var(--bg-surface);border-left:var(--measurement-1px) solid var(--border-subtle);gap:var(--measurement-20px);flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}.panel-section h3{margin-bottom:var(--measurement-10px);font-size:var(--measurement-0-95rem);color:var(--text-main)}.panel-section:last-child{flex-direction:column;flex:1;min-height:0;display:flex}.mode-banner,.retreat-banner{top:var(--measurement-16px);padding:var(--measurement-10px) var(--measurement-20px);border-radius:var(--measurement-999px);background:var(--color-primary);color:var(--text-on-accent);font-weight:600;font-size:var(--measurement-0-9rem);box-shadow:var(--shadow-surface);z-index:5;pointer-events:none;position:absolute;left:50%;transform:translate(-50%)}.retreat-banner{background:var(--retreat-banner-surface);animation:pulse-banner var(--measurement-1-5s) infinite alternate}@keyframes pulse-banner{0%{box-shadow:0 0 var(--measurement-10px) var(--retreat-pulse-shadow-start)}to{box-shadow:0 0 var(--measurement-20px) var(--retreat-pulse-shadow-end)}}.card-list{gap:var(--measurement-8px);flex-direction:column;list-style:none;display:flex}.card-item{padding:var(--measurement-10px) var(--measurement-12px);border-radius:var(--measurement-10px);border:var(--measurement-1px) solid var(--border-subtle);background:var(--bg-panel)}.card-item.not-implemented{opacity:.55}.card-item-header{justify-content:space-between;align-items:center;gap:var(--measurement-8px);margin-bottom:var(--measurement-4px);display:flex}.card-name{font-weight:600;font-size:var(--measurement-0-88rem)}.card-description{font-size:var(--measurement-0-78rem);color:var(--text-muted);line-height:1.4}.unit-details{padding:var(--measurement-10px) var(--measurement-12px);border-radius:var(--measurement-10px);background:var(--bg-panel);border:var(--measurement-1px) solid var(--border-subtle);font-size:var(--measurement-0-85rem)}.unit-details-name{margin-bottom:var(--measurement-6px);font-weight:700}.unit-details-stats{gap:var(--measurement-12px);margin-bottom:var(--measurement-6px);color:var(--text-secondary);display:flex}.desperation-note{color:var(--error-text);font-size:var(--measurement-0-8rem)}.activated-note{color:var(--text-faint);font-size:var(--measurement-0-8rem)}.event-log{gap:var(--measurement-6px);flex-direction:column;flex:1;list-style:none;display:flex;overflow-y:auto}.event-log-item{padding:var(--measurement-6px) var(--measurement-10px);border-radius:var(--measurement-8px);background:var(--bg-panel);font-size:var(--measurement-0-78rem);color:var(--text-secondary);animation:fade-in var(--measurement-0-25s) ease-out}.event-log-time{font-family:monospace;font-size:var(--measurement-0-75rem);color:var(--text-faint);margin-right:var(--measurement-6px)}.event-log-empty{color:var(--text-faint);font-size:var(--measurement-0-82rem)}@keyframes fade-in{0%{opacity:0;transform:translateY(-var(--measurement-4px))}to{opacity:1;transform:translateY(0)}}.modal-overlay{background:var(--bg-overlay);-webkit-backdrop-filter:blur(var(--measurement-4px));backdrop-filter:blur(var(--measurement-4px));z-index:20;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{width:100%;max-width:var(--measurement-420px);padding:var(--measurement-32px);border-radius:var(--measurement-20px);background:var(--bg-surface);border:var(--measurement-1px) solid var(--border-subtle);box-shadow:var(--shadow-surface);text-align:center}.modal-box h2{margin-bottom:var(--measurement-12px);color:var(--text-main)}.modal-box p{margin-bottom:var(--measurement-20px);color:var(--text-secondary);font-size:var(--measurement-0-92rem);line-height:1.5}.game-over-reason{color:var(--text-muted)}.game-over-score{gap:var(--measurement-10px);margin:0 0 var(--measurement-22px);grid-template-columns:1fr 1fr;display:grid}.game-over-score>span{gap:var(--measurement-5px);padding:var(--measurement-14px);border:var(--measurement-1px) solid var(--border-subtle);background:#ffffff06;display:grid}.game-over-score>span.is-mine{border-color:var(--color-primary-border)}.game-over-score small{color:var(--text-muted);font-size:var(--measurement-10px);letter-spacing:.14em}.game-over-score strong{color:var(--text-main);font-size:var(--measurement-20px)}.hex-board-svg{width:100%;max-width:var(--measurement-900px);height:auto;max-height:var(--measurement-85vh)}.hex-cell{cursor:pointer}.hex-tile{stroke:var(--border-medium);stroke-width:1px;transition:fill var(--measurement-0-15s), stroke var(--measurement-0-15s), filter var(--measurement-0-15s)}.hex-move-highlight{stroke:var(--color-primary);stroke-width:2.5px;fill-opacity:.85}.hex-attack-highlight{stroke:var(--error-text);stroke-width:2.5px}.hex-retreat-highlight{stroke:var(--retreat-banner-surface);stroke-width:3px;animation:retreat-pulse var(--measurement-1s) ease-in-out infinite}.hex-dimmed{opacity:.35}@keyframes hex-flash{0%{filter:brightness(1.8)}to{filter:brightness()}}@keyframes retreat-pulse{0%,to{stroke-opacity:1}50%{stroke-opacity:.4}}.capital-marker,.shrine-marker,.mountain-marker{font-size:var(--measurement-16px);pointer-events:none;-webkit-user-select:none;user-select:none}.capital-marker.capital-mine{fill:var(--color-primary)}.capital-marker.capital-enemy{fill:var(--error-text)}.shrine-marker{fill:var(--shrine-marker-fill);font-size:var(--measurement-14px)}.mountain-marker{fill:var(--text-faint);font-size:var(--measurement-12px)}.unit-positioner{transition:transform var(--measurement-0-4s) cubic-bezier(.25, 1, .5, 1);cursor:pointer}.unit-square{stroke-width:1.6px;transition:fill var(--measurement-0-15s), filter var(--measurement-0-15s);filter:drop-shadow(var(--measurement-2px) var(--measurement-4px) var(--measurement-4px) var(--unit-square-glow))}.unit-daimyo .unit-square{stroke-width:2.2px}.unit-selected .unit-square{filter:brightness(1.2) drop-shadow(0 0 var(--measurement-8px) var(--unit-selected-unit-square-glow));stroke-width:2px;stroke:var(--unit-selected-unit-square-stroke)}.unit-attack-target .unit-square{stroke:var(--error-text);stroke-width:2.2px}.unit-label{fill:#fff;font-weight:700;font-size:var(--measurement-13px);pointer-events:none;-webkit-user-select:none;user-select:none}.stat-triangle{stroke:var(--stat-triangle-stroke);stroke-width:.5px}.atk-triangle{fill:var(--atk-triangle-fill)}.def-triangle{fill:var(--def-triangle-fill)}.atk-triangle.boosted,.def-triangle.boosted{fill:var(--unit-stat-boosted-fill)}.stat-number{font-size:var(--measurement-8px);fill:var(--stat-number-fill);pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(var(--measurement-1px) var(--measurement-1px) var(--measurement-1px) var(--stat-number-glow));font-weight:800}.wound-stain{font-size:var(--measurement-13px);pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(var(--measurement-1px) var(--measurement-1px) var(--measurement-1px) var(--wound-stain-glow))}.unit-attacking{animation:clash-attack var(--measurement-0-5s) cubic-bezier(.25, 1, .5, 1);z-index:10}@keyframes clash-attack{0%{transform:scale(1)}40%{transform:scale(1.2) translateY(-var(--measurement-4px));filter:drop-shadow(0 0 var(--measurement-8px) var(--animation-clash-attack-glow))}to{transform:scale(1)translateY(0)}}@keyframes clash-defend{0%,to{transform:translate(0)}20%{transform:translateX(-var(--measurement-4px)) rotate(-6deg);filter:brightness(1.5) drop-shadow(0 0 var(--measurement-6px) red)}40%{transform:translateX(var(--measurement-4px)) rotate(6deg)}60%{transform:translateX(-var(--measurement-2px)) rotate(-3deg)}80%{transform:translateX(var(--measurement-2px)) rotate(3deg)}}@media (width<=900px){.deployment-screen,.battle-body{flex-direction:column}.deployment-panel,.side-panel{width:100%;max-height:var(--measurement-40vh)}}.battle-screen{background-color:var(--battle-body-surface);background-image:radial-gradient(circle at 50% -20%, var(--battle-screen-background), transparent var(--measurement-38rem)), linear-gradient(90deg, var(--battle-screen-background-variant-3) var(--measurement-1px), transparent var(--measurement-1px)), linear-gradient(var(--battle-screen-background-alternate) var(--measurement-1px), transparent var(--measurement-1px));background-size:auto, var(--measurement-4px) var(--measurement-4px), var(--measurement-4px) var(--measurement-4px)}.battle-header{min-height:var(--measurement-66px);padding:var(--measurement-8px) var(--measurement-22px);background:var(--battle-header-surface-alternate);border-bottom:var(--measurement-1px) solid var(--battle-header-border);color:var(--player-badge-clan-text);flex-wrap:nowrap}.battle-mark{align-items:center;gap:var(--measurement-9px);font-family:Georgia,serif;font-size:var(--measurement-0-74rem);letter-spacing:.16em;color:var(--battle-mark-text);display:flex}.battle-mark-kanji{width:var(--measurement-34px);height:var(--measurement-34px);border:var(--measurement-1px) solid var(--battle-mark-kanji-border);color:var(--battle-mark-kanji-text);font-size:var(--measurement-1-25rem);place-items:center;line-height:1;display:grid}.battle-mark small{color:var(--battle-mark-text-alternate)}.turn-info{gap:var(--measurement-10px);margin-right:auto}.turn-indicator{padding:var(--measurement-5px) var(--measurement-10px);border-left:var(--measurement-2px) solid var(--turn-indicator-border);font-size:var(--measurement-0-72rem);letter-spacing:.13em;text-transform:uppercase;border-radius:0;color:var(--player-badge-clan-text)!important;background:0 0!important}.turn-indicator.their-turn{border-color:var(--turn-enemy-border);color:var(--turn-enemy-label-muted)!important}.actions-left{align-items:center;gap:var(--measurement-4px);font-size:var(--measurement-0-68rem);color:var(--actions-left-text);letter-spacing:.08em;text-transform:uppercase;display:flex}.actions-left i{width:var(--measurement-7px);height:var(--measurement-7px);background:var(--actions-left-surface);display:inline-block;transform:rotate(45deg)}.actions-left i.spent{background:var(--actions-left-spent-surface)}.players-score{gap:var(--measurement-7px)}.score-vs{display:none}.player-badge{min-width:var(--measurement-92px);padding:var(--measurement-3px) var(--measurement-9px) var(--measurement-4px);border:0;border-left:var(--measurement-1px) solid var(--player-badge-border-alternate);background:0 0;border-radius:0}.player-badge.active{border-left-color:var(--player-badge-active-border);background:linear-gradient(90deg, var(--player-badge-active-surface-alternate), transparent)}.player-badge-label{font-size:var(--measurement-0-56rem);color:var(--player-badge-label-text);letter-spacing:.12em}.player-badge-clan{font-family:Georgia,serif;font-size:var(--measurement-0-82rem);color:var(--player-badge-clan-text)}.player-badge-vp{color:var(--player-badge-vp-text);font-size:var(--measurement-0-65rem)}.battle-body{background:var(--battle-body-surface);gap:0}.board-area{padding:var(--measurement-18px) var(--measurement-20px) var(--measurement-78px);background:radial-gradient(ellipse at center, var(--board-area-surface), var(--battle-body-surface) 74%);overflow:hidden}.hex-board-svg{max-width:min(var(--measurement-960px), 100%);max-height:calc(var(--measurement-100vh) - var(--measurement-145px));filter:drop-shadow(0 var(--measurement-28px) var(--measurement-20px) var(--hex-board-svg-glow))}.hex-move-highlight{stroke:var(--hex-move-highlight-stroke);stroke-width:2px;fill-opacity:1;animation:tile-breathe var(--measurement-1-6s) ease-in-out infinite}.hex-attack-highlight{stroke:var(--hex-attack-highlight-stroke);stroke-width:2.5px;animation:target-breathe var(--measurement-1s) ease-in-out infinite}.hex-move-marker{fill:var(--hex-move-marker-fill);stroke:var(--hex-move-marker-stroke);stroke-width:2px;pointer-events:none;animation:move-marker var(--measurement-1-3s) ease-in-out infinite}.hex-attack-reticle{fill:none;stroke:var(--hex-attack-reticle-stroke);stroke-width:2px;stroke-dasharray:5 3;pointer-events:none;animation:reticle var(--measurement-2s) linear infinite}.hex-deploy-zone{stroke:var(--hex-deploy-zone-stroke);stroke-width:2px;stroke-dasharray:3 3}.hex-pulse{animation:hex-flash var(--measurement-0-7s) ease-out}.capital-marker{font-size:var(--measurement-19px)}.shrine-marker{fill:var(--shrine-marker-fill-alternate)}.unit-square{stroke-width:1.6px;filter:drop-shadow(var(--measurement-2px) var(--measurement-5px) var(--measurement-3px) var(--unit-square-glow-alternate))}.unit-token-inner{transform-origin:50%}.unit-clan-takeda.unit-mine .unit-square{fill:var(--unit-takeda-friendly-fill)}.unit-clan-tokugawa.unit-mine .unit-square{fill:var(--unit-tokugawa-friendly-fill)}.unit-clan-hattori.unit-mine .unit-square{fill:var(--unit-hattori-friendly-fill)}.unit-clan-neutral.unit-mine .unit-square{fill:var(--unit-friendly-fill)}.unit-clan-takeda.unit-enemy .unit-square{fill:var(--unit-takeda-enemy-fill)}.unit-clan-tokugawa.unit-enemy .unit-square{fill:var(--unit-tokugawa-enemy-fill)}.unit-clan-hattori.unit-enemy .unit-square{fill:var(--unit-hattori-enemy-fill)}.unit-clan-neutral.unit-enemy .unit-square{fill:var(--unit-enemy-fill)}.unit-selected .unit-square{stroke:var(--unit-selected-unit-square-stroke);stroke-width:2px;filter:brightness(1.17) drop-shadow(0 0 var(--measurement-10px) var(--unit-selected-unit-square-glow-alternate))}.unit-selection-frame{fill:none;stroke:var(--unit-selected-unit-square-stroke);stroke-width:1.2px;stroke-dasharray:4 3;animation:reticle var(--measurement-3s) linear infinite;pointer-events:none}.unit-label{font-family:Georgia,serif;font-size:var(--measurement-14px);letter-spacing:-.04em}.wound-stain{font-size:var(--measurement-11px)}.side-panel.command-rail{width:var(--measurement-154px);padding:var(--measurement-14px) var(--measurement-12px);gap:var(--measurement-12px);background:var(--command-rail-surface);border-left:var(--measurement-1px) solid var(--command-rail-border)}.command-rail .panel-section{padding-bottom:var(--measurement-12px);border-bottom:var(--measurement-1px) solid var(--command-rail-panel-section-border)}.command-rail .panel-section h3{color:var(--command-rail-panel-section-text);font-size:var(--measurement-0-6rem);text-transform:uppercase;letter-spacing:.16em}.btn-primary,.btn-secondary,.btn-tiny{font-size:var(--measurement-0-74rem);letter-spacing:.07em;text-transform:uppercase;border-radius:0}.btn-primary{height:var(--measurement-42px);background:var(--btn-primary-surface);clip-path:polygon(0 0, calc(100% - var(--measurement-8px)) 0, 100% var(--measurement-8px), 100% 100%, var(--measurement-8px) 100%, 0 calc(100% - var(--measurement-8px)))}.btn-secondary{height:auto;padding:var(--measurement-10px) var(--measurement-6px);border-color:var(--btn-secondary-border);color:var(--btn-secondary-text)}.btn-secondary:hover:not(:disabled){background:var(--btn-secondary-surface)}.board-legend{left:var(--measurement-22px);bottom:var(--measurement-17px);gap:var(--measurement-11px);color:var(--board-legend-text);font-size:var(--measurement-0-6rem);letter-spacing:.08em;text-transform:uppercase;pointer-events:none;display:flex;position:absolute}.board-legend span{align-items:center;gap:var(--measurement-5px);display:flex}.legend-dot{width:var(--measurement-7px);height:var(--measurement-7px);background:var(--hex-move-highlight-stroke);display:block;transform:rotate(45deg)}.legend-dot.attack{background:var(--legend-dot-attack-surface)}.legend-dot.shrine{background:var(--legend-dot-shrine-surface);border-radius:50%;transform:none}.unit-readout{left:var(--measurement-22px);top:var(--measurement-17px);align-items:center;gap:var(--measurement-9px);min-width:var(--measurement-210px);padding:var(--measurement-7px) var(--measurement-11px) var(--measurement-7px) var(--measurement-7px);background:var(--unit-readout-surface);border-left:var(--measurement-2px) solid var(--unit-readout-border);color:var(--unit-readout-value-text);box-shadow:0 var(--measurement-8px) var(--measurement-18px) var(--unit-readout-shadow);animation:readout-in var(--measurement-0-25s) ease-out;display:flex;position:absolute}.unit-readout-clan{width:var(--measurement-29px);height:var(--measurement-29px);color:var(--text-on-accent);background:var(--unit-readout-clan-surface);place-items:center;font-family:Georgia,serif;font-weight:700;display:grid}.unit-readout strong,.unit-readout span{display:block}.unit-readout strong{font-size:var(--measurement-0-76rem)}.unit-readout div span{margin-top:var(--measurement-2px);color:var(--unit-readout-label-text);font-size:var(--measurement-0-58rem);letter-spacing:.07em}.unit-readout em{color:var(--unit-readout-danger-text);font-size:var(--measurement-0-56rem);letter-spacing:.1em;margin-left:auto;font-style:normal}.battle-whisper{top:var(--measurement-18px);max-width:var(--measurement-360px);color:var(--battle-whisper-text);font-family:Georgia,serif;font-size:var(--measurement-0-73rem);text-align:center;text-shadow:0 var(--measurement-2px) var(--measurement-3px) var(--battle-whisper-shadow);animation:whisper-in var(--measurement-0-45s) ease-out;pointer-events:none;position:absolute;left:50%;transform:translate(-50%)}.battle-whisper strong{color:var(--battle-whisper-text-alternate)}.battle-card-rack{right:var(--measurement-18px);bottom:var(--measurement-15px);align-items:end;gap:var(--measurement-4px);display:flex;position:absolute}.tactic-card{width:var(--measurement-76px);min-height:var(--measurement-50px);padding:var(--measurement-7px) var(--measurement-6px);border:var(--measurement-1px) solid var(--tactic-card-border-alternate);border-bottom:var(--measurement-3px) solid var(--btn-primary-surface);background:linear-gradient(145deg, var(--tactic-card-surface-alternate), var(--tactic-card-surface));color:var(--tactic-card-text-alternate);cursor:pointer;font:inherit;text-align:left;transition:transform var(--measurement-0-18s) ease, border-color var(--measurement-0-18s) ease}.tactic-card:hover:not(:disabled){transform:translateY(-var(--measurement-8px));border-color:var(--tactic-card-border)}.tactic-card span{font-family:Georgia,serif;font-size:var(--measurement-0-65rem);line-height:1.05;display:block}.tactic-card small{margin-top:var(--measurement-5px);color:var(--tactic-card-text);font-size:var(--measurement-0-5rem);letter-spacing:.12em;text-transform:uppercase;display:block}.tactic-card.played,.tactic-card:disabled{opacity:.35;cursor:default}.tactic-card.not-implemented{border-bottom-color:var(--tactic-card-not-implemented-border)}.mode-banner,.retreat-banner{top:var(--measurement-55px);padding:var(--measurement-8px) var(--measurement-14px);background:var(--btn-primary-surface);font-size:var(--measurement-0-7rem);letter-spacing:.08em;text-transform:uppercase;box-shadow:0 var(--measurement-7px) var(--measurement-15px) var(--mode-banner-shadow);border-radius:0}@keyframes tile-breathe{50%{stroke-opacity:.42}}@keyframes target-breathe{50%{stroke-opacity:.35}}@keyframes move-marker{50%{opacity:.62;transform:scale(1.25)}}@keyframes reticle{to{transform-origin:50%;transform:rotate(360deg)}}@keyframes readout-in{0%{opacity:0;transform:translateY(-var(--measurement-8px))}}@keyframes whisper-in{0%{opacity:0;transform:translate(-50%, -var(--measurement-8px))}to{opacity:1;transform:translate(-50%)}}@media (width<=900px){.battle-header{padding:var(--measurement-7px) var(--measurement-12px)}.player-badge{min-width:auto;padding:var(--measurement-2px) var(--measurement-6px)}.player-badge-label{display:none}.side-panel.command-rail{width:100%;max-height:none;padding:var(--measurement-8px) var(--measurement-12px);flex-direction:row;display:flex}.command-rail .panel-section{border:0;flex:1;padding:0}.command-rail .panel-section h3{display:none}.command-rail .btn-secondary{margin:0}.board-area{min-height:var(--measurement-62vh);padding:var(--measurement-10px) var(--measurement-7px) var(--measurement-70px)}.unit-readout{left:var(--measurement-10px);top:var(--measurement-10px)}.battle-whisper{display:none}.board-legend{left:var(--measurement-10px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:var(--measurement-0-01ms)!important;transition-duration:var(--measurement-0-01ms)!important;animation-iteration-count:1!important}}.hex-move-highlight,.hex-attack-highlight,.hex-move-marker,.hex-attack-reticle,.unit-selection-frame{animation:none}.hex-move-highlight{stroke:var(--hex-move-highlight-stroke);stroke-width:2.3px}.hex-move-marker{fill:var(--hex-move-marker-fill)}.hex-attack-reticle{stroke-dasharray:4 3}.hex-retreat-highlight{fill:var(--hex-retreat-highlight-fill);fill-opacity:1;stroke:var(--hex-retreat-highlight-stroke);stroke-width:3px;animation:none}.hex-retreat-marker{fill:var(--hex-retreat-marker-fill);stroke:var(--hex-retreat-marker-stroke);stroke-width:1.5px;pointer-events:none}.march-preview{fill:none;stroke:var(--march-preview-stroke);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2 6;opacity:.86;pointer-events:none}.opponent-move-trace,.opponent-attack-trace{pointer-events:none}.opponent-move-trace polygon{fill:#9d362d14;stroke:#cd77609e;stroke-width:1.5px;stroke-dasharray:5 5}.opponent-move-trace line{stroke:#cd7760b8;stroke-width:2.2px;stroke-linecap:round;stroke-dasharray:3 6}.opponent-attack-trace line{stroke:#de4a3dc7;stroke-width:2.4px;stroke-linecap:round}.opponent-attack-trace circle{fill:#b4261e17;stroke:#e25c4acc;stroke-width:2px;stroke-dasharray:4 3}.unit-positioner{transition:transform var(--measurement-190ms) cubic-bezier(.25, .85, .35, 1)}.unit-spent .unit-square{filter:saturate(.55) brightness(.76) drop-shadow(var(--measurement-2px) var(--measurement-4px) var(--measurement-3px) var(--unit-spent-unit-square-glow))}.unit-spent .unit-label{fill:var(--unit-spent-unit-label-fill)}.unit-spent-mark{fill:var(--unit-spent-mark-fill);stroke:var(--unit-spent-mark-stroke);stroke-width:var(--measurement-0-6px);font-family:Georgia,serif;font-size:var(--measurement-10px);pointer-events:none;paint-order:stroke;font-weight:700}.unit-owner-mark{font-size:var(--measurement-10px);pointer-events:none;paint-order:stroke;stroke-width:var(--measurement-1-2px);font-weight:800}.unit-owner-mine{fill:var(--unit-owner-mine-fill);stroke:var(--unit-owner-mine-stroke)}.unit-owner-enemy{fill:var(--unit-owner-enemy-fill);stroke:var(--unit-owner-enemy-stroke);font-size:var(--measurement-13px)}.unit-attacking .unit-square{animation:attacker-flash var(--measurement-330ms) ease-out}@keyframes attacker-flash{45%{filter:brightness(1.42) drop-shadow(0 0 var(--measurement-7px) var(--animation-attacker-flash-glow))}}@keyframes defender-flash{35%{fill:var(--animation-defender-flash-fill);filter:brightness(1.35) drop-shadow(0 0 var(--measurement-7px) var(--animation-defender-flash-glow))}}.combat-effect{pointer-events:none}.combat-strike{fill:none;stroke:var(--combat-strike-stroke);stroke-width:5px;stroke-linecap:round;stroke-dasharray:1 180;filter:drop-shadow(0 0 var(--measurement-5px) var(--combat-strike-glow));animation:combat-slash var(--measurement-720ms) cubic-bezier(.16, .8, .25, 1) forwards}.combat-impact{fill:none;stroke:var(--combat-impact-stroke);stroke-width:4px;opacity:0;transform-box:fill-box;transform-origin:50%;animation:combat-impact var(--measurement-560ms) var(--measurement-150ms) ease-out forwards}.combat-miss .combat-impact{stroke:var(--combat-miss-combat-strike-stroke-alternate)}.combat-critical .combat-impact{stroke:var(--combat-critical-combat-strike-stroke);stroke-width:6px}.combat-outcome{fill:var(--combat-outcome-fill);stroke:var(--combat-outcome-stroke);stroke-width:var(--measurement-2px);paint-order:stroke;font:800 var(--measurement-12px) system-ui, sans-serif;letter-spacing:.12em;opacity:0;animation:combat-label var(--measurement-700ms) var(--measurement-120ms) ease-out forwards}.combat-critical .combat-outcome{fill:var(--combat-critical-combat-outcome-fill);font-size:var(--measurement-14px)}@keyframes combat-slash{0%{stroke-dasharray:0 180;opacity:0}20%{opacity:1}65%{stroke-dasharray:180 0;opacity:1}to{stroke-dasharray:180 0;opacity:0}}@keyframes combat-impact{0%{opacity:0;transform:scale(.35)}25%{opacity:1}to{opacity:0;transform:scale(2.4)}}@keyframes combat-label{0%{opacity:0;transform:translateY(var(--measurement-5px))}25%,70%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-var(--measurement-5px))}}.header-control{margin-left:var(--measurement-8px);padding:var(--measurement-6px) var(--measurement-8px);border:var(--measurement-1px) solid var(--header-control-border-alternate);color:var(--header-control-text);cursor:pointer;font:inherit;font-size:var(--measurement-0-58rem);letter-spacing:.12em;text-transform:uppercase;background:0 0}.header-control:hover{border-color:var(--header-control-border);color:var(--header-control-text-alternate)}.drawer-backdrop{z-index:30;background:var(--drawer-backdrop-surface);animation:drawer-fade var(--measurement-0-18s) ease-out;position:fixed;inset:0}.battle-drawer{width:min(var(--measurement-390px), var(--measurement-92vw));background:var(--command-rail-surface);border-left:var(--measurement-1px) solid var(--battle-drawer-border);height:100%;box-shadow:-var(--measurement-18px) 0 var(--measurement-45px) var(--mode-banner-shadow);color:var(--battle-drawer-text);animation:drawer-in var(--measurement-0-22s) cubic-bezier(.2, .8, .3, 1);flex-direction:column;display:flex;position:absolute;top:0;right:0}.battle-drawer header{padding:var(--measurement-20px) var(--measurement-18px) var(--measurement-15px);border-bottom:var(--measurement-1px) solid var(--battle-drawer-border-alternate);justify-content:space-between;align-items:center;display:flex}.battle-drawer h2{font-family:Georgia,serif;font-size:var(--measurement-1rem);letter-spacing:.04em;font-weight:400}.drawer-close{color:var(--header-control-text);cursor:pointer;font-size:var(--measurement-1-55rem);background:0 0;border:0;line-height:1}.drawer-content{min-height:0;padding:var(--measurement-14px);flex:1;overflow:auto}.drawer-content .event-log{gap:var(--measurement-8px);flex-direction:column;display:flex;overflow:visible}.drawer-content .event-log-item{grid-template-columns:var(--measurement-50px) 1fr;gap:var(--measurement-9px);padding:var(--measurement-9px) var(--measurement-7px);border-left:var(--measurement-2px) solid var(--event-log-item-border-alternate);background:var(--event-log-item-surface);color:var(--event-log-body-text);font-size:var(--measurement-0-78rem);border-radius:0;line-height:1.45;animation:none;display:grid}.drawer-content .event-log-item time{color:var(--event-log-time-text);font-family:monospace;font-size:var(--measurement-0-67rem)}.drawer-content .event-log-item strong{color:var(--event-log-emphasis-text)}.drawer-card-list{gap:var(--measurement-10px)}.drawer-card-list .card-item{background:var(--event-log-item-surface);border-color:var(--drawer-card-list-card-item-border);border-radius:0}.drawer-card-list .card-name{color:var(--drawer-card-list-card-name-text)}.drawer-card-list .card-description{color:var(--drawer-card-list-card-description-text)}@keyframes drawer-fade{0%{opacity:0}}@keyframes drawer-in{0%{transform:translate(100%)}}@media (width<=900px){.header-control{margin-left:var(--measurement-3px)}}.hex-attackable-highlight{fill:var(--hex-attackable-highlight-fill);stroke:var(--hex-attack-highlight-stroke);stroke-width:1.8px;pointer-events:none}.battle-header,.deployment-panel,.side-panel{background:var(--game-panel-surface);border-color:var(--border-subtle);box-shadow:0 var(--measurement-12px) var(--measurement-38px) var(--game-panel-shadow)}.board-area{isolation:isolate;background:radial-gradient(circle at 50% 45%,var(--board-area-surface-variant-3),transparent 62%)}.board-area.combat-active{overflow:hidden}.combat-stage{z-index:20;pointer-events:auto;cursor:wait;position:absolute;inset:0}.combat-vignette{background:radial-gradient(circle at center,transparent 28%,var(--combat-vignette-surface) 54%,var(--combat-vignette-surface-alternate) 100%);opacity:0;animation:combat-vignette var(--measurement-1550ms) ease-out both;position:absolute;inset:0}.combat-result-card{min-width:var(--measurement-220px);padding:var(--measurement-10px) var(--measurement-24px) var(--measurement-12px);border-block:var(--measurement-1px) solid var(--gold-border);background:linear-gradient(90deg,transparent,var(--combat-result-card-surface) 16%,var(--combat-result-card-surface) 84%,transparent);text-align:center;opacity:0;transform:translate(-50%,var(--measurement-8px)) scale(.96);animation:combat-result var(--measurement-850ms) var(--measurement-540ms) cubic-bezier(.16,.85,.25,1) both;position:absolute;top:15%;left:50%}.combat-result-card span,.combat-result-card strong{display:block}.combat-result-card span{margin-bottom:var(--measurement-3px);color:var(--text-muted);letter-spacing:.22em;font-size:.56rem;font-weight:700}.combat-result-card strong{color:var(--combat-result-card-text);font:500 var(--measurement-1-25rem) Georgia,serif;letter-spacing:.09em}.combat-stage.is-miss .combat-result-card{border-color:var(--combat-stage-is-miss-combat-result-card-border)}.combat-stage.is-miss .combat-result-card strong{color:var(--combat-miss-combat-outcome-fill)}.combat-stage.is-critical .combat-result-card{border-color:var(--combat-stage-is-critical-combat-result-card-border);filter:drop-shadow(0 0 var(--measurement-15px) var(--combat-stage-is-critical-combat-result-card-glow))}.combat-stage.is-critical .combat-result-card strong{color:var(--combat-stage-is-critical-combat-result-card-text)}.combat-effect{pointer-events:none;filter:drop-shadow(0 0 var(--measurement-7px) var(--combat-effect-glow))}.combat-strike,.combat-strike-shadow{fill:none;stroke-linecap:round;stroke-dasharray:0 240}.combat-strike-shadow{stroke:var(--combat-strike-shadow-stroke);stroke-width:13px;filter:blur(var(--measurement-4px));animation:combat-slash-heavy var(--measurement-900ms) var(--measurement-180ms) cubic-bezier(.12,.75,.2,1) both}.combat-strike{stroke:var(--combat-strike-stroke-variant-3);stroke-width:6px;animation:combat-slash-heavy var(--measurement-900ms) var(--measurement-180ms) cubic-bezier(.12,.75,.2,1) both}.combat-miss .combat-strike{stroke:var(--combat-miss-combat-strike-stroke-variant-3)}.combat-miss .combat-strike-shadow{stroke:var(--combat-miss-combat-strike-shadow-stroke)}.combat-critical .combat-strike{stroke:var(--combat-critical-combat-strike-stroke-alternate);stroke-width:8px}.combat-critical .combat-strike-shadow{stroke:var(--combat-critical-combat-strike-shadow-stroke);stroke-width:18px}.combat-impact{fill:none;stroke:var(--combat-strike-stroke-variant-3);opacity:0;transform-box:fill-box;transform-origin:50%}.combat-impact-outer{stroke-width:5px;animation:combat-impact-heavy var(--measurement-760ms) var(--measurement-520ms) ease-out both}.combat-impact-inner{fill:var(--combat-impact-inner-fill);stroke-width:2px;animation:combat-impact-heavy var(--measurement-600ms) var(--measurement-490ms) ease-out both}.combat-sparks{opacity:0;animation:combat-sparks var(--measurement-650ms) var(--measurement-500ms) ease-out both}.combat-sparks line{stroke:var(--combat-strike-stroke-variant-3);stroke-width:3px;stroke-linecap:round}.combat-miss .combat-impact,.combat-miss .combat-sparks line{stroke:var(--combat-miss-combat-strike-stroke-variant-3)}.combat-outcome{display:none}.unit-attacking .unit-square,.unit-defending .unit-square{animation:none}@keyframes combat-board-tension{0%,to{filter:brightness()saturate()}12%,32%{filter:brightness(.72)saturate(.72)}48%{filter:brightness(1.18)saturate(1.35)}}@keyframes combat-vignette{0%,to{opacity:0}12%,62%{opacity:1}82%{opacity:.35}}@keyframes combat-result{0%{opacity:0;transform:translate(-50%,var(--measurement-8px)) scale(.96)}18%,72%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-var(--measurement-6px)) scale(1.02)}}@keyframes combat-slash-heavy{0%{stroke-dasharray:0 240;opacity:0}10%{opacity:1}52%,72%{stroke-dasharray:240 0;opacity:1}to{stroke-dasharray:240 0;opacity:0}}@keyframes combat-impact-heavy{0%{opacity:0;transform:scale(.2)}14%{opacity:1;transform:scale(.65)}38%{opacity:1;transform:scale(1.25)}to{opacity:0;transform:scale(3.2)}}@keyframes combat-sparks{0%{opacity:0;transform:scale(.25)rotate(0)}18%{opacity:1}to{opacity:0;transform:scale(1.75)rotate(18deg)}}@keyframes attacker-commit{0%,to{filter:none;transform:scale(1)}35%{filter:brightness(1.35) drop-shadow(0 0 var(--measurement-8px) var(--animation-attacker-commit-glow));transform:scale(1.1)}58%{transform:scale(.96)}}@keyframes defender-recoil{0%,to{transform:translate(0)rotate(0)}14%{transform:translate(-var(--measurement-6px),var(--measurement-2px)) rotate(-7deg);filter:brightness(1.65)}32%{transform:translate(var(--measurement-5px),-var(--measurement-1px)) rotate(5deg)}54%{transform:translate(-var(--measurement-3px),var(--measurement-1px)) rotate(-3deg)}}@media (prefers-reduced-motion:reduce){.combat-result-card{opacity:1;animation:none}.combat-vignette{opacity:.55;animation:none}.combat-strike{stroke-dasharray:none;animation:none}}.btn-primary{background:var(--color-primary);border-color:var(--btn-primary-border-alternate)}.battle-screen,.deployment-screen,.waiting-screen{background-color:var(--bg-main);background-image:radial-gradient(circle at 50% 38%,var(--game-screen-background-accent-alternate),transparent 54%), linear-gradient(var(--game-screen-background-accent),var(--game-screen-background-accent)), var(--pattern-svg)}.board-area{background-color:var(--board-area-surface-alternate);background-image:radial-gradient(circle at 50% 45%,var(--board-area-background),transparent 60%), var(--pattern-svg);box-shadow:inset 0 0 var(--measurement-80px) var(--board-area-shadow)}.unit-mon{font-family:Noto Serif JP,Yu Mincho,Hiragino Mincho ProN,Georgia,serif;font-size:var(--measurement-20px);letter-spacing:0;filter:drop-shadow(0 var(--measurement-1px) var(--measurement-1px) var(--unit-mon-glow));font-weight:700}.unit-activation-seal circle{fill:var(--unit-activation-seal-fill);stroke:var(--unit-activation-seal-stroke);stroke-width:1.5px;filter:drop-shadow(0 var(--measurement-1px) var(--measurement-2px) var(--unit-activation-seal-glow))}.unit-activation-seal .unit-spent-mark{fill:var(--unit-activation-seal-unit-spent-mark-fill);stroke:none;font-family:Noto Serif JP,Yu Mincho,serif;font-size:var(--measurement-10px);font-weight:900}.combat-result-card{min-width:var(--measurement-290px);padding:var(--measurement-12px) var(--measurement-30px) var(--measurement-14px);top:11%}.combat-kanji{left:50%;top:-var(--measurement-52px);color:var(--combat-kanji-text);font:700 var(--measurement-2-5rem) "Noto Serif JP","Yu Mincho",Georgia,serif;letter-spacing:.04em;text-shadow:0 var(--measurement-3px) var(--measurement-14px) var(--combat-kanji-shadow),0 0 var(--measurement-18px) var(--combat-kanji-shadow-alternate);position:absolute;transform:translate(-50%)}.combat-result-card small{margin-top:var(--measurement-8px);padding-top:var(--measurement-7px);border-top:var(--measurement-1px) solid var(--combat-result-card-border);color:var(--text-secondary);letter-spacing:.08em;font-size:.62rem;font-style:normal;font-weight:700;display:block}.combat-result-card small i{padding:0 var(--measurement-6px);color:var(--gold);font-style:normal}.combat-result-card small em{margin-left:var(--measurement-12px);color:var(--gold);font-style:normal}.combat-stage.is-miss .combat-kanji{color:var(--combat-miss-combat-outcome-fill);text-shadow:0 var(--measurement-3px) var(--measurement-14px) var(--combat-kanji-shadow)}.combat-stage.is-critical .combat-kanji{color:var(--combat-stage-is-critical-combat-kanji-text);transform:translate(-50%)scale(1.15)}.unit-kanji-legend{left:var(--measurement-14px);z-index:6;width:var(--measurement-92px);padding:var(--measurement-10px) var(--measurement-9px);border:var(--measurement-1px) solid var(--gold-border);background:linear-gradient(145deg,var(--game-panel-surface),var(--unit-kanji-legend-surface));box-shadow:0 var(--measurement-14px) var(--measurement-32px) var(--command-points-shadow);position:absolute;top:50%;transform:translateY(-50%)}.kanji-legend-title{padding-bottom:var(--measurement-7px);margin-bottom:var(--measurement-5px);border-bottom:var(--measurement-1px) solid var(--gold-border);color:var(--gold);font:700 var(--measurement-18px) "Noto Serif JP","Yu Mincho",serif;justify-content:space-between;align-items:center;display:flex}.kanji-legend-title small{font:700 var(--measurement-7px) "DM Sans",sans-serif;letter-spacing:.12em;color:var(--text-muted)}.kanji-legend-item{grid-template-columns:var(--measurement-24px) 1fr;align-items:center;gap:var(--measurement-5px);padding:var(--measurement-5px) 0;display:grid}.kanji-legend-item b{color:var(--kanji-legend-item-text);font:700 var(--measurement-17px) "Noto Serif JP","Yu Mincho",serif;text-align:center}.kanji-legend-item small{color:var(--text-muted);font-size:var(--measurement-7px);letter-spacing:.03em;text-overflow:ellipsis;overflow:hidden}.unit-mine .unit-square{fill:url(#token-mine);stroke:var(--unit-friendly-stroke-alternate);stroke-width:1.8px}.unit-enemy .unit-square{fill:url(#token-enemy);stroke:var(--unit-enemy-stroke-alternate);stroke-width:1.8px}.unit-inset{fill:none;stroke:var(--unit-inset-stroke);stroke-width:.7px;pointer-events:none}.unit-mine .unit-inset{stroke:var(--unit-mine-unit-inset-stroke)}.unit-enemy .unit-inset{stroke:var(--unit-enemy-unit-inset-stroke)}.unit-token-inner{filter:drop-shadow(0 var(--measurement-3px) var(--measurement-2px) var(--unit-token-inner-glow))}.unit-selected{filter:drop-shadow(0 var(--measurement-5px) var(--measurement-5px) var(--unit-selected-glow))}.attack-forecast{pointer-events:none;filter:drop-shadow(0 var(--measurement-3px) var(--measurement-5px) var(--attack-forecast-glow));animation:forecast-arrive var(--measurement-180ms) ease-out both}.attack-forecast text{paint-order:stroke;stroke:var(--attack-forecast-stroke);stroke-width:var(--measurement-1px);pointer-events:none;font-family:DM Sans,sans-serif}.forecast-defense{fill:var(--forecast-defense-fill);font-size:var(--measurement-6px);letter-spacing:.08em;font-weight:700}@keyframes forecast-arrive{0%{opacity:0;transform:translateY(var(--measurement-3px))}to{opacity:1;transform:translateY(0)}}.combat-strike-shadow,.combat-strike{animation:combat-slash-slow var(--measurement-1350ms) var(--measurement-260ms) cubic-bezier(.12,.72,.18,1) both}.combat-impact-outer{animation:combat-impact-slow var(--measurement-920ms) var(--measurement-900ms) ease-out both}.combat-impact-inner{animation:combat-impact-slow var(--measurement-760ms) var(--measurement-860ms) ease-out both}.unit-defending{animation:defender-directional var(--measurement-900ms) var(--measurement-870ms) cubic-bezier(.2,.8,.3,1) both}@keyframes combat-board-tension-slow{0%,to{filter:brightness()saturate()}10%,34%{filter:brightness(.74)saturate(.76)}46%{filter:brightness(1.2)saturate(1.3)}72%{filter:brightness(.94)saturate(1.08)}}@keyframes combat-vignette-slow{0%,to{opacity:0}10%,67%{opacity:1}84%{opacity:.3}}@keyframes combat-slash-slow{0%{stroke-dasharray:0 240;opacity:0}12%{opacity:1}56%,76%{stroke-dasharray:240 0;opacity:1}to{stroke-dasharray:240 0;opacity:0}}@keyframes combat-impact-slow{0%{opacity:0;transform:scale(.18)}13%{opacity:1;transform:scale(.6)}42%{opacity:1;transform:scale(1.3)}to{opacity:0;transform:scale(3.5)}}@keyframes combat-sparks-slow{0%{opacity:0;transform:scale(.2)rotate(0)}18%{opacity:1}to{opacity:0;transform:scale(1.9)rotate(22deg)}}@keyframes attacker-directional{0%,to{transform:translate(0)scale(1)}22%{transform:translate(0)scale(.94)}52%,68%{transform:translate(var(--combat-x),var(--combat-y)) scale(1.1);filter:brightness(1.42) drop-shadow(0 0 var(--measurement-9px) var(--animation-attacker-directional-glow))}86%{transform:translate(0)scale(.98)}}@keyframes defender-directional{0%,to{transform:translate(0)rotate(0)}14%{transform:translate(var(--combat-x),var(--combat-y)) rotate(-7deg);filter:brightness(1.7)}35%{transform:translate(0)rotate(4deg)}58%{transform:translate(var(--combat-x),var(--combat-y)) rotate(-2deg)}}@media (width<=900px){.unit-kanji-legend{left:var(--measurement-8px);top:auto;bottom:var(--measurement-8px);gap:var(--measurement-8px);width:auto;padding:var(--measurement-6px) var(--measurement-8px);display:flex;transform:none}.kanji-legend-title{display:none}.kanji-legend-item{gap:var(--measurement-3px);padding:0;display:flex}.kanji-legend-item b{font-size:var(--measurement-14px)}.kanji-legend-item small{display:none}}.unit-attacking,.unit-defending{animation:none}.unit-kanji-legend{width:var(--measurement-148px);padding:var(--measurement-14px) var(--measurement-12px)}.kanji-legend-title{font-size:var(--measurement-24px);padding-bottom:var(--measurement-10px);margin-bottom:var(--measurement-7px)}.kanji-legend-title small{font-size:var(--measurement-8px)}.kanji-legend-item{grid-template-columns:var(--measurement-36px) 1fr;gap:var(--measurement-8px);width:100%;padding:var(--measurement-8px) var(--measurement-5px);border:0;border-bottom:var(--measurement-1px) solid var(--kanji-legend-item-border);color:inherit;cursor:pointer;text-align:left;transition:background var(--measurement-160ms) ease,border-color var(--measurement-160ms) ease;background:0 0}.kanji-legend-item:hover,.kanji-legend-item.is-selected{background:var(--color-primary-bg-light);border-color:var(--color-primary-border)}.kanji-legend-item b{font-size:var(--measurement-25px)}.kanji-legend-item small{font-size:var(--measurement-10px);white-space:nowrap}.unit-lore-card{left:calc(100% + var(--measurement-10px));width:var(--measurement-290px);padding:var(--measurement-20px);border:var(--measurement-1px) solid var(--gold-border);background:linear-gradient(145deg,var(--unit-lore-card-surface-alternate),var(--unit-lore-card-surface));box-shadow:0 var(--measurement-18px) var(--measurement-46px) var(--unit-lore-card-shadow);animation:lore-card-in var(--measurement-180ms) ease-out both;position:absolute;top:0}.unit-lore-card>button{right:var(--measurement-8px);top:var(--measurement-5px);color:var(--text-muted);font-size:var(--measurement-20px);cursor:pointer;background:0 0;border:0;position:absolute}.unit-lore-card>b,.unit-lore-card>em{display:block}.unit-lore-card>b{padding-right:var(--measurement-20px);color:var(--terrain-legend-hex-fill);font:500 var(--measurement-1-2rem) Georgia,serif}.unit-lore-card>em{margin-top:var(--measurement-5px);color:var(--gold);font:normal var(--measurement-12px) "Noto Serif JP","Yu Mincho",serif}.unit-lore-card>p{margin-top:var(--measurement-14px);color:var(--text-secondary);font-size:var(--measurement-12px);line-height:1.58}@keyframes lore-card-in{0%{opacity:0;transform:translateX(-var(--measurement-6px))}to{opacity:1;transform:translate(0)}}.attack-forecast rect{fill:var(--attack-forecast-fill-alternate);stroke:var(--attack-forecast-stroke-variant-3);stroke-width:1.2px}.forecast-main{fill:var(--forecast-main-fill-alternate);font-size:var(--measurement-8px);letter-spacing:.04em;font-weight:900}.turn-indicator{align-items:center;gap:var(--measurement-8px);animation:turn-indicator-in var(--measurement-650ms) cubic-bezier(.16,.8,.25,1) both;display:inline-flex}.turn-indicator>b{width:var(--measurement-28px);height:var(--measurement-28px);margin-left:-var(--measurement-8px);font:700 var(--measurement-13px) "Noto Serif JP","Yu Mincho",serif;border-radius:50%;place-items:center;display:grid}.turn-indicator.my-turn>b{background:var(--color-primary);color:var(--turn-friendly-symbol-text);box-shadow:0 0 var(--measurement-14px) var(--turn-friendly-shadow)}.turn-indicator.their-turn>b{background:var(--turn-enemy-surface);color:var(--turn-enemy-symbol-text);box-shadow:0 0 var(--measurement-12px) var(--turn-enemy-shadow)}@keyframes turn-indicator-in{0%{opacity:0;transform:translateY(-var(--measurement-5px)) scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.turn-change-banner{left:50%;top:var(--measurement-22px);z-index:18;align-items:center;gap:var(--measurement-12px);padding:var(--measurement-10px) var(--measurement-22px) var(--measurement-10px) var(--measurement-11px);border:var(--measurement-1px) solid var(--color-primary-border);background:var(--turn-change-banner-surface);box-shadow:0 var(--measurement-12px) var(--measurement-32px) var(--unit-token-inner-glow);pointer-events:none;animation:2.6s cubic-bezier(.16,.8,.25,1) both turn-banner;display:flex;position:absolute;transform:translate(-50%)}.turn-change-banner>b{width:var(--measurement-38px);height:var(--measurement-38px);background:var(--color-primary-bg-hover);color:var(--color-primary);font:700 var(--measurement-18px) "Noto Serif JP","Yu Mincho",serif;border-radius:50%;place-items:center;display:grid}.turn-change-banner>span{color:var(--board-zoom-controls-text);font-size:var(--measurement-10px);letter-spacing:.15em;font-weight:800}.turn-change-banner.is-enemy{border-color:var(--turn-change-banner-is-enemy-border)}.turn-change-banner.is-enemy>b{background:var(--turn-change-banner-is-enemy-surface);color:var(--turn-change-banner-is-enemy-text)}@keyframes turn-banner{0%{opacity:0;transform:translate(-50%,-var(--measurement-10px)) scale(.94)}12%,72%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-var(--measurement-5px)) scale(1.02)}}@media (width<=900px){.unit-kanji-legend{width:var(--measurement-148px);left:var(--measurement-8px);display:block;top:50%;bottom:auto;transform:translateY(-50%)}.kanji-legend-title{display:flex}.kanji-legend-item{display:grid}.kanji-legend-item b{font-size:var(--measurement-25px)}.kanji-legend-item small{display:block}.unit-lore-card{width:var(--measurement-250px)}}.combat-vignette,.combat-strike-shadow,.combat-impact,.combat-sparks{display:none}.combat-effect{filter:none}.combat-strike{stroke:var(--combat-strike-stroke-alternate);stroke-width:4px;filter:drop-shadow(0 0 var(--measurement-2px) var(--combat-strike-glow-alternate))}.combat-miss .combat-strike{stroke:var(--combat-miss-combat-strike-stroke);filter:none}.terrain-title{margin-top:var(--measurement-10px);padding-top:var(--measurement-9px);border-top:0}.terrain-legend-item b{color:var(--color-primary)}.connection-pause{z-index:80;padding:var(--measurement-24px);background:var(--connection-pause-surface);-webkit-backdrop-filter:blur(var(--measurement-8px));backdrop-filter:blur(var(--measurement-8px));place-items:center;display:grid;position:fixed;inset:0}.connection-pause-card{width:min(var(--measurement-430px),100%);padding:var(--measurement-34px);border:var(--measurement-1px) solid var(--gold-border);background:linear-gradient(145deg,var(--connection-pause-card-surface-alternate),var(--connection-pause-card-surface));box-shadow:var(--shadow-surface);text-align:center}.connection-mon{width:var(--measurement-58px);height:var(--measurement-58px);margin:0 auto var(--measurement-14px);border:var(--measurement-1px) solid var(--color-primary-border);background:var(--color-primary-bg-light);color:var(--color-primary);font:700 var(--measurement-25px) "Noto Serif JP","Yu Mincho",serif;border-radius:50%;place-items:center;display:grid}.connection-eyebrow{color:var(--gold);font-size:var(--measurement-9px);letter-spacing:.2em;font-weight:800;display:block}.connection-pause-card h2{margin-top:var(--measurement-8px);color:var(--replacement-code-text);font:500 var(--measurement-1-55rem) Georgia,serif}.connection-pause-card p{max-width:var(--measurement-340px);margin:var(--measurement-12px) auto var(--measurement-22px);color:var(--text-secondary);font-size:var(--measurement-13px);line-height:1.55}.reconnect-countdown{color:var(--color-primary);font:500 var(--measurement-2-4rem) Georgia,serif;display:block}.replacement-code{margin:0 0 var(--measurement-20px);padding:var(--measurement-14px);border:var(--measurement-1px) dashed var(--color-primary-border);background:var(--bg-input)}.replacement-code small,.replacement-code strong{display:block}.replacement-code small{color:var(--text-muted);font-size:var(--measurement-8px);letter-spacing:.16em;font-weight:800}.replacement-code strong{margin-top:var(--measurement-5px);color:var(--replacement-code-text);font:600 var(--measurement-2rem) Georgia,serif;letter-spacing:.22em}.battle-header{min-height:var(--measurement-76px);padding:var(--measurement-12px) var(--measurement-22px);background:var(--battle-header-surface);border-bottom:var(--measurement-1px) solid var(--battle-header-border-alternate);box-shadow:0 var(--measurement-8px) var(--measurement-24px) var(--battle-header-shadow)}.battle-mark{min-width:var(--measurement-145px);padding-right:var(--measurement-18px);border-right:var(--measurement-1px) solid var(--border-subtle)}.battle-mark-kanji{background:var(--battle-mark-kanji-surface);border:var(--measurement-1px) solid var(--gold-border);box-shadow:none}.player-badge{background:var(--player-badge-surface);border-color:var(--player-badge-border);border-radius:var(--measurement-6px)}.player-badge.active{background:var(--player-badge-active-surface);border-color:var(--color-primary-border)}.player-fate-tokens{right:var(--measurement-7px);top:var(--measurement-7px);align-items:center;gap:var(--measurement-3px);padding:var(--measurement-2px) var(--measurement-6px);border:var(--measurement-1px) solid #e1bb6994;border-radius:var(--measurement-12px);color:#f1d58f;box-shadow:0 var(--measurement-2px) var(--measurement-8px) #00000047;background:#221816e0;display:flex;position:absolute}.player-fate-tokens i{font:normal 700 var(--measurement-10px) "Noto Serif JP","Yu Mincho",serif}.player-fate-tokens b{font-size:var(--measurement-9px)}.fate-council{min-height:var(--measurement-100dvh);color:#f4eddf;background:radial-gradient(circle at 50% 8%,#cca45829,#0000 32%),linear-gradient(#121012db,#0c0c0ef2),url(/assets/fate/fate-4.webp) 50% 35%/cover;padding:clamp(24px,4vw,58px);overflow:auto}.fate-council-header{text-align:center;max-width:780px;margin:0 auto clamp(22px,4vh,44px)}.fate-sun{color:#e8c87d;background:#794c3138;border:1px solid #e2be709e;border-radius:50%;place-items:center;width:58px;height:58px;margin:0 auto 10px;font:700 28px Noto Serif JP,Yu Mincho,serif;display:grid;box-shadow:0 0 34px #ddb15529}.fate-council-header small,.fate-waiting-card>small,.fate-decision>small{color:#c9a860;letter-spacing:.28em;font-size:10px;font-weight:800}.fate-council-header h1,.fate-waiting-card h1,.fate-decision h2{color:#fffaf0;margin:9px 0;font:500 clamp(27px,3.2vw,46px) Georgia,serif}.fate-council-header p{color:#cfc5b6;max-width:700px;margin:0 auto;font-size:13px;line-height:1.7}.fate-offering-grid{grid-template-columns:repeat(5,minmax(145px,1fr));gap:clamp(9px,1.4vw,18px);max-width:1280px;margin:0 auto;display:grid}.fate-offering{color:#fff;cursor:pointer;text-align:left;background:#282323;border:1px solid #dbc29338;border-radius:4px;min-height:360px;padding:0;transition:transform .2s,border-color .2s,box-shadow .2s;position:relative;overflow:hidden;box-shadow:0 14px 34px #00000040}.fate-offering:hover{border-color:#e6c57d9e;transform:translateY(-5px)}.fate-offering.is-selected{border-color:#e1bd6d;transform:translateY(-8px);box-shadow:0 0 0 2px #cfa44d40,0 20px 45px #00000070}.fate-offering img{object-fit:cover;filter:saturate(.8)contrast(1.02);width:100%;height:100%;position:absolute;inset:0}.fate-offering-shade{background:linear-gradient(#0000,#140f0ef5 78%);position:absolute;inset:25% 0 0}.fate-offering-copy{gap:7px;display:grid;position:absolute;bottom:17px;left:17px;right:17px}.fate-offering-copy small{color:#d6b86f;letter-spacing:.18em;font-size:8px;font-weight:900}.fate-offering-copy strong{font:600 18px Georgia,serif}.fate-offering-copy em{color:#c9c0b2;min-height:44px;font-size:10px;font-style:normal;line-height:1.45}.fate-offering>b{color:#553a28;background:#efd9aae6;border:1px solid #593b268c;border-radius:50%;place-items:center;width:32px;height:32px;font:700 17px Georgia,serif;display:grid;position:absolute;top:12px;right:12px}.fate-council-footer{border-top:1px solid #debc7440;justify-content:space-between;align-items:center;gap:20px;max-width:1280px;margin:28px auto 0;padding-top:20px;display:flex}.fate-council-footer>span{color:#afa596;letter-spacing:.12em;font-size:10px}.fate-council-footer>span b{color:#d5b463;margin-right:8px;font:700 17px Noto Serif JP,serif}.fate-council-footer button{color:#fff5df;letter-spacing:.1em;cursor:pointer;background:linear-gradient(135deg,#9d633e,#71402f);border:1px solid #c9a35a;border-radius:3px;min-width:260px;height:48px;padding:0 24px;font-size:11px;font-weight:800;box-shadow:0 8px 24px #0000004d}.fate-council-waiting{place-items:center;display:grid}.fate-waiting-card{text-align:center;background:#181414cc;border:1px solid #ddbc7757;max-width:560px;padding:50px;box-shadow:0 24px 70px #0000006b}.fate-waiting-card p{color:#bdb3a4}.fate-token-orbit{justify-content:center;gap:12px;margin-top:28px;display:flex}.fate-token-orbit i{background:radial-gradient(circle at 35% 30%,#efd79b,#8a5639);border:1px solid #d2ad61;border-radius:50%;width:25px;height:25px;animation:1.6s ease-in-out infinite fate-pulse}.fate-token-orbit i:nth-child(2){animation-delay:.2s}.fate-token-orbit i:nth-child(3){animation-delay:.4s}@keyframes fate-pulse{50%{filter:brightness(1.25);transform:translateY(-6px)}}.fate-decision-backdrop{z-index:100;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#08080ac2;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.fate-decision{color:#eee5d7;text-align:center;background:radial-gradient(circle at 50% 0,#ad713d33,#0000 45%),linear-gradient(145deg,#282224,#161619);border:1px solid #e2be708c;width:min(520px,100%);padding:42px 38px 34px;position:relative;box-shadow:0 30px 90px #0000009e}.fate-decision:before{content:"";pointer-events:none;border:1px solid #d5b36f26;position:absolute;inset:8px}.fate-decision-crest{background:#2a2020;border:1px solid #d4af63;border-radius:50%;place-items:center;width:58px;height:58px;display:grid;position:absolute;top:-30px;left:50%;transform:translate(-50%);box-shadow:0 0 0 7px #121011cc}.fate-decision h2{font-size:31px}.fate-roll-ledger{border-top:1px solid #dbb86d2e;border-bottom:1px solid #dbb86d2e;justify-content:center;align-items:center;gap:12px;margin:22px 0 15px;padding:15px;display:flex}.fate-roll-ledger small{color:#998e7e;letter-spacing:.15em;font-size:7px;font-weight:800}.fate-verdict{color:#d6cdbc;font:600 15px Georgia,serif;display:block}.fate-decision p{color:#b9afa1;max-width:400px;margin:18px auto;font-size:12px;line-height:1.55}.fate-decision-actions{grid-template-columns:1fr 1.25fr;gap:10px;margin-top:24px;display:grid}.fate-decision-actions button{letter-spacing:.07em;cursor:pointer;border-radius:3px;height:48px;font-size:10px;font-weight:800}.fate-keep{color:#c9c0b3;background:0 0;border:1px solid #dbccb240}.fate-reroll{color:#fff3d8;background:linear-gradient(135deg,#a3693f,#75402f);border:1px solid #d3ac5e}.fate-reroll span{color:#f7d98a;margin-right:5px}@media (width<=900px){.fate-offering-grid{scroll-snap-type:x mandatory;grid-template-columns:repeat(5,210px);padding:10px 6px 25px;overflow-x:auto}.fate-offering{scroll-snap-align:center}.fate-council-footer{flex-direction:column;align-items:stretch}.fate-council-footer button{width:100%}}@media (width<=560px){.fate-council{padding:28px 16px}.fate-offering{min-height:330px}.fate-decision{padding:38px 20px 24px}.fate-decision-actions{grid-template-columns:1fr}.fate-roll-ledger{gap:8px}}.turn-indicator{border-radius:var(--measurement-6px);border:var(--measurement-1px) solid var(--border-subtle);background:var(--turn-indicator-surface)!important}.turn-indicator.my-turn{color:var(--turn-friendly-label-text)}.turn-indicator.their-turn{color:var(--turn-enemy-label-text)}.terrain-legend-item{grid-template-columns:var(--measurement-40px) 1fr}.terrain-legend-hex{width:var(--measurement-38px);height:var(--measurement-34px);display:block}.terrain-legend-hex svg{width:100%;height:100%;display:block;overflow:visible}.terrain-legend-hex polygon{stroke:var(--terrain-legend-hex-stroke-alternate);stroke-width:1.2px}.terrain-legend-hex text{fill:var(--terrain-legend-hex-fill);stroke:var(--terrain-legend-hex-stroke);stroke-width:.8px;paint-order:stroke;font:700 var(--measurement-13px) Georgia,serif}.capital-warning{left:50%;top:var(--measurement-82px);z-index:16;align-items:center;gap:var(--measurement-10px);min-width:var(--measurement-260px);padding:var(--measurement-9px) var(--measurement-16px) var(--measurement-9px) var(--measurement-10px);border:var(--measurement-1px) solid;background:var(--capital-warning-surface);box-shadow:0 var(--measurement-10px) var(--measurement-28px) var(--capital-warning-shadow);animation:capital-alert-in var(--measurement-350ms) ease-out both;display:flex;position:absolute;transform:translate(-50%)}.capital-warning>b{width:var(--measurement-34px);height:var(--measurement-34px);font:700 var(--measurement-17px) "Noto Serif JP","Yu Mincho",serif;border-radius:50%;place-items:center;display:grid}.capital-warning span,.capital-warning small{display:block}.capital-warning span{font-size:var(--measurement-10px);letter-spacing:.1em;font-weight:900}.capital-warning small{margin-top:var(--measurement-3px);font-size:var(--measurement-8px);letter-spacing:.13em;opacity:.75}.capital-warning.is-danger{border-color:var(--capital-warning-is-danger-border);color:var(--capital-warning-is-danger-text)}.capital-warning.is-danger>b{background:var(--capital-warning-is-danger-surface)}.capital-warning.is-opportunity{border-color:var(--color-primary-border);color:var(--capital-warning-is-opportunity-text)}.capital-warning.is-opportunity>b{background:var(--color-primary-bg-light)}@keyframes capital-alert-in{0%{opacity:0;transform:translate(-50%,-var(--measurement-7px))}to{opacity:1;transform:translate(-50%)}}.side-panel.command-rail{width:var(--measurement-330px);max-height:calc(var(--measurement-100dvh) - var(--measurement-76px));background:var(--turn-indicator-surface);border-left:var(--measurement-1px) solid var(--command-rail-border-alternate);box-shadow:-var(--measurement-10px) 0 var(--measurement-28px) var(--command-rail-shadow);gap:0;padding:0;overflow:hidden}.command-hand{min-height:0;padding:var(--measurement-15px) var(--measurement-14px) var(--measurement-10px);flex-direction:column;flex:1;display:flex}.daimyo-power-card{margin:var(--measurement-12px) var(--measurement-14px) 0;padding:var(--measurement-10px) var(--measurement-12px);border:0;border-left:var(--measurement-2px) solid #d7b56d85;border-radius:var(--measurement-3px);background:#fff8e206}.daimyo-power-card.is-rival{background:#a643340b;border-left-color:#e1907e94}.daimyo-power-card>header{align-items:center;gap:var(--measurement-9px);display:flex}.daimyo-power-card>header>span{color:#e3c47f;font:700 var(--measurement-21px) "Noto Serif JP","Yu Mincho",serif}.daimyo-power-card>header>div{gap:var(--measurement-2px);flex:1;display:grid}.daimyo-power-card>header small{color:#e0d8c9;font-size:var(--measurement-9px);letter-spacing:.11em;font-weight:700}.daimyo-power-card>header strong{color:#fffdf7;font-size:var(--measurement-14px);line-height:1.25}.daimyo-power-card>header i{width:var(--measurement-22px);height:var(--measurement-22px);color:#efad9d;font:normal 700 var(--measurement-11px) "Noto Serif JP","Yu Mincho",serif;background:#d2695633;border-radius:50%;place-items:center;display:grid}.daimyo-power-card>em{margin-top:var(--measurement-7px);color:#f0d89f;font-size:var(--measurement-10px);letter-spacing:.055em;font-style:normal;line-height:1.3;display:block}.daimyo-power-card>p{margin:var(--measurement-7px) 0 0;color:#fffdf8;font-size:var(--measurement-12px);font-weight:500;line-height:1.55}.command-hand>header{align-items:center;gap:var(--measurement-10px);padding-bottom:var(--measurement-11px);border-bottom:var(--measurement-1px) solid var(--gold-border);display:flex}.command-hand>header>span{color:var(--gold);font:700 var(--measurement-24px) "Noto Serif JP","Yu Mincho",serif}.command-hand>header div b,.command-hand>header div small{display:block}.command-hand>header div b{color:var(--terrain-legend-hex-fill);font-size:var(--measurement-10px);letter-spacing:.16em}.command-hand>header div small{margin-top:var(--measurement-2px);color:var(--text-muted);font-size:var(--measurement-7px);letter-spacing:.12em}.command-card-list{gap:var(--measurement-8px);min-height:0;padding:var(--measurement-10px) var(--measurement-1px);flex-direction:column;flex:1;display:flex;overflow:auto}.command-card{width:100%;min-height:var(--measurement-126px);padding:var(--measurement-12px) var(--measurement-13px) var(--measurement-11px) var(--measurement-64px);border:var(--measurement-1px) solid var(--command-card-border);border-radius:var(--measurement-7px);background:var(--command-card-surface);color:var(--text-main);cursor:pointer;text-align:left;transition:border-color var(--measurement-160ms) ease,background var(--measurement-160ms) ease,transform var(--measurement-160ms) ease;position:relative}.command-card:hover:not(:disabled){border-color:var(--gold-border);background:var(--command-card-surface-alternate);transform:translateX(-var(--measurement-2px))}.command-card.is-used{opacity:.34;filter:saturate(.35);cursor:not-allowed}.command-card-art{left:var(--measurement-12px);top:var(--measurement-12px);width:var(--measurement-40px);height:var(--measurement-48px);border:var(--measurement-1px) solid var(--gold-border);background:var(--battle-mark-kanji-surface);color:var(--command-card-art-text);font:700 var(--measurement-22px) "Noto Serif JP","Yu Mincho",serif;place-items:center;display:grid;position:absolute}.command-card>strong{padding-right:var(--measurement-4px);color:var(--command-card-title-text);font:600 var(--measurement-14px) Georgia,serif;display:block}.command-card>em{margin-top:var(--measurement-5px);color:var(--command-card-flavor-text);font:italic var(--measurement-10px) Georgia,serif;line-height:1.35;display:block}.command-card>i{height:var(--measurement-1px);margin:var(--measurement-8px) 0 var(--measurement-7px);background:var(--command-card-border);display:block}.command-card>small{color:var(--command-card-effect-text);font-size:var(--measurement-9px);font-weight:650;line-height:1.35;display:block}.trap-mark{left:var(--measurement-12px);top:var(--measurement-67px);width:var(--measurement-40px);color:var(--trap-mark-text);font-size:var(--measurement-6px);letter-spacing:.09em;text-align:center;line-height:1.2;position:absolute}.confirm-card{margin-top:var(--measurement-8px);color:var(--confirm-card-text);font-size:var(--measurement-7px);letter-spacing:.12em;text-align:right;display:block}.clan-ability-button{min-height:var(--measurement-36px);border:var(--measurement-1px) solid var(--clan-ability-button-border);border-radius:var(--measurement-5px);background:var(--clan-ability-button-surface);color:var(--clan-ability-button-text);font-size:var(--measurement-9px);cursor:pointer}.clan-ability-button:disabled{opacity:.35}.command-footer{padding:var(--measurement-12px) var(--measurement-14px) var(--measurement-14px);border-top:var(--measurement-1px) solid var(--player-badge-border);background:var(--command-footer-surface);margin-top:auto}.command-actions{margin-bottom:var(--measurement-9px);color:var(--text-muted);justify-content:space-between;align-items:center;display:flex}.command-actions span{font-size:var(--measurement-7px);letter-spacing:.14em;font-weight:800}.command-actions strong{color:var(--gold);font:600 var(--measurement-19px) Georgia,serif}.end-turn-button{width:100%;height:var(--measurement-48px);padding:0 var(--measurement-14px);border:var(--measurement-1px) solid var(--color-primary-border);border-radius:var(--measurement-5px);background:var(--player-badge-active-surface);color:var(--end-turn-button-text);cursor:pointer;justify-content:space-between;align-items:center;display:flex}.end-turn-button span{font-size:var(--measurement-10px);letter-spacing:.1em;font-weight:800}.end-turn-button b{font:700 var(--measurement-15px) "Noto Serif JP","Yu Mincho",serif}.end-turn-button:disabled{opacity:.35;cursor:not-allowed}.hex-board-shell{width:100%;max-width:var(--measurement-900px);position:relative}.hex-board-shell .hex-board-svg{touch-action:none;cursor:default;width:100%;max-width:none}.hex-board-shell,.hex-board-shell button,.hex-board-shell svg{-webkit-tap-highlight-color:transparent}.hex-board-shell .hex-board-svg.is-panning{cursor:grabbing}.board-viewport-content{transform-origin:0 0}.hex-board-svg.is-panning .board-viewport-content{will-change:transform}@media (hover:none){.hex-cell:hover .hex-tile{filter:none}}@media (pointer:coarse){.hex-board-svg,.hex-board-svg.is-resolving-combat,.unit-token-inner,.unit-square,.unit-selected,.combat-effect,.combat-strike-shadow{filter:none}.hex-board-svg.is-resolving-combat{animation:none}}.hex-board-svg.is-resolving-combat{animation:none}.combat-stage{pointer-events:none}.combat-vignette{animation:.9s ease-out both combat-vignette-clear}.unit-attacking,.unit-defending{animation:none!important}.unit-defending .unit-square{animation:.43s ease-out .3s both defender-impact-clear!important}.combat-strike-shadow,.combat-strike{animation:.5s cubic-bezier(.15,.8,.2,1) .23s both combat-strike-clear}.combat-impact-outer,.combat-impact-inner{animation:.42s ease-out .41s both combat-impact-clear}.combat-sparks{animation:.38s ease-out .42s both combat-sparks-clear}.combat-outcome{fill:var(--combat-strike-stroke-variant-3);stroke:var(--game-panel-surface);stroke-width:3px;paint-order:stroke;font:900 var(--measurement-16px) "DM Sans", sans-serif;letter-spacing:.08em;animation:.62s ease-out .38s both combat-outcome-clear;display:block}.combat-miss .combat-outcome{fill:var(--combat-miss-combat-strike-stroke-variant-3)}@keyframes defender-impact-clear{0%,to{opacity:1;stroke-width:1.6px}30%{opacity:.55;stroke-width:4px}62%{opacity:1;stroke-width:2.4px}}@keyframes combat-strike-clear{0%{stroke-dasharray:0 240;opacity:0}20%{opacity:1}65%{stroke-dasharray:240 0;opacity:1}to{stroke-dasharray:240 0;opacity:0}}@keyframes combat-impact-clear{0%{opacity:0;transform:scale(.3)}35%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.8)}}@keyframes combat-sparks-clear{0%{opacity:0;transform:scale(.4)}35%{opacity:1}to{opacity:0;transform:scale(1.35)}}@keyframes combat-outcome-clear{0%,18%{opacity:0;transform:translateY(5px)scale(.92)}35%,76%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-5px)scale(1.03)}}@keyframes combat-vignette-clear{0%,to{opacity:0}20%,62%{opacity:.42}}.board-zoom-controls{right:var(--measurement-8px);top:var(--measurement-8px);z-index:24;border:var(--measurement-1px) solid var(--board-zoom-controls-border);border-radius:var(--measurement-6px);background:var(--turn-indicator-surface);box-shadow:0 var(--measurement-8px) var(--measurement-20px) var(--board-zoom-controls-shadow);align-items:center;display:flex;position:absolute;overflow:hidden}.board-zoom-controls button{height:var(--measurement-34px);min-width:var(--measurement-36px);padding:0 var(--measurement-10px);border:0;border-right:var(--measurement-1px) solid var(--player-badge-border);color:var(--board-zoom-controls-text);cursor:pointer;font:600 var(--measurement-18px) "DM Sans",sans-serif;background:0 0}.board-zoom-controls button:last-child{border-right:0}.board-zoom-controls button:hover:not(:disabled){background:var(--color-primary-bg-light);color:var(--color-primary)}.board-zoom-controls button:disabled{opacity:.28;cursor:not-allowed}.board-zoom-controls .zoom-level{min-width:var(--measurement-58px);color:var(--text-muted);font-size:var(--measurement-9px);letter-spacing:.05em}.hex-tile.hex-capital,.terrain-legend-hex .hex-capital{filter:drop-shadow(0 0 var(--measurement-4px) var(--command-card-border));fill:var(--capital-hex-fill)!important;stroke:var(--capital-hex-stroke)!important;stroke-width:2.8px!important}.capital-wall{fill:none;stroke:var(--capital-wall-stroke);stroke-width:2px;stroke-dasharray:5 2;pointer-events:none}.capital-marker{paint-order:stroke;font-size:var(--measurement-18px);filter:drop-shadow(0 var(--measurement-1px) var(--measurement-2px) var(--capital-marker-glow));fill:var(--capital-marker-fill)!important;stroke:var(--capital-marker-stroke)!important;stroke-width:var(--measurement-1-5px)!important}.capital-marker.is-occupied{opacity:.2}.deployment-panel{width:var(--measurement-340px);padding:var(--measurement-24px) var(--measurement-26px);background:var(--battle-header-surface)}.deployment-panel h2{font-family:Georgia,serif;font-weight:500}.deployment-panel .army-tray{gap:var(--measurement-7px);grid-template-columns:1fr 1fr;display:grid}.deployment-panel .army-tray-item{min-width:0;padding:var(--measurement-8px)}.deployment-panel .army-tray-label{font-size:var(--measurement-11px);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.deployment-panel .army-tray-count{font-size:var(--measurement-8px)}.deployment-panel .army-tray-item.armed{box-shadow:0 0 0 var(--measurement-1px) var(--color-primary)}.deployment-reset{margin:0 0 var(--measurement-9px)}.hex-board-shell{width:100%;min-width:0;max-width:none;height:100%;min-height:0}.hex-board-shell .hex-board-svg{width:100%;max-width:none;height:100%;max-height:none;display:block}.battle-body>.board-area{min-width:0;min-height:0}.battle-screen{width:100%;height:var(--measurement-100dvh);min-height:0;overflow:hidden}.battle-header{flex:none}.battle-body{flex:auto;min-width:0;min-height:0;overflow:hidden}.battle-body>.board-area{height:100%;overflow:hidden}.hex-board-shell,.hex-board-shell svg,.hex-board-shell text{-webkit-user-select:none;user-select:none}.hex-tile.legend-focus-muted{opacity:.22;filter:saturate(.35)brightness(.72)}.hex-tile.legend-focus-match{opacity:1;filter:brightness(1.24) drop-shadow(0 0 var(--measurement-5px) var(--hex-tile-legend-focus-match-glow));stroke:var(--hex-tile-legend-focus-match-stroke)!important;stroke-width:3px!important}.unit-token-inner.legend-focus-muted{opacity:.2;filter:saturate(.3)}.unit-token-inner.legend-focus-match{opacity:1;filter:brightness(1.22) drop-shadow(0 0 var(--measurement-8px) var(--unit-token-inner-legend-focus-match-glow))}.player-badge-vp{color:var(--text-muted);font:inherit;cursor:pointer;text-underline-offset:var(--measurement-2px);background:0 0;border:0;align-self:flex-start;padding:0;font-size:.78rem;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.player-badge-vp:hover{color:var(--gold);text-decoration-color:currentColor}.surrender-button{width:100%;margin-top:var(--measurement-8px);padding:var(--measurement-7px);color:var(--surrender-button-text-alternate);cursor:pointer;font-size:var(--measurement-8px);letter-spacing:.08em;transition:color var(--measurement-150ms) ease,background var(--measurement-150ms) ease;background:0 0;border:0}.surrender-button:hover{color:var(--surrender-button-text)}.surrender-button.is-armed{background:var(--surrender-button-is-armed-surface);color:var(--surrender-button-is-armed-text)}.vp-modal-overlay{z-index:75}.vp-breakdown{width:min(var(--measurement-500px),calc(var(--measurement-100vw) - var(--measurement-32px)));max-height:calc(var(--measurement-100dvh) - var(--measurement-48px));padding:var(--measurement-30px);border:var(--measurement-1px) solid var(--gold-border);background:var(--vp-breakdown-surface);box-shadow:var(--shadow-surface);color:var(--text-main);position:relative;overflow:auto}.vp-close{right:var(--measurement-11px);top:var(--measurement-7px);color:var(--text-muted);cursor:pointer;font-size:var(--measurement-23px);background:0 0;border:0;position:absolute}.vp-mon{width:var(--measurement-48px);height:var(--measurement-48px);margin-bottom:var(--measurement-10px);border:var(--measurement-1px) solid var(--gold-border);color:var(--gold);font:700 var(--measurement-22px) "Noto Serif JP","Yu Mincho",serif;border-radius:50%;place-items:center;display:grid}.vp-breakdown>small{color:var(--gold);font-size:var(--measurement-8px);letter-spacing:.18em;font-weight:800}.vp-breakdown h2{margin:var(--measurement-5px) 0 var(--measurement-10px);color:var(--vp-breakdown-score-text);font:500 var(--measurement-1-45rem) Georgia,serif}.vp-breakdown>p{color:var(--text-secondary);font-size:var(--measurement-12px);line-height:1.55}.vp-current-control{align-items:center;gap:var(--measurement-4px) var(--measurement-12px);margin:var(--measurement-20px) 0;padding:var(--measurement-13px);border:var(--measurement-1px) solid var(--color-primary-border);background:var(--vp-current-control-surface);grid-template-columns:1fr auto;display:grid}.vp-current-control>span{font-size:var(--measurement-8px);letter-spacing:.13em;color:var(--text-muted);font-weight:800}.vp-current-control>strong{color:var(--color-primary);font:600 var(--measurement-2rem) Georgia,serif;grid-area:1/2/3}.vp-current-control>small{font-size:var(--measurement-10px);color:var(--text-secondary)}.vp-breakdown h3{margin-bottom:var(--measurement-9px);color:var(--vp-breakdown-heading-text);font:500 var(--measurement-1rem) Georgia,serif}.vp-history{gap:var(--measurement-6px);flex-direction:column;list-style:none;display:flex}.vp-history li{gap:var(--measurement-2px) var(--measurement-12px);padding:var(--measurement-9px) var(--measurement-11px);border-left:var(--measurement-2px) solid var(--gold);background:var(--vp-current-control-surface);grid-template-columns:1fr auto;display:grid}.vp-history li span{font-size:var(--measurement-11px);font-weight:700}.vp-history li small{font-size:var(--measurement-9px);color:var(--text-muted)}.vp-history li b{color:var(--gold);font-size:var(--measurement-11px);grid-area:1/2/3;align-self:center}.vp-history li.is-zero{border-left-color:var(--border-medium);opacity:.72}.vp-history li.is-zero b{color:var(--text-muted)}.vp-empty{padding:var(--measurement-12px);border:var(--measurement-1px) dashed var(--border-medium);text-align:center;color:var(--text-muted)!important}.player-badge{appearance:none;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:border-color var(--measurement-150ms) ease,background var(--measurement-150ms) ease,transform var(--measurement-150ms) ease}.player-badge:hover{border-color:var(--gold-border);background:var(--vp-breakdown-surface);transform:translateY(-var(--measurement-1px))}.player-badge-vp{pointer-events:none}.deployment-screen{width:100%;height:var(--measurement-100dvh);min-height:0;overflow:hidden}.deployment-screen>.deployment-panel{height:100%;overflow:auto}.deployment-screen>.board-area{min-width:0;height:100%;min-height:0;overflow:hidden}.deployment-screen .hex-board-shell{height:100%}.hex-move-highlight,.hex-retreat-highlight{stroke:#0000!important}.hex-interaction-outline{fill:none;stroke-linejoin:round;pointer-events:none;vector-effect:non-scaling-stroke}.hex-interaction-outline.is-move{stroke:var(--hex-interaction-outline-is-move-stroke);stroke-width:2.8px;filter:drop-shadow(0 0 var(--measurement-3px) var(--hex-interaction-outline-is-move-glow))}.hex-interaction-outline.is-retreat{stroke:var(--hex-interaction-outline-is-retreat-stroke);stroke-width:3.2px;filter:drop-shadow(0 0 var(--measurement-3px) var(--hex-interaction-outline-is-retreat-glow))}.command-actions{min-height:var(--measurement-38px);padding:var(--measurement-7px) var(--measurement-9px);border:var(--measurement-1px) solid var(--player-badge-border);border-radius:var(--measurement-5px);background:var(--vp-current-control-surface)}.action-stones{align-items:center;gap:var(--measurement-7px);display:flex}.action-stones i{width:var(--measurement-27px);height:var(--measurement-27px);border:var(--measurement-1px) solid var(--color-primary-border);background:var(--command-points-surface);color:var(--command-points-text);box-shadow:0 var(--measurement-3px) var(--measurement-7px) var(--command-points-shadow);font:700 var(--measurement-11px) "Noto Serif JP","Yu Mincho",serif;transition:opacity var(--measurement-180ms) ease,filter var(--measurement-180ms) ease,transform var(--measurement-180ms) ease;border-radius:50%;place-items:center;display:grid}.action-stones i.is-spent{border-color:var(--player-badge-border);background:var(--command-points-is-spent-surface);color:var(--command-points-is-spent-text);box-shadow:none;filter:saturate(.2);transform:scale(.9)}.vp-comparison{width:min(var(--measurement-780px),calc(var(--measurement-100vw) - var(--measurement-32px)))}.vp-comparison-grid{gap:var(--measurement-14px);margin-top:var(--measurement-20px);grid-template-columns:1fr 1fr;display:grid}.vp-clan-column{min-width:0;padding:var(--measurement-15px);border:var(--measurement-1px) solid var(--border-medium);background:var(--vp-current-control-surface)}.vp-clan-column>header{padding-bottom:var(--measurement-10px);border-bottom:var(--measurement-1px) solid var(--gold-border);justify-content:space-between;align-items:center;display:flex}.vp-clan-column>header span{font:500 var(--measurement-1rem) Georgia,serif}.vp-clan-column>header strong{color:var(--gold);font:600 var(--measurement-1-1rem) Georgia,serif}.vp-clan-column .vp-current-control{margin:var(--measurement-12px) 0}.vp-clan-column .vp-history{max-height:var(--measurement-220px);overflow:auto}.drawer-content .event-log-item{border-left-color:var(--event-log-item-border)}.drawer-content .event-unit_moved{border-left-color:var(--event-unit-moved-border);background:var(--event-unit-moved-surface)}.drawer-content .event-attack_resolved{border-left-color:var(--event-attack-resolved-border);background:var(--event-attack-resolved-surface)}.drawer-content .event-unit_wounded{border-left-color:var(--event-unit-wounded-border);background:var(--event-unit-wounded-surface)}.drawer-content .event-unit_retreated{border-left-color:var(--event-unit-retreated-border);background:var(--event-unit-retreated-surface)}.drawer-content .event-unit_died,.drawer-content .event-game_over{border-left-color:var(--event-fatal-border);background:var(--event-fatal-surface)}.drawer-content .event-card_played{border-left-color:var(--event-card-played-border);background:var(--event-card-played-surface)}.drawer-content .event-special_ability_used{border-left-color:var(--event-special-ability-used-border)}.event-log-item span>b:first-child{font-size:var(--measurement-8px);letter-spacing:.1em;color:var(--event-log-actor-text)}.turn-log-separator{align-items:center;gap:var(--measurement-9px);padding:var(--measurement-10px) 0;color:var(--gold);grid-template-columns:1fr auto 1fr;list-style:none;display:grid}.turn-log-separator b{font-size:var(--measurement-8px);letter-spacing:.18em}@media (width<=700px){.vp-comparison-grid{grid-template-columns:1fr}}@media (width>=701px) and (width<=1100px){.battle-header{gap:var(--measurement-10px);padding-inline:var(--measurement-14px)}.battle-mark{min-width:auto;padding-right:var(--measurement-10px)}.side-panel.command-rail{width:clamp(var(--measurement-260px), 29vw, var(--measurement-330px))}.board-area{padding-inline:var(--measurement-10px)}}@media (width<=700px){.battle-screen{height:var(--measurement-100dvh);min-height:0}.battle-header{gap:var(--measurement-6px);min-height:56px;padding:var(--measurement-6px) var(--measurement-8px);overflow:hidden}.battle-mark{min-width:0;padding-right:var(--measurement-6px)}.battle-mark-kanji{width:var(--measurement-32px);height:var(--measurement-32px);font-size:var(--measurement-18px)}.battle-mark>span:last-child,.header-event,.score-vs,.player-badge-label,.player-turn-seal{display:none}.turn-info{gap:0;min-width:0}.turn-indicator{padding:var(--measurement-6px) var(--measurement-8px);font-size:var(--measurement-0-72rem);white-space:nowrap}.players-score{gap:var(--measurement-4px);margin-left:auto}.player-badge{min-width:0;padding:var(--measurement-3px) var(--measurement-5px)}.player-badge-clan,.player-badge-vp{font-size:var(--measurement-0-62rem);white-space:nowrap}.header-control{min-height:var(--measurement-36px);padding-inline:var(--measurement-7px);font-size:var(--measurement-0-62rem)}.battle-body{flex-direction:column;min-height:0}.battle-body>.board-area{height:auto;min-height:0;padding:var(--measurement-5px);flex:auto}.hex-board-shell .hex-board-svg{touch-action:none}.board-zoom-controls{right:var(--measurement-5px);top:var(--measurement-5px)}.board-zoom-controls button{min-width:var(--measurement-40px);height:var(--measurement-40px)}.capital-warning{top:var(--measurement-6px);min-width:0;width:calc(100% - var(--measurement-96px));padding:var(--measurement-6px) var(--measurement-8px)}.capital-warning small,.board-legend{display:none}.mode-banner,.retreat-banner{top:auto;bottom:var(--measurement-6px);width:calc(100% - var(--measurement-16px));padding:var(--measurement-8px);font-size:var(--measurement-0-72rem);text-align:center}.side-panel.command-rail{flex:0 0 var(--measurement-190px);border-top:var(--measurement-1px) solid var(--command-rail-border-alternate);border-left:0;flex-direction:column;width:100%;min-height:0;max-height:none;padding:0;overflow:hidden}.command-hand{padding:var(--measurement-6px) var(--measurement-8px);flex:auto}.command-hand>header{display:none}.command-card-list{gap:var(--measurement-8px);padding:0 0 var(--measurement-3px);scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;flex-direction:row;overflow:auto hidden}.command-card{flex:0 0 var(--measurement-220px);min-height:100px;padding:var(--measurement-9px) var(--measurement-10px) var(--measurement-8px) var(--measurement-55px);scroll-snap-align:start}.command-card-art{left:var(--measurement-9px);top:var(--measurement-9px);width:var(--measurement-34px);height:var(--measurement-40px);font-size:var(--measurement-18px)}.command-card>strong{font-size:var(--measurement-12px)}.command-card>em{margin-top:var(--measurement-3px);font-size:var(--measurement-8px)}.command-card>i{margin:var(--measurement-5px) 0}.command-card>small{font-size:var(--measurement-8px)}.trap-mark{left:var(--measurement-7px);top:var(--measurement-54px);width:var(--measurement-38px)}.command-footer{grid-template-columns:minmax(0, 1fr) minmax(var(--measurement-145px), var(--measurement-210px));align-items:center;gap:var(--measurement-8px);padding:var(--measurement-7px) var(--measurement-8px) calc(var(--measurement-7px) + env(safe-area-inset-bottom));margin:0;display:grid}.command-actions{min-height:var(--measurement-44px);margin:0}.command-actions span{display:none}.end-turn-button{height:var(--measurement-44px)}.surrender-button{display:none}.deployment-screen{height:var(--measurement-100dvh);flex-direction:column}.deployment-screen>.deployment-panel{box-sizing:border-box;flex:0 0 var(--measurement-290px);width:100%;height:auto;padding:var(--measurement-14px)}.deployment-panel h2{margin:0 0 var(--measurement-6px);font-size:var(--measurement-1-1rem)}.deployment-panel .deployment-hint{margin:0 0 var(--measurement-8px);font-size:var(--measurement-0-72rem)}.deployment-panel .army-tray{grid-template-columns:repeat(3,1fr)}.deployment-panel .army-tray-item{min-height:var(--measurement-44px)}.deployment-panel .btn-primary{height:var(--measurement-44px)}.deployment-screen>.board-area{height:auto;padding:var(--measurement-5px);flex:auto}}@media (width<=390px){.battle-mark{display:none}.side-panel.command-rail{flex-basis:var(--measurement-180px)}.command-card{flex-basis:var(--measurement-210px)}.player-badge-clan{max-width:var(--measurement-46px);text-overflow:ellipsis;overflow:hidden}}:root{--actions-left-spent-surface:#4d4941;--actions-left-surface:#d2a958;--actions-left-text:#b6ae9f;--animation-attacker-commit-glow:#ffd260cc;--animation-attacker-directional-glow:#ffd260d9;--animation-attacker-flash-glow:#f4c65dcc;--animation-clash-attack-glow:#f00c;--animation-defender-flash-fill:#c05040;--animation-defender-flash-glow:#e74e40cc;--atk-triangle-fill:#ff4d4d;--attack-forecast-fill-alternate:#1e1a20fa;--attack-forecast-fill:#1c191ff5;--attack-forecast-glow:#0000009e;--attack-forecast-stroke-alternate:#d76652;--attack-forecast-stroke-variant-3:#e06a55;--attack-forecast-stroke:#1c191f;--battle-body-surface:#171512;--battle-drawer-border-alternate:#ffffff1a;--battle-drawer-border:#d7b56b5c;--battle-drawer-text:#e9dfcd;--battle-header-border-alternate:#faf3e81f;--battle-header-border:#d2ad6638;--battle-header-shadow:#0c0a0e38;--battle-header-surface-alternate:#161411f0;--battle-header-surface:#3a353e;--battle-mark-kanji-border:#a64536;--battle-mark-kanji-surface:#2e2a32;--battle-mark-kanji-text:#e5d3a1;--battle-mark-text-alternate:#eee6d373;--battle-mark-text:#d4bc87;--battle-screen-background-alternate:#ffffff04;--battle-screen-background-variant-3:#ffffff05;--battle-screen-background:#b2803d24;--battle-whisper-shadow:#000;--battle-whisper-text-alternate:#efc96f;--battle-whisper-text:#dfd5c1;--board-area-background:#665b6b59;--board-area-shadow:#0c0a0e52;--board-area-surface-alternate:#2320276b;--board-area-surface-variant-3:#5d546352;--board-area-surface:#322c21;--board-legend-text:#b2a795;--board-zoom-controls-border:#faf3e82e;--board-zoom-controls-shadow:#00000040;--board-zoom-controls-text:#f4ead8;--btn-primary-border-alternate:#ffffff1f;--btn-primary-border:#ffffff1f;--btn-primary-surface-alternate:#c05743;--btn-primary-surface:#a94736;--btn-secondary-border:#73613f;--btn-secondary-surface:#daba721f;--btn-secondary-text:#ded3ba;--capital-hex-fill:#26232b;--capital-hex-stroke:#d2ad55;--capital-marker-fill:#f5d77e;--capital-marker-glow:#000000d9;--capital-marker-stroke:#241f27;--capital-wall-stroke:#8d7543;--capital-warning-is-danger-border:#da5b488c;--capital-warning-is-danger-surface:#c44a4a2e;--capital-warning-is-danger-text:#ffb2a4;--capital-warning-is-opportunity-text:#9be1cd;--capital-warning-shadow:#00000052;--capital-warning-surface:#342f38;--clan-ability-button-border:#9b84bc4d;--clan-ability-button-surface:#352f3d;--clan-ability-button-text:#cdbde0;--clan-choice-is-selected-shadow:#3fb49414;--combat-critical-combat-outcome-fill:#ffb04f;--combat-critical-combat-strike-shadow-stroke:#ff3618c7;--combat-critical-combat-strike-stroke-alternate:#fff0b5;--combat-critical-combat-strike-stroke:#ff643f;--combat-effect-glow:#ffcd57b8;--combat-impact-inner-fill:#ffebaae0;--combat-impact-stroke:#f2e3b0;--combat-kanji-shadow-alternate:#ff5e2e4d;--combat-kanji-shadow:#000c;--combat-kanji-text:#fff0caeb;--combat-miss-combat-outcome-fill:#d5e0e1;--combat-miss-combat-strike-shadow-stroke:#879ea359;--combat-miss-combat-strike-stroke-alternate:#b8c4c7;--combat-miss-combat-strike-stroke-variant-3:#c9d5d7;--combat-miss-combat-strike-stroke:#aab7ba;--combat-outcome-fill:#fff4d0;--combat-outcome-stroke:#24150f;--combat-result-card-border:#faf3e821;--combat-result-card-surface:#1a171deb;--combat-result-card-text:#f8e6b4;--combat-stage-is-critical-combat-kanji-text:#ffb06b;--combat-stage-is-critical-combat-result-card-border:#ff643f9e;--combat-stage-is-critical-combat-result-card-glow:#ff502d40;--combat-stage-is-critical-combat-result-card-text:#ffad63;--combat-stage-is-miss-combat-result-card-border:#b8c4c759;--combat-strike-glow-alternate:#ffdc8780;--combat-strike-glow:#ffc648f2;--combat-strike-shadow-stroke:#ff462a8c;--combat-strike-stroke-alternate:#f8e4ab;--combat-strike-stroke-variant-3:#fff1b8;--combat-strike-stroke:#f5d782;--combat-vignette-surface-alternate:#080709bd;--combat-vignette-surface:#0c0a0e2e;--command-card-art-text:#c9a84cbd;--command-card-border:#c9a84c38;--command-card-effect-text:#eee5d7;--command-card-flavor-text:#c8bdad;--command-card-is-armed-shadow:#3fb4942e;--command-card-is-armed-surface:#35433f;--command-card-surface-alternate:#413b46;--command-card-surface:#3b3640;--command-card-title-text:#f7e8ca;--command-footer-surface:#29262d;--command-points-is-spent-surface:#252229;--command-points-is-spent-text:#faf3e83d;--command-points-shadow:#00000047;--command-points-surface:#315148;--command-points-text:#bdf1e1;--command-rail-border-alternate:#faf3e81c;--command-rail-border:#d2ad6633;--command-rail-panel-section-border:#ffffff14;--command-rail-panel-section-text:#b7a47c;--command-rail-shadow:#0c0a0e29;--command-rail-surface:#211e19;--confirm-card-text:#76d0b5;--connection-pause-card-surface-alternate:#403a44fc;--connection-pause-card-surface:#27232afc;--connection-pause-surface:#141217c2;--def-triangle-fill:#4da6ff;--drawer-backdrop-surface:#0b0a087a;--drawer-card-list-card-description-text:#b8ad98;--drawer-card-list-card-item-border:#d8b97633;--drawer-card-list-card-name-text:#eadcbf;--end-turn-button-text:#d9f4eb;--event-attack-resolved-border:#df735e;--event-attack-resolved-surface:#c44a4a11;--event-card-played-border:#a58ac7;--event-card-played-surface:#7d5ba811;--event-fatal-border:#b54848;--event-fatal-surface:#9630301a;--event-log-actor-text:#f0dba9;--event-log-body-text:#d9cfbc;--event-log-emphasis-text:#e5c776;--event-log-item-border-alternate:#d0ac627a;--event-log-item-border:#8f8796;--event-log-item-surface:#ffffff09;--event-log-time-text:#9d917b;--event-special-ability-used-border:#c8a84e;--event-unit-moved-border:#61b99f;--event-unit-moved-surface:#3fb4940e;--event-unit-retreated-border:#69a9d3;--event-unit-retreated-surface:#4a8bb70f;--event-unit-wounded-border:#d89b58;--event-unit-wounded-surface:#cf8e440f;--forecast-defense-fill:#c8c0b3;--forecast-main-fill-alternate:#ffe2d9;--forecast-main-fill:#ffd9cd;--game-panel-shadow:#0f0d112e;--game-panel-surface:#3a353ef0;--game-screen-background-accent-alternate:#5a51605c;--game-screen-background-accent:#2d2931b3;--header-control-border-alternate:#d6b97859;--header-control-border:#e7ca83;--header-control-text-alternate:#f0dfb8;--header-control-text:#cdbd9e;--hex-attack-highlight-stroke:#d55542;--hex-attack-reticle-stroke:#f05b49;--hex-attackable-highlight-fill:#dc505026;--hex-board-svg-glow:#0000007a;--hex-deploy-zone-stroke:#ebd17e;--hex-interaction-outline-is-move-glow:#f2d47e8c;--hex-interaction-outline-is-move-stroke:#f2d47e;--hex-interaction-outline-is-retreat-glow:#64bef08c;--hex-interaction-outline-is-retreat-stroke:#9bdcff;--hex-move-highlight-stroke:#ead28d;--hex-move-marker-fill:#f1d587;--hex-move-marker-stroke:#57431e;--hex-retreat-highlight-fill:#2f6598;--hex-retreat-highlight-stroke:#8ed5ff;--hex-retreat-marker-fill:#78cfff73;--hex-retreat-marker-stroke:#d7f3ff;--hex-terrain-bridge-fill-alternate:#cbb896;--hex-terrain-bridge-fill:#98784c;--hex-terrain-mountain-fill-alternate:#b3a184;--hex-terrain-mountain-fill:#76634c;--hex-terrain-plains-fill-alternate:#e4dcc8;--hex-terrain-plains-fill:#b39a68;--hex-terrain-shrine-fill-alternate:#e8d48a;--hex-terrain-shrine-fill:#bd9a4d;--hex-terrain-water-fill-alternate:#8fb4c9;--hex-terrain-water-fill:#496c75;--hex-tile-legend-focus-match-glow:#ffe08b8c;--hex-tile-legend-focus-match-stroke:#fff0b9;--hex-tile-stroke:#291f13d9;--kanji-legend-item-border:#faf3e812;--kanji-legend-item-text:#f7ead0;--legend-dot-attack-surface:#df5b48;--legend-dot-shrine-surface:#cfaa4a;--lobby-box-surface-alternate:#443e48fa;--lobby-box-surface:#322e36fa;--march-preview-stroke:#f5e1a0;--mode-banner-shadow:#00000059;--player-badge-active-border:#d4af63;--player-badge-active-surface-alternate:#c98b4524;--player-badge-active-surface:#293f39;--player-badge-border-alternate:#ffffff26;--player-badge-border:#faf3e81a;--player-badge-clan-text:#eee6d3;--player-badge-label-text:#938b7d;--player-badge-surface:#332f37;--player-badge-vp-text:#caad70;--replacement-code-text:#faf0df;--retreat-banner-surface:#3a7bd5;--retreat-pulse-shadow-end:#3a7bd5cc;--retreat-pulse-shadow-start:#3a7bd566;--shrine-marker-fill-alternate:#f6dc86;--shrine-marker-fill:#a8862f;--stat-number-fill:#fff;--stat-number-glow:#000c;--stat-triangle-stroke:#0000004d;--surrender-button-is-armed-surface:#c44a4a24;--surrender-button-is-armed-text:#f1a49a;--surrender-button-text-alternate:#faf3e86b;--surrender-button-text:#dca095;--tactic-card-border-alternate:#d8b97661;--tactic-card-border:#f1d17d;--tactic-card-not-implemented-border:#625c53;--tactic-card-surface-alternate:#473725f5;--tactic-card-surface:#1f1b17f7;--tactic-card-text-alternate:#e7d9bc;--tactic-card-text:#a9997e;--terrain-legend-hex-fill:#f8ead0;--terrain-legend-hex-stroke-alternate:#fff6e64d;--terrain-legend-hex-stroke:#2b2730;--trap-mark-text:#a99dc0;--turn-change-banner-is-enemy-border:#c45c4a6b;--turn-change-banner-is-enemy-surface:#c44a4a29;--turn-change-banner-is-enemy-text:#e6928f;--turn-change-banner-surface:#1f1c22f0;--turn-enemy-border:#74706a;--turn-enemy-label-muted:#a8a298;--turn-enemy-label-text:#e2a094;--turn-enemy-shadow:#aa46374d;--turn-enemy-surface:#87473d;--turn-enemy-symbol-text:#ffe7dc;--turn-friendly-label-text:#7bd4ba;--turn-friendly-shadow:#3fb4946b;--turn-friendly-symbol-text:#172a24;--turn-indicator-border:#c98b45;--turn-indicator-surface:#302c34;--unit-activation-seal-fill:#efe0b9;--unit-activation-seal-glow:#000000b3;--unit-activation-seal-stroke:#34291e;--unit-activation-seal-unit-spent-mark-fill:#4b3024;--unit-enemy-fill:#7a3d34;--unit-enemy-stroke-alternate:#c77a69;--unit-enemy-stroke:#b87065;--unit-enemy-unit-inset-stroke:#ffd1c12e;--unit-friendly-fill:#4a6b4f;--unit-friendly-stroke-alternate:#8dad91;--unit-friendly-stroke:#7da07e;--unit-hattori-enemy-fill:#7c3f37;--unit-hattori-friendly-fill:#4f6b54;--unit-inset-stroke:#fff6e62b;--unit-kanji-legend-surface:#242128f0;--unit-lore-card-shadow:#0000007a;--unit-lore-card-surface-alternate:#3a353efa;--unit-lore-card-surface:#201d23fa;--unit-mine-unit-inset-stroke:#d4edd333;--unit-mon-glow:#000000a6;--unit-owner-enemy-fill:#e0a898;--unit-owner-enemy-stroke:#3d1f18;--unit-owner-mine-fill:#b8d4b0;--unit-owner-mine-stroke:#2d402a;--unit-readout-border:#d5ae62;--unit-readout-clan-surface:#4c3a2e;--unit-readout-danger-text:#ec8070;--unit-readout-label-text:#b9ad98;--unit-readout-shadow:#00000047;--unit-readout-surface:#1b1814e6;--unit-readout-value-text:#f1e9d7;--unit-selected-glow:#00000080;--unit-selected-unit-square-glow-alternate:#efc665cc;--unit-selected-unit-square-glow:#efc665bf;--unit-selected-unit-square-stroke:#f6df96;--unit-spent-mark-fill:#f1dfaa;--unit-spent-mark-stroke:#32291c;--unit-spent-unit-label-fill:#d2c9b6;--unit-spent-unit-square-glow:#0000006b;--unit-square-glow-alternate:#00000085;--unit-square-glow:#0006;--unit-stat-boosted-fill:#fc0;--unit-takeda-enemy-fill:#7e3b30;--unit-takeda-friendly-fill:#4d6b4a;--unit-token-inner-glow:#00000061;--unit-token-inner-legend-focus-match-glow:#ffe08bad;--unit-tokugawa-enemy-fill:#763f36;--unit-tokugawa-friendly-fill:#47684f;--vp-breakdown-heading-text:#e9dbc3;--vp-breakdown-score-text:#f7ead2;--vp-breakdown-surface:#39343d;--vp-current-control-surface:#302d34;--wound-stain-glow:#00000080;--measurement-0-01ms:.01ms;--measurement-0-15s:.15s;--measurement-0-18s:.18s;--measurement-0-2s:.2s;--measurement-0-22s:.22s;--measurement-0-25rem:.25rem;--measurement-0-25s:.25s;--measurement-0-4s:.4s;--measurement-0-45s:.45s;--measurement-0-5rem:.5rem;--measurement-0-5s:.5s;--measurement-0-56rem:.56rem;--measurement-0-58rem:.58rem;--measurement-0-6px:.6px;--measurement-0-6rem:.6rem;--measurement-0-62rem:.62rem;--measurement-0-65rem:.65rem;--measurement-0-67rem:.67rem;--measurement-0-68rem:.68rem;--measurement-0-7rem:.7rem;--measurement-0-7s:.7s;--measurement-0-72rem:.72rem;--measurement-0-73rem:.73rem;--measurement-0-74rem:.74rem;--measurement-0-75rem:.75rem;--measurement-0-76rem:.76rem;--measurement-0-78rem:.78rem;--measurement-0-8rem:.8rem;--measurement-0-82rem:.82rem;--measurement-0-85rem:.85rem;--measurement-0-86rem:.86rem;--measurement-0-88rem:.88rem;--measurement-0-9rem:.9rem;--measurement-0-92rem:.92rem;--measurement-0-95rem:.95rem;--measurement-1px:1px;--measurement-1rem:1rem;--measurement-1s:1s;--measurement-1-1rem:1.1rem;--measurement-1-2px:1.2px;--measurement-1-2rem:1.2rem;--measurement-1-25rem:1.25rem;--measurement-1-3s:1.3s;--measurement-1-4rem:1.4rem;--measurement-1-45rem:1.45rem;--measurement-1-5px:1.5px;--measurement-1-5s:1.5s;--measurement-1-55rem:1.55rem;--measurement-1-6s:1.6s;--measurement-1-8rem:1.8rem;--measurement-2px:2px;--measurement-2rem:2rem;--measurement-2s:2s;--measurement-2-4rem:2.4rem;--measurement-2-45rem:2.45rem;--measurement-2-5rem:2.5rem;--measurement-3px:3px;--measurement-3s:3s;--measurement-4px:4px;--measurement-5px:5px;--measurement-6px:6px;--measurement-7px:7px;--measurement-8px:8px;--measurement-9px:9px;--measurement-10px:10px;--measurement-11px:11px;--measurement-12px:12px;--measurement-13px:13px;--measurement-14px:14px;--measurement-15px:15px;--measurement-16px:16px;--measurement-17px:17px;--measurement-18px:18px;--measurement-19px:19px;--measurement-20px:20px;--measurement-22px:22px;--measurement-23px:23px;--measurement-24px:24px;--measurement-25px:25px;--measurement-26px:26px;--measurement-27px:27px;--measurement-28px:28px;--measurement-29px:29px;--measurement-30px:30px;--measurement-32px:32px;--measurement-34px:34px;--measurement-36px:36px;--measurement-38px:38px;--measurement-38rem:38rem;--measurement-40px:40px;--measurement-40vh:40vh;--measurement-42px:42px;--measurement-44px:44px;--measurement-45px:45px;--measurement-46px:46px;--measurement-48px:48px;--measurement-50px:50px;--measurement-52px:52px;--measurement-55px:55px;--measurement-56rem:56rem;--measurement-58px:58px;--measurement-62rem:62rem;--measurement-62vh:62vh;--measurement-64px:64px;--measurement-66px:66px;--measurement-67px:67px;--measurement-70px:70px;--measurement-76px:76px;--measurement-78px:78px;--measurement-78rem:78rem;--measurement-80ms:80ms;--measurement-80px:80px;--measurement-82px:82px;--measurement-85vh:85vh;--measurement-90px:90px;--measurement-92px:92px;--measurement-92vw:92vw;--measurement-100dvh:100dvh;--measurement-100vh:100vh;--measurement-100vw:100vw;--measurement-110px:110px;--measurement-120ms:.12s;--measurement-126px:126px;--measurement-145px:145px;--measurement-148px:148px;--measurement-150ms:.15s;--measurement-154px:154px;--measurement-160ms:.16s;--measurement-180ms:.18s;--measurement-190ms:.19s;--measurement-210px:210px;--measurement-220px:220px;--measurement-250px:250px;--measurement-260ms:.26s;--measurement-260px:260px;--measurement-290px:290px;--measurement-300px:300px;--measurement-320px:320px;--measurement-330ms:.33s;--measurement-330px:330px;--measurement-340px:340px;--measurement-350ms:.35s;--measurement-350px:350px;--measurement-360px:360px;--measurement-380ms:.38s;--measurement-390px:390px;--measurement-420px:420px;--measurement-430px:430px;--measurement-490ms:.49s;--measurement-500ms:.5s;--measurement-500px:500px;--measurement-520ms:.52s;--measurement-520px:520px;--measurement-540ms:.54s;--measurement-560ms:.56s;--measurement-720px:720px;--measurement-760px:760px;--measurement-1180px:1180px;--measurement-600ms:.6s;--measurement-650ms:.65s;--measurement-700ms:.7s;--measurement-720ms:.72s;--measurement-760ms:.76s;--measurement-780px:780px;--measurement-820ms:.82s;--measurement-850ms:.85s;--measurement-860ms:.86s;--measurement-870ms:.87s;--measurement-900ms:.9s;--measurement-900px:900px;--measurement-920ms:.92s;--measurement-960px:960px;--measurement-999px:999px;--measurement-1200ms:1.2s;--measurement-1320ms:1.32s;--measurement-1350ms:1.35s;--measurement-1550ms:1.55s;--measurement-1700ms:1.7s;--measurement-2150ms:2.15s;--space-page:40px;--paper-base:#bfa980;--paper-light:#d8c69f;--paper-bright:#e7d9b8;--paper-deep:#9d8864;--paper-panel:#dccba4f0;--paper-panel-solid:#d4c096;--paper-wash:#efe0be94;--paper-shadow:#362b1b47;--paper-inner-shadow:#6f56301a;--paper-control:#efe0be6b;--paper-control-shadow:#5642250d;--paper-battlefield:#b8a37957;--paper-board-top:#e0cfaac2;--paper-board-bottom:#c4af86c2;--paper-board-shadow:#5b462721;--paper-card:#e8d8b5b8;--paper-card-hover:#eedcb8eb;--paper-card-shadow:#5b462712;--paper-command-footer:#c0a97e7a;--paper-deployment-unit:#eddcb794;--paper-record:#eeddb98a;--ink-main:#1f211c;--ink-secondary:#393c33;--ink-muted:#1f211cc7;--ink-faint:#1f211c85;--ink-hairline:#29282033;--ink-strong:#1d1c17d1;--ink-board-shadow:#3a2d1b33;--ink-board-line:#312e2485;--ink-token-shadow:#33281957;--ink-overlay:#362c1d94;--indigo:#53636a;--indigo-deep:#34464d;--indigo-wash:#53636a2b;--moss:#5f6849;--moss-deep:#3f4935;--ochre:#9f7938;--ochre-light:#c19a50;--cinnabar:#9d3f2f;--cinnabar-hover:#833326;--cinnabar-wash:#9d3f2f1f;--cinnabar-border:#782b1f7a;--cinnabar-seal-shadow:#47181138;--terrain-plains:#cbb78b;--terrain-mountain:#82766d;--terrain-water:#71838a;--terrain-shrine:#b88d48;--terrain-bridge:#957553;--terrain-capital:#806b4f;--token-inset-line:#eadbb859;--map-plains-ink:#4943322e;--map-mountain-ink:#43393480;--map-water-ink:#283b436b;--map-shrine-ink:#75302285;--koma-grain-ink:#1b181233;--koma-grain-knot:#1b181217;--ink-wash-soft:#343d3617;--turn-friendly-board-wash:#4a5e452e;--turn-enemy-board-wash:#9d3f2f29;--font-display:"Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", Georgia, serif;--font-readable:"Avenir Next", "Segoe UI", Helvetica, Arial, sans-serif;--color-primary:var(--cinnabar);--color-primary-hover:var(--cinnabar-hover);--color-primary-bg-light:var(--cinnabar-wash);--color-primary-bg-hover:#9d3f2f33;--color-primary-border:var(--cinnabar-border);--color-primary-border-hover:#782b1fb3;--bg-panel:var(--paper-wash);--bg-main:var(--paper-base);--bg-surface:var(--paper-panel-solid);--bg-overlay:#2d25199e;--bg-input:#efe0be80;--bg-code:#efe0be6b;--bg-button-transparent:#efe0be1f;--text-main:var(--ink-main);--text-on-accent:var(--paper-bright);--text-secondary:var(--ink-secondary);--text-muted:var(--ink-muted);--text-faint:var(--ink-faint);--text-faintest:#2928204d;--border-subtle:var(--ink-hairline);--border-medium:#29282047;--border-input:#2928205c;--border-strong:var(--ink-strong);--error-bg:var(--cinnabar-wash);--error-text:var(--cinnabar-hover);--error-border:var(--cinnabar-border);--shadow-surface:0 18px 48px var(--paper-shadow);--gold:var(--ochre);--gold-pale:#9f79381f;--gold-border:#5b44225c;--token-mine-highlight:#76806a;--token-mine-midpoint:#58634d;--token-mine-shadow:#374238;--token-enemy-highlight:#a76450;--token-enemy-midpoint:#874637;--token-enemy-shadow:#592e27;--command-enemy-border:var(--cinnabar-border);--command-enemy-surface:var(--cinnabar);--command-enemy-text:var(--paper-bright);--scroll-background-image:url(/assets/war-scroll-coast.jpg);--paper-fiber-pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");--pattern-svg:var(--paper-fiber-pattern)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-readable);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--paper-base);color:var(--text-main)}button,input{font-family:inherit}::selection{background:var(--cinnabar-wash);color:var(--ink-main)}.connection-status{padding:var(--space-page);color:var(--text-main)}.lobby-container,.battle-screen,.deployment-screen,.terrain-selection-screen,.waiting-screen{background-color:var(--paper-base);background-image:linear-gradient(var(--paper-wash), var(--paper-wash)), var(--scroll-background-image), var(--paper-fiber-pattern);color:var(--ink-main);background-position:50%;background-size:cover,cover,auto;position:relative}.lobby-container:before,.battle-screen:before,.deployment-screen:before,.terrain-selection-screen:before,.waiting-screen:before{content:"";pointer-events:none;background:linear-gradient(90deg, var(--paper-shadow), transparent 3%, transparent 97%, var(--paper-shadow)), linear-gradient(var(--paper-shadow), transparent 4%, transparent 96%, var(--paper-shadow));opacity:.28;mix-blend-mode:multiply;position:absolute;inset:0}.terrain-selection-screen{min-height:var(--measurement-100dvh);box-sizing:border-box;padding:clamp(var(--measurement-40px), 6vh, var(--measurement-70px)) clamp(var(--measurement-18px), 4vw, var(--measurement-60px)) clamp(var(--measurement-48px), 7vh, var(--measurement-80px));flex-direction:column;display:flex;position:relative;overflow:auto}.daimyo-selection-screen{min-height:var(--measurement-100dvh);padding:clamp(var(--measurement-28px),4vh,var(--measurement-48px)) clamp(var(--measurement-18px),4vw,var(--measurement-64px));background-image:linear-gradient(var(--paper-wash),var(--paper-wash)),var(--scroll-background-image),var(--paper-fiber-pattern);color:var(--ink-main);background-position:50%;background-size:cover,cover,auto;position:relative;overflow:auto}.daimyo-selection-header{text-align:center;margin:0 auto clamp(var(--measurement-20px),3vh,var(--measurement-34px))}.daimyo-selection-header>span{width:var(--measurement-52px);height:var(--measurement-52px);margin:0 auto var(--measurement-10px);border:var(--measurement-2px) solid var(--cinnabar);color:var(--cinnabar);font:600 var(--measurement-23px) var(--font-display);place-items:center;display:grid;transform:rotate(-2deg)}.daimyo-selection-header>p{color:var(--cinnabar-hover);font-size:var(--measurement-9px);letter-spacing:.2em;font-weight:900}.daimyo-selection-header>h1{margin:var(--measurement-5px) 0;color:var(--ink-main);font:500 clamp(var(--measurement-1-8rem),3vw,var(--measurement-2-45rem)) var(--font-display)}.daimyo-selection-header>small{color:var(--ink-muted);font-size:var(--measurement-12px)}.daimyo-selection-grid{gap:clamp(var(--measurement-12px),2vw,var(--measurement-24px));width:min(100%,var(--measurement-1180px));grid-template-columns:repeat(3,minmax(0,1fr));margin:0 auto;display:grid}.daimyo-choice-card{aspect-ratio:3/4.25;border:var(--measurement-1px) solid var(--ink-hairline);background:var(--paper-deep);min-width:0;box-shadow:0 var(--measurement-14px) var(--measurement-30px) var(--paper-shadow);cursor:pointer;text-align:left;transition:transform var(--measurement-180ms) ease,border-color var(--measurement-180ms) ease,box-shadow var(--measurement-180ms) ease;border-radius:0;padding:0;position:relative;overflow:hidden}.daimyo-choice-card:hover:not(:disabled){border-color:var(--ink-strong);transform:translateY(calc(-1 * var(--measurement-5px)))}.daimyo-choice-card.is-selected{border-color:var(--cinnabar);box-shadow:0 var(--measurement-18px) var(--measurement-36px) var(--paper-shadow),inset 0 0 0 var(--measurement-2px) var(--cinnabar-border)}.daimyo-choice-card>img{object-fit:cover;filter:saturate(.82)contrast(1.04);width:100%;height:100%;transition:transform var(--measurement-500ms) ease,filter var(--measurement-180ms) ease;position:absolute;inset:0}.daimyo-choice-card:hover>img,.daimyo-choice-card.is-selected>img{filter:saturate(.98)contrast(1.06);transform:scale(1.025)}.daimyo-card-shade{background:linear-gradient(#0000 30%,#3026191f 48%,#201911e6 76%,#18130efa 100%);position:absolute;inset:0}.daimyo-role{left:var(--measurement-14px);top:var(--measurement-14px);align-items:center;gap:var(--measurement-7px);padding:var(--measurement-6px) var(--measurement-10px);color:var(--ink-main);font-size:var(--measurement-9px);letter-spacing:.14em;box-shadow:0 var(--measurement-3px) var(--measurement-10px) #362b1b2e;background:#e1d1aee6;font-weight:900;display:flex;position:absolute}.daimyo-role>b{color:var(--cinnabar);font:700 var(--measurement-14px) var(--font-display)}.daimyo-card-copy{padding:var(--measurement-18px) var(--measurement-18px) var(--measurement-20px);color:var(--paper-bright);display:block;position:absolute;bottom:0;left:0;right:0}.daimyo-card-copy>small{color:#efe0becc;font-size:var(--measurement-9px);letter-spacing:.13em;text-transform:uppercase;font-weight:800;display:block}.daimyo-card-copy>strong{margin-top:var(--measurement-2px);color:#fff8e8;font:500 clamp(var(--measurement-1-8rem),2.5vw,var(--measurement-2-2rem)) var(--font-display);display:block}.daimyo-card-copy>em{margin-top:var(--measurement-5px);color:#fff8e8db;font:italic var(--measurement-11px) Georgia,serif;line-height:1.4;display:block}.daimyo-card-copy>i{height:var(--measurement-1px);margin:var(--measurement-10px) 0 var(--measurement-8px);background:#efe0be4d;display:block}.daimyo-card-copy>b{color:#efd18b;font-size:var(--measurement-13px);letter-spacing:.04em;display:block}.daimyo-card-copy>span{margin-top:var(--measurement-4px);color:#fff9eb;font-size:var(--measurement-11px);line-height:1.45;display:block}.daimyo-selected-seal{right:var(--measurement-14px);top:var(--measurement-14px);width:var(--measurement-36px);height:var(--measurement-36px);border:var(--measurement-2px) solid var(--cinnabar);color:var(--cinnabar);font:700 var(--measurement-18px) var(--font-display);background:#e1d1aee6;place-items:center;display:none;position:absolute;transform:rotate(7deg)}.daimyo-choice-card.is-selected .daimyo-selected-seal{display:grid}.daimyo-selection-footer{justify-content:space-between;align-items:center;gap:var(--measurement-20px);width:min(100%,var(--measurement-760px));margin:clamp(var(--measurement-20px),3vh,var(--measurement-32px)) auto 0;color:var(--ink-muted);font-size:var(--measurement-11px);display:flex}.daimyo-selection-footer>.btn-primary{width:auto;min-width:min(var(--measurement-280px),45vw);padding-inline:var(--measurement-30px);border-radius:0}@media (width<=820px){.daimyo-selection-grid{max-width:var(--measurement-520px);grid-template-columns:1fr}.daimyo-choice-card{aspect-ratio:4/3;min-height:var(--measurement-390px)}.daimyo-selection-footer{padding:var(--measurement-12px);background:var(--paper-panel);box-shadow:0 calc(-1 * var(--measurement-8px)) var(--measurement-20px) var(--paper-shadow);position:sticky;bottom:0}}@media (width<=520px){.daimyo-choice-card{aspect-ratio:3/4;min-height:0}.daimyo-selection-footer{display:grid}.daimyo-selection-footer>.btn-primary{width:100%}}.terrain-council-header{z-index:1;max-width:var(--measurement-720px);margin:auto auto var(--measurement-32px);text-align:center;position:relative}.terrain-council-seal{width:var(--measurement-55px);height:var(--measurement-55px);margin:0 auto var(--measurement-14px);padding:var(--measurement-4px);border:var(--measurement-2px) solid var(--cinnabar);color:var(--cinnabar);font-family:var(--font-display);font-size:var(--measurement-24px);box-shadow:inset 0 0 0 var(--measurement-1px) var(--cinnabar-border);place-items:center;line-height:1;display:grid;transform:rotate(-3deg)}.terrain-council-header>p{margin-bottom:var(--measurement-5px);color:var(--cinnabar-hover);font-family:var(--font-readable);font-size:var(--measurement-9px);letter-spacing:.2em;font-weight:900}.terrain-council-header>h1{margin-bottom:var(--measurement-8px);color:var(--ink-main);font-family:var(--font-display);font-size:clamp(var(--measurement-1-8rem), 3vw, var(--measurement-2-45rem));font-weight:550}.terrain-council-header>span:last-child{color:var(--ink-muted);font-family:var(--font-readable);font-size:var(--measurement-12px);line-height:1.55}.terrain-choice-grid{z-index:1;gap:clamp(var(--measurement-12px), 2vw, var(--measurement-24px));width:min(100%, var(--measurement-1180px));grid-template-columns:repeat(3,minmax(0,1fr));margin:0 auto;display:grid;position:relative}.terrain-choice-card{border:var(--measurement-1px) solid var(--ink-hairline);background:var(--paper-panel);min-width:0;color:var(--ink-main);box-shadow:0 var(--measurement-14px) var(--measurement-32px) var(--paper-shadow), inset 0 0 var(--measurement-28px) var(--paper-inner-shadow);cursor:pointer;font:inherit;text-align:left;transition:border-color var(--measurement-180ms) ease, transform var(--measurement-180ms) ease, box-shadow var(--measurement-180ms) ease;border-radius:0;padding:0;overflow:hidden}.terrain-choice-card:hover:not(:disabled){border-color:var(--cinnabar-border);transform:translateY(calc(-1 * var(--measurement-4px)))}.terrain-choice-card.is-selected{border-color:var(--cinnabar);box-shadow:0 var(--measurement-18px) var(--measurement-38px) var(--paper-shadow), inset 0 0 0 var(--measurement-2px) var(--cinnabar-border), inset 0 0 var(--measurement-28px) var(--cinnabar-wash)}.terrain-choice-card:disabled{cursor:default}.terrain-choice-card:disabled:not(.is-selected){opacity:.58;filter:saturate(.65)}.terrain-choice-card>header{justify-content:space-between;align-items:center;gap:var(--measurement-8px);min-height:var(--measurement-50px);padding:var(--measurement-12px) var(--measurement-15px);border-bottom:var(--measurement-1px) solid var(--ink-hairline);display:flex}.terrain-choice-card>header span{font-family:var(--font-readable);font-size:var(--measurement-8px);letter-spacing:.15em;font-weight:900}.terrain-choice-card>header b{color:var(--cinnabar-hover);font-family:var(--font-display);font-size:var(--measurement-10px);letter-spacing:.06em}.terrain-preview-frame{height:clamp(var(--measurement-210px), 27vh, var(--measurement-300px));padding:var(--measurement-12px);background:radial-gradient(circle, #ffffff29, transparent 68%), var(--paper-fiber-pattern)}.terrain-preview-svg{width:100%;height:100%;filter:drop-shadow(0 var(--measurement-5px) var(--measurement-5px) var(--paper-shadow));display:block}.terrain-preview-tile{stroke:var(--ink-hairline);stroke-width:.65px;vector-effect:non-scaling-stroke}.terrain-preview-svg text{fill:var(--paper-bright);stroke:var(--ink-strong);stroke-width:.5px;paint-order:stroke;font-family:var(--font-display);font-size:var(--measurement-6px);pointer-events:none;font-weight:900}.terrain-preview-svg .preview-capital{fill:var(--cinnabar);font-size:var(--measurement-7px)}.terrain-choice-card>footer{border-top:var(--measurement-1px) solid var(--ink-hairline);grid-template-columns:repeat(3,1fr);display:grid}.terrain-choice-card>footer span{padding:var(--measurement-12px) var(--measurement-5px);border-right:var(--measurement-1px) solid var(--ink-hairline);color:var(--ink-muted);font-family:var(--font-readable);font-size:var(--measurement-8px);text-align:center}.terrain-choice-card>footer span:last-child{border-right:0}.terrain-choice-card>footer b{margin-bottom:var(--measurement-2px);color:var(--ink-main);font-size:var(--measurement-13px);display:block}.terrain-council-footer{z-index:1;grid-template-columns:minmax(0, 1fr) minmax(var(--measurement-220px), var(--measurement-320px));align-items:center;gap:var(--measurement-20px);width:min(100%, var(--measurement-760px));margin:var(--measurement-32px) auto auto;padding:var(--measurement-20px) var(--measurement-12px) 0;border-top:var(--measurement-3px) double var(--ink-faint);display:grid;position:relative}.council-status{align-items:center;gap:var(--measurement-10px);min-width:0;display:flex}.council-status>b{flex:0 0 var(--measurement-36px);height:var(--measurement-36px);border:var(--measurement-1px) solid var(--ink-faint);color:var(--ink-muted);font-family:var(--font-display);place-items:center;display:grid}.council-status.is-ready>b{border-color:var(--cinnabar);color:var(--cinnabar);transform:rotate(-4deg)}.council-status span,.council-status strong,.council-status small{display:block}.council-status strong{color:var(--ink-main);font-family:var(--font-readable);font-size:var(--measurement-11px)}.council-status small{margin-top:var(--measurement-2px);color:var(--ink-muted);font-size:var(--measurement-8px)}.terrain-confirm-button{margin:0}@media (width<=760px){.terrain-selection-screen{padding:var(--measurement-32px) var(--measurement-12px) var(--measurement-48px)}.terrain-council-header{margin-bottom:var(--measurement-24px)}.terrain-choice-grid{grid-template-columns:1fr}.terrain-preview-frame{height:var(--measurement-220px)}.terrain-council-footer{margin-top:var(--measurement-24px);grid-template-columns:1fr;padding-inline:0}}.fate-council{color:var(--ink-main);font-family:var(--font-readable)}.fate-council-header{margin-top:0}.fate-offering-grid{z-index:1;grid-template-columns:repeat(5, minmax(var(--measurement-154px), var(--measurement-210px)));justify-content:center;gap:clamp(var(--measurement-9px), 1.5vw, var(--measurement-18px));width:100%;max-width:var(--measurement-1180px);margin:0 auto;display:grid;position:relative}.fate-offering{border:var(--measurement-1px) solid var(--ink-hairline);background:var(--paper-panel);min-width:0;min-height:0;color:var(--ink-main);box-shadow:0 var(--measurement-12px) var(--measurement-28px) var(--paper-shadow), inset 0 0 var(--measurement-24px) var(--paper-inner-shadow);cursor:pointer;font:inherit;text-align:left;transition:border-color var(--measurement-180ms) ease, transform var(--measurement-180ms) ease, box-shadow var(--measurement-180ms) ease;border-radius:0;padding:0;position:relative;overflow:hidden}.fate-offering:hover:not(:disabled){border-color:var(--cinnabar-border);transform:translateY(calc(-1 * var(--measurement-4px)))}.fate-offering.is-selected{border-color:var(--cinnabar);box-shadow:0 var(--measurement-16px) var(--measurement-34px) var(--paper-shadow), inset 0 0 0 var(--measurement-2px) var(--cinnabar-border);transform:translateY(calc(-1 * var(--measurement-4px)))}.fate-offering:disabled{cursor:default}.fate-offering:disabled:not(.is-selected){opacity:.54;filter:saturate(.62)}.fate-offering>header{justify-content:space-between;align-items:center;gap:var(--measurement-6px);min-height:var(--measurement-46px);padding:var(--measurement-10px) var(--measurement-12px);border-bottom:var(--measurement-1px) solid var(--ink-hairline);background:var(--paper-control);display:flex}.fate-offering>header span{color:var(--ink-main);font-size:var(--measurement-7px);letter-spacing:.14em;font-weight:900}.fate-offering>header b{color:var(--cinnabar-hover);font-family:var(--font-display);font-size:var(--measurement-9px);letter-spacing:.04em}.fate-offering-art{aspect-ratio:4/5;background:var(--paper-deep);position:relative;overflow:hidden}.fate-offering-art:after{content:"";pointer-events:none;border:var(--measurement-8px) solid #e7d9b833;box-shadow:inset 0 0 var(--measurement-22px) var(--paper-shadow);position:absolute;inset:0}.fate-offering-art img{object-fit:cover;object-position:center;filter:saturate(.78)contrast(1.025);width:100%;height:100%;transition:filter var(--measurement-180ms) ease, transform var(--measurement-500ms) ease;display:block}.fate-offering:hover:not(:disabled) .fate-offering-art img,.fate-offering.is-selected .fate-offering-art img{filter:saturate(.92)contrast(1.04);transform:scale(1.018)}.fate-offering-copy{min-height:var(--measurement-96px);padding:var(--measurement-13px) var(--measurement-14px) var(--measurement-15px);border-top:var(--measurement-1px) solid var(--ink-hairline);background:var(--paper-panel);color:var(--ink-main);display:block;position:static}.fate-offering-copy strong,.fate-offering-copy em{display:block}.fate-offering-copy strong{color:var(--ink-main);font:600 var(--measurement-15px) var(--font-display)}.fate-offering-copy em{min-height:0;margin-top:var(--measurement-5px);color:var(--ink-muted);font-size:var(--measurement-9px);font-style:normal;line-height:1.45}.fate-council-footer{z-index:1;grid-template-columns:minmax(0, 1fr) minmax(var(--measurement-220px), var(--measurement-320px));align-items:center;gap:var(--measurement-20px);width:min(100%, var(--measurement-760px));margin:var(--measurement-30px) auto 0;padding:var(--measurement-20px) var(--measurement-12px) 0;border-top:var(--measurement-3px) double var(--ink-faint);display:grid;position:relative}.fate-council-footer .fate-confirm-button{border:var(--measurement-1px) solid var(--cinnabar-border);border-radius:var(--measurement-2px);background:var(--cinnabar);width:100%;min-width:0;color:var(--paper-bright);box-shadow:none;margin:0}.fate-council-footer .fate-confirm-button:hover:not(:disabled){background:var(--cinnabar-hover)}.player-fate-tokens{align-self:flex-start;align-items:center;gap:var(--measurement-4px);margin-top:var(--measurement-2px);padding:var(--measurement-1px) var(--measurement-5px);border:var(--measurement-1px) solid var(--cinnabar-border);background:var(--cinnabar-wash);color:var(--cinnabar-hover);box-shadow:none;border-radius:0;display:inline-flex;position:static}.player-fate-tokens i{color:var(--cinnabar);font:normal 700 var(--measurement-10px) var(--font-display)}.player-fate-tokens b{color:var(--ink-main);font-size:var(--measurement-9px)}.fate-decision-backdrop{z-index:100;padding:var(--measurement-18px);background:var(--ink-overlay);-webkit-backdrop-filter:blur(var(--measurement-4px));backdrop-filter:blur(var(--measurement-4px));place-items:center;display:grid;position:fixed;inset:0}.fate-decision{width:min(var(--measurement-500px), 100%);padding:var(--measurement-42px) var(--measurement-34px) var(--measurement-30px);border:var(--measurement-1px) solid var(--ink-faint);background:linear-gradient(var(--paper-wash), var(--paper-wash)), var(--paper-fiber-pattern), var(--paper-panel);color:var(--ink-main);box-shadow:0 var(--measurement-20px) var(--measurement-55px) var(--paper-shadow), inset 0 0 0 var(--measurement-8px) #9d3f2f09, inset 0 0 var(--measurement-34px) var(--paper-inner-shadow);text-align:center;border-radius:0;position:relative}.fate-decision:before{content:"";inset:var(--measurement-8px);border:var(--measurement-1px) solid var(--ink-hairline);pointer-events:none;position:absolute}.fate-decision-crest{left:50%;top:calc(-1 * var(--measurement-28px));width:var(--measurement-55px);height:var(--measurement-55px);border:var(--measurement-2px) solid var(--cinnabar);background:var(--paper-panel-solid);color:var(--cinnabar);box-shadow:0 0 0 var(--measurement-6px) #d4c096d1;border-radius:0;place-items:center;display:grid;position:absolute;transform:translate(-50%)rotate(-3deg)}.fate-decision-crest span{color:var(--cinnabar);font:700 var(--measurement-24px) var(--font-display)}.fate-decision>small{color:var(--cinnabar-hover);font-size:var(--measurement-8px);letter-spacing:.2em;font-weight:900}.fate-decision h2{margin:var(--measurement-6px) 0;color:var(--ink-main);font:550 var(--measurement-1-8rem) var(--font-display)}.fate-roll-ledger{align-items:center;gap:var(--measurement-10px);margin:var(--measurement-20px) 0 var(--measurement-14px);padding:var(--measurement-14px);border-top:var(--measurement-3px) double var(--ink-faint);border-bottom:var(--measurement-3px) double var(--ink-faint);background:var(--paper-record);grid-template-columns:1fr auto 1fr auto 1fr;display:grid}.fate-roll-ledger>span{gap:var(--measurement-3px);display:grid}.fate-roll-ledger small{color:var(--ink-muted);font-size:var(--measurement-7px);letter-spacing:.12em;font-weight:900}.fate-roll-ledger b{color:var(--ink-main);font:600 var(--measurement-23px) var(--font-display)}.fate-roll-ledger i{color:var(--ink-faint);font-size:var(--measurement-9px);font-style:normal}.fate-verdict{padding-bottom:var(--measurement-3px);border-bottom:var(--measurement-2px) solid currentColor;color:var(--ink-secondary);font:650 var(--measurement-14px) var(--font-display);display:inline-block}.fate-verdict.is-hit{color:var(--cinnabar-hover)}.fate-verdict.is-miss{color:var(--moss-deep)}.fate-decision p{max-width:var(--measurement-340px);margin:var(--measurement-17px) auto;color:var(--ink-muted);font-size:var(--measurement-11px);line-height:1.55}.fate-decision p b{color:var(--ink-main)}.fate-decision-actions{gap:var(--measurement-10px);margin-top:var(--measurement-22px);grid-template-columns:1fr 1.2fr;display:grid}.fate-decision-actions button{height:var(--measurement-46px);border-radius:var(--measurement-2px);font-size:var(--measurement-9px);letter-spacing:.06em;cursor:pointer;font-weight:850}.fate-keep{border:var(--measurement-1px) solid var(--ink-strong);color:var(--ink-main);background:0 0}.fate-keep:hover{background:var(--paper-control)}.fate-reroll{border:var(--measurement-1px) solid var(--cinnabar-border);background:var(--cinnabar);color:var(--paper-bright)}.fate-reroll:hover{background:var(--cinnabar-hover)}.fate-reroll span{margin-right:var(--measurement-4px);color:var(--paper-bright)}.fate-decision{background-color:var(--paper-panel-solid);background-image:radial-gradient(circle at 50% 12%, #fff6da5c, transparent 38%), linear-gradient(90deg, #523d1f0d, transparent 8%, transparent 92%, #523d1f0d), var(--paper-fiber-pattern);box-shadow:0 var(--measurement-20px) var(--measurement-55px) var(--paper-shadow), inset 0 0 0 var(--measurement-8px) #9d3f2f06, inset 0 0 var(--measurement-45px) #533e201a}.fate-outcome{justify-content:center;align-items:center;gap:var(--measurement-13px);width:min(100%, var(--measurement-260px));margin:var(--measurement-20px) auto var(--measurement-14px);padding:var(--measurement-12px) var(--measurement-16px);border-top:var(--measurement-3px) double var(--ink-faint);border-bottom:var(--measurement-3px) double var(--ink-faint);text-align:left;background:#efe0be57;display:flex}.fate-outcome-mark{width:var(--measurement-42px);height:var(--measurement-42px);border:var(--measurement-2px) solid currentColor;color:inherit;font:700 var(--measurement-19px) var(--font-display);place-items:center;display:grid;transform:rotate(-3deg)}.fate-outcome>span:last-child,.fate-outcome small,.fate-outcome strong{display:block}.fate-outcome small{color:var(--ink-muted);font-size:var(--measurement-7px);letter-spacing:.16em;font-weight:900}.fate-outcome strong{margin-top:var(--measurement-2px);color:inherit;font:700 var(--measurement-20px) var(--font-display);letter-spacing:.08em}.fate-outcome.is-hit{color:var(--cinnabar-hover)}.fate-outcome.is-miss{color:var(--moss-deep)}.fate-chance{width:min(100%, var(--measurement-340px));padding:var(--measurement-4px) 0 var(--measurement-8px);margin:0 auto}.fate-chance>span{margin-bottom:var(--measurement-6px);justify-content:space-between;align-items:baseline;display:flex}.fate-chance small{color:var(--ink-muted);font-size:var(--measurement-7px);letter-spacing:.16em;font-weight:900}.fate-chance strong{color:var(--ink-main);font:650 var(--measurement-17px) var(--font-display)}.fate-chance>i{height:var(--measurement-5px);border:var(--measurement-1px) solid var(--ink-hairline);background:#3e392d1a;display:block;overflow:hidden}.fate-chance>i>b{width:var(--hit-chance);background:linear-gradient(90deg, var(--moss), var(--ochre));height:100%;display:block}.fate-paper-flourish{justify-content:center;align-items:center;gap:var(--measurement-7px);margin-top:var(--measurement-20px);color:var(--cinnabar-border);display:flex}.fate-paper-flourish i{width:var(--measurement-55px);height:var(--measurement-1px);background:linear-gradient(90deg,#0000,currentColor)}.fate-paper-flourish i:last-child{background:linear-gradient(90deg,currentColor,#0000)}.fate-paper-flourish b{width:var(--measurement-7px);height:var(--measurement-7px);border:var(--measurement-1px) solid currentColor;transform:rotate(45deg)}@media (width<=1000px){.fate-offering-grid{grid-template-columns:repeat(5, var(--measurement-220px));width:100%;padding:var(--measurement-8px) var(--measurement-5px) var(--measurement-22px);scroll-snap-type:x proximity;overflow-x:auto}.fate-offering{scroll-snap-align:center}}@media (width<=560px){.fate-council-footer,.fate-decision-actions{grid-template-columns:1fr}.fate-council-footer{padding-inline:0}.fate-decision{padding-inline:var(--measurement-20px)}.fate-roll-ledger{gap:var(--measurement-6px);padding-inline:var(--measurement-8px)}}.lobby-box{padding:var(--measurement-38px) var(--measurement-46px);background:var(--paper-panel);color:var(--ink-main);box-shadow:0 var(--measurement-18px) var(--measurement-40px) var(--paper-shadow), inset 0 0 0 var(--measurement-1px) var(--ink-hairline), inset 0 0 var(--measurement-45px) var(--paper-inner-shadow);border:0;border-radius:0}.lobby-box .divider{margin:var(--measurement-20px) 0}.lobby-box .lobby-intro{margin-bottom:var(--measurement-22px)}.lobby-box:before,.lobby-box:after{width:var(--measurement-90px);height:var(--measurement-1px);background:var(--ink-strong);border:0;transform:none}.lobby-box:before{top:var(--measurement-17px);left:var(--measurement-17px)}.lobby-box:after{right:var(--measurement-17px);bottom:var(--measurement-17px)}.lobby-mon{border:var(--measurement-2px) solid var(--cinnabar-border);border-radius:var(--measurement-3px);background:var(--cinnabar);color:var(--paper-bright);box-shadow:inset 0 0 var(--measurement-8px) var(--cinnabar-seal-shadow);transform:rotate(-2deg)}.lobby-eyebrow,.game-title span{color:var(--cinnabar)}.game-title{color:var(--ink-main);letter-spacing:.02em}.lobby-intro,.field-label,.code-label,.waiting-animation{color:var(--ink-muted)}.clan-choice,.input,.code-display{border-color:var(--ink-hairline);background:var(--paper-control);color:var(--ink-main);box-shadow:inset 0 0 var(--measurement-14px) var(--paper-control-shadow);border-radius:0}.clan-choice:hover,.clan-choice.is-selected{border-color:var(--cinnabar-border);background:var(--cinnabar-wash);transform:translateY(-var(--measurement-1px)) rotate(-.3deg)}.clan-choice.is-selected:after{content:"印";margin-top:var(--measurement-6px);color:var(--cinnabar);font-size:var(--measurement-11px);display:block}.btn-primary,.btn-secondary,.header-control,.end-turn-button,.clan-ability-button,.surrender-button{border-radius:var(--measurement-2px);box-shadow:none}.btn-primary{border-color:var(--cinnabar-border);background:var(--cinnabar);color:var(--paper-bright)}.btn-primary:hover:not(:disabled){background:var(--cinnabar-hover)}.btn-secondary{border-color:var(--ink-hairline);color:var(--ink-main);background:0 0}.divider{background:linear-gradient(90deg, transparent, var(--ink-faint), transparent)}.battle-header{background:var(--paper-panel);border-bottom:var(--measurement-2px) solid var(--ink-strong);box-shadow:0 var(--measurement-5px) var(--measurement-14px) var(--paper-shadow);color:var(--ink-main)}.battle-mark-kanji,.command-card-art{border:var(--measurement-1px) solid var(--cinnabar-border);border-radius:var(--measurement-2px);background:var(--cinnabar);color:var(--paper-bright);transform:rotate(-1.5deg)}.battle-mark,.battle-mark small,.player-badge-label,.player-badge-clan,.player-badge-vp,.turn-indicator{color:var(--ink-main)}.player-badge,.turn-indicator{border:0;border-left:var(--measurement-2px) solid var(--ink-faint);border-radius:0;background:0 0!important}.player-badge.active{border-color:var(--cinnabar);background:var(--cinnabar-wash)!important}.turn-indicator.my-turn,.turn-indicator.their-turn{color:var(--ink-main)}.turn-indicator.my-turn>b,.turn-indicator.their-turn>b{border-radius:var(--measurement-2px);background:var(--cinnabar);color:var(--paper-bright);box-shadow:none}.battle-body{background:var(--paper-battlefield)}.board-area{background:linear-gradient(var(--paper-board-top), var(--paper-board-bottom)), var(--paper-fiber-pattern);box-shadow:inset 0 0 var(--measurement-70px) var(--paper-board-shadow)}.hex-board-svg{filter:drop-shadow(0 var(--measurement-12px) var(--measurement-12px) var(--ink-board-shadow))}.hex-tile{stroke:var(--ink-board-line);stroke-width:1.15px}.hex-terrain-plains{fill:var(--terrain-plains)}.hex-terrain-mountain{fill:var(--terrain-mountain)}.hex-terrain-water{fill:var(--terrain-water)}.hex-terrain-shrine{fill:var(--terrain-shrine)}.hex-terrain-bridge{fill:var(--terrain-bridge)}.hex-board-svg .hex-terrain-plains{fill:url(#terrain-plains-ink)}.hex-board-svg .hex-terrain-mountain{fill:url(#terrain-mountain-ink)}.hex-board-svg .hex-terrain-water{fill:url(#terrain-water-ink)}.hex-board-svg .hex-terrain-shrine{fill:url(#terrain-shrine-ink)}.map-plains-base{fill:var(--terrain-plains)}.map-mountain-base{fill:var(--terrain-mountain)}.map-water-base{fill:var(--terrain-water)}.map-shrine-base{fill:var(--terrain-shrine)}.map-plains-stroke,.map-mountain-stroke,.map-water-stroke,.map-shrine-ring,.map-shrine-stroke{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.map-plains-stroke{stroke:var(--map-plains-ink);stroke-width:.75px}.map-mountain-stroke{stroke:var(--map-mountain-ink);stroke-width:1.15px}.map-water-stroke{stroke:var(--map-water-ink);stroke-width:1px}.map-shrine-ring,.map-shrine-stroke{stroke:var(--map-shrine-ink);stroke-width:.9px}.map-plains-stroke.is-faint,.map-mountain-stroke.is-faint,.map-water-stroke.is-faint{opacity:.55}.hex-cell:hover .hex-tile{filter:brightness(1.04)saturate(.92)}.hex-move-highlight,.hex-interaction-outline.is-move{stroke:var(--indigo-deep)}.hex-attackable-highlight,.hex-attack-highlight,.hex-attack-reticle{stroke:var(--cinnabar)}.hex-tile.hex-capital,.terrain-legend-hex .hex-capital{filter:none;fill:var(--terrain-capital)!important;stroke:var(--ink-main)!important}.capital-wall{stroke:var(--paper-bright)}.unit-square{filter:drop-shadow(var(--measurement-2px) var(--measurement-4px) var(--measurement-2px) var(--ink-token-shadow))}.unit-inset{stroke:var(--token-inset-line)}.unit-material-grain{fill:url(#koma-wood-grain);opacity:.68;pointer-events:none}.koma-grain-line,.koma-grain-knot{fill:none;stroke:var(--koma-grain-ink);stroke-width:.65px;pointer-events:none}.koma-grain-line.is-faint{opacity:.55}.koma-grain-knot{fill:var(--koma-grain-knot)}.unit-selected .unit-square,.unit-selection-frame{stroke:var(--cinnabar)}.unit-kanji-legend,.unit-lore-card,.battle-drawer,.connection-pause-card,.vp-breakdown,.modal-box{border-color:var(--ink-faint);background:var(--paper-panel);color:var(--ink-main);box-shadow:var(--shadow-surface);border-radius:0}.connection-pause-card h2,.connection-pause-card p,.connection-eyebrow,.vp-breakdown h2,.vp-breakdown h3,.vp-breakdown p,.battle-drawer h2{color:var(--ink-main)}.reconnect-countdown,.replacement-code strong{color:var(--cinnabar)}.kanji-legend-title,.kanji-legend-item,.unit-lore-card>b,.unit-lore-card p,.unit-lore-card em{color:var(--ink-main)}.kanji-legend-item{border-color:var(--ink-hairline)}.kanji-legend-item:hover,.kanji-legend-item.is-selected{background:var(--cinnabar-wash)}.side-panel.command-rail{background:var(--paper-panel-solid);border-left:var(--measurement-2px) solid var(--ink-strong);box-shadow:-var(--measurement-7px) 0 var(--measurement-18px) var(--paper-shadow)}.command-hand>header{border-color:var(--ink-faint)}.command-hand>header>span,.command-hand>header div b{color:var(--cinnabar)}.daimyo-power-card{border:0;border-left:var(--measurement-2px) solid var(--ochre);background:var(--paper-card);color:var(--ink-main);box-shadow:inset 0 0 var(--measurement-18px) var(--paper-card-shadow);border-radius:0}.daimyo-power-card.is-rival{border-left-color:var(--cinnabar);background:linear-gradient(var(--cinnabar-wash), var(--cinnabar-wash)), var(--paper-card)}.daimyo-power-card>header>span{color:var(--ochre)}.daimyo-power-card.is-rival>header>span{color:var(--cinnabar)}.daimyo-power-card>header small{color:var(--ink-muted)}.daimyo-power-card>header strong,.daimyo-power-card>p{color:var(--ink-main)}.daimyo-power-card>header i{background:var(--cinnabar-wash);color:var(--cinnabar-hover)}.daimyo-power-card>em{color:var(--ochre);font-weight:700}.command-card{border:0;border-left:var(--measurement-2px) solid var(--ink-faint);background:var(--paper-card);color:var(--ink-main);box-shadow:inset 0 0 var(--measurement-22px) var(--paper-card-shadow);border-radius:0}.command-card:nth-child(2n){transform:rotate(.25deg)}.command-card:hover:not(:disabled){border-color:var(--cinnabar);background:var(--paper-card-hover)}.command-card.is-armed{border-color:var(--cinnabar);background:var(--cinnabar-wash);box-shadow:inset 0 0 0 var(--measurement-1px) var(--cinnabar-border)}.command-card.is-armed:after{content:"押";right:var(--measurement-13px);top:var(--measurement-13px);width:var(--measurement-28px);height:var(--measurement-28px);border:var(--measurement-2px) solid var(--cinnabar);color:var(--cinnabar);font-size:var(--measurement-14px);place-items:center;display:grid;position:absolute;transform:rotate(7deg)}.command-card>strong,.command-card>em,.command-card>small{color:var(--ink-main)}.command-card>em{color:var(--ink-muted)}.command-card>i{background:var(--ink-hairline)}.command-card.is-used:after{content:"済";right:var(--measurement-18px);color:var(--cinnabar);font-size:var(--measurement-34px);position:absolute;top:50%;transform:translateY(-50%)rotate(-9deg)}.capital-warning{border-color:var(--cinnabar-border);background:var(--paper-panel);color:var(--ink-main);box-shadow:0 var(--measurement-8px) var(--measurement-22px) var(--paper-shadow);border-radius:0}.capital-warning>b{border-radius:var(--measurement-2px);color:var(--paper-bright);transform:rotate(-3deg);background:var(--cinnabar)!important}.command-footer,.command-actions{border-color:var(--ink-hairline);background:var(--paper-command-footer);color:var(--ink-main)}.action-stones i{border-color:var(--ink-faint);background:var(--moss-deep);color:var(--paper-bright)}.command-actions.is-enemy .action-stones i:not(.is-spent){border-color:var(--cinnabar-border);background:var(--cinnabar);color:var(--paper-bright)}.end-turn-button{border-color:var(--ink-strong);color:var(--ink-main);background:0 0}.end-turn-button:not(:disabled):hover{border-color:var(--cinnabar);background:var(--cinnabar-wash)}.board-zoom-controls{border-color:var(--ink-faint);background:var(--paper-panel);box-shadow:0 var(--measurement-5px) var(--measurement-14px) var(--paper-shadow);border-radius:0}.board-zoom-controls button,.board-zoom-controls .zoom-level{color:var(--ink-main)}.deployment-panel{background:var(--paper-panel);border-right:var(--measurement-2px) solid var(--ink-strong);color:var(--ink-main)}.deployment-panel h2,.deployment-hint,.army-tray-item,.army-tray-count{color:var(--ink-main)}.army-tray-item{border-color:var(--ink-hairline);background:var(--paper-deployment-unit);border-radius:0}.army-tray-item.armed{border-color:var(--cinnabar);background:var(--cinnabar-wash)}.army-tray-icon{border-radius:var(--measurement-2px);background:var(--ink-main);color:var(--paper-bright)}.drawer-backdrop,.modal-overlay,.connection-pause{background:var(--ink-overlay)}.event-log-item,.vp-clan-column,.vp-current-control,.vp-history li{background:var(--paper-record);color:var(--ink-main)}.battle-drawer{border-left:var(--measurement-3px) double var(--ink-strong);background-image:var(--paper-fiber-pattern)}.battle-drawer header{border-bottom:var(--measurement-1px) solid var(--ink-faint)}.battle-drawer h2:before{content:"軍記";margin-bottom:var(--measurement-4px);color:var(--cinnabar);font-size:var(--measurement-11px);letter-spacing:.22em;display:block}.drawer-content .event-log{gap:var(--measurement-3px)}.drawer-content .event-log-item{border:0;border-bottom:var(--measurement-1px) solid var(--ink-hairline);background:0 0;position:relative}.drawer-content .event-log-item:before{content:"";left:0;top:var(--measurement-8px);bottom:var(--measurement-8px);width:var(--measurement-3px);opacity:.62;background:currentColor;position:absolute}.drawer-content .event-unit_moved{color:var(--moss-deep)}.drawer-content .event-attack_resolved,.drawer-content .event-unit_wounded,.drawer-content .event-unit_died,.drawer-content .event-game_over{color:var(--cinnabar-hover)}.drawer-content .event-unit_retreated{color:var(--indigo-deep)}.drawer-content .event-card_played,.drawer-content .event-special_ability_used{color:var(--ochre)}.turn-log-separator span{height:var(--measurement-2px);background:linear-gradient(90deg, transparent, var(--ink-strong), transparent)}.turn-log-separator b{color:var(--ink-main);letter-spacing:.18em;font-weight:500}.battle-screen,.deployment-screen{color:var(--ink-main);font-family:var(--font-readable)}.battle-screen{background-image:linear-gradient(var(--paper-wash), var(--paper-wash)), var(--scroll-background-image), var(--paper-fiber-pattern);background-position:50%,50%,50%;background-size:cover,cover,auto}.battle-body{background-image:linear-gradient(var(--paper-board-top), var(--paper-board-bottom)), var(--scroll-background-image), var(--paper-fiber-pattern);background-position:50%;background-size:cover,cover,auto;position:relative}.battle-body>.board-area,.battle-body>.command-rail{z-index:2;position:relative}.board-area{background:radial-gradient(circle at 50% 42%, var(--paper-board-top), transparent 68%), linear-gradient(var(--ink-wash-soft), transparent 24%, transparent 76%, var(--ink-wash-soft)), var(--paper-fiber-pattern)}.battle-header,.side-panel.command-rail,.unit-kanji-legend,.battle-drawer,.connection-pause-card,.vp-breakdown{color:var(--ink-main)}.battle-mark,.players-score,.command-hand>header,.command-actions,.end-turn-button,.surrender-button,.header-control{font-family:var(--font-readable)}.battle-mark-kanji,.turn-indicator>b,.command-hand>header>span,.command-card-art,.kanji-legend-title,.kanji-legend-item>b,.capital-warning>b{font-family:var(--font-display)}.player-badge-label,.player-badge-vp,.turn-indicator,.command-actions>span,.command-card>small,.surrender-button,.header-control{color:var(--ink-main);text-shadow:none}.player-badge-label{font-size:var(--measurement-10px);letter-spacing:.08em;font-weight:800}.player-badge-clan{color:var(--ink-main);font-family:var(--font-display);font-size:var(--measurement-14px);font-weight:700}.player-badge-vp{font-size:var(--measurement-10px);font-weight:700}.turn-indicator{font-size:var(--measurement-12px);font-weight:850;color:var(--ink-main)!important}.header-control{align-items:center;gap:var(--measurement-8px);min-height:var(--measurement-40px);padding:var(--measurement-6px) var(--measurement-14px) var(--measurement-6px) var(--measurement-8px);border:var(--measurement-1px) solid var(--ink-strong);background:var(--paper-control);color:var(--ink-main);font-size:var(--measurement-10px);letter-spacing:.1em;font-weight:850;display:inline-flex;position:relative}.header-control:before{content:"記";width:var(--measurement-28px);height:var(--measurement-28px);background:var(--cinnabar);color:var(--paper-bright);font-family:var(--font-display);font-size:var(--measurement-16px);place-items:center;display:grid;transform:rotate(-3deg)}.header-control:hover{border-color:var(--cinnabar);background:var(--cinnabar-wash);color:var(--ink-main)}.surrender-button{justify-content:center;align-items:center;gap:var(--measurement-8px);min-height:var(--measurement-40px);padding:var(--measurement-8px) var(--measurement-12px);border:var(--measurement-1px) solid var(--cinnabar-border);background:var(--paper-control);color:var(--cinnabar-hover);font-size:var(--measurement-10px);letter-spacing:.1em;font-weight:850;display:flex;position:relative}.surrender-button:before{content:"降";width:var(--measurement-24px);height:var(--measurement-24px);border:var(--measurement-2px) solid var(--cinnabar);color:var(--cinnabar);font-family:var(--font-display);font-size:var(--measurement-14px);place-items:center;display:grid;transform:rotate(4deg)}.surrender-button:hover,.surrender-button.is-armed{background:var(--cinnabar-wash);color:var(--cinnabar-hover)}.unit-kanji-legend{width:var(--measurement-148px);border:0;border-left:var(--measurement-3px) double var(--ink-strong);background:linear-gradient(var(--paper-panel), var(--paper-panel)), var(--paper-fiber-pattern)}.kanji-legend-title{color:var(--cinnabar-hover);font-size:var(--measurement-24px);font-weight:800}.kanji-legend-title small{color:var(--ink-main);font-family:var(--font-readable);font-size:var(--measurement-9px);font-weight:850}.kanji-legend-item{min-height:var(--measurement-40px);color:var(--ink-main);position:relative}.kanji-legend-item>b{color:var(--ink-main);font-size:var(--measurement-28px);text-shadow:0 var(--measurement-1px) 0 var(--paper-bright);font-weight:850}.kanji-legend-item>small{color:var(--ink-main);font-family:var(--font-readable);font-size:var(--measurement-11px);letter-spacing:.02em;font-weight:750}.kanji-legend-item.is-selected:after{content:"印";right:var(--measurement-4px);color:var(--cinnabar);font-family:var(--font-display);font-size:var(--measurement-14px);position:absolute;top:50%;transform:translateY(-50%)rotate(-7deg)}.terrain-legend-item>small{color:var(--ink-main)}.command-card>strong{color:var(--ink-main);font-size:var(--measurement-14px);font-weight:800}.command-card>em{color:var(--ink-muted);font-family:var(--font-display);font-size:var(--measurement-11px)}.command-card>small{font-size:var(--measurement-10px);font-weight:750;line-height:1.45}.command-card.is-armed:after,.command-card.is-used:after{border:var(--measurement-2px) solid currentColor;border-radius:var(--measurement-2px);background:var(--paper-card-hover);opacity:.92;place-items:center;line-height:1;display:grid}.command-card.is-used:after{width:var(--measurement-40px);height:var(--measurement-40px);right:var(--measurement-14px)}.turn-change-banner{border-color:var(--ink-strong);background:var(--paper-bright);color:var(--ink-main);border-radius:0}.turn-change-banner>b{border-radius:var(--measurement-2px);background:var(--cinnabar);color:var(--paper-bright)}.turn-change-banner>span{color:var(--ink-main);font-family:var(--font-readable);font-size:var(--measurement-12px);letter-spacing:.12em;font-weight:900}.battle-whisper{width:max-content;max-width:calc(100% - var(--measurement-64px));padding:var(--measurement-8px) var(--measurement-14px);border:var(--measurement-1px) solid var(--ink-hairline);background:var(--paper-panel);color:var(--ink-main);font-family:var(--font-readable);font-size:var(--measurement-11px);text-overflow:ellipsis;text-shadow:none;white-space:nowrap;font-weight:700;line-height:1.2;overflow:hidden}.battle-whisper strong,.battle-whisper b{color:var(--cinnabar-hover);font-weight:900}.battle-drawer,.battle-drawer h2,.battle-drawer h2:before,.drawer-close,.event-log-empty{color:var(--ink-main)}.drawer-content .event-log-item{--chronicle-accent:var(--ink-secondary);color:var(--ink-main);font-family:var(--font-readable);font-size:var(--measurement-12px);align-items:center;font-weight:650}.drawer-content .event-log-item:before{background:var(--chronicle-accent);opacity:.9}.drawer-content .event-log-item time{color:var(--ink-secondary);font-family:var(--font-readable);font-size:var(--measurement-9px);align-self:center;font-weight:800;line-height:1}.drawer-content .event-log-item span,.drawer-content .event-log-item strong,.drawer-content .event-log-item b{color:var(--ink-main)}.drawer-content .event-unit_moved{--chronicle-accent:var(--moss-deep);color:var(--ink-main)}.drawer-content .event-attack_resolved,.drawer-content .event-unit_wounded,.drawer-content .event-unit_died,.drawer-content .event-game_over{--chronicle-accent:var(--cinnabar-hover);color:var(--ink-main)}.drawer-content .event-unit_retreated{--chronicle-accent:var(--indigo-deep);color:var(--ink-main)}.drawer-content .event-card_played,.drawer-content .event-special_ability_used{--chronicle-accent:var(--ochre);color:var(--ink-main)}.capital-warning{left:auto;right:var(--measurement-16px);top:var(--measurement-110px);width:var(--measurement-220px);min-width:0;padding:var(--measurement-10px) var(--measurement-12px) var(--measurement-10px) var(--measurement-10px);animation:capital-side-alert var(--measurement-350ms) ease-out both;align-items:flex-start;transform:none}.turn-info{flex:1;min-width:0}.header-event{min-width:0;max-width:var(--measurement-360px);padding-left:var(--measurement-14px);border-left:var(--measurement-1px) solid var(--ink-faint);color:var(--ink-secondary);font-family:var(--font-readable);font-size:var(--measurement-10px);text-overflow:ellipsis;white-space:nowrap;font-weight:700;line-height:1.2;overflow:hidden}.header-event b,.header-event strong{color:var(--cinnabar-hover);font-weight:900}.game-notice{right:var(--measurement-18px);bottom:var(--measurement-18px);z-index:120;align-items:center;gap:var(--measurement-10px);width:min(var(--measurement-390px), calc(100vw - var(--measurement-32px)));padding:var(--measurement-12px) var(--measurement-14px);border:var(--measurement-1px) solid var(--cinnabar-border);background:var(--paper-panel);color:var(--ink-main);box-shadow:0 var(--measurement-12px) var(--measurement-34px) var(--paper-shadow);font-family:var(--font-readable);animation:notice-arrive var(--measurement-180ms) ease-out both;grid-template-columns:auto minmax(0,1fr) auto;display:grid;position:fixed}.game-notice>b{width:var(--measurement-30px);height:var(--measurement-30px);background:var(--cinnabar);color:var(--paper-bright);place-items:center;font-family:Noto Serif JP,Yu Mincho,serif;display:grid}.game-notice>span{min-width:0;font-size:var(--measurement-12px);line-height:1.4}.game-notice>button{color:var(--ink-muted);cursor:pointer;font-size:var(--measurement-20px);background:0 0;border:0}.form-feedback,.deployment-privacy-note{margin-top:var(--measurement-9px);color:var(--ink-muted);font-family:var(--font-readable);font-size:var(--measurement-10px);line-height:1.4;display:block}.form-feedback.is-error{color:var(--cinnabar-hover);font-weight:800}.daimyo-crest{color:currentColor;pointer-events:none;display:block;overflow:visible}.unit-daimyo-crest{color:var(--paper-bright);filter:drop-shadow(0 var(--measurement-1px) var(--measurement-1px) var(--unit-mon-glow))}.unit-mon-ashigaru,.legend-mon-ashigaru{font-weight:600}.unit-mon-ashigaru{font-size:var(--measurement-17px)}.legend-mon-ashigaru{font-size:var(--measurement-22px)}.unit-mon-samurai,.legend-mon-samurai{font-weight:900}.unit-mon-samurai{font-size:var(--measurement-22px)}.legend-mon-samurai{font-size:var(--measurement-27px)}.unit-mon-cavalry{font-size:var(--measurement-20px)}.legend-mon-cavalry{font-size:var(--measurement-26px)}.unit-mon-archer{font-size:var(--measurement-19px)}.legend-mon-archer{font-size:var(--measurement-24px)}.unit-mon,.legend-mon{transform:none}.legend-mon{display:block}.unit-spent .unit-daimyo-crest{opacity:.5}.daimyo-crest .crest-ring{fill:none;stroke:currentColor;stroke-width:1.5px}.daimyo-crest .crest-mark{fill:currentColor;stroke:currentColor;stroke-width:.7px;stroke-linejoin:round}.daimyo-crest .crest-cutout{fill:none;stroke-width:1.2px}.drawer-content .event-log-item.is-your-banner{--chronicle-accent:#2f8b62;background:linear-gradient(90deg,#2f8b6229,#0000 58%)}.drawer-content .event-log-item.is-rival-banner{--chronicle-accent:#b5463c;background:linear-gradient(90deg,#b5463c29,#0000 58%)}.drawer-content .event-log-item.is-your-banner:before,.drawer-content .event-log-item.is-rival-banner:before{width:var(--measurement-5px);opacity:1}.command-log-heading{justify-content:space-between;align-items:center;gap:var(--measurement-12px);margin-bottom:var(--measurement-8px);padding:var(--measurement-10px) var(--measurement-12px);border-left:var(--measurement-5px) solid currentColor;font-family:var(--font-readable);list-style:none;display:flex}.command-log-heading small,.turn-log-separator b small{margin-top:var(--measurement-2px);color:var(--ink-muted);font-size:var(--measurement-7px);letter-spacing:.12em;display:block}.command-log-heading.is-your-command{color:#2f8b62;background:#2f8b6229}.command-log-heading.is-rival-command{color:#b5463c;background:#b5463c29}.turn-log-separator.is-your-command{color:#2f8b62}.turn-log-separator.is-rival-command{color:#b5463c}.turn-log-separator.is-your-command b{color:#2f8b62}.turn-log-separator.is-rival-command b{color:#b5463c}.turn-log-separator.is-your-command span,.turn-log-separator.is-rival-command span{background:linear-gradient(90deg,#0000,currentColor,#0000)}.vp-clan-column.is-mine{border-top:var(--measurement-3px) solid var(--cinnabar)}.vp-clan-column.is-rival{border-top:var(--measurement-3px) solid var(--ink-strong)}.vp-clan-column.is-mine>header span{color:var(--cinnabar-hover)}.input[aria-invalid=true]{border-color:var(--cinnabar)}.deployment-privacy-note{text-align:center}.mode-banner{align-items:center;gap:var(--measurement-12px);pointer-events:auto;display:flex}.mode-banner>button{padding:var(--measurement-3px) var(--measurement-8px);border:var(--measurement-1px) solid currentColor;color:inherit;cursor:pointer;font:inherit;font-size:var(--measurement-9px);background:0 0}.unavailable-mark{right:var(--measurement-8px);bottom:var(--measurement-7px);color:var(--ink-muted);font-size:var(--measurement-7px);letter-spacing:.08em;position:absolute}@keyframes notice-arrive{0%{opacity:0;transform:translateY(var(--measurement-8px))}to{opacity:1;transform:translateY(0)}}@media (width<=700px){.game-notice{right:var(--measurement-10px);bottom:calc(var(--measurement-10px) + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.game-notice{animation:none}}.capital-warning>b{flex:none}.capital-warning span{min-width:0;color:var(--ink-main);font-family:var(--font-readable);letter-spacing:0}.capital-warning strong{color:var(--ink-main);font-size:var(--measurement-11px);font-weight:850;line-height:1.25;display:block}.capital-warning small{margin-top:var(--measurement-4px);color:var(--cinnabar-hover);font-size:var(--measurement-10px);letter-spacing:.02em;opacity:1;font-weight:750;line-height:1.3}@keyframes capital-side-alert{0%{opacity:0;transform:translateX(var(--measurement-10px))}to{opacity:1;transform:translate(0)}}.player-badge{position:relative}.player-badge.active{padding-right:var(--measurement-64px)}.player-turn-seal{right:var(--measurement-8px);width:var(--measurement-40px);height:var(--measurement-40px);border:var(--measurement-2px) solid var(--cinnabar);color:var(--cinnabar);font-family:var(--font-display);animation:turn-seal-press var(--measurement-350ms) ease-out both;place-items:center;line-height:1;display:grid;position:absolute;top:50%;transform:translateY(-50%)rotate(-4deg)}.player-turn-seal b,.player-turn-seal small{display:block}.player-turn-seal b{font-size:var(--measurement-12px);letter-spacing:.02em}.player-turn-seal small{margin-top:var(--measurement-2px);font-family:var(--font-readable);font-size:var(--measurement-6px);letter-spacing:.08em;font-weight:900}.battle-screen.turn-mine .board-area{box-shadow:inset 0 calc(-1 * var(--measurement-32px)) var(--measurement-40px) var(--turn-friendly-board-wash), inset 0 0 var(--measurement-70px) var(--paper-board-shadow)}.battle-screen.turn-enemy .board-area{box-shadow:inset 0 var(--measurement-32px) var(--measurement-40px) var(--turn-enemy-board-wash), inset 0 0 var(--measurement-70px) var(--paper-board-shadow)}@keyframes turn-seal-press{0%{opacity:0;transform:translateY(-50%)rotate(-4deg)scale(1.28)}to{opacity:1;transform:translateY(-50%)rotate(-4deg)scale(1)}}.connection-screen{min-height:var(--measurement-100dvh);padding:var(--measurement-24px);background-color:var(--paper-base);background-image:linear-gradient(var(--paper-wash), var(--paper-wash)), var(--scroll-background-image), var(--paper-fiber-pattern);color:var(--ink-main);background-position:50%;background-size:cover,cover,auto;place-items:center;display:grid}.connection-card{width:min(100%, var(--measurement-520px));padding:var(--measurement-40px) var(--measurement-46px);border:var(--measurement-1px) solid var(--ink-hairline);background:var(--paper-panel);box-shadow:0 var(--measurement-18px) var(--measurement-40px) var(--paper-shadow), inset 0 0 var(--measurement-45px) var(--paper-inner-shadow);text-align:center;position:relative}.connection-seal{width:var(--measurement-55px);height:var(--measurement-55px);margin:0 auto var(--measurement-16px);border:var(--measurement-2px) solid var(--cinnabar);color:var(--cinnabar);font-family:var(--font-display);font-size:var(--measurement-24px);place-items:center;display:grid;transform:rotate(-3deg)}.connection-seal.is-error{background:var(--cinnabar);color:var(--paper-bright)}.connection-kicker{margin-bottom:var(--measurement-8px);color:var(--cinnabar-hover);font-size:var(--measurement-9px);letter-spacing:.18em;font-weight:900}.connection-card h1{color:var(--ink-main);font-family:var(--font-display);font-size:var(--measurement-1-8rem);font-weight:600}.connection-description{max-width:var(--measurement-390px);margin:var(--measurement-14px) auto var(--measurement-24px);color:var(--ink-muted);font-size:var(--measurement-12px);line-height:1.55}.connection-details{margin-bottom:var(--measurement-24px);border-top:var(--measurement-1px) solid var(--ink-hairline);border-bottom:var(--measurement-1px) solid var(--ink-hairline);text-align:left}.connection-details>div{grid-template-columns:var(--measurement-70px) 1fr;gap:var(--measurement-12px);padding:var(--measurement-10px) 0;display:grid}.connection-details>div+div{border-top:var(--measurement-1px) solid var(--ink-hairline)}.connection-details dt{color:var(--ink-muted);font-size:var(--measurement-9px);letter-spacing:.08em;text-transform:uppercase;font-weight:850}.connection-details dd{min-width:0;color:var(--ink-main);font-size:var(--measurement-11px);overflow-wrap:anywhere;font-weight:700}.connection-retry{width:100%}.connection-progress{justify-content:center;gap:var(--measurement-8px);min-height:var(--measurement-40px);align-items:center;display:flex}.connection-progress i{width:var(--measurement-8px);height:var(--measurement-8px);background:var(--cinnabar);animation:messenger-progress var(--measurement-1200ms) ease-in-out infinite;transform:rotate(45deg)}.connection-progress i:nth-child(2){animation-delay:var(--measurement-160ms)}.connection-progress i:nth-child(3){animation-delay:var(--measurement-330ms)}@keyframes messenger-progress{0%,to{opacity:.25;transform:rotate(45deg)scale(.75)}50%{opacity:1;transform:rotate(45deg)scale(1)}}.fate-council .fate-offering-grid{place-content:stretch center;margin-inline:auto}.card-redraw-button{min-height:var(--measurement-34px);margin-top:var(--measurement-6px);border:var(--measurement-1px) dashed var(--ink-faint);color:var(--ink-muted);font-size:var(--measurement-8px);letter-spacing:.08em;cursor:pointer;background:0 0;border-radius:0;font-weight:850}.card-redraw-button:hover:not(:disabled),.card-redraw-button.is-active{border-color:var(--cinnabar);background:var(--cinnabar-wash);color:var(--cinnabar-hover)}.card-redraw-button:disabled{opacity:.42;cursor:default}.command-card.is-redraw-target{border-color:var(--ochre)}.unit-lore-card>small{margin-top:var(--measurement-13px);color:var(--cinnabar-hover);font-size:var(--measurement-7px);letter-spacing:.17em;font-weight:900;display:block}.unit-lore-card>.lore-rule{margin-top:var(--measurement-4px);padding:var(--measurement-8px) var(--measurement-9px);border-left:var(--measurement-2px) solid var(--cinnabar);background:var(--cinnabar-wash);color:var(--ink-main);font-weight:700}.event-technical{margin-top:var(--measurement-3px);color:var(--ink-faint);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--measurement-8px);font-weight:550;line-height:1.4;display:block}.header-event .event-technical{display:none}.attack-forecast .forecast-main{font-size:var(--measurement-7px);letter-spacing:0}.wound-stain{stroke:var(--paper-bright);stroke-width:.8px;paint-order:stroke;font-family:var(--font-display);filter:drop-shadow(var(--measurement-1px) var(--measurement-1px) var(--measurement-1px) var(--cinnabar-seal-shadow));font-weight:900;fill:var(--cinnabar)!important;font-size:var(--measurement-14px)!important}.game-over-overlay{z-index:120;padding:var(--measurement-18px);background:var(--ink-overlay);-webkit-backdrop-filter:blur(var(--measurement-5px));backdrop-filter:blur(var(--measurement-5px))}.game-over-scroll{width:min(var(--measurement-780px), 100%);max-height:calc(var(--measurement-100dvh) - var(--measurement-36px));padding:clamp(var(--measurement-24px), 4vw, var(--measurement-42px));border:var(--measurement-1px) solid var(--ink-faint);background-color:var(--paper-panel-solid);background-image:radial-gradient(circle at 50% 0, #fff6da66, transparent 42%), linear-gradient(90deg, var(--paper-shadow), transparent 4%, transparent 96%, var(--paper-shadow)), var(--paper-fiber-pattern);color:var(--ink-main);box-shadow:0 var(--measurement-24px) var(--measurement-70px) #291f147a, inset 0 0 0 var(--measurement-9px) #9d3f2f07, inset 0 0 var(--measurement-55px) #533e201a;position:relative;overflow:auto}.game-over-scroll:before{content:"";inset:var(--measurement-9px);border:var(--measurement-1px) solid var(--ink-hairline);pointer-events:none;position:absolute}.game-over-scroll>header{align-items:center;gap:var(--measurement-18px);padding-bottom:var(--measurement-18px);border-bottom:var(--measurement-3px) double var(--ink-faint);display:flex;position:relative}.game-over-seal{flex:0 0 var(--measurement-70px);height:var(--measurement-70px);border:var(--measurement-3px) solid var(--cinnabar);color:var(--cinnabar);font:800 var(--measurement-34px) var(--font-display);place-items:center;display:grid;transform:rotate(-4deg)}.game-over-scroll.is-defeat .game-over-seal{color:var(--ink-secondary);border-color:var(--ink-secondary)}.game-over-scroll.is-draw .game-over-seal{color:var(--indigo-deep);border-color:var(--indigo-deep)}.game-over-scroll>header small{color:var(--cinnabar-hover);font-size:var(--measurement-8px);letter-spacing:.18em;font-weight:900}.game-over-scroll>header h2{margin:var(--measurement-4px) 0;color:var(--ink-main);font:550 clamp(var(--measurement-1-8rem), 4vw, var(--measurement-2-45rem)) var(--font-display)}.game-over-scroll>header strong{color:var(--ink-muted);font-size:var(--measurement-11px);letter-spacing:.05em}.game-over-narrative{max-width:var(--measurement-500px);margin:var(--measurement-18px) auto;color:var(--ink-muted);font:italic var(--measurement-13px)/1.6 Georgia, serif;text-align:center}.game-over-banners{gap:var(--measurement-14px);grid-template-columns:1fr 1fr;display:grid}.game-over-banners article{padding:var(--measurement-16px);border:var(--measurement-1px) solid var(--ink-hairline);background:var(--paper-record)}.game-over-banners article.is-winner{border-color:var(--cinnabar-border);box-shadow:inset 0 var(--measurement-3px) var(--cinnabar)}.game-over-banners article>small{color:var(--ink-muted);font-size:var(--measurement-7px);letter-spacing:.15em;font-weight:900}.game-over-banners h3{margin-top:var(--measurement-3px);color:var(--ink-main);font:600 var(--measurement-19px) var(--font-display)}.game-over-banners article>strong{margin:var(--measurement-9px) 0;color:var(--cinnabar-hover);font:650 var(--measurement-24px) var(--font-display);display:block}.game-over-banners dl{border-top:var(--measurement-1px) solid var(--ink-hairline)}.game-over-banners dl>div{justify-content:space-between;gap:var(--measurement-12px);padding:var(--measurement-6px) 0;border-bottom:var(--measurement-1px) solid var(--ink-hairline);display:flex}.game-over-banners dt{color:var(--ink-muted);font-size:var(--measurement-9px)}.game-over-banners dd{color:var(--ink-main);font-size:var(--measurement-10px);font-weight:850}.game-over-scroll>footer{justify-items:center;gap:var(--measurement-14px);margin-top:var(--measurement-22px);display:grid}.game-over-scroll>footer>span{align-items:center;gap:var(--measurement-8px);color:var(--cinnabar);font:700 var(--measurement-13px) var(--font-display);display:flex}.game-over-scroll>footer>span i{width:var(--measurement-55px);height:var(--measurement-1px);background:linear-gradient(90deg, transparent, var(--cinnabar-border))}.game-over-scroll>footer>span i:last-child{background:linear-gradient(90deg, var(--cinnabar-border), transparent)}.game-over-scroll>footer .btn-primary{width:min(100%, var(--measurement-320px))}@media (width<=700px){.game-over-scroll>header{align-items:flex-start}.game-over-seal{flex-basis:var(--measurement-55px);height:var(--measurement-55px);font-size:var(--measurement-25px)}.game-over-banners{grid-template-columns:1fr}}
