:root{--ink: #0a0d16;--ink-2: #10151f;--panel: #161c28;--panel-2: #1c2331;--line: #262e3d;--text: #e8ecf3;--muted: #8b94a6;--lime: #bfff5a;--blue: #1a67fd;--tier: #6b7280;--radius: 16px;--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: "JetBrains Mono", "SF Mono", ui-monospace, Menlo, monospace}*{box-sizing:border-box}html,body{margin:0;background:radial-gradient(1200px 600px at 50% -10%,#16203a 0%,transparent 60%),var(--ink);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}a{color:inherit}.app{max-width:860px;margin:0 auto;padding:0 20px 60px;min-height:100vh;display:flex;flex-direction:column}.top{display:flex;align-items:center;gap:16px;padding:18px 0;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.logo{font-size:26px}.wordmark{font-weight:800;font-size:22px;letter-spacing:-.02em}.tabs{display:flex;gap:4px;margin-left:auto}.tabs button{background:transparent;border:0;color:var(--muted);font-weight:600;font-size:15px;padding:8px 14px;border-radius:10px;transition:color .15s,background .15s}.tabs button:hover{color:var(--text)}.tabs button.on{color:var(--ink);background:var(--lime)}.locale{display:flex;gap:2px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:3px}.locale button{background:transparent;border:0;color:var(--muted);font-weight:700;font-size:12px;padding:5px 8px;border-radius:7px}.locale button.on{background:var(--panel-2);color:var(--text)}main{flex:1}.play{text-align:center;padding-top:12px}.tagline{color:var(--muted);font-size:16px;max-width:480px;margin:0 auto 28px;line-height:1.5}.stage{--tier: #6b7280;display:inline-block;padding:22px 20px;border-radius:20px;background:linear-gradient(180deg,#0c101a,#060810);border:1px solid var(--line);box-shadow:inset 0 2px 20px #0009;transition:box-shadow .6s,border-color .6s}.stage.glow{border-color:var(--tier);box-shadow:0 0 40px -6px var(--tier),inset 0 2px 20px #0009}.odometer{display:flex;gap:6px;justify-content:center}.odometer.is-loading{filter:blur(1.5px)}.reel{width:52px;height:76px;overflow:hidden;border-radius:10px;background:linear-gradient(180deg,#1b2333,#0e131d);border:1px solid #2a3346;position:relative;box-shadow:inset 0 6px 12px #000000b3,inset 0 -6px 12px #000000b3}.reel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,transparent 32%,transparent 68%,rgba(0,0,0,.55) 100%)}.reel-strip{display:flex;flex-direction:column}.digit{height:76px;line-height:76px;font-family:var(--mono);font-weight:700;font-size:46px;color:var(--lime);text-align:center;text-shadow:0 0 12px rgba(191,255,90,.35)}.reel.is-lead .digit{color:#39435a;text-shadow:none}@media(max-width:560px){.reel{width:38px}.digit{font-size:34px}.top{gap:10px 10px}.brand{order:1}.locale{order:2;margin-left:auto}.account-chip{order:2}.tabs{order:3;flex-basis:100%;width:100%;margin-left:0;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:4px}.tabs button{flex:1;text-align:center;padding:10px 0}}.cta{display:block;width:fit-content;margin:30px auto 0;background:var(--lime);color:var(--ink);border:0;font-weight:800;font-size:22px;letter-spacing:.04em;padding:18px 56px;border-radius:14px;box-shadow:0 0 #bfff5a80;animation:pulse 2.4s infinite;transition:transform .1s}.cta:hover{transform:translateY(-2px)}.cta:active{transform:translateY(0)}@keyframes pulse{0%{box-shadow:0 0 #bfff5a73}70%{box-shadow:0 0 0 18px #bfff5a00}to{box-shadow:0 0 #bfff5a00}}.rolling{margin-top:30px;font-family:var(--mono);color:var(--lime);font-size:18px;letter-spacing:.1em}.result{margin-top:28px}.tier-line{display:flex;align-items:center;justify-content:center;gap:14px}.tier-chip{color:var(--ink);font-weight:800;font-size:14px;letter-spacing:.06em;text-transform:uppercase;padding:6px 14px;border-radius:999px}.ep{font-family:var(--mono);font-size:20px;font-weight:700}.percentile{color:var(--muted);font-size:14px;margin:8px 0 24px}.reveal-h{font-size:15px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 16px}.no-badges{color:var(--muted);font-style:italic}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;max-width:640px;margin:0 auto}.badge-card{--tier: #6b7280;background:var(--panel);border:1px solid var(--tier);border-radius:14px;padding:16px 12px;display:flex;flex-direction:column;align-items:center;gap:5px;box-shadow:0 0 20px -10px var(--tier)}.badge-emoji{font-size:34px;line-height:1}.badge-name{font-weight:700;font-size:15px}.badge-desc{color:var(--muted);font-size:12px;line-height:1.35}.badge-ep{margin-top:4px;font-family:var(--mono);font-size:12px;color:var(--tier);font-weight:700}.share-row{display:flex;justify-content:center;margin-top:26px}.share-btn{display:inline-flex;align-items:center;gap:9px;background:transparent;color:var(--lime);border:1px solid var(--lime);border-radius:12px;font-weight:800;font-size:15px;letter-spacing:.03em;padding:12px 26px;transition:background .15s,color .15s,transform .1s}.share-btn:hover{background:var(--lime);color:var(--ink);transform:translateY(-1px)}.share-btn:active{transform:translateY(0)}.share-btn:disabled{opacity:.5;cursor:default;transform:none}.share-ico{font-size:17px;line-height:1}.next-roll{margin:34px auto 0;max-width:320px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.cd-label{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.08em}.cd-clock{font-family:var(--mono);font-size:40px;font-weight:700;color:var(--lime);margin:4px 0;letter-spacing:.02em}.cd-note{color:var(--muted);font-size:13px}.statsbar{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:34px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 18px;min-width:74px;display:flex;flex-direction:column;gap:2px}.stat-val{font-family:var(--mono);font-size:22px;font-weight:700}.stat-label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.badges,.ranking{padding-top:10px}.badges h2,.ranking h2{font-size:26px;margin:6px 0}.intro{color:var(--muted);max-width:620px;line-height:1.5;margin:0 0 26px}.loading{color:var(--muted);font-family:var(--mono)}.tier-shares{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:28px}.tier-shares h3{margin:0 0 12px;font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.shares-bar{display:flex;height:20px;border-radius:999px;overflow:hidden;background:var(--ink-2)}.share-seg{height:100%;min-width:2px}.shares-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}.legend-item{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);font-family:var(--mono)}.legend-item i{width:11px;height:11px;border-radius:3px;display:inline-block}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.cat-card{--tier: #6b7280;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--tier);border-radius:12px;padding:14px}.cat-top{display:flex;justify-content:space-between;align-items:center}.cat-emoji{font-size:28px}.cat-rarity{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.cat-name{font-weight:700;font-size:16px;margin:8px 0 2px}.cat-desc{color:var(--muted);font-size:13px;line-height:1.4;min-height:36px}.cat-foot{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;font-family:var(--mono);font-size:11px;color:var(--muted)}.cat-ep{color:var(--text);font-weight:700}.scope-toggle{display:inline-flex;gap:3px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:3px;margin-bottom:18px}.scope-toggle button{background:transparent;border:0;color:var(--muted);font-weight:600;padding:7px 16px;border-radius:7px}.scope-toggle button.on{background:var(--panel-2);color:var(--text)}.board{width:100%;border-collapse:collapse}.board th{text-align:left;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em;padding:8px 10px;border-bottom:1px solid var(--line)}.board td{padding:11px 10px;border-bottom:1px solid var(--ink-2);font-size:15px}.board .rk{font-family:var(--mono);color:var(--muted);width:40px}.board .epc,.board .num{font-family:var(--mono);font-weight:700}.board tr.mine{background:#bfff5a0f}.you-tag{margin-left:8px;font-size:10px;font-weight:800;text-transform:uppercase;background:var(--lime);color:var(--ink);padding:2px 6px;border-radius:6px}.empty{color:var(--muted)}.foot{text-align:center;margin-top:50px;padding-top:24px;border-top:1px solid var(--line)}.foot a{color:var(--muted);font-size:13px;text-decoration:none}.foot a:hover{color:var(--text)}.account-chip{display:flex;align-items:center;justify-content:center;gap:8px;width:38px;height:38px;padding:0;border-radius:50%;background:var(--panel);border:1px solid var(--line);color:var(--text);transition:border-color .15s,color .15s,transform .1s}.account-chip.is-user{width:auto;height:38px;padding:0 14px 0 11px;border-radius:20px;border-color:#bfff5a66;color:var(--lime)}.account-chip:hover{border-color:var(--lime);color:var(--lime);transform:translateY(-1px)}.account-chip.on{border-color:var(--lime);color:var(--lime);box-shadow:0 0 0 1px var(--lime)}.account-glyph{display:flex;line-height:1}.account-glyph svg{width:20px;height:20px;display:block}.account-nick{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;font-size:14px;color:var(--text)}.profile{padding-top:8px}.profile h2{font-size:28px;letter-spacing:-.02em;margin:6px 0 20px}.account-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px}.acct-head{display:flex;align-items:center;gap:14px}.acct-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid var(--lime)}.acct-glyph{font-size:34px;line-height:1}.acct-name{display:flex;flex-direction:column;font-weight:800;font-size:20px}.acct-name small{color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.acct-lead{color:var(--text);line-height:1.55;margin:16px 0 4px}.auth-form{display:flex;flex-direction:column;gap:14px;margin:16px 0 4px}.auth-tabs{display:flex;gap:6px;padding:4px;background:#ffffff08;border:1px solid var(--line);border-radius:12px}.auth-tabs button{flex:1;background:transparent;color:var(--muted);border:0;border-radius:9px;font-weight:700;font-size:14px;padding:9px 12px;cursor:pointer;transition:background .15s,color .15s}.auth-tabs button.active{background:var(--lime);color:#0b0f0a}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field>span{color:var(--muted);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.auth-field input{width:100%;background:#ffffff08;border:1px solid var(--line);border-radius:10px;color:var(--text);font-size:16px;padding:11px 13px;transition:border-color .15s,box-shadow .15s}.auth-field input:focus{outline:none;border-color:var(--lime);box-shadow:0 0 0 3px #bfff5a2e}.auth-field input::placeholder{color:var(--muted);opacity:.7}.auth-hint{color:var(--muted);font-size:12px}.auth-error{margin:-2px 0 0;padding:10px 13px;border-radius:10px;background:#ff5a5a14;border:1px solid rgba(255,90,90,.32);color:#ff9b9b;font-size:13.5px;line-height:1.5}.login-btn{margin:20px auto 8px;font-size:18px;padding:14px 40px}.auth-form .login-btn{width:100%;margin:2px 0 0}.auth-form .login-btn:disabled{opacity:.6;cursor:default}.acct-warn{color:var(--muted);font-size:13.5px;line-height:1.5;margin:10px 0 0}.ghost-btn{margin-top:16px;background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:10px;font-weight:700;font-size:14px;padding:9px 18px;transition:color .15s,border-color .15s}.ghost-btn:hover{color:var(--text);border-color:var(--muted)}.no-reset{margin-top:20px;padding:14px 16px;border-radius:12px;background:#bfff5a0f;border:1px solid rgba(191,255,90,.28);border-left:3px solid var(--lime)}.no-reset strong{display:block;color:var(--lime);font-size:14px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.no-reset p{margin:0;color:var(--text);font-size:14px;line-height:1.55}.collection{margin-top:34px}.collection-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.collection-head h3{font-size:20px;margin:0}.collection-count{font-family:var(--mono);color:var(--muted);font-size:14px}.collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}.coll-card{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;padding:14px 8px;border-radius:12px;background:var(--panel);border:1px solid var(--line)}.coll-card.earned{border-color:color-mix(in srgb,var(--tier) 55%,var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tier) 30%,transparent)}.coll-card.locked{opacity:.5;filter:grayscale(.6)}.coll-emoji{font-size:26px;line-height:1}.coll-name{font-size:12.5px;font-weight:600;line-height:1.25}.coll-card.locked .coll-name{color:var(--muted)}.coll-ep{font-family:var(--mono);font-size:11px;color:var(--tier);font-weight:700}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);background:var(--panel-2);border:1px solid var(--line);border-left:3px solid var(--lime);color:var(--text);font-weight:600;font-size:14px;padding:12px 20px;border-radius:12px;box-shadow:0 10px 40px #00000073;z-index:50;max-width:90vw}.app-foot{margin-top:40px;padding:20px 0 8px;text-align:center}.app-foot a{color:var(--muted, #6B7280);font-size:13px;text-decoration:none;border-bottom:1px dotted currentColor}.app-foot a:hover{color:var(--lime, #BFFF5A)}.acct-since{color:var(--muted);font-size:13px;margin:2px 0 14px}.best-roll{display:flex;align-items:center;gap:14px;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--tier);border-radius:var(--radius);padding:16px 20px;margin-top:20px;text-decoration:none;color:inherit;transition:border-color .15s,transform .1s}.best-roll:hover{transform:translateY(-1px);border-color:var(--tier)}.best-label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.best-num{font-family:var(--mono);font-size:30px;font-weight:800;color:var(--tier);margin-left:auto}.best-meta{display:flex;align-items:center;gap:10px}.best-chip{color:var(--ink);font-weight:800;font-size:11px;letter-spacing:.05em;padding:3px 10px;border-radius:999px}.best-ep{font-family:var(--mono);font-weight:700;font-size:14px}.history{margin-top:30px}.history-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.history-head h3{margin:0;font-size:16px}.history-count{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.history-list{display:flex;flex-direction:column;gap:8px}.hist-row{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--tier);border-radius:12px;padding:12px 16px;text-decoration:none;color:inherit;transition:border-color .15s,transform .1s}.hist-row:hover{transform:translateY(-1px);border-color:var(--tier)}.hist-num{font-family:var(--mono);font-size:20px;font-weight:800;color:var(--tier)}.hist-date{color:var(--muted);font-size:13px}.hist-right{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.hist-ep{font-family:var(--mono);font-weight:700;font-size:14px}.hist-badges{color:var(--muted);font-size:12px}.danger-zone{margin-top:40px}.danger-zone h3{color:#ff6b6b;font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 12px}.danger-card{background:#ff6b6b0d;border:1px solid rgba(255,107,107,.3);border-radius:var(--radius);padding:20px}.danger-card strong{display:block;color:#ff8585;font-size:16px;margin-bottom:6px}.danger-card p{color:var(--muted);line-height:1.5;margin:0 0 16px;font-size:14px}.danger-btn{background:transparent;color:#ff6b6b;border:1px solid rgba(255,107,107,.5);border-radius:10px;padding:11px 20px;font-weight:700;font-size:14px;cursor:pointer;transition:background .15s,border-color .15s}.danger-btn:hover:not(:disabled){background:#ff6b6b1f;border-color:#ff6b6b}.danger-btn:disabled{opacity:.4;cursor:not-allowed}.danger-confirm{display:flex;flex-direction:column;gap:10px}.danger-confirm label{color:var(--text);font-size:14px;font-weight:600}.auth-input{width:100%;box-sizing:border-box;background:var(--panel);border:1px solid rgba(255,107,107,.35);border-radius:10px;color:var(--text);font-size:15px;padding:12px 14px;outline:none;transition:border-color .15s,box-shadow .15s}.auth-input::placeholder{color:var(--muted)}.auth-input:focus{border-color:#ff6b6b;box-shadow:0 0 0 3px #ff6b6b26}.danger-actions{display:flex;flex-direction:column;gap:10px;align-items:stretch}.danger-actions .ghost-btn,.danger-actions .danger-btn{width:100%;justify-content:center}.share-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#04060cb8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px}.share-modal{position:relative;width:100%;max-width:440px;max-height:90vh;overflow-y:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:28px 24px 24px;box-shadow:0 24px 80px #0009}.share-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:var(--ink-2);color:var(--muted);font-size:14px;cursor:pointer;line-height:1}.share-close:hover{color:var(--text);border-color:var(--muted)}.share-modal-title{margin:0 0 16px;font-size:20px}.share-copy-block{display:flex;flex-direction:column;gap:6px;background:var(--ink-2);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:16px}.share-copy-text{color:var(--text);font-size:15px;line-height:1.45}.share-copy-link{color:var(--lime);font-family:var(--mono);font-size:13px;word-break:break-all;text-decoration:none}.share-copy-link:hover{text-decoration:underline}.share-preview{display:block;width:100%;max-width:300px;margin:0 auto 14px;border-radius:14px;border:1px solid var(--line)}.share-modal-hint{color:var(--muted);font-size:13px;line-height:1.45;margin:0 0 18px;text-align:center}.share-modal-actions{display:flex;flex-direction:column;gap:10px}.share-modal-actions .cta,.share-modal-actions .ghost-btn{width:100%;margin:0}.share-primary{transition:background .15s}
