@import "https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;600;700;800&family=Noto+Serif+TC:wght@500;700&family=ZCOOL+XiaoWei&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-body);color:var(--ink);background:var(--bg-base);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-body:"Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;--font-display:"ZCOOL XiaoWei", "Noto Serif TC", serif;--font-serif:"Noto Serif TC", "PingFang TC", serif;--bg-base:oklch(95.5% .032 62);--paper:oklch(98.2% .012 74);--paper-soft:oklch(95.8% .025 68);--paper-warm:oklch(94% .043 42);--mist:oklch(93% .048 145);--blossom:oklch(80% .09 12);--blossom-deep:oklch(56% .12 18);--jade:oklch(56% .095 154);--amber:oklch(70% .13 73);--sapphire:oklch(57% .12 248);--ink:oklch(27% .048 35);--ink-soft:oklch(45% .036 34);--ink-muted:oklch(60% .03 42);--line:oklch(74% .035 48/.38);--line-strong:oklch(59% .056 34/.36);--surface:oklch(98.5% .011 76/.84);--surface-strong:oklch(99% .008 78/.96);--surface-smoke:oklch(92% .024 70/.72);--danger:oklch(53% .14 24);--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--space-4xl:96px;--radius-sm:12px;--radius-md:20px;--radius-lg:30px;--radius-xl:42px;--radius-full:999px;--shadow-soft:0 12px 32px oklch(36% .05 32/.08);--shadow-panel:0 22px 60px oklch(36% .055 32/.12);--shadow-float:0 28px 72px oklch(34% .06 24/.18);--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--ease-out-quint:cubic-bezier(.22, 1, .36, 1);--ease-out-expo:cubic-bezier(.16, 1, .3, 1);font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#app{min-height:100vh}body{color:var(--ink);font-family:var(--font-body);background:radial-gradient(circle at 8% 10%,oklch(98% .032 50/.95) 0%,#0000 30rem),radial-gradient(circle at 88% 12%,oklch(91% .08 12/.62) 0%,#0000 24rem),radial-gradient(circle at 78% 82%,oklch(88% .075 145/.7) 0%,#0000 28rem),linear-gradient(145deg,oklch(97% .02 80) 0%,oklch(93% .042 45) 42%,oklch(93% .042 105) 100%);margin:0;position:relative;overflow-x:hidden}body:before,body:after{content:"";z-index:-1;pointer-events:none;filter:blur(10px);opacity:.76;animation:cloudDrift 18s var(--ease-out-quint) infinite alternate;border-radius:999px;position:fixed}body:before{background:radial-gradient(circle,oklch(99% .012 80/.86),#0000 72%);width:22rem;height:12rem;top:9vh;left:-7rem}body:after{background:radial-gradient(circle,oklch(92% .08 23/.58),#0000 74%);width:26rem;height:15rem;animation-delay:-8s;bottom:10vh;right:-9rem}button,input,select,textarea{font:inherit}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.62}a{color:inherit}#app{width:min(1560px,100vw - 32px);margin:0 auto}.app-shell{gap:clamp(var(--space-lg), 2.4vw, var(--space-2xl));padding:clamp(18px, 3vw, 38px) 0 var(--space-2xl);flex-direction:column;display:flex}.topbar,.panel-card,.board-panel{border:1px solid var(--line);background:linear-gradient(135deg, color-mix(in oklch, var(--surface) 92%, transparent), color-mix(in oklch, var(--surface-smoke) 72%, transparent)), var(--surface);box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(18px)}.topbar,.panel-card{border-radius:var(--radius-xl);padding:clamp(18px,2.2vw,30px)}.topbar{gap:var(--space-lg);animation:riseIn .68s var(--ease-out-quint) both;flex-direction:column;display:flex}.topbar__row--head{gap:var(--space-xl);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.topbar__row--online{gap:var(--space-md);flex-wrap:wrap;justify-content:flex-end;align-items:center;display:flex}.topbar__divider{background:linear-gradient(90deg, transparent, color-mix(in oklch, var(--line-strong) 55%, transparent) 18%, color-mix(in oklch, var(--line-strong) 55%, transparent) 82%, transparent);height:1px}.topbar__lead{align-items:center;gap:clamp(var(--space-md), 3vw, var(--space-2xl));flex-wrap:wrap;min-width:0;display:flex;position:relative}.topbar__lead:before{content:"";height:11rem;animation:softGlow 8s var(--ease-out-quint) infinite alternate;pointer-events:none;z-index:0;background:radial-gradient(circle,oklch(84% .09 23/.24),#0000 70%);border-radius:50%;position:absolute;inset:-55% -12% auto 22%}.topbar__lead>.topbar__title{z-index:1;position:relative}.topbar__title{gap:var(--space-xs);display:grid}.topbar__title h1,.panel-header h2,.dialog-header h2{color:var(--ink);font-family:var(--font-display);margin:0;font-weight:400;line-height:1.05}.topbar__title h1{font-family:var(--font-body);letter-spacing:.06em;font-size:clamp(1.4rem,2.5vw,2.7rem);font-weight:800}.topbar__desc{max-width:52ch;color:var(--ink-soft);margin:0;font-size:1rem;line-height:1.85}.topbar__actions,.board-toolbar,.topbar__online-actions,.buy-panel__actions,.preset-actions,.draw-actions{gap:var(--space-sm);flex-wrap:wrap;align-items:center;display:flex}.topbar__actions{justify-content:flex-end}.eyebrow,.meta-chip__label{color:color-mix(in oklch, var(--blossom-deep) 72%, var(--ink-muted));letter-spacing:.2em;text-transform:uppercase;margin:0;font-size:.76rem;font-weight:700}.auth-bar,.meta-chip,.player-card,.card-editor,.preset-panel,.inline-field{border:1px solid color-mix(in oklch, var(--line) 88%, transparent);background:color-mix(in oklch, var(--surface-strong) 92%, transparent);box-shadow:var(--shadow-soft)}.auth-bar,.meta-chip{border-radius:var(--radius-full);padding:10px 14px}.auth-bar{align-items:center;gap:var(--space-sm);max-width:min(420px,100%);display:inline-flex}.auth-text{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.auth-text--warn{color:var(--danger)}.back-link,.pill-btn,.primary-btn,.secondary-btn,.danger-btn,.icon-btn{cursor:pointer;isolation:isolate;transition:transform .18s var(--ease-out-quart), box-shadow .18s var(--ease-out-quart), background-color .18s var(--ease-out-quart), border-color .18s var(--ease-out-quart), color .18s var(--ease-out-quart);border:none;justify-content:center;align-items:center;text-decoration:none;display:inline-flex;position:relative}.back-link,.pill-btn,.primary-btn,.secondary-btn,.danger-btn{border-radius:var(--radius-full);min-height:42px;padding:10px 17px;font-weight:700}.back-link,.primary-btn{color:oklch(98.5% .012 70);background:radial-gradient(circle at 22% 20%,oklch(88% .12 65/.46),#0000 36%),linear-gradient(135deg,oklch(43% .09 35),oklch(58% .13 18));box-shadow:0 14px 26px oklch(43% .1 23/.22)}.back-link--secondary,.secondary-btn,.pill-btn,.icon-btn{color:var(--ink);border:1px solid color-mix(in oklch, var(--line-strong) 72%, transparent);background:color-mix(in oklch, var(--surface-strong) 84%, transparent)}.pill-btn--ghost,.danger-btn{color:var(--danger);background:oklch(95% .035 24/.82);border:1px solid oklch(62% .11 24/.28)}.icon-btn{border-radius:50%;width:36px;height:36px;padding:0}.primary-btn--wide{width:100%}.back-link:hover,.pill-btn:hover,.primary-btn:hover,.secondary-btn:hover,.danger-btn:hover,.icon-btn:hover{transform:translateY(-2px);box-shadow:0 16px 34px oklch(36% .055 28/.16)}.back-link:active,.pill-btn:active,.primary-btn:active,.secondary-btn:active,.danger-btn:active,.icon-btn:active{transform:translateY(1px)scale(.98)}.panel-note,.topbar__online-status,.player-card p{color:var(--ink-soft);line-height:1.78}.meta-chip{gap:var(--space-2xs);border-radius:24px;flex-direction:column;min-width:180px;padding:14px 18px;display:flex}.meta-chip strong{color:var(--ink);font-family:var(--font-serif);font-size:1.08rem}.topbar__online-actions{justify-content:flex-end}.topbar__online-status{gap:var(--space-xs);word-break:break-all;width:100%;padding:var(--space-md);border-radius:var(--radius-md);background:oklch(95% .03 148/.58);border:1px solid oklch(62% .08 148/.28);display:grid}.workspace-shell{box-sizing:border-box;width:100%;padding-right:52px;position:relative}.workspace-shell--play{padding-right:0}.topbar__mode-btn{flex-shrink:0}.drawer-rail{z-index:302;width:52px;padding:10px calc(6px + env(safe-area-inset-right,0px)) 10px 8px;box-sizing:border-box;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;top:50%;right:0;transform:translateY(-50%)}.drawer-rail__btn{pointer-events:auto;border-radius:var(--radius-md);width:100%;min-height:88px;color:var(--ink);border:1px solid color-mix(in oklch, var(--line-strong) 72%, transparent);background:color-mix(in oklch, var(--surface-strong) 94%, transparent);box-shadow:var(--shadow-soft);cursor:pointer;transition:transform .18s var(--ease-out-quart), border-color .18s var(--ease-out-quart), box-shadow .18s var(--ease-out-quart), background-color .18s var(--ease-out-quart);justify-content:center;align-items:center;padding:8px 4px;display:flex}.drawer-rail__btn:hover{border-color:color-mix(in oklch, var(--blossom) 38%, var(--line));box-shadow:var(--shadow-panel);transform:translate(-2px)}.drawer-rail__btn--active{background:linear-gradient(145deg, oklch(96% .04 72/.95), color-mix(in oklch, var(--surface-strong) 88%, transparent));box-shadow:0 0 0 3px oklch(78% .09 18/.2), var(--shadow-panel);border-color:oklch(58% .12 18/.48)}.drawer-rail__label{writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.16em;font-size:.8rem;font-weight:800;line-height:1.25}.drawer-backdrop{z-index:300;-webkit-backdrop-filter:blur(5px);background:oklch(22% .03 35/.44);position:fixed;inset:0}.drawer-backdrop-enter-active,.drawer-backdrop-leave-active{transition:opacity .22s var(--ease-out-quart)}.drawer-backdrop-enter-from,.drawer-backdrop-leave-to{opacity:0}.drawer-panel{z-index:301;width:min(440px,100vw - 64px);height:100vh;max-height:100dvh;padding:calc(env(safe-area-inset-top,0px) + 18px) clamp(16px, 3vw, 26px) calc(env(safe-area-inset-bottom,0px) + 20px);box-sizing:border-box;border:1px solid var(--line);border-radius:var(--radius-xl) 0 0 var(--radius-xl);background:linear-gradient(135deg, color-mix(in oklch, var(--surface) 92%, transparent), color-mix(in oklch, var(--surface-smoke) 72%, transparent)), var(--surface);-webkit-backdrop-filter:blur(18px);border-right:none;flex-direction:column;display:flex;position:fixed;top:0;right:52px;box-shadow:-18px 0 48px oklch(32% .05 35/.14)}.drawer-panel-enter-active,.drawer-panel-leave-active{transition:transform .26s var(--ease-out-quart)}.drawer-panel-enter-from,.drawer-panel-leave-to{transform:translate(100%)}.drawer-panel__header.panel-header{margin-bottom:var(--space-sm);flex-shrink:0}.drawer-panel__body{gap:var(--space-md);flex-direction:column;flex:1;min-height:0;padding-right:2px;display:flex;overflow:auto}.drawer-panel__lede{margin:0}.board-panel{border-radius:var(--radius-xl);animation:riseIn .76s var(--ease-out-quint) .3s both;padding:clamp(18px,2vw,28px);position:relative;overflow:hidden}.board-panel:before{content:"";pointer-events:none;background-color:#0000;background-image:linear-gradient(90deg,oklch(72% .1 350/.04) 1px,#0000 1px),linear-gradient(0deg,oklch(72% .1 155/.04) 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:34px 34px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 38%,#000 0%,#0000 76%);mask-image:radial-gradient(circle at 50% 38%,#000 0%,#0000 76%)}.panel-header{z-index:1;justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-lg);display:flex;position:relative}.panel-header--board{flex-wrap:wrap;align-items:center}.panel-header__lead{gap:var(--space-xs);min-width:0;display:grid}.board-toolbar{justify-content:flex-end}.panel-header h2{font-size:clamp(1.7rem,2vw,2.4rem)}.secondary-btn--toolbar,.danger-btn--toolbar{min-height:34px;padding:6px 11px;font-size:.78rem;font-weight:700}.board-scroll{z-index:1;padding:var(--space-sm);background:radial-gradient(circle at 12% 18%,oklch(95% .05 350/.26),#0000 38%),radial-gradient(circle at 88% 78%,oklch(94% .045 155/.24),#0000 36%),radial-gradient(circle at 72% 12%,oklch(96% .04 85/.2),#0000 32%),radial-gradient(circle,oklch(98% .022 72/.9),#0000 62%),linear-gradient(145deg,oklch(94% .028 55/.48),oklch(92% .032 145/.36));border-radius:34px;position:relative;overflow-x:auto;box-shadow:inset 0 1px oklch(99% .015 80/.6)}.board-grid{grid-template-rows:repeat(7,minmax(106px,auto));grid-template-columns:repeat(7,minmax(118px,1fr));gap:12px;min-width:920px;display:grid}.board-grid--locked .board-tile:hover{box-shadow:none;filter:none;transform:none}.board-grid--locked .board-tile{cursor:default}.board-locked-note{max-width:46ch;color:var(--ink-muted);margin:0;font-size:.86rem;font-weight:650;line-height:1.5}.board-center{gap:var(--space-md);z-index:1;background:radial-gradient(circle,oklch(98% .022 72/.96),oklch(96% .028 68/.92));border-radius:28px;grid-area:2/2/7/7;grid-template-columns:minmax(0,1fr);display:grid;position:relative}.board-center__block{gap:var(--space-md);min-width:0;box-shadow:none;background:0 0;border:none;border-radius:0;flex-direction:column;padding:0;display:flex}.board-center__block--dice{text-align:center;background:0 0;justify-content:center;justify-self:center;align-items:center;width:max-content;min-width:0}.board-tile{min-height:106px;box-shadow:var(--shadow-soft);transition:transform .18s var(--ease-out-quart), box-shadow .18s var(--ease-out-quart), filter .18s var(--ease-out-quart);border:1px solid oklch(90% .04 70/.32);border-radius:22px;flex-direction:column;gap:9px;padding:12px;display:flex;overflow:hidden}.board-tile.tile-land{background:linear-gradient(145deg,oklch(97% .045 72),oklch(91% .07 68),oklch(95% .05 70))}.board-tile.tile-start{background:linear-gradient(145deg,oklch(97% .048 330),oklch(90% .08 322),oklch(95% .055 325))}.board-tile.tile-event{background:linear-gradient(145deg,oklch(97% .05 350),oklch(90% .085 346),oklch(95% .058 348))}.board-tile.tile-tax{background:linear-gradient(145deg,oklch(98% .05 90),oklch(92% .085 84),oklch(96% .058 86))}.board-tile.tile-jail{background:linear-gradient(145deg,oklch(95% .04 290),oklch(86% .075 288),oklch(92% .05 292))}.board-tile.tile-free{background:linear-gradient(145deg,oklch(96% .05 155),oklch(89% .08 160),oklch(94% .055 158))}.board-tile.tile-go-jail{background:linear-gradient(145deg,oklch(96% .048 25),oklch(89% .075 22),oklch(94% .052 22))}.board-tile:hover{box-shadow:0 18px 40px oklch(42% .08 35/.12), var(--shadow-panel);filter:saturate(1.03);transform:translateY(-3px)scale(1.01)}.board-tile__header{gap:var(--space-xs);grid-template-columns:auto 1fr auto;align-items:center;display:grid}.board-tile__icon{background:oklch(99% .015 80/.78);border-radius:50%;place-items:center;width:28px;height:28px;display:grid;box-shadow:0 2px 8px oklch(40% .06 35/.1)}.board-tile__label{color:var(--ink);font-weight:800;line-height:1.25}.board-tile__num{color:var(--ink-muted);font-size:.78rem;font-weight:700}.board-tile__input,.card-editor__input,.card-editor__textarea,.rules-textarea,.inline-field input,.inline-field select{border:1px solid color-mix(in oklch, var(--line-strong) 68%, transparent);border-radius:var(--radius-sm);width:100%;color:var(--ink);transition:border-color .18s var(--ease-out-quart), box-shadow .18s var(--ease-out-quart), background-color .18s var(--ease-out-quart);background:oklch(99.5% .006 76/.88);outline:none;padding:10px 12px}.board-tile__effect{color:var(--ink-soft);margin:0;font-size:.82rem;line-height:1.45}.board-tile__input{background:oklch(99.5% .008 76/.72);border-color:oklch(82% .05 70/.32);min-height:34px;padding:7px 9px;font-size:.88rem}.board-tile__input:focus,.card-editor__input:focus,.card-editor__textarea:focus,.rules-textarea:focus,.inline-field input:focus,.inline-field select:focus{background:var(--surface-strong);border-color:oklch(58% .12 18/.58);box-shadow:0 0 0 4px oklch(78% .09 18/.16)}.board-tile__owner{color:var(--ink-soft);font-size:.82rem;font-weight:700}.board-tile__pawns{flex-wrap:wrap;align-items:flex-start;gap:8px;margin-top:auto;display:flex}.board-tile__pawn-unit{max-width:56px;animation:pawnArrive .48s var(--ease-out-expo) both;flex-direction:column;align-items:center;gap:2px;display:flex}.board-tile__pawn-name{letter-spacing:-.02em;max-width:100%;color:var(--ink);text-align:center;text-overflow:ellipsis;white-space:nowrap;padding:0 1px;font-size:.58rem;font-weight:750;line-height:1.15;display:block;overflow:hidden}.board-tile__pawn,.player-token{color:#fff;border:2px solid oklch(99% .006 80/.8);border-radius:50%;place-items:center;width:30px;height:30px;font-size:.9rem;display:inline-grid;box-shadow:0 10px 18px oklch(34% .06 28/.2)}.board-tile__pawn{flex-shrink:0}.inline-field{align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);padding:10px 12px;display:inline-flex}.inline-field span{color:var(--ink-muted);white-space:nowrap;font-size:.86rem;font-weight:700}.inline-field--stacked{flex-direction:column;align-items:stretch}.player-list,.cards-grid,.card-column__list{gap:var(--space-sm);display:grid}.player-list{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.player-card{gap:var(--space-sm);border-radius:var(--radius-md);padding:var(--space-sm);transition:transform .18s var(--ease-out-quart), border-color .18s var(--ease-out-quart), box-shadow .18s var(--ease-out-quart);flex-direction:column;display:flex}.player-card--active{box-shadow:0 0 0 4px oklch(75% .09 18/.14), var(--shadow-soft);animation:activePulse 1.8s var(--ease-out-quint) infinite alternate;border-color:oklch(60% .12 18/.5)}.player-card__identity{gap:var(--space-sm);align-items:center;display:flex}.player-card__identity strong{color:var(--ink)}.dice-shell{--dice-face-1:rotateX(0deg) rotateY(0deg);--dice-face-2:rotateX(-90deg) rotateY(0deg);--dice-face-3:rotateX(0deg) rotateY(-90deg);--dice-face-4:rotateX(0deg) rotateY(90deg);--dice-face-5:rotateX(90deg) rotateY(0deg);--dice-face-6:rotateX(0deg) rotateY(180deg);--dice-rotation:var(--dice-face-1);width:74px;min-height:112px;box-shadow:none;perspective:560px;background:0 0;border:none;border-radius:0;flex-direction:column;justify-content:center;place-items:center;gap:10px;display:flex}.dice-cube{width:54px;height:54px;transform-style:preserve-3d;transform:var(--dice-rotation);transition:transform .56s var(--ease-out-expo);filter:drop-shadow(0 6px 12px #37415147);position:relative}.dice-face{border:1.5px solid var(--dice-edge);background:linear-gradient(145deg, var(--dice-fill-top), var(--dice-fill-bottom));color:var(--dice-ink);backface-visibility:hidden;border-radius:10px;place-items:center;font-size:1.1rem;font-weight:800;display:grid;position:absolute;inset:0;box-shadow:inset 0 1px #ffffff59}.dice-face--front{transform:translateZ(27px)}.dice-face--back{transform:rotateY(180deg)translateZ(27px)}.dice-face--right{transform:rotateY(90deg)translateZ(27px)}.dice-face--left{transform:rotateY(-90deg)translateZ(27px)}.dice-face--top{transform:rotateX(90deg)translateZ(27px)}.dice-face--bottom{transform:rotateX(-90deg)translateZ(27px)}.dice-shell--rolling .dice-cube{animation:.76s linear infinite cubeToss}.dice-shell--rolling{animation:none}.board-center__block--dice .draw-actions{justify-content:center;gap:14px;margin-top:2px}.draw-card{border:1px solid color-mix(in oklch, var(--line-strong) 55%, transparent);cursor:pointer;isolation:isolate;text-align:center;width:62px;min-height:86px;transition:transform .18s var(--ease-out-quart), box-shadow .18s var(--ease-out-quart);border-radius:10px;grid-template-rows:auto 1fr auto;padding:7px 6px 6px;display:grid;position:relative;overflow:hidden}.draw-card:before{content:"";border:1px dashed color-mix(in oklch, var(--ink-muted) 28%, transparent);pointer-events:none;border-radius:7px;position:absolute;inset:4px}.draw-card:after{content:"";pointer-events:none;opacity:.7;background:radial-gradient(circle,oklch(100% 0 0/.42),#0000 68%);border-radius:50%;height:42px;position:absolute;inset:auto -18px -22px}.draw-card--chance{color:oklch(42% .09 58);background:linear-gradient(160deg,oklch(99% .02 88/.95) 0%,#0000 42%),linear-gradient(145deg,oklch(97% .06 86),oklch(90% .1 78) 52%,oklch(95% .07 84));transform:rotate(-4deg);box-shadow:inset 0 1px oklch(99% .015 85/.9),0 8px 18px oklch(55% .08 70/.14)}.draw-card--fate{color:oklch(38% .1 265);background:linear-gradient(160deg,oklch(99% .015 280/.95) 0%,#0000 42%),linear-gradient(145deg,oklch(96% .045 285),oklch(86% .09 255) 52%,oklch(93% .06 270));transform:rotate(4deg);box-shadow:inset 0 1px oklch(99% .012 280/.9),0 8px 18px oklch(45% .1 265/.14)}.draw-card:hover{transform:translateY(-3px)rotate(0)scale(1.04);box-shadow:inset 0 1px oklch(99% .015 85/.9),0 14px 26px oklch(40% .08 35/.16)}.draw-card:active{transform:translateY(-1px)scale(.98)}.draw-card__corner{z-index:1;font-family:var(--font-serif);letter-spacing:.04em;justify-self:start;font-size:.62rem;font-weight:700;line-height:1;position:relative}.draw-card__corner--flip{justify-self:end;transform:rotate(180deg)}.draw-card__body{z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:46px;padding:2px 0;display:flex;position:relative}.draw-card__sigil{opacity:.88;font-size:.95rem;line-height:1}.draw-card__title{font-family:var(--font-serif);letter-spacing:.12em;font-size:.72rem;font-weight:700;line-height:1.15}.draw-card__action{letter-spacing:.16em;text-transform:uppercase;color:color-mix(in oklch, currentColor 72%, var(--ink-muted));font-size:.58rem;font-weight:700}.turn-log{gap:var(--space-xs);flex-direction:column-reverse;max-height:330px;padding-right:2px;display:flex;overflow:auto}.turn-log p{border-radius:var(--radius-sm);color:var(--ink-soft);background:oklch(96% .02 78/.78);margin:0;padding:10px 12px;line-height:1.55}.turn-log--dialog{max-height:min(52vh,420px)}.player-modal-count{gap:var(--space-sm);margin-bottom:var(--space-md);display:grid}.player-modal-count__field{align-items:stretch}.player-modal-count__field select{width:100%;max-width:200px}.player-modal-count__hint{color:var(--ink-muted);margin:0;font-size:.85rem;line-height:1.5}.player-modal-grid{gap:var(--space-sm);display:grid}.player-modal-item{align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);border:1px solid color-mix(in oklch, var(--line) 88%, transparent);background:color-mix(in oklch, var(--surface-strong) 92%, transparent);grid-template-columns:auto minmax(0,1fr) minmax(118px,auto);padding:10px 12px;display:grid}.player-modal-item--active{border-color:oklch(60% .12 18/.5);box-shadow:0 0 0 3px oklch(75% .09 18/.12)}.player-modal-item__name{gap:4px;display:grid}.player-modal-item__name span{color:var(--ink-muted);font-size:.78rem;font-weight:700}.player-modal-item__name input{border:1px solid color-mix(in oklch, var(--line-strong) 72%, transparent);width:100%;min-height:36px;color:var(--ink);background:oklch(99.5% .006 76/.92);border-radius:10px;padding:6px 10px;font-weight:700}.player-modal-item__money{gap:4px;display:grid}.player-modal-item__money span{color:var(--ink-muted);font-size:.78rem;font-weight:700}.player-modal-item__money input{border:1px solid color-mix(in oklch, var(--line-strong) 72%, transparent);width:100%;min-height:36px;color:var(--ink);background:oklch(99.5% .006 76/.92);border-radius:10px;padding:6px 10px;font-weight:700}.player-modal-item__money input:disabled{opacity:.6;cursor:not-allowed}.panel-card{gap:var(--space-md);flex-direction:column;display:flex}.rules-textarea{resize:vertical;min-height:220px;line-height:1.7}.rules-textarea--dialog{min-height:320px}.preset-panel{gap:var(--space-sm);border-radius:var(--radius-lg);padding:var(--space-md);flex-direction:column;display:flex}.cards-grid{grid-template-columns:1fr}.cards-grid--drawer{grid-template-columns:repeat(2,minmax(0,1fr))}.card-column{gap:var(--space-sm);flex-direction:column;display:flex}.card-column__header,.card-editor__top{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.card-column__title{font-family:var(--font-serif);margin:0}.card-column__count{color:var(--ink-muted);font-size:.85rem;font-weight:700}.card-column__title--chance{color:oklch(52% .1 76)}.card-column__title--fate{color:var(--sapphire)}.card-editor{gap:var(--space-xs);border-radius:var(--radius-md);padding:var(--space-sm);transition:transform .18s var(--ease-out-quart), box-shadow .18s var(--ease-out-quart);flex-direction:column;display:flex}.card-editor:hover{box-shadow:var(--shadow-panel);transform:translateY(-2px)}.card-editor__textarea{resize:vertical;min-height:110px}.dialog-root{z-index:1000;padding:var(--space-lg);place-items:center;display:grid;position:fixed;inset:0}.dialog-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .18s var(--ease-out-quart) both;background:oklch(25% .05 35/.42);position:absolute;inset:0}.dialog-panel{border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface-strong);width:min(100%,720px);box-shadow:var(--shadow-float);animation:dialogEnter .26s var(--ease-out-expo) both;position:relative;overflow:hidden}.dialog-panel--narrow{max-width:520px}.dialog-panel--wide{max-width:900px}.dialog-header,.dialog-body{padding:20px 24px}.dialog-header{justify-content:space-between;align-items:center;gap:var(--space-md);border-bottom:1px solid var(--line);display:flex}.medal-card,.buy-panel{gap:var(--space-lg);flex-direction:column;display:flex}.medal-card h3,.buy-panel p{margin:0}.medal-card h3{font-family:var(--font-serif);font-size:1.6rem}.medal-card--chance h3{color:oklch(52% .1 76)}.medal-card--fate h3{color:var(--sapphire)}.toast{z-index:1200;border-radius:var(--radius-full);color:oklch(98% .012 72);max-width:min(92vw,560px);box-shadow:var(--shadow-float);background:radial-gradient(circle at 20% 20%,oklch(72% .12 73/.35),#0000 38%),oklch(32% .06 34/.94);border:1px solid oklch(78% .06 72/.22);padding:13px 18px;position:fixed;bottom:26px;left:50%;transform:translate(-50%)}.toast-fade-enter-active,.toast-fade-leave-active{transition:opacity .22s var(--ease-out-quart), transform .22s var(--ease-out-quart)}.toast-fade-enter-from,.toast-fade-leave-to{opacity:0;transform:translate(-50%,14px)}@keyframes riseIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes dialogEnter{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes cloudDrift{0%{transform:translate(0,0)rotate(-4deg)}to{transform:translate(22px,-18px)rotate(5deg)}}@keyframes softGlow{0%{opacity:.5;transform:translate(0,0)scale(.96)}to{opacity:.9;transform:translate(18px,-8px)scale(1.06)}}@keyframes cubeToss{0%{transform:rotateX(0)rotateY(0)rotate(0)}50%{transform:rotateX(180deg)rotateY(220deg)rotate(90deg)}to{transform:rotateX(360deg)rotateY(420deg)rotate(180deg)}}@keyframes pawnArrive{0%{opacity:0;transform:translateY(8px)scale(.75)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes activePulse{0%{box-shadow:0 0 0 3px oklch(75% .09 18/.1), var(--shadow-soft)}to{box-shadow:0 0 0 7px oklch(75% .09 18/.18), var(--shadow-panel)}}@media (width<=920px){#app{width:min(100vw,100vw - 16px)}.topbar__row--head{grid-template-columns:1fr}.topbar__actions,.topbar__online-actions{justify-content:flex-start}.panel-header{flex-direction:column}.board-center{grid-template-columns:1fr}}@media (width<=620px){.app-shell{padding-top:12px}.topbar,.panel-card,.board-panel{border-radius:26px}.topbar__title h1{font-size:clamp(1.2rem,8vw,1.7rem)}.board-scroll{border-radius:24px;margin-inline:-10px}}@media (width<=640px){.cards-grid--drawer{grid-template-columns:1fr}.drawer-rail{width:48px;padding-left:4px;padding-right:calc(4px + env(safe-area-inset-right,0px))}.drawer-rail__btn{min-height:76px}.drawer-panel{border-radius:var(--radius-lg) 0 0 var(--radius-lg);width:calc(100vw - 48px);right:48px}.workspace-shell{padding-right:48px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
