:root{--win-top:#1b3fa0;--win-bot:#06124a;--win-edge:#e9eef7;--ink:#f5f1e6;--dim:#a9b6d6;--orange:#f58426;--knicks:#006bb6;--gold:#e8c122;--red:#d23a2a;--green:#4fd67a;--paper:#f5e9c8;--display:"Bungee", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--jp:"Noto Sans JP", sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--mono);background:#15110e;margin:0;overflow:hidden}#scene{width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}#ui .interactive,#ui button{pointer-events:auto}.win{background:linear-gradient(180deg, var(--win-top), var(--win-bot));border:2px solid var(--win-edge);text-shadow:2px 2px #000a;border-radius:7px;padding:12px 14px;box-shadow:inset 0 0 0 2px #0a1a55,inset 0 0 0 3px #ffffff2e,0 6px #00000059}.card{width:300px;position:absolute;top:16px;left:16px}.card .row{align-items:center;gap:10px;display:flex}.card .name{font-family:var(--display);letter-spacing:.5px;font-size:20px}.card .rank{color:var(--gold);text-transform:uppercase;letter-spacing:1.5px;font-size:11px}.stamp{border:3px solid var(--red);width:48px;height:48px;color:var(--red);background:var(--paper);font-family:var(--jp);text-shadow:none;border-radius:50%;flex:none;place-items:center;font-size:15px;font-weight:900;line-height:1;display:grid;transform:rotate(-12deg);box-shadow:0 2px #0006}.lv{font-family:var(--display);color:var(--dim);text-align:right;margin-left:auto;font-size:13px}.lv b{color:var(--ink);font-size:26px;line-height:1;display:block}.bar{background:#000a;border:1px solid #fff5;border-radius:3px;height:12px;margin-top:8px;position:relative;overflow:hidden}.bar>i{width:0;transition:width .25s;position:absolute;inset:0 auto 0 0}.bar.xp>i{background:linear-gradient(90deg, var(--orange), var(--gold))}.bar.sta>i{background:linear-gradient(90deg, #2c9c55, var(--green))}.bar>span{letter-spacing:1px;color:#fff;padding-left:6px;font-size:9px;line-height:11px;position:absolute;inset:0}.boxscore{text-align:center;border-top:1px solid #fff3;grid-template-columns:repeat(5,1fr);margin-top:10px;padding-top:6px;display:grid}.boxscore div{color:var(--dim);letter-spacing:1px;font-size:10px}.boxscore b{color:var(--ink);font-size:16px;display:block}.coins{color:var(--gold);justify-content:space-between;margin-top:8px;font-size:12px;display:flex}.clock{text-align:right;min-width:190px;position:absolute;top:16px;right:16px}.clock .time{font-family:var(--display);font-size:22px}.clock .zone{color:var(--dim);letter-spacing:1px;font-size:12px}.clock .zone em{font-family:var(--jp);color:var(--orange);margin-left:6px;font-style:normal}.banner{text-align:center;opacity:0;transition:opacity .4s,transform .4s;position:absolute;top:18%;left:50%;transform:translate(-50%)}.banner.show{opacity:1;transform:translate(-50%)translateY(-6px)}.banner .jp{font-family:var(--jp);color:var(--orange);letter-spacing:6px;text-shadow:2px 2px #000;font-size:22px;font-weight:900}.banner .en{font-family:var(--display);color:var(--paper);text-shadow:4px 4px #000,-1px -1px #000;font-size:54px;line-height:1}.banner .rule{background:repeating-linear-gradient(90deg, var(--orange) 0 18px, var(--knicks) 18px 36px);height:4px;margin-top:8px}.prompt{font-family:var(--display);opacity:0;padding:8px 16px;font-size:16px;transition:opacity .15s;position:absolute;bottom:90px;left:50%;transform:translate(-50%)}.prompt.show{opacity:1}.key{background:var(--paper);color:#111;min-width:26px;font-family:var(--mono);text-align:center;text-shadow:none;border-radius:4px;margin-right:8px;padding:2px 7px;font-weight:700;display:inline-block;box-shadow:0 3px #8a7a55}.toasts{flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute;bottom:16px;right:16px}.toast{max-width:340px;padding:8px 12px;font-size:13px;animation:.25s ease-out toastIn}.toast.out{animation:.3s forwards toastOut}@keyframes toastIn{0%{opacity:0;transform:translate(40px)}}@keyframes toastOut{to{opacity:0;transform:translate(40px)}}.help{color:var(--dim);font-size:11px;line-height:1.7;position:absolute;bottom:16px;left:16px}.help .key{min-width:20px;margin-right:4px;padding:0 5px;font-size:10px;box-shadow:0 2px #8a7a55}.mg{width:min(620px,100vw - 32px);position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.mg-head{border-bottom:1px solid #fff3;justify-content:space-between;align-items:flex-start;margin-bottom:10px;padding-bottom:8px;display:flex}.mg-title{font-family:var(--display);font-size:22px;line-height:1}.mg-jp{font-family:var(--jp);color:var(--orange);letter-spacing:3px;margin-top:3px;font-size:13px;font-weight:900}.mg-tags{gap:6px;display:flex}.mg-tags span{letter-spacing:1px;border:1px solid #fff6;border-radius:3px;padding:2px 6px;font-size:10px}.mg-tags .cost{border-color:var(--green);color:var(--green)}.mg-body{min-height:70px;position:relative}.mg-hint{color:var(--dim);margin-top:10px;font-size:11px}.mg-hint .key{margin-right:3px;padding:0 5px;font-size:10px}.mg-meter{background:#000b;border:2px solid #fff8;border-radius:4px;height:26px;margin:6px 0;position:relative;overflow:hidden}.mg-meter .zone{position:absolute;top:0;bottom:0}.mg-meter .zone.good{background:#2c9c55aa}.mg-meter .zone.perfect{background:var(--gold);box-shadow:0 0 12px var(--gold)}.mg-meter .needle{background:#fff;width:4px;margin-left:-2px;position:absolute;top:-2px;bottom:-2px;box-shadow:0 0 6px #fff,0 0 0 1px #000}.mg-meter.progress .needle{background:linear-gradient(90deg, var(--orange), var(--gold));width:0;box-shadow:none;margin:0;top:0;bottom:0;left:0}.mg-meter.v{width:34px;height:130px;margin:0}.mg-meter.v .zone{inset:auto 0}.mg-meter.v .needle{width:auto;height:4px;margin:0 0 -2px;top:auto;left:-2px;right:-2px}.mg-meter .fill{background:linear-gradient(0deg, var(--orange), var(--gold));opacity:.9;position:absolute;bottom:0;left:0;right:0}.mg-meter .line{background:#fff;height:2px;position:absolute;left:0;right:0}.mg-row{align-items:stretch;gap:16px;display:flex}.mg-col{flex-direction:column;flex:1;justify-content:center;gap:4px;display:flex}.mg-label{letter-spacing:2px;color:var(--dim);font-size:10px}.mg-bar{background:#000b;border:1px solid #fff6;border-radius:3px;height:14px;overflow:hidden}.mg-bar i{background:var(--orange);width:0;height:100%;transition:width 80ms linear;display:block}.mg-bar.time i{background:var(--knicks);width:100%}.mg-bar.grip i{background:var(--green);width:100%}.mg-program{font-family:var(--display);color:var(--gold);text-align:center;font-size:18px}.mg-reps{justify-content:center;gap:6px;margin-top:8px;display:flex}.mg-reps i{border:2px solid #fff8;border-radius:50%;width:14px;height:14px}.mg-reps i.perfect{background:var(--gold);border-color:var(--gold);box-shadow:0 0 8px var(--gold)}.mg-reps i.good{background:var(--green);border-color:var(--green)}.mg-reps i.miss{background:var(--red);border-color:var(--red)}.mg-judge{font-family:var(--display);white-space:nowrap;color:#fff;text-shadow:3px 3px #000;pointer-events:none;font-size:28px;animation:.7s ease-out forwards judge;position:absolute;top:-52px;left:50%;transform:translate(-50%)}.mg-judge.perfect{color:var(--gold)}.mg-judge.miss{color:#ff6b5a}@keyframes judge{0%{opacity:0;transform:translate(-50%,10px)scale(.7)}20%{opacity:1;transform:translate(-50%)scale(1.15)}to{opacity:0;transform:translate(-50%,-24px)scale(1)}}.mg-lanes{background:#000b;border:2px solid #fff8;border-radius:4px;height:70px;position:relative;overflow:hidden}.mg-lanes .lane{border-bottom:1px dashed #fff3;height:50%;position:relative}.mg-lanes .lane b{color:var(--dim);font-size:14px;position:absolute;top:50%;left:6px;transform:translateY(-50%)}.mg-lanes .hitline{background:var(--gold);width:4px;box-shadow:0 0 10px var(--gold);margin-left:-2px;position:absolute;top:0;bottom:0;left:8%}.mg-lanes .note{background:var(--orange);width:22px;height:22px;box-shadow:0 0 8px var(--orange);border:2px solid #fff;border-radius:50%;margin:-11px 0 0 -11px;position:absolute;top:50%}.mg-flex{text-align:center;font-family:var(--display);opacity:0;margin-top:8px;font-size:20px;transition:opacity .2s}.mg-flex.show{opacity:1;animation:.5s infinite alternate pulse}@keyframes pulse{to{color:var(--gold);transform:scale(1.08)}}.mg-seq{justify-content:center;gap:8px;margin:6px 0;display:flex}.mg-seq b{background:#000b;border:2px solid #fff8;border-radius:6px;place-items:center;width:44px;height:44px;font-size:26px;display:grid}.mg-seq b.ok{background:var(--green);color:#062;border-color:#fff}.mg-seq.shake{animation:.3s shake}@keyframes shake{25%{transform:translate(-8px)}75%{transform:translate(8px)}}.mg-count{font-family:var(--display);color:var(--paper);text-shadow:6px 6px 0 #000, 0 0 30px var(--orange);font-size:110px;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}.mg-count.pop{animation:.5s ease-out countpop}@keyframes countpop{0%{opacity:0;transform:translate(-50%,-50%)scale(1.8)}}.results{align-items:center;gap:18px;display:flex}.hanko{border:5px solid var(--red);background:var(--paper);border-radius:50%;flex:none;place-items:center;width:96px;height:96px;animation:.35s cubic-bezier(.2,1.6,.4,1) stamp;display:grid;transform:rotate(-10deg);box-shadow:0 3px #0007}.hanko b{font-family:var(--jp);color:var(--red);text-shadow:none;font-size:34px;font-weight:900}.results.fail .hanko{border-color:#555}.results.fail .hanko b{color:#444}.results.perfect .hanko{box-shadow:0 0 24px var(--gold), 0 3px 0 #0007}@keyframes stamp{0%{opacity:0;transform:rotate(-30deg)scale(2.2)}}.res-main{flex:1}.res-grade{font-family:var(--display);font-size:30px;line-height:1}.results.perfect .res-grade{color:var(--gold)}.results.fail .res-grade{color:#ff6b5a}.res-quip{color:var(--dim);margin:4px 0 8px;font-size:12px;font-style:italic}.res-lines{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:2px 14px;display:grid}.res-lines div{border-bottom:1px dotted #fff3;justify-content:space-between;font-size:12px;display:flex}.res-lines span{color:var(--dim)}.up{font-family:var(--display);color:var(--green);margin-top:6px;font-size:14px}.up small{font-family:var(--mono);color:var(--gold);margin-left:6px;font-size:10px}.up.pr{color:var(--gold)}.bubbles{position:absolute;inset:0;overflow:hidden}.bubble{background:var(--paper);color:#111;text-align:center;white-space:pre-wrap;border:2px solid #111;border-radius:10px;max-width:240px;padding:6px 10px;font-size:12px;font-weight:700;position:absolute;top:0;left:0;box-shadow:3px 3px #0008}.bubble:after{content:"";border:7px solid #0000;border-top-color:#111;border-bottom:0;margin-left:-7px;position:absolute;bottom:-9px;left:50%}.bubble.shout{font-family:var(--display);background:var(--gold);font-size:15px;font-weight:400}.menu{backdrop-filter:blur(3px);background:#05081acc;justify-content:center;align-items:flex-start;gap:12px;padding:40px;display:none;position:absolute;inset:0}.menu.show{display:flex}.menu-main{width:min(900px,100vw - 280px);height:min(640px,100vh - 80px);padding:20px 24px;overflow:auto}.menu-side{flex-direction:column;gap:12px;width:190px;display:flex}.menu-tabs{flex-direction:column;padding:8px;display:flex}.menu-tabs button{all:unset;cursor:pointer;font-family:var(--display);text-shadow:2px 2px #000a;padding:7px 8px 7px 28px;font-size:17px;position:relative}.menu-tabs button em{font-family:var(--jp);color:var(--orange);margin-left:8px;font-size:11px;font-style:normal}.menu-tabs button i{opacity:0;font-style:normal;position:absolute;left:2px}.menu-tabs button.on i,.menu-tabs button:hover i{opacity:1}.menu-tabs button.on{color:var(--gold)}.menu-foot{color:var(--dim);font-size:10px;line-height:1.9}.menu-foot .key{margin-right:4px;padding:0 4px;font-size:9px}.menu-h1{font-family:var(--display);font-size:28px;line-height:1}.menu-h2{font-family:var(--display);letter-spacing:1px;color:var(--dim);border-bottom:1px solid #fff3;margin:16px 0 8px;padding-bottom:4px;font-size:13px}.menu-h2 em{font-family:var(--jp);color:var(--orange);margin-left:6px;font-style:normal}.status-head{align-items:center;gap:18px;margin-bottom:14px;display:flex}.stamp.big{border-width:4px;width:86px;height:86px;font-size:28px}.status-head .rank{color:var(--gold);letter-spacing:1.5px;text-transform:uppercase;margin-top:4px;font-size:12px}.status-head .blurb{color:var(--dim);margin-top:4px;font-size:12px;font-style:italic}.status-head .next{margin-top:6px;font-size:11px}.status-grid{grid-template-columns:1fr 1fr 1fr;gap:20px;display:grid}.st-row{grid-template-columns:1fr 26px;align-items:center;margin-bottom:6px;font-size:12px;display:grid}.st-row b{text-align:right;font-size:15px}.st-row .bar{grid-column:1/-1;height:6px;margin-top:2px}.best{border-bottom:1px dotted #fff2;justify-content:space-between;padding:3px 0;font-size:12px;display:flex}.best em{font-family:var(--jp);color:var(--gold);margin-left:4px;font-size:11px;font-style:normal}.best.total{color:var(--gold);margin-top:6px}.warn{border:1px solid var(--red);color:#ffb3aa;background:#d23a2a33;margin-top:10px;padding:8px;font-size:11px}.skills-head{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.sp{font-family:var(--display);color:var(--gold);font-size:16px}.tree{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.branch-h{font-family:var(--display);text-align:center;color:var(--c);margin-bottom:10px;font-size:15px}.branch-h b{font-family:var(--jp);font-size:30px;line-height:1.1;display:block}.perk{all:unset;box-sizing:border-box;width:100%;text-shadow:none;background:#0008;border:2px solid #fff4;border-radius:6px;padding:8px 10px 8px 38px;font-size:12px;display:block;position:relative}.perk b{font-family:var(--display);font-size:13px;font-weight:400;display:block}.perk small{color:var(--dim);margin-top:2px;font-size:10.5px;line-height:1.35;display:block}.perk i{color:#ff8a7a;margin-top:3px;font-size:10px;font-style:normal;display:block}.perk .cost{background:#fff2;border-radius:50%;place-items:center;width:22px;height:22px;font-weight:700;display:grid;position:absolute;top:9px;left:8px}.perk.owned{border-color:var(--c);background:color-mix(in srgb, var(--c) 28%, #000a)}.perk.owned .cost{background:var(--c);color:#111}.perk.avail{border-color:var(--gold);cursor:pointer;animation:1.2s infinite alternate glow}.perk.avail:hover{background:#e8c12233}.perk.locked{opacity:.5}@keyframes glow{to{box-shadow:0 0 14px var(--gold)}}.link{background:#fff4;width:3px;height:10px;margin:0 auto}.chips{flex-direction:column;gap:6px;display:flex;position:absolute;top:216px;left:16px}.chip{background:#000b;border:1px solid #fff5;border-radius:4px;padding:4px 10px;font-size:11px}.chip.bad{border-color:var(--red);color:#ffb3aa;animation:.7s infinite alternate pulse}.chip.good{border-color:var(--green);color:#b8f5c9}.rankup{pointer-events:none;background:radial-gradient(circle,#f5842644,#000c 70%);place-items:center;animation:3.6s forwards fadeout;display:grid;position:absolute;inset:0}.rankup .inner{text-align:center}.rankup .stamp{border-width:7px;width:160px;height:160px;margin:0 auto 18px;font-size:56px;animation:.5s cubic-bezier(.2,1.6,.4,1) stamp}.rankup .t{font-family:var(--display);color:var(--gold);letter-spacing:4px;text-shadow:3px 3px #000;font-size:22px}.rankup .n{font-family:var(--display);color:var(--paper);text-shadow:5px 5px #000;font-size:64px;line-height:1}.rankup .b{color:var(--dim);margin-top:10px;font-size:14px;font-style:italic}@keyframes fadeout{0%,80%{opacity:1}to{opacity:0}}.mg-vs{font-family:var(--display);color:var(--gold);letter-spacing:1px;margin:-4px 0 8px;font-size:13px}.vs-result{font-family:var(--display);margin-top:8px;font-size:18px}.vs-result.won{color:var(--gold)}.vs-result.lost{color:#ff6b5a}.vs-result small{font-family:var(--mono);color:var(--ink);margin-top:2px;font-size:11px;display:block}.dlg{gap:16px;width:min(720px,100vw - 32px);display:none;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.dlg.show{display:flex}.dlg-portrait{border:3px solid var(--win-edge);background:radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--c) 70%, #fff), var(--c) 55%, #000 130%);border-radius:8px;flex:none;place-items:center;width:96px;height:96px;display:grid;box-shadow:inset 0 -12px 20px #0006}.dlg-portrait b{font-family:var(--jp);color:#fff;text-shadow:3px 3px #0008;font-size:46px;font-weight:900}.dlg-main{flex:1;min-width:0}.dlg-name{font-family:var(--display);font-size:18px}.dlg-name em{font-family:var(--mono);color:var(--dim);letter-spacing:1px;margin-top:2px;font-size:10px;font-style:normal;display:block}.dlg-text{min-height:42px;margin:8px 0;font-size:14px;line-height:1.5}.dlg-choices{flex-direction:column;gap:2px;display:flex}.dlg-choices button{all:unset;cursor:pointer;text-shadow:2px 2px #000a;border-radius:4px;padding:3px 8px 3px 24px;font-size:13px;position:relative}.dlg-choices button i{opacity:0;font-style:normal;position:absolute;left:4px}.dlg-choices button.on{color:var(--gold);background:#ffffff1a}.dlg-choices button.on i,.dlg-choices button:hover i{opacity:1}.dlg-choices button.off{opacity:.45;cursor:default}.dlg-choices small{color:var(--dim);margin-left:10px;font-size:10px}.nametags{position:absolute;inset:0;overflow:hidden}.nametag{white-space:nowrap;text-shadow:1px 1px #000;background:#000a;border-radius:3px;padding:2px 7px;font-size:11px;font-weight:700;position:absolute;top:0;left:0}.nametag b{margin-right:5px;font-size:10px}.nametag i{margin-left:5px;font-style:normal}.menu-sub{color:var(--dim);margin:6px 0 12px;font-size:12px;line-height:1.5}.menu-sub .key{padding:0 5px;font-size:10px}.npc-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;display:grid}.npc-card{border:1px solid #fff3;border-left:4px solid var(--c);background:#0006;border-radius:6px;gap:10px;padding:8px;display:flex}.npc-card.unknown{opacity:.55}.npc-glyph{background:var(--c);width:44px;height:44px;font-family:var(--jp);border-radius:6px;flex:none;place-items:center;font-size:24px;font-weight:900;display:grid}.npc-info{flex:1;min-width:0}.npc-name{font-family:var(--display);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.npc-fac{color:var(--dim);font-size:10px}.npc-fac b{color:var(--gold);font-weight:400}.relbar{background:#000a;border-radius:3px;height:6px;margin:5px 0 3px;position:relative}.relbar i{border-radius:3px;position:absolute;top:0;bottom:0}.relbar span{background:#fff8;width:1px;position:absolute;top:-2px;bottom:-2px;left:50%}.npc-tier{font-size:11px}.npc-tier small{color:var(--dim);margin-left:4px}.npc-meta,.npc-doing{color:var(--dim);margin-top:2px;font-size:10px}.npc-doing{color:#b8f5c9}.fac-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.fac-card{border:2px solid var(--c);background:color-mix(in srgb, var(--c) 14%, #000a);border-radius:8px;padding:12px}.fac-jp{font-family:var(--jp);color:var(--c);font-size:18px;font-weight:900}.fac-name{font-family:var(--display);font-size:18px}.fac-motto{color:var(--dim);margin:4px 0 6px;font-size:11px;font-style:italic}.fac-line{margin-top:2px;font-size:11px}.fac-head{align-items:center;gap:18px;margin-bottom:12px;display:flex}.fac-head .rank{color:var(--gold);letter-spacing:1.5px;text-transform:uppercase;margin-top:4px;font-size:12px}.fac-head .blurb{color:var(--dim);margin-top:4px;font-size:12px;font-style:italic}.fac-head .next{margin-top:6px;font-size:11px}.fac-banner{writing-mode:vertical-rl;font-family:var(--jp);background:var(--c);text-shadow:2px 2px #0008;border:3px solid #fff;border-radius:4px;padding:10px 8px;font-size:22px;font-weight:900}.status-grid.two{grid-template-columns:1fr 1.2fr}.war-live{border:2px solid var(--gold);font-family:var(--display);color:var(--gold);background:#e8c12222;margin:10px 0;padding:8px 12px;animation:.6s infinite alternate pulse}.zone-map{grid-template-columns:repeat(3,1fr);grid-template-areas:"free mirror machines""main main main""yoga bar cardio";gap:4px;margin-bottom:8px;display:grid}.zm{background:color-mix(in srgb, var(--c) 45%, #000c);border:1px solid var(--c);border-radius:4px;padding:6px;font-size:10px}.zm b{font-family:var(--display);font-size:10px;font-weight:400;display:block}.zm small{color:#fffc}.zm-free{grid-area:free}.zm-mirror{grid-area:mirror}.zm-machines{grid-area:machines}.zm-yoga{grid-area:yoga}.zm-bar{grid-area:bar}.zm-cardio{grid-area:cardio}.zm-main{--c:#444;text-align:center;grid-area:main}.pose-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.pose-grid button,.title-btns button,.item button,.hairs button{all:unset;cursor:pointer;text-align:center;font-family:var(--display);text-shadow:2px 2px #000a;background:#0006;border:2px solid #fff6;border-radius:6px;padding:8px 12px;font-size:14px}.pose-grid button:hover,.title-btns button:hover,.item button:hover:not(:disabled),.hairs button:hover{border-color:var(--gold);color:var(--gold)}.pose-grid .key{margin-right:8px;font-size:11px}.shutter{height:150px;position:relative;overflow:hidden}.shutter .target,.shutter .ring{border-radius:12px;width:110px;height:110px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.shutter .target{border:4px dashed var(--gold)}.shutter .ring{border:4px solid #fff;box-shadow:0 0 12px #fff}.flash{background:#fff;animation:.5s forwards flash;position:absolute;inset:0}@keyframes flash{to{opacity:0}}.post{gap:14px;display:flex}.post img,.polaroid img{object-fit:cover;border:6px solid #fff;border-bottom-width:22px;width:160px;height:200px;transform:rotate(-2deg);box-shadow:0 4px #0008}.post-body{flex:1;font-size:12px}.post-user{font-family:var(--display);font-size:14px}.post-user em{font-family:var(--mono);color:var(--gold);margin-left:6px;font-size:10px;font-style:normal}.post-cap{margin:6px 0;line-height:1.4}.post-stats{color:#ff8fb1;margin-bottom:6px}.post-stats b{color:var(--green)}.post-comments div,.pol-c{color:var(--dim);font-size:11px}.post-comments b,.pol-c b{color:var(--ink);margin-right:4px}.feed{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;display:grid}.polaroid img{aspect-ratio:4/5;width:100%;height:auto;transform:none}.pol-cap{margin:6px 0 2px;font-size:11px}.pol-stats{color:#ff8fb1;margin-bottom:4px;font-size:10px}.shop-main{width:min(980px,100vw - 80px)}.shop-cols{grid-template-columns:1fr 1fr;gap:20px;display:grid}.menu-h1 .jp{font-family:var(--jp);color:var(--orange);margin-left:8px;font-size:16px;font-style:normal}.item{border-bottom:1px dotted #fff2;align-items:center;gap:10px;padding:6px 0;display:flex}.item.on{background:#e8c1221a}.item-info{flex:1;font-size:12px}.item-info b{font-family:var(--display);font-size:13px;font-weight:400}.item-info em{font-family:var(--jp);color:var(--orange);font-size:10px;font-style:normal}.item-info small{color:var(--dim);font-size:10.5px;display:block}.item button{min-width:64px;padding:5px 10px;font-size:11px}.item button:disabled{opacity:.4;cursor:default}.orb{background:radial-gradient(circle at 35% 30%, #fff, var(--c) 45%, #000 120%);width:26px;height:26px;box-shadow:0 0 8px var(--c);border-radius:50%;flex:none}.orb.materia{animation:2s infinite alternate materia}@keyframes materia{to{box-shadow:0 0 18px var(--c)}}.slots{gap:10px;margin-bottom:8px;display:flex}.slot{background:#000a;border:3px solid #fff6;border-radius:50%;place-items:center;width:44px;height:44px;font-size:14px;display:grid}.slot.locked{opacity:.4}.closing{background:#000c;place-items:center;animation:.8s fadein;display:grid;position:absolute;inset:0}@keyframes fadein{0%{opacity:0}}.closing-card{text-align:center;width:min(520px,100vw - 32px);padding:24px}.closing-jp{font-family:var(--jp);color:var(--orange);font-size:56px;font-weight:900;line-height:1}.closing-t{font-family:var(--display);margin-top:6px;font-size:26px}.closing-j{color:var(--dim);margin:8px 0 14px;font-size:12px;font-style:italic}.closing-box{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.closing-box div{border:1px solid #fff3;border-radius:4px;padding:6px}.closing-box span{color:var(--dim);letter-spacing:1px;font-size:9px;display:block}.closing-box b{font-family:var(--display);font-size:20px;font-weight:400}.closing-v{margin:14px 0 4px;font-size:13px}.title{background:linear-gradient(90deg,#05081af0 0%,#05081aa0 40%,#0000 70%);place-items:center start;padding-left:7vw;display:grid;position:absolute;inset:0}.title-inner{text-align:left}.title-inner .title-btns{justify-content:flex-start}.title-jp{font-family:var(--jp);color:var(--orange);letter-spacing:16px;text-shadow:3px 3px #000;font-size:42px;font-weight:900}.title-logo{font-family:var(--display);color:var(--paper);text-shadow:6px 6px #000,0 0 40px #f5842666;font-size:clamp(64px,12vw,150px);line-height:.85}.title-sub{font-family:var(--display);letter-spacing:8px;color:var(--gold);margin-top:12px;font-size:18px}.title-btns{justify-content:center;gap:12px;margin-top:28px;display:flex}.title-btns button{padding:12px 28px;font-size:20px}.title-btns button.primary{border-color:var(--gold);color:var(--gold);background:#e8c12222}.title-foot{color:var(--dim);letter-spacing:1px;margin-top:28px;font-size:11px}.creator{width:min(420px,100vw - 32px);padding:20px 24px;position:absolute;right:6%}.creator .title-btns{justify-content:flex-start;margin-top:18px}.creator .title-btns button{padding:8px 16px;font-size:15px}.fld{letter-spacing:2px;color:var(--dim);margin-top:14px;font-size:10px;display:block}.fld input{all:unset;box-sizing:border-box;width:100%;font-family:var(--display);color:var(--ink);letter-spacing:1px;background:#000a;border:2px solid #fff6;border-radius:6px;margin-top:6px;padding:8px 10px;font-size:18px;display:block}.fld input:focus{border-color:var(--gold)}.sw{gap:8px;margin-top:6px;display:flex}.sw button{all:unset;cursor:pointer;background:var(--c);border:3px solid #fff4;border-radius:50%;width:30px;height:30px}.sw button.on{border-color:var(--gold);box-shadow:0 0 10px var(--gold)}.hairs{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.hairs button{padding:5px 9px;font-size:11px}.hairs button.on{border-color:var(--gold);color:var(--gold)}@media (width<=700px){.card{width:calc(100vw - 32px)}.clock{top:auto;bottom:110px}.status-grid,.tree,.shop-cols,.fac-grid,.status-grid.two{grid-template-columns:1fr}.menu{flex-direction:column-reverse;padding:16px}.menu-main,.menu-side{width:100%}.creator{right:auto}}#ui.hidden>:not(.title){display:none!important}html,body{touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}input{-webkit-user-select:text;user-select:text;touch-action:manipulation}.menu-close,.shop-close{all:unset;cursor:pointer;font-family:var(--display);color:var(--ink);border:2px solid #fff6;border-radius:5px;margin-top:6px;padding:3px 10px;font-size:12px;display:inline-block}.shop-close{margin:0 0 0 10px}body:not(.touch) .menu-close{display:none}.touch-layer{pointer-events:none;z-index:5;position:absolute;inset:0}.touch-layer .joy,.touch-layer .tpad{display:none}.touch-layer.stick .joy,.touch-layer.pad .tpad{display:block}.joy{left:calc(22px + env(safe-area-inset-left));bottom:calc(20px + env(safe-area-inset-bottom));pointer-events:auto;touch-action:none;background:radial-gradient(circle,#0000 40%,#0008 41%,#0006);border:2px solid #fff5;border-radius:50%;width:128px;height:128px;position:absolute}.joy .knob{background:var(--paper);border-radius:50%;width:58px;height:58px;margin:-29px 0 0 -29px;position:absolute;top:50%;left:50%;box-shadow:0 3px #8a7a55,0 0 14px #0008}.tpad{left:calc(18px + env(safe-area-inset-left));bottom:calc(16px + env(safe-area-inset-bottom));width:170px;height:170px;position:absolute}.tpad .tbtn{border-radius:12px;width:58px;height:58px;font-size:20px;position:absolute}.tpad .a-u{top:0;left:56px}.tpad .a-d{bottom:0;left:56px}.tpad .a-l{top:56px;left:0}.tpad .a-r{top:56px;right:0}.tbtns{right:calc(20px + env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));flex-direction:row-reverse;align-items:flex-end;gap:12px;display:flex;position:absolute}.tbtn{all:unset;box-sizing:border-box;pointer-events:auto;touch-action:none;text-align:center;background:linear-gradient(180deg, var(--win-top), var(--win-bot));border:2px solid var(--win-edge);width:60px;height:60px;font-family:var(--display);color:var(--ink);text-shadow:2px 2px #000a;border-radius:50%;place-items:center;font-size:13px;display:grid;box-shadow:0 4px #0008}.tbtn.big{background:radial-gradient(circle at 40% 30%, #ffb35c, var(--orange) 55%, #a24a05);border-color:#fff;width:92px;height:92px;font-size:17px}.tbtn.on{filter:brightness(1.25);transform:translateY(3px)scale(.94);box-shadow:0 1px #0008}.rotate-hint,body.touch .help{display:none}body.touch .prompt{cursor:pointer;bottom:calc(22px + env(safe-area-inset-bottom))}body.touch .prompt.show{pointer-events:auto}body.touch .toasts{bottom:auto;right:50%;top:calc(8px + env(safe-area-inset-top));align-items:center;transform:translate(50%)}body.touch .toast{max-width:46vw;padding:6px 10px;font-size:11px}body.touch .card{left:calc(10px + env(safe-area-inset-left))}body.touch .clock{right:calc(10px + env(safe-area-inset-right))}body.touch[data-tmode=lift] .card,body.touch[data-tmode=lift] .clock,body.touch[data-tmode=lift] .chips,body.touch[data-tmode=selfie] .card,body.touch[data-tmode=selfie] .clock,body.touch[data-tmode=selfie] .chips{display:none}body.touch .mg{top:calc(8px + env(safe-area-inset-top));width:min(560px,100vw - 24px);bottom:auto}body.touch .mg-count{top:55%}@media (orientation:portrait){body.touch .rotate-hint{text-align:center;pointer-events:auto;font-family:var(--display);color:var(--paper);background:#05081af2;place-content:center;gap:8px;font-size:20px;display:grid;position:absolute;inset:0}.rotate-hint b{color:var(--orange);font-size:64px;animation:2s ease-in-out infinite spin}.rotate-hint small{font-family:var(--jp);color:var(--dim);font-size:14px}}@keyframes spin{50%{transform:rotate(90deg)}}@media (height<=520px){.card{width:200px;padding:7px 9px;top:8px}.card .name{font-size:14px}.card .rank{font-size:9px}.card .stamp{border-width:2px;width:34px;height:34px;font-size:11px}.card .lv b{font-size:18px}.card .boxscore{display:none}.bar{height:9px;margin-top:5px}.bar>span{font-size:7px;line-height:8px}.coins{margin-top:5px;font-size:10px}.chips{gap:4px;top:124px;left:10px}.chip{padding:2px 7px;font-size:9px}.clock{min-width:0;padding:6px 10px;top:8px}.clock .time{font-size:13px}.clock .zone{font-size:9px}.banner .en{font-size:30px}.banner .jp{font-size:14px}.prompt{padding:6px 12px;font-size:12px}.mg{padding:8px 12px}.mg-head{margin-bottom:6px;padding-bottom:5px}.mg-title{font-size:15px}.mg-jp,.mg-hint{font-size:9px}.mg-hint{margin-top:5px}.mg-meter{height:20px;margin:4px 0}.mg-meter.v{width:28px;height:90px}.mg-lanes{height:54px}.mg-seq b{width:34px;height:34px;font-size:20px}.mg-program{font-size:14px}.mg-count{font-size:70px}.mg-judge{font-size:20px;top:auto;bottom:-34px}.hanko{border-width:3px;width:60px;height:60px}.hanko b,.res-grade{font-size:20px}.res-quip{margin:2px 0 4px;font-size:10px}.res-lines div{font-size:10px}.up{margin-top:3px;font-size:11px}.vs-result{font-size:13px}.shutter{height:100px}.shutter .target,.shutter .ring{width:76px;height:76px}.post img{border-width:4px 4px 14px;width:100px;height:125px}.post-body{font-size:10px}.dlg{gap:10px;width:min(720px,100vw - 16px);padding:8px 10px;bottom:8px}.dlg-portrait{width:56px;height:56px}.dlg-portrait b{font-size:28px}.dlg-name{font-size:14px}.dlg-text{min-height:0;margin:4px 0;font-size:12px}.dlg-choices button{padding:4px 8px 4px 22px;font-size:12px}.menu{padding:8px calc(8px + env(safe-area-inset-right)) 8px calc(8px + env(safe-area-inset-left));gap:8px}.menu-main{width:calc(100vw - 190px);height:calc(100vh - 16px);padding:12px 14px}.menu-side{gap:8px;width:150px}.menu-tabs button{padding:4px 6px 4px 22px;font-size:13px}.menu-foot{font-size:9px}.menu-h1{font-size:20px}.shop-main{width:calc(100vw - 16px)}.rankup .stamp{width:90px;height:90px;margin-bottom:10px;font-size:32px}.rankup .n{font-size:36px}.rankup .t{font-size:14px}.closing-card{padding:12px}.closing-jp{font-size:34px}.closing-t{font-size:17px}.closing-box b{font-size:15px}.title{padding-left:calc(5vw + env(safe-area-inset-left))}.title-jp{letter-spacing:8px;font-size:22px}.title-logo{font-size:58px}.title-sub{letter-spacing:5px;margin-top:6px;font-size:11px}.title-btns{margin-top:14px}.title-btns button{padding:9px 18px;font-size:15px}.title-foot{margin-top:12px;font-size:9px}.creator{max-height:calc(100vh - 16px);right:calc(3% + env(safe-area-inset-right));padding:12px 16px;overflow:auto}.fld{margin-top:8px}.fld input{padding:6px 8px;font-size:16px}.sw button{width:26px;height:26px}.bubble{padding:4px 8px;font-size:10px}.nametag{font-size:9px}}body.touch .dlg-choices button{padding-top:7px;padding-bottom:7px}body.touch .menu-tabs button{padding-top:8px;padding-bottom:8px}body.touch .desk-only{display:none}body.touch .menu-close{box-sizing:border-box;text-align:center;width:100%;margin-top:0;padding:8px}
