:root{--ink: rgba(16, 20, 30, .72);--ink-solid: #121724;--line: rgba(232, 200, 119, .28);--gold: #e8c877;--paper: #f1ead8;--dim: rgba(241, 234, 216, .62);--serif: "Noto Serif SC", "Songti SC", "STSong", "Source Han Serif SC", serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:#0b0f1c;color:var(--paper);font-family:var(--serif)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}#c{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}#fade{position:fixed;inset:0;background:#0b0f1c;opacity:0;pointer-events:none;transition:opacity .45s;z-index:30}#fade.on{opacity:1}#gate{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:16px;background:radial-gradient(ellipse at center,#080b1659,#080b16d1);transition:opacity .6s}#gate.out{opacity:0;pointer-events:none}.gate-card{text-align:center;width:min(360px,100%)}.gate-kicker{margin:0;color:var(--gold);letter-spacing:.5em;font-size:13px;padding-left:.5em}#gate h1{margin:10px 0 6px;font-size:clamp(46px,13vw,68px);font-weight:900;letter-spacing:.12em;padding-left:.12em;text-shadow:0 2px 30px rgba(255,190,110,.45)}.gate-verse{margin:0 0 30px;color:var(--dim);letter-spacing:.3em}.gate-name{display:flex;align-items:center;gap:8px;background:var(--ink);border:1px solid var(--line);border-radius:12px;padding:6px 6px 6px 14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.gate-name span{color:var(--dim);font-size:14px;white-space:nowrap}.gate-name input{flex:1;min-width:0;background:none;border:0;outline:0;font-size:18px;text-align:center}.gate-name button{background:none;border:1px solid var(--line);border-radius:8px;color:var(--gold);padding:6px 12px}#enter{margin-top:14px;width:100%;padding:14px;font-size:20px;font-weight:600;letter-spacing:.4em;padding-left:calc(14px + .4em);color:#2a1a06;background:linear-gradient(#f3d58c,#d9a94a);border:0;border-radius:12px;box-shadow:0 6px 30px #ffb4504d}#enter:active{transform:translateY(1px)}.gate-note{color:var(--dim);font-size:12px;margin-top:14px}#hud[hidden]{display:none}.top{position:fixed;top:calc(12px + env(safe-area-inset-top));display:flex;gap:6px;z-index:5}.top.left{left:12px}.top.right{right:12px}.chip{background:var(--ink);border:1px solid var(--line);border-radius:999px;padding:7px 13px;font-size:14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.chip.plain{color:var(--gold);border-color:transparent}.chip.plain.off{color:var(--dim)}.chip.plain+.chip.plain{margin-left:-12px}.chip.on{background:#e8c877eb;color:#2a1a06}#hint{position:fixed;top:calc(58px + env(safe-area-inset-top));left:0;right:0;text-align:center;margin:0;font-size:13px;color:var(--dim);text-shadow:0 1px 6px #000;pointer-events:none;transition:opacity 1s}#hint.gone{opacity:0}#toast{position:fixed;left:50%;top:22%;transform:translate(-50%);background:var(--ink);border:1px solid var(--line);border-radius:12px;padding:10px 18px;font-size:15px;letter-spacing:.08em;opacity:0;transition:opacity .4s;pointer-events:none;text-align:center;max-width:86vw;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:6}#toast.on{opacity:1}#bar{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translate(-50%);display:flex;gap:4px;padding:6px;background:var(--ink);border:1px solid var(--line);border-radius:18px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:5}#bar button{background:none;border:0;border-radius:12px;padding:6px 12px;display:grid;gap:3px;justify-items:center;font-size:12px;color:var(--dim);min-width:62px}#bar i{font-style:normal;font-weight:900;font-size:18px;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;color:var(--gold);border:1.5px solid var(--gold)}#bar button.on{background:#e8c87724;color:var(--paper)}#bar button.on i{background:var(--gold);color:#2a1a06}#ctx{position:fixed;left:50%;bottom:calc(104px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:5;background:linear-gradient(#f3d58c,#d9a94a);color:#2a1a06;border:0;border-radius:999px;padding:10px 22px;font-weight:600;font-size:16px;letter-spacing:.15em;box-shadow:0 4px 22px #ffb45059}#ctx[hidden]{display:none}.panel{position:fixed;z-index:10;right:16px;top:50%;transform:translateY(-50%);width:min(330px,calc(100vw - 32px));max-height:calc(100dvh - 140px);overflow:auto;background:var(--ink);border:1px solid var(--line);border-radius:18px;padding:14px 16px 16px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.panel[hidden]{display:none}.panel header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.panel h2{margin:0;font-size:18px;letter-spacing:.2em;color:var(--gold)}.panel .x{background:none;border:0;font-size:24px;line-height:1;color:var(--dim);padding:2px 8px}.tip{color:var(--dim);font-size:12px;line-height:1.7;margin:10px 0 0;text-align:center}.row{display:flex;gap:8px;justify-content:center;align-items:center}.btn{background:linear-gradient(#f3d58c,#d9a94a);color:#2a1a06;border:0;border-radius:10px;padding:8px 18px;font-weight:600}.btn.ghost{background:none;color:var(--gold);border:1px solid var(--line)}.btn.ghost.on{background:#e8c877e6;color:#2a1a06}.count{text-align:center;margin:2px 0 10px;color:var(--dim)}.count b{font-size:30px;color:var(--paper);font-weight:600;margin-right:4px;font-variant-numeric:tabular-nums}.muyu-stage{position:relative;display:grid;place-items:center;height:190px;cursor:pointer;-webkit-user-select:none;user-select:none}#muyu{width:200px;transition:transform .08s}#muyu.hit{transform:scale(.95)}#mallet{transform-origin:190px 0;transition:transform .07s}#muyu.hit #mallet{transform:rotate(-9deg)}.plus{position:absolute;left:50%;top:34%;color:var(--gold);font-size:15px;pointer-events:none;animation:rise 1s ease-out forwards;white-space:nowrap}@keyframes rise{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-70px)}}.beads-stage{position:relative;height:270px;display:grid;place-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none}#beads{width:260px;height:260px}#beads g{transition:transform .28s cubic-bezier(.3,1.3,.5,1)}.beads-mid{position:absolute;text-align:center;pointer-events:none;display:grid}.beads-mid b{font-size:40px;font-weight:600;font-variant-numeric:tabular-nums}.beads-mid span,.beads-mid em{color:var(--dim);font-size:13px;font-style:normal}#wish-text{width:100%;background:#0000004d;border:1px solid var(--line);border-radius:10px;padding:10px;resize:none;outline:0}.colors{margin:10px 0;justify-content:flex-start}.colors button[data-c]{width:28px;height:28px;border-radius:50%;border:2px solid transparent;background:var(--c);box-shadow:0 0 12px var(--c)}.colors button.on{border-color:#fff}.colors .btn{margin-left:auto}#wish-list,#map-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}#wish-list li{display:flex;gap:8px;align-items:baseline;font-size:14px;line-height:1.5;padding:6px 2px;border-top:1px solid rgba(255,255,255,.07)}#wish-list li:before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:var(--c);box-shadow:0 0 8px var(--c)}#wish-list small{color:var(--dim);margin-left:auto;white-space:nowrap}#map-list button{width:100%;text-align:left;background:#00000038;border:1px solid transparent;border-radius:10px;padding:9px 12px;display:grid;gap:2px}#map-list button:hover{border-color:var(--line)}#map-list b{color:var(--gold);letter-spacing:.1em}#map-list span{color:var(--dim);font-size:13px}#merit-list{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:0}#merit-list div{background:#00000038;border-radius:10px;padding:10px 6px;text-align:center}#merit-list dt{color:var(--dim);font-size:13px}#merit-list dd{margin:2px 0 0;font-size:24px;font-variant-numeric:tabular-nums}.set{display:grid;gap:12px;font-size:14px}.set label{display:flex;align-items:center;gap:8px}.set input[type=range]{flex:1;min-width:0;accent-color:var(--gold);margin-left:auto;max-width:130px}.set input[type=checkbox]{accent-color:var(--gold);width:16px;height:16px}.set select{margin-left:auto;background:#0000004d;border:1px solid var(--line);border-radius:8px;padding:5px 8px}@media(max-width:640px){.panel{right:50%;top:auto;bottom:calc(100px + env(safe-area-inset-bottom));transform:translate(50%);max-height:calc(100dvh - 190px)}.top.right .chip{padding:7px 10px}#shichen{display:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
