:root{--font-ui:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--ink:#1b1833;--purple:#441752;--cream:#f6efe8;--orange:#f29f58;--orange-2:#f8c48f;--orange-rgb:242, 159, 88;--rose:#ab4459;--rose-rgb:171, 68, 89;--pink:var(--orange);--butter:var(--orange-2);--lilac:var(--rose);--sky:#b18ac6;--mint:#d9a07c;--peach:var(--orange);--font-serif:"Fraunces", "Iowan Old Style", Georgia, serif;--card-w:120px;--card-h:calc(var(--card-w) * 1.726);--grid-w:calc(var(--card-w) * 1.15);--grid-h:calc(var(--card-h) + var(--card-w) * .15);--grid-ox:0px;--grid-oy:0px;--drawer-w:380px;--sheet-w:384px;--r:12px;--r-card:calc(var(--card-w) * .045);--ease:cubic-bezier(.2, .8, .2, 1);--t:.22s;--inline:1;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}:root,:root[data-theme=dark]{--bg:#1b1833;--bg-2:#15122a;--surface:#341642eb;--surface-solid:#33153f;--surface-2:#4a1c5a;--border:#f6efe81a;--border-strong:#f6efe833;--text:#f6efe8;--text-2:#f6efe8ad;--text-3:#f6efe875;--accent:var(--orange);--accent-ink:#2a1a05;--ring:rgba(var(--orange-rgb), .95);--aurora-o:.2;--aurora-blend:screen;--sky-o:.16;--sky-blend:screen;--sky-filter:none;--danger:#e5715f;--shadow-card:0 1px 2px #00000080, 0 10px 24px #00000073;--shadow-lift:0 2px 4px #00000080, 0 28px 60px #0009;--shadow-panel:0 1px 0 #ffffff0a inset, 0 20px 50px #00000080;--grain-opacity:.07;--table-glow:#f6efe80a;--dot:#f6efe838;--slot:rgba(var(--orange-rgb), .5);--scrollbar:#f6efe829;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f6efe8;--bg-2:#eee3d8;--surface:#fffbf7eb;--surface-solid:#fffbf7;--surface-2:#efe1d4;--border:#1b18331a;--border-strong:#1b183333;--text:#1b1833;--text-2:#1b1833ad;--text-3:#1b183375;--orange:#e0863a;--orange-2:#f29f58;--orange-rgb:224, 134, 58;--accent:var(--orange);--accent-ink:#2a1a05;--ring:rgba(var(--orange-rgb), .9);--aurora-o:.3;--aurora-blend:normal;--sky-o:.12;--sky-blend:multiply;--sky-filter:invert(1);--danger:#c5493a;--shadow-card:0 1px 2px #1b18332e, 0 10px 24px #1b183329;--shadow-lift:0 2px 4px #1b183333, 0 28px 60px #1b183347;--shadow-panel:0 1px 0 #fff9 inset, 0 20px 50px #1b18332e;--grain-opacity:.12;--table-glow:#fff9;--dot:#1b183338;--slot:rgba(var(--rose-rgb), .5);--scrollbar:#00000029;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[dir=rtl]{--inline:-1}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);letter-spacing:-.005em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:14px;line-height:1.45}html.table-page,html.table-page body{height:100%}html.table-page body{overflow:hidden}button,input{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}h1,h2,h3,p{margin:0}svg{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}::selection{background:rgba(var(--orange-rgb), .35)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;animation-duration:0s!important}}.app{height:100%;display:flex;position:relative}.icon-btn{width:34px;height:34px;color:var(--text-2);transition:background var(--t), color var(--t);border-radius:9px;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn svg{width:18px;height:18px}.btn-primary{background:linear-gradient(120deg, var(--butter), var(--pink));color:#2a1a05;box-shadow:0 8px 24px rgba(var(--orange-rgb), .3);transition:transform var(--t) var(--ease), opacity var(--t);border-radius:999px;padding:11px 18px;font-size:14px;font-weight:500}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}kbd{font:500 11px/1 var(--font-ui);color:var(--text-3);border:1px solid var(--border-strong);border-radius:5px;padding:3px 5px 2px}.drawer{width:var(--drawer-w);flex:0 0 var(--drawer-w);background:var(--bg-2);border-inline-end:1px solid var(--border);z-index:10;transition:margin-inline-start .32s var(--ease), opacity .24s;flex-direction:column;display:flex}.app.drawer-closed .drawer{opacity:0;pointer-events:none;margin-inline-start:calc(var(--drawer-w) * -1)}.drawer-head{justify-content:space-between;align-items:flex-start;padding:20px 20px 14px;display:flex}.drawer-head h2{font-family:var(--font-serif);letter-spacing:-.01em;font-size:28px;font-style:italic;font-weight:500;line-height:1.1}.drawer-sub{color:var(--text-3);margin-top:3px;font-size:12.5px}.drawer-search{background:var(--surface-2);border:1px solid var(--border);transition:border-color var(--t), box-shadow var(--t);border-radius:10px;align-items:center;margin:0 16px;display:flex;position:relative}.drawer-search:focus-within{border-color:var(--pink);box-shadow:0 0 0 3px rgba(var(--orange-rgb), .22)}.search-glyph{width:16px;height:16px;color:var(--text-3);margin-inline-start:12px}#searchInput{background:0 0;border:0;outline:none;flex:1;min-width:0;padding:10px;font-size:14px}#searchInput::placeholder{color:var(--text-3)}#searchInput::-webkit-search-cancel-button{-webkit-appearance:none}.search-kbd{margin-inline-end:10px}.segment{background:var(--surface-2);border-radius:10px;gap:2px;margin:12px 16px 0;padding:3px;display:flex}.segment button{color:var(--text-2);transition:background var(--t), color var(--t);border-radius:8px;flex:1;padding:7px 0;font-size:12.5px;font-weight:500}.segment button:hover{color:var(--text)}.segment button.active{background:var(--surface-solid);color:var(--text);box-shadow:0 1px 2px #00000040}.deck-list{scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent;flex:1;padding:14px 16px 24px;overflow-y:auto}.deck-list::-webkit-scrollbar{width:8px}.deck-list::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:8px}.deck-group-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin:14px 2px 10px;font-size:11.5px;font-weight:600}.deck-group-title:first-child{margin-top:0}.deck-group-title{color:var(--suit-text,var(--text-3));align-items:center;gap:8px;display:flex}.deck-group-title:before{content:"";background:var(--suit,var(--butter));width:8px;height:8px;box-shadow:0 0 10px var(--suit,var(--butter));border-radius:50%;display:inline-block}.deck-group-title:after{content:"";background:linear-gradient(90deg, color-mix(in srgb, var(--suit,var(--butter)) 40%, transparent), transparent);flex:1;height:1px}[data-suit=major]{--suit:var(--butter)}[data-suit=wands]{--suit:var(--peach)}[data-suit=cups]{--suit:var(--sky)}[data-suit=swords]{--suit:var(--lilac)}[data-suit=pents]{--suit:var(--mint)}[data-suit=all]{--suit:var(--pink)}.segment button.active{color:var(--suit,var(--text))}.deck-group{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.deck-card{aspect-ratio:500/863;background:var(--surface-2);box-shadow:0 0 0 1px var(--border);cursor:grab;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;touch-action:none;transition:transform var(--t) var(--ease), box-shadow var(--t);border-radius:8px;position:relative;overflow:hidden}.deck-card picture{display:contents}.deck-card img{object-fit:cover;pointer-events:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.deck-card-name{color:#fff;opacity:0;transition:opacity var(--t);background:linear-gradient(#0000,#000000bf);padding:22px 8px 8px;font-size:11.5px;font-weight:500;line-height:1.2;position:absolute;inset:auto 0 0}.deck-card:hover{box-shadow:0 0 0 2px var(--pink), 0 12px 28px rgba(var(--orange-rgb), .35), 0 0 30px rgba(var(--orange-rgb), .25);z-index:2;transform:translateY(-4px)rotate(-1.5deg)scale(1.03)}.deck-card:hover .deck-card-name{opacity:1}.deck-card.placed{opacity:.35;cursor:pointer}.deck-card.placed:after{content:attr(data-on-table);top:6px;color:#fff;background:#000000b3;border-radius:999px;padding:3px 7px;font-size:10.5px;font-weight:600;position:absolute;inset-inline-start:6px}.deck-empty{text-align:center;color:var(--text-3);padding:40px 12px}.drawer-hint{border-top:1px solid var(--border);color:var(--text-3);padding:10px 20px 14px;font-size:12px}.stage{flex:1;min-width:0;position:relative}.table{isolation:isolate;background:radial-gradient(ellipse 70% 60% at 50% 40%, var(--table-glow), transparent 70%), var(--bg);touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.table:before{content:"";background:var(--grain);opacity:var(--grain-opacity);pointer-events:none;mix-blend-mode:overlay;position:absolute;inset:0}.aurora{pointer-events:none;position:absolute;inset:0;overflow:hidden}.aurora i{filter:blur(90px);width:60vmax;height:60vmax;opacity:var(--aurora-o);mix-blend-mode:var(--aurora-blend);will-change:transform;border-radius:50%;animation:26s ease-in-out infinite alternate drift;position:absolute}.aurora i:first-child{background:var(--pink);top:-25%;left:-18%}.aurora i:nth-child(2){background:var(--lilac);animation-delay:-9s;top:-15%;right:-18%}.aurora i:nth-child(3){background:var(--sky);animation-delay:-18s;bottom:-35%;left:20%}@keyframes drift{0%{transform:translate(0)scale(1)}to{transform:translate(7%,6%)scale(1.15)}}.table:after{content:"";pointer-events:none;background-image:radial-gradient(1.5px 1.5px at 8% 14%, var(--accent) 50%, transparent 52%), radial-gradient(1px 1px at 18% 78%, var(--pink) 50%, transparent 52%), radial-gradient(2px 2px at 27% 31%, var(--lilac) 50%, transparent 52%), radial-gradient(1px 1px at 41% 88%, var(--accent) 50%, transparent 52%), radial-gradient(1.5px 1.5px at 56% 9%, var(--accent) 50%, transparent 52%), radial-gradient(1px 1px at 63% 66%, var(--pink) 50%, transparent 52%), radial-gradient(2px 2px at 76% 22%, var(--sky) 50%, transparent 52%), radial-gradient(1px 1px at 84% 81%, var(--accent) 50%, transparent 52%), radial-gradient(1.5px 1.5px at 93% 47%, var(--accent) 50%, transparent 52%), radial-gradient(1px 1px at 47% 52%, var(--accent) 50%, transparent 52%);opacity:.5;animation:9s ease-in-out infinite alternate twinkle;position:absolute;inset:0}@keyframes twinkle{0%{opacity:.2}50%{opacity:.5}to{opacity:.28}}.sky{pointer-events:none;opacity:var(--sky-o);mix-blend-mode:var(--sky-blend);filter:var(--sky-filter);background:url(/sky.jpg) 50%/440px 440px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(55% 55%,#0000 20%,#000 100%);mask-image:radial-gradient(55% 55%,#0000 20%,#000 100%)}.table-grid{opacity:0;transition:opacity var(--t);pointer-events:none;background-image:radial-gradient(circle, var(--dot) 1px, transparent 1.5px);background-size:var(--grid-w) var(--grid-h);background-position:var(--grid-ox) var(--grid-oy);position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 60%,#0000 100%);mask-image:radial-gradient(#000 60%,#0000 100%)}.table.grid-on .table-grid{opacity:1}.table-slots{pointer-events:none;position:absolute;inset:0}.slot{width:var(--card-w);height:var(--card-h);border:1.5px dashed var(--slot);border-radius:var(--r-card);color:var(--text-3);transition:border-color var(--t), background var(--t), box-shadow var(--t);flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;transform:translate(-50%,-50%)}.slot.crossed{transform:translate(-50%,-50%)rotate(90deg)}.slot.crossed .slot-label,.slot.crossed .slot-num{transform:rotate(-90deg)}.slot-num{font-family:var(--font-serif);font-style:italic;font-size:calc(var(--card-w) * .26);color:var(--lilac);line-height:1}.slot-label{font-size:calc(var(--card-w) * .095);text-align:center;padding:0 6px;font-weight:500}.slot.near{border-style:solid;border-color:var(--pink);background:rgba(var(--orange-rgb), .1);box-shadow:0 0 0 4px rgba(var(--orange-rgb), .18)}.slot.filled{border-color:#0000}.slot.filled .slot-num,.slot.filled .slot-label{opacity:0}.table-cards{position:absolute;inset:0}.table-empty{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;transition:opacity .3s;display:flex;position:absolute;inset:0}.empty-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--pink);margin-top:22px;font-size:11px;font-weight:600}.table-empty h1{font-family:var(--font-serif);letter-spacing:-.02em;max-width:18ch;margin-top:4px;font-size:clamp(34px,4.6vw,60px);font-style:italic;font-weight:500;line-height:1.05}.table-empty p{color:var(--text-2);max-width:50ch;font-size:clamp(15px,1.25vw,18px);line-height:1.5}.empty-actions{pointer-events:auto;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:14px;display:flex}.table-empty .btn-primary{padding:13px 22px;font-size:15px}.btn-ghost{border:1px solid var(--border-strong);color:var(--text);background:var(--surface);transition:border-color var(--t), transform var(--t) var(--ease);border-radius:999px;align-items:center;padding:12px 20px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex}.btn-ghost:hover{border-color:var(--pink);transform:translateY(-1px)}.empty-fan{width:250px;height:220px;position:relative}.empty-fan img{width:124px;box-shadow:var(--shadow-lift);transform-origin:50% 120%;border-radius:7px;position:absolute;bottom:0;left:50%}.empty-fan{pointer-events:auto;animation:6s ease-in-out infinite float}.empty-fan img{transition:transform .5s var(--ease)}.empty-fan img:first-child{transform:translate(-50%)rotate(-16deg)}.empty-fan img:nth-child(2){z-index:1;transform:translate(-50%)rotate(0)}.empty-fan img:nth-child(3){transform:translate(-50%)rotate(16deg)}.empty-fan:hover img:first-child{transform:translate(-50%)rotate(-26deg)translateY(-6px)}.empty-fan:hover img:nth-child(2){transform:translate(-50%)translateY(-12px)}.empty-fan:hover img:nth-child(3){transform:translate(-50%)rotate(26deg)translateY(-6px)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.table.has-cards .table-empty,.table.has-spread .table-empty{opacity:0}.table.has-spread .table-empty .empty-actions,.table.has-spread .table-empty .empty-links,.table.has-spread .table-empty .empty-fan,.table.has-cards .table-empty .btn-primary{pointer-events:none}.brand{inset-inline-start:12px;z-index:12;align-items:center;gap:6px;display:flex;position:absolute;top:12px}.brand-logo{transition:background var(--t);border-radius:10px;align-items:center;gap:8px;padding-block:4px;padding-inline:4px 8px;text-decoration:none;display:inline-flex}.brand-logo:hover{background:var(--surface-2)}.brand-name{font-family:var(--font-serif);color:var(--text);letter-spacing:-.01em;font-size:18px;font-style:italic}.brand-logo svg{filter:drop-shadow(0 2px 6px #00000059);width:26px;height:26px;transition:transform .4s var(--ease)}.brand-logo:hover svg{transform:rotate(-6deg)translateY(-1px)}.brand-nav{border-inline-start:1px solid var(--border-strong);align-items:center;gap:4px;margin-inline-start:2px;padding-inline-start:8px;display:flex}.brand-nav a{background:var(--surface);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-strong);color:var(--text-2);transition:color var(--t), border-color var(--t), transform var(--t) var(--ease), background var(--t);border-radius:999px;align-items:center;gap:6px;padding-block:7px;padding-inline:9px 12px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.brand-nav a svg{width:15px;height:15px}.brand-nav a:hover{color:var(--text);border-color:var(--pink);background:var(--surface-solid);transform:translateY(-1px)}.brand-nav a.brand-lang{padding:6px 12px;font-size:14px}.card{width:var(--card-w);height:var(--card-h);margin-left:calc(var(--card-w) / -2);margin-top:calc(var(--card-h) / -2);touch-action:none;pointer-events:none;position:absolute}.card.face-down,.card.flipping{perspective:900px}.card.face-down .card-face,.card.flipping .card-face{transform-style:preserve-3d}.card-face{pointer-events:auto;cursor:grab;border-radius:var(--r-card);transform:rotate(var(--rot));transition:transform .42s var(--ease), box-shadow var(--t);box-shadow:var(--shadow-card);position:absolute;inset:0}.card-front,.card-back{border-radius:var(--r-card);backface-visibility:hidden;position:absolute;inset:0;overflow:hidden}.card-front{background:#f3efe6;box-shadow:inset 0 0 0 1px #0000001f}.card-front img{-webkit-user-drag:none;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.card-back{background:radial-gradient(circle at 62% 34%, #441752 0 calc(var(--card-w) * .13), transparent calc(var(--card-w) * .135)), radial-gradient(circle at 54% 36%, #f29f58 0 calc(var(--card-w) * .16), transparent calc(var(--card-w) * .165)), radial-gradient(1.5px 1.5px at 20% 18%, #f6efe8 50%, transparent 52%), radial-gradient(1px 1px at 78% 22%, #f6efe8 50%, transparent 52%), radial-gradient(2px 2px at 30% 62%, #f29f58 50%, transparent 52%), radial-gradient(1px 1px at 70% 70%, #f6efe8 50%, transparent 52%), radial-gradient(1.5px 1.5px at 24% 84%, #f29f58 50%, transparent 52%), radial-gradient(1px 1px at 82% 50%, #f6efe8 50%, transparent 52%), radial-gradient(1px 1px at 48% 80%, #f6efe8 50%, transparent 52%), radial-gradient(1.5px 1.5px at 64% 88%, #f6efe8 50%, transparent 52%), linear-gradient(170deg, #5a2270 0%, #441752 45%, #1b1833 100%);box-shadow:inset 0 0 0 calc(var(--card-w) * .04) #f6efe8, inset 0 0 0 calc(var(--card-w) * .048) #ab4459;transform:rotateY(180deg)}.card.face-down .card-face{transform:rotate(var(--rot)) rotateY(180deg)}.card.dragging{z-index:9999!important}.card.dragging .card-face{cursor:grabbing;box-shadow:var(--shadow-lift);transform:rotate(calc(var(--rot) + 1.5deg)) scale(1.04);transition:box-shadow var(--t)}.card.dragging.face-down .card-face{transform:rotate(calc(var(--rot) + 1.5deg)) scale(1.04) rotateY(180deg)}.card.selected .card-face{box-shadow:var(--shadow-card), 0 0 0 2px var(--bg), 0 0 0 4px var(--ring)}.card.pulse .card-face{animation:.9s ease-out 2 pulse}@keyframes pulse{0%{box-shadow:var(--shadow-card), 0 0 0 0 var(--ring)}to{box-shadow:var(--shadow-card), 0 0 0 18px rgba(var(--orange-rgb), 0)}}.card.enter .card-face{animation:enter .48s var(--ease)}@keyframes enter{0%{opacity:0;transform:rotate(calc(var(--rot) - 6deg)) translateY(-30px) scale(.86)}70%{opacity:1;transform:rotate(calc(var(--rot) + 1.5deg)) translateY(2px) scale(1.01)}to{opacity:1;transform:rotate(var(--rot))}}.card.enter .card-face{animation-duration:.56s}.card.deal{animation:deal-in .62s var(--ease) both}.card.deal .card-face{animation:deal .62s var(--ease) both}@keyframes deal-in{0%{opacity:0}45%,to{opacity:1}}@keyframes deal{0%{transform:translate(calc(-60vw * var(--inline)), -12vh) rotate(calc(var(--rot) - 28deg)) scale(.7) rotateY(180deg)}82%{transform:translate(0, 0) rotate(calc(var(--rot) + 2deg)) scale(1.03) rotateY(180deg)}to{transform:rotate(var(--rot)) rotateY(180deg)}}.card-tools{transform:translate(-50%, calc(-100% - var(--card-h) / 2 - 8px));background:var(--surface-solid);border:1px solid var(--border-strong);z-index:9000;animation:tools-in .16s var(--ease);border-radius:11px;gap:2px;padding:4px;display:flex;position:absolute;box-shadow:0 10px 30px #00000059}@keyframes tools-in{0%{opacity:0}}.card-tools.crossed{transform:translate(calc(var(--card-h) / 2 + 10px), -50%)}:root[dir=rtl] .card-tools.crossed{transform:translate(calc(-100% - var(--card-h) / 2 - 10px), -50%)}.card-tool{width:30px;height:30px;color:var(--text-2);transition:background var(--t), color var(--t);border-radius:8px;justify-content:center;align-items:center;display:inline-flex;position:relative}.card-tool svg{width:16px;height:16px}.card-tool:hover{background:var(--surface-2);color:var(--text)}.card-tool.on{background:var(--pink);color:#2a1a05}.card-tool.danger:hover{color:var(--danger);background:#e5715f2e}.card-tool[data-tip]:hover:after{top:calc(100% + 8px);bottom:auto}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);white-space:nowrap;background:var(--text);color:var(--bg);opacity:0;pointer-events:none;transition:opacity .12s, transform .12s var(--ease);z-index:50;border-radius:7px;padding:5px 8px;font-size:11.5px;font-weight:500;transition-delay:0s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)translateY(4px)}[data-tip]:hover:after{opacity:1;transition-delay:.35s;transform:translate(-50%)translateY(0)}.drag-ghost{width:var(--card-w);height:var(--card-h);margin-left:calc(var(--card-w) / -2);margin-top:calc(var(--card-h) / -2);border-radius:var(--r-card);box-shadow:var(--shadow-lift);transform-origin:50%;pointer-events:none;z-index:10000;opacity:.95;position:fixed;top:0;left:0;overflow:hidden}.drag-ghost img{width:100%;height:100%;display:block}.dock{background:var(--surface);-webkit-backdrop-filter:blur(16px)saturate(1.2);border:1px solid var(--border-strong);box-shadow:var(--shadow-panel);z-index:20;transition:transform .32s var(--ease), opacity .24s;border-radius:16px;align-items:center;gap:2px;padding:6px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.dock-btn{width:38px;height:38px;color:var(--text-2);transition:background var(--t), color var(--t), transform var(--t) var(--ease);border-radius:10px;justify-content:center;align-items:center;display:inline-flex;position:relative}.dock-btn:hover{background:var(--surface-2);color:var(--text);transform:translateY(-2px)}.dock-btn:active{transform:scale(.94)}.dock-btn.on{background:rgba(var(--orange-rgb), .16);color:var(--pink)}:root[dir=rtl] #undoBtn svg{transform:scaleX(-1)}.dock-btn:disabled{opacity:.35;cursor:default}.dock-btn:disabled:hover{color:var(--text-2);background:0 0}.dock-btn.dock-primary{background:linear-gradient(120deg, var(--butter), var(--pink));color:#2a1a05}.dock-btn.dock-primary:hover{opacity:.9}.dock-btn.confirm{color:var(--danger);background:#e5715f29;gap:6px;width:auto;padding:0 10px}.dock-btn.confirm .dock-label{font-size:12.5px;font-weight:600;display:inline}.dock-sep{background:var(--border-strong);width:1px;height:22px;margin:0 4px}.dock-link{white-space:nowrap;width:auto;color:var(--text-2);gap:7px;padding-inline:10px 12px;font-size:12.5px;font-weight:600;text-decoration:none}.dock-link svg{color:var(--pink)}:root[data-theme=dark] .when-light,:root[data-theme=light] .when-dark{display:none}.popover{background:var(--surface);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-strong);width:340px;box-shadow:var(--shadow-panel);z-index:25;animation:pop .18s var(--ease);border-radius:14px;max-height:calc(100% - 100px);padding:14px;position:absolute;bottom:74px;left:50%;overflow-y:auto;transform:translate(-50%)}@keyframes pop{0%{opacity:0;transform:translate(-50%)translateY(6px)scale(.98)}to{opacity:1;transform:translate(-50%)}}.pop-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin:4px 4px 8px;font-size:11.5px;font-weight:600}.pop-title+.pop-title,.spread-list+.pop-title{margin-top:14px}.spread-list{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.spread-opt{text-align:start;color:var(--text-2);transition:background var(--t), color var(--t);border-radius:10px;align-items:center;gap:10px;padding:8px;display:flex}.spread-opt:hover{background:var(--surface-2);color:var(--text)}.spread-opt.active{background:var(--surface-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong)}.spread-opt svg{stroke:none;width:40px;height:34px}.spread-opt svg rect{fill:currentColor;opacity:.45}.spread-opt.active svg rect{fill:var(--pink);opacity:.95}.spread-opt span{font-size:13px;font-weight:500}#sizeRange{width:100%;accent-color:var(--pink);margin:2px 0 4px}.pop-deal{background:linear-gradient(120deg, var(--butter), var(--pink));color:#2a1a05;width:100%;transition:opacity var(--t), transform var(--t) var(--ease);border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-top:10px;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.pop-deal:hover{opacity:.9;transform:translateY(-1px)}.pop-deal svg{width:16px;height:16px}.pop-deal.confirm{color:var(--danger);background:#e5715f29}.pop-deal.confirm .pop-deal-text{display:none}.pop-deal .dock-label{font-size:13px;font-weight:600}.sheet{top:14px;inset-inline-end:14px;width:min(var(--sheet-w), calc(100% - 28px));background:var(--surface);-webkit-backdrop-filter:blur(18px);border:1px solid var(--border-strong);box-shadow:var(--shadow-panel);z-index:15;animation:slide .26s var(--ease);border-radius:18px;flex-direction:column;display:flex;position:absolute;bottom:84px;overflow:hidden}@keyframes slide{0%{opacity:0;transform:translateX(calc(16px * var(--inline)))}to{opacity:1;transform:none}}.sheet-close{top:10px;z-index:3;background:var(--surface-solid);position:absolute;inset-inline-end:10px}.sheet-scroll{scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent;flex:1;overflow-y:auto}.sheet-scroll::-webkit-scrollbar{width:8px}.sheet-scroll::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:8px}.sheet-art{isolation:isolate;justify-content:center;padding:30px 20px 6px;display:flex;position:relative}.sheet-glow{object-fit:cover;filter:blur(46px)saturate(1.8);opacity:.6;z-index:-1;pointer-events:none;border-radius:50%;width:220px;height:220px;position:absolute;top:50%;left:50%;transform:translate(-50%,-46%)}:root[data-theme=light] .sheet-glow{opacity:.42;filter:blur(46px)saturate(1.3)}.sheet-art #meaningArt{width:156px;box-shadow:var(--shadow-lift), 0 0 0 1px #00000026;transition:transform .52s var(--ease);border-radius:9px;transform:rotate(-3deg)}.sheet-art #meaningArt:hover{transform:rotate(0)scale(1.03)}.sheet-art #meaningArt.reversed{transform:rotate(177deg)}.sheet-art #meaningArt.reversed:hover{transform:rotate(180deg)scale(1.03)}.sheet-back{aspect-ratio:500/863;width:156px;box-shadow:var(--shadow-lift), inset 0 0 0 6px #f6efe8, inset 0 0 0 8px #ab4459;background:radial-gradient(circle at 62% 34%,#441752 0 20px,#0000 21px),radial-gradient(circle at 54% 36%,#f29f58 0 25px,#0000 26px),linear-gradient(170deg,#5a2270 0%,#441752 45%,#1b1833 100%);border-radius:9px;transform:rotate(-3deg)}.sheet.down .sheet-section,.sheet.down .sheet-lenses,.sheet.down .sheet-more{display:none}.sheet.down .sheet-text{color:var(--text-3)}.sheet-body{padding:14px 22px 24px}.sheet-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);align-items:center;gap:8px;font-size:11.5px;font-weight:600;display:flex}.sheet-kicker .suit-dot{background:var(--suit,var(--butter));width:7px;height:7px;box-shadow:0 0 8px var(--suit,var(--butter));border-radius:50%;display:inline-block}.sheet-body h2{font-family:var(--font-serif);letter-spacing:-.015em;margin:4px 0 10px;padding-bottom:6px;font-size:30px;font-style:italic;font-weight:500;line-height:1.1;display:inline-block;position:relative}.sheet-body h2:after{content:"";inset-inline:0;opacity:.9;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='6' viewBox='0 0 40 6'%3E%3Cpath d='M0 4c5-4 10-4 15 0s10 4 15 0 10-4 10 0' fill='none' stroke='%23f29f58' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E") 0 100%/40px 6px repeat-x;height:6px;position:absolute;bottom:0}.sheet-status{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sheet-pos{color:var(--text-2);font-size:12.5px}.sheet-pos:empty{display:none}.sheet-pos b{font-family:var(--font-serif);color:var(--lilac);margin-inline-end:4px;font-style:italic;font-weight:500}.pill{background:color-mix(in srgb, var(--butter) 18%, transparent);color:var(--text);border:1px solid color-mix(in srgb, var(--butter) 50%, transparent);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.pill.reversed{background:var(--rose);color:#fff4f0;border-color:#0000}.pill.down{background:var(--surface-2);color:var(--text-2);border-color:var(--border)}.sheet-position{background:color-mix(in srgb, var(--lilac) 10%, transparent);border:1px solid color-mix(in srgb, var(--lilac) 30%, transparent);border-radius:12px;margin-top:16px;padding:12px 14px}.sheet-position h3{letter-spacing:.08em;text-transform:uppercase;color:var(--lilac);margin-bottom:4px;font-size:11px;font-weight:600}.sheet-position p{color:var(--text);opacity:.9;font-size:13px;line-height:1.5}.sheet-text{color:var(--text);opacity:.9;margin-top:16px;font-size:14px;line-height:1.6}.sheet-text:empty{display:none}.sheet-section{margin-top:18px}.sheet-section h3{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);align-items:center;gap:6px;margin-bottom:8px;font-size:11.5px;font-weight:600;display:flex}.sheet-section h3:before{content:"✦";color:var(--o,var(--text-3));font-size:9px}.sheet-section.up{--o:var(--butter)}.sheet-section.rev{--o:var(--lilac)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:999px;padding:6px 11px;font-size:13px}.sheet-section.up .chip{background:color-mix(in srgb, var(--butter) 16%, transparent);border-color:color-mix(in srgb, var(--butter) 45%, transparent)}.sheet-section.rev .chip{background:color-mix(in srgb, var(--lilac) 16%, transparent);border-color:color-mix(in srgb, var(--lilac) 45%, transparent)}.sheet-section.dim{opacity:.55}.sheet-lenses{border-top:1px solid var(--border);grid-template-columns:auto 1fr;gap:8px 14px;margin:20px 0 0;padding-top:16px;font-size:13px;display:grid}.sheet-lenses dt{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);padding-top:2px;font-size:11px;font-weight:600}.sheet-lenses dd{color:var(--text-2);margin:0;line-height:1.5}.sheet-lenses[hidden]{display:none}.present-exit{top:14px;background:var(--surface);border:1px solid var(--border-strong);color:var(--text-2);opacity:0;transition:opacity var(--t);z-index:30;border-radius:999px;align-items:center;gap:6px;padding-block:7px;padding-inline:8px 12px;font-size:12.5px;font-weight:500;display:none;position:absolute;inset-inline-start:14px}.present-exit svg{width:14px;height:14px}body.present .present-exit{display:inline-flex}body.present .stage:hover .present-exit{opacity:1}body.present .dock,body.present .brand{opacity:0;pointer-events:none;transform:translate(-50%,20px)}body.present .brand{transform:none}body.present .drawer{opacity:0;pointer-events:none;margin-inline-start:calc(var(--drawer-w) * -1)}body.present .sheet{bottom:14px}body.present.hide-cursor,body.present.hide-cursor *{cursor:none!important}.table-credit{inset-inline-end:14px;z-index:12;background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(16px)saturate(1.2);color:var(--text-3);white-space:nowrap;transition:color var(--t), border-color var(--t), opacity var(--t);border-radius:999px;padding:5px 11px;font-size:11.5px;text-decoration:none;position:absolute;bottom:16px}.table-credit:hover{color:var(--text);border-color:var(--pink)}body.present .table-credit{opacity:0;pointer-events:none}@media (max-width:640px){.table-credit{display:none}}.toast{inset-inline:0;background:var(--pink);color:#2a1a05;width:max-content;box-shadow:0 10px 30px rgba(var(--orange-rgb), .35);z-index:100;animation:pop .18s var(--ease);pointer-events:none;border-radius:999px;margin:0 auto;padding:9px 14px;font-size:13px;font-weight:600;position:fixed;bottom:78px}@media (max-width:900px){:root{--drawer-w:320px}.brand-name,.brand-nav a span{display:none}}@media (max-width:640px){.brand-nav{border-inline-start:0;padding-inline-start:0}.brand-nav a:not(.brand-lang){display:none}.app{flex-direction:column}.drawer{inset-inline:0;border-inline-end:0;border-top:1px solid var(--border);width:auto;height:62vh;transition:transform .32s var(--ease), opacity .24s;z-index:30;border-radius:18px 18px 0 0;flex:none;position:absolute;top:auto;bottom:0}.app.drawer-closed .drawer{margin-inline-start:0;transform:translateY(100%)}.deck-group{grid-template-columns:repeat(4,1fr)}.dock{gap:0;max-width:calc(100% - 16px);padding:4px;bottom:12px;overflow-x:auto}.dock-btn{width:36px;height:36px}.dock-sep{display:none}.dock-link{width:36px;padding:0}.dock-link span{display:none}.sheet{top:auto;bottom:0;border-radius:18px 18px 0 0;width:auto;height:70vh;inset-inline:0}.sheet-art img{width:110px}.popover{width:calc(100% - 24px)}.table-empty h1{font-size:28px}.empty-fan{width:190px;height:170px}.empty-fan img{width:96px}.empty-links span{display:none}}.print-sheet{display:none}@media print{@page{margin:13mm 14mm 14mm}html,body{color:#1b1833;background:#fff;height:auto;overflow:visible}body>:not(.print-sheet){display:none!important}.print-sheet{font-family:var(--font-ui);color:#1b1833;-webkit-print-color-adjust:exact;print-color-adjust:exact;font-size:11.5px;line-height:1.45;display:block}.print-head{text-align:center;break-after:avoid;padding:2px 0 12px}.print-rule{color:#ab4459;align-items:center;gap:10px;width:60%;margin:0 auto 8px;font-size:10px;display:flex}.print-rule:before,.print-rule:after{content:"";background:linear-gradient(90deg,#0000,#ab445999);flex:1;height:1px}.print-rule:after{background:linear-gradient(90deg,#ab445999,#0000)}.print-kicker{letter-spacing:.16em;text-transform:uppercase;color:#ab4459;font-size:9.5px;font-weight:600}.print-head h1{font-family:var(--font-serif);letter-spacing:-.02em;color:#1b1833;margin:8px 0 5px;font-size:36px;font-style:italic;font-weight:500;line-height:1.05}.print-meta{color:#1b18338c;font-size:11px}.print-meta b{color:#1b1833bf;font-weight:500}.print-table{break-inside:avoid;background:linear-gradient(160deg,#fbf5ef 0%,#f3e6e2 55%,#ece0ea 100%);border:1px solid #44175233;border-radius:14px;width:100%;margin:0 auto;position:relative;overflow:hidden;box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 6px #ab44594d}.print-table:before{content:"";pointer-events:none;filter:invert();opacity:.07;mix-blend-mode:multiply;background:url(/sky.jpg) 50%/380px 380px;position:absolute;inset:0}.print-table:after{content:"";pointer-events:none;background:radial-gradient(60% 55%,#f29f5824,#0000 70%);position:absolute;inset:0}.print-card{aspect-ratio:500/863;position:absolute;transform:translate(-50%,-50%)}.print-face{transform:rotate(var(--rot));position:absolute;inset:0}.print-card img{border-radius:4%;width:100%;height:100%;display:block;box-shadow:0 1px 2px #1b183359,0 6px 14px #1b18332e}.print-back{background:radial-gradient(circle at 62% 34%,#441752 0 13%,#0000 13.5%),radial-gradient(circle at 54% 36%,#f29f58 0 16%,#0000 16.5%),linear-gradient(170deg,#5a2270 0%,#441752 45%,#1b1833 100%);border-radius:4%;width:100%;height:100%;box-shadow:inset 0 0 0 4px #f6efe8,inset 0 0 0 5px #ab4459,0 6px 14px #1b18332e}.print-num{inset-inline-start:-7px;color:#fff;width:20px;height:20px;font-family:var(--font-serif);text-align:center;background:#441752;border-radius:50%;font-size:11px;font-style:italic;line-height:20px;position:absolute;top:-7px;box-shadow:0 0 0 2px #fff}.print-card.crossed .print-num{inset-inline-start:calc(-36.3% - 7px);top:calc(21.03% - 7px)}.print-legend{color:#1b183399;flex-wrap:wrap;justify-content:center;gap:4px 14px;margin-top:9px;font-size:9.5px;display:flex}.print-legend span b{color:#fff;min-width:13px;height:13px;font-family:var(--font-serif);text-align:center;background:#441752;border-radius:50%;margin-inline-end:4px;font-size:8.5px;font-style:italic;line-height:13px;display:inline-block}.print-meanings{margin-top:20px}.print-meanings h2{font-family:var(--font-serif);text-align:center;margin:0 0 4px;font-size:22px;font-style:italic;font-weight:500}.print-meanings .print-rule{margin-bottom:10px}.print-rows{padding-inline-start:8px}.print-row{break-inside:avoid;border-bottom:1px solid #1b18331a;grid-template-columns:64px 1fr;gap:14px;padding:12px 0;display:grid}.print-row:last-child{border-bottom:0}.print-row .print-art{position:relative}.print-row img{border-radius:4px;width:64px;height:auto;display:block;box-shadow:0 1px 3px #1b18334d}.print-row img.reversed{transform:rotate(180deg)}.print-row .print-art .print-num{inset-inline-start:-6px;top:-6px}.print-sub{letter-spacing:.1em;text-transform:uppercase;color:#1b183380;font-size:9.5px;font-weight:600}.print-row h3{font-family:var(--font-serif);letter-spacing:-.01em;margin:2px 0 4px;font-size:18px;font-weight:500;line-height:1.2}.print-pill{vertical-align:3px;font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:#2a1a05;background:#f29f58;border-radius:999px;margin-inline-start:6px;padding:1px 7px;font-size:9px;font-weight:600;display:inline-block}.print-pill.rev{color:#fff;background:#ab4459}.print-pill.down{color:#441752;background:#e6dde8}.print-position{font-family:var(--font-serif);color:#ab4459;margin:0 0 5px;font-size:11.5px;font-style:italic}.print-position b{font-style:normal;font-weight:500}.print-row p{color:#1b1833;margin:0;font-size:11.2px;line-height:1.5}.print-row p.print-reading{margin-bottom:5px}.print-row p.print-kw{color:#1b18339e;font-size:10px}.print-row p.print-kw b{letter-spacing:.08em;text-transform:uppercase;color:#1b183380;margin-inline-end:5px;font-size:8.5px;font-weight:600}.print-row p.print-kw span{margin-inline-end:10px}.print-foot{letter-spacing:.08em;text-transform:uppercase;color:#1b183366;text-align:center;margin-top:18px;font-size:9.5px}}.sheet-more{color:var(--text-2);border-bottom:1px solid var(--border-strong);transition:color var(--t), border-color var(--t);margin-top:18px;padding-bottom:2px;font-size:13px;font-weight:500;text-decoration:none;display:inline-block}.sheet-more:hover{color:var(--text);border-color:var(--pink)}.empty-links{color:var(--text-3);pointer-events:auto;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 22px;margin-top:26px;font-size:13px;display:flex}.empty-links a{color:var(--text-2);border-bottom:1px solid var(--border-strong);transition:color var(--t), border-color var(--t);padding-bottom:1px;text-decoration:none}.empty-links a:hover{color:var(--text);border-color:var(--pink)}.empty-links span{align-items:center;gap:6px;font-size:12px;display:inline-flex}.empty-links kbd{color:var(--text-2)}.table-hint{background:var(--surface);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-strong);max-width:calc(100% - 32px);box-shadow:var(--shadow-panel);color:var(--text-2);white-space:nowrap;z-index:6;animation:pop .22s var(--ease);border-radius:999px;align-items:center;gap:14px;padding-block:8px;padding-inline:16px 8px;font-size:13.5px;display:flex;position:absolute;bottom:92px;left:50%;transform:translate(-50%)}.table-hint.top{top:14px;bottom:auto}.table-hint .btn-primary.small,.table-hint .btn-ghost.small{box-shadow:none;padding:8px 14px;font-size:13px}.table-hint .btn-ghost.small{margin-inline-start:-6px}.table-hint button svg,.empty-actions button svg{width:15px;height:15px;margin-inline-end:7px}.table-hint button{align-items:center;display:inline-flex}.table-hint .btn-ghost.small svg{margin-inline-end:6px}@media (max-width:640px){.table-hint{white-space:normal;text-align:center;border-radius:18px;flex-direction:column;gap:8px;bottom:76px}.table-hint.top{top:58px;bottom:auto}}
