:root{--ink:#f4e9dc;--dim:rgba(244,233,220,.55);--amber:#f1b36a;--glass:rgba(24,18,14,.55);--line:rgba(255,255,255,.1);--serif:"Noto Serif SC","Noto Serif CJK SC","Songti SC","STSong",serif;--sans:"PingFang SC","Noto Sans SC","Noto Sans CJK SC","Microsoft YaHei",sans-serif;--sb:env(safe-area-inset-bottom,0px);--st:env(safe-area-inset-top,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;color:var(--ink);font-family:var(--sans);overscroll-behavior:none;user-select:none;background:#0b0907;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}#gl{touch-action:none;width:100%;height:100%;display:block;position:fixed;top:0;bottom:0;left:0;right:0}#vig{pointer-events:none;background:radial-gradient(90% 70% at 50% 42%,transparent 55%,rgba(0,0,0,.55) 100%);position:fixed;top:0;bottom:0;left:0;right:0}.hide{opacity:0;transform:translateY(8px);pointer-events:none!important}#hud,#dock,#tray,#sideTools,#hint{transition:opacity .4s,transform .4s}#hud{top:calc(14px + var(--st));pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:fixed;left:18px;right:18px}#hud>*{pointer-events:auto}.brand{font-family:var(--serif);letter-spacing:6px;font-size:22px;font-weight:600}.pill{border:1px solid var(--line);letter-spacing:1px;color:var(--dim);-webkit-backdrop-filter:blur(14px);background:rgba(255,255,255,.06);border-radius:20px;padding:6px 14px;font-size:13px}.pill b{color:var(--amber);font-weight:500}.count{color:var(--dim);letter-spacing:1px;font-size:13px}.count b{color:var(--ink);font-size:16px;font-weight:500}#sideTools{right:14px;top:calc(72px + var(--st));flex-direction:column;gap:12px;display:flex;position:fixed}.round{border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);width:48px;height:56px;color:var(--dim);background:rgba(255,255,255,.05);border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:10px;display:flex}.round svg{width:20px;height:20px;stroke:var(--ink);fill:none;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;opacity:.85}.round:active{transform:scale(.94)}#hint{left:0;right:0;bottom:calc(196px + var(--sb));text-align:center;letter-spacing:3px;color:rgba(244,233,220,.5);pointer-events:none;font-size:12px;position:fixed}#tray{left:0;right:0;bottom:calc(112px + var(--sb));justify-content:center;display:flex;position:fixed}.trayRow{-webkit-backdrop-filter:blur(18px);background:rgba(20,15,12,.5);border:1px solid rgba(255,255,255,.07);border-radius:22px;gap:10px;padding:8px;display:none}#tray[data-show=brush] #brushTray,#tray[data-show=sticker] #stickerTray{display:flex}.chip{height:40px;color:var(--dim);border:1px solid transparent;border-radius:14px;align-items:center;gap:8px;padding:0 16px;font-size:13px;display:flex}.chip i{width:var(--d);height:var(--d);background:var(--ink);opacity:.7;border-radius:50%;display:block}.chip.on{color:#f6c58c;background:rgba(241,170,90,.14);border-color:rgba(241,170,90,.5)}.chip.on i{opacity:1;background:#f6c58c}.stk{width:58px;height:58px;color:var(--dim);border:1px solid transparent;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;display:flex}.stk svg{width:26px;height:26px;fill:var(--ink);opacity:.85}.stk.on{color:#f6c58c;background:rgba(241,170,90,.14);border-color:rgba(241,170,90,.5)}.stk.on svg{fill:#f6c58c}#dock{left:12px;right:12px;bottom:calc(14px + var(--sb));background:var(--glass);-webkit-backdrop-filter:blur(24px)saturate(1.2);border:1px solid rgba(255,255,255,.08);border-radius:32px;justify-content:space-around;align-items:center;max-width:520px;height:88px;margin:0 auto;padding:0 6px;display:flex;position:fixed;box-shadow:0 18px 50px rgba(0,0,0,.45)}.btn{color:var(--dim);letter-spacing:2px;flex-direction:column;align-items:center;gap:6px;min-width:54px;font-size:11px;display:flex}.btn em{font-style:normal}.btn .ic{width:46px;height:46px;font-family:var(--serif);color:var(--ink);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:23px;justify-content:center;align-items:center;font-size:19px;transition:all .25s;display:flex}.btn.on .ic{color:#f6c58c;background:rgba(241,170,90,.16);border-color:rgba(241,170,90,.6)}.btn.on{color:#f6c58c}.btn.lit .ic{color:#3a1806;background:radial-gradient(circle at 50% 40%,#ffd9a0,#f08a2c 60%,#b8501a);border:none;border-radius:29px;width:58px;height:58px;font-size:22px;box-shadow:0 0 26px rgba(255,150,60,.5),0 0 0 6px rgba(241,150,70,.12)}.btn.lit{color:#f6c58c;margin-top:-10px}.btn.lit.on .ic{color:#f6c58c;background:radial-gradient(circle at 50% 40%,#5a4636,#2a1f18 70%);box-shadow:0 0 0 6px rgba(255,255,255,.05)}.btn:active .ic{transform:scale(.92)}#intro{background:radial-gradient(at 50% 30%,rgba(60,35,18,.35),rgba(8,6,5,.75) 70%);justify-content:center;align-items:center;padding:24px;transition:opacity .8s;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}#intro.gone{opacity:0;pointer-events:none}.introInner{text-align:center;width:100%;max-width:360px}.eyebrow{letter-spacing:6px;color:var(--dim);font-size:11px}#intro h1{font-family:var(--serif);letter-spacing:12px;text-shadow:0 2px 30px rgba(255,150,60,.25);margin:14px 0 10px;padding-left:12px;font-size:56px;font-weight:600}.lead{color:rgba(244,233,220,.7);letter-spacing:1px;margin:0 0 34px;font-size:14px;line-height:1.9}form label{border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);background:rgba(255,255,255,.05);border-radius:16px;align-items:center;gap:14px;height:52px;margin-bottom:12px;padding:0 18px;display:flex}form label span{color:var(--dim);letter-spacing:2px;text-align:left;width:34px;font-size:13px}form input{min-width:0;color:var(--ink);font:inherit;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:0 0;border:0;outline:0;flex:1;font-size:16px}form input::placeholder{color:rgba(244,233,220,.3)}.primary{color:#2a1206;letter-spacing:4px;background:linear-gradient(#f6b467,#e07a2a);border-radius:27px;justify-content:center;align-items:center;width:100%;height:54px;margin-top:22px;font-size:16px;font-weight:600;text-decoration:none;display:flex;box-shadow:0 10px 30px rgba(240,140,50,.35)}.primary:active{transform:scale(.98)}.ghost{border:1px solid var(--line);width:100%;height:50px;color:var(--dim);letter-spacing:3px;border-radius:25px;margin-top:10px}.fine{color:rgba(244,233,220,.35);letter-spacing:1px;margin-top:18px;font-size:11px}.modal{-webkit-backdrop-filter:blur(6px);background:rgba(5,4,3,.55);justify-content:center;align-items:center;padding:24px;transition:opacity .45s;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal.hide{transform:none}.card{background:linear-gradient(170deg,rgba(52,38,28,.92),rgba(22,16,12,.94));border:1px solid rgba(241,179,106,.25);border-radius:26px;width:100%;max-width:340px;padding:26px 24px 22px;transition:transform .5s cubic-bezier(.2,.9,.3,1.2);position:relative;box-shadow:0 30px 80px rgba(0,0,0,.6)}.modal.hide .card{transform:translateY(30px)scale(.96)}.certHead{border-bottom:1px solid rgba(241,179,106,.2);justify-content:space-between;align-items:baseline;margin-bottom:8px;padding-bottom:14px;display:flex}.certHead span{font-family:var(--serif);letter-spacing:4px;font-size:20px}.certHead b{color:var(--amber);letter-spacing:1px;font-weight:400}.certHead i{font-style:normal}dl{margin:0}dl div{border-bottom:1px dashed rgba(255,255,255,.07);justify-content:space-between;padding:9px 0;font-size:14px;display:flex}dt{color:var(--dim);letter-spacing:2px}dd{letter-spacing:1px;margin:0}.seal{color:rgba(230,100,60,.75);width:64px;height:64px;font-family:var(--serif);text-align:center;letter-spacing:2px;border:2px solid rgba(220,90,50,.65);border-radius:50%;justify-content:center;align-items:center;font-size:12px;line-height:1.35;display:flex;position:absolute;bottom:86px;right:26px;transform:rotate(-14deg)}.posterWrap{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:340px;display:flex}.posterBtns{width:100%}#posterImg{width:auto;max-width:100%;max-height:calc(100vh - 210px);-webkit-touch-callout:default;user-select:auto;border-radius:18px;max-height:calc(100dvh - 210px);margin:0 auto;display:block;box-shadow:0 30px 80px rgba(0,0,0,.7)}.posterTip{color:var(--dim);letter-spacing:2px;margin-top:14px;font-size:12px}.posterBtns .primary{margin-top:10px}#toast{letter-spacing:2px;opacity:0;pointer-events:none;background:rgba(20,15,12,.8);border-radius:16px;padding:10px 18px;font-size:13px;transition:opacity .3s;position:fixed;top:40%;left:50%;transform:translate(-50%,-50%)}#toast.show{opacity:1}#poster{background:rgba(5,4,3,.86)}.trayCol{flex-direction:column;align-items:center;gap:8px;width:100%;padding:0 10px;display:none}#tray[data-show=deco] #decoTray{display:flex}.decoRow{scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x;gap:4px;max-width:100%;overflow-x:auto;overflow-y:hidden}#tray[data-show=deco] #decoTray .trayRow.decoRow{grid-template-rows:repeat(2,60px);grid-auto-columns:60px;grid-auto-flow:column;padding-right:22px;display:grid;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 22px),transparent);mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 22px),transparent)}.decoRow::-webkit-scrollbar{display:none}.dk{width:60px;height:60px;color:var(--dim);letter-spacing:0;border:1px solid transparent;border-radius:16px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:4px;font-size:10.5px;display:flex}.dk svg{fill:none;width:24px;height:24px;stroke:var(--ink);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;opacity:.85}.dk svg .f{fill:var(--ink);stroke:none}.dk svg .b{fill:#3b6fe0;stroke:none}.dk.on{color:#f6c58c;background:rgba(241,170,90,.14);border-color:rgba(241,170,90,.5)}.dk.on svg{stroke:#f6c58c}.dk.picked{color:#f6c58c}.dk.picked svg .f{fill:#f6c58c}.editRow{color:var(--dim);align-items:center;gap:12px;width:min(100%,340px);padding:6px 14px;font-size:12px;transition:opacity .3s;display:flex}.editRow.dim{opacity:.45}.editRow input{accent-color:#f1aa5a;flex:1}.delBtn{color:var(--ink);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:6px 12px;font-size:12px}.btn{min-width:46px}#dock{padding:0 2px}.btn .ic{width:42px;height:42px;font-size:17px}dd.hl{color:#f6c58c;font-family:var(--serif);font-size:15px}dd.en{color:var(--dim);letter-spacing:.5px;font-size:12px;font-style:italic}.certNote{color:rgba(244,233,220,.6);letter-spacing:1px;margin:12px 0 0;padding-right:70px;font-size:12px;line-height:1.6}.certRule{color:rgba(241,179,106,.7);letter-spacing:1px;margin:6px 0 0;font-size:11px}.seal{bottom:96px}.voiceBar{border:1px solid var(--line);width:100%;color:var(--dim);letter-spacing:1px;text-align:left;background:rgba(255,255,255,.05);border-radius:18px;align-items:center;gap:10px;margin-top:12px;padding:8px 10px;font-size:12px;display:flex}.voiceBar span{flex:1}.recBtn{border:1px solid rgba(255,120,90,.5);border-radius:19px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.recBtn i{background:#ff6a4a;border-radius:7px;width:14px;height:14px;transition:all .2s}.recBtn.rec i{background:#ff3d2a;border-radius:3px;animation:1s infinite pulse}@keyframes pulse{50%{transform:scale(.75)}}.miniBtn{color:#f6c58c;border:1px solid rgba(241,179,106,.4);border-radius:12px;flex:none;padding:6px 10px;font-size:12px}#linkBtn{height:48px;margin-top:10px}.linkRow{color:#f6c58c;word-break:break-all;user-select:all;letter-spacing:.3px;width:100%;margin-top:8px;font-size:11px}.hide2{display:none}.posterBtns.two{gap:10px;display:flex}.posterBtns.two>*{flex:1;justify-content:center;align-items:center;height:44px;margin-top:10px;font-size:14px;text-decoration:none;display:flex}#posterImg{max-height:calc(100vh - 330px);max-height:calc(100dvh - 330px)}#viewer{pointer-events:none;transition:opacity .6s;position:fixed;top:0;bottom:0;left:0;right:0}#viewer>*{pointer-events:auto}.vTop{top:calc(64px + var(--st));text-align:center;pointer-events:none;position:fixed;left:0;right:0}.vTitle{font-family:var(--serif);letter-spacing:4px;text-shadow:0 2px 20px rgba(0,0,0,.6);font-size:24px}.vSub{color:var(--dim);letter-spacing:1px;margin-top:6px;font-size:11px}.vBottom{left:24px;right:24px;bottom:calc(22px + var(--sb));text-align:center;max-width:360px;margin:0 auto;position:fixed}.vHint{color:rgba(244,233,220,.6);letter-spacing:3px;margin-bottom:-8px;font-size:12px}.playBtn{gap:12px}.wave{align-items:center;gap:3px;height:18px;display:flex}.wave i{background:#2a1206;border-radius:2px;width:3px;height:8px;animation:1s ease-in-out infinite wv}.wave i:nth-child(2){animation-delay:.15s}.wave i:nth-child(3){animation-delay:.3s}.wave i:nth-child(4){animation-delay:.45s}@keyframes wv{50%{height:18px}}.playBtn:not(.on) .wave i{animation-play-state:paused}#viewer.hide{display:none}#tray[data-show=deco] #decoTray .trayRow{display:flex}body.decoMode #hint{bottom:calc(322px + var(--sb))}.statsBar{flex-direction:column;align-items:center;gap:12px;margin-top:28px;display:flex}.statsNum{color:rgba(244,233,220,.72);letter-spacing:1px;align-items:baseline;gap:8px;font-size:13px;display:flex}.statsNum b{font-family:var(--serif);color:#f1b36a;letter-spacing:2px;text-shadow:0 0 24px rgba(241,179,106,.35);font-size:28px;font-weight:600}.rankOpen{-webkit-appearance:none;appearance:none;color:rgba(244,233,220,.85);letter-spacing:2px;cursor:pointer;backdrop-filter:blur(12px);background:rgba(20,15,12,.45);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:8px 18px;font-size:12px}.rankOpen:active{transform:scale(.98)}.rankWrap{backdrop-filter:blur(22px);background:rgba(18,14,12,.92);border:1px solid rgba(255,255,255,.08);border-radius:22px;flex-direction:column;width:min(420px,92vw);max-height:min(78vh,640px);padding:18px 16px 14px;display:flex;box-shadow:0 20px 60px rgba(0,0,0,.45)}.rankHead{font-family:var(--serif);letter-spacing:4px;justify-content:space-between;align-items:center;padding:0 4px 12px;font-size:22px;display:flex}.rankHead button{-webkit-appearance:none;appearance:none;color:rgba(244,233,220,.55);cursor:pointer;background:0 0;border:0;padding:0 6px;font-size:28px;line-height:1}.rankTabs{gap:8px;padding:0 2px 12px;display:flex}.rankTabs button{-webkit-appearance:none;appearance:none;color:rgba(244,233,220,.55);letter-spacing:2px;cursor:pointer;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:12px;flex:1;padding:9px 0;font-size:13px}.rankTabs button.on{color:#f1b36a;background:rgba(241,179,106,.14);border-color:rgba(241,179,106,.35)}.rankList{-webkit-overflow-scrolling:touch;flex:1;min-height:180px;margin:0;padding:0;list-style:none;overflow:auto}.rankList li{cursor:pointer;border-top:1px solid rgba(255,255,255,.05);grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:12px 8px;display:grid}.rankList li:active{background:rgba(255,255,255,.03)}.rankList .rk{font-family:var(--serif);color:#f1b36a;text-align:center;font-size:20px}.rankList .rk.dim{color:rgba(244,233,220,.35);font-size:16px}.rankList .meta{text-align:left;min-width:0}.rankList .nm{color:rgba(244,233,220,.92);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.rankList .sub{color:rgba(244,233,220,.42);letter-spacing:.5px;white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:11px;overflow:hidden}.rankList .vw{color:rgba(244,233,220,.55);letter-spacing:1px;white-space:nowrap;font-size:12px}.rankList .empty{text-align:center;color:rgba(244,233,220,.4);letter-spacing:1px;padding:36px 12px;font-size:13px}.rankNote{color:rgba(244,233,220,.32);letter-spacing:1px;text-align:center;margin:10px 4px 0;font-size:11px}
