@property --a1{syntax: "<color>"; inherits: true; initial-value: #a96bff;}@property --a2{syntax: "<color>"; inherits: true; initial-value: #5ce1ff;}:root{--void: #04050a;--void-2: #080a12;--ink: #eaeefb;--muted: #858ea8;--line: rgba(255, 255, 255, .09);--glass: rgba(255, 255, 255, .035);--han: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;--latin: Georgia, "Times New Roman", serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--tilt-x: 0;--tilt-y: 0;color-scheme:dark;transition:--a1 .8s ease,--a2 .8s ease}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--void);color:var(--ink);font-family:var(--han);font-synthesis:none;-webkit-font-smoothing:antialiased;overflow-x:hidden;min-height:100svh;display:flex;flex-direction:column}button,input,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;background:none;border:0}a{color:inherit}:focus-visible{outline:2px solid var(--a2);outline-offset:4px;border-radius:4px}#stage:focus-visible{outline:1px dashed color-mix(in oklab,var(--a2) 70%,transparent);outline-offset:-3px;border-radius:18px}.aurora{position:fixed;inset:-20vmax;z-index:-2;filter:blur(90px) saturate(1.25);opacity:.82}.aurora i{position:absolute;display:block;border-radius:50%;mix-blend-mode:screen;transition:background .9s ease}.aurora i:nth-child(1){width:62vmax;height:62vmax;left:2%;top:4%;background:radial-gradient(circle at 40% 40%,color-mix(in oklab,var(--a1) 70%,transparent),transparent 68%);animation:drift1 26s ease-in-out infinite}.aurora i:nth-child(2){width:54vmax;height:54vmax;right:0%;top:22%;background:radial-gradient(circle at 55% 45%,color-mix(in oklab,var(--a2) 62%,transparent),transparent 66%);animation:drift2 32s ease-in-out infinite}.aurora i:nth-child(3){width:48vmax;height:48vmax;left:32%;bottom:-8%;background:radial-gradient(circle at 50% 50%,rgba(255,92,176,.4),transparent 68%);animation:drift3 38s ease-in-out infinite}@keyframes drift1{50%{transform:translate3d(9vmax,6vmax,0) scale(1.14)}}@keyframes drift2{50%{transform:translate3d(-11vmax,8vmax,0) scale(.88)}}@keyframes drift3{50%{transform:translate3d(6vmax,-9vmax,0) scale(1.1)}}.scan{position:fixed;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.021) 0 1px,transparent 1px 3px),radial-gradient(120% 90% at 50% 0%,transparent 40%,rgba(2,3,8,.72) 100%)}.top{display:flex;align-items:center;justify-content:space-between;padding:22px clamp(18px,4vw,54px) 14px;border-bottom:1px solid var(--line)}.logo{display:flex;align-items:center;gap:13px;text-decoration:none}.mark{font-size:22px;line-height:1;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(140deg,color-mix(in oklab,var(--a1) 34%,transparent),color-mix(in oklab,var(--a2) 26%,transparent));border:1px solid color-mix(in oklab,var(--a2) 40%,transparent);box-shadow:0 0 26px color-mix(in oklab,var(--a1) 30%,transparent);color:#fff}.wordmark{font:600 17px/1.05 var(--latin);letter-spacing:.16em;background-image:linear-gradient(96deg,#fff 0%,var(--a2) 22%,#ffd7f0 45%,var(--a1) 68%,#fff 92%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 9s linear infinite}.wordmark em{display:block;font:400 8.5px/1 var(--mono);letter-spacing:.52em;margin-top:6px;opacity:.85}@keyframes shine{to{background-position:260% 0}}.top-right{display:flex;align-items:center;gap:14px}.pill{display:inline-flex;align-items:center;gap:8px;font:9px/1 var(--mono);letter-spacing:.22em;color:var(--muted);padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:var(--glass);backdrop-filter:blur(8px)}.live{width:6px;height:6px;border-radius:50%;background:var(--a2);box-shadow:0 0 10px var(--a2);animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{50%{opacity:.28}}.ghost{font-size:12px;letter-spacing:.1em;color:#cdd3e6;padding:9px 15px;border:1px solid var(--line);border-radius:999px;background:var(--glass);backdrop-filter:blur(8px);transition:.25s}.ghost:hover{border-color:color-mix(in oklab,var(--a2) 60%,transparent);color:#fff}main{flex:1;display:grid;gap:clamp(14px,2vw,34px);grid-template-columns:216px minmax(0,1fr) 322px;padding:clamp(14px,2.4vw,30px) clamp(18px,4vw,54px) 0;max-width:1660px;width:100%;margin:0 auto;align-items:stretch}.panel,.rail,.info{border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,#ffffff0b,#ffffff03);backdrop-filter:blur(14px)}.rail{padding:20px 16px;display:flex;flex-direction:column;gap:12px}.rail-title,.dock-title{font-size:12px;letter-spacing:.34em;color:#d7dcef;margin:0 0 4px;display:flex;align-items:baseline;gap:9px}.rail-title small,.dock-title small{font:8px/1 var(--mono);letter-spacing:.3em;color:var(--muted)}.deck-list{display:flex;flex-direction:column;gap:10px}.deck{position:relative;overflow:hidden;display:flex;align-items:center;gap:12px;padding:10px;border-radius:14px;border:1px solid var(--line);background:#ffffff05;text-align:left;transition:.3s;width:100%}.deck:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(105deg,transparent 32%,rgba(255,255,255,.42) 48%,transparent 62%);transform:translate(-120%);transition:opacity .3s}.deck:hover:after,.deck[aria-current=true]:after{opacity:1;animation:sheen 1.5s ease}@keyframes sheen{to{transform:translate(120%)}}.deck:hover{border-color:#ffffff38;transform:translateY(-1px)}.deck[aria-current=true]{border-color:color-mix(in oklab,var(--dk2, #fff) 65%,transparent);background:linear-gradient(120deg,color-mix(in oklab,var(--dk1, #fff) 22%,transparent),#ffffff08);box-shadow:0 8px 30px -12px color-mix(in oklab,var(--dk1, #fff) 60%,transparent)}.deck-thumb{width:42px;height:60px;border-radius:7px;flex:none;background-size:cover;background-position:center;border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 0 20px #00000080}.deck-name{font-size:14px;letter-spacing:.14em;display:block}.deck-latin{font:8px/1.5 var(--mono);letter-spacing:.2em;color:var(--muted);display:block;margin-top:5px}.deck-rarity{font:8px/1 var(--mono);letter-spacing:.16em;color:var(--dk2, #fff);display:block;margin-top:6px;opacity:.9}.upload{margin-top:auto;display:flex;align-items:center;gap:12px;cursor:pointer;padding:13px 12px;border-radius:14px;border:1px dashed rgba(255,255,255,.18);transition:.3s;color:#cfd5ea}.upload:hover{border-color:var(--a2);background:color-mix(in oklab,var(--a2) 8%,transparent)}.plus{font-size:20px;color:var(--a2);line-height:1}.upload-copy{font-size:12.5px;letter-spacing:.08em}.upload-copy small{display:block;font:7.5px/1.5 var(--mono);letter-spacing:.16em;color:var(--muted);margin-top:5px}.upload.busy{opacity:.5;pointer-events:none}.stage-wrap{position:relative;display:flex;flex-direction:column;min-width:0}.halo{position:absolute;left:50%;top:46%;width:78%;aspect-ratio:1;z-index:-1;translate:calc(-50% + var(--tilt-y) * 90px) calc(-50% + var(--tilt-x) * 60px);background:radial-gradient(circle,color-mix(in oklab,var(--a1) 46%,transparent) 0%,transparent 62%);filter:blur(52px);opacity:.8;transition:background .8s ease}.stage-frame{position:relative;flex:1;min-height:0}.corner{position:absolute;width:16px;height:16px;border:1px solid rgba(255,255,255,.22);pointer-events:none}.corner.tl{top:0;left:0;border-right:0;border-bottom:0}.corner.tr{top:0;right:0;border-left:0;border-bottom:0}.corner.bl{bottom:0;left:0;border-right:0;border-top:0}.corner.br{bottom:0;right:0;border-left:0;border-top:0}#stage{width:100%;height:100%;min-height:420px;touch-action:none;cursor:grab}#stage:active{cursor:grabbing}#stage canvas{display:block;width:100%;height:100%}#loading{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:16px;font-size:12px;letter-spacing:.3em;color:#cfd6ec;text-align:center;white-space:pre-wrap}#loading b{font-weight:400}#loading.gone{opacity:0;pointer-events:none;transition:opacity .5s}.spin{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.14);border-top-color:var(--a2);border-right-color:var(--a1);animation:spin 1.1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.stage-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 4px 6px;font-size:10px;color:var(--muted);letter-spacing:.1em}.view-label{font:9px/1 var(--mono);letter-spacing:.3em;color:var(--a2)}.hint b{font-weight:400;color:#c9cfe4}.info{padding:26px 24px;display:flex;flex-direction:column}.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 20px;font:9px/1 var(--mono);letter-spacing:.24em;color:#c3b48f}.eyebrow i{width:6px;height:6px;border:1px solid var(--a2);rotate:45deg;flex:none}.info h1{font-size:clamp(40px,4.4vw,58px);font-weight:600;letter-spacing:.06em;margin:0 0 10px;line-height:1.05}[contenteditable]{outline:0;border-radius:6px;transition:.25s}[contenteditable]:hover{box-shadow:inset 0 -2px color-mix(in oklab,var(--a2) 55%,transparent)}[contenteditable]:focus{box-shadow:inset 0 -2px 0 var(--a2)}.latin{font:12px/1 var(--mono);letter-spacing:.34em;margin:0 0 8px;background-image:linear-gradient(96deg,var(--a2),#fff 42%,var(--a1) 78%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 7s linear infinite}.editable-hint{font-size:9px;letter-spacing:.14em;color:#858ea8b3;margin:0 0 20px}.subtitle{font-size:14px;letter-spacing:.28em;color:#a9b0c6;margin:0 0 22px}.rarity{display:flex;align-items:center;gap:12px;margin-bottom:22px;flex-wrap:wrap}.rarity-tag{font:9px/1 var(--mono);letter-spacing:.22em;padding:8px 12px;border-radius:999px;border:1px solid color-mix(in oklab,var(--a2) 55%,transparent);background:color-mix(in oklab,var(--a1) 16%,transparent);color:#fff}.stars{font-size:13px;letter-spacing:.3em;color:var(--a2);padding:4px 6px;border-radius:8px;transition:.2s}.stars:hover{background:color-mix(in oklab,var(--a2) 12%,transparent)}[data-edit]{cursor:text}[data-edit]:empty:before{content:"—";color:#5b6278}.palette{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:22px}.palette[hidden]{display:none}.palette-label{font-size:10px;letter-spacing:.18em;color:#9aa1b8}.palette-label small{display:block;font:7.5px/1.6 var(--mono);letter-spacing:.2em;color:#5c6478}.swatches{display:flex;gap:5px}.swatches i{width:20px;height:20px;border-radius:6px;display:block;border:1px solid rgba(255,255,255,.22);box-shadow:0 3px 10px -3px #000}.recipe{font-size:10px;letter-spacing:.1em;color:#cbd2e6;padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:#ffffff08;transition:.25s}.recipe b{font-weight:400;color:var(--a2)}.recipe:hover{border-color:color-mix(in oklab,var(--a2) 62%,transparent)}.stats{display:flex;flex-direction:column;gap:13px;margin-bottom:26px}.stat{display:grid;grid-template-columns:34px 1fr 30px;align-items:center;gap:11px;font-size:11px;color:#aab1c7}.stat b{font-weight:400;letter-spacing:.12em}.stat span{font:9px/1 var(--mono);color:var(--a2);text-align:right}.bar{height:3px;border-radius:3px;background:#ffffff14;overflow:hidden}.bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--a1),var(--a2));box-shadow:0 0 12px color-mix(in oklab,var(--a2) 70%,transparent);transition:width .9s cubic-bezier(.2,.9,.2,1)}.technique{font-size:19px;letter-spacing:.18em;margin:0 0 10px;color:#f0eee9}.tagline{font-size:12px;line-height:2;color:#8f96ad;margin:0 0 22px}.serial{margin-top:auto;display:flex;justify-content:space-between;gap:10px;font:9px/1 var(--mono);letter-spacing:.18em;color:var(--muted);border-top:1px solid var(--line);padding-top:16px}.dock{display:grid;grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:clamp(16px,2.4vw,34px);margin:clamp(14px,2.4vw,26px) auto 0;max-width:1660px;width:calc(100% - (2*clamp(18px,4vw,54px)));padding:20px clamp(16px,2.4vw,28px);border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,#ffffff0d,#ffffff04);backdrop-filter:blur(14px)}.dock-title{flex-direction:column;align-items:flex-start;gap:7px;margin:0}.knobs{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:clamp(12px,1.6vw,24px)}.knobs label{font-size:10px;letter-spacing:.14em;color:#9aa1b8;display:block}.knobs output{float:right;font:9px/1 var(--mono);color:var(--a2)}input[type=range]{-webkit-appearance:none;appearance:none;display:block;width:100%;margin:13px 0 0;height:3px;border-radius:3px;cursor:pointer;background:linear-gradient(90deg,var(--a1),var(--a2)) no-repeat;background-size:var(--fill, 50%) 100%;background-color:#ffffff1a}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;border-radius:50%;background:#fff;border:2px solid var(--a2);box-shadow:0 0 12px color-mix(in oklab,var(--a2) 85%,transparent);transition:transform .18s}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.25)}input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--a2);box-shadow:0 0 12px color-mix(in oklab,var(--a2) 85%,transparent)}.dock-actions{display:flex;gap:9px;flex-wrap:wrap}.dock-actions button{font-size:11.5px;letter-spacing:.1em;padding:11px 16px;border-radius:999px;border:1px solid var(--line);background:#ffffff08;transition:.25s;white-space:nowrap}.dock-actions button:hover{border-color:color-mix(in oklab,var(--a2) 65%,transparent);background:color-mix(in oklab,var(--a2) 10%,transparent)}.dock-actions .primary{border-color:transparent;color:#0b0a12;font-weight:600;background:linear-gradient(100deg,var(--a2),var(--a1));box-shadow:0 6px 24px -8px color-mix(in oklab,var(--a1) 80%,transparent)}.dock-actions .primary[aria-pressed=true]{filter:saturate(.5) brightness(.9)}footer{display:flex;justify-content:space-between;gap:12px;max-width:1660px;width:100%;margin:0 auto;padding:22px clamp(18px,4vw,54px) 26px;font-size:10px;letter-spacing:.18em;color:#4d5468}.foot-latin{font:8px/1 var(--mono);letter-spacing:.3em}dialog{max-width:520px;width:calc(100% - 36px);border:1px solid rgba(255,255,255,.12);border-radius:22px;background:linear-gradient(180deg,#0c101a,#070910);color:var(--ink);padding:40px 38px;line-height:2;position:relative;box-shadow:0 40px 120px -30px #000}dialog::backdrop{background:#020308b8;backdrop-filter:blur(9px)}dialog h2{font-size:25px;letter-spacing:.06em;margin:6px 0 18px;font-weight:600}dialog p{font-size:12.5px;color:#98a0b6;margin:0 0 14px}dialog a{color:var(--a2);text-underline-offset:3px}dialog .fine{font-size:11px;color:#676f86;margin-top:20px}dialog .eyebrow{margin-bottom:0}.close{position:absolute;right:20px;top:14px;font-size:26px;color:var(--muted);line-height:1}.close:hover{color:#fff}@media(max-width:1240px){main{grid-template-columns:minmax(0,1fr) 290px;grid-template-areas:"rail rail" "stage info"}.rail{grid-area:rail;flex-direction:row;align-items:center;gap:14px;padding:14px}.rail-title{display:none}.deck-list{flex-direction:row;flex:1;gap:10px}.deck{flex:1;min-width:0}.deck-latin,.deck-rarity{display:none}.upload{margin:0;flex:none}.upload-copy small{display:none}.stage-wrap{grid-area:stage}.info{grid-area:info}.dock{grid-template-columns:minmax(0,1fr)}.dock-title{flex-direction:row;align-items:baseline}.dock-actions{justify-content:flex-start}}@media(max-width:860px){main{grid-template-columns:minmax(0,1fr);grid-template-areas:"rail" "stage" "info"}.deck-name{font-size:12px}.deck-thumb{width:34px;height:48px}.info{padding:22px 20px}.info h1{font-size:42px}#stage{min-height:460px;height:62svh}.knobs{grid-template-columns:repeat(2,minmax(0,1fr))}.top{padding:16px 18px 12px}.pill{display:none}footer{flex-direction:column;gap:6px}}@media(max-width:520px){.rail{overflow-x:auto;scrollbar-width:none}.deck{min-width:118px}.upload{min-width:150px}.dock-actions button{flex:1;text-align:center;justify-content:center}}@media(prefers-reduced-motion:reduce){*,*:after{animation:none!important;transition:none!important}}
