@import "https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700&family=Zen+Maru+Gothic:wght@500;700&display=swap";:root{--table:#ece8f5;--ink:#24203b;--ink-soft:#6a6585;--panel:#fff;--line:#d7d1e8;--accent:#5a48d8;--accent-ink:#fff;--spot:#fff4cc;--danger:#c2334a;--red:#e0455b;--blue:#3a7bd5;--white:#b9bcc8;--green:#36a56a;--purple:#8e5bd8;--yellow:#e2b23a;--ui:"Noto Sans KR", system-ui, sans-serif;--jp:"Zen Maru Gothic", "Noto Sans KR", sans-serif;font-family:var(--ui);color:var(--ink);background:var(--table)}*{box-sizing:border-box}body{background:var(--table);min-height:100vh;margin:0}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}button:disabled{opacity:.45;cursor:not-allowed}h1,h2,h3{margin:0}.primary{background:var(--accent);color:var(--accent-ink);border:0;border-radius:8px;padding:.6rem 1.1rem;font-weight:700}.start{gap:1.25rem;max-width:34rem;margin:12vh auto;padding:0 1rem;display:grid}.start h1{font-family:var(--jp);letter-spacing:-.01em;font-size:2.6rem}.start-note{color:var(--ink-soft);margin:0}.start-decks{gap:.75rem;display:grid}.deck-picker{gap:.3rem;font-weight:500;display:grid}.deck-picker select{border:1px solid var(--line);background:var(--panel);font:inherit;border-radius:8px;padding:.55rem .6rem}.table{grid-template-columns:minmax(0,1fr) 21rem;grid-template-areas:"status status""board side""hand side";gap:.75rem;padding:.75rem;display:grid}.status{background:var(--panel);border-radius:10px;flex-wrap:wrap;grid-area:status;align-items:baseline;gap:1rem;padding:.6rem 1rem;display:flex}.status .phase{color:var(--accent);font-weight:700}.status .result{color:var(--accent);margin-left:auto;font-weight:700}.status .error{color:var(--danger)}.board{grid-area:board;gap:.5rem;display:grid}.side{grid-area:side;align-content:start;gap:.75rem;max-height:calc(100vh - 5rem);display:grid;position:sticky;top:.75rem}.stage-divider{background:linear-gradient(90deg, transparent, var(--line), transparent);height:2px}.player{border:2px solid #0000;border-radius:12px;grid-template-columns:11rem 1fr;gap:.75rem;padding:.6rem;display:grid}.player.active{border-color:var(--accent)}.player.flipped .stage{flex-direction:column-reverse}.player-info{align-content:start;gap:.5rem;display:grid}.player-info h2{font-size:1rem}.oshi{font-family:var(--jp);font-weight:700}.oshi-label{font-family:var(--ui);color:var(--ink-soft);font-size:.8rem;font-weight:500}.counts{grid-template-columns:1fr 1fr;gap:.25rem .5rem;margin:0;display:grid}.counts div{justify-content:space-between;font-size:.85rem;display:flex}.counts dt{color:var(--ink-soft)}.counts dd{margin:0;font-weight:700}.counts .life dd{color:var(--danger)}.stage{flex-direction:column;gap:.5rem;display:flex}.spotlight{background:radial-gradient(ellipse at 50% 40%, var(--spot) 0%, #fff4cc59 60%, transparent 100%);border-radius:12px;gap:.75rem;padding:.6rem;display:flex}.slot{align-content:start;gap:.3rem;display:grid}.slot.wide{padding:0 .6rem}.slot-label{color:var(--ink-soft);font-size:.78rem}.slot-cards{flex-wrap:wrap;gap:.5rem;min-height:4rem;display:flex}.empty{color:var(--ink-soft);align-self:center;font-size:.85rem}.card{border-radius:9px;justify-items:start;gap:.25rem;transition:transform .15s;display:grid;position:relative}.card[role=button]{cursor:zoom-in}.card[role=button]:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.card.rested .face{opacity:.75;transform:rotate(-6deg)}.face{border-radius:8px;transition:transform .15s;position:relative}.size-board{width:6.5rem}.size-hand{width:7rem}.size-pick{width:6.5rem}.size-gallery{width:100%}.face.img{aspect-ratio:63/88;background:var(--line);overflow:hidden;box-shadow:0 1px 2px #24203b40}.face.img img{object-fit:cover;width:100%;height:100%;display:block}.face.text{background:var(--panel);border-top:6px solid var(--white);min-height:6.5rem;box-shadow:0 1px 0 var(--line);align-content:start;gap:.25rem;padding:.45rem .5rem .5rem;font-size:.8rem;display:grid}.face.text.size-gallery{aspect-ratio:63/88}.face.text.size-hand,.face.text.size-board{width:9rem}.face.c-red{border-top-color:var(--red)}.face.c-blue{border-top-color:var(--blue)}.face.c-white{border-top-color:var(--white)}.face.c-green{border-top-color:var(--green)}.face.c-purple{border-top-color:var(--purple)}.face.c-yellow{border-top-color:var(--yellow)}.face.c-none{border-top-color:var(--line)}.card-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.1rem .35rem;display:flex}.card-name{font-family:var(--jp);font-size:.9rem;font-weight:700}.level{color:var(--ink-soft);white-space:nowrap;font-size:.72rem}.hp{color:var(--ink-soft);font-size:.78rem}.hp-badge{color:#fff;background:#24203bd9;border-radius:6px;padding:.05rem .35rem;font-size:.72rem;line-height:1.3;position:absolute;bottom:.25rem;right:.25rem}.hp-badge b{font-size:.9rem}.face.text .hp-badge{justify-self:start;position:static}.rest-tag{background:var(--ink);color:#fff;border-radius:4px;padding:0 .3rem;font-size:.7rem;position:absolute;top:.25rem;left:.25rem}.arts{gap:.1rem;margin:0;padding:0;list-style:none;display:grid}.arts li{grid-template-columns:auto 1fr auto;gap:.35rem;font-size:.74rem;display:grid}.arts .cost{color:var(--ink-soft)}.arts .arts-name{text-overflow:ellipsis;white-space:nowrap;font-family:var(--jp);overflow:hidden}.arts .dmg{font-weight:700}.attached{flex-wrap:wrap;align-items:center;gap:.25rem;max-width:9rem;display:flex}.cheer-dot{background:var(--white);border-radius:50%;width:.7rem;height:.7rem}.cheer-dot.c-red{background:var(--red)}.cheer-dot.c-blue{background:var(--blue)}.cheer-dot.c-green{background:var(--green)}.cheer-dot.c-purple{background:var(--purple)}.cheer-dot.c-yellow{background:var(--yellow)}.support-tag{font-size:.7rem;font-family:var(--jp);background:var(--panel);border-radius:4px;padding:0 .3rem}.hand{background:var(--panel);border-radius:12px;grid-area:hand;gap:.5rem;padding:.6rem;display:grid}.hand-tabs{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.hand-tabs button{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:.25rem .8rem;font-size:.85rem}.hand-tabs button.on{background:var(--ink);color:#fff;border-color:var(--ink)}.hand-owner{color:var(--ink-soft);margin-left:auto;font-size:.85rem}.hand-cards{gap:.5rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.hand-cards .card{flex:none}.actions,.log{background:var(--panel);border-radius:12px;align-content:start;gap:.5rem;padding:.75rem;display:grid}.actions{max-height:55vh;overflow-y:auto}.actions h2,.log h2{font-size:1rem}.action-group{gap:.3rem;display:grid}.action-group h3{color:var(--ink-soft);font-size:.8rem;font-weight:500}.action{text-align:left;background:var(--table);border:1px solid #0000;border-radius:8px;padding:.45rem .6rem;font-size:.82rem}.action:hover{border-color:var(--accent)}.end{margin-top:.25rem}.hint{color:var(--ink-soft);margin:0;font-size:.85rem}.log{max-height:35vh;overflow-y:auto}.log ol{color:var(--ink-soft);gap:.15rem;margin:0;padding-left:2.2rem;font-size:.78rem;display:grid}.dialog-backdrop{z-index:10;background:#24203b73;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.dialog{background:var(--panel);border-radius:14px;gap:.75rem;width:min(52rem,100%);max-height:88vh;padding:1.25rem;display:grid;overflow-y:auto}.dialog-who{color:var(--accent);margin:0;font-size:.9rem;font-weight:700}.dialog h2{font-size:1.15rem}.dialog-help{color:var(--ink-soft);margin:0;font-size:.88rem}.dialog-buttons{flex-wrap:wrap;gap:.5rem;display:flex}.dialog-buttons.column{flex-direction:column;align-items:stretch}.dialog-buttons button:not(.primary){background:var(--table);border:1px solid var(--line);text-align:left;border-radius:8px;padding:.55rem 1rem}.pick-grid{flex-wrap:wrap;gap:.5rem;display:flex}.pick{background:0 0;border:2px solid #0000;border-radius:11px;padding:0;position:relative}.pick.picked{border-color:var(--accent)}.pick .order{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:1.4rem;height:1.4rem;font-size:.8rem;font-weight:700;display:grid;position:absolute;top:-.5rem;right:-.5rem}@media (width<=900px){.table{grid-template-columns:1fr;grid-template-areas:"status""board""hand""side"}.side{max-height:none;position:static}.player{grid-template-columns:1fr}}.start-links{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.start-links button{background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:.4rem 1rem}.toggle{align-items:center;gap:.4rem;margin-left:auto;font-size:.9rem;display:inline-flex}.fineprint{color:var(--ink-soft);margin:0;font-size:.78rem}.muted{color:var(--ink-soft)}.gallery,.notice{gap:1rem;max-width:72rem;margin:0 auto;padding:1rem;display:grid}.notice{max-width:46rem}.gallery-head{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.gallery-head h1{font-family:var(--jp);font-size:1.6rem}.gallery-head button{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:.35rem .8rem}.gallery-filters{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.gallery-filters select,.gallery-filters input{border:1px solid var(--line);background:var(--panel);font:inherit;border-radius:8px;padding:.45rem .6rem}.gallery-filters input{flex:12rem;min-width:0}.chips{flex-wrap:wrap;gap:.35rem;display:flex}.chips button{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:.25rem .8rem;font-size:.85rem}.chips button.on{background:var(--ink);color:#fff;border-color:var(--ink)}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.gallery-item{text-align:left;background:0 0;border:0;border-radius:9px;gap:.3rem;width:100%;padding:0;display:grid}.gallery-item:hover .face{transform:translateY(-3px)}.gallery-id{color:var(--ink-soft);font-size:.75rem}.dialog.detail{grid-template-columns:minmax(12rem,18rem) 1fr;align-items:start;gap:1.25rem}.detail-face{width:100%}.detail-info{gap:.75rem;display:grid}.detail-info h2{font-size:1.3rem}.detail-info h3{color:var(--ink-soft);font-size:.9rem;font-weight:500}.detail-rows{grid-template-columns:auto 1fr;gap:.25rem .9rem;margin:0;font-size:.9rem;display:grid}.detail-rows dt{color:var(--ink-soft)}.detail-rows dd{margin:0}.detail-list{gap:.25rem;margin:0;padding-left:1.1rem;font-size:.88rem;display:grid}.notice section{background:var(--panel);border-radius:12px;gap:.5rem;padding:1rem 1.25rem;display:grid}.notice h2{font-size:1.05rem}.notice p,.notice ul{margin:0;line-height:1.65}@media (width<=640px){.dialog.detail{grid-template-columns:1fr}.detail-face{justify-self:center;max-width:14rem}.size-board,.size-pick{width:5rem}.face.text.size-hand,.face.text.size-board{width:7.5rem}}@media (prefers-reduced-motion:reduce){.card,.face{transition:none}}.seat{border:1px solid var(--line);background:var(--panel);border-radius:12px;gap:.5rem;margin:0;padding:.6rem .8rem .8rem;display:grid}.seat legend{padding:0 .3rem;font-weight:700}.seat select{border:1px solid var(--line);background:var(--panel);font:inherit;border-radius:8px;padding:.5rem .6rem}.status .quit{background:var(--table);border:1px solid var(--line);border-radius:8px;margin-left:auto;padding:.25rem .8rem;font-size:.85rem}.status .result+.quit,.status .error+.quit{margin-left:.5rem}.thinking:after{content:"";background:var(--accent);border-radius:50%;width:.55rem;height:.55rem;margin-left:.45rem;animation:1s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{0%,to{opacity:.25}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.thinking:after{animation:none}}.detail-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.chips.lang button{padding:.15rem .6rem;font-size:.78rem}.playable{margin:0;font-size:.82rem;font-weight:700}.playable.ok{color:var(--green)}.playable.no{color:var(--danger)}.card-text{font-family:var(--jp);white-space:pre-line;margin:.2rem 0 0;font-size:.86rem;line-height:1.6;display:block}p.card-text{margin:0}.chips.colors button{min-width:2.2rem}.chips.colors button.c-white{border-color:var(--white)}.chips.colors button.c-green{border-color:var(--green)}.chips.colors button.c-red{border-color:var(--red)}.chips.colors button.c-blue{border-color:var(--blue)}.chips.colors button.c-purple{border-color:var(--purple)}.chips.colors button.c-yellow{border-color:var(--yellow)}.gallery-item.unplayable .face,.pool-item.unplayable .face{opacity:.55;filter:grayscale(.4)}.more{background:var(--panel);border:1px solid var(--line);border-radius:999px;justify-self:center;padding:.45rem 1.2rem}.builder{gap:1rem;max-width:90rem;margin:0 auto;padding:1rem;display:grid}.builder .gallery-head select{border:1px solid var(--line);background:var(--panel);font:inherit;border-radius:8px;padding:.4rem .6rem}.builder-body{grid-template-columns:1fr 27rem;align-items:start;gap:1rem;display:grid}.pool{gap:.75rem;min-width:0;display:grid}.pool-grid{grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.pool-item{gap:.25rem;display:grid}.pool-face{background:0 0;border:0;border-radius:9px;padding:0;position:relative}.pool-face .face{width:100%}.pool-face .face.text{min-height:8.5rem}.pool-face:hover .face{transform:translateY(-2px)}.count-badge{background:var(--accent);color:#fff;min-width:1.6rem;height:1.6rem;box-shadow:0 0 0 2px var(--table);border-radius:999px;place-items:center;font-size:.85rem;font-weight:700;display:grid;position:absolute;top:-.4rem;right:-.4rem}.pool-actions{align-items:center;gap:.25rem;display:flex}.pool-actions button{border:1px solid var(--line);background:var(--panel);border-radius:6px;width:1.8rem;height:1.8rem;padding:0}.pool-id{text-align:center;color:var(--ink-soft);flex:1;font-size:.72rem}.deck-panel{background:var(--panel);border-radius:12px;align-content:start;gap:.8rem;max-height:calc(100vh - 1.5rem);padding:.9rem;display:grid;position:sticky;top:.75rem;overflow-y:auto}.deck-panel h2{justify-content:space-between;align-items:baseline;font-size:.95rem;display:flex}.deck-panel h2 .ok{color:var(--green)}.deck-panel h2 .short{color:var(--ink-soft)}.deck-name{color:var(--ink-soft);gap:.25rem;font-size:.85rem;display:grid}.deck-name input{font:inherit;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:.45rem .6rem}.deck-section ul{gap:.15rem;margin:.3rem 0 0;padding:0;list-style:none;display:grid}.deck-row{grid-template-columns:1fr auto auto;align-items:center;gap:.4rem;font-size:.85rem;display:grid}.deck-oshi .deck-row{grid-template-columns:auto 1fr auto}.deck-row .muted{white-space:nowrap;font-size:.72rem}.deck-row button.link{text-align:left;font-family:var(--jp);color:var(--ink);text-underline-offset:3px;background:0 0;border:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.deck-row>button:not(.link),.qty button{border:1px solid var(--line);background:var(--table);border-radius:6px;width:1.6rem;height:1.6rem;padding:0}.qty{align-items:center;gap:.3rem;display:inline-flex}.qty b{text-align:center;min-width:1.1rem}.deck-check{border-radius:8px;padding:.5rem .7rem;font-size:.82rem}.deck-check.good{background:color-mix(in srgb, var(--green) 14%, transparent);color:var(--ink)}.deck-check.bad{background:var(--spot)}.deck-check p,.deck-check ul{margin:0}.deck-check ul{gap:.15rem;padding-left:1.1rem;display:grid}.notice-line{min-height:1.2em;color:var(--accent);margin:0;font-size:.82rem}.deck-buttons{flex-wrap:wrap;gap:.4rem;display:flex}.deck-buttons button{background:var(--table);border:1px solid var(--line);border-radius:8px;padding:.4rem .7rem;font-size:.85rem}.deck-buttons .danger{background:var(--danger);color:#fff;border-color:var(--danger)}.code-box{gap:.4rem;display:grid}.code-box textarea{border:1px solid var(--line);resize:vertical;word-break:break-all;border-radius:8px;padding:.5rem;font:.8rem/1.4 ui-monospace,monospace}@media (width<=900px){.builder-body{grid-template-columns:1fr}.deck-panel{order:-1;max-height:none;position:static}.pool-grid{grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr))}}.gallery-filters .toggle{white-space:nowrap;margin-left:0}.deck-grid{grid-template-columns:repeat(auto-fill,minmax(4.3rem,1fr));gap:.55rem .45rem;margin:.4rem 0 0;padding:0;list-style:none;display:grid}.deck-tile{justify-items:center;gap:.2rem;display:grid}.deck-tile-face{background:0 0;border:0;border-radius:6px;width:100%;padding:0;position:relative}.deck-tile-face .face{aspect-ratio:63/88;width:100%;overflow:hidden}.deck-tile-face .face.text{height:auto;min-height:0}.deck-grid li{align-content:start;min-width:0;display:grid}.deck-tile{min-width:0}.deck-tile-face .face.text *{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.deck-tile-face .face.img img{border-radius:5px}.deck-tile-face:hover .face{transform:translateY(-2px)}.deck-tile .count-badge{min-width:1.35rem;height:1.35rem;font-size:.78rem;top:-.35rem;right:-.35rem}.deck-tile .qty{gap:.2rem}.deck-tile .qty button{border:1px solid var(--line);background:var(--table);border-radius:6px;width:1.5rem;height:1.4rem;padding:0;line-height:1}.deck-oshi-row{grid-template-columns:5.2rem 1fr;align-items:center;gap:.7rem;margin-top:.4rem;display:grid}.deck-oshi-info{font-family:var(--jp);gap:.2rem;font-size:.9rem;display:grid}.deck-oshi-info .muted{font-family:inherit;font-size:.75rem}.gallery-head .save-btn{border:1px solid var(--line);background:var(--panel);color:var(--ink-soft);border-radius:8px;margin-left:auto;padding:.45rem 1.1rem;font-weight:700}.gallery-head .save-btn.dirty{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent)}.save-btn:disabled{cursor:default}.leave-bar{background:var(--spot);border:1px solid color-mix(in srgb, var(--accent) 40%, var(--line));border-radius:10px;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem .8rem;display:flex}.leave-bar b{flex:1;min-width:12rem}.leave-bar button{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:.4rem .8rem}.leave-bar button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.online{gap:1rem;max-width:40rem;margin:0 auto;padding:1rem;display:grid}.online-card{background:var(--panel);border-radius:12px;gap:.8rem;padding:1rem 1.1rem;display:grid}.online-card h2{font-size:1rem}.field{color:var(--ink-soft);gap:.3rem;font-size:.88rem;display:grid}.field input,.field select,.online-row input{font:inherit;color:var(--ink);border:1px solid var(--line);background:var(--panel);border-radius:8px;min-width:0;padding:.55rem .65rem}.online-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.online-row.spread{justify-content:space-between}.online-row>*{flex:auto}.online-row input{text-transform:uppercase;letter-spacing:.12em;flex:10rem;font-family:ui-monospace,monospace}.online-row button:not(.primary),.online-card .invite button,.room-list button{background:var(--table);border:1px solid var(--line);border-radius:8px;padding:.5rem .9rem}.primary.alt{background:var(--ink)}.form-error{color:var(--danger);margin:0;font-size:.88rem}.room-code{letter-spacing:.2em;text-align:center;color:var(--accent);margin:0;font:700 2.4rem/1 ui-monospace,monospace}.invite{gap:.5rem;display:flex}.invite input{border:1px solid var(--line);border-radius:8px;flex:1;min-width:0;padding:.45rem .6rem;font:.82rem ui-monospace,monospace}.room-players{margin:0;padding-left:1.1rem}.room-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.room-list li{background:var(--table);border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .6rem;display:flex}.status .quit.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.dialog-footer{border-top:1px solid var(--line);justify-content:flex-end;padding-top:.6rem;display:flex}.dialog-footer .quit{background:var(--table);border:1px solid var(--line);border-radius:8px;padding:.3rem .8rem;font-size:.82rem}.dialog-footer .quit.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.lang-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.chips.lang-pick button{font-size:.85rem}.board{justify-items:center}.mat{color:#fff;background-size:100% 100%;border-radius:14px;width:min(100%,89.7059vh - 13.4559rem);min-width:min(100%,30rem);position:relative;overflow:hidden;box-shadow:0 6px 24px #140c3259;container-type:inline-size}.zone{justify-content:center;align-items:center;display:flex;position:absolute}.zone>.mat-card{width:100%}.zone.plate{gap:calc(1.2 * var(--u));font-size:calc(1.5 * var(--u));color:#e9e3ff}.zone.plate b{font-size:calc(1.8 * var(--u))}.zone.plate.on b{color:#fff;text-shadow:0 0 calc(.8 * var(--u)) #c59bff}.turn-chip{color:#1d1236;padding:calc(.1 * var(--u)) calc(1 * var(--u));background:#c59bff;border-radius:99px;font-weight:700}.zone.back-row{gap:1.2%}.back-slot{flex:none}.back-slot .mat-card{width:100%}.mat-card{cursor:zoom-in;border-radius:calc(.7 * var(--u));transition:transform .2s;position:relative}.mat-card:focus-visible{outline:calc(.35 * var(--u)) solid #ffd84d;outline-offset:calc(.2 * var(--u))}.mat-card:hover{transform:translateY(calc(-.4 * var(--u)))}.mat-card.rested{transform:rotate(90deg)}.mat-card.rested:hover{transform:rotate(90deg)scale(1.03)}.face.size-mat,.face.size-thumb{width:100%}.face.size-mat.img{border-radius:calc(.7 * var(--u));box-shadow:0 calc(.3 * var(--u)) calc(.8 * var(--u)) #00000080}.face.text.size-mat{aspect-ratio:63/88;min-height:0;padding:calc(.5 * var(--u));font-size:calc(1 * var(--u));border-top-width:calc(.6 * var(--u));border-radius:calc(.7 * var(--u));color:var(--ink);overflow:hidden}.face.text.size-mat .card-name{font-size:calc(1.15 * var(--u))}.face.text.size-mat .level{font-size:calc(.9 * var(--u))}.mat .hp-badge{right:calc(.4 * var(--u));bottom:calc(.4 * var(--u));font-size:calc(1.1 * var(--u));padding:calc(.1 * var(--u)) calc(.5 * var(--u));border-radius:calc(.5 * var(--u))}.mat .hp-badge.hurt b{color:#ff9aa9}.mat .face.text .hp-badge{position:absolute}.stack-tag{left:calc(.4 * var(--u));top:calc(.4 * var(--u));color:#fff;font-weight:700;font-size:calc(1.2 * var(--u));border-radius:calc(.5 * var(--u));padding:calc(.05 * var(--u)) calc(.5 * var(--u));border:calc(.12 * var(--u)) solid #c59bff;background:#1d1236d9;position:absolute}.tool-tags{left:calc(.3 * var(--u));right:calc(.3 * var(--u));top:calc(2.6 * var(--u));gap:calc(.2 * var(--u));flex-direction:column;align-items:flex-start;display:flex;position:absolute}.mat .support-tag{font-size:calc(.95 * var(--u));color:var(--ink);border-radius:calc(.4 * var(--u));padding:0 calc(.4 * var(--u));text-overflow:ellipsis;white-space:nowrap;background:#ffffffeb;max-width:100%;overflow:hidden}.sp-tag{left:50%;bottom:calc(.5 * var(--u));font-size:calc(1.05 * var(--u));border-radius:calc(.5 * var(--u));padding:calc(.1 * var(--u)) calc(.6 * var(--u));white-space:nowrap;background:#1d1236d9;position:absolute;transform:translate(-50%)}.cheer-row{left:0;right:0;bottom:calc(-1.1 * var(--u));justify-content:center;gap:calc(.3 * var(--u));flex-wrap:wrap;display:flex;position:absolute}.mat .cheer-dot{width:calc(1.5 * var(--u));height:calc(1.5 * var(--u));border:calc(.15 * var(--u)) solid #fff;box-shadow:0 calc(.1 * var(--u)) calc(.3 * var(--u)) #00000080}.pile{color:#fff;background:0 0;border:0;place-items:center;width:100%;height:100%;padding:0;display:grid;position:relative}button.pile{cursor:zoom-in}button.pile:focus-visible{outline:calc(.35 * var(--u)) solid #ffd84d}.pile .face.size-mat{width:92%}.card-back{aspect-ratio:63/88;border-radius:calc(.7 * var(--u));border:calc(.25 * var(--u)) solid #e8dcff;background:repeating-linear-gradient(45deg, #ffffff12 0 calc(.6 * var(--u)), transparent calc(.6 * var(--u)) calc(1.2 * var(--u))), linear-gradient(160deg, #6b4fd1, #2b1a63);width:92%}.card-back.cheer{background:radial-gradient(circle,#ffffff59 0 8%,#0000 9%),linear-gradient(160deg,#ff8fc8,#8b4fd8 60%,#3b2a8f)}.card-back.landscape,.pile.landscape .card-back{aspect-ratio:88/63;width:92%}.count{min-width:calc(3.2 * var(--u));height:calc(3.2 * var(--u));border:calc(.2 * var(--u)) solid #e8dcff;font-weight:700;font-size:calc(1.7 * var(--u));padding:0 calc(.6 * var(--u));background:#140c2de0;border-radius:99px;place-items:center;display:grid;position:absolute;bottom:2%;right:2%}.count.zero{opacity:.55}.count.life{color:#ffd5dc;border-color:#ff9aa9}.life-stack{width:100%;height:100%;position:relative}.life-stack .card-back{width:92%;position:absolute;left:4%}.life-stack .count{left:50%;right:auto;transform:translate(-50%)}.life-stack.from-end .count{top:-1%;bottom:auto}.life-stack.from-start .count{bottom:-1%}.thumb-row{margin-top:.6rem}.thumb-row h4{margin:0 0 .35rem;font-size:.85rem}.thumbs,.zone-cards{flex-wrap:wrap;gap:.5rem;display:flex}.thumb{background:var(--table);border:1px solid var(--line);cursor:zoom-in;text-align:center;border-radius:8px;gap:.2rem;width:5.2rem;padding:.2rem;display:grid}.thumb:hover{border-color:var(--accent)}.thumb-name{font-size:.7rem;line-height:1.2;font-family:var(--jp);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.face.text.size-thumb{aspect-ratio:63/88;border-top-width:4px;min-height:0;padding:.25rem;font-size:.62rem;overflow:hidden}.face.text.size-thumb .card-name{font-size:.66rem}.zone-view{max-width:46rem}.zone-view h2{margin-bottom:.75rem}.zone-cards{max-height:60vh;overflow-y:auto}@media (width<=900px){.mat{width:100%;min-width:0}}@media (prefers-reduced-motion:reduce){.mat-card{transition:none}}@keyframes pick-glow{0%,to{box-shadow:0 0 0 calc(.3 * var(--u)) #ffd84d, 0 0 calc(1.6 * var(--u)) calc(.3 * var(--u)) #ffd84dbf}50%{box-shadow:0 0 0 calc(.3 * var(--u)) #ffd84d, 0 0 calc(.6 * var(--u)) 0 #ffd84d66}}@keyframes pick-glow-px{0%,to{box-shadow:0 0 0 3px #ffb800,0 0 14px 3px #ffb80099}50%{box-shadow:0 0 0 3px #ffb800,0 0 4px #ffb8004d}}.mat-card.mark-actionable .face{box-shadow:0 0 0 calc(.2 * var(--u)) #c59bfff2, 0 0 calc(1.2 * var(--u)) #c59bffb3}.mat-card.mark-selectable{cursor:pointer;animation:1.2s ease-in-out infinite pick-glow}.mat-card.mark-selected{box-shadow:0 0 0 calc(.45 * var(--u)) #3ee0a0, 0 0 calc(1.6 * var(--u)) #3ee0a0;cursor:pointer}.mat-card.mark-source{box-shadow:0 0 0 calc(.3 * var(--u)) #c59bff}.mat-card.mark-selectable,.mat-card.mark-selected,.mat-card.mark-source{border-radius:calc(.7 * var(--u))}.hand .card.mark-actionable .face{box-shadow:0 0 0 2px var(--accent), 0 0 10px #5a48d873}.hand .card.mark-actionable{cursor:pointer}.hand .card.mark-actionable:hover{transform:translateY(-4px)}.hand .card.mark-source .face{box-shadow:0 0 0 3px var(--accent)}.hand .card.mark-selectable .face{animation:1.2s ease-in-out infinite pick-glow-px}.menu-backdrop{z-index:40;position:fixed;inset:0}.card-menu{z-index:41;background:#1d1236;border:1px solid #6b4fd1;border-radius:10px;gap:2px;width:300px;padding:6px;display:grid;position:fixed;box-shadow:0 10px 30px #00000073}.card-menu button{text-align:left;color:#e9e3ff;background:0 0;border:0;border-radius:6px;padding:.5rem .65rem;font-size:.88rem;line-height:1.35}.card-menu button:hover,.card-menu button:focus-visible{color:#fff;background:#3b2a8f;outline:none}.card-menu .menu-act{color:#fff;font-weight:700}.card-menu .menu-cancel{color:#b9aee0;border-top:1px solid #ffffff1a;border-radius:0 0 6px 6px}.pick-banner{z-index:35;color:#fff;background:#1d1236;border:2px solid #ffd84d;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem .9rem;max-width:min(46rem,100vw - 2rem);padding:.6rem 1rem;display:flex;position:fixed;top:.75rem;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0006}.pick-banner .muted{color:#c9bff0;font-size:.85rem}.pick-banner .who{color:#ffd84d;font-size:.8rem}.pick-banner button:not(.primary){color:#fff;background:0 0;border:1px solid #8e7fd0;border-radius:8px;padding:.35rem .8rem}.pick-buttons{gap:.5rem;display:flex}.mat-end{color:#1d1236;padding:calc(.4 * var(--u)) calc(1.4 * var(--u));font-weight:700;font-size:calc(1.5 * var(--u));box-shadow:0 calc(.3 * var(--u)) calc(1 * var(--u)) #0006;white-space:nowrap;background:#ffd84d;border:0;border-radius:99px}.mat-end:hover{background:#ffe57f}.all-actions summary{cursor:pointer;color:var(--ink-soft);margin:.25rem 0;font-size:.85rem}@media (prefers-reduced-motion:reduce){.mat-card.mark-selectable,.hand .card.mark-selectable .face{animation:none}}#fx-layer{pointer-events:none;z-index:30;position:fixed;inset:0}.ghost{transform-origin:0 0;perspective:600px;will-change:transform;position:fixed;top:0;left:0}.ghost-inner{width:100%;height:100%;transform-style:preserve-3d;position:relative}.ghost-front,.ghost-back{backface-visibility:hidden;border-radius:7px;position:absolute;inset:0;overflow:hidden;box-shadow:0 8px 22px #00000073}.ghost-back{aspect-ratio:auto;border-width:2px;width:100%;transform:rotateY(180deg)}.ghost-front img{object-fit:cover;width:100%;height:100%;display:block}.ghost-front.text{color:var(--ink);font-family:var(--jp);border-top:6px solid var(--accent);background:#fff;padding:8px;font-size:13px;font-weight:700}.fx-overlay{z-index:32;cursor:pointer;background:#0c061e59;place-items:center;animation:.18s ease-out fx-in;display:grid;position:fixed;inset:0}.fx-overlay.turn{background:0 0}.fx-box{color:#fff;background:#1d1236f0;border:2px solid #c59bff;border-radius:16px;justify-items:center;gap:.8rem;max-width:calc(100vw - 2rem);padding:1.2rem 1.4rem;display:grid;box-shadow:0 16px 40px #00000080}.fx-who{color:#ffd84d;font-weight:700}.fx-cards{flex-wrap:wrap;justify-content:center;gap:.7rem;display:flex}.fx-card{width:8.5rem;animation:.45s ease-out both fx-flip}.fx-card .face.text{aspect-ratio:63/88;min-height:0}.fx-die{color:#1d1236;background:#fff;border-radius:1rem;place-items:center;width:5rem;height:5rem;font-size:2.8rem;font-weight:800;animation:.6s cubic-bezier(.2,.8,.3,1) fx-roll;display:grid;box-shadow:inset 0 -6px #0000001f,0 8px 20px #0006}.fx-turn{font-family:var(--jp);color:#fff;background:linear-gradient(90deg,#0000,#5b3fc8eb 15% 85%,#0000);padding:.7rem 2.2rem;font-size:clamp(1.4rem,3vw,2.2rem);font-weight:700;animation:.9s ease-in-out both fx-slide}@keyframes fx-in{0%{opacity:0}to{opacity:1}}@keyframes fx-flip{0%{opacity:0;transform:rotateY(90deg)translateY(10px)}to{opacity:1;transform:none}}@keyframes fx-roll{0%{transform:rotate(-540deg)scale(.4)}70%{transform:rotate(15deg)scale(1.1)}to{transform:none}}@keyframes fx-slide{0%{opacity:0;transform:translate(-40px)}20%,80%{opacity:1;transform:none}to{opacity:0;transform:translate(40px)}}@media (prefers-reduced-motion:reduce){.fx-card,.fx-die,.fx-turn,.fx-overlay{animation:none}}.table{grid-template-columns:auto minmax(17rem,24rem);grid-template-areas:"status status""board side";justify-content:center;align-items:start;gap:.5rem;padding:.5rem}.status{align-items:center;padding:.35rem .9rem}.status .hint{font-size:.85rem}.mat{width:min(100vw - 26rem,89.7059vh - 3.94706rem);min-width:30rem}.side{flex-direction:column;grid-area:side;gap:.5rem;max-height:calc(100vh - 4.4rem);display:flex;position:sticky;top:.5rem;overflow:hidden}.side .hand{flex-direction:column;flex:auto;min-height:12rem;display:flex;overflow:hidden}.side .hand-cards{grid-template-columns:repeat(auto-fill,minmax(6.6rem,1fr));align-content:start;gap:.45rem;padding:.2rem;display:grid;overflow:hidden auto}.side .hand-cards .card,.side .hand-cards .face{width:100%}.side .face.text.size-hand{width:100%;min-height:9rem}.panel{background:var(--panel);border-radius:12px;flex:none;padding:.5rem .75rem}.panel>summary{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:700;overflow:hidden}.panel>summary .muted{color:var(--ink-soft);font-size:.8rem;font-weight:400}.panel[open]{max-height:38vh;overflow-y:auto}.log.panel ol{margin:.4rem 0 0}.all-actions.panel .action-group{margin-top:.4rem}.zone.z-next{z-index:3}.mat-next{aspect-ratio:1;border:calc(.25 * var(--u)) solid #fff;color:#1d1236;cursor:pointer;width:100%;box-shadow:0 0 0 calc(.3 * var(--u)) #ffd84d59, 0 calc(.4 * var(--u)) calc(1.2 * var(--u)) #00000080;background:radial-gradient(circle at 35% 30%,#ffe680,#ffc21a 70%);border-radius:50%;align-content:center;place-items:center;gap:0;padding:0;animation:1.8s ease-in-out infinite next-pulse;display:grid}.mat-next .arrow{font-size:calc(1.8 * var(--u));line-height:1}.mat-next .cap{font-size:calc(1.1 * var(--u));white-space:pre-line;text-align:center;font-weight:800;line-height:1.05}.mat-next:hover{filter:brightness(1.08);transform:scale(1.06)}@keyframes next-pulse{0%,to{box-shadow:0 0 0 calc(.3 * var(--u)) #ffd84d59, 0 calc(.4 * var(--u)) calc(1.2 * var(--u)) #00000080}50%{box-shadow:0 0 0 calc(.8 * var(--u)) #ffd84d26, 0 calc(.4 * var(--u)) calc(1.2 * var(--u)) #00000080}}@media (prefers-reduced-motion:reduce){.mat-next{animation:none}}@media (width<=900px){.table{grid-template-columns:1fr;grid-template-areas:"status""board""side"}.mat{width:100%;min-width:0}.side{max-height:none;position:static;overflow:visible}.side .hand-cards{grid-template-columns:repeat(auto-fill,minmax(5.6rem,1fr));max-height:60vh}}.table{grid-template-columns:minmax(0,1fr) minmax(15rem,19rem)}.board{padding-top:.2rem;overflow:clip}.mat-wrap{width:min(100vw - 18.5rem,78.7402vh - 3.62205rem);min-width:min(100%,30rem);display:grid;position:relative;container-type:inline-size}.mat-wrap .mat{width:100%;min-width:0}.hand-fan{z-index:4;position:relative}.hand-fan.far{height:calc(5.5 * var(--u));overflow:clip}.hand-fan.far.open{height:calc(8 * var(--u))}.fan-slot{transition:transform .2s;position:absolute}.hand-fan.near .fan-slot{top:calc(1 * var(--u));transform:rotate(var(--tilt)) translateY(var(--drop));transform-origin:50% 160%}.hand-fan.far.closed .fan-slot{bottom:calc(.6 * var(--u));transform:rotate(var(--tilt)) translateY(var(--drop));transform-origin:50% -60%}.hand-fan.far.open .fan-slot{top:calc(.6 * var(--u));transform:rotate(var(--tilt)) translateY(var(--drop));transform-origin:50% -60%}.fan-slot .card-back{width:100%}.hand-fan .card{width:100%;transition:transform .18s ease-out;display:block}.hand-fan .face{width:100%}.hand-fan .face.img{border-radius:calc(.7 * var(--u));box-shadow:0 calc(.4 * var(--u)) calc(1 * var(--u)) #00000073}.hand-fan .face.text.size-hand{aspect-ratio:63/88;width:100%;min-height:0;padding:calc(.6 * var(--u));font-size:calc(1 * var(--u));border-top-width:calc(.6 * var(--u));border-radius:calc(.7 * var(--u));box-shadow:0 calc(.4 * var(--u)) calc(1 * var(--u)) #00000059;overflow:hidden}.hand-fan.near .fan-slot:hover,.hand-fan.near .fan-slot:focus-within{z-index:60!important}.hand-fan.far.open .fan-slot:hover{z-index:60!important}.hand-fan .card.mark-actionable .face{box-shadow:0 0 0 calc(.3 * var(--u)) #c59bff, 0 0 calc(1.4 * var(--u)) #c59bffd9}.hand-fan .card.mark-actionable{cursor:pointer}.hand-fan .card.mark-source .face{box-shadow:0 0 0 calc(.4 * var(--u)) #c59bff}.hand-fan .card.mark-selectable .face{animation:1.2s ease-in-out infinite pick-glow}.fan-count{right:calc(1 * var(--u));z-index:70;color:#fff;border:calc(.2 * var(--u)) solid #e8dcff;padding:calc(.2 * var(--u)) calc(1 * var(--u));font-size:calc(1.4 * var(--u));pointer-events:none;background:#140c2de0;border-radius:99px;font-weight:700;position:absolute}.hand-fan.near .fan-count{bottom:calc(1 * var(--u))}.hand-fan.far .fan-count{top:calc(.5 * var(--u))}@media (width<=900px){.mat-wrap{width:100%;min-width:0}}.mat-wrap{--sx:1}.mat-wrap>*{--u:calc(1cqw / var(--sx))}.board{justify-items:center;display:grid}.mat-wrap .mat{background-color:#1b1238;background-repeat:no-repeat;background-size:100% 100%}.mat-wrap .mat:before{content:"";pointer-events:none;background:repeating-linear-gradient(0deg, #9682ff0f 0 1px, transparent 1px calc(2.4 * var(--u))), repeating-linear-gradient(90deg, #9682ff0f 0 1px, transparent 1px calc(2.4 * var(--u)));position:absolute;inset:0}.mat-wrap .zone{z-index:1}.zone.framed:before{content:"";inset:calc(-.8 * var(--u));pointer-events:none;z-index:-1;border:calc(.3 * var(--u)) solid #ecd8ffeb;border-radius:calc(1.1 * var(--u));box-shadow:0 0 calc(1 * var(--u)) #c59bffcc, inset 0 0 calc(1.2 * var(--u)) #c59bff59;background:#0e0c268c;position:absolute}.zone.z-line{background:linear-gradient(90deg,#0000,#e1cdffa6 15% 85%,#0000)}.zone>.slot-fill{width:100%}.mat-card.mark-preview{opacity:.78;cursor:pointer}.mat-card.mark-preview .face{box-shadow:0 0 0 calc(.35 * var(--u)) #3ee0a0, 0 0 calc(1.4 * var(--u)) #3ee0a0}.list-chip{color:#fff;font-size:calc(1.15 * var(--u));white-space:nowrap;opacity:.85;background:#140c2de0;border:.15cqw solid #c59bff;border-radius:99px;padding:.1cqw .8cqw;transition:opacity .15s,transform .15s;position:absolute;bottom:3%;left:3%}button.pile.archive:hover .list-chip,button.pile.archive:focus-visible .list-chip{opacity:1;transform:scale(1.08)}button.pile.archive:hover .face{box-shadow:0 0 0 calc(.3 * var(--u)) #c59bff}.zone-view{gap:.6rem;width:min(52rem,100vw - 2rem);max-width:none;display:grid}.zone-view h2{margin:0}.zv-tabs button .muted{font-weight:400}.zv-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.zone-view .zone-cards{grid-template-columns:repeat(auto-fill,minmax(6.4rem,1fr));gap:.55rem;max-height:58vh;padding:.2rem;display:grid;overflow-y:auto}.zv-card{width:auto;position:relative}.zv-count{background:var(--ink);color:#fff;border-radius:99px;padding:0 .45rem;font-size:.8rem;font-weight:700;position:absolute;top:.35rem;right:.35rem}.zv-new{background:var(--accent);color:#fff;border-radius:6px;padding:0 .35rem;font-size:.7rem;font-weight:700;position:absolute;top:.35rem;left:.35rem}.small{margin:0;font-size:.8rem}@media (width<=900px){.table{grid-template-columns:minmax(0,1fr);grid-template-areas:"status""board""side"}.side{max-height:none;position:static;overflow:visible}}.hand-fan.near{height:calc(14 * var(--u))}.hand-fan.near .fan-slot{top:calc(1.2 * var(--u));transform-origin:50% 220%}.hand-fan.near .fan-slot:hover .card,.hand-fan.near .fan-slot:focus-within .card{transform:translateY(calc(-7 * var(--u))) scale(1.15)}.hand-fan .face.text.size-hand{font-size:calc(1.25 * var(--u));padding:calc(.8 * var(--u))}.hand-fan .face.text .card-name{font-size:calc(1.6 * var(--u))}.hand-fan .face.text .level,.hand-fan .face.text .hp{font-size:calc(1.2 * var(--u))}.hand-fan .arts li{font-size:calc(1.15 * var(--u))}.fan-count{font-size:calc(1.7 * var(--u))}.mat .hp-badge{font-size:calc(1.65 * var(--u));padding:calc(.15 * var(--u)) calc(.7 * var(--u));border-radius:calc(.7 * var(--u));right:calc(.5 * var(--u));bottom:calc(.5 * var(--u))}.mat .hp-badge b{font-size:calc(2.25 * var(--u))}.mat .support-tag{font-size:calc(1.45 * var(--u));padding:calc(.1 * var(--u)) calc(.6 * var(--u));border-radius:calc(.5 * var(--u))}.tool-tags{top:calc(3.4 * var(--u));gap:calc(.3 * var(--u))}.mat .cheer-dot{width:calc(2.25 * var(--u));height:calc(2.25 * var(--u));border-width:calc(.22 * var(--u))}.cheer-row{bottom:calc(-1.5 * var(--u));gap:calc(.4 * var(--u))}.stack-tag{font-size:calc(1.6 * var(--u));padding:calc(.1 * var(--u)) calc(.6 * var(--u))}.sp-tag{font-size:calc(1.4 * var(--u))}.mat-wrap .zone.z-next{z-index:3;justify-content:center}.mat-next .arrow{font-size:calc(2.8 * var(--u))}.mat-next .cap{font-size:calc(1.6 * var(--u))}.fx-sub{color:#e9e3ff;font-size:.9rem}.pick.disabled{opacity:.35;filter:grayscale(.6);cursor:not-allowed}.pick-grid.shown{margin-bottom:.6rem}.shown-card{cursor:default}.fx-card .face.text{color:var(--ink)}.pick-grid.deck-view{max-height:56vh;padding:.2rem;overflow-y:auto}.mat-card.rested{z-index:2}.sp-tag{font-size:calc(2.1 * var(--u));padding:calc(.15 * var(--u)) calc(.9 * var(--u));border-radius:calc(.7 * var(--u))}.fx-arrow{pointer-events:none;position:fixed;top:0;left:0;overflow:visible}.fx-arrow line{stroke:#ffd84d;stroke-width:6px;stroke-linecap:round;filter:drop-shadow(0 0 6px #ffc828e6)}.fx-pop{z-index:2;pointer-events:none;white-space:nowrap;font-weight:900;line-height:1;font-family:var(--ui);letter-spacing:-.02em;-webkit-text-stroke:2px #fff;paint-order:stroke fill;text-shadow:0 3px 8px #0000008c;position:fixed}.fx-pop.dmg{color:#ff2d45}.fx-pop.heal{color:#19c96b}.fx-shuffle{z-index:2;pointer-events:none;color:#fff;white-space:nowrap;background:#1d1236eb;border:2px solid #c59bff;border-radius:99px;padding:.25rem .7rem;font-size:.9rem;font-weight:800;position:fixed;box-shadow:0 4px 12px #00000073}.pick{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}.pick.disabled{cursor:help}.dialog-help .muted{font-size:.78rem}.host-groups{gap:.7rem;max-height:60vh;padding:.1rem;display:grid;overflow-y:auto}.host-group{background:color-mix(in srgb, var(--accent) 7%, transparent);border:1px solid var(--line);border-radius:10px;gap:.4rem;padding:.5rem .6rem;display:grid}.host-label{align-items:center;gap:.6rem;display:flex}.host-label .host-thumb{flex:none;width:2.6rem}.host-label .host-thumb .face{width:100%}.host-label .host-thumb .card{cursor:pointer}.host-label .host-thumb .attached,.host-label .host-thumb .hp-badge{display:none}.host-label span:last-child{font-family:var(--jp);display:grid}.host-label small{color:var(--ink-soft);font-family:var(--sans,inherit);font-size:.75rem}.host-pop{z-index:41;background:var(--panel);color:var(--ink);border-radius:12px;gap:.55rem;max-height:80vh;padding:.7rem .8rem;display:grid;position:fixed;overflow-y:auto;box-shadow:0 14px 40px #00000080}.host-pop .pick-grid{justify-content:center}.host-pop-buttons{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.host-pop-buttons .muted{color:var(--ink-soft);font-size:.75rem}.host-pop-buttons button{border:1px solid var(--line);background:var(--table);border-radius:8px;padding:.35rem .9rem}.peek-btn{z-index:12;color:#fff;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;background:#180e34eb;border:1px solid #8e7fd0;border-radius:999px;padding:.55rem 1.2rem;font-weight:700;position:fixed;bottom:1rem;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #0006}.peek-btn[aria-pressed=true]{background:#5a48d8}.dialog-backdrop .dialog{transition:opacity .18s,transform .18s}.dialog-backdrop{transition:background-color .18s}.dialog-backdrop.peeking{pointer-events:none;background:0 0}.dialog-backdrop.peeking .peek-btn{pointer-events:auto}.dialog-backdrop.peeking .dialog{opacity:.07;transform:translateY(30vh)scale(.92)}.gameover{z-index:36;background:radial-gradient(#0e08228c,#0e0822d1);place-items:center;padding:1rem;animation:.3s ease-out fx-in;display:grid;position:fixed;inset:0}.gameover-card{text-align:center;color:#fff;justify-items:center;gap:.6rem;display:grid}.gameover-big{letter-spacing:.06em;text-shadow:0 .06em #00000059,0 0 .4em;margin:0;font-size:clamp(3.5rem,14vw,9rem);font-weight:900;line-height:1;animation:.55s cubic-bezier(.2,1.4,.4,1) both gameover-pop}.gameover.win .gameover-big{color:#ffd84d}.gameover.lose .gameover-big{color:#8fa6ff}.gameover.draw .gameover-big{color:#e8dcff}.gameover.winner .gameover-big{color:#ffd84d;font-size:clamp(2rem,7vw,4.5rem);font-family:var(--jp)}.gameover-who{font-size:clamp(1.1rem,3vw,1.6rem);font-weight:700;font-family:var(--jp);margin:0}.gameover-reason{color:#d6cdf5;margin:0;font-size:1rem}.gameover-buttons{flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:.8rem;display:flex}.gameover-buttons button{color:#fff;background:#180e34d9;border:1px solid #8e7fd0;border-radius:999px;padding:.7rem 1.4rem;font-size:1rem;font-weight:700}.gameover-buttons button.primary{background:#5a48d8;border-color:#5a48d8}.gameover-reopen{z-index:36;color:#fff;background:#180e34eb;border:1px solid #8e7fd0;border-radius:999px;padding:.55rem 1.2rem;font-weight:700;position:fixed;bottom:1rem;left:50%;transform:translate(-50%)}@keyframes gameover-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}.turn-timer{background:color-mix(in srgb, var(--ink) 8%, transparent);white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:.15rem .6rem;font-size:.85rem;display:inline-flex}.turn-timer b{font-variant-numeric:tabular-nums}.turn-timer.mine{background:color-mix(in srgb, var(--accent) 18%, transparent)}.turn-timer.warn{color:#6b4b00;background:#ffe9a8}.turn-timer.danger{color:#fff;background:#ff5a6e;animation:1s ease-in-out infinite pulse-bg}@keyframes pulse-bg{50%{filter:brightness(1.15)}}.turn-timer.float{z-index:50;padding:.4rem .9rem;font-size:1rem;position:fixed;bottom:1rem;left:1rem;box-shadow:0 6px 18px #00000059}.table-alert{z-index:45;pointer-events:none;color:#fff;text-align:center;background:#c81e37f0;border-radius:14px;padding:1rem 2rem;font-size:clamp(1.1rem,3vw,1.6rem);font-weight:800;animation:2.5s both alert-pop;position:fixed;top:42%;left:50%;transform:translate(-50%,-50%);box-shadow:0 14px 40px #00000073}@keyframes alert-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.7)}10%,85%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(1)}}.format-badge{white-space:nowrap;color:#fff;pointer-events:none;background:#d98a00;border-radius:999px;padding:.1rem .45rem;font-size:.7rem;font-weight:800;position:absolute;bottom:.35rem;left:50%;transform:translate(-50%);box-shadow:0 1px 3px #00000059}.format-badge.banned,.format-badge.notAllowed,.format-badge.over{background:#d6243c}.deck-tile .format-badge{font-size:.62rem;bottom:.2rem}.deck-name select{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:8px;padding:.4rem .5rem}.deck-name small{font-size:.74rem}.status .sound-btn{background:var(--table);border:1px solid var(--line);border-radius:8px;margin-left:auto;padding:.2rem .5rem;font-size:.95rem;line-height:1.2}.status .sound-btn+.quit{margin-left:.4rem}.toggle .volume{width:6rem;accent-color:var(--accent);vertical-align:middle;margin-left:.3rem}.start.home{margin-top:9vh}.home-menu{gap:.65rem;display:grid}.home-item{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:14px;grid-template-columns:1fr auto;grid-template-areas:"title arrow""sub arrow";align-items:center;gap:.15rem 1rem;padding:1rem 1.2rem 1rem 1.35rem;transition:transform .12s,box-shadow .12s,border-color .12s;display:grid;position:relative;box-shadow:0 1px 2px #24203b14}.home-item:before{content:"";background:var(--line);border-radius:0 4px 4px 0;width:4px;position:absolute;top:.9rem;bottom:.9rem;left:0}.home-item.main:before{background:var(--accent)}.home-item:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));transform:translateY(-1px);box-shadow:0 6px 16px #24203b1f}.home-item:active{transform:none}.home-item-title{grid-area:title;font-size:1.15rem;font-weight:700}.home-item.main .home-item-title{font-size:1.3rem}.home-item-sub{color:var(--ink-soft);grid-area:sub;font-size:.85rem}.home-item-arrow{color:var(--ink-soft);grid-area:arrow;font-size:1.8rem;line-height:1}.home-item.main .home-item-arrow{color:var(--accent)}.primary.big{padding:.8rem 1.4rem;font-size:1.1rem}.options{background:var(--panel);border:1px solid var(--line);border-radius:14px;display:grid;overflow:hidden}.option-row{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.1rem;display:flex}.option-row+.option-row{border-top:1px solid var(--line)}.option-label{gap:.1rem;font-weight:600;display:grid}.option-label small{color:var(--ink-soft);font-size:.8rem;font-weight:400}.option-row .volume{width:min(14rem,45vw);margin:0}.switch{appearance:none;background:var(--line);cursor:pointer;border-radius:999px;flex:none;width:2.8rem;height:1.6rem;margin:0;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:1.2rem;height:1.2rem;transition:transform .15s;position:absolute;top:.2rem;left:.2rem;box-shadow:0 1px 3px #0000004d}.switch:checked{background:var(--accent)}.switch:checked:after{transform:translate(1.2rem)}.switch:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.volume{accent-color:var(--accent)}.fx-overlay.step{background:0 0}.fx-step{color:#fff;text-align:center;white-space:nowrap;background:linear-gradient(90deg,#0000,#180e34e6 18% 82%,#0000);border-top:2px solid #c59bffe6;border-bottom:2px solid #c59bffe6;justify-items:center;gap:.1rem;padding:.7rem 3.2rem .8rem;animation:.65s cubic-bezier(.2,.9,.3,1) both fx-step;display:grid}.fx-step-en{letter-spacing:.12em;color:#ffd84d;text-shadow:0 0 .35em #ffd84d8c;font-size:clamp(2rem,6vw,3.6rem);font-weight:900;line-height:1}.fx-step-name{font-size:clamp(1rem,2.4vw,1.35rem);font-weight:800}.fx-step-who{color:#d6cdf5;font-size:.8rem}.fx-step.s-performance .fx-step-en{color:#ff8fa0;text-shadow:0 0 .35em #ff5a6e8c}.fx-step.s-main .fx-step-en{color:#9fe7c0;text-shadow:0 0 .35em #3ce68c80}@keyframes fx-step{0%{opacity:0;transform:translate(-12%)scaleX(.9)}22%{opacity:1;transform:none}80%{opacity:1;transform:none}to{opacity:0;transform:translate(10%)}}@media (prefers-reduced-motion:reduce){.fx-step{animation:none}}.banner-spot{z-index:35;max-width:min(46rem,100vw - 2rem);transition:top .15s;position:fixed;top:.75rem;left:50%;transform:translate(-50%)}.banner-spot>.pick-banner{max-width:none;position:static;transform:none;box-shadow:0 10px 30px #0000008c}.fx-step.fx-first{gap:.35rem;padding:1rem 4rem 1.1rem;animation-duration:1.8s}.fx-first-row{font-size:clamp(1.1rem,2.6vw,1.5rem);font-weight:800;font-family:var(--jp)}.fx-first-row b{text-align:center;min-width:3.2em;font-size:.8em;font-family:var(--ui);border-radius:6px;margin-right:.5rem;padding:.05rem .5rem;display:inline-block}.fx-first-row b.first{color:#2a1b00;background:#ffd84d}.fx-first-row b.second{color:#0d1640;background:#8fa6ff}.pile.looking{z-index:6}.look-fan{pointer-events:none;position:absolute;inset:0}.look-fan .card-back{transform-origin:50% 120%;width:92%;transform:translate(calc(var(--fx) - 22%), -46%) rotate(var(--rot));box-shadow:0 calc(.6 * var(--u)) calc(1.4 * var(--u)) #0000008c;animation:.35s cubic-bezier(.2,.9,.3,1.2) both look-lift;position:absolute;top:0;left:4%}.look-fan.far{transform:rotate(180deg)}.look-tag{white-space:nowrap;padding:calc(.3 * var(--u)) calc(1 * var(--u));font-size:calc(1.7 * var(--u));color:#2a1b00;box-shadow:0 calc(.3 * var(--u)) calc(.8 * var(--u)) #00000073;background:#ffd84d;border-radius:99px;font-weight:800;animation:1.4s ease-in-out infinite look-tag;position:absolute;top:-64%;left:28%;transform:translate(-50%)}.look-fan.far .look-tag{transform:translate(-50%)rotate(180deg)}@keyframes look-lift{0%{opacity:.4;transform:translate(0)rotate(0)}to{transform:translate(calc(var(--fx) - 22%), -46%) rotate(var(--rot));opacity:1}}@keyframes look-tag{50%{filter:brightness(1.12)}}@media (prefers-reduced-motion:reduce){.look-fan .card-back,.look-tag{animation:none}}.mat-wrap .zone:has(.pile.looking){z-index:8}.log .log-name{color:var(--ink);font-weight:800}.mod-chips{left:calc(.4 * var(--u));bottom:calc(.5 * var(--u));align-items:flex-start;gap:calc(.2 * var(--u));pointer-events:none;flex-direction:column;display:flex;position:absolute}.mod-chip{font-size:calc(1.4 * var(--u));padding:calc(.05 * var(--u)) calc(.45 * var(--u));border-radius:calc(.45 * var(--u));white-space:nowrap;box-shadow:0 0 0 calc(.12 * var(--u)) currentColor inset;background:#0e0a20d1;font-weight:800;line-height:1.2}.mod-chip.good{color:#7ff0b0}.mod-chip.bad{color:#ff8fa0}.current-mods{background:color-mix(in srgb, var(--accent) 7%, transparent);border:1px solid var(--line);border-radius:10px;padding:.55rem .75rem}.current-mods h3{margin:0 0 .3rem;font-size:.85rem}.current-mods ul{gap:.2rem;margin:0;padding-left:1rem;font-size:.86rem;display:grid}.current-mods li.good b{color:var(--green)}.current-mods li.bad b{color:var(--danger)}
