@font-face{font-family:Cinzel;src:url(./Cinzel-Dzu6Mfm8.ttf)format("truetype");font-weight:400 900}@font-face{font-family:MedievalSharp;src:url(./MedievalSharp-Cv3AoTFs.ttf)format("truetype")}:root{--bg:#1d1712;--panel:#2b2219;--panel-2:#352b20;--border:#ffecc829;--text:#f1e8d6;--muted:#b7a98f;--accent:#e0a94a;--accent-text:#241b12;--danger:#e0685d}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--bg);height:100%;color:var(--text);-webkit-tap-highlight-color:transparent;overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;margin:0;font:16px/1.4 system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}#game{position:fixed;inset:0}#game canvas{display:block}#ui:empty{display:none}.screen{z-index:10;background:radial-gradient(ellipse at 50% 30%, #3a2e22, var(--bg) 70%);touch-action:pan-y;place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow-y:auto}.screen.overlay{background:#0a0705d1;animation:.25s ease-out fade-in}#fade{z-index:100;opacity:0;pointer-events:none;background:#000;transition:opacity .22s ease-out;position:fixed;inset:0}#fade.on{opacity:1;pointer-events:all;transition-duration:.14s;transition-timing-function:ease-in}@keyframes fade-in{0%{opacity:0}}.viewer,.rulebook{animation:.2s ease-out fade-in}.card{border:1px solid var(--border);background:#140f0ab8;border-radius:18px;width:min(560px,100%);padding:24px}.title{text-align:center;margin:0 0 4px;font:700 clamp(30px,6vw,56px)/1.05 Cinzel,serif}.sub{color:var(--muted);text-align:center;margin:0 0 20px}.stack{gap:12px;display:grid}.btn{border:1px solid var(--border);min-height:48px;color:var(--text);font:inherit;cursor:pointer;background:#fff4dc1a;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:600;display:inline-flex}.btn:hover{background:#fff4dc2e}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn.small{min-height:36px;padding:6px 12px;font-size:14px}.link{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;margin:-8px -4px;padding:8px 4px;text-decoration:underline}.field{gap:6px;font-weight:600;display:grid}.field input,select{border:1px solid var(--border);color:var(--text);font:inherit;background:#0000004d;border-radius:9px;padding:10px 12px;font-weight:400}.pick{cursor:pointer;min-width:0;min-height:48px;color:var(--text);font:inherit;text-align:left;background:linear-gradient(#3d3022,#2a2018);border:1px solid #e0a94a8c;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 14px;font-weight:600;display:inline-flex;box-shadow:inset 0 1px #ffecc81f,0 2px 6px #00000059}.pick:hover:not(:disabled){border-color:var(--accent);background:linear-gradient(#47382a,#30251b)}.pick:disabled{opacity:.6;cursor:default}.pick-label{letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;font-family:Cinzel,serif;font-weight:700;overflow:hidden}.pick-chev{color:var(--accent);font-size:.85em}.pick-shade{z-index:50;touch-action:none;background:#0a070559;position:fixed;inset:0}.pick-menu{touch-action:pan-y;overscroll-behavior:contain;background:linear-gradient(#33281d,#241b14);border:1px solid #e0a94a8c;border-radius:12px;gap:4px;max-width:min(420px,100vw - 24px);padding:6px;display:grid;position:fixed;overflow-y:auto;box-shadow:0 12px 32px #0009}.pick-option{min-height:48px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;gap:2px;padding:8px 12px;display:grid}.pick-option b{font-family:Cinzel,serif;font-weight:700}.pick-option small{color:var(--muted);font-size:13px;line-height:1.3}.pick-option:hover,.pick-option:focus-visible{background:#fff4dc14;outline:none}.pick-option.on{background:#e0a94a24;border-color:#e0a94a99}.seg{border:1px solid #e0a94a8c;border-radius:10px;grid-auto-columns:1fr;grid-auto-flow:column;gap:0;display:grid;overflow:hidden;box-shadow:0 2px 6px #00000059}.seg button{cursor:pointer;min-height:48px;color:var(--text);letter-spacing:.02em;background:linear-gradient(#3d3022,#2a2018);border:0;border-left:1px solid #e0a94a4d;padding:6px 10px;font:700 15px Cinzel,serif}.seg button:first-child{border-left:0}.seg button.on{color:var(--accent-text);background:linear-gradient(#e8b85e,#c98f32)}.seg-note{color:var(--muted);font-size:13px;font-weight:400}.toggle .pick{flex:none;min-width:6.5em;margin-left:auto}.opp-row{grid-template-columns:160px 1fr auto;align-items:center;gap:10px;font-weight:400;display:grid}.opp-row small{color:var(--muted);font-size:13px}fieldset{border:1px solid var(--border);border-radius:12px;margin:0;padding:10px 14px 12px}legend{padding:0 6px;font-weight:600}details.settings{border:1px solid var(--border);border-radius:12px;margin:0;padding:8px 14px}details.settings:not([open]){gap:0}details.settings>summary{cursor:pointer;grid-template-columns:auto 1fr;align-items:baseline;column-gap:8px;list-style:none;display:grid}details.settings>summary::-webkit-details-marker{display:none}details.settings>summary:before{content:"▸";color:var(--accent);grid-row:span 2;transition:transform .15s}details.settings[open]>summary:before{transform:rotate(90deg)}details.settings>summary small{color:var(--muted);grid-column:2;font-size:13px}.toggle{align-items:center;gap:12px;padding:7px 0;font-weight:400;display:flex}.toggle input{width:22px;height:22px;accent-color:var(--accent)}.toggle span{flex:1;display:grid}.toggle small{color:var(--muted);font-size:13px}.muted{color:var(--muted)}.resume{border:1px solid var(--border);background:#fff4dc0f;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;display:flex}.resume span{color:var(--muted);flex:100%}.results{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin:8px 0 4px}.results th,.results td{border-bottom:1px solid var(--border);text-align:right;padding:7px 8px}.results th:first-child{text-align:left}.results tr.win th,.results tr.win td{color:var(--accent);font-weight:700}.foot{text-align:center;color:var(--muted);margin-top:14px;font-size:13px}.foot a{color:var(--muted)}#log{z-index:5;border-left:1px solid var(--border);touch-action:pan-y;background:#140f0af0;width:min(380px,80vw);font-size:13px;transition:transform .2s;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%)}body.log-open #log{transform:none}.log-head{padding:calc(10px + env(safe-area-inset-top,0px)) 12px 10px;border-bottom:1px solid var(--border);background:#140f0afa;justify-content:space-between;align-items:center;gap:8px;display:flex;position:sticky;top:0}.log-head b{font:700 18px Cinzel,serif}#log ol{gap:3px;margin:0;padding:12px;list-style:none;display:grid}#log li{color:var(--muted);border-left:3px solid #0000;padding-left:8px}#log .p0{color:var(--text);border-color:#e0a94a}#log .p1{border-color:#7fb4e8}#log .p2{border-color:#d48ad8}#log .p3{border-color:#8fd18f}#log .p4{border-color:#e88f7f}#rotate{display:none}@media (orientation:portrait) and (pointer:coarse){#rotate{z-index:50;background:var(--bg);text-align:center;place-items:center;padding:24px;display:grid;position:fixed;inset:0}#rotate div{gap:8px;display:grid}#rotate b{font:700 28px Cinzel,serif}#rotate span{color:var(--muted)}#rotate div:before{content:"⟳";color:var(--accent);font-size:64px}}.viewer{z-index:20;touch-action:pan-y;-webkit-user-select:text;user-select:text;background:#0e0a07f5;flex-direction:column;display:flex;position:fixed;inset:0}.viewer-head{border-bottom:1px solid var(--border);align-items:center;gap:12px;min-height:76px;padding:10px 84px 10px 16px;display:flex}.viewer-x{z-index:25;color:#f1d9a0;cursor:pointer;background:radial-gradient(circle at 40% 35%,#4a3824,#1f170f 75%);border:2px solid #b8863b;border-radius:50%;width:56px;height:56px;padding:10px;transition:transform .12s,color .12s;position:fixed;top:10px;right:12px;box-shadow:0 3px 10px #0009,inset 0 0 0 2px #00000073}.viewer-x svg{filter:drop-shadow(0 1px #000000b3);width:100%;height:100%;display:block}.viewer-x:hover{color:#ffe9b8;transform:scale(1.08)rotate(6deg)}.viewer-x:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.viewer-title{flex:1;display:grid}.viewer-title b{font:700 22px Cinzel,serif}.viewer-title span{color:var(--muted);font-size:14px}.viewer-tabs{border-bottom:1px solid var(--border);gap:4px;padding:10px 16px 0;display:flex}.viewer-tab{border:1px solid var(--border);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-bottom:0;border-radius:10px 10px 0 0;margin-bottom:-1px;padding:8px 16px;font-weight:600}.viewer-tab.on{color:var(--text);background:#fff4dc14}.viewer-tab span{color:var(--muted);margin-left:4px;font-weight:400}.viewer-tools{flex-wrap:wrap;align-items:center;gap:8px;padding:10px 16px;display:flex}.viewer-search{border:1px solid var(--border);max-width:360px;color:var(--text);font:inherit;background:#00000059;border-radius:9px;flex:200px;padding:9px 12px}.viewer-chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border);color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:999px;min-height:40px;padding:6px 12px;font-size:14px}.chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.viewer-sorts{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}.viewer-sorts>span{color:var(--muted);margin-right:2px;font-size:13px}.viewer-body{-webkit-overflow-scrolling:touch;flex:1;padding:4px 16px 96px;overflow-y:auto}.viewer-body h3{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);max-width:1500px;margin:16px auto 8px;font:700 16px system-ui,sans-serif}.viewer-body h3 span{color:var(--text)}.viewer-note{color:var(--muted);max-width:1500px;margin:4px auto 10px;font-size:13px}.viewer-empty{color:var(--muted);text-align:center;margin:18vh 0;font-size:18px}.viewer-grid{--cw:clamp(110px, 11vw, 200px);--gap:clamp(10px, 1.4vw, 22px);grid-template-columns:repeat(auto-fill, var(--cw));grid-auto-rows:calc(var(--cw) * 1.4);gap:var(--gap);grid-auto-flow:dense;justify-content:center;max-width:1500px;margin:0 auto;display:grid}.viewer-card{cursor:pointer;background:0 0;border:0;border-radius:10px;padding:0;transition:transform .12s,filter .12s;overflow:visible}.viewer-card img{object-fit:contain;filter:drop-shadow(0 4px 10px #0009);border-radius:10px;width:100%;height:100%;display:block}.viewer-card.landscape{grid-column:span 2}.viewer-card:hover{z-index:1;transform:translateY(-6px)scale(1.04)}.viewer-card:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.viewer-big{z-index:23;background:#000000e0;justify-content:center;align-items:center;gap:2vw;padding:16px;display:flex;position:fixed;inset:0}.viewer-big figure{justify-items:center;gap:10px;margin:0;display:grid}.viewer-big img{border-radius:14px;max-width:78vw;max-height:84vh}.viewer-big .motion-host{line-height:0;position:relative}.viewer-big .motion-host .card-motion{border-radius:14px;inset:0}.card-motion{pointer-events:none;opacity:0;transition:opacity .3s;position:absolute;overflow:hidden}.card-motion.on{opacity:1}.viewer-big figcaption{color:var(--muted);font-size:14px}.viewer-nav{border:1px solid var(--border);width:64px;height:64px;color:var(--text);cursor:pointer;background:#fff4dc14;border-radius:50%;flex:none;font-size:40px;line-height:1}.viewer-nav:hover{background:#fff4dc2e}@media (max-height:520px){.viewer{-webkit-overflow-scrolling:touch;overflow-y:auto}.viewer-body{flex:none;padding-bottom:24px;overflow:visible}.viewer-head{min-height:56px;padding:6px 64px 6px 12px}.viewer-x{width:44px;height:44px;padding:8px;top:6px;right:8px}.viewer-title b{font-size:17px}.viewer-title span{font-size:12px}.viewer-tabs{padding:6px 12px 0}.viewer-tab{padding:10px 14px;font-size:14px}.viewer-tools{gap:6px;padding:6px 12px}.viewer-search{flex-basis:150px;padding:6px 10px}.chip{min-height:36px;padding:6px 12px;font-size:13px}.viewer-note,.viewer-body h3{display:none}.viewer-grid{--cw:clamp(96px, 12.5vw, 150px);margin-top:6px}.viewer-nav{width:48px;height:48px;font-size:30px}.viewer-big img{max-height:80vh}}.card.lan{width:min(620px,100%)}.card.room{gap:14px;width:min(900px,100%);display:grid}.lan-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.lan-tables{gap:8px;max-height:40vh;display:grid;overflow-y:auto}.lan-row{border:1px solid var(--border);background:#0003;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.lan-row.mine{border-color:var(--accent)}.lan-name{flex:1;min-width:0;display:grid}.lan-name small{color:var(--muted);font-size:13px}.lan-empty{color:var(--muted);text-align:center;margin:8px 0}.lan-join{color:var(--muted);align-items:center;gap:8px;display:flex}.code-input{text-transform:uppercase;letter-spacing:.2em;text-align:center;border:1px solid var(--border);width:6.5em;color:var(--text);background:#0000004d;border-radius:9px;padding:8px 10px;font-size:16px;font-weight:700}.lan-message{color:#f3b5b0;text-align:center;margin:0}.room-top{justify-content:space-between;align-items:center;gap:16px;display:flex}.room-title{text-align:left;font-size:clamp(24px,4vw,40px)}.room-sub{text-align:left;margin:0}.room-code{border:1px solid var(--accent);border-radius:12px;justify-items:center;padding:8px 16px;display:grid}.room-code small{color:var(--muted)}.room-code b{letter-spacing:.15em;color:var(--accent);font:700 34px Cinzel,serif}.room-grid{grid-template-columns:1fr 220px;grid-template-areas:"players join""settings join";align-items:start;gap:18px;display:grid}.room-players{grid-area:players}.room-settings{grid-area:settings}.room-join{grid-area:join}.room-seats{gap:6px;display:grid}.room-seat{background:#00000040;border-radius:10px;align-items:center;gap:8px;padding:9px 12px;display:flex}.room-seat.me{outline:1px solid var(--accent)}.room-seat .link{margin-left:auto;font-size:14px}.room-seat .tag{color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:0 7px;font-size:12px}.dot{background:#8a5a52;border-radius:50%;flex:none;width:10px;height:10px}.dot.on{background:#7fd17f}.room-join{text-align:center;justify-items:center;gap:4px;display:grid}.room-join .qr{background:#fff;border-radius:10px;width:200px;height:200px;padding:6px}.room-join .qr svg{width:100%;height:100%;display:block}.room-join small{color:var(--muted)}.room-join.phone{align-content:center;max-width:220px}.room-join.phone small{font-size:13px;display:block}.lan-buttons{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.room-actions{justify-content:space-between;gap:10px;display:flex}@media (max-height:520px),(max-width:700px){.room-grid{grid-template-columns:1fr 150px;gap:12px}.room-join .qr{width:140px;height:140px}.card.room{gap:10px;padding:14px}.room-code b{font-size:26px}}.sync{border:1px solid var(--border);background:#0003;border-radius:12px;grid-template-columns:1fr auto;align-items:end;gap:6px 10px;padding:10px 12px;font-size:14px;display:grid}.sync>span{color:var(--muted);grid-column:1/-1}.sync-field{gap:2px;display:grid}.sync-field small{color:var(--muted)}.sync-server{border:1px solid var(--border);color:var(--text);font:inherit;background:#0000004d;border-radius:8px;padding:7px 10px}.sync-buttons{gap:6px;display:flex}.sync.update{border-color:var(--accent)}.sync progress{width:100%;accent-color:var(--accent);grid-column:1/-1}.viewer-card{position:relative}.viewer-count{color:var(--text);pointer-events:none;background:#140f0ae0;border-radius:999px;padding:2px 8px;font-size:13px;font-weight:700;position:absolute;bottom:6px;right:6px}.screen.title-screen{background:#1d1712 url(../title-banner.jpg) 100%/cover no-repeat;justify-items:end;padding-right:max(16px,5vw)}.screen.title-screen .title-card{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#140f0ad1;width:min(440px,52vw)}@media (max-aspect-ratio:4/3){.screen.title-screen{background-position:top;justify-items:center;padding-right:16px}}.rulebook{z-index:24;background:#1d1712 url(../title-banner.jpg) 50%/cover;flex-direction:column;display:flex;position:fixed;inset:0}.rulebook:before{content:"";background:#120c08c7;position:absolute;inset:0}.rulebook>*{position:relative}.rb-top{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 16px;display:flex}.rb-title{flex:none;display:grid}.rb-title b{color:#f3d48a;font:700 22px Cinzel,serif}.rb-title span{color:var(--muted);font-size:13px}.rb-search{border:1px solid var(--border);max-width:360px;color:var(--text);font:inherit;background:#00000059;border-radius:9px;flex:160px;margin-left:auto;padding:8px 12px}.rb-body{-webkit-overflow-scrolling:touch;flex:1;grid-template-columns:250px minmax(0,900px);justify-content:center;gap:18px;min-height:0;padding:16px;display:grid;overflow-y:auto}.rb-nav{align-content:start;gap:4px;display:grid;position:sticky;top:0}.rb-chapter{text-align:left;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;padding:8px 12px;display:grid}.rb-chapter small{color:var(--muted);font:12px MedievalSharp,serif}.rb-chapter span{font:700 15px Cinzel,serif}.rb-chapter:hover{background:#fff4dc14}.rb-chapter.on{background:#e0a94a29;border-color:#c9a35a}.rb-none{color:var(--muted);padding:8px 12px}.rb-page{color:#2a1d10;background:#e9dcb5 url(../rulebook-paper.jpg) 0 0/710px;border-radius:6px;padding:clamp(18px,4vw,48px);font-size:17px;line-height:1.6;box-shadow:0 0 0 6px #3b2a1d,0 0 0 8px #c9a35a,0 12px 40px #0009}.rb-head{text-align:center;margin-bottom:18px}.rb-head small{color:#7a5a2e;font:15px MedievalSharp,serif}.rb-head h2{color:#3b2410;margin:2px 0 6px;font:700 clamp(26px,4vw,38px) Cinzel,serif}.rb-rule-line{background:linear-gradient(90deg,#0000,#8a6420,#0000);width:min(320px,70%);height:2px;margin:0 auto}.rb-page h3{color:#4a2c12;border-bottom:1px solid #5a3c1440;margin:22px 0 6px;font:700 20px Cinzel,serif}.rb-page p,.rb-page li{margin:6px 0}.rb-page ul,.rb-page ol{padding-left:1.3em}.rb-lead{text-align:center;color:#4a2c12;font-size:19px;font-style:italic}.rb-icons{white-space:nowrap}.rb-icon{vertical-align:-.35em;height:1.35em;margin:0 1px}.rb-card{font:inherit;color:#5a3410;cursor:pointer;background:0 0;border:0;border-bottom:1px dashed #8a6420;padding:0 3px;font-weight:700}.rb-card:hover{background:#e0a94a40}.rb-cards{flex-wrap:wrap;justify-content:center;gap:14px;margin:14px 0 18px;display:flex}.rb-figure{cursor:pointer;color:#4a2c12;background:0 0;border:0;justify-items:center;gap:4px;font:600 13px Cinzel,serif;display:grid}.rb-figure img{border-radius:8px;height:190px;box-shadow:0 4px 12px #28140073}.rb-figure.landscape img{height:136px}.rb-figure:hover img{transform:translateY(-3px)}.rb-note,.rb-rule,.rb-example{border-radius:10px;margin:14px 0;padding:12px 16px}.rb-note{background:#ffffff59;border:1px solid #5a3c1440}.rb-rule{background:#e0a94a38;border-left:5px solid #b8862e}.rb-example{background:#fffaeb73;border:1px solid #5a3c144d}.rb-example h3{border:0;margin-top:0}.rb-tag{text-transform:uppercase;letter-spacing:.06em;color:#f3d48a;vertical-align:3px;background:#3b2a1d;border-radius:999px;padding:1px 8px;font:12px system-ui,sans-serif}.rb-symbols{border-collapse:collapse;width:100%;margin:8px 0}.rb-symbols td,.rb-symbols th{text-align:left;vertical-align:middle;border-bottom:1px solid #5a3c1433;padding:8px 6px}.rb-symbols th{white-space:nowrap;font:700 16px Cinzel,serif}.rb-symbols td:first-child .rb-icon{height:2.1em}.rb-faq dt{color:#3b2410;margin-top:14px;font:700 17px Cinzel,serif}.rb-faq dd{margin:2px 0 0}.rb-page mark{background:#f3d48a;border-radius:3px;padding:0 2px}.rb-pager{border-top:1px solid #5a3c1440;justify-content:space-between;gap:10px;margin-top:28px;padding-top:14px;display:flex}.rb-big figure{justify-items:center;gap:8px;margin:0;display:grid}@media (max-width:760px),(max-height:520px){.rb-body{grid-template-columns:1fr;grid-auto-rows:max-content;gap:10px;padding:10px}.rb-nav{gap:6px;padding-bottom:4px;display:flex;position:static;overflow-x:auto}.rb-chapter{flex:none;padding:6px 10px}.rb-chapter small{display:none}.rb-top{padding:6px 10px}.rb-title span{display:none}.rb-page{font-size:15px}.rb-figure img{height:140px}.rb-figure.landscape img{height:100px}}.title-pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.title-row{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px;display:grid}.title-row .btn{padding:8px 6px;font-size:15px}.sync.compact{gap:6px;padding:8px 10px;display:grid}.sync-line{align-items:center;gap:10px;font-size:13px;display:flex}.sync-status{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.sync-status .dot{display:inline-block}.sync-line .link{font-size:13px}.sync-edit{gap:6px;display:flex}.sync-edit[hidden]{display:none}.sync-edit .sync-server{flex:1;min-width:0}.resume{gap:6px;padding:8px 10px}.resume span{font-size:13px}@media (max-height:520px){.screen.title-screen{padding:10px max(10px,3vw) 10px 10px}.screen.title-screen .title-card{gap:8px;width:min(380px,50vw);padding:12px}.screen.title-screen .btn{min-height:38px;padding-top:6px;padding-bottom:6px;font-size:15px}.screen.title-screen .foot{margin-top:2px;font-size:11px}}.title-card>*{min-width:0}.sync.compact{grid-template-columns:minmax(0,1fr)}.card.setup,.card.lan-list{grid-template-columns:1fr 1fr;align-items:start;gap:20px;width:min(900px,100%);display:grid}.card.setup>*,.card.lan-list>*{min-width:0}.row-actions{grid-template-columns:1fr 2fr;gap:10px;display:grid}.lan-tables-col .lan-tables{max-height:60vh}@media (max-width:640px) and (min-height:521px){.card.setup,.card.lan-list{grid-template-columns:1fr}}@media (max-height:520px){.screen{padding:8px}.card{padding:12px 14px}.card .title{text-align:left;margin:0;font-size:22px}.card .sub,.toggle small,.opp-row small,.room-join small,.lan-row .lan-name small{display:none}.stack{gap:7px}.field{gap:3px;font-size:14px}.field input,select{padding:6px 9px}.btn{min-height:40px;padding:5px 12px;font-size:15px}.btn.small{min-height:38px;padding:3px 12px;font-size:14px}.pick,.seg button{min-height:40px;padding-top:4px;padding-bottom:4px}.pick{font-size:15px}.seg-note{display:none}fieldset{padding:4px 10px 6px}legend{font-size:13px}details.settings{padding:4px 10px}.toggle{gap:8px;padding:2px 0;font-size:14px}.toggle input{width:18px;height:18px}.opp-row{grid-template-columns:1fr auto;gap:6px}.card.setup,.card.lan-list{gap:14px}.lan-tables-col .lan-tables{max-height:calc(100vh - 90px)}.lan-row{padding:6px 8px}.code-input{width:5.5em;padding:5px 8px}.card.room{gap:8px}.room-top{gap:10px}.room-title{font-size:20px}.room-sub{font-size:13px}.room-code{padding:2px 10px}.room-code b{font-size:22px}.room-grid{grid-template-columns:1fr 1.2fr 118px;grid-template-areas:"players settings join";gap:10px}.room-seats{gap:4px}.room-seat{padding:5px 8px;font-size:14px}.room-join .qr{width:110px;height:110px;padding:4px}.room-join b{word-break:break-all;font-size:11px}.room-actions .btn{min-height:38px}}@media (max-height:380px){.pick,.seg button{min-height:36px}.pair-row{padding:0}.room-settings{gap:4px}.card.room{gap:5px;padding:8px 12px}.room-title{font-size:18px}.room-seat{padding:3px 8px}.room-seats{gap:3px}.room-join .qr{width:96px;height:96px}.room-grid{grid-template-columns:1fr 1.2fr 104px}}.deck-editor{z-index:40;touch-action:pan-y;overscroll-behavior:contain;background:radial-gradient(ellipse at 50% 0%, #3a2e22, var(--bg) 70%);flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.deck-head{z-index:2;border-bottom:1px solid var(--border);background:#140f0af0;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 16px;display:flex;position:sticky;top:0}.deck-title{display:grid}.deck-title b:first-child{font:700 20px Cinzel,serif}.deck-total{color:var(--accent);font-size:14px;font-weight:600}.deck-tools{flex-wrap:wrap;flex:auto;align-items:center;gap:8px;display:flex}.deck-tools .pick{min-height:40px}.deck-filters{flex-wrap:wrap;gap:6px;display:flex}.deck-actions{gap:8px;margin-left:auto;display:flex}.btn.danger{color:#f3a59c;border-color:#e0685d99}.deck-note{color:var(--muted);margin:8px 16px 0;font-size:14px}.deck-tabs{padding:10px 16px 0}.deck-warn{color:#f3c2b8;background:#e0685d26;border-radius:10px;margin:8px 16px 0;padding:8px 12px;font-size:14px}.deck-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;padding:12px 16px 32px;display:grid}.deck-card{border:1px solid var(--border);background:#140f0a99;border-radius:12px;align-content:start;gap:6px;padding:8px;display:grid}.deck-card.out{opacity:.55}.deck-card img{aspect-ratio:5/7;object-fit:contain;cursor:zoom-in;width:100%}.deck-card.landscape img{aspect-ratio:5/7}.deck-card-name{gap:1px;line-height:1.2;display:grid}.deck-card-name b{font:700 14px Cinzel,serif}.deck-card-name small{color:var(--muted);font-size:12px}.deck-count{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid}.deck-count b{text-align:center;min-width:2ch;font-size:18px}.deck-count .btn{min-height:40px;padding:0;font-size:20px}.deck-count b:only-child{grid-column:2}.deck-large{z-index:45;background:#0a0705e0;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.deck-large img{border-radius:10px;max-width:100%;max-height:100%}.deck-row{align-items:center;gap:10px;display:flex}.pair-row{grid-template-columns:auto auto auto minmax(0,1fr);align-items:center;gap:8px 10px;padding:4px 0;display:grid}.pair-row .pick{width:100%;min-width:4.2em}.pair-row .pick:last-child{min-width:0}.deck-row .pick{flex:auto;min-width:0;max-width:16em;margin-left:auto}@media (max-height:520px){.deck-head{gap:6px 10px;padding:6px 10px}.deck-title b:first-child{font-size:16px}.deck-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;padding:8px 10px 24px}.deck-card{padding:6px}.deck-card-name b{font-size:12px}.deck-card-name small{display:none}}.title-row.two{grid-template-columns:2fr 1fr}.card.tutorial-list{grid-template-rows:auto minmax(0,1fr) auto;gap:12px;width:min(760px,100%);max-height:calc(100vh - 32px);display:grid}.tutorial-top .title{text-align:left}.tutorial-top .sub{text-align:left;margin:0}.chapters{touch-action:pan-y;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.chapter{text-align:left;border:1px solid var(--border);width:100%;min-height:56px;color:var(--text);font:inherit;cursor:pointer;background:#fff4dc0f;border-radius:12px;align-items:center;gap:10px;padding:8px 12px;display:flex}.chapter:hover{background:#fff4dc1f}.chapter b{font-family:Cinzel,serif;display:block}.chapter small{color:var(--muted);font-size:13px;line-height:1.3;display:block}.chapter-n{width:34px;height:34px;color:var(--accent);border:1px solid #e0a94a99;border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.chapter.done .chapter-n{background:var(--accent);color:var(--accent-text)}.coach{z-index:9;width:min(420px,25vw - 20px);color:var(--text);background:#18120cf0;border:1px solid #e0a94ab3;border-radius:14px;padding:12px 14px;position:fixed;top:12px;left:12px;box-shadow:0 8px 24px #00000080}.coach-head{cursor:pointer;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.coach.folded p,.coach.folded .coach-buttons{display:none}.coach.folded .coach-head small:after{content:" ▸"}.coach-head b{color:var(--accent);font:700 15px Cinzel,serif}.coach-head small{color:var(--muted)}.coach p{margin:6px 0 8px;font-size:15px;line-height:1.4}.coach-buttons{align-items:center;gap:14px;display:flex}.coach-buttons .btn{margin-left:auto}.coach-buttons .link{font-size:13px}@media (max-height:520px){.coach{width:calc(25vw - 10px);padding:6px 9px;top:6px;left:6px}.coach-buttons{flex-wrap:wrap;gap:10px}.coach-buttons .btn{min-height:34px;padding:2px 10px}.coach p{margin:3px 0 5px;font-size:15px;line-height:1.3}.coach-head b{font-size:13px}.coach-buttons .link{font-size:14px}.chapters{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px}.chapter{min-height:44px;padding:4px 8px}.chapter small{display:none}.chapter-n{width:26px;height:26px}.card.tutorial-list{gap:8px;padding:10px 12px}.tutorial-top .sub{display:none}}.first-roll{z-index:30;opacity:0;cursor:pointer;-webkit-user-select:none;user-select:none;--k:var(--s,1);transition:opacity .3s;position:fixed;overflow:hidden}.first-roll.on{opacity:1}.first-roll:before{content:"";background:#000000b3;position:absolute;inset:0}.first-roll-stage{transform-origin:0 0;width:1280px;height:720px;transform:scale(var(--s,1));position:absolute;top:0;left:0}.first-roll-title,.first-roll-caption{text-align:center;pointer-events:none;text-shadow:0 0 calc(6px * var(--k)) #1d1712, 0 calc(3px * var(--k)) 0 #1d1712, 0 calc(-2px * var(--k)) 0 #1d1712, calc(3px * var(--k)) 0 0 #1d1712, calc(-3px * var(--k)) 0 0 #1d1712;font-family:Cinzel,serif;font-weight:700;position:absolute;left:0;right:0}.first-roll-title{top:calc(30px * var(--k));font-size:calc(46px * var(--k));color:#ffd56a}.first-roll-caption{bottom:calc(22px * var(--k));font-size:calc(40px * var(--k));color:#fff;opacity:0;line-height:1.15;transition:opacity .3s}.first-roll-caption.on{opacity:1}.first-roll-caption small{font-size:.7em}.first-roll-plaque{white-space:nowrap;background-size:1920px 1080px;border-radius:10px;place-items:center;min-width:170px;height:70px;padding:0 18px;font:700 30px Cinzel,serif;transition:box-shadow .4s,transform .4s,filter .4s;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 3px #1e1208bf,inset 0 0 18px #00000073,0 8px 18px #00000080}.first-roll-plaque.cream{color:#f6ead2;text-shadow:0 2px #000000a6}.first-roll-plaque.ink{color:#2c1b0e;text-shadow:0 1px #fff0d273}.first-roll-plaque.win{transform:translate(-50%,-50%)scale(1.08);box-shadow:inset 0 0 0 4px #ffd56a,inset 0 0 18px #00000059,0 0 34px 10px #ffc85aa6}.first-roll-plaque.dim{filter:brightness(.55)saturate(.7)}.first-roll .die-wrap{perspective:600px;width:96px;height:96px;position:absolute}.first-roll .die{transform-style:preserve-3d;position:absolute;inset:0}.first-roll .die-face{background:#a8743e 50%/cover;border-radius:16px;position:absolute;inset:0}.first-roll .die-core{background:#5a3a1c;border-radius:10px;position:absolute;inset:4px}.first-roll .die-core.x{transform:rotateY(90deg)}.first-roll .die-core.y{transform:rotateX(90deg)}.first-roll .f1{transform:translateZ(48px)}.first-roll .f6{transform:rotateY(180deg)translateZ(48px)}.first-roll .f3{transform:rotateY(90deg)translateZ(48px)}.first-roll .f4{transform:rotateY(-90deg)translateZ(48px)}.first-roll .f2{transform:rotateX(90deg)translateZ(48px)}.first-roll .f5{transform:rotateX(-90deg)translateZ(48px)}.first-roll .die-shadow{filter:blur(4px);background:#00000073;border-radius:50%;width:90px;height:18px;position:absolute}.first-roll .roll-score{color:#ffd56a;text-shadow:0 2px #1d1712;opacity:0;font:700 34px Cinzel,serif;transition:opacity .3s;position:absolute;transform:translate(-50%)}.first-roll .roll-score.on{opacity:1}.btn,.chip,.viewer-tab,.chapter,.rb-chapter,button.link,.viewer-nav{cursor:pointer;color:var(--text);letter-spacing:.02em;background:linear-gradient(#3d3022,#2a2018);border:1px solid #e0a94a8c;border-radius:10px;font-family:Cinzel,serif;font-weight:700;text-decoration:none;box-shadow:inset 0 1px #ffecc81f,0 2px 6px #00000059}.btn:hover:not(:disabled),.chip:hover,.viewer-tab:hover,.chapter:hover,.rb-chapter:hover,button.link:hover,.viewer-nav:hover{border-color:var(--accent);background:linear-gradient(#47382a,#30251b)}.btn:active:not(:disabled),.chip:active,button.link:active{transform:translateY(1px);box-shadow:inset 0 1px #ffecc814,0 1px 2px #00000059}.btn.primary,.chip.on,.viewer-tab.on,.rb-chapter.on{color:var(--accent-text);background:linear-gradient(#e8b85e,#c98f32);border-color:#f0c873;box-shadow:inset 0 1px #fff6dc80,0 2px 6px #00000059}.btn.primary:hover:not(:disabled){background:linear-gradient(#f0c46c,#d39a3a)}.btn.danger{color:#f3a59c;background:linear-gradient(#45261f,#2e1914);border-color:#e0685db3}.btn:disabled{opacity:.5;cursor:default}.viewer-tab{border-bottom:0;border-radius:10px 10px 0 0;box-shadow:inset 0 1px #ffecc81f}.viewer-tab.on span,.chip.on span{color:#241b12b3}.chip{border-radius:8px}button.link{min-height:32px;margin:0;padding:4px 10px;font-size:13px}.chapter{border-radius:12px}.chapter small,.rb-chapter small{letter-spacing:0;font-family:system-ui,sans-serif;font-weight:400}.chapter b{font-weight:700}.viewer-nav{border-radius:50%}.title-row .btn,.title-pair .btn{font-size:14px}.viewer-tabs{gap:8px;padding-top:12px}.viewer-tab{min-height:58px;padding:14px 30px;font-size:20px}@media (max-height:520px){.viewer-tab{min-height:50px;padding:10px 22px;font-size:17px}}
