:root{color-scheme:dark;--bg:#10111d;--panel:#171a2b;--lift:#1e2135;--ink:#f5f2ff;--mute:#b3b0c8;--line:#34364e;--accent:#b8a7ff;--mint:#7de1c6;--danger:#ff9eaf;font-family:system-ui,-apple-system,sans-serif;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink)}[hidden]{display:none!important}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,.button{display:inline-flex;gap:.6rem;justify-content:center;align-items:center;background:#23263a;color:var(--ink);border:1px solid #393c53;padding:.55rem .85rem;border-radius:9px;cursor:pointer;font-size:.86rem;font-weight:650;min-height:40px}button:hover,.button:hover{border-color:var(--accent)}button:disabled{cursor:wait;opacity:.65}:focus-visible{outline:2px solid var(--mint);outline-offset:3px}.primary{background:var(--accent);border-color:var(--accent);color:#18122e}.primary:hover{background:#d0c4ff}.quiet{background:transparent}.top{border-bottom:1px solid var(--line);background:#121422}.top-inner,.shell,.footer{width:min(1180px,calc(100% - 48px));margin:auto}.top-inner{min-height:70px;display:flex;align-items:center;gap:32px}.brand{font-size:1.4rem;font-weight:850;letter-spacing:-.06em;display:flex;align-items:center;gap:8px}.brand span span{color:var(--accent)}.nav-link{font-size:.88rem;color:var(--mute)}#account{margin-left:auto;display:flex;gap:.7rem;align-items:center;font-size:.82rem;color:var(--mute)}.hero{min-height:385px;display:grid;grid-template-columns:1.3fr .8fr;align-items:center;position:relative;overflow:hidden;margin:24px 0 25px;border-radius:20px;border:1px solid #373151;background:radial-gradient(ellipse at 82% 45%,#302550 0%,#1d1b35 46%,#17182a 80%)}.hero-copy{padding:39px 0 42px 48px;z-index:1}.kicker,.guide article span,.eyebrow{color:var(--mint);font-size:.69rem;font-weight:800;letter-spacing:.15em}.kicker span{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px;background:var(--mint);box-shadow:0 0 12px var(--mint)}h1,h2,h3,p{margin:0}h1{font-size:clamp(3rem,6.3vw,5.5rem);line-height:.96;letter-spacing:-.085em;margin:15px 0 18px;font-weight:900}h1 em{font-style:normal;color:var(--accent)}.hero p{max-width:410px;color:#d0cbe5;font-size:.96rem}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px}.art{position:relative;height:320px;isolation:isolate}.orbit{position:absolute;inset:8% 6% 8% 0;background:repeating-radial-gradient(ellipse at center,#ae8df922 0 1px,transparent 1px 31px);transform:rotate(-20deg);mask-image:radial-gradient(ellipse,#000 28%,transparent 72%)}.card-art{position:absolute;left:45%;top:50%;width:142px;height:202px;border-radius:15px;border:1px solid #c9b9fb77;box-shadow:0 18px 48px #05040e77}.back{background:#35376c;transform:translate(-15%,-47%) rotate(23deg)}.middle{background:#534477;transform:translate(-83%,-46%) rotate(-23deg)}.front{background:linear-gradient(145deg,#b8a7ff,#6b59c8);color:#20173b;transform:translate(-52%,-52%) rotate(-5deg);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:16px 8px}.front small{font-size:.54rem;font-weight:900;letter-spacing:.16em}.diamond{display:grid;place-items:center;background:#271d53;color:#dcd0ff;width:66px;height:66px;border-radius:16px;font-size:2.4rem;transform:rotate(45deg);box-shadow:0 0 25px #cbbdff7a}.spark{position:absolute;color:var(--mint)}.one{top:13%;right:21%;font-size:1.7rem}.two{bottom:18%;right:21%}.three{top:22%;left:4%;font-size:1.3rem}.workspace{display:grid;grid-template-columns:245px minmax(0,1fr);gap:16px;align-items:start;scroll-margin-top:14px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:15px;min-width:0}.side{padding:16px}.side-title,.dialog-head,.board-head,.tools,.count-line{display:flex;align-items:center;justify-content:space-between;gap:10px}.side-title h2{font-size:1rem}.square{padding:0;width:36px;min-height:36px;font-size:1.2rem}.search,input,select,textarea{width:100%;padding:.6rem .75rem;background:#111423;color:var(--ink);border:1px solid var(--line);border-radius:8px}.side .search{margin:13px 0}.decks{display:grid;gap:6px}.deck-link{text-align:left;display:block;width:100%;background:transparent;overflow-wrap:anywhere}.deck-link[aria-current=true]{background:#302747;border-color:#7563ad}.deck-link small{display:block;color:var(--mute);font-size:.72rem}.backup{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}.backup button{font-size:.71rem;padding:.32rem .45rem;min-height:32px}.board{padding:22px;min-height:322px}.empty{text-align:center;padding:46px 12px;max-width:390px;margin:auto}.empty .glyph{font-size:2rem;color:var(--accent)}.empty p,.subtle{color:var(--mute);font-size:.86rem}.empty p{margin:7px 0 16px}.board-head{align-items:flex-start;flex-wrap:wrap}.board h2{font-size:clamp(1.5rem,4vw,2.1rem);letter-spacing:-.045em;overflow-wrap:anywhere}.button-row{display:flex;flex-wrap:wrap;gap:7px}.count-line{margin-top:17px;font-size:.85rem}.count-line b{color:var(--mint)}progress{width:100%;height:9px;appearance:none;margin:5px 0 12px}progress::-webkit-progress-bar{background:#33354b;border-radius:10px}progress::-webkit-progress-value{background:var(--mint);border-radius:10px}progress::-moz-progress-bar{background:var(--mint);border-radius:10px}.tools{flex-wrap:wrap;margin:12px 0}.tools .search{width:min(100%,260px)}.cards{display:grid;gap:6px}.row{display:grid;grid-template-columns:45px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #30324a;padding:7px 8px;border-radius:9px;background:#1b1e30}.row.done{border-color:#38665f}.row-title{font-weight:700;overflow-wrap:anywhere}.row-meta{font-size:.73rem;color:var(--mute);overflow-wrap:anywhere}.row .check{height:34px;width:37px;min-height:34px;padding:0;color:var(--mint)}.row .edit{min-height:34px;padding:.25rem .6rem}.check.done{background:#24443e}.row-count{color:var(--accent);font-size:.87rem;text-align:center}.shared{margin-top:30px}.shared .cards{margin-top:18px}.guide{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0 35px}.guide article{background:#151726;border:1px solid var(--line);border-radius:12px;padding:18px}.guide h3{margin:4px 0;font-size:1rem}.guide p{color:var(--mute);font-size:.82rem}.footer{display:flex;justify-content:space-between;gap:15px;padding:19px 0 26px;border-top:1px solid var(--line);font-size:.8rem;color:var(--mute)}dialog{width:min(540px,calc(100% - 30px));max-height:90dvh;background:#191c2d;color:var(--ink);border:1px solid #5a527b;border-radius:14px;padding:0}dialog::backdrop{background:#070814cc}.dialog-inner{padding:20px}.dialog-head{margin-bottom:12px}.dialog-head h2{font-size:1.3rem}label{display:block;color:#ded9ef;font-size:.8rem;font-weight:650;margin:9px 0}label input,label textarea,label select{margin-top:4px;font-weight:400}textarea{min-height:108px;resize:vertical}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.danger,#modal-error{color:var(--danger)}#modal-error{font-size:.8rem}.toast{position:fixed;z-index:4;bottom:18px;right:18px;max-width:min(430px,calc(100% - 36px));border:1px solid #706091;background:#272239;color:var(--ink);border-radius:12px;padding:13px 16px;box-shadow:0 12px 24px #0008;font-size:.87rem}.linkbox{margin:10px 0}.status{font-size:.75rem;color:var(--mute);margin-top:8px;min-height:1.1rem}
@media(max-width:740px){.top-inner,.shell,.footer{width:calc(100% - 28px)}.top-inner{gap:14px;min-height:59px}.nav-link{display:none}.hero{grid-template-columns:1fr;min-height:0;margin-top:14px}.hero-copy{padding:30px 20px}.hero p{max-width:290px}.art{display:none}.workspace{grid-template-columns:1fr}.side{padding:12px}.decks{display:flex;overflow:auto}.deck-link{min-width:132px}.backup{margin-top:9px}.board{padding:14px}.guide{grid-template-columns:1fr;gap:7px}.guide article{padding:11px 14px}.footer{font-size:.73rem}.tools .search{flex:1 1 150px}.row{gap:7px}.button-row{gap:5px}.button-row button{font-size:.8rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.shared > .button,.shared > button{margin:12px 8px 0 0}#account button{white-space:nowrap}@media(max-width:420px){#account{gap:5px}#account button{font-size:.73rem;padding:.42rem .55rem}.brand{font-size:1.2rem}.brand img{width:31px;height:31px}}
