.action-guide{z-index:80;pointer-events:none;opacity:0;transition:opacity .3s;position:fixed;inset:0}.action-guide.is-active{opacity:1}@starting-style{.action-guide.is-active{opacity:0}}.action-guide-mask{display:block;overflow:visible}@media (prefers-reduced-motion:reduce){.action-guide{transition:none}}.animated-number{vertical-align:baseline;font-family:var(--number-font,cursive);font-variant-numeric:tabular-nums;line-height:inherit;white-space:nowrap;flex-shrink:0;justify-items:center;display:inline-grid;position:relative}.animated-number-display{grid-area:1/1;display:inline-block}.animated-number-display.is-up{animation:.42s ease-out both counter-rise}.animated-number-display.is-down{animation:.42s ease-out both counter-fall}.animated-number-display.is-good{--counter-color:#b6e7b7}.animated-number-display.is-bad{--counter-color:#f2ab95}@keyframes counter-rise{0%,to{color:inherit;transform:translateY(0)}30%{color:var(--counter-color);transform:translateY(-.16em)}}@keyframes counter-fall{0%,to{color:inherit;transform:translateY(0)}30%{color:var(--counter-color);transform:translateY(.16em)}}@media (prefers-reduced-motion:reduce){.animated-number-display.is-up,.animated-number-display.is-down{animation:none}}:root{--hud-state-width:min(303px, calc((50vw - 88px - var(--hud-portrait-width) + 16px) * .75));--hud-width:calc(var(--hud-portrait-width) - 16px + var(--hud-state-width));--hud-portrait-width:212px;--hud-mini-card:46px}.player-hud{z-index:60;width:var(--hud-width);color:#e4ddcf;pointer-events:none;flex-direction:column;gap:7px;display:flex;position:fixed;bottom:0;right:0;overflow:visible}.player-hud .hud-state-window,.player-hud .hud-pending-choices{background:linear-gradient(135deg,#22232aed,#111720f5 62%);border:1px solid #8f79544f;border-radius:10px 3px;padding:11px;box-shadow:0 8px 28px #0009,inset 0 0 0 3px #171c24}.player-hud .hud-overview{grid-template-columns:calc(var(--hud-portrait-width) - 16px) minmax(0, 1fr);align-items:end;gap:0;display:grid}.player-hud .hud-character{z-index:1;pointer-events:auto;width:calc(100% + 16px);min-width:0;position:relative}.player-hud .hud-character>.player-panel[data-seat-position]{aspect-ratio:560/806;width:100%;height:auto;min-height:0;margin:0;padding:0;position:relative;inset:auto;transform:none}.player-hud .hud-character .player-card-name,.player-hud .hud-character .player-vitals,.player-hud .hud-character .player-equipment-count{display:none}.player-hud .hud-character .player-object-choices{flex-wrap:wrap;bottom:5px;left:3px;right:3px}.player-hud .hud-state-window{max-height:min(45dvh, calc(var(--hud-portrait-width) * 806 / 560));scrollbar-width:thin;pointer-events:auto;border-bottom:0;border-left:0;border-right:0;border-radius:0 5px 0 0;gap:4px;min-width:0;padding:8px 10px 12px 23px;display:grid;overflow-y:auto;box-shadow:4px 6px 20px #0008;container-type:inline-size}.player-hud .hud-identity{gap:3px;min-width:0;display:grid}.player-hud .hud-identity strong{font:600 16px/1.2 var(--serif);color:#f1e5ce;overflow-wrap:anywhere}.player-hud .hud-identity>span{color:#bdb3a2;font-size:9px;line-height:1.3}.player-hud .hud-identity .hud-owner{color:#a29d95;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.player-hud .hud-vitals{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:0;display:grid}.player-hud .hud-vitals>div{padding:3px 0}.player-hud .hud-vitals dt{color:#abb5a8;white-space:nowrap;font-size:9px}.player-hud .hud-vitals dd{color:#acdeb2;font:600 22px/1 var(--number-font,cursive);margin:3px 0 0}.player-hud .hud-vitals dd small{color:#a7b8a5;font-size:10px;font-weight:400}.player-hud .hud-damage dd{color:#e89988}.player-hud .hud-location{color:#afa89b;font-size:10px}.player-hud .hud-spell-tray{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.player-hud .hud-spell-tray:empty{display:none}@container (width<=250px){.player-hud .hud-spell-tray{grid-template-columns:minmax(0,1fr)}}.player-hud .hud-spell-tray .spell-card{pointer-events:auto;background:linear-gradient(135deg,#332d3b,#211e29);grid-template-columns:22px minmax(0,1fr);align-content:center;gap:2px 5px;width:auto;min-width:0;height:auto;padding:4px}.player-hud .hud-spell-tray .spell-sigil{grid-row:1/3;width:22px;height:22px}.player-hud .hud-spell-tray .spell-cast{text-align:left;grid-column:2;min-width:0}.player-hud .hud-spell-tray .spell-cast button{margin:2px 0;padding:3px;font-size:9px}.player-hud .hud-spell-state{color:#aca0b5;overflow-wrap:anywhere;grid-column:2;font-size:8px;line-height:1.4}.player-hud .hud-phase-controls{pointer-events:auto;gap:4px;display:grid}.player-hud .hud-phase-controls:empty{display:none}.player-hud .hud-phase-button{color:#f6e9cf;width:100%;min-height:30px;font:600 11px/1.3 var(--serif);cursor:pointer;background:#353128;border:1px solid #bca477a6;border-radius:4px;margin:0;padding:6px 5px}.player-hud .hud-phase-button:hover{background:#494031}.player-hud .hud-phase-button.is-primary{background:#52452c;border-color:#d5b97a}.player-hud .hud-phase-button.is-danger{background:#53352f;border-color:#b8806f}.player-hud .hud-phase-button:focus-visible,.player-hud .hud-record-card:focus-visible{outline-offset:2px;outline:2px solid #e6c985}.player-hud .hud-status-tray{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.player-hud .hud-status{color:#aaa18b;width:auto;height:auto;min-height:14px;font:9px/1.3 var(--serif);pointer-events:auto;white-space:nowrap;background:0 0;border:0;border-radius:0;flex:0 auto;align-items:center;gap:3px;margin:0;padding:1px 0;display:inline-flex}.player-hud .hud-status.is-on{color:#e0c587;border-color:#ac895962}.player-hud .hud-card-tray{scrollbar-width:thin;align-items:flex-start;gap:5px;min-width:0;padding-top:2px;display:flex;overflow-x:auto}.player-hud .hud-record-card{flex:0 0 var(--hud-mini-card);width:var(--hud-mini-card);min-width:0;margin:0}.player-hud .hud-record-card .card-face{aspect-ratio:560/806;object-fit:contain;border-radius:2px;width:100%;height:auto;display:block}.player-hud .hud-record-card figcaption{color:#b5ad9f;text-align:center;margin-top:2px;font-size:8px;line-height:1.3}.player-hud .hud-equipment-cards{flex:none;align-items:center;gap:5px;min-height:2px;padding:0;display:flex;overflow:visible}.player-hud .hud-equipment-cards .equip-card{flex:0 0 var(--hud-mini-card);width:var(--hud-mini-card);aspect-ratio:560/806;pointer-events:auto;background:#11151b;border-radius:3px;justify-self:center;min-width:0;height:auto;max-height:none;margin:0;transition:transform .15s;position:relative;box-shadow:1px 3px 5px #0008}.player-hud .hud-equipment-cards .equip-card img{object-fit:contain;width:100%;height:100%}.player-hud .hud-equipment-cards .equip-card figcaption{display:none}.player-hud .hud-equipment-cards .equip-card:hover{z-index:5;transform:translateY(-2px)}.player-hud .hud-equipment-choices{pointer-events:auto;flex-wrap:wrap;gap:6px;margin-top:5px;display:flex}.player-hud .hud-equipment-choices .equipment-choice{width:44px}.player-hud .hud-pending-choices{pointer-events:auto;max-width:100%;padding:9px;position:absolute;bottom:calc(100% + 8px);right:8px}.player-hud .hud-pending-choices p{color:#dac9a5;margin:0 0 5px;font-size:10px;line-height:1.5}.player-hud .hud-pending-choices .choice-rack{max-height:120px;margin:0}.player-hud .hud-pending-choices .choice-token{flex:48px;width:auto;min-width:48px;padding:5px}.player-hud .hud-pending-choices .choice-token small{font-size:9px}.player-hand-fan.hand-arc{z-index:85;width:min(260px, calc(100vw - 2 * (var(--hud-width) + 24px)));pointer-events:none;height:180px;position:fixed;bottom:0;left:50%;right:auto;overflow:visible;transform:translate(-50%)}.player-hand-fan>.hand-card{aspect-ratio:560/806;pointer-events:auto;width:clamp(116px,10vw,142px);bottom:-24px}.player-hand-fan>.hand-card:hover,.player-hand-fan>.hand-card:focus-visible{z-index:60;transform:translateX(calc(-50% + var(--fan-offset,0px))) translateY(-32px) rotate(0deg) scale(1.08)}.player-hand-fan>.hand-card:focus-visible{outline-offset:4px;outline:2px solid #e6c985}@media (width>=960px) and (width<=1100px){:root{--hud-portrait-width:200px;--hud-mini-card:42px}.player-hud{gap:6px;bottom:0;right:0}.player-hud .hud-identity strong{font-size:15px}}@media (width<=959px){:root{--hud-width:499px;--hud-portrait-width:min(212px, 42vw)}.player-hud{width:min(var(--hud-width), 100%);align-self:flex-end;margin:12px 0 0 auto;position:relative;inset:auto}.player-hud .hud-state-window{max-height:none;overflow-y:visible}.player-hand-fan.hand-arc{align-self:center;width:100%;height:165px;margin-top:18px;position:relative;inset:auto;transform:none}.player-hand-fan>.hand-card{bottom:0}}@media (prefers-reduced-motion:reduce){.player-hand-fan>.hand-card,.player-hud .hud-equipment-cards .equip-card{transition:none}}.inspector{border:1px solid var(--line);background:#14181fb3;border-radius:4px;min-width:0;min-height:0;padding:8px 10px;overflow-y:auto}.player-drawer .inspector{background:0 0;border:0;min-height:100%;padding:0;overflow:visible}.inspector-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.inspector-head>div{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.inspector-head h2{color:var(--player-color,var(--text));overflow-wrap:anywhere;margin:0;font-size:20px}.inspector-piece{color:var(--player-color,var(--kin));font-size:24px}.inspector-close{border-radius:50%;flex:none;width:34px;height:34px;padding:0}.inspector .inspector-role .role-card{aspect-ratio:auto;width:100%;max-width:560px;height:auto;min-height:0;max-height:none;margin:0 auto;display:block;overflow:visible}.inspector .inspector-role .role-card.has-face>.card-face,.inspector .inspector-role .role-inspector-back{aspect-ratio:560/806;object-fit:contain;object-position:center;width:100%;height:auto;min-height:0;max-height:none;display:block}.inspector .role-inspector-back .card-back-image{aspect-ratio:560/806;object-fit:contain;width:100%;height:auto}.inspector .role-card figcaption{flex-wrap:wrap;font-size:12px}.inspector .role-reviewed-intro{overflow-wrap:anywhere;font-size:11px;line-height:1.7}.inspector-facts{margin:10px 0 0;font-size:13px}.inspector-facts>div{border-bottom:1px dotted #c9a22733;gap:10px;padding:3px 0;display:flex}.inspector-facts dt{width:44px;color:var(--kin);flex:none}.inspector-facts dd{min-width:0;color:var(--text);overflow-wrap:anywhere;margin:0}.inspector-card-row{align-items:flex-start;gap:8px;padding:4px;display:flex;overflow-x:auto}.inspector-card-row .equip-card,.inspector-card-row .inspector-record-card{flex:0 0 96px}.inspector-record-card{width:96px;margin:0}.inspector-record-card .card-face{aspect-ratio:560/806;object-fit:contain;border:1px solid #00000080;border-radius:4px;width:100%;height:auto;display:block}.inspector-record-card figcaption{color:var(--text-dim);text-align:center;margin-top:4px;font-size:10px}.inspector :focus-visible{outline:2px solid var(--player-color,var(--kin));outline-offset:2px}.table-stage,.table-console{min-width:0}.table-console{position:relative}@media (width>=960px){html,body,#root{height:100%;overflow:hidden}.app{flex-direction:column;width:100%;height:100dvh;min-height:0;display:flex;overflow:hidden}.table-layout{--deck-rail-width:clamp(110px, 9vw, 132px);--opponent-width:clamp(72px, 6vw, 96px);--seat-counter-overhang:27px;--seat-edge:calc(var(--seat-counter-overhang) + 4px);--seat-center-inset:calc(var(--opponent-width) / 2 + var(--seat-edge));--side-rail-width:calc(var(--opponent-width) + var(--seat-edge) + var(--seat-counter-overhang) + 12px);--table-padding:clamp(7px, .65vw, 14px);--table-gap:clamp(6px, .7vh, 13px);--console-height:clamp(132px, 18vh, 200px);width:100%;min-height:0;padding:var(--table-padding);flex:1;display:block;position:relative;overflow:hidden}.table-stage{gap:var(--table-gap);grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:100%;min-height:0;display:grid}.table-stage>.table-status{z-index:30;justify-self:center;width:min(960px,100%)}.table-arena{--upper-inset:calc(var(--opponent-width) * 806 / 560 + 32px);--lower-inset:max(0px, calc(var(--hud-portrait-width) * 806 / 560 - var(--console-height) - var(--table-gap) - var(--table-padding) + 12px));--field-band:calc(100cqh - var(--upper-inset) - var(--lower-inset));isolation:isolate;min-height:0;position:relative;container-type:size}.player-dock{z-index:20;pointer-events:none;position:absolute;inset:0}.player-dock>.player-panel{width:var(--opponent-width);aspect-ratio:560/806;pointer-events:auto;position:absolute}.player-dock>[data-seat-position=top]{top:0;left:calc(var(--seat-center-inset) + (100% - 2 * var(--seat-center-inset)) * var(--seat-fraction));transform:translate(-50%)}.player-dock>[data-seat-position=left],.player-dock>[data-seat-position=right]{top:calc(40% - 16px);transform:translate(-50%,-50%)}.player-dock>[data-seat-position=left]{left:var(--seat-center-inset)}.player-dock>[data-seat-position=right]{left:calc(100% - var(--seat-center-inset))}.table-arena>.board{z-index:1;top:var(--upper-inset);bottom:var(--lower-inset);width:min(calc(100% - 2 * max(var(--deck-rail-width), var(--side-rail-width))), calc(var(--field-band) * 4.1), 1500px);position:absolute;left:50%;transform:translate(-50%)}.table-console{height:var(--console-height);min-height:0;display:block}.table-console>.decks{width:var(--deck-rail-width);height:auto;position:absolute;bottom:8px;left:0}.table-console .deck-slot{grid-template-columns:minmax(0,1fr) 34px;gap:6px}}@media (width<=959px){html,body,#root{min-height:100%;overflow:visible}.app{min-height:100dvh}.table-layout{height:auto;padding:10px;display:block;overflow:visible}.table-stage{flex-direction:column;gap:10px;display:flex}.table-arena{flex-direction:column;gap:12px;min-width:0;display:flex}.player-dock{gap:38px;min-height:190px;padding:12px 34px 34px 12px;display:flex;position:static;overflow:auto hidden}.player-dock>.player-panel{aspect-ratio:560/806;flex:0 0 96px;width:96px;min-height:0;position:relative;inset:auto;transform:none}.table-arena>.board{grid-template-columns:minmax(0,1fr);width:min(100%,720px);margin:0 auto;position:relative;inset:auto;transform:none}.area{width:100%}.table-console{flex-direction:column;gap:8px;height:auto;display:flex}.table-console>.decks{width:180px;height:auto}}@font-face{font-family:Touranki Handwritten Numbers;src:url(/fonts/caveat-variable.ttf)format("truetype");font-style:normal;font-weight:400 700;font-display:swap;unicode-range:U+25,U+2B-3A,U+D7,U+F7,U+2212}:root{--number-font:"Touranki Handwritten Numbers", "Segoe Print", "Bradley Hand", cursive}.handwritten-number{font-family:var(--number-font);font-variant-numeric:tabular-nums}.sequence-layer.sequence-dice.continuous-dice{z-index:190;pointer-events:none;background:0 0;animation:none}.sequence-dice.continuous-dice .dice-tray{max-width:min(440px,100vw - 32px);min-height:164px;color:inherit;font:inherit;cursor:default;opacity:1;pointer-events:none;transition:border-color .18s}.sequence-dice.continuous-dice.is-ready .dice-tray{cursor:pointer;pointer-events:auto}.sequence-dice.continuous-dice.is-ready .dice-tray:hover{border-color:#c9a965}.sequence-dice.continuous-dice .dice-tray>strong{white-space:pre-line;line-height:1.45}.sequence-dice.continuous-dice.is-ready .effect-die{animation:none}.sequence-dice.continuous-dice.is-rolling .effect-die{animation-iteration-count:infinite}@media (prefers-reduced-motion:reduce){.sequence-dice.continuous-dice:is(.is-ready,.is-rolling,.is-result) .effect-die{animation:none}.sequence-dice.continuous-dice .dice-tray{transition:none}}.review-app{--review-bg:#090d12;--review-panel:#101720;--review-panel-strong:#151e29;--review-line:#b8cade2e;--review-line-strong:#b8cade52;--review-text:#e8eef6;--review-dim:#91a0b2;--review-accent:#79c9ff;--review-yellow:#f0c84b;--review-red:#ef6d5c;width:100%;height:100dvh;min-height:0;color:var(--review-text);background:radial-gradient(900px 480px at 56% -20%, #397eb52e, transparent 68%), var(--review-bg);flex-direction:column;font-family:Inter,Noto Sans CJK SC,Microsoft YaHei,sans-serif;display:flex;overflow:hidden}.review-app *,.review-app :before,.review-app :after{box-sizing:border-box}.review-app button,.review-app input,.review-app select,.review-app textarea{font:inherit}.review-header{border-bottom:1px solid var(--review-line);background:#090d12f5;flex:none;justify-content:space-between;align-items:center;gap:24px;min-height:76px;padding:10px 18px;display:flex}.review-header h1,.review-header p{margin:0}.review-header h1{letter-spacing:.06em;font-size:23px;line-height:1.2}.review-header p:not(.review-eyebrow){max-width:760px;color:var(--review-dim);margin-top:4px;font-size:12px;line-height:1.5}.review-header .review-eyebrow{color:var(--review-accent);letter-spacing:.2em;margin-bottom:3px;font:700 9px/1 ui-monospace,monospace}.review-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:7px;display:flex}.review-app .review-button{color:#07131d;background:var(--review-accent);letter-spacing:.02em;cursor:pointer;border:1px solid #79c9ff7a;border-radius:6px;justify-content:center;align-items:center;min-height:34px;margin:0;padding:6px 11px;font-size:12px;font-weight:700;line-height:1.3;text-decoration:none;display:inline-flex;position:relative}.review-app .review-button:hover:not(:disabled){background:#a8dcff;border-color:#d8efff}.review-app .review-button.is-quiet{color:var(--review-text);border-color:var(--review-line-strong);background:0 0}.review-app .review-button:disabled{opacity:.4;cursor:not-allowed}.review-button input[type=file]{opacity:0;pointer-events:none;block-size:1px;inline-size:1px;position:absolute}.review-progress{border-bottom:1px solid var(--review-line);background:#0d131a;flex:none;align-items:center;gap:7px;min-height:36px;padding:5px 18px;display:flex}.review-progress span{border:1px solid var(--review-line);border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700}.review-progress .is-pending{color:#d8b96b}.review-progress .is-approved{color:#76d39a}.review-progress .is-rejected{color:#ef8a8a}.review-progress .is-edited{color:#a8c7e4}.review-progress strong{min-width:0;color:var(--review-dim);text-overflow:ellipsis;white-space:nowrap;margin-left:auto;font-size:11px;font-weight:500;overflow:hidden}.review-workspace{flex:1;grid-template-columns:248px 390px minmax(520px,1fr);min-height:0;display:grid;overflow:hidden}.review-catalog,.review-reference,.review-editor{min-width:0;min-height:0}.review-catalog{border-right:1px solid var(--review-line);background:#0e151d;flex-direction:column;display:flex}.review-filters{border-bottom:1px solid var(--review-line);grid-template-columns:1fr 1fr;gap:6px;padding:9px;display:grid}.review-filters>input{grid-column:1/-1}.review-app input,.review-app select,.review-app textarea{border:1px solid var(--review-line);width:100%;min-width:0;color:var(--review-text);background:#090e14;border-radius:5px;outline:none}.review-app input,.review-app select{min-height:32px;padding:5px 8px}.review-app textarea{resize:vertical;padding:7px 9px;line-height:1.55}.review-app input:focus,.review-app select:focus,.review-app textarea:focus{border-color:var(--review-accent);box-shadow:0 0 0 2px #79c9ff1f}.review-toggle{color:var(--review-dim);grid-column:1/-1;align-items:center;gap:6px;font-size:11px;display:flex}.review-toggle input{width:auto;min-height:0}.review-card-list{flex:1;min-height:0;padding:5px;overflow-y:auto}.review-app .review-card-row{width:100%;min-height:58px;color:var(--review-text);text-align:left;letter-spacing:0;cursor:pointer;background:0 0;border:1px solid #0000;border-left:3px solid #7c8794;border-radius:5px;grid-template-columns:38px minmax(0,1fr);gap:8px;margin:0 0 3px;padding:5px;display:grid}.review-app .review-card-row:hover,.review-app .review-card-row.is-active{border-color:#79c9ff4d;border-left-color:var(--review-accent);background:#79c9ff14}.review-card-row.status-approved{border-left-color:#5dc887}.review-card-row.status-rejected{border-left-color:#e86969}.review-card-row.status-pending{border-left-color:#c7a958}.review-card-row img{object-fit:cover;object-position:top;background:#080b0f;border-radius:3px;width:38px;height:52px}.review-card-row>span{flex-direction:column;justify-content:center;min-width:0;display:flex}.review-card-row strong,.review-card-row small,.review-card-row code{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.review-card-row strong{font-size:12px}.review-card-row small{color:var(--review-dim);font-size:10px}.review-card-row code{color:#667587;margin-top:2px;font-size:9px}.review-reference{border-right:1px solid var(--review-line);background-color:#080d12;background-image:linear-gradient(45deg,#ffffff04 25%,#0000 25% 75%,#ffffff04 75%),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:22px 22px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;padding:12px;overflow-y:auto}.reference-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:9px;display:flex}.reference-heading span,.editor-kicker{color:var(--review-accent);letter-spacing:.14em;font-size:9px;font-weight:700}.reference-heading h2,.editor-heading h2{margin:2px 0 1px;font-size:17px;line-height:1.3}.reference-heading code,.editor-heading h2{color:var(--review-dim);font:10px/1.3 ui-monospace,monospace}.reference-heading button,.source-panel button,.corrected-preview button,.transcript-editor button,.editor-footer button,.review-status-picker button{border:1px solid var(--review-line-strong);color:var(--review-text);cursor:pointer;background:#111923;border-radius:5px;margin:0}.reference-heading button{flex:none;padding:5px 8px;font-size:10px}.card-reference-frame{border:1px solid var(--review-line-strong);background:#06090d;border-radius:8px;place-items:center;width:100%;height:min(46dvh,440px);min-height:300px;display:grid;overflow:auto;box-shadow:0 18px 42px #0000006b}.card-reference-frame img{object-fit:contain;-webkit-user-select:none;user-select:none;width:auto;max-width:100%;height:100%;display:block}.card-reference-frame.is-zoomed{display:block}.card-reference-frame.is-zoomed img{cursor:zoom-out;width:720px;max-width:none;height:auto}.source-panel{border:1px solid var(--review-line);background:#0e151deb;border-radius:7px;margin-top:10px;padding:9px}.source-panel>header{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:7px;display:flex}.source-panel>header strong{font-size:11px}.source-panel>header span{color:var(--review-dim);font-size:9px}.source-panel.is-core{border-color:#ef6d5c33}.source-lines{margin:0;padding:0;list-style:none}.source-lines li{border-bottom:1px dotted #91a0b224;grid-template-columns:18px minmax(0,1fr);gap:7px;padding:2px 0;font:11px/1.55 ui-monospace,Noto Sans Mono CJK SC,monospace;display:grid}.source-lines li:last-child{border-bottom:0}.source-lines li>span{color:#586778;text-align:right}.source-lines li>b{color:#d7e1ec;overflow-wrap:anywhere;font-weight:500}.source-copy strong{color:#dce7f2;margin-bottom:5px;font-size:12px;display:block}.source-copy pre{color:#b7c5d4;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font:11px/1.6 ui-monospace,Noto Sans Mono CJK SC,monospace}.source-raw{color:var(--review-dim);border-top:1px solid #91a0b224;margin-top:8px;padding-top:7px;font-size:9px}.source-raw summary{cursor:pointer;font-weight:700}.source-raw .source-lines{margin-top:7px}.backend-snapshot{grid-template-columns:56px minmax(0,1fr);gap:6px 9px;margin:0;font-size:10px;display:grid}.backend-snapshot dt{color:#718094}.backend-snapshot dd{color:#c5d1de;overflow-wrap:anywhere;gap:2px;min-width:0;margin:0;display:grid}.backend-snapshot code{color:#f2be76;font-size:9px}.backend-snapshot dd>span,.backend-snapshot li>span{color:#8e9eae}.backend-snapshot ul{gap:5px;margin:0;padding:0;list-style:none;display:grid}.backend-snapshot li{gap:1px;display:grid}.source-meta{border:1px solid var(--review-line);color:var(--review-dim);border-radius:6px;margin-top:9px;padding:7px 9px;font-size:10px}.source-meta summary{cursor:pointer;font-weight:700}.source-meta dl{grid-template-columns:38px minmax(0,1fr);gap:4px 8px;margin:8px 0 0;display:grid}.source-meta dt{color:#718094}.source-meta dd{color:#bcc9d7;overflow-wrap:anywhere;margin:0}.review-editor{background:var(--review-panel);padding:14px 16px 18px;position:relative;overflow-y:auto}.editor-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:10px;display:flex}.editor-heading h2{margin:2px 0 0;font-size:11px}.review-status-picker{grid-template-columns:repeat(3,minmax(72px,1fr));gap:4px;display:grid}.review-status-picker button{min-height:30px;color:var(--review-dim);padding:4px 9px;font-size:10px}.review-status-picker button.is-active.status-pending{color:#251e08;background:#d8b85b;border-color:#d8b85b}.review-status-picker button.is-active.status-approved{color:#071b10;background:#65cf8e;border-color:#65cf8e}.review-status-picker button.is-active.status-rejected{color:#250b0b;background:#ef7c7c;border-color:#ef7c7c}.role-hp-editor{background:#22190e85;border:1px solid #f2be764d;border-radius:7px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:10px;padding:8px 10px;display:flex}.role-hp-editor>span{gap:2px;display:grid}.role-hp-editor strong{font-size:11px}.role-hp-editor small{color:var(--review-dim);font-size:9px}.role-hp-editor input{color:#f3c985;text-align:center;background:#111820;border-color:#f2be766b;width:76px;min-height:34px;font:800 15px/1 ui-monospace,monospace}.tone-toolbar{z-index:8;background:#0c131bfa;border:1px solid #79c9ff4d;border-radius:7px;grid-template-columns:minmax(150px,.7fr) minmax(360px,1.3fr);gap:7px 12px;margin:0 -5px 11px;padding:9px 10px;display:grid;position:sticky;top:-14px;box-shadow:0 8px 22px #0000003d}.tone-toolbar>div:first-child{flex-direction:column;min-width:0;display:flex}.tone-toolbar strong{font-size:11px}.tone-toolbar>div:first-child span{color:var(--review-dim);font-size:9px;line-height:1.4}.tone-commands{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;display:flex}.review-app .tone-command{border:1px solid var(--review-line-strong);min-height:30px;color:var(--review-text);letter-spacing:0;cursor:pointer;background:#111923;border-radius:5px;align-items:center;gap:5px;padding:4px 7px;font-size:10px;font-weight:700;display:inline-flex}.tone-command>span{background:#dbe3eb;border-radius:50%;width:9px;height:9px}.tone-command-key>span{background:var(--review-yellow)}.tone-command-value>span{background:var(--review-red)}.tone-command kbd{color:var(--review-dim);border:1px solid #ffffff26;border-radius:3px;padding:0 3px;font:8px/1.4 ui-monospace,monospace}.custom-color{border:1px solid var(--review-line-strong);background:#111923;border-radius:5px;align-items:center;gap:5px;min-height:30px;padding:3px 6px;display:inline-flex}.review-app .custom-color input[type=color]{cursor:pointer;background:0 0;border:0;border-radius:4px;width:22px;min-width:22px;height:22px;min-height:22px;padding:0;overflow:hidden}.custom-color code{color:#aebdcd;font:9px/1 ui-monospace,monospace}.tone-toolbar output{color:#758499;text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;min-width:0;font:10px/1.3 ui-monospace,monospace;overflow:hidden}.tone-toolbar output.has-selection{color:#c8e9ff}.corrected-preview{border:1px solid var(--review-line-strong);background:#0b1118;border-radius:8px;margin-bottom:11px;overflow:hidden}.corrected-preview>header{border-bottom:1px solid var(--review-line);align-items:center;gap:10px;padding:7px 9px;display:flex}.corrected-preview>header>div:first-child{flex-direction:column;min-width:0;display:flex}.corrected-preview>header strong{font-size:11px}.corrected-preview>header>div:first-child span{color:var(--review-dim);font-size:9px}.tone-legend{color:var(--review-dim);gap:7px;font-size:9px;display:flex}.legend-plain:before,.legend-key:before,.legend-value:before,.legend-purple:before,.legend-green:before{content:"";background:#25211d;border-radius:50%;width:7px;height:7px;margin-right:3px;display:inline-block}.legend-key:before{background:#c39200}.legend-value:before{background:#c83d32}.legend-purple:before{background:#8759c7}.legend-green:before{background:#2f9b67}.preview-actions{gap:4px;margin-left:auto;display:flex}.corrected-preview button{padding:4px 7px;font-size:9px}.corrected-preview button:disabled{opacity:.35;cursor:not-allowed}.corrected-paper{color:#25211d;background:linear-gradient(#ffffffc7,#ffffffc7),#e8e0d1;padding:12px 16px 14px;box-shadow:inset 0 0 22px #51412e14}.corrected-paper h3{border-bottom:1px solid #3c30222b;justify-content:space-between;align-items:center;gap:12px;margin:0 0 9px;padding-bottom:7px;font-size:16px;line-height:1.4;display:flex}.corrected-hp{color:#4a3b2c;border:1px solid #3c30223d;border-radius:999px;flex:none;padding:2px 7px;font:800 10px/1.4 ui-monospace,monospace}.corrected-body p{white-space:pre-wrap;overflow-wrap:anywhere;min-height:1.55em;margin:0;font-size:13px;line-height:1.55}.text-tone-plain{color:#dce6f0}.text-tone-key{color:var(--review-yellow)}.text-tone-value{color:#ff8c78}.text-tone-custom{color:#8759c7}.tone-empty{color:#7d8b9c;font-style:italic}.corrected-paper .text-tone-plain{color:#25211d}.corrected-paper .text-tone-key{color:#b48200;font-weight:700}.corrected-paper .text-tone-value{color:#c83d32;font-weight:700}.corrected-paper .tone-empty{color:#897e70}.transcript-editor{border:1px solid var(--review-line);background:#070c1175;border-radius:8px;margin-bottom:10px}.transcript-editor>header{border-bottom:1px solid var(--review-line);justify-content:space-between;align-items:center;gap:10px;padding:7px 9px;display:flex}.transcript-editor>header>div{flex-direction:column;min-width:0;display:flex}.transcript-editor>header strong{font-size:11px}.transcript-editor>header span{color:var(--review-dim);font-size:9px;line-height:1.4}.transcript-editor>header button{flex:none;padding:4px 8px;font-size:9px}.transcript-lines{display:grid}.transcript-line{border-bottom:1px solid #b8cade1a;grid-template-columns:24px minmax(0,1fr) auto;align-items:start;gap:6px;padding:7px 8px;display:grid}.transcript-line:last-child,.transcript-editor.is-name .transcript-line{border-bottom:0}.transcript-number{color:#607085;text-align:right;padding-top:7px;font:700 10px/1.3 ui-monospace,monospace}.transcript-content{min-width:0}.review-app .transcript-content input{min-height:32px;padding:5px 8px;font:12px/1.5 ui-monospace,Noto Sans Mono CJK SC,monospace}.transcript-color-preview{white-space:pre-wrap;overflow-wrap:anywhere;min-height:20px;padding:3px 8px 0;font:10px/1.5 ui-monospace,Noto Sans Mono CJK SC,monospace}.transcript-actions{gap:3px;padding-top:1px;display:flex}.transcript-actions button{width:28px;height:30px;color:var(--review-dim);padding:0;font-size:14px}.transcript-actions button:hover,.transcript-editor>header button:hover,.corrected-preview button:hover,.reference-heading button:hover{color:var(--review-text);border-color:var(--review-accent)}.review-notes{gap:4px;margin-bottom:10px;display:grid}.review-notes>span{color:#bdc9d6;font-size:10px;font-weight:700}.review-notes textarea{min-height:58px;font-size:11px}.editor-footer{border-top:1px solid var(--review-line);justify-content:space-between;align-items:center;gap:12px;padding-top:9px;display:flex}.editor-footer>span{color:var(--review-dim);font-size:10px}.editor-footer .approve-next{color:#071b10;background:#62c98a;border-color:#62c98a;min-height:34px;padding:6px 14px;font-size:11px;font-weight:800}.editor-footer .approve-next:hover{background:#83dda4}.review-empty{color:var(--review-dim);text-align:center;margin:auto;padding:28px}@media (width<=1240px){.review-workspace{grid-template-columns:220px 340px minmax(500px,1fr)}.review-header p:not(.review-eyebrow){max-width:570px}}@media (width<=1100px){.review-app{height:auto;min-height:100dvh;overflow:visible}.review-header{flex-direction:column;align-items:flex-start;gap:9px}.review-actions{justify-content:flex-start}.review-progress{z-index:20;position:sticky;top:0}.review-workspace{grid-template-columns:230px minmax(0,1fr);overflow:visible}.review-catalog{grid-row:1/span 2;max-height:calc(100dvh - 36px);position:sticky;top:36px}.review-reference,.review-editor{border-right:0;border-bottom:1px solid var(--review-line)}.card-reference-frame{height:min(60dvh,560px)}}@media (width<=760px){.review-header{padding:12px}.review-progress{flex-wrap:wrap;align-items:flex-start}.review-progress strong{flex-basis:100%;margin-left:0}.review-workspace{display:block}.review-catalog{border-right:0;border-bottom:1px solid var(--review-line);max-height:350px;position:static}.review-reference,.review-editor{padding:11px}.tone-toolbar{grid-template-columns:1fr;position:static}.tone-commands,.tone-toolbar output{grid-column:1}.editor-heading,.corrected-preview>header{flex-direction:column;align-items:flex-start}.preview-actions{margin-left:0}}:root{--ink:#0b0d11;--ink-2:#14181f;--paper:#f6efe3;--paper-2:#e7dbc6;--paper-3:#cfc1a6;--shu:#bb3a2b;--shu-deep:#7f2318;--kin:#c9a227;--ai:#2f5069;--matcha:#5b7458;--text:#ebe1d0;--text-dim:#9c9083;--line:#c9a2274d;--serif:"Noto Serif CJK JP", "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", "Source Han Serif SC", "Songti SC", "SimSun", serif;--shadow:0 10px 26px #00000073}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--text);font-family:var(--serif);background:var(--ink);font-size:15px;line-height:1.6}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--line);letter-spacing:.08em;background:#151a22;border-radius:3px;padding:7px 14px;transition:border-color .15s,transform 60ms,background .15s}button:hover:not(:disabled){border-color:var(--kin)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.42;cursor:not-allowed}button.is-primary{color:#fdf6ec;background:#91291f;border-color:#bb3a2bd9}button.is-danger{color:#f0cfc7;background:#251313;border-color:#bb3a2bb3}button.is-ghost{color:var(--text-dim);background:0 0}code{color:var(--text-dim);letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82em}ruby rt{color:var(--kin);letter-spacing:.16em;font-size:.44em}.app{min-height:100dvh}@media (width>=1241px){.app{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.masthead,.banner,.toast{flex:none}.lobby,.gate{flex:1;min-height:0;overflow-y:auto}}.masthead{z-index:70;border-bottom:1px solid var(--line);background:#0d1118;align-items:center;gap:12px;min-height:51px;padding:7px 14px;display:flex;position:relative}.brand{letter-spacing:.18em;flex:none;margin:0;font-size:22px;font-weight:600;line-height:1.35}.masthead-room,.masthead-me{color:var(--text-dim);align-items:center;gap:12px;display:flex}.room-title{color:var(--text);letter-spacing:.1em}.conn{border:1px solid var(--line);border-radius:2px;padding:1px 9px;font-size:12px}.conn-online{color:#8fc79a;border-color:#8fc79a80}.conn-offline,.conn-connecting{color:#d8a05a}.toast{color:#f6d9d2;cursor:pointer;background:#3c120eb8;border:1px solid #bb3a2bb3;border-left-width:4px;margin:12px 22px 0;padding:9px 14px}.banner{border:1px solid var(--line);letter-spacing:.1em;background:#181c24db;margin:12px 22px 0;padding:10px 16px}.banner.is-result{border-color:#c9a2278c}.winner{border:1px solid;border-radius:2px;margin-left:8px;padding:1px 8px}@media (width<=1240px){.masthead{flex-wrap:wrap}}.section-title{letter-spacing:.24em;color:var(--kin);border-bottom:1px solid var(--line);margin:0 0 10px;padding-bottom:6px;font-size:15px;font-weight:600}.section-sub{letter-spacing:.18em;color:var(--text-dim);margin:12px 0 6px;font-size:13px}.rail{flex-direction:column;gap:8px;min-height:0;display:flex}.rail-players{padding-right:3px;overflow-y:auto}.rail-info{grid-template-rows:minmax(0,1.9fr) minmax(130px,1fr);display:grid;overflow:hidden}.player-panel{background:var(--paper);color:#1c1a16;box-shadow:none;border:1px solid #00000080;border-radius:4px;padding:7px 9px;position:relative}.player-panel.is-pinned,.player-panel.is-turn{border-color:var(--kin)}.player-seal{width:100%;color:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:2px 0;display:flex}.player-seal:disabled{opacity:1}.seal-face{color:#fdf6ec;background:#962a20;border:1px solid #0000008c;border-radius:2px;place-items:center;width:34px;height:34px;font-size:19px;display:grid}.player-panel.is-turn .seal-face{color:#221c07;background:#bd9526}.seal-body{flex-direction:column;min-width:0;display:flex}.seal-name{letter-spacing:.06em;font-size:16px}.seal-meta{color:#6a6255;font-size:12px}.wound-track{gap:3px;margin-top:7px;display:flex}.wound{background:#0000000d;border:1px solid #00000059;border-radius:1px;flex:1;height:7px}.wound.is-filled{background:#9a2c22}.panel-role{margin-top:7px;font-size:12px}.role-brief{border:1px solid;border-radius:2px;padding:1px 7px}.role-brief.is-hidden{color:#7c7466}.camp-boss{color:var(--shu)}.camp-jiki{color:var(--ai)}.camp-yajiuma{color:var(--matcha)}.panel-equipment{color:#4a4339;margin:7px 0 0;padding:0;font-size:12px;list-style:none}.panel-equipment li{text-overflow:ellipsis;white-space:nowrap;padding-left:12px;position:relative;overflow:hidden}.panel-equipment li:before{content:"◆";color:var(--kin);font-size:9px;position:absolute;left:0}.center{scrollbar-gutter:stable;flex-direction:column;gap:8px;height:100%;min-height:0;display:flex;overflow-y:auto}.board{flex:none;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:10px;min-width:0;display:grid}.area{--area-accent:#b8796f;--area-fill:#6f302b24;border:1px dashed color-mix(in srgb, var(--area-accent) 78%, transparent);background:var(--area-fill);width:min(100%,340px);min-width:0;box-shadow:none;border-radius:4px;grid-template-columns:1fr 1fr;justify-self:stretch;gap:6px;padding:24px 7px 7px;display:grid;position:relative}.area .place-card:nth-child(2){transform:translateY(-2px)rotate(-.35deg)}.area .place-card:nth-child(3){transform:translateY(2px)rotate(.35deg)}.area-name{color:var(--area-accent);letter-spacing:.2em;font-size:10px;font-weight:600;position:absolute;top:3px;left:9px}.place-card{--place-accent:#9c2e24;aspect-ratio:5/7;isolation:isolate;border:1px solid #14120eb8;border-top:3px solid var(--place-accent);color:#1d1914;background:#e6dcc8;border-radius:3px;min-width:0;position:relative;overflow:hidden;box-shadow:0 7px 14px #00000057}.place-card.is-current{border-color:var(--kin)}.place-head{z-index:2;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:3px;display:grid;position:absolute;top:6px;left:6px;right:6px}.place-index{color:var(--place-accent);letter-spacing:.16em;grid-column:1/-1;font-size:8px;font-weight:700;line-height:1}.place-title{letter-spacing:.04em;min-width:0;margin:0;font-size:clamp(12px,1.1vw,15px);font-weight:700;line-height:1.18}.place-title ruby{white-space:nowrap}.place-dice{gap:2px;display:flex}.die{color:#281f18;background:#f8f2e8e6;border:1px solid #1c1712b8;border-radius:2px;place-items:center;width:21px;height:21px;font:700 11px/1 ui-monospace,monospace;display:grid;box-shadow:1px 1px #ffffff8c}.place-action{z-index:2;border-left:3px solid var(--place-accent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#f7f0e5e8;min-height:45px;padding:4px 5px 4px 7px;position:absolute;bottom:31px;left:6px;right:6px;box-shadow:0 2px 7px #0003}.place-action-label{color:var(--place-accent);letter-spacing:.16em;font-size:8px;font-weight:700;line-height:1.1;display:block}.place-action p{margin:2px 0 0;font-size:9.5px;line-height:1.3}.place-occupants{z-index:2;align-items:center;gap:4px;min-width:0;font-size:8px;display:flex;position:absolute;bottom:5px;left:6px;right:6px}.occupant-label{color:var(--place-accent);flex:none;font-weight:700}.occupants{flex:1;gap:3px;min-width:0;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.occupants li{background:#f7f0e5e0;border:1px solid #271f184d;border-radius:2px;align-items:center;gap:2px;min-width:0;padding:1px 3px;display:flex}.occupants li.is-empty{color:#766b5d}.seal-mark{background:var(--place-accent);color:#fff8ed;flex:none;place-items:center;width:13px;height:13px;font-size:8px;display:grid}.occupant-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.occupant-hp{color:#7e261f;font-variant-numeric:tabular-nums;flex:none}@media (width<=900px){.board{grid-template-columns:minmax(0,1fr)}.area-0,.area-1,.area-2{grid-column:auto;width:min(100%,320px)}}.hint{color:var(--text-dim);font-size:13px}.hint.is-center{text-align:center}.private-panel,.log-panel,.lobby-block{border:1px solid var(--line);background:#14181fb3;border-radius:2px;padding:9px 10px}.role-card{background:var(--paper);color:#1c1a16;border:1px solid #00000080;border-left-width:5px;border-radius:5px;padding:10px 12px}.role-card.camp-boss{border-left-color:var(--shu)}.role-card.camp-jiki{border-left-color:var(--ai)}.role-card.camp-yajiuma{border-left-color:var(--matcha)}.role-card{margin:0}.role-card.has-face{background:#10141b;border:1px solid #0000008c;padding:0;overflow:hidden}.rail-info .role-card.has-face .card-face{object-fit:cover;object-position:center 12%;max-height:236px}.role-card figcaption{color:var(--text);justify-content:space-between;align-items:baseline;gap:8px;padding:6px 9px;font-size:12px;display:flex}.role-name{color:var(--text);font-size:16px}.reviewed-text{white-space:normal;display:block}.reviewed-line{display:block}.reviewed-run.tone-plain{color:inherit}.reviewed-run.tone-key{color:#e2bc4f}.reviewed-run.tone-value{color:#ff8c78}.role-reviewed-intro{color:#dce6f0;background:#111720;border-top:1px solid #e8ddca1f;gap:5px;padding:10px 11px 12px;font-size:11px;line-height:1.58;display:grid}.role-card.is-sealed{aspect-ratio:560/806;background:0 0;border:0;min-height:0;padding:0;overflow:hidden}.role-head{justify-content:space-between;font-size:12px;display:flex}.camp-tag{letter-spacing:.2em}.role-name{letter-spacing:.1em;margin:4px 0 6px;font-size:20px}.role-win{color:#4a4339;margin:0;font-size:13px}.ability-list,.klein-memory ul{margin:10px 0 0;padding:0;font-size:13px;list-style:none}.ability-list li,.klein-memory li{color:var(--text-dim);border-bottom:1px dotted #c9a22738;justify-content:space-between;gap:8px;padding:4px 0;display:flex}.ability-list li.is-usable{color:var(--text)}.ability-state{color:var(--kin);font-size:12px}.klein-memory li{justify-content:flex-start}.direction{border:1px solid;flex:none;place-items:center;width:20px;height:20px;font-size:12px;display:grid}.direction-obey{color:var(--shu)}.log-list{flex:1;min-height:0;margin:0;padding:0;font-size:12px;list-style:none;overflow-y:auto}.log-list li{color:#c9beac;border-bottom:1px dotted #c9a22729;gap:6px;padding:3px 0;display:flex}.log-list li.is-hidden{color:#d9b98a}.log-list li.is-empty{color:var(--text-dim);border:0}.log-seq{text-align:right;color:#6c6252;flex:none;width:18px;font-size:12px}.log-seal{color:var(--shu);flex:none;font-size:12px}.log-panel{flex-direction:column;min-height:0;display:flex;overflow:hidden}.decks{flex:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.deck{border:1px solid var(--line);background:#14181fb8;border-left-width:3px;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:5px 8px;display:flex}.deck-hakurei{border-left-color:var(--shu)}.deck-moriya{border-left-color:var(--matcha)}.deck-kleinji{border-left-color:var(--ai)}.deck-name{color:var(--text);letter-spacing:.14em}.deck-count{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.equip-row{flex-wrap:wrap;gap:8px;display:flex}.equip-card{width:104px;transform:rotate(var(--tilt,0deg));background:var(--paper);color:#2b2620;box-shadow:none;border:1px solid #00000080;border-radius:4px;margin:0;overflow:visible}.equip-card img{border-radius:inherit;width:100%;display:block}.equip-card figcaption{-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:3px 5px;font-size:11px;line-height:1.3;display:-webkit-box;overflow:hidden}.equip-card.is-draggable{cursor:grab}.equip-text{padding:6px;font-size:12px;display:block}.gate{place-items:center;padding:12vh 22px;display:grid}.gate-form{border:1px solid var(--line);width:min(420px,100%);box-shadow:var(--shadow);background:#14181fcc;border-radius:2px;flex-direction:column;gap:12px;padding:24px 26px;display:flex}.gate-form h2,.lobby .section-title{margin-top:0}input,select{border:1px solid var(--line);background:#080a0ebf;border-radius:2px;padding:7px 10px}input:focus,select:focus{border-color:var(--kin);outline:none}.lobby{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));align-items:start;gap:18px;padding:18px 22px 40px;display:grid}.form-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end;gap:10px 14px;display:grid}.form-grid label,.gate-form label{color:var(--text-dim);flex-direction:column;gap:4px;font-size:13px;display:flex}.form-grid label.is-check{flex-direction:row;align-items:center;gap:8px}.join-row{gap:8px;display:flex}.join-row input{flex:1}.room-list,.seat-list{margin:12px 0 0;padding:0;list-style:none}.room-list li,.seat-list li{border-bottom:1px dotted #c9a22733;align-items:center;gap:10px;padding:7px 0;display:flex}.room-list li.is-empty,.seat-list li.is-empty{color:var(--text-dim)}.room-name{flex:1}.room-meta{color:var(--text-dim);font-size:12px}.room-head{flex-wrap:wrap;align-items:center;gap:12px;margin:0;display:flex}.seat-no{border:1px solid var(--line);width:22px;height:22px;color:var(--kin);place-items:center;font-size:12px;display:grid}.seat-name{flex:1}.seat-online{color:var(--text-dim);font-size:12px}.seat-online.is-on{color:#8fc79a}.seat-ready{text-align:right;width:76px;color:var(--text-dim);font-size:12px}.seat-list li.is-ready .seat-ready{color:var(--kin)}.seat-list li.is-bot{background:#63a9dc0f;border-left:2px solid #63a9dc;padding-left:8px;padding-right:8px}.bot-badge{color:#8fc8ee;letter-spacing:.12em;border:1px solid #63a9dc80;border-radius:3px;margin-left:7px;padding:1px 5px;font:700 9px/1.4 ui-monospace,monospace}.bot-controls{background:#080d149e;border:1px solid #63a9dc38;border-radius:4px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding:9px 10px;display:flex}.bot-count{color:var(--text-dim);letter-spacing:.08em;margin-right:auto;font-size:12px}.bot-count strong{color:#8fc8ee;margin-left:5px;font-size:15px}.room-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-thumb{background:#c9a22740;border-radius:2px}.card-face{width:100%;height:auto;display:block}.card-back-art{border-radius:5px;width:100%;height:100%;display:block;position:relative;overflow:hidden}.card-back-image{object-fit:fill;width:100%;height:100%;display:block}.is-droppable{cursor:pointer;outline:2px solid var(--kin);outline-offset:2px}.drag-ghost{z-index:320;filter:drop-shadow(0 16px 18px #000000a8);pointer-events:none;transform-origin:50%;background:0 0;border:0;border-radius:5px;padding:0;display:grid;position:fixed;transform:rotate(2deg)scale(1.04)}.drag-ghost.is-card>img,.drag-ghost.is-card>.card-back-art{object-fit:contain;border-radius:5px;width:100%;height:100%;display:block}.drag-ghost.is-card>.card-back-art{display:grid}.drag-ghost.is-spell{background:linear-gradient(90deg,#4a345bf5,#14141cfa);border:1px solid #a57dccc7}.drag-spell-card{grid-template-columns:minmax(30px,22%) minmax(0,1fr);align-items:center;gap:8px;width:100%;height:100%;padding:5px 8px;display:grid}.drag-spell-card>span:last-child{flex-direction:column;min-width:0;display:flex}.drag-spell-card strong{color:#eadbf3;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.drag-spell-card small{color:#a991b8;font-size:7px}.drag-ghost.is-object{border:1px solid var(--kin);min-width:92px;color:var(--text);background:#0a0d12f5;padding:8px 12px;width:auto!important;height:auto!important}.drag-ghost.is-armed{animation:1.2s ease-in-out infinite held-card-pulse}.is-drag-source{opacity:.16!important}@keyframes held-card-pulse{50%{filter:drop-shadow(0 18px 24px #c9a22775);transform:rotate(-1deg)scale(1.06)}}.tip-layer{z-index:200;border:1px solid var(--line);width:max-content;max-width:min(26em,74vw);color:var(--text);letter-spacing:.02em;white-space:pre-line;box-shadow:var(--shadow);pointer-events:none;background:#090b10f7;border-radius:3px;padding:7px 10px;font-size:12px;line-height:1.55;position:fixed;transform:translate(-50%,-100%)}.tip-layer.is-below{transform:translate(-50%)}.section-sub-inline{color:var(--text-dim);letter-spacing:.08em;margin-left:8px;font-size:11px}.badge{border:1px solid var(--shu);color:var(--shu);border-radius:3px;margin-left:8px;padding:1px 8px;font-size:11px}.badge.is-immune{color:#b9eef2;background:#18434cb8;border-color:#72b7c2}.status-list{color:var(--text-dim);margin:0;padding:0;font-size:12px;list-style:none}.status-list li{border-bottom:1px dotted #c9a22729;padding:3px 0}.status-list li.is-on{color:var(--text)}body{background-color:#090c11;background-image:linear-gradient(#04070dd6,#04070de6),url(/materials/table-background.webp);background-position:50%;background-size:cover;background-attachment:fixed}button{background:#141922}button.is-primary{background:#76291f}button.is-danger{background:#241313}.role-card,.equip-card{background:#e7ddca}.masthead{background:#0d1118}.player-panel.is-turn .seal-face,.wound.is-filled,.badge{background:#a93428}.table-status{color:#c9c0b0;text-align:center;background:0 0;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:3px 12px;width:100%;min-width:0;margin:0;padding:2px 8px;font-size:clamp(11px,.72vw,14px);line-height:1.45;display:flex}.status-round,.status-phase{color:#e0c27c;white-space:nowrap}.status-turn{color:#bdb2a0;white-space:nowrap}.status-turn strong,.status-piece{color:var(--player-color,var(--kin))}.status-piece{margin-right:4px}.status-guidance{color:#b7b1a5;min-width:0}.status-extra-turns{color:#c7b271}.player-panel.is-targetable,.player-piece.is-targetable{cursor:crosshair}.object-choices{z-index:8;gap:3px;display:flex;position:absolute}.object-choices button{color:#eadfce;letter-spacing:0;background:#471f1b;border:1px solid #a34236;border-radius:0;padding:2px 5px;font-size:8px}.player-object-choices{bottom:4px;right:4px}.place-object-choices{justify-content:center;bottom:32px;left:8px;right:8px}.player-panel{min-width:0;box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0;overflow:visible}.player-panel.is-fallen{filter:grayscale(.8);opacity:.58}.player-seal{border:1px solid color-mix(in srgb, var(--card-accent,var(--player-color)) 64%, #efe2c4);width:100%;height:100%;color:var(--text);text-align:left;letter-spacing:0;background:#0d1118;border-radius:6px;padding:0;transition:border-color .15s,transform .15s;display:block;position:relative;overflow:visible;box-shadow:0 5px 12px #00000061}.player-panel:hover .player-seal,.player-panel.is-pinned .player-seal{border-color:#f2e3be;transform:translateY(-2px)}.player-panel.is-turn .player-seal{border-color:var(--card-accent,var(--player-color))}.player-panel.is-targetable .player-seal,.player-seal.is-droppable{cursor:crosshair}.player-card-media{width:100%;height:100%;transform-style:preserve-3d;border-radius:5px;transition:transform .76s cubic-bezier(.22,.68,.24,1);display:block;position:relative;transform:perspective(800px)rotateY(0)}.player-seal.is-revealed .player-card-media{transform:perspective(800px)rotateY(180deg)}.player-card-media>.player-card-back,.player-card-media>.player-card-front{border-radius:inherit;backface-visibility:hidden;background:#17130f;display:block;position:absolute;inset:0;overflow:hidden}.player-card-media>.player-card-front{transform:rotateY(180deg)}.player-card-front>.card-face{object-fit:contain;object-position:center;width:100%;height:100%;display:block}@media (prefers-reduced-motion:reduce){.player-card-media{transition:none}}.player-card-name{border:1px solid color-mix(in srgb, var(--card-accent,var(--player-color)) 52%, #2b3038);color:#eee4d1;white-space:nowrap;background:#0d1118;justify-content:center;align-items:center;gap:4px;height:18px;font-size:clamp(9px,.62vw,12px);line-height:1;display:flex;position:absolute;bottom:-20px;left:5px;right:5px;overflow:hidden}.player-card-name strong{text-overflow:ellipsis;overflow:hidden}.player-card-name small{color:var(--card-accent,var(--player-color));font-size:7px}.player-vitals{z-index:3;gap:4px;width:27px;display:grid;position:absolute;top:0;right:-25px}.player-vitals>span{clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 7px),0 100%);color:#493b2e;background:linear-gradient(90deg,#e4cda6,#f4e2bf 48%,#dbc097);border:0;border-radius:1px 1px 0 0;grid-template-columns:1fr;place-items:center;width:27px;min-height:46px;padding:4px 1px 11px;line-height:1;display:grid}.player-vitals strong{font:700 18px/1 var(--number-font)}.player-vitals small{color:#74604b;margin-top:2px;font-size:7px}.player-vitals .player-health strong{color:#32694b}.player-vitals .player-damage strong{color:#a54337}.player-equipment-count{z-index:3;color:#dac28d;background:#1e1a14;border:1px solid #9d875d;border-radius:3px;padding:2px 4px;font-size:8px;line-height:1.15;position:absolute;bottom:5px;left:-10px}.player-immunity{z-index:4;color:#c4f4f6;background:#173c45;border:1px solid #72b7c2;border-radius:50%;place-items:center;width:22px;height:22px;font:700 10px/1 serif;display:grid;position:absolute;top:5px;left:-10px;box-shadow:0 2px 5px #00000073}.seal-turn{z-index:4;border:1px solid var(--card-accent,var(--player-color));color:var(--card-accent,var(--player-color));letter-spacing:.12em;white-space:nowrap;background:#111720;padding:2px 6px;font-size:8px;position:absolute;top:-11px;left:50%;transform:translate(-50%)}.board{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:clamp(7px,.72vw,18px);min-width:0;display:grid}.area{--area-accent:#c98579;--area-fill:#83363014;border:1px dashed color-mix(in srgb, var(--area-accent) 78%, transparent);background:var(--area-fill);width:100%;min-width:0;box-shadow:none;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(5px,.4vw,10px);padding:clamp(7px,.52vw,12px) clamp(6px,.48vw,11px);display:grid;position:relative}.area-0{--area-accent:#d77f8d;--area-fill:#9c3a491a}.area-1{--area-accent:#72a9d4;--area-fill:#3169961a}.area-2{--area-accent:#8fb776;--area-fill:#5284481a}.board-place{aspect-ratio:5/7;width:100%;min-width:0;min-height:180px;position:relative}.board-place>.place-card{height:100%}.place-card{--place-accent:#d65d6c;aspect-ratio:5/7;isolation:isolate;color:#f8f1e4;background:#080b10;border:1px solid #eeddba42;border-radius:clamp(5px,.45vw,9px);grid-template-rows:auto minmax(0,1fr) auto;gap:4px;width:100%;min-width:0;padding:clamp(7px,.55vw,14px) clamp(6px,.5vw,12px) clamp(8px,.6vw,15px);transition:transform .16s,border-color .16s;display:grid;position:relative;overflow:hidden;box-shadow:0 6px 16px #00000057}.place-card:hover{z-index:5;border-color:color-mix(in srgb, var(--place-accent) 65%, #f4dfb0);transform:translateY(-2px);box-shadow:0 8px 18px #0000006b}.place-card.is-current{border-color:var(--kin);box-shadow:0 7px 18px #0006}.place-card.is-pickable,.place-card.is-droppable{cursor:pointer}.place-hakurei,.place-eientei{--place-accent:#e56a79}.place-moriya,.place-magic_forest{--place-accent:#75b47b}.place-kleinji,.place-human_village{--place-accent:#73aada}.place-card:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(#030508c2,#03050838 24%,#0000 42% 68%,#030508a6);position:absolute;inset:0}.place-card:after{content:"";z-index:2;pointer-events:none;border:1px solid #ffefcd17;border-radius:max(3px,clamp(6px,.55vw,12px) - 3px);position:absolute;inset:5px}.place-scene{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.place-scene img{object-fit:contain;object-position:center;width:100%;height:100%;display:block;position:absolute;inset:0}.place-scene .place-scene-padding{object-fit:cover;filter:blur(12px);width:calc(100% + 72px);height:calc(100% + 72px);inset:-36px}.place-head{z-index:3;text-shadow:0 1px 2px #000000f5,0 0 10px #000000d1;background:0 0;grid-row:1;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:4px 8px;min-width:0;padding:3px 2px 4px;display:grid;position:relative;inset:auto}.place-index{color:#ffffffd1;letter-spacing:.06em;white-space:nowrap;grid-area:1/1;font-size:clamp(7px,.48vw,10px);font-weight:600;line-height:1}.place-title{color:#fff;letter-spacing:.035em;grid-area:2/1/auto/-1;min-width:0;margin:0;font-size:clamp(14px,1.18vw,28px);font-weight:650;line-height:1.12}.place-title ruby rt{color:#ffffffe0;font-size:.4em}.place-dice{grid-area:1/2;gap:3px;display:flex}.die{color:#211b14;width:clamp(19px,1.18vw,29px);height:clamp(19px,1.18vw,29px);text-shadow:none;background:#f8edd6f0;border-color:#17130fd1;border-radius:5px;font-size:clamp(9px,.62vw,13px);box-shadow:0 2px 7px #00000061}.place-effect-caption{z-index:3;border-left:2px solid var(--place-accent);color:#fffffff0;letter-spacing:.015em;text-shadow:0 1px 2px #000000e6;text-wrap:pretty;white-space:normal;background:#05070ac2;grid-row:3;align-items:flex-start;gap:3px;min-width:0;margin:0;padding:4px 3px;font-size:clamp(7.5px,.5vw,10.5px);line-height:1.25;display:flex;position:relative;inset:auto;overflow:visible}.place-effect-caption span{color:var(--place-accent);flex:none}.place-pieces{z-index:4;flex-wrap:wrap;grid-row:2;place-content:center;justify-self:center;gap:3px;width:100%;max-width:156px;min-height:0;display:flex;position:relative;inset:auto;transform:none;container-type:size}.player-piece{aspect-ratio:1;border:1px solid color-mix(in srgb, var(--player-color) 82%, #fff);background:color-mix(in srgb, var(--player-color) 68%, #080b10);color:#fff;letter-spacing:0;border-radius:50%;place-items:center;width:32px;min-width:0;height:auto;padding:0;font-size:clamp(11px,.78vw,15px);line-height:1;display:grid;position:relative;box-shadow:0 3px 8px #0000007a}.place-pieces>.player-piece{flex:0 0 min(32px,25% - 2.25px,50cqh - 1.5px);width:min(32px,25% - 2.25px,50cqh - 1.5px);min-height:0;font-size:clamp(8px,10cqw,15px);container-type:inline-size}.place-pieces .piece-damage,.place-pieces .piece-immunity{width:clamp(8px,42cqw,15px);min-width:0;height:clamp(8px,42cqw,15px);padding:0;font-size:clamp(6px,26cqw,9px);right:-2px}.place-pieces .piece-damage{font-size:clamp(10px,36cqw,13px)}.player-piece:hover:not(:disabled){border-color:#fff2d2}.piece-glyph{color:#fff;text-shadow:0 1px 2px #000000d9;font-size:1.16em}.piece-name{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.piece-damage{color:#fff;min-width:15px;height:15px;font-family:var(--number-font);background:#080b10;border:1px solid #fff4dcc2;border-radius:999px;place-items:center;padding:0 2px;font-size:13px;line-height:1;display:grid;position:absolute;bottom:-4px;right:-4px}.piece-immunity{color:#e3ffff;background:#173c45;border:1px solid #b9eef2;border-radius:50%;place-items:center;width:15px;height:15px;font:700 8px/1 serif;display:grid;position:absolute;top:-4px;right:-4px}.player-piece.is-immune{box-shadow:0 0 0 2px #72b7c2a8,0 3px 8px #0000007a}.player-piece.is-fallen{filter:grayscale();opacity:.6}.player-piece.is-moving{animation:.72s cubic-bezier(.2,.8,.2,1) piece-hop}@keyframes piece-hop{0%,to{transform:translateY(0)scale(1)}42%{transform:translateY(-18px)scale(1.2)}}.table-console>.decks{min-width:0;min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0}.decks{grid-template-columns:minmax(0,1fr);gap:12px;height:auto;padding:6px;display:grid}.deck-slot{isolation:isolate;grid-template-columns:minmax(0,1fr) 62px;align-items:center;gap:10px;min-width:0;min-height:0;display:grid}.deck{aspect-ratio:560/806;background:0 0;border:0;border-radius:5px;justify-self:center;width:min(100%,104px);min-width:0;padding:0;display:block;position:relative;overflow:visible}.deck:after{display:none}.deck-edge{z-index:0;background:#262018;border:1px solid #dac69c4d;border-radius:4px;position:absolute;inset:2px}.deck-edge.edge-one{transform:translate(3px,3px)}.deck-edge.edge-two{transform:translate(6px,6px)}.discard-pile{aspect-ratio:560/806;color:#625d54;border:1px dashed #cab7903d;justify-self:end;place-items:center;width:min(100%,82px);font-size:clamp(7px,.42vw,9px);display:grid;position:relative}.discard-pile>.card-back-art{position:absolute;inset:0}.discard-pile.has-cards{color:#c8b990;background:#27221c;border-style:solid;transform:rotate(3deg)}.discard-pile i{z-index:1;color:#d0c7b4;background:#111a;padding:1px 3px;font-style:normal;position:relative}.discard-pile b{z-index:1;font:600 17px/1 var(--number-font);background:#111b;position:absolute;bottom:0;right:1px}.deck-material{z-index:1;opacity:.92;width:100%;height:100%;position:absolute;inset:0}.deck-name{z-index:2;color:#f5ead3e0;letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap;background:#05070ac7;padding:2px;font-size:clamp(7px,.48vw,10px);position:absolute;bottom:5px;left:3px;right:3px;overflow:hidden}.deck-count{z-index:3;color:#e8c65e;width:28px;height:28px;font:700 22px/1 var(--number-font);background:#080a0dd1;border:1px solid #ffe59f80;border-radius:50%;place-items:center;display:grid;position:absolute;top:4px;right:4px}.deck.is-draggable{cursor:grab}.judge-token{color:#69645d;border:1px solid #89817438;flex:none;align-content:center;place-items:center;gap:2px;width:42px;display:grid}.judge-token>span{font-size:17px;line-height:1}.judge-token>small{font-size:7px}.judge-token.is-on{color:#dfc87d;background:#734b202e;border-color:#cfb1669e}.spell-card{color:#d4c7dd;opacity:.7;background:#24212b;border:1px solid #675870;border-radius:3px;flex:0 0 42px;align-content:center;place-items:center;gap:5px;width:42px;height:60px;padding:3px;display:grid;box-shadow:1px 3px 3px #0005}.spell-card.is-usable,.spell-card.is-targetable{opacity:1;border-color:#a57dcc94}.spell-card.is-targetable{cursor:pointer}.spell-card.is-draggable{cursor:grab}.spell-sigil{object-fit:contain;width:26px;height:26px;display:block}.spell-cast{text-align:center;grid-column:1/-1}.spell-cast button{color:#eadbf3;background:#35233f;border-color:#ab7ed380;padding:3px 7px;font-size:8px}.spell-cast em{color:#a991b8;white-space:nowrap;font-size:7px;font-style:normal}.spell-cast small{font:9px/1.2 var(--serif);color:#d4c7dd}.choice-rack{flex-wrap:wrap;gap:5px;max-height:80px;margin-top:6px;display:flex;overflow-y:auto}.choice-token{color:#e2d1eb;background:#251d2b;border:1px solid #ae8ed08c;border-radius:5px;place-items:center;width:56px;min-height:48px;padding:3px;display:grid}.choice-token .die-model{width:25px;height:25px}.choice-token-mark{font:600 19px/1 var(--serif)}.choice-token small{text-align:center;font-size:7px;line-height:1.15}.equipment-choice{border:2px solid #b7935c;flex:none;width:52px;padding:2px}.equipment-choice img{aspect-ratio:560/806;object-fit:contain;width:100%;display:block}.hand-arc{perspective:900px;place-items:end center;height:calc(100% - 18px);min-height:76px;display:grid;position:relative;overflow:visible}.hand-card{z-index:calc(10 + var(--fan-index,0));aspect-ratio:5/7;width:clamp(72px,5.8vw,112px);transform:translateX(calc(-50% + var(--fan-offset,0px))) translateY(var(--fan-depth,0px)) rotate(var(--fan-angle,0deg));transform-origin:50% 120%;filter:drop-shadow(0 7px 9px #00000075);margin:0;transition:transform .17s,filter .17s;position:absolute;bottom:-32px;left:50%}.hand-card img{object-fit:contain;background:#090c11;border:1px solid #e8d8b680;border-radius:5px;width:100%;height:100%;display:block}.hand-card figcaption{display:none}.hand-card.is-playable{cursor:grab}.hand-card.is-playable:active{cursor:grabbing}.hand-card:hover{z-index:60;transform:translateX(calc(-50% + var(--fan-offset,0px))) translateY(-48px) rotate(0) scale(1.42);filter:drop-shadow(0 14px 18px #0009)}.status-list{height:calc(100% - 20px);font-size:clamp(8px,.52vw,11px);overflow-y:auto}.status-list li{padding:2px 0}.die-model{color:#17130f;flex-direction:column;flex:none;justify-content:center;align-items:center;font-style:normal;display:flex;position:relative}.die-model svg{z-index:0;filter:drop-shadow(0 3px 2px #00000057);width:100%;height:100%;position:absolute;inset:0;overflow:visible}.die-shell{fill:#f1e5ce;stroke:#574834;stroke-width:2.6px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.die-model small,.die-model b{z-index:1;font-family:ui-monospace,monospace;font-style:normal;position:relative}.player-drawer.is-open~.log-drawer{visibility:hidden;pointer-events:none}.sequence-layer{z-index:190;pointer-events:none;background:#03050899;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.sequence-opening{animation:1.9s both sequence-fade}.opening-panel{z-index:1;background:#d8ceba;border-color:#7c6b50;width:50.1%;position:absolute;top:0;bottom:0}.opening-panel.is-left{border-right:2px solid #7c6b50;animation:1.9s ease-in-out both opening-left;left:0}.opening-panel.is-right{border-left:2px solid #7c6b50;animation:1.9s ease-in-out both opening-right;right:0}.opening-title{z-index:3;color:#221a13;background:#ede4d2;border:1px solid #3d3023;flex-direction:column;align-items:center;gap:8px;padding:13px 24px;animation:1.9s both opening-title;display:flex;position:relative}.opening-title span{letter-spacing:.28em;font-size:11px}.opening-title strong{color:#8e291f;letter-spacing:.14em;font:700 clamp(38px,5vw,72px)/1 serif}.opening-deal{z-index:2;position:absolute;top:62%;left:50%}.opening-card{color:#d9c48f;opacity:0;width:70px;height:100px;animation:opening-deal .9s cubic-bezier(.2, .8, .2, 1) var(--deal-delay) both;background:#351a19;border:2px solid #c4ae78;border-radius:4px;place-items:center;display:grid;position:absolute;transform:translate(-50%,-50%)scale(.15)}.opening-card:before{content:"";border:1px solid #d9c48f80;position:absolute;inset:6px}.opening-card i{font:700 25px/1 serif}.opening-card small{text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:8px;position:absolute;bottom:3px;left:3px;right:3px;overflow:hidden}.sequence-turn{background:0 0;animation:1.15s both sequence-fade}.turn-ribbon{color:#34291e;background:#e5dac5;border-top:1px solid #7d6c4f;border-bottom:1px solid #7d6c4f;grid-template-columns:1fr auto 1fr;align-items:baseline;gap:18px;width:100%;padding:13px max(24px,50vw - 460px);animation:1.15s cubic-bezier(.25,.8,.25,1) both turn-ribbon;display:grid}.turn-ribbon span{letter-spacing:.14em;justify-self:end;font-size:11px}.turn-ribbon strong{color:#8d2c23;font:600 clamp(23px,3vw,42px)/1 serif}.turn-ribbon small{letter-spacing:.18em;font-size:11px}.sequence-dice{animation:1.65s both sequence-fade}.sequence-dice.is-setup{animation-duration:1.1s}.sequence-dice.is-awaiting,.sequence-dice.is-awaiting .effect-die{animation:none}.sequence-dice.is-awaiting .dice-tray{pointer-events:auto}.sequence-dice.is-awaiting .dice-tray:not(:disabled):hover{border-color:#c9a965}.dice-tray{background:#11161e;border:1px solid #7c6a4d;border-radius:6px;justify-items:center;gap:11px;min-width:260px;padding:17px 25px;display:grid}.dice-pair{perspective:420px;align-items:center;gap:11px;display:flex}.sequence-dice .effect-die{color:#17130f;background:0 0;border:0;border-radius:0;place-items:center;width:62px;height:62px;display:grid;position:relative}.sequence-dice .die-model{width:60px;height:60px}.sequence-dice .die-model small{letter-spacing:.08em;margin-bottom:1px;font-size:8px}.sequence-dice .die-model b{font-size:25px;line-height:1}.sequence-dice .die-model-d4 small,.sequence-dice .die-model-d4 b{transform:translateY(7px)}.sequence-dice .die-d4{animation:.85s cubic-bezier(.3,.7,.25,1) both dice-roll-a}.sequence-dice .die-d6{animation:.93s cubic-bezier(.3,.7,.25,1) both dice-roll-b}.sequence-dice.is-reroll .die-shell,.sequence-dice.is-attack-roll .die-shell{stroke:#863f39}.sequence-dice.is-attack-roll .dice-tray{border-color:#863f39}.dice-tray>strong{color:#d9bf76;font-size:20px}.sequence-move{background:0 0;animation:1.05s both sequence-fade}.move-route{background:#11161e;border:1px solid #706044;align-items:center;gap:10px;padding:9px 15px;animation:1.05s both move-route;display:flex}.move-piece{color:#d6bd79;font-size:28px}.move-route small{color:var(--text-dim)}@keyframes sequence-fade{0%,8%{opacity:0}16%,82%{opacity:1}to{opacity:0}}@keyframes opening-left{0%,38%{transform:translate(0)}76%,to{transform:translate(-102%)}}@keyframes opening-right{0%,38%{transform:translate(0)}76%,to{transform:translate(102%)}}@keyframes opening-title{0%,10%{opacity:0;transform:scale(.9)}24%,70%{opacity:1;transform:scale(1)}to{opacity:0;transform:translateY(-12px)}}@keyframes opening-deal{0%{opacity:0;transform:translate(-50%,-120%)scale(.15)rotate(0)}to{opacity:1;transform:translate(calc(-50% + var(--deal-x)), -50%) scale(1) rotate(var(--deal-angle))}}@keyframes turn-ribbon{0%{opacity:0;transform:translate(-105%)}24%,72%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(105%)}}@keyframes dice-roll-a{0%{transform:translate(-55px,-40px)rotate(-35deg)scale(.65)}55%{transform:translate(8px,4px)rotate(390deg)scale(1.06)}76%{transform:translate(-3px,-7px)rotate(345deg)}to{transform:translate(0)rotate(360deg)scale(1)}}@keyframes dice-roll-b{0%{transform:translate(60px,-55px)rotate(45deg)scale(.62)}52%{transform:translate(-8px,2px)rotate(-420deg)scale(1.08)}78%{transform:translate(4px,-6px)rotate(-370deg)}to{transform:translate(0)rotate(-360deg)scale(1)}}@keyframes move-route{0%{opacity:0;transform:translate(-35px)}28%,74%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(35px)}}.settlement-layer{z-index:500;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:linear-gradient(#020407e0,#020407f5),radial-gradient(circle at 50% 28%,#97702c42,#0000 48%);place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:auto}.settlement-panel{background:#0d1219;border:1px solid #dabe777a;border-top-width:3px;width:min(920px,100%);max-height:calc(100dvh - 48px);padding:clamp(18px,3vw,34px);overflow:auto;box-shadow:0 24px 80px #000000b8}.settlement-head{text-align:center}.settlement-head>span{color:#a78b51;letter-spacing:.34em;font:600 9px/1 ui-monospace,monospace}.settlement-head h2{color:#ead7a0;letter-spacing:.2em;margin:5px 0 2px;font-size:clamp(30px,5vw,58px);font-weight:600}.settlement-head p{color:#b9ac99;margin:0 auto}.settlement-winners{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:24px 0;padding:0;list-style:none;display:grid}.settlement-winner{background:#ffffff06;border:1px solid #dac69c33;border-left:3px solid #8a806e;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:12px;padding:10px;display:grid;position:relative}.settlement-winner.is-winner{background:linear-gradient(100deg,#8e651f33,#ffffff06);border-color:#e2c36f9e;box-shadow:inset 0 0 26px #c9a2270f}.settlement-winner.is-conceder{filter:saturate(.55)}.settlement-winner.camp-boss{border-left-color:var(--shu)}.settlement-winner.camp-jiki{border-left-color:#5f91b5}.settlement-winner.camp-yajiuma{border-left-color:#79936f}.settlement-rank{color:#dcc37f38;font:700 30px/1 ui-monospace,monospace;position:absolute;top:5px;right:8px}.settlement-card{aspect-ratio:560/806;animation:settlement-card-reveal .6s ease-out var(--reveal-delay) backwards;place-items:center;display:grid;position:relative;overflow:visible}.settlement-role-front{opacity:1;background:#17121a;border:1px solid #e8dab96b;border-radius:4px;place-items:center;width:100%;height:100%;display:grid;position:absolute;inset:0;overflow:hidden}.settlement-card:not(.is-revealing){animation:none}.settlement-card .card-face{object-fit:contain;width:100%;height:100%}.settlement-winner>div:last-child{flex-direction:column;min-width:0;display:flex}.settlement-winner>div:last-child>small{color:#a9956b;letter-spacing:.18em;font-size:9px}.settlement-winner>div:last-child>strong{color:#f0e4cf;text-overflow:ellipsis;white-space:nowrap;font-size:18px;overflow:hidden}.settlement-winner>div:last-child>span{color:#968b7c;font-size:11px}.settlement-winner>div:last-child>b{color:#968b7c;letter-spacing:.14em;border:1px solid #9c8f774d;width:max-content;margin-top:5px;padding:1px 6px;font-size:8px;font-weight:500}.settlement-winner.is-winner>div:last-child>b{color:#e4c262;border-color:#e0bb5c9e}.settlement-concession{border-top:1px solid #dac69c29;border-bottom:1px solid #dac69c29;justify-content:center;align-items:baseline;gap:12px;margin:14px 0 -8px;padding:7px 10px;display:flex}.settlement-concession span{color:#a68d58;letter-spacing:.3em}.settlement-concession strong{color:#ebdfc9;font-size:25px}.settlement-actions{justify-content:center;gap:10px;display:flex}.settlement-reopen{z-index:210;color:#f1dfb8;background:#4d2a1f;border-color:#dabe779e;position:fixed;bottom:18px;right:18px}@keyframes settlement-card-reveal{0%{opacity:.4;transform:translateY(8px)scaleX(.08)}22%{opacity:1}to{opacity:1;transform:none}}.drawer-scrim{z-index:229;background:#020407a8;border:0;border-radius:0;padding:0;position:fixed;inset:0}.player-drawer{z-index:230;width:min(430px,92vw);box-shadow:none;background:#080b11f7;border-left:1px solid #c9a22742;padding:14px;transition:transform .18s;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(104%)}.player-drawer.is-open{transform:translate(0)}.log-drawer{z-index:80;left:calc(var(--deck-rail-width) + 24px);width:min(360px,100vw - 28px);position:fixed;bottom:14px}.log-drawer>summary{width:max-content;color:var(--text-dim);cursor:pointer;background:#080b11f0;border:1px solid #c9a2274d;border-radius:5px;margin-left:0;padding:5px 10px;font-size:11px;list-style:none}.log-drawer[open]>summary{margin-bottom:5px}.log-drawer .log-panel{max-height:min(420px,56vh);box-shadow:none;background:#0a0e14}.tip-stack{z-index:300;pointer-events:none;max-width:calc(100vw - 24px);position:fixed}.tip-stack.is-left{transform:translate(-100%)}.tip-stack.is-top{transform:translate(-50%,-100%)}.tip-stack.is-bottom{transform:translate(-50%)}.tip-stack.is-center{transform:translate(-50%);left:50%!important}.tip-panel{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--tip-accent,var(--kin)) 62%, transparent);width:min(360px,100vw - 24px);max-height:calc(100vh - 24px);color:var(--text);white-space:pre-line;background:#10151d;border-left-width:3px;border-radius:6px;padding:13px 15px;font-size:12px;line-height:1.6;animation:.13s both tip-enter;overflow:auto}.tip-unified.has-art{grid-template-columns:112px minmax(0,1fr);gap:15px;width:min(430px,100vw - 24px);display:grid}.tip-stack.layout-card .tip-unified{width:min(520px,100vw - 24px)}.tip-stack.layout-card .tip-unified.has-art{grid-template-columns:184px minmax(0,1fr);gap:18px}.tip-art{align-self:start;min-width:0}.tip-art img{object-fit:contain;object-position:center top;border:1px solid color-mix(in srgb, var(--tip-accent,var(--kin)) 32%, #312b22);background:#090c11;border-radius:5px;width:100%;max-height:300px;display:block}.tip-stack.layout-card .tip-art img{aspect-ratio:560/806;max-height:none}.tip-card-back{aspect-ratio:560/806;width:100%;display:block}.tip-copy{min-width:0}.tip-panel strong{color:#f7ecd8;letter-spacing:.04em;font-size:17px;display:block}.tip-panel p{color:#cfc3b0;margin:5px 0 0}.tip-summary{border-bottom:1px solid #e8ddca1a;padding-bottom:9px;color:#eee2cf!important}.tip-reviewed-title .reviewed-line{display:inline}.tip-reviewed-copy{color:#dce6f0;border-top:1px solid #e8ddca1a;gap:6px;margin-top:10px;padding-top:10px;font-size:12px;line-height:1.62;display:grid}.tip-kicker,.tip-level-label{color:var(--tip-accent,var(--kin));letter-spacing:.14em;margin-bottom:4px;font-size:10px;font-weight:700;display:block}.tip-rule{margin-top:11px}.tip-rule p{margin-top:3px;font-size:13px;line-height:1.68}.tip-meta{border-top:1px solid #e8ddca1a;padding-top:10px}@keyframes tip-enter{0%{opacity:0;transform:translateY(4px)}}.table-effect{z-index:190;box-shadow:none;pointer-events:none;background:#0a0e14;border:1px solid #c9a22770;border-radius:6px;align-items:center;gap:9px;padding:10px 14px;animation:1.05s both table-effect;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.table-effect strong{color:var(--kin);font-size:18px}.effect-die{color:#17130f;background:#f1e5ce;border:1px solid #382f23;border-radius:6px;place-items:center;width:34px;height:34px;font:700 17px/1 ui-monospace,monospace;display:grid}.effect-damage strong{color:#ef6c6c}.effect-heal strong{color:#75d292}.effect-card img,.effect-reveal .card-face{object-fit:contain;border-radius:4px;width:58px;max-height:88px}@keyframes table-effect{0%{opacity:0;transform:translate(-50%,-42%)scale(.86)}18%,72%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-58%)scale(1.04)}}@media (width<=1240px) and (width>=960px){.area{padding:7px}.place-title{font-size:clamp(12px,1.28vw,16px)}}.eientei-choice{color:#e9dfca;text-align:center;background:linear-gradient(145deg,#242630,#101720);border:1px solid #bca476;border-radius:8px;width:min(420px,100vw - 32px);padding:26px;box-shadow:0 18px 80px #000b}.eientei-choice::backdrop{background:#02050bc7}.eientei-choice h2{color:#dcc48f;font:500 25px var(--serif);margin:0 0 12px}.eientei-choice p{margin:0 0 20px;font-size:14px}.eientei-modes{gap:12px;margin-bottom:18px;display:flex}.eientei-mode{border-radius:5px;flex:1;padding:14px 8px}.eientei-mode.is-damage{color:#f0b9a8;background:#432825;border-color:#ba7664}.eientei-mode.is-heal{color:#badbbd;background:#223a2d;border-color:#6e987a}@media (width<=959px){.log-drawer{left:14px}.tip-panel,.tip-unified.has-art,.tip-stack.layout-card .tip-unified,.tip-stack.layout-card .tip-unified.has-art{width:100%}.tip-stack.layout-card .tip-unified.has-art{grid-template-columns:152px minmax(0,1fr)}.opening-deal{transform:scale(.62)}.turn-ribbon{text-align:center;grid-template-columns:1fr;justify-items:center;gap:3px}.turn-ribbon span{justify-self:center}.drawn-card{width:min(250px,68vw)}}@media (width<=759px){.tip-stack,.tip-stack.is-left,.tip-stack.is-right,.tip-stack.is-top,.tip-stack.is-bottom,.tip-stack.is-center{width:min(600px,100vw - 24px);max-height:calc(100vh - 24px);bottom:12px;right:auto;transform:translate(-50%);top:auto!important;left:50%!important}}@media (width<=520px){.tip-panel{padding:10px}.tip-stack.layout-card .tip-unified.has-art{grid-template-columns:108px minmax(0,1fr);gap:11px}.tip-panel strong{font-size:15px}.tip-rule p{font-size:12px}}@media (prefers-reduced-motion:reduce){.opening-panel{opacity:0;animation:none}.opening-title,.opening-card,.turn-ribbon,.sequence-dice .effect-die,.move-route,.table-effect,.player-piece.is-moving,.settlement-card,.settlement-role-front{animation:none}.opening-card{opacity:1;transform:translate(calc(-50% + var(--deal-x)), -50%) scale(1) rotate(var(--deal-angle))}}
