:root{color-scheme:light;--paper:#f7f1e8;--ink:#231638;--muted:#6f607a;--line:#e5d9e9;--cream:#fffaf4;--dark:#281941;--accent:#f3cafa;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer;color:inherit}button:disabled{cursor:default}button:focus-visible{outline:3px solid #ad59cf;outline-offset:4px}h1,h2,p,ol{margin:0}.mast,.layout,footer{max-width:1450px;margin-inline:auto;padding-inline:clamp(16px,4vw,56px)}.mast{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-block:25px 22px}.brand{display:flex;align-items:center;gap:13px}.brand img{width:48px;height:48px}.brand h1{font-size:clamp(19px,3vw,33px);letter-spacing:-.065em;line-height:1;font-weight:900}.brand h1 span{color:#8b35a7}.brand p,.eyebrow,.felt-meta,.pile-label,.back-word{font-size:10px;font-weight:800;letter-spacing:.13em}.brand p{margin-top:7px;color:var(--muted)}nav{display:flex;gap:8px;align-items:center}.plain,.dark,.balance,.choice{border:1px solid var(--line);border-radius:11px;background:var(--cream);padding:9px 13px;font-size:13px;font-weight:760;white-space:nowrap}.dark{background:var(--dark);border-color:var(--dark);color:#fff}.plain:hover,.choice:hover{background:#f3e6f9}.dark:hover{background:#493067}.layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(222px,263px);gap:20px;align-items:start}.game{min-width:0}
.felt{position:relative;overflow:hidden;border-radius:25px;background:radial-gradient(ellipse at 48% 63%,#513473 0%,#33204d 66%,#29173f);color:#fff7ff;min-height:395px;display:flex;flex-direction:column;padding:21px clamp(14px,3vw,29px) 17px;isolation:isolate;box-shadow:0 8px 22px #2d16401e}.felt:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#d8b8f62c .75px,transparent .75px);background-size:7px 7px;mask-image:linear-gradient(#0008,#0000 75%);z-index:-1}.felt:after{content:"";position:absolute;inset:15% 8% 8%;border:1px solid #d8b8f630;border-radius:48%;box-shadow:0 0 0 8px #d8b8f609;z-index:-1;pointer-events:none}
.felt-meta{display:flex;justify-content:space-between;align-items:center;color:#e2cee9}.felt-meta i{display:inline-block;width:7px;height:7px;background:#d1f58f;border-radius:50%;margin-right:5px;box-shadow:0 0 11px #d1f58f80}.opponents{display:flex;justify-content:center;gap:clamp(6px,2vw,15px);margin:17px 0 0}.opponent{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;padding:6px 10px 6px 6px;border-radius:12px;border:1px solid #ffffff23;background:#1f1336c9;min-width:100px}.opponent.active{border-color:#e8b6fc;box-shadow:0 0 0 2px #e8b6fc40}.avatar{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;color:#332247;background:var(--avatar);font-size:19px;font-weight:900}.opponent strong,.opponent small{display:block}.opponent strong{font-size:13px}.opponent small{font-size:10px;color:#ddcde4;margin-top:1px}
.arena{display:flex;align-items:center;justify-content:center;gap:clamp(15px,4vw,42px);min-height:218px;margin:auto 0}.pile-wrap{text-align:center}.pile-label{margin-top:11px;color:#e7d5ef}.pile-label span{margin-left:3px;color:#fff}.deck,.discard-card{width:112px;height:151px}.back{border:4px solid #fff5f8;border-radius:13px;background:repeating-linear-gradient(125deg,transparent 0 9px,#ffffff0a 9px 10px),radial-gradient(circle at 50% 42%,#7242a4,#352056 71%);color:#f5c8ff;box-shadow:3px 4px 0 #b69ed0,6px 7px 0 #f4e3f0,10px 11px 17px #1b0e3070;display:grid;place-content:center;gap:6px;position:relative}.back:before{content:"";position:absolute;inset:5px;border:1px solid #d6a9eb8a;border-radius:8px;pointer-events:none}.back:not(:disabled):hover{transform:translateY(-4px)}.back-mark{font-size:53px;line-height:1;text-shadow:0 2px 0 #211233}.back-word{font-size:8px;letter-spacing:.1em}.table-color{width:113px}.table-color .eyebrow{color:#d9bee7}.table-color strong{display:flex;align-items:center;gap:7px;font-size:14px;margin-top:6px}.dot{flex:none;width:11px;height:11px;border-radius:50%;background:var(--dot);border:1px solid #fff8}.table-color #block{font-size:11px;color:#ffe0a5;margin-top:6px}.table-status{align-self:center;border:1px solid #ffffff22;border-radius:99px;background:#1e1136bb;padding:7px 15px;font-size:12px;color:#f2dcfb;text-align:center;min-height:34px}.table-status strong{color:#fff}
.hand-area{margin-top:13px;padding:16px 17px 12px;background:var(--cream);border:1px solid var(--line);border-radius:19px}.hand-meta{display:flex;justify-content:space-between;align-items:end;gap:10px}.hand-meta .eyebrow,.sidebar .eyebrow{color:#754689}.hand-meta h2,.journal h2{font-size:23px;font-weight:870;letter-spacing:-.048em;line-height:1.2;margin-top:4px}.hand-meta h2 span{display:inline-block;font-size:12px;border-radius:20px;padding:3px 8px;vertical-align:middle;background:#f1e4f7;color:#623574;letter-spacing:0}.balance{background:#f5d6fa;border-color:#e8baf4}.balance:disabled{background:#f2e9f2;border-color:#e8dce8;color:#726178}.balance:not(:disabled):hover{background:#ebbbf3}.hand{display:flex;gap:9px;overflow:auto;padding:13px 4px 8px;min-height:157px;scrollbar-color:#c1a5ce transparent;scrollbar-width:thin}.hint{font-size:12px;color:var(--muted);margin-top:3px;min-height:18px}
.card{display:flex;flex-direction:column;position:relative;isolation:isolate;overflow:hidden;text-align:left;color:var(--ink-card);background:var(--suit);border:3px solid #fff8fb;border-radius:12px;box-shadow:0 0 0 1px #37204f36,0 3px 5px #39264635;padding:0}.hand .card{flex:0 0 110px;height:141px;transition:transform .16s,filter .16s,box-shadow .16s}.hand .card[data-playable="true"]{box-shadow:0 0 0 2px #81529b,0 4px 8px #3e215935}.hand .card:not(:disabled):hover{transform:translateY(-4px);box-shadow:0 0 0 2px #a246be,0 6px 12px #3e215955}.hand .card:disabled{filter:saturate(.62)}.card-head{display:flex;align-items:center;gap:3px;min-height:29px;padding:3px 4px;background:var(--ink-card);color:#fff}.rank{font-size:18px;font-weight:920;line-height:1;letter-spacing:-.08em}.card-name{font-size:10.5px;line-height:1.05;font-weight:840;overflow-wrap:anywhere}.card-art{flex:1;min-height:45px;background-repeat:no-repeat;display:grid;place-items:center;position:relative;overflow:hidden}.card-art.drawn{background:radial-gradient(#fff9,transparent 65%),repeating-conic-gradient(from 10deg,var(--suit) 0 16deg,#ffffff3d 16deg 22deg,var(--suit) 22deg 36deg)}.capsule{width:27px;height:49px;border:2px solid var(--ink-card);background:linear-gradient(#fff 50%,var(--suit) 50%);border-radius:18px;transform:rotate(34deg);display:grid;place-items:center;box-shadow:2px 3px 0 var(--ink-card);font-size:24px;font-weight:900}.capsule span{transform:rotate(-34deg)}.card-text{background:color-mix(in srgb,var(--suit) 32%,#fff);min-height:32px;display:grid;align-content:center;padding:4px;font-weight:790;font-size:9.5px;line-height:1.1}.discard-card{box-shadow:0 4px 12px #21112a80;transform:rotate(3deg)}.discard-card .card-text{min-height:38px}
.sidebar{display:grid;gap:13px}.journal,.tip{border-radius:18px;border:1px solid var(--line);background:var(--cream);overflow:hidden}.journal-header{padding:17px 16px 14px;border-bottom:1px solid #eee3ef}.journal ol{list-style:none;padding:7px 15px;max-height:274px;min-height:160px;overflow:auto}.journal li{font-size:13px;padding:9px 0;border-bottom:1px solid #eee3ef;display:grid;grid-template-columns:21px 1fr;align-items:baseline;gap:4px;line-height:1.3}.journal li:last-child{border:0}.event-icon{color:#79408d;font-weight:850}.journal li:first-child{font-weight:760}.tip{position:relative;background:#eee0fa;padding:15px 16px 16px}.tip h2{font-size:20px;letter-spacing:-.04em;margin:6px 0}.tip p{font-size:12px;color:#52405f;line-height:1.45;max-width:210px}.tip-icon{position:absolute;right:10px;top:4px;font-size:52px;color:#caa6e0;transform:rotate(14deg);pointer-events:none}.tip h2,.tip .eyebrow,.tip p{position:relative;z-index:1}footer{display:flex;justify-content:space-between;gap:12px;padding-block:16px 22px;font-size:11px;color:var(--muted)}
dialog{width:min(520px,calc(100% - 24px));max-height:calc(100% - 24px);overflow:auto;background:var(--cream);color:var(--ink);border:1px solid var(--line);border-radius:21px;box-shadow:0 20px 80px #1c0f3c66;padding:20px}dialog::backdrop{background:#1d102bb5;backdrop-filter:blur(4px)}.modal-top{display:flex;align-items:center;justify-content:space-between;color:#754689}.close{padding:0;width:31px;height:31px;font-size:22px}.close[hidden]{display:none}dialog h2{margin:4px 0 12px;font-size:28px;line-height:1.1;letter-spacing:-.05em}dialog p,dialog li{font-size:14px;line-height:1.45;margin-bottom:7px}dialog ul{padding-left:20px}.choices{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.choice{display:inline-flex;align-items:center;gap:7px;white-space:normal;text-align:left}.choice[aria-pressed="true"]{background:#ecd4f8;border-color:#9f65b5}.modal-actions{margin-top:12px;display:flex;gap:9px}
@media(max-width:850px){.layout{grid-template-columns:minmax(0,1fr)}.sidebar{grid-template-columns:1fr 1fr}.felt{min-height:365px}.journal ol{min-height:0;max-height:170px}}
@media(max-width:520px){.mast{flex-wrap:wrap;padding-block:14px 12px}.brand img{width:36px;height:36px}.brand p{font-size:8px;margin-top:4px}.mast nav{margin-left:auto}.plain,.dark,.balance{padding:7px 9px;font-size:12px}.close{padding:0;font-size:22px}.layout{gap:12px}.felt{border-radius:17px;min-height:332px;padding-block:14px}.opponents{margin-top:13px}.opponent{min-width:0;gap:4px;padding:4px 6px 4px 4px}.avatar{width:25px;height:25px;font-size:15px}.opponent strong{font-size:11px}.arena{gap:13px;min-height:186px}.deck,.discard-card{width:82px;height:118px}.back-word{font-size:6px}.back-mark{font-size:40px}.table-color{width:85px}.table-color strong{font-size:11px;gap:4px;overflow-wrap:anywhere}.table-color .eyebrow{font-size:8px}.discard-card .rank{font-size:15px}.discard-card .card-name,.discard-card .card-text{font-size:8px}.discard-card .card-art{min-height:31px}.discard-card .card-head{min-height:23px}.discard-card .card-text{min-height:27px}.hand-area{padding:12px 10px}.sidebar{grid-template-columns:1fr}.tip h2 br{display:none}footer{flex-direction:column;gap:4px}}
@media(max-width:370px){.arena{display:grid;grid-template-columns:auto auto;gap:8px 22px;align-content:center}.table-color{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:7px;width:auto;flex-wrap:wrap}.table-color strong,.table-color #block{margin:0}.table-color #block:empty{display:none}.pile-label{margin-top:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
