:root{--paper:#f7f4ee;--paper-2:#efeae1;--card:#fff;--ink:#1d2433;--ink-2:#4a5468;--ink-3:#5a6272;--line:#e2dccf;--accent:#2f5bea;--accent-ink:#fff;--accent-soft:#e6ecff;--good:#17663f;--good-soft:#e3f4ea;--warn:#9a5b00;--warn-soft:#fff1d6;--bad:#b3261e;--bad-soft:#fde8e6;--shadow-1:0 1px 2px #1d24330f, 0 1px 1px #1d24330a;--shadow-2:0 6px 18px #1d24331a, 0 2px 4px #1d24330f;--shadow-3:0 18px 50px #1d243338;--r-s:8px;--r-m:12px;--r-l:18px;--tap:44px;--font:ui-rounded, "SF Pro Rounded", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, monospace;--ease:cubic-bezier(.2, .8, .2, 1);--e-grass:#3f9b4a;--e-fire:#e0552d;--e-water:#2f86d6;--e-lightning:#d9a800;--e-psychic:#9a55c9;--e-fighting:#b86a33;--e-darkness:#3d4450;--e-metal:#7d8a96;--e-colorless:#b9b3a6;--e-dragon:#8a7a2e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#151922;--paper-2:#1c212c;--card:#222835;--ink:#eef1f7;--ink-2:#b9c1d0;--ink-3:#8d96a8;--line:#313849;--accent:#7c9bff;--accent-ink:#0f1422;--accent-soft:#26304d;--good:#6fd29c;--good-soft:#1b3326;--warn:#f0b75a;--warn-soft:#3a2c14;--bad:#ff8a80;--bad-soft:#3b1f1d;--shadow-2:0 6px 18px #00000059;--shadow-3:0 18px 50px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--paper);color:var(--ink);font:16px/1.45 var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}img{display:block}.app{flex-direction:column;min-height:100dvh;display:flex}.topbar{z-index:20;background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 16px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:8px;font-weight:750;display:flex}.brand svg{flex:none}.brand small{color:var(--ink-3);font-weight:500}.topbar .spacer{flex:1}.workspace{flex:1;grid-template-columns:minmax(0,1fr) 380px;gap:0;min-height:0;display:grid}.catalogue{min-width:0;padding:14px 16px 120px}.deck-panel{border-left:1px solid var(--line);background:var(--paper-2);flex-direction:column;height:calc(100dvh - 57px);min-height:0;display:flex;position:sticky;top:57px}@media (max-width:900px){.workspace{grid-template-columns:1fr}.deck-panel,.brand small{display:none}}.search-row{z-index:10;background:var(--paper);gap:8px;padding:4px 0 10px;display:grid;position:sticky;top:57px}.search{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-l);height:52px;box-shadow:var(--shadow-1);align-items:center;gap:8px;padding:0 8px 0 14px;transition:border-color .15s,box-shadow .15s;display:flex}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.search input{background:0 0;border:0;outline:0;flex:1;min-width:0;height:100%;font-size:18px}.search input::placeholder{color:var(--ink-3)}.search kbd{font:12px var(--mono);color:var(--ink-3);border:1px solid var(--line);border-radius:6px;padding:2px 6px}@media (hover:none){.search kbd{display:none}}.chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip{border:1px solid var(--line);background:var(--card);border-radius:999px;align-items:center;gap:6px;min-height:36px;padding:0 12px;font-size:14px;display:inline-flex}.chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--ink)}.chip.removable{background:var(--accent-soft);border-color:#0000;padding-right:6px}.chip.removable span[aria-hidden]{border-radius:50%;place-items:center;width:22px;height:22px;display:inline-grid}.chip.removable:hover span[aria-hidden]{background:color-mix(in srgb, var(--accent) 18%, transparent)}.result-meta{color:var(--ink-3);margin-left:auto;font-size:14px}.btn-ghost{border:1px solid var(--line);background:var(--card);border-radius:var(--r-m);align-items:center;gap:6px;min-height:40px;padding:0 12px;font-size:15px;display:inline-flex}.btn-ghost:hover{border-color:var(--ink-3)}.btn-ghost .badge{background:var(--accent);color:var(--accent-ink);border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:12px;display:inline-grid}.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;display:grid}@media (max-width:520px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}.tile{content-visibility:auto;contain-intrinsic-size:150px 290px;position:relative}.tile-hit{text-align:left;border-radius:var(--r-m);background:0 0;border:0;width:100%;padding:0;display:block}.tile-art{aspect-ratio:367/512;border-radius:var(--r-m);background:linear-gradient(110deg, var(--paper-2) 30%, color-mix(in srgb, var(--paper-2) 60%, var(--card)) 50%, var(--paper-2) 70%) 0 0 / 250% 100%;box-shadow:var(--shadow-1);transition:transform .18s var(--ease), box-shadow .18s var(--ease);animation:1.4s linear infinite shimmer;position:relative;overflow:hidden}.tile-art.loaded{background:var(--paper-2);animation:none}.tile-art img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .25s}.tile-art.loaded img{opacity:1}.tile-hit:hover .tile-art{box-shadow:var(--shadow-2);transform:translateY(-2px)}.tile-hit:active .tile-art{transform:scale(.97)}.tile.in-deck .tile-art{box-shadow:0 0 0 3px var(--accent), var(--shadow-2)}.tile.maxed .tile-art{filter:saturate(.85)}@keyframes shimmer{to{background-position:-250% 0}}.tile-name{text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:14.5px;font-weight:650;line-height:1.2;overflow:hidden}.tile-sub{color:var(--ink-3);align-items:center;gap:6px;font-size:12.5px;display:flex}.stepper{aspect-ratio:367/512;pointer-events:none;justify-content:flex-end;align-items:flex-end;padding:6px;display:flex;position:absolute;top:0;left:0;right:0}.stepper-pill{pointer-events:auto;background:color-mix(in srgb, var(--card) 94%, transparent);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;align-items:center;gap:2px;padding:3px;display:inline-flex}.step{background:0 0;border:0;border-radius:50%;place-items:center;width:36px;height:36px;font-size:20px;line-height:1;display:grid}.step:hover:not(:disabled){background:var(--paper-2)}.step:disabled{opacity:.35;cursor:not-allowed}.step.plus{background:var(--accent);color:var(--accent-ink)}.step.plus:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 88%, black)}.step-count{text-align:center;font-variant-numeric:tabular-nums;min-width:22px;font-weight:750}.limit-hint{color:var(--warn);margin-top:2px;font-size:12px}.text-tile{background:var(--card);color:var(--ink);border-top:6px solid var(--tile-energy,var(--e-colorless));flex-direction:column;gap:6px;padding:12px;font-size:13px;display:flex;position:absolute;inset:0}.text-tile strong{font-size:15px;line-height:1.2}.text-tile .meta{color:var(--ink-3);font-size:12px}.sentinel{height:1px}.empty{text-align:center;color:var(--ink-2);padding:40px 12px}.deck-head{border-bottom:1px solid var(--line);gap:10px;padding:14px 16px 10px;display:grid}.deck-name{border-radius:var(--r-s);background:0 0;border:1px solid #0000;width:100%;margin-left:-6px;padding:4px 6px;font-size:19px;font-weight:750}.deck-name:hover,.deck-name:focus{border-color:var(--line);background:var(--card);outline:0}.status{align-items:center;gap:10px;display:flex}.counter{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:26px;font-weight:800}.counter small{color:var(--ink-3);font-size:16px;font-weight:600}.counter.bump{animation:bump .32s var(--ease)}@keyframes bump{40%{color:var(--accent);transform:scale(1.14)}}.meter{background:var(--line);border-radius:999px;flex:1;height:8px;overflow:hidden}.meter i{background:var(--accent);border-radius:inherit;height:100%;transition:width .3s var(--ease), background .2s;display:block}.meter.full i{background:var(--good)}.meter.over i{background:var(--bad)}.next{align-items:center;gap:6px;min-height:22px;font-size:14.5px;font-weight:600;display:flex}.next.todo{color:var(--ink-2)}.next.ready{color:var(--good)}.next.problem{color:var(--bad)}.energy{flex-wrap:wrap;gap:6px;display:flex}.energy-label{color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;font-size:12.5px;font-weight:600}.e-btn{background:var(--card);width:38px;height:38px;box-shadow:var(--shadow-1);border:2px solid #0000;border-radius:50%;place-items:center;padding:0;display:grid;position:relative}.e-btn .dot{background:var(--c);border-radius:50%;width:20px;height:20px;box-shadow:inset 0 -2px #00000026}.e-btn[aria-pressed=true]{border-color:var(--c);background:color-mix(in srgb, var(--c) 16%, var(--card))}.e-btn[aria-pressed=true]:after{content:"✓";background:var(--c);color:#fff;border-radius:50%;place-items:center;width:16px;height:16px;font-size:10px;font-weight:900;display:grid;position:absolute;bottom:-4px;right:-4px}.e-btn.suggested:not([aria-pressed=true]){border-style:dashed;border-color:var(--c)}.e-btn:disabled{opacity:.35}.deck-list{overscroll-behavior:contain;flex:1;padding:6px 10px 12px;overflow:auto}.group-label{color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;padding:10px 6px 4px;font-size:12.5px;font-weight:700}.row{border-radius:var(--r-s);align-items:center;gap:10px;padding:5px 6px;display:flex}.row:hover,.row:focus-within{background:color-mix(in srgb, var(--card) 70%, transparent)}.row-thumb{background:var(--line);border-radius:5px;flex:none;width:34px;height:47px;overflow:hidden}.row-thumb img{object-fit:cover;width:100%;height:100%}.row-main{flex:1;min-width:0}.row-name{text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:650;overflow:hidden}.row-sub{color:var(--ink-3);font-size:12px}.row .stepper-pill{box-shadow:none;background:0 0}.row .step{width:32px;height:32px;font-size:18px}.row .step.plus{background:var(--accent-soft);color:var(--accent)}.row-move{opacity:0;flex-direction:column;display:flex}.row:hover .row-move,.row:focus-within .row-move{opacity:1}.row-move button{width:24px;height:20px;color:var(--ink-3);background:0 0;border:0;font-size:11px}.warn-dot{color:var(--warn);font-size:12px}.deck-empty{color:var(--ink-2);text-align:center;padding:28px 16px;font-size:15px}.deck-empty b{color:var(--ink)}.deck-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);gap:8px;display:grid}.primary{border-radius:var(--r-l);background:var(--accent);height:54px;color:var(--accent-ink);box-shadow:0 6px 16px color-mix(in srgb, var(--accent) 35%, transparent);border:0;justify-content:center;align-items:center;gap:8px;font-size:17px;font-weight:750;transition:transform .12s,opacity .2s;display:inline-flex}.primary:active:not(:disabled){transform:scale(.98)}.primary:disabled{background:var(--line);color:var(--ink-3);box-shadow:none;cursor:not-allowed}.foot-actions{justify-content:space-between;gap:8px;display:flex}.link-btn{color:var(--ink-2);background:0 0;border:0;border-radius:8px;min-height:36px;padding:0 6px;font-size:14px}.link-btn:hover:not(:disabled){color:var(--ink);background:var(--card)}.link-btn:disabled{opacity:.4}.deckbar{display:none}@media (max-width:900px){.deckbar{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:30;background:var(--ink);color:var(--paper);box-shadow:var(--shadow-3);border-radius:22px;align-items:center;gap:10px;padding:8px 8px 8px 14px;display:flex;position:fixed}.deckbar-open{min-width:0;color:inherit;text-align:left;min-height:var(--tap);background:0 0;border:0;flex:1;align-items:center;gap:10px;padding:0;display:flex}.deckbar .counter{color:inherit;font-size:22px}.deckbar .counter small{color:color-mix(in srgb, var(--paper) 65%, transparent)}.deckbar-next{color:color-mix(in srgb, var(--paper) 78%, transparent);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.deckbar .mini-energy{gap:3px;display:flex}.deckbar .mini-energy i{background:var(--c);border-radius:50%;width:12px;height:12px}.deckbar .primary{border-radius:16px;height:46px;padding:0 16px;font-size:15.5px}.deckbar .primary:disabled{background:color-mix(in srgb, var(--paper) 18%, transparent);color:color-mix(in srgb, var(--paper) 55%, transparent)}}dialog{color:var(--ink);background:var(--card);box-shadow:var(--shadow-3);border:0;padding:0}dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f141e73}.sheet:not([open]){display:none}.sheet{border-radius:22px 22px 0 0;flex-direction:column;width:min(560px,100vw);max-width:100vw;max-height:min(88dvh,900px);margin:auto auto 0;display:flex;overflow:hidden}.sheet[open]{animation:rise .28s var(--ease)}@media (min-width:901px){.sheet.center{border-radius:22px;margin:auto}}@keyframes rise{0%{opacity:0;transform:translateY(30px)}}.sheet-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 16px;display:flex}.sheet-head h2{flex:1;margin:0;font-size:18px}.sheet-body{gap:14px;padding:16px;display:grid;overflow:auto}.x-btn{background:var(--paper-2);border:0;border-radius:50%;width:40px;height:40px;font-size:20px}.grabber{background:var(--line);border-radius:99px;width:40px;height:5px;margin:8px auto 0}.deck-sheet .deck-panel-inner{flex-direction:column;flex:1;min-height:0;display:flex}.filters{gap:14px;display:grid}.filters fieldset{border:0;gap:8px;margin:0;padding:0;display:grid}.filters legend{margin-bottom:6px;font-size:14px;font-weight:700}.segmented{background:var(--paper-2);border-radius:12px;gap:3px;padding:3px;display:flex}.segmented button{min-height:40px;color:var(--ink-2);background:0 0;border:0;border-radius:9px;flex:1;font-size:15px;font-weight:650}.segmented button[aria-checked=true]{background:var(--card);color:var(--ink);box-shadow:var(--shadow-1)}.segmented.small button{min-height:36px;font-size:14px}.card-preview{filter:drop-shadow(0 8px 20px #0000002e);width:min(300px,100%);margin:0 auto}.card-preview.social{width:100%}.card-options{gap:8px;display:grid}.label-input{align-items:center;gap:10px;font-size:14px;font-weight:650;display:flex}.label-input small{color:var(--ink-3);font-weight:500}.label-input input{border:1.5px solid var(--line);background:var(--paper);border-radius:10px;flex:1;min-height:40px;padding:0 10px}.qr-box{border-radius:var(--r-m);box-shadow:var(--shadow-1);background:#fff;width:min(320px,100%);margin:0 auto;padding:10px}.qr-box svg{width:100%;height:auto;display:block}.export-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.export-actions .primary{grid-column:1/-1}.export-actions .btn-ghost{justify-content:center;min-height:46px}.hint{color:var(--ink-3);text-align:center;margin:0;font-size:13.5px}.code-text{font:12px var(--mono);word-break:break-all;background:var(--paper-2);border-radius:var(--r-s);color:var(--ink-2);padding:8px 10px}textarea.paste{border:1.5px solid var(--line);border-radius:var(--r-m);background:var(--paper);resize:vertical;width:100%;min-height:130px;font:14px var(--mono);padding:10px}.drop{border:2px dashed var(--line);border-radius:var(--r-m);text-align:center;color:var(--ink-2);padding:18px}.drop.over{border-color:var(--accent);background:var(--accent-soft)}.problems{background:var(--warn-soft);color:var(--ink);border-radius:var(--r-m);padding:10px 12px;font-size:14px}.problems ul{margin:6px 0 0;padding-left:18px}.preview-list{columns:2;column-gap:18px;margin:0;padding:0;font-size:14px;list-style:none}.preview-list li{break-inside:avoid;padding:2px 0}video.camera{border-radius:var(--r-m);background:#000;width:100%}.menu{position:relative}.menu-pop{z-index:40;background:var(--card);border-radius:var(--r-m);min-width:230px;box-shadow:var(--shadow-3);padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.menu-pop button,.menu-pop a{text-align:left;min-height:var(--tap);color:var(--ink);background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:15px;text-decoration:none;display:flex}.menu-pop button:hover,.menu-pop a:hover,.menu-pop button:focus-visible,.menu-pop a:focus-visible{background:var(--paper-2)}.menu-pop hr{border:0;border-top:1px solid var(--line);margin:4px 6px}.icon-btn{width:var(--tap);height:var(--tap);border:1px solid var(--line);background:var(--card);border-radius:12px;place-items:center;display:grid}.toast-wrap{left:0;right:0;bottom:calc(20px + env(safe-area-inset-bottom));z-index:60;pointer-events:none;justify-content:center;display:flex;position:fixed}@media (max-width:900px){.toast-wrap{bottom:calc(86px + env(safe-area-inset-bottom))}}@media (min-width:901px){.toast-wrap{right:380px}}.toast{pointer-events:auto;background:var(--ink);color:var(--paper);box-shadow:var(--shadow-3);animation:rise .22s var(--ease);border-radius:14px;align-items:center;gap:12px;max-width:calc(100vw - 24px);padding:8px 8px 8px 16px;font-size:15px;display:flex}.toast.limit{background:var(--warn-soft);color:var(--ink);box-shadow:var(--shadow-2)}.toast button{background:color-mix(in srgb, var(--paper) 16%, transparent);color:inherit;border:0;border-radius:10px;min-height:36px;padding:0 12px;font-weight:700}.toast.limit button{background:0 0}.about{max-width:820px;color:var(--ink-2);margin:0 auto;padding:32px 16px 140px;font-size:15.5px}.about h2{color:var(--ink);margin-top:28px;font-size:20px}.about a{color:var(--accent)}.about .fine{color:var(--ink-3);font-size:13px}.banner{border-radius:var(--r-m);background:var(--accent-soft);flex-wrap:wrap;align-items:center;gap:10px;margin:10px 16px 0;padding:10px 12px;font-size:15px;display:flex}.banner .spacer{flex:1}.loading-grid .tile-art{animation-duration:1.2s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
