:root{--bg:#0f1621;--bg-elev:#172231;--bg-elev-2:#1e2c3f;--border:#2a3a52;--text:#e6edf5;--muted:#8ea0b8;--accent:#66c0f4;--accent-2:#a77df2;--good:#5ad19a;--danger:#ff7a7a;--radius:14px}*{box-sizing:border-box;margin:0;padding:0}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:radial-gradient(1200px 600px at 50% -200px, #1b2d47 0%, var(--bg) 60%) var(--bg);min-height:100vh;color:var(--text);-webkit-font-smoothing:antialiased;flex-direction:column;font-family:Pretendard,Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif;line-height:1.55;display:flex}a{color:inherit;text-decoration:none}img{display:block}.site-header{justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:960px;margin:0 auto;padding:18px 16px;display:flex}.brand{letter-spacing:-.02em;font-size:22px;font-weight:800}.brand span{background:linear-gradient(90deg, var(--accent), var(--accent-2));color:#0000;-webkit-background-clip:text;background-clip:text}.auth{align-items:center;gap:4px;display:flex}.container{flex:1;width:100%;max-width:960px;margin:0 auto;padding:8px 16px 48px}.site-footer{width:100%;max-width:960px;color:var(--muted);margin:0 auto;padding:24px 16px 32px;font-size:12px}.btn{font:inherit;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-size:14px;font-weight:600;transition:filter .15s,background .15s;display:inline-flex}.btn:disabled{opacity:.6;cursor:progress}.btn-primary{color:#fff;background:linear-gradient(90deg,#47a6e6,#7f63e0)}.btn-primary:hover:not(:disabled){filter:brightness(1.1)}.btn-ghost{background:var(--bg-elev);border-color:var(--border);color:var(--text)}.btn-ghost:hover{background:var(--bg-elev-2)}.btn-link{color:var(--muted);background:0 0;padding:9px 8px}.btn-sm{padding:6px 10px;font-size:13px}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.section{margin-top:28px}.section h2{margin-bottom:4px;font-size:18px}.section .sub{color:var(--muted);margin-bottom:14px;font-size:14px}.muted{color:var(--muted)}.error{color:var(--danger);margin-top:10px;font-size:14px}.hero{text-align:center;padding:48px 0 24px}.hero h1{letter-spacing:-.03em;font-size:clamp(28px,6vw,44px);line-height:1.2}.hero p{color:var(--muted);max-width:560px;margin:14px auto 0}.analyze-form{gap:8px;max-width:560px;margin:28px auto 0;display:flex}.analyze-form input{background:var(--bg-elev);border:1px solid var(--border);min-width:0;color:var(--text);font:inherit;border-radius:10px;flex:1;padding:10px 14px}.analyze-form input:focus{outline:2px solid var(--accent);outline-offset:1px}.form-hint{text-align:center;color:var(--muted);margin-top:10px;font-size:13px}.steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:40px;display:grid}.steps .card h3{margin-bottom:6px;font-size:15px}.steps .card p{color:var(--muted);font-size:14px}.profile{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.avatar{border:1px solid var(--border);object-fit:cover;background:var(--bg-elev-2);border-radius:16px;width:88px;height:88px}.profile-main{flex:1;min-width:200px}.persona{color:var(--muted);font-size:15px}.type-big{letter-spacing:.04em;background:linear-gradient(90deg, var(--accent), var(--accent-2));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(44px,10vw,64px);font-weight:900;line-height:1.05}.type-title{font-size:17px;font-weight:700}.profile-actions{flex-wrap:wrap;gap:8px;display:flex}.mode-toggle{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;gap:4px;margin-top:16px;padding:4px;display:inline-flex}.mode-toggle a{color:var(--muted);border-radius:9px;padding:7px 14px;font-size:14px;font-weight:600}.mode-toggle a:hover{color:var(--text)}.mode-toggle a.active{background:var(--bg-elev-2);color:var(--text)}.axes{gap:14px;display:grid}.axis{grid-template-columns:96px 1fr 96px;align-items:center;gap:10px;font-size:14px;display:grid}.axis .side{color:var(--muted);white-space:nowrap}.axis .side.win{color:var(--text);font-weight:700}.axis .side:last-child{text-align:right}.bar{background:var(--bg-elev-2);border-radius:999px;height:10px;position:relative;overflow:hidden}.bar>span{background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:999px;position:absolute;inset:0 auto 0 0}.bar:after{content:"";background:var(--border);width:1px;position:absolute;top:0;bottom:0;left:50%}.games{gap:8px;display:grid}.game{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;grid-template-columns:28px 120px 1fr auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.game .rank{color:var(--muted);text-align:center;font-weight:700}.game img{object-fit:cover;background:var(--bg-elev-2);border-radius:6px;width:120px;height:45px}.game .name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.game .meta{color:var(--muted);font-size:13px}.game .reason{color:var(--muted);margin-top:2px;font-size:13px}.game .gtype{letter-spacing:.05em;color:var(--accent);font-weight:800}.pill{background:var(--bg-elev-2);border:1px solid var(--border);letter-spacing:.04em;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700;display:inline-block}.matches{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.match{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;align-items:center;gap:12px;padding:12px;display:flex}.match img{object-fit:cover;background:var(--bg-elev-2);border-radius:10px;width:48px;height:48px}.match-body{flex:1;min-width:0}.match-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.match-meta{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:flex}.match-actions{flex-direction:column;gap:4px;display:flex}.optin{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.optin.on{border-color:#2e6b50}.empty{text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:12px;padding:18px;font-size:14px}.pending{text-align:center;padding:72px 0}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;margin:0 auto 18px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:640px){.game{grid-template-columns:22px 1fr auto}.game img{display:none}.axis{grid-template-columns:88px 1fr 88px;gap:6px;font-size:13px}}
