:root{--bg:#0d0b1a;--panel:#17142b;--line:#3a3160;--text:#ece7f6;--muted:#a49cc0;--gold:#d4a94a;--gold-light:#f0cf7a;--error:#ff8a80;--notice:#9be7b0;--serif:"Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:radial-gradient(ellipse at top, #2a1f4d 0%, var(--bg) 60%) fixed, var(--bg);font-family:system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{min-height:100vh;margin:0}.app{max-width:34rem;margin:0 auto;padding:1.5rem 1rem 3rem}.top{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}h1,h2{font-family:var(--serif);margin:0;font-weight:400}h1{letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-size:1.6rem}h2{font-size:1.35rem}.source{text-align:center;margin-top:1.5rem;font-size:.85rem}.source a{color:var(--muted)}.panel{background:var(--panel);border:1px solid var(--line);border-top:2px solid var(--gold);border-radius:.5rem;padding:1.75rem 1.5rem;box-shadow:0 1rem 3rem #00000073}.stack{flex-direction:column;gap:1rem;display:flex}.center{text-align:center;align-items:center}.row{gap:.5rem;display:flex}.row input{flex:1;min-width:0}label{color:var(--muted);flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:.35rem;padding:.65rem .75rem}input:focus-visible,button:focus-visible{outline:2px solid var(--gold-light);outline-offset:2px}button{font:inherit;cursor:pointer;color:#1a1305;background:linear-gradient(var(--gold-light), var(--gold));border:none;border-radius:.35rem;padding:.7rem 1.1rem;font-weight:600}button:disabled{opacity:.6;cursor:wait}button.link{color:var(--muted);background:0 0;padding:.25rem;font-weight:400;text-decoration:underline}button.code{font-family:var(--serif);letter-spacing:.35em;color:var(--gold-light);background:var(--bg);border:1px dashed var(--gold);padding:.5rem .5rem .5rem .85rem;font-size:2.4rem}.code-input{text-transform:uppercase;letter-spacing:.2em}p{margin:0}.muted{color:var(--muted)}.divider{text-align:center;color:var(--muted);font-size:.85rem}.starter-cards{--card-w:clamp(3.4rem, 4.6vw, 5.2rem);--card-h:calc(var(--card-w) * 1.46);flex-wrap:wrap;justify-content:center;gap:.3rem;display:flex}.error,.notice{border-radius:.35rem;margin-bottom:1rem;padding:.6rem .75rem}.error{color:var(--error);background:#ff8a801a}.notice{color:var(--notice);background:#9be7b01a}.stack .error,.stack .notice{margin-bottom:0}.journal{background:var(--bg);border:1px solid var(--line);border-radius:.35rem;flex-direction:column-reverse;max-height:60vh;display:flex;overflow:auto}.app:has(.duel){max-width:92rem}.panel:has(.duel){padding:1rem}.duel{--card-w:clamp(3.4rem, 4.6vw, 5.2rem);--card-h:calc(var(--card-w) * 1.46);grid-template-columns:minmax(0,1fr) 22rem;align-items:start;gap:1rem;display:grid}@media (width<=1100px){.duel{grid-template-columns:minmax(0,1fr)}}.table{border:1px solid var(--line);background:radial-gradient(#d4a94a14,#0000 70%),linear-gradient(#141026,#0f0c1f);border-radius:.5rem;flex-direction:column;gap:.5rem;padding:.75rem;display:flex;overflow-x:auto}.field{flex-direction:column;align-items:center;gap:.4rem;display:flex}.field.opponent{flex-direction:column-reverse}.lane{gap:.4rem;display:flex}.opponent .lane{flex-direction:row-reverse}.hand{min-height:var(--card-h);justify-content:center;gap:.3rem;display:flex}.opponent .hand{--card-w:clamp(2.6rem, 3.4vw, 3.8rem);--card-h:calc(var(--card-w) * 1.46)}.slot{width:var(--card-w);height:var(--card-h);color:inherit;background:#ffffff05;border:1px dashed #d4a94a47;border-radius:.3rem;place-items:center;padding:0;font-weight:400;display:grid;position:relative}.lane:first-child .slot:not(.pile){background:#d97b3a0d}.lane:nth-child(2) .slot:not(.pile){background:#1f9a860d}.hand .slot,.lane .slot.spacer{background:0 0;border:none}button.slot{cursor:pointer}button.slot:hover .card{transform:translateY(-3px)}button.slot:hover .card.defense{transform:rotate(-90deg)scale(.68)translate(3px)}.slot.target{border:1px solid var(--gold-light);animation:1.4s ease-in-out infinite glow}.slot.picked{border:2px solid #7fe0ff;animation:none;box-shadow:0 0 14px #7fe0ff}@keyframes glow{50%{box-shadow:0 0 16px var(--gold-light)}}.zone-label{letter-spacing:.08em;text-transform:uppercase;color:#a49cc080;text-align:center;font-size:.55rem}.card{width:var(--card-w);height:var(--card-h);color:var(--ink,#1b1206);background:radial-gradient(ellipse at 25% 10%, #ffffff47, transparent 55%), var(--frame,linear-gradient(#6b5a3a, #3a2f1d));font-family:var(--serif);text-align:left;border:1px solid #1a1208;border-radius:.3rem;transition:transform .15s;overflow:hidden;box-shadow:0 2px 6px #00000080;container-type:inline-size}.card.normal{--frame:linear-gradient(160deg, #eccb78, #c89440)}.card.effect{--frame:linear-gradient(160deg, #e59358, #b3561f)}.card.fusion{--frame:linear-gradient(160deg, #a37acb, #643a8e);--ink:#fff}.card.ritual{--frame:linear-gradient(160deg, #7aa1e0, #3a5fa3);--ink:#fff}.card.spell{--frame:linear-gradient(160deg, #37b59f, #136b5b);--ink:#fff}.card.trap{--frame:linear-gradient(160deg, #c9649d, #7f2556);--ink:#fff}.card.token{--frame:linear-gradient(160deg, #c4c4c4, #7c7c7c)}.card.defense{transform:rotate(-90deg)scale(.68)}.card.set:not(.back){filter:brightness(.55)saturate(.6);outline:2px solid #6b3f1a}.card.back{background:radial-gradient(34% 26%,#1a0f06 70%,#c89b4a 73%,#7a4a1e 80%,#3a220d 100%);border:2px solid #2a170a}.face{flex-direction:column;gap:2cqw;height:100%;padding:4cqw 5cqw;display:flex}.face-name{color:#1b1206;background:linear-gradient(#ffffff9e,#fff6);border:.8cqw solid #0006;border-radius:1cqw;align-items:center;gap:2cqw;padding:1.5cqw 2cqw;font-size:12cqw;font-weight:700;line-height:1.15;display:flex}.face-name>span:first-child{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.face-attr{aspect-ratio:1;background:var(--attr,radial-gradient(circle at 35% 30%, #aaa, #444));border:.6cqw solid #ffffffd9;border-radius:50%;flex:none;width:1.05em;box-shadow:0 0 0 .5cqw #00000073}.attr-1{--attr:radial-gradient(circle at 35% 30%, #dcb67c, #5e3f1a)}.attr-2{--attr:radial-gradient(circle at 35% 30%, #8fd0ff, #17579e)}.attr-4{--attr:radial-gradient(circle at 35% 30%, #ffb27a, #b8230e)}.attr-8{--attr:radial-gradient(circle at 35% 30%, #b2f2a6, #2a7f36)}.attr-16{--attr:radial-gradient(circle at 35% 30%, #fff6c4, #c29a18)}.attr-32{--attr:radial-gradient(circle at 35% 30%, #c79ae9, #351553)}.attr-64{--attr:radial-gradient(circle at 35% 30%, #fff0b0, #9a7414)}.spell .face-attr{--attr:radial-gradient(circle at 35% 30%, #6fe6cc, #0c5246)}.trap .face-attr{--attr:radial-gradient(circle at 35% 30%, #f08cc4, #5e1240)}.face-level,.face-kind{white-space:nowrap;justify-content:space-between;align-items:center;gap:2cqw;min-height:7cqw;margin:0;font-size:7cqw;line-height:1;display:flex;overflow:hidden}.face-kind{text-transform:uppercase;text-overflow:ellipsis;justify-content:flex-end;font-weight:700}.face-attr-name{letter-spacing:.1em;font-size:5cqw;font-weight:700}.card:not(.full) .face-attr-name{display:none}.face-stars{color:#ffd23f;letter-spacing:-.4cqw;text-shadow:0 0 .8cqw #7a1600,0 0 .8cqw #7a1600;margin-left:auto}.face-art{aspect-ratio:1;color:#fffc;text-align:center;background:radial-gradient(circle,#ffffff1f,#0000 70%),repeating-linear-gradient(45deg,#00000073 0 3cqw,#0000004d 3cqw 6cqw);border:1cqw solid #2a1c0c;flex:none;place-items:center;width:100%;padding:6cqw;font-size:7cqw;display:grid;position:relative;overflow:hidden;box-shadow:0 0 0 .6cqw #ffffff4d}.face-art img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.face-stats{color:#1b1206;text-align:right;background:#ffffff80;border-radius:1cqw;margin:0;padding:0 2cqw;font-family:system-ui,Segoe UI,Roboto,sans-serif;font-size:11cqw;font-weight:700;line-height:1.15}.card.full{height:auto;min-height:var(--card-h);border-width:2px;border-radius:.6rem}.card.full .face{min-height:var(--card-h);padding:4cqw 5cqw 5cqw}.card.full .face-name{font-size:7.5cqw}.card.full .face-name>span:first-child{white-space:normal}.card.full .face-level,.card.full .face-kind{font-size:5.5cqw}.card.full .face-stars{font-size:6.5cqw}.card.full .face-art{align-self:center;width:86%}.face-text{color:#1b1206;background:linear-gradient(#f7eed6,#eadcb6);border:.8cqw solid #00000073;flex-direction:column;flex:1;gap:1.5cqw;padding:2.5cqw 3cqw;font-size:5.2cqw;line-height:1.35;display:flex}.face-type{margin:0;font-weight:700}.face-desc{white-space:pre-wrap;flex:1;max-height:16rem;margin:0;overflow:auto}.face-desc.flavor{font-style:italic}.face-text .face-stats{background:0 0;border-top:.4cqw solid #000000a6;border-radius:0;padding:1.2cqw 0 0;font-size:5.6cqw}.pile{border-style:solid}.pile summary{cursor:pointer;place-items:center;width:100%;height:100%;list-style:none;display:grid}.pile summary::-webkit-details-marker{display:none}.pile-count{text-align:center;background:#000000b3;padding:.1rem;font-size:.6rem;position:absolute;bottom:0;left:0;right:0}.pile-list{z-index:5;background:var(--panel);border:1px solid var(--gold);border-radius:.35rem;width:14rem;max-height:16rem;margin:.25rem 0 0;padding:.5rem .5rem .5rem 2rem;font-size:.8rem;position:absolute;top:100%;right:0;overflow:auto;box-shadow:0 .5rem 1.5rem #0009}.pile-list button.link{color:var(--text);text-align:left;text-decoration:none}.middle{font-family:var(--serif);color:var(--gold-light);border-block:1px solid #d4a94a59;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;padding:.35rem .75rem;display:flex}.chain{color:#7fe0ff}.side{flex-direction:column;gap:.75rem;display:flex;position:sticky;top:1rem}.lp{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.lp>div{background:var(--bg);border:1px solid var(--line);border-radius:.35rem;flex-direction:column;padding:.5rem .75rem;font-size:.8rem;display:flex}.lp strong{font-family:var(--serif);font-size:1.8rem;font-weight:400}.lp-me strong{color:var(--gold-light)}.lp-opponent strong{color:#f08a8a}.detail{--card-w:15rem;--card-h:calc(var(--card-w) * 1.46);justify-items:center;display:grid}.detail-empty{text-align:center;place-items:center;min-height:11rem;font-size:.85rem;display:grid}.ask{background:var(--bg);border:1px solid var(--gold);border-radius:.35rem;flex-direction:column;gap:.6rem;padding:.75rem;display:flex}.ask h3{font-family:var(--serif);color:var(--gold-light);margin:0;font-size:1rem;font-weight:400}.actions{flex-wrap:wrap;gap:.4rem;display:flex}.actions:empty{display:none}.actions button{padding:.45rem .8rem;font-size:.85rem}button.secondary{color:var(--gold-light);border:1px solid var(--gold);background:0 0}.chips{flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.chip{color:var(--text);background:var(--panel);border:1px solid var(--line);flex-direction:column;align-items:flex-start;padding:.3rem .55rem;font-size:.8rem;font-weight:400;display:flex}.chip small{color:var(--muted);font-size:.7rem}.chip.picked{border-color:#7fe0ff;box-shadow:0 0 0 1px #7fe0ff}.log{max-height:16rem}.log ol{margin:0;padding:.5rem .75rem;font-size:.8rem;line-height:1.5;list-style:none}.log b{color:#f08a8a;font-weight:600}.log .mine b{color:var(--gold-light)}button.card-name{font-size:inherit;color:var(--text);border-bottom:1px dotted var(--muted);background:0 0;border-radius:0;padding:0;font-weight:600}dialog.end{z-index:10;text-align:center;width:min(24rem,90vw);height:fit-content;color:var(--text);background:var(--panel);border:1px solid var(--gold);border-top:3px solid var(--gold);border-radius:.5rem;flex-direction:column;gap:1rem;margin:auto;padding:2rem;display:flex;position:fixed;inset:0;box-shadow:0 0 0 100vmax #0009}.end h2{letter-spacing:.1em;color:var(--gold-light);font-size:2.2rem}.story-head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.stack h3{font-family:var(--serif);color:var(--gold);margin:0;font-size:1.05rem;font-weight:400}.arc ol{flex-direction:column;gap:.5rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}button.story-duel{text-align:left;width:100%;color:var(--text);background:var(--bg);border:1px solid var(--line);align-items:center;gap:.85rem;font-weight:400;display:flex}button.story-duel:hover:not(:disabled){border-color:var(--gold)}button.story-duel:disabled{cursor:not-allowed;opacity:.5}.story-num{width:2rem;height:2rem;font-family:var(--serif);color:var(--gold-light);border:1px solid var(--gold);border-radius:50%;flex:none;place-items:center;display:grid}.story-name{flex-direction:column;flex:1;font-weight:600;display:flex}.story-name small{color:var(--muted);font-weight:400}.story-status{color:var(--muted);font-size:.8rem}.story-duel.available .story-status{color:var(--gold-light)}.story-duel.done .story-status{color:var(--notice)}.story-text{font-family:var(--serif);line-height:1.55}.story-rules{color:var(--muted);font-size:.9rem}.story-rules summary{cursor:pointer;color:var(--text)}.story-rules ul,.rewards{margin:.5rem 0 0;padding-left:1.2rem}.end .story-text{text-align:left}.tabs{border-bottom:1px solid var(--line);gap:.25rem;margin:-.5rem 0 1.5rem;display:flex}.tabs button{color:var(--muted);background:0 0;border-bottom:2px solid #0000;border-radius:0;padding:.6rem .9rem;font-weight:400}.tabs button[aria-current=page]{color:var(--gold-light);border-bottom-color:var(--gold)}.tabs button:disabled{cursor:not-allowed;opacity:.45}select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:.35rem;padding:.5rem .6rem}select:focus-visible{outline:2px solid var(--gold-light);outline-offset:2px}.app:has(.builder){max-width:92rem}.builder{--card-w:5.6rem;--card-h:calc(var(--card-w) * 1.46);grid-template-columns:minmax(0,1fr) 24rem;align-items:start;gap:1.25rem;display:grid}@media (width<=1100px){.builder{grid-template-columns:minmax(0,1fr)}}.builder button:disabled{cursor:not-allowed}.filters{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.filters input[type=search]{flex:14rem;padding:.5rem .75rem}.range{color:var(--muted);align-items:center;gap:.3rem;font-size:.8rem;display:flex}.range input{width:5.2rem;padding:.45rem .5rem}.collection-grid{grid-template-columns:repeat(auto-fill, minmax(var(--card-w), 1fr));border:1px solid var(--line);background:linear-gradient(#141026,#0f0c1f);border-radius:.5rem;gap:.6rem;max-height:72vh;margin:0;padding:.75rem;list-style:none;display:grid;overflow:auto}button.owned{color:inherit;background:0 0;justify-items:center;padding:0;font-weight:400;display:grid;position:relative}button.owned:hover .card{transform:translateY(-3px)}button.owned.spent{cursor:default}button.owned.spent .card{filter:grayscale(.8)brightness(.5);transform:none}.owned-count{color:var(--gold-light);background:#000000bf;border-radius:.25rem;padding:.05rem .35rem;font-size:.7rem;position:absolute;bottom:.2rem;right:.2rem}.deck-panel{background:var(--bg);border:1px solid var(--line);border-radius:.35rem;padding:.75rem}.deck-panel .row select{flex:1;min-width:0}.counts{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.count{border:1px solid var(--line);border-radius:.35rem;flex-direction:column;padding:.4rem .65rem;font-size:.75rem;display:flex}.count strong{font-family:var(--serif);color:var(--gold-light);font-size:1.6rem;font-weight:400}.count.bad strong,.rule.bad{color:var(--error)}.rule{font-size:.8rem}.deck-cards{gap:.35rem}.deck-cards h3{font-family:var(--serif);color:var(--gold-light);margin:0;font-size:1rem;font-weight:400}.deck-list{max-height:16rem;margin:0;padding:0;list-style:none;overflow:auto}.deck-list:empty{display:none}button.deck-line{text-align:left;width:100%;color:var(--text);background:0 0;border-radius:.25rem;padding:.2rem .35rem;font-size:.85rem;font-weight:400}button.deck-line:hover{background:#ff8a801f}.copies{min-width:1.6rem;color:var(--gold-light);display:inline-block}.booster-status{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.booster-opening{text-align:center;align-items:center}.pack-open{border:2px solid var(--gold);background:linear-gradient(#3a2a6d,#1c1338);border-radius:.4rem;width:6rem;height:8.8rem;animation:.6s ease-out forwards pack-open}@keyframes pack-open{0%{opacity:1;transform:scale(1)rotate(0)}60%{opacity:1;transform:scale(1.2)rotate(-4deg)}to{opacity:0;transform:scale(1.5)rotate(-4deg)}}.reveal-grid{--card-w:5rem;--card-h:calc(var(--card-w) * 1.46);grid-template-columns:repeat(3, var(--card-w));justify-content:center;gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.reveal-inner{opacity:.6;flex-direction:column;align-items:center;gap:.2rem;transition:transform .4s,opacity .4s;display:flex;transform:scale(.7)rotateY(90deg)}.reveal-inner.shown{opacity:1;transform:none}.reveal-inner.high{filter:drop-shadow(0 0 .5rem var(--gold-light))}.reveal-rarity{color:var(--muted);font-size:.65rem}.reveal-inner.high .reveal-rarity{color:var(--gold-light);font-weight:600}
