*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{min-height:100dvh;background:var(--bg);color:var(--ink);font-family:Inter Variable,Noto Sans KR Variable,Noto Sans JP Variable,system-ui,sans-serif;font-size:15px;line-height:1.45}html[lang=ko] body{font-family:Noto Sans KR Variable,Inter Variable,Noto Sans JP Variable,system-ui,sans-serif}html[lang=ja] body{font-family:Noto Sans JP Variable,Inter Variable,Noto Sans KR Variable,system-ui,sans-serif}a{text-decoration:none}a,button{color:inherit}button{font:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--cy);outline-offset:2px}.q-bg{position:fixed;inset:0;overflow:hidden;z-index:-1;pointer-events:none}.q-bg i{position:absolute;width:340px;height:340px;border-radius:50%;filter:blur(70px);opacity:.5;animation:q-float 9s ease-in-out infinite}.q-bg i:first-child{background:var(--pri);left:-120px;top:-80px}.q-bg i:nth-child(2){background:var(--cy);right:-160px;top:38vh;animation-delay:-3s;opacity:.34}.q-bg i:nth-child(3){background:var(--pk);left:-60px;bottom:-140px;animation-delay:-6s;opacity:.36}.q-bg:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 0);background-size:34px 34px;-webkit-mask-image:radial-gradient(circle at 50% 30%,#000 20%,transparent 75%);mask-image:radial-gradient(circle at 50% 30%,#000 20%,transparent 75%)}@keyframes q-float{0%,to{transform:translate(0) scale(1)}50%{transform:translate(40px,50px) scale(1.15)}}@keyframes q-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes q-grow{0%{width:0}}@keyframes q-pop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.06)}to{transform:scale(1);opacity:1}}@keyframes q-slide{0%{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}@keyframes q-shine{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes q-spin{to{transform:rotate(1turn)}}@keyframes q-skel{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes q-fall{0%{transform:translateY(-30px) rotate(0);opacity:1}to{transform:translateY(90dvh) rotate(540deg);opacity:0}}.q-app{max-width:480px;margin:0 auto;padding:0 20px 72px;min-height:100dvh;position:relative}.q-top{display:flex;justify-content:space-between;align-items:center;padding:20px 0 8px;animation:q-up .5s both}.q-logo{font-size:26px;font-weight:800;letter-spacing:-.5px;background:linear-gradient(90deg,#fff,#b9a8ff,var(--cy),#fff);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:q-shine 5s linear infinite}.q-chip{align-items:center;gap:6px;font-size:12px;padding:7px 12px;color:var(--sub)}.q-chip,.q-langs{display:inline-flex;border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:99px}.q-langs{gap:4px;padding:3px}.q-langs a{padding:5px 10px;border-radius:99px;font-size:12px;color:var(--sub)}.q-langs a[aria-current=true]{background:linear-gradient(135deg,var(--pri),#4f8bff);color:#fff}.q-card{background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:var(--radius-card);padding:16px;animation:q-up .6s .1s both}.q-sub{color:var(--sub);font-size:12px}.q-h2{font-size:16px;margin:18px 0 10px;animation:q-up .6s .3s both}.q-btn{display:flex;align-items:center;justify-content:center;gap:6px;height:50px;border-radius:var(--radius-btn);font-weight:700;font-size:15px;border:1px solid transparent;color:#fff;width:100%;animation:q-up .6s both}.q-btn.p{background:linear-gradient(135deg,var(--pri),#4f8bff 60%,var(--cy));box-shadow:0 8px 24px rgba(88,110,255,.45)}.q-btn.g{background:var(--glass);border-color:var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.q-btn:active{transform:scale(.98)}.q-row{display:flex;gap:10px}.q-row>*{flex:1 1}.q-bar{height:8px;background:rgba(255,255,255,.1);overflow:hidden}.q-bar,.q-bar i{border-radius:9px}.q-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--pri),var(--cy));box-shadow:0 0 12px rgba(34,211,238,.7);animation:q-grow .8s cubic-bezier(.2,.8,.2,1) both;transition:width .35s ease}.q-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.q-cat{display:grid;grid-template-columns:40px minmax(0,1fr);grid-column-gap:10px;column-gap:10px;align-items:center;background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:18px;padding:12px;animation:q-up .6s both;min-height:68px;transition:transform .15s,border-color .15s}.q-cat:hover{border-color:rgba(124,92,255,.7);transform:translateY(-2px)}.q-cat:active{transform:scale(.98)}.q-cat .ic{font-size:22px;width:40px;height:40px;border-radius:13px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;grid-row:1/3}.q-cat .n{font-weight:700;font-size:14px;align-self:end}.q-cat .n,.q-cat .s{overflow-wrap:anywhere}.q-cat .s{font-size:11px;color:var(--sub);align-self:start;min-height:16px}.q-footer{text-align:center;font-size:12px;color:var(--sub);margin-top:28px}.q-footer b{color:var(--cy)}.q-prog{display:flex;align-items:center;gap:14px;margin-top:4px}.q-prog .q-bar{flex:1 1;height:10px}.q-ring{position:relative;width:60px;height:60px;flex:none}.q-ring svg{transform:rotate(-90deg)}.q-ring b{position:absolute;inset:0;justify-content:center;font-size:17px}.q-question,.q-ring b{display:flex;align-items:center}.q-question{padding:28px 22px;min-height:170px;font-size:22px;font-weight:700;line-height:1.5;animation:q-pop .5s both}.q-opts,.q-question{margin-top:20px}.q-opt{width:100%;text-align:left;background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:16px;padding:15px 16px;margin-bottom:10px;display:flex;gap:12px;align-items:center;font-weight:600;font-size:16px;animation:q-slide .5s both}.q-opt:first-child{animation-delay:.1s}.q-opt:nth-child(2){animation-delay:.18s}.q-opt:nth-child(3){animation-delay:.26s}.q-opt:nth-child(4){animation-delay:.34s}.q-opt span{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex:none}.q-opt:hover:not(:disabled){border-color:rgba(34,211,238,.6)}.q-opt[aria-pressed=true]{border-color:var(--cy);background:linear-gradient(90deg,rgba(124,92,255,.35),rgba(34,211,238,.2));box-shadow:0 0 22px rgba(34,211,238,.35)}.q-opt[aria-pressed=true] span{background:linear-gradient(135deg,var(--pri),var(--cy))}.q-opt:disabled{cursor:default}.q-note{text-align:center;margin-top:4px}.q-big{font-size:56px;font-weight:800;line-height:1;background:linear-gradient(135deg,#fff,var(--cy));-webkit-background-clip:text;background-clip:text;color:transparent}.q-big small{font-size:24px;-webkit-text-fill-color:var(--sub)}.q-stats{display:flex;justify-content:space-around;font-size:13px;margin:14px 0 4px}.q-pill{display:inline-block;padding:3px 10px;border-radius:99px;font-size:11px;font-weight:700;background:rgba(52,224,161,.16);color:var(--ok)}.q-miss{padding:13px 15px;margin-bottom:8px}.q-miss .t{font-weight:700}.q-miss .a{margin-top:6px;font-size:13px;display:flex;flex-wrap:wrap;gap:4px 14px}.q-bad{color:var(--bad)}.q-good{color:var(--ok)}.q-conf{position:fixed;top:0;width:8px;height:14px;border-radius:2px;animation:q-fall 3.2s linear infinite;pointer-events:none}.q-center{flex-direction:column;text-align:center}.q-center,.q-hero{display:flex;align-items:center}.q-hero{width:96px;height:96px;border-radius:50%;justify-content:center;font-size:44px;background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:q-pop .7s both;box-shadow:0 0 40px rgba(255,107,122,.45)}.q-spinner{width:64px;height:64px;border-radius:50%;border-left:5px solid rgba(255,255,255,.12);border-bottom:5px solid rgba(255,255,255,.12);border-top:5px solid rgba(255,255,255,.12);border-top-color:var(--cy);border-right:5px solid rgba(255,255,255,.12);border-right-color:var(--pri);animation:q-spin 1s linear infinite}.q-skel{height:58px;border-radius:16px;margin-bottom:10px;width:100%;background:linear-gradient(90deg,rgba(255,255,255,.05) 25%,rgba(255,255,255,.14) 50%,rgba(255,255,255,.05) 75%);background-size:200% 100%;animation:q-skel 1.6s linear infinite;border:1px solid var(--line)}@media (prefers-reduced-motion:reduce){.q-conf{display:none}.q-spinner{animation-duration:3s!important;animation-iteration-count:infinite!important}}.q-title{font-size:23px;font-weight:800;margin-top:18px;text-align:center}.q-form{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:14px;gap:14px}.q-field{display:grid;grid-gap:6px;gap:6px;font-size:13px;font-weight:700;color:var(--sub)}.q-input{width:100%;min-width:0;height:48px;padding:0 14px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--tx,#fff);font:inherit;font-size:16px}.q-input:focus-visible{outline:2px solid var(--cy);outline-offset:1px}.q-hint{font-weight:500;font-size:12px;color:var(--sub)}.q-hint.ok{color:#34e0a1}.q-err,.q-hint.bad{color:#ff7a90}.q-err,.q-ok{font-size:13px;font-weight:700;line-height:1.5}.q-ok{color:#34e0a1}.q-links{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--sub)}.q-links a{text-decoration:underline;text-underline-offset:3px}.q-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:26px;font-weight:800;letter-spacing:.08em;padding:18px 12px;border-radius:16px;border:1px dashed var(--cy);background:rgba(34,211,238,.08);-webkit-user-select:all;-moz-user-select:all;user-select:all}.q-check{display:flex;gap:10px;align-items:center;margin:18px 0 12px;font-size:14px;text-align:left}.q-check input{width:20px;height:20px}.q-btn:disabled{opacity:.45;cursor:not-allowed}.q-btn.danger{background:#e5484d}.q-danger{border-color:rgba(229,72,77,.5)}.q-banner{text-align:center;font-weight:800;margin-top:12px}.q-me-row{display:flex;justify-content:space-between;align-items:center}.q-icon-btn{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--glass)}.q-chips,.q-tabs{display:flex;gap:8px;margin:12px 0;overflow-x:auto;scrollbar-width:none}.q-chips button,.q-tabs button{flex:none;padding:8px 14px;border-radius:99px;border:1px solid var(--line);background:var(--glass);color:inherit;font:inherit;font-size:13px;font-weight:700}.q-chips button[aria-selected=true],.q-tabs button[aria-selected=true]{background:linear-gradient(135deg,var(--pri),var(--cy));border-color:transparent}.q-me{display:flex;justify-content:space-between;margin-bottom:10px}.q-rank{list-style:none;padding:0;margin:0;display:grid;grid-gap:6px;gap:6px}.q-rank li{display:grid;grid-template-columns:34px 1fr auto auto;grid-gap:10px;gap:10px;align-items:center;padding:10px 12px;border-radius:14px;background:var(--glass);border:1px solid var(--line);font-size:14px}.q-rank li.me{border-color:var(--cy)}.q-rank .n{font-weight:800;text-align:center}.q-rank .who{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.q-rank .lv,.q-rank .rp{font-size:12px;color:var(--sub)}.q-rank-actions{display:grid;grid-gap:10px;gap:10px;margin:12px 0 14px}.q-sheet-back{position:fixed;inset:0;z-index:40;display:flex;align-items:flex-end;justify-content:center;background:rgba(5,5,20,.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.q-sheet{width:100%;max-width:480px;max-height:92vh;overflow-y:auto;padding:10px 20px 22px;border-radius:28px 28px 0 0;background:#14142b;border:1px solid var(--line);animation:q-up .3s both}.q-grab{width:44px;height:5px;margin:4px auto 14px;border-radius:9px;background:rgba(255,255,255,.25)}.q-radios{display:grid;grid-gap:8px;gap:8px;border:0;padding:0;margin:0 0 12px}.q-radios label{display:flex;align-items:center;gap:12px;padding:14px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.05);font-weight:700;cursor:pointer}.q-radios label.on{border-color:var(--cy);background:rgba(34,211,238,.12)}.q-radios input{accent-color:var(--cy);width:20px;height:20px}.q-note-input{height:auto;padding:12px 14px;width:100%;resize:none}.q-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.q-flag{background:none;border:0;color:inherit;font:inherit;font-size:12px;font-weight:700;opacity:.8;cursor:pointer;padding:4px 6px}.q-flag:focus-visible,.q-flag:hover{opacity:1}.q-restrict{text-align:center}.q-restrict .q-hero{margin:4px auto 10px}.q-restrict-box{display:grid;grid-gap:4px;gap:4px;margin:14px 0;padding:14px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.05);text-align:left}.q-restrict-box small{color:var(--sub)}.q-restrict-info{padding:10px 12px;border-radius:12px;border:1px solid rgba(52,224,161,.4);background:rgba(52,224,161,.08);color:#34e0a1;font-size:13px;text-align:left}.q-legal{display:grid;grid-gap:18px;gap:18px;margin-top:12px}.q-legal h2{font-size:16px;margin-bottom:4px}.q-legal p{font-size:14px;line-height:1.8;color:var(--sub)}.q-legal a{text-decoration:underline}.q-draft{margin-top:8px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,200,61,.45);background:rgba(255,200,61,.1);color:#ffd76a;font-size:13px}.q-legal-links{display:flex;justify-content:center;gap:18px;margin:14px 0 4px;font-size:13px}.q-legal-links a{color:var(--sub);text-decoration:underline;text-underline-offset:3px}.q-tabs a{flex:1 1;text-align:center;padding:10px 12px;border-radius:99px;border:1px solid var(--line);background:var(--glass);font-weight:700;font-size:14px}.q-tabs a.on{background:linear-gradient(135deg,var(--pri),var(--cy));border-color:transparent}.q-legal-note{font-size:12px;color:var(--sub);line-height:1.6;text-align:center}.q-legal-note a{text-decoration:underline}:root{--bg:#090919;--ink:#fff;--sub:rgba(255,255,255,0.76);--glass:rgba(18,18,44,0.52);--line:rgba(255,255,255,0.13);--pri:#7c5cff;--cy:#22d3ee;--pk:#ff6bb5;--gold:#ffc83d;--ok:#34e0a1;--bad:#ff6b7a;--radius-card:22px;--radius-btn:16px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}