:root{--bg:#fef6e4;--bg-card:#fff;--ink:#1d3557;--ink-light:#457b9d;--text-sub:#636e72;--red:#e63946;--yellow:#ffb703;--green:#06d6a0;--coral:#ef476f;--border:#1d3557;--bw:2.5px;--shadow-sm:3px 3px 0 var(--border);--shadow-press:1px 1px 0 var(--border);--r:14px;--r-sm:10px;--r-lg:20px;--font-display:"Black Han Sans","Pretendard Variable",sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{min-height:100%}body{color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;display:flex}.route-transition-shell{will-change:transform,opacity}.site-header{z-index:40;border-bottom:2px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#fffffff0 0%,#fff8e6e6 100%);position:sticky;top:0}.site-header-inner{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;max-width:1080px;margin:0 auto;padding:10px 16px;display:grid}.site-brand{font-family:var(--font-display);color:var(--ink);align-items:center;gap:8px;font-size:.95rem;font-weight:400;text-decoration:none;display:inline-flex}.site-brand-mark{background:linear-gradient(#ffeeb0f2 0%,#e7b23be0 100%);border:2px solid #784b222e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex;overflow:hidden;box-shadow:0 6px 16px #784b2224}.site-brand-mark img{object-fit:cover;width:100%;height:100%;display:block}.site-nav-wrap{justify-content:center;min-width:0;display:flex}.site-nav{box-shadow:none;background:0 0;border:none;border-radius:0;align-items:center;gap:18px;padding:0;display:inline-flex}.site-nav a{color:var(--ink);opacity:.7;background:0 0;border:none;border-radius:0;padding:2px 0;font-size:.84rem;font-weight:800;text-decoration:none;transition:opacity .14s,color .14s;position:relative}.site-nav a:after{content:"";background:var(--yellow);transform-origin:50%;height:2px;transition:transform .14s;position:absolute;bottom:-2px;left:0;right:0;transform:scaleX(0)}.site-nav a:hover{opacity:1;color:var(--ink)}.site-nav a:hover:after{transform:scaleX(1)}.site-user{border:1.5px solid var(--border);background:#fff;border-radius:999px;justify-self:end;align-items:center;gap:8px;min-width:0;padding:4px 10px 4px 5px;display:inline-flex}.site-avatar{border:1.5px solid var(--border);background:#fff;border-radius:50%}.site-avatar-fallback{border:1.5px solid var(--border);background:var(--yellow);width:28px;height:28px;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:900;display:inline-flex}.site-user-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;max-width:148px;font-size:.76rem;font-weight:800;overflow:hidden}body:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(circle,var(--ink).7px,transparent .7px);opacity:.048;background-size:22px 22px;position:fixed;inset:0}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--red);border:2px solid var(--bg);border-radius:5px}.page-wrap{z-index:1;flex:1 0 auto;width:100%;max-width:820px;min-height:100vh;margin:0 auto;padding:48px 24px 80px;position:relative}.site-footer{z-index:1;border-top:2px solid var(--border);background:linear-gradient(#fffaeef0 0%,#ffefccfa 100%);margin-top:auto;position:relative}.site-footer-inner{justify-content:space-between;align-items:flex-start;gap:16px;max-width:1080px;margin:0 auto;padding:18px 16px 22px;display:flex}.site-footer-title{font-family:var(--font-display);color:var(--ink);margin-bottom:6px;font-size:.95rem}.site-footer-copy{color:var(--text-sub);max-width:520px;font-size:.8rem;line-height:1.6}.site-footer-links{flex-wrap:wrap;justify-content:flex-end;gap:10px 14px;display:flex}.site-footer-links a{color:var(--ink);border-bottom:2px solid #0000;padding-bottom:2px;font-size:.82rem;font-weight:700;text-decoration:none;transition:border-color .14s}.site-footer-links a:hover{border-color:var(--yellow)}.hero{max-height:500px;margin-bottom:32px;transition:max-height .5s cubic-bezier(.4,0,.2,1),opacity .35s,margin .5s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;z-index:0;background:conic-gradient(#0000 0deg,#ffb70314 4deg,#0000 8deg 20deg,#ffb7030f 24deg,#0000 28deg 40deg,#e639460d 44deg,#0000 48deg 72deg,#ffb70312 76deg,#0000 80deg 100deg,#e639460a 104deg,#0000 108deg 140deg,#ffb7030f 144deg,#0000 148deg 180deg,#e639460d 184deg,#0000 188deg 220deg,#ffb70312 224deg,#0000 228deg 260deg,#e639460a 264deg,#0000 268deg 300deg,#ffb7030f 304deg,#0000 308deg 340deg,#e639460d 344deg,#0000 348deg);border-radius:50%;width:420px;height:420px;position:absolute;top:-60%;right:-20%}:is(.page-wrap:has(.quiz-shell[data-phase=playing]) .hero,.page-wrap:has(.quiz-shell[data-phase=loading]) .hero,.page-wrap:has(.quiz-shell[data-phase=complete]) .hero){opacity:0;pointer-events:none;max-height:0;margin:0}.hero-badge{z-index:1;background:var(--red);color:#fff;font-family:var(--font-display);letter-spacing:.15em;border:var(--bw)solid var(--border);box-shadow:var(--shadow-sm);-webkit-user-select:none;user-select:none;border-radius:8px;margin-bottom:18px;padding:9px 14px 7px;font-size:1.3rem;font-weight:400;line-height:1;display:inline-block;position:relative;transform:rotate(-4deg)}.hero-kicker{z-index:1;letter-spacing:.3em;color:var(--text-sub);margin-bottom:8px;font-size:.7rem;font-weight:600;position:relative}.hero h1{z-index:1;font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-size:clamp(2.1rem,5.8vw,3.2rem);font-weight:400;line-height:1.25;position:relative}.hero-line{display:block}.hero-accent{color:var(--red)}.hero-desc{z-index:1;max-width:520px;color:var(--text-sub);margin-top:12px;font-size:.92rem;line-height:1.7;position:relative}@keyframes hero-reveal{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.hero-badge,.hero-kicker,.hero h1,.hero-desc{animation:.55s cubic-bezier(.22,1,.36,1) both hero-reveal}.hero-badge{animation-delay:50ms}.hero-kicker{animation-delay:.12s}.hero h1{animation-delay:.2s}.hero-desc{animation-delay:.3s}.quiz-shell{animation:.5s cubic-bezier(.22,1,.36,1) .38s both hero-reveal}.page-placeholder{border:2px dashed var(--border);border-radius:var(--r-lg);text-align:center;background:linear-gradient(160deg,#fff 0%,#fff8ea 50%,#fff2d6 100%);padding:40px 28px;animation:.5s cubic-bezier(.22,1,.36,1) .35s both hero-reveal;position:relative;overflow:hidden;box-shadow:4px 4px #1d355714}.page-placeholder:before{content:"";background-image:radial-gradient(circle,var(--ink).5px,transparent .5px);opacity:.025;pointer-events:none;background-size:18px 18px;position:absolute;inset:0}.page-placeholder-icon{filter:drop-shadow(2px 2px #1d355726);margin-bottom:14px;font-size:2.8rem;line-height:1}.page-placeholder-title{font-family:var(--font-display);color:var(--ink);margin-bottom:8px;font-size:1.15rem;font-weight:400}.page-placeholder-desc{color:var(--text-sub);font-size:.88rem;line-height:1.65}.quiz-shell{border:var(--bw)solid var(--border);border-radius:var(--r-lg);background:var(--bg-card);box-shadow:6px 6px 0 var(--border);padding:20px;position:relative;overflow:hidden}.mode-meta{z-index:1;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex;position:relative}.mode-tag{border:1.5px solid var(--border);background:var(--yellow);color:var(--ink);border-radius:999px;padding:4px 12px;font-size:.72rem;font-weight:800}.text-btn{color:var(--ink);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.78rem;font-weight:700;text-decoration:underline}.entry-card{z-index:1;border:2px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-sm);background:#fff;padding:18px;position:relative}.entry-card h3{margin-bottom:6px}.entry-card p{color:var(--text-sub);margin-bottom:12px}.entry-actions{flex-wrap:wrap;gap:8px;display:flex}.auth-form,.oauth-actions{gap:8px;margin-bottom:10px;display:grid}.auth-legal-copy{color:var(--text-sub);margin-bottom:10px;font-size:.76rem;line-height:1.6}.auth-legal-copy a{color:var(--ink);font-weight:700}.oauth-btn{border:2px solid var(--border);cursor:pointer;border-radius:10px;padding:10px 12px;font-family:inherit;font-size:.9rem;font-weight:800}.oauth-google{color:#202124;background:#fff}.oauth-kakao{color:#191919;background:#fee500}.auth-divider{justify-content:center;align-items:center;margin:8px 0 10px;display:flex}.auth-divider span{color:var(--text-sub);background:#fff;padding:0 10px;font-size:.76rem;font-weight:700}.auth-form input{border:2px solid var(--border);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:.92rem}.auth-error{color:#b3222f;font-size:.84rem;font-weight:700}.profile-strip{z-index:1;border:2px solid var(--border);box-shadow:2px 2px 0 var(--border);background:linear-gradient(135deg,#fffdf5 0%,#fff4d6 100%);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:10px 12px;display:flex;position:relative}.profile-user{align-items:center;gap:10px;min-width:0;display:flex}.profile-avatar{border:2px solid var(--border);object-fit:cover;background:#fff;border-radius:50%}.profile-avatar-fallback{border:2px solid var(--border);background:var(--yellow);width:44px;height:44px;color:var(--ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;font-weight:900;display:inline-flex}.profile-user-copy{min-width:0}.profile-name{color:var(--ink);font-size:.9rem;font-weight:900;line-height:1.15}.profile-email{color:var(--text-sub);text-overflow:ellipsis;white-space:nowrap;max-width:220px;margin-top:2px;font-size:.74rem;line-height:1.3;overflow:hidden}.profile-actions{align-items:center;gap:8px;display:flex}.profile-badge-pill{border:1.5px solid var(--border);background:#fff;border-radius:999px;padding:5px 10px;font-size:.74rem;font-weight:800}.profile-badge-pill strong{color:var(--red);margin:0 1px}.profile-logout{white-space:nowrap}.guest-notice p{margin:0;line-height:1.45}.collection-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.collection-card{border:2px solid var(--border);box-shadow:var(--shadow-sm);text-align:center;background:#fff;border-radius:14px;flex-direction:column;align-items:center;gap:10px;padding:12px;display:flex}.collection-badge-avatar{border:2px solid var(--border);object-fit:cover;background:#fff;border-radius:50%;width:84px;height:84px}.image-zoom-trigger{cursor:zoom-in;background:0 0;border:none;border-radius:999px;margin:0;padding:0;line-height:0}.image-zoom-trigger:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.profile-zoom-trigger{flex-shrink:0}.image-lightbox{z-index:10030;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#080f20b8;justify-content:center;align-items:center;padding:clamp(12px,3vw,28px);display:flex;position:fixed;inset:0}.image-lightbox-dialog{box-shadow:none;background:0 0;border:none;border-radius:0;max-width:none;padding:0;position:relative}.image-lightbox-close{border:2px solid var(--border);color:var(--ink);cursor:pointer;box-shadow:2px 2px 0 var(--border);background:#fff;border-radius:999px;padding:5px 10px;font-family:inherit;font-size:.72rem;font-weight:900;position:absolute;top:6px;right:6px}.image-lightbox-image{aspect-ratio:1;object-fit:cover;border:3px solid var(--border);width:min(78vw,620px);height:auto;max-height:82vh;box-shadow:10px 10px 0 var(--border);background:#fff;border-radius:50%}.collection-card h3{color:var(--ink);font-size:.9rem}.collection-card p{color:var(--text-sub);font-size:.78rem;line-height:1.45}.collection-state{border:1.5px solid var(--border);border-radius:999px;width:fit-content;margin-top:auto;margin-left:auto;margin-right:auto;padding:4px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.collection-card.is-open .collection-state{color:#14653e;background:#e8fff5}.collection-card.is-locked{filter:grayscale(.8);opacity:.72}.collection-card.is-locked .collection-state{color:#636363;background:#f3f3f3}.my-profile-card{border:2px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:14px;padding:12px;display:grid}.global-toast{z-index:10000;border:2px solid var(--border);color:#0d5c35;box-shadow:var(--shadow-sm);text-align:center;pointer-events:none;background:#e9fff2;border-radius:12px;width:max-content;max-width:min(92vw,520px);padding:11px 14px;font-size:.82rem;font-weight:800;animation:2.6s forwards global-toast-fade;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes global-toast-fade{0%{opacity:0;transform:translate(-50%,-48%)scale(.98)}12%{opacity:1;transform:translate(-50%,-50%)scale(1)}82%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-52%)scale(.985)}}.my-profile-main{align-items:center;gap:10px;min-width:0;display:flex}.my-profile-avatar{border:2px solid var(--border);object-fit:cover;background:#fff;border-radius:50%;flex-shrink:0;width:70px;height:70px}.my-profile-avatar-fallback{border:2px solid var(--border);background:var(--yellow);width:70px;height:70px;color:var(--ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.3rem;font-weight:900;display:inline-flex}.my-profile-copy{min-width:0}.my-profile-name{color:var(--ink);font-size:1.03rem;font-weight:900}.my-profile-email{color:var(--text-sub);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.78rem;overflow:hidden}.display-name-form{align-items:center;gap:8px;margin-top:8px;display:flex}.display-name-form input{border:1.5px solid var(--border);min-width:0;color:var(--ink);background:#fff;border-radius:999px;flex:1;height:36px;padding:0 12px;font-family:inherit;font-size:.82rem}.my-profile-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.my-profile-meta-item{border:1.5px solid var(--border);background:#fffdf4;border-radius:10px;min-width:110px;padding:8px}.my-profile-meta-item span{color:var(--text-sub);font-size:.7rem;font-weight:700;display:block}.my-profile-meta-item strong{color:var(--ink);margin-top:2px;font-size:.82rem;font-weight:900;display:block}.my-profile-logout{text-align:right;border-top:1px solid #784b221a;margin-top:12px;padding-top:12px}.my-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.my-summary-card{border:2px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:12px;padding:12px}.my-summary-label{color:var(--text-sub);font-size:.76rem;font-weight:800}.my-summary-value{color:var(--ink);margin-top:4px;font-size:1.08rem;font-weight:900}.my-summary-sub{color:var(--text-sub);margin-top:6px;font-size:.75rem;line-height:1.45}.my-rank-section,.my-badge-section{border:2px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;margin-bottom:14px;padding:14px}.my-rank-section h2,.my-badge-section h2{color:var(--ink);margin-bottom:10px;font-size:1rem}.my-badge-topbar{border:1.5px dashed var(--border);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;padding:8px 10px;display:flex}.my-badge-topbar p{color:var(--text-sub);font-size:.76rem}.my-badge-topbar strong{color:var(--ink);margin-left:4px}.my-rank-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.my-rank-card{border:1.5px solid var(--border);background:#fffdf4;border-radius:10px;padding:10px}.my-rank-mode{color:var(--text-sub);font-size:.78rem;font-weight:800}.my-rank-main{color:var(--ink);margin-top:2px;font-size:1.18rem;font-weight:900}.my-rank-meta{color:var(--text-sub);margin-top:4px;font-size:.75rem;line-height:1.45}.my-badge-groups{gap:12px;display:grid}.badge-group-block{border:1.5px solid var(--border);background:#fffdf6;border-radius:12px;padding:10px}.badge-group-head{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px;display:flex}.badge-group-head h3{color:var(--ink);font-size:.92rem}.badge-group-head p{color:var(--text-sub);margin-top:2px;font-size:.75rem}.badge-group-count{border:1.5px solid var(--border);color:var(--ink);white-space:nowrap;background:#fff;border-radius:999px;padding:4px 8px;font-size:.74rem;font-weight:800}.badge-group-empty{border:1.5px dashed var(--border);color:var(--text-sub);background:#fff;border-radius:10px;padding:10px;font-size:.78rem}.badge-equip-form{margin-top:8px}.badge-equip-btn{border:1.5px solid var(--border);width:100%;color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;padding:5px 8px;font-family:inherit;font-size:.73rem;font-weight:800;transition:background .14s,transform .14s}.badge-equip-btn:hover{background:#ffe8ad;transform:translateY(-1px)}.badge-equip-btn.active{color:#4d3a05;background:#ffd05a}.badge-equip-btn.secondary{background:#f4f7ff;width:auto}.admin-warn{color:#6f4f00;background:#fff7dc;border:1.5px dashed #a86c00;border-radius:10px;margin-bottom:12px;padding:10px 12px;font-size:.82rem;font-weight:700}.admin-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.admin-metric-card{border:2px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:12px;flex-direction:column;gap:4px;padding:12px;display:flex}.admin-metric-card p{color:var(--text-sub);font-size:.76rem;font-weight:800}.admin-metric-card strong{color:var(--ink);font-size:1.18rem;font-weight:900;line-height:1.2}.admin-metric-card span{color:var(--text-sub);font-size:.74rem;line-height:1.4}.admin-panel{border:2px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;margin-bottom:14px;padding:14px}.admin-panel h2{color:var(--ink);margin-bottom:10px;font-size:1rem}.admin-feedback-summary{color:var(--text-sub);margin-bottom:10px;font-size:.78rem}.admin-feedback-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.admin-feedback-grid h3{color:var(--ink);margin-bottom:8px;font-size:.86rem}.admin-signup-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.admin-signup-item{border:1.5px solid var(--border);text-align:center;background:#fffdf5;border-radius:10px;padding:8px}.admin-signup-item span{color:var(--text-sub);font-size:.72rem;display:block}.admin-signup-item strong{color:var(--ink);margin-top:2px;font-size:1rem;display:block}.admin-top-list{gap:8px;list-style:none;display:grid}.admin-top-item{border:1.5px solid var(--border);background:#fffdf6;border-radius:10px;grid-template-columns:52px 1fr auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.admin-top-item span{color:var(--ink);font-size:.82rem;font-weight:700}.admin-top-item strong{color:var(--red);font-size:.86rem}.admin-top-empty{border:1.5px dashed var(--border);color:var(--text-sub);border-radius:10px;padding:8px 10px;font-size:.8rem}.community-compose{border:2px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;margin-bottom:14px;padding:14px}.community-notice-board{border:2px solid var(--border);box-shadow:var(--shadow-sm);background:linear-gradient(140deg,#fff7de 0%,#fff2cb 100%);border-radius:14px;margin-bottom:14px;padding:14px}.community-notice-head h2{color:var(--ink);font-size:1rem}.community-notice-head p{color:var(--text-sub);margin-top:2px;font-size:.78rem}.community-notice-list{gap:8px;margin-top:10px;list-style:none;display:grid}.community-notice-item{border:1.5px solid var(--border);background:#fff;border-radius:10px;gap:5px;padding:8px 10px;display:grid}.community-notice-link{color:var(--ink);font-size:.84rem;font-weight:800;line-height:1.5;text-decoration:none}.community-notice-link:hover{text-decoration:underline}.community-notice-meta{color:var(--text-sub);align-items:center;gap:8px;font-size:.72rem;display:flex}.community-compose h2{color:var(--ink);margin-bottom:10px;font-size:1rem}.community-compose-form{gap:10px;display:grid}.community-textarea{border:2px solid var(--border);color:var(--ink);resize:vertical;background:#fffdf7;border-radius:12px;min-height:124px;padding:10px 12px;font-family:inherit;font-size:.92rem;line-height:1.6}.community-textarea.compact{min-height:90px}.community-feed{gap:12px;display:grid}.community-post{border:2px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;padding:12px}.community-post.is-notice{background:linear-gradient(160deg,#fffaf0 0%,#fff5de 100%)}.community-post-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.community-post-head strong{color:var(--ink);font-size:.92rem}.community-author{align-items:center;gap:8px;min-width:0;display:inline-flex}.community-post-notice-pill{border:1.5px solid var(--border);background:var(--yellow);color:var(--ink);border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:900}.community-avatar{border:1.5px solid var(--border);object-fit:cover;background:#fff;border-radius:50%;flex-shrink:0;width:34px;height:34px}.community-avatar.small{width:28px;height:28px}.community-avatar-fallback{border:1.5px solid var(--border);background:var(--yellow);width:34px;height:34px;color:var(--ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.76rem;font-weight:900;display:inline-flex}.community-avatar-fallback.small{width:28px;height:28px;font-size:.7rem}.community-post-head span{color:var(--text-sub);font-size:.74rem}.community-post-body{color:var(--ink);white-space:pre-wrap;word-break:keep-all;font-size:.9rem;line-height:1.65}.community-comment-block{border-top:1.5px dashed var(--border);margin-top:10px;padding-top:10px}.community-post-tools{flex-wrap:wrap;align-items:flex-start;gap:8px;margin-top:8px;display:flex}.community-inline-edit{width:100%;max-width:520px}.community-inline-edit summary{cursor:pointer;-webkit-user-select:none;user-select:none;border:1.5px dashed var(--border);color:var(--ink);background:#f7fbff;border-radius:999px;width:fit-content;padding:5px 10px;font-size:.74rem;font-weight:800;list-style:none}.community-inline-edit summary::-webkit-details-marker{display:none}.community-inline-edit[open] summary{margin-bottom:8px}.community-edit-form{gap:8px;display:grid}.community-edit-form input{border:1.5px solid var(--border);color:var(--ink);background:#fff;border-radius:10px;height:40px;padding:0 10px;font-family:inherit;font-size:.82rem}.community-comment-block h3{color:var(--ink);margin-bottom:8px;font-size:.83rem}.community-comment-list{gap:6px;margin-bottom:8px;list-style:none;display:grid}.community-comment-item{border:1.5px solid var(--border);background:#fffdf5;border-radius:10px;padding:7px 9px}.community-comment-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.community-comment-author{color:var(--ink);margin-right:6px;font-size:.78rem;font-weight:800}.community-comment-date{color:var(--text-sub);font-size:.72rem}.community-comment-item p{color:var(--ink);white-space:pre-wrap;word-break:keep-all;margin-top:4px;font-size:.82rem;line-height:1.5}.community-item-actions{flex-wrap:wrap;align-items:flex-start;gap:8px;margin-top:7px;display:flex}.community-comment-form{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.community-comment-form input{border:1.5px solid var(--border);color:var(--ink);background:#fff;border-radius:999px;height:42px;padding:0 12px;font-family:inherit;font-size:.84rem}.community-empty,.community-comment-empty{border:1.5px dashed var(--border);color:var(--text-sub);background:#fff;border-radius:10px;padding:9px 10px;font-size:.8rem}.community-comment-more{margin-bottom:8px}.community-comment-more summary{cursor:pointer;-webkit-user-select:none;user-select:none;border:1.5px dashed var(--border);color:var(--ink);background:#fff7e0;border-radius:10px;padding:8px 10px;font-size:.78rem;font-weight:800;list-style:none}.community-comment-more summary::-webkit-details-marker{display:none}.community-comment-more[open] summary{margin-bottom:8px}.community-danger-btn{color:#b3222f;font-size:.74rem;font-weight:900}.feedback-compose{border:2px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;margin-bottom:14px;padding:14px}.feedback-compose h2{color:var(--ink);margin-bottom:10px;font-size:1rem}.feedback-compose-form{gap:10px;display:grid}.feedback-field-row{gap:6px;display:grid}.feedback-label{color:var(--ink);font-size:.8rem;font-weight:800}.feedback-help{color:var(--text-sub);font-size:.74rem}.feedback-select,.feedback-input{border:1.5px solid var(--border);color:var(--ink);background:#fff;border-radius:10px;height:40px;padding:0 10px;font-family:inherit;font-size:.84rem}.feedback-select{min-width:180px}.feedback-textarea{border:2px solid var(--border);color:var(--ink);resize:vertical;background:#fffdf7;border-radius:12px;min-height:132px;padding:10px 12px;font-family:inherit;font-size:.92rem;line-height:1.6}.feedback-submit-row{justify-content:flex-end;display:flex}.feedback-history{border:2px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;padding:14px}.feedback-history h2{color:var(--ink);margin-bottom:10px;font-size:1rem}.feedback-empty{border:1.5px dashed var(--border);color:var(--text-sub);background:#fff;border-radius:10px;padding:10px 11px;font-size:.8rem}.feedback-list{gap:8px;list-style:none;display:grid}.feedback-item{border:1.5px solid var(--border);background:#fffdf6;border-radius:12px;padding:10px}.feedback-item-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px;display:flex}.feedback-category-pill{border:1.5px solid var(--border);color:var(--ink);background:#f7fbff;border-radius:999px;padding:3px 9px;font-size:.72rem;font-weight:800}.feedback-status-pill{border:1.5px solid var(--border);border-radius:999px;padding:3px 9px;font-size:.7rem;font-weight:900}.feedback-status-pill.is-received{color:#1f4c84;background:#e8f2ff}.feedback-status-pill.is-reviewing{color:#8a4f00;background:#fff2cd}.feedback-status-pill.is-resolved{color:#1b6a3a;background:#ddf5e2}.feedback-target{color:var(--text-sub);margin-bottom:6px;font-size:.76rem}.feedback-content{color:var(--ink);white-space:pre-wrap;word-break:keep-all;margin-bottom:8px;font-size:.84rem;line-height:1.58}.feedback-admin-note{border:1.5px dashed var(--border);color:var(--ink);background:#fff;border-radius:10px;margin-bottom:7px;padding:7px 8px;font-size:.78rem;line-height:1.5}.feedback-date{color:var(--text-sub);font-size:.72rem}.badge-panel{z-index:1;border:2px solid var(--border);background:#fff;border-radius:12px;margin-bottom:12px;padding:10px;position:relative}.rank-panel{z-index:1;margin-bottom:16px;position:relative}.rank-head{margin-bottom:14px}.rank-head-title{font-family:var(--font-display);color:var(--ink);margin-bottom:2px;font-size:1.2rem;font-weight:900}.rank-head-sub{color:var(--text-sub);margin:0 0 6px;font-size:.75rem;font-weight:700}.rank-meta{color:var(--text-sub);margin:0;font-size:.72rem}.rank-meta strong{color:var(--red)}.rank-my-card{border:2px dashed var(--border);border-radius:var(--r);color:var(--ink);background:linear-gradient(135deg,#fff5d9 0%,#fffdf2 100%);margin-bottom:14px;padding:10px 14px;font-size:.82rem;font-weight:700}.rank-my-card strong{color:var(--red)}.rank-empty{color:var(--text-sub);padding:20px 0;font-size:.82rem}.rank-grid{grid-template-columns:repeat(5,1fr);gap:12px 10px;display:grid}.rank-cell{text-align:center;border-radius:var(--r);flex-direction:column;align-items:center;gap:4px;padding:6px 4px 8px;transition:transform .15s;display:flex;position:relative}.rank-cell:hover{transform:translateY(-2px)}.rank-cell.is-me{border-radius:var(--r);background:#ffb7031a}.rank-cell-badge{color:var(--ink);font-size:.92rem;font-weight:900;line-height:1}.rank-cell.is-gold .rank-cell-badge,.rank-cell.is-silver .rank-cell-badge,.rank-cell.is-bronze .rank-cell-badge{font-size:1.1rem}.rank-cell-ring{background:var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;padding:3px;display:flex;position:relative}.rank-cell-avatar{object-fit:cover;background:#fff;border-radius:50%;width:100%;height:100%;display:block}.rank-cell-avatar-fb{background:var(--yellow);width:100%;height:100%;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;font-size:1.3rem;font-weight:900;display:flex}@property --fire-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.rank-cell-ring.is-gold{background:conic-gradient(from var(--fire-angle),gold,#ff8c00,#ff4500,#ff6a00,orange,gold);padding:4px;animation:2.5s linear infinite fire-rotate,1.8s ease-in-out infinite fire-pulse;box-shadow:0 0 12px #ff8c0073,0 0 24px #ff450033}@keyframes fire-rotate{to{--fire-angle:360deg}}@keyframes fire-pulse{0%,to{box-shadow:0 0 12px #ff8c0073,0 0 24px #ff450033}50%{box-shadow:0 0 20px #ff8c00a6,0 0 40px #ff450059}}.rank-cell-ring.is-silver{background:conic-gradient(silver,#e8e8e8,#a8a8a8,#d4d4d4,silver);padding:3.5px;box-shadow:0 0 10px #b4becd4d}.rank-cell-ring.is-bronze{background:conic-gradient(#cd7f32,#e8a85c,#b87333,#daa060,#cd7f32);padding:3.5px;box-shadow:0 0 10px #cd7f324d}.rank-cell-ring.is-elite{background:linear-gradient(135deg,var(--ink-light),#6ba3c7);padding:3px;box-shadow:0 0 8px #457b9d33}.rank-cell-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.78rem;font-weight:800;line-height:1.2;overflow:hidden}.rank-cell-score{font-family:var(--font-display);color:var(--red);font-size:1rem;line-height:1}.rank-cell.is-gold .rank-cell-score{font-size:1.1rem}.rank-cell-date{color:var(--text-sub);font-size:.6rem;line-height:1}@media (max-width:640px){.hero{text-align:center}.hero:before{left:50%;right:auto;transform:translate(-50%)}.hero-badge{transform:rotate(-4deg)}.hero-desc{margin-left:auto;margin-right:auto}.rank-head,.rank-my-card{text-align:center}.rank-grid{grid-template-columns:repeat(3,1fr);gap:10px 8px}.rank-cell-ring{width:62px;height:62px}.rank-cell-avatar-fb{font-size:1.1rem}.rank-cell-name{font-size:.72rem}.rank-cell-score{font-size:.88rem}}.badge-title{margin-bottom:8px;font-size:.78rem;font-weight:800}.badge-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.badge-more-link{white-space:nowrap;font-size:.74rem}.badge-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;display:grid}.badge-chip{border:1.5px solid var(--border);background:#fffdf6;border-radius:10px;align-items:center;gap:6px;padding:6px;display:flex}.badge-chip img{object-fit:contain;width:28px;height:28px}.badge-chip span{font-size:.72rem;font-weight:700;line-height:1.3}.gate-card{z-index:1;border:2px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-sm);background:#fff;padding:18px;position:relative}.gate-card h3{color:var(--ink);margin-bottom:6px}.gate-card p{color:var(--text-sub);margin-bottom:14px}.gate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.gate-option{border:2px solid var(--border);text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);background:#fff;border-radius:12px;flex-direction:column;gap:6px;padding:14px;font-family:inherit;transition:transform .16s,box-shadow .16s,background .16s,border-color .16s;display:flex;position:relative;overflow:hidden}.gate-option:first-child{background:linear-gradient(145deg,#fff8e8 0%,#fff1d0 100%);border-color:#c4940a}.gate-option:first-child:before{content:"";opacity:0;pointer-events:none;background:radial-gradient(circle at 88% 14%,#e6394640,#0000 45%);transition:opacity .16s;position:absolute;inset:0}.gate-option:first-child:hover{background:linear-gradient(142deg,#fff2c5 0%,#ffd574 100%);border-color:#9a6a00;transform:translateY(-2px);box-shadow:6px 6px #b8860b}.gate-option:first-child:hover:before{opacity:1}.gate-option:first-child:hover span{color:#6f5a30}.gate-option:nth-child(2){background:linear-gradient(145deg,#edf2ff 0%,#dceaff 100%);border-color:#3a6bb5}.gate-option:nth-child(2):before{content:"";opacity:0;pointer-events:none;background:radial-gradient(circle at 12% 86%,#457b9d40,#0000 45%);transition:opacity .16s;position:absolute;inset:0}.gate-option:nth-child(2):hover{background:linear-gradient(142deg,#d0e4ff 0%,#a8cbff 100%);border-color:#2b5797;transform:translateY(-2px);box-shadow:6px 6px #2b5797}.gate-option:nth-child(2):hover:before{opacity:1}.gate-option:nth-child(2):hover span{color:#2b4a6f}.gate-option strong{font-family:var(--font-display);color:var(--ink);font-size:.98rem;font-weight:400}.gate-option span{color:var(--text-sub);font-size:.82rem;line-height:1.45}.mode-intro-backdrop{z-index:9999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:radial-gradient(circle at 18% 20%,#ffb70329,#0000 38%),radial-gradient(circle at 82% 82%,#e6394633,#0000 42%),#0810248c;justify-content:center;align-items:center;padding:clamp(12px,4vw,32px);display:flex;position:fixed;inset:0}.mode-intro-modal{border:2px solid var(--border);width:min(500px,100%);max-height:calc(100vh - 2*clamp(12px,4vw,32px));box-shadow:8px 8px 0 var(--border);background:linear-gradient(168deg,#fff 0%,#fff8ea 100%);border-radius:16px;padding:18px;position:relative;overflow:hidden auto}.mode-intro-modal:before{content:"";pointer-events:none;background:radial-gradient(circle,#ffb703a6 0%,#ffb70300 72%);border-radius:50%;width:120px;height:120px;position:absolute;top:-34px;right:-32px}.mode-intro-badge{border:1.5px solid var(--border);letter-spacing:.02em;color:#fff;background:var(--red);z-index:1;border-radius:999px;margin-bottom:8px;padding:4px 10px;font-size:.72rem;font-weight:800;display:inline-block;position:relative}.mode-intro-modal h3{color:var(--ink);z-index:1;margin-bottom:4px;position:relative}.mode-intro-modal p{color:var(--text-sub);z-index:1;margin-bottom:10px;line-height:1.5;position:relative}.challenge-difficulty-panel{z-index:1;margin-bottom:14px;position:relative}.challenge-difficulty-title{color:var(--ink);letter-spacing:.04em;margin:0 0 8px;font-size:.82rem;font-weight:800}.challenge-difficulty-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.challenge-difficulty-option{text-align:left;cursor:pointer;background:linear-gradient(145deg,#fff9eaf2 0%,#fff3cfe6 100%);border:1.5px solid #784b2233;border-radius:12px;flex-direction:column;gap:4px;padding:10px 12px;transition:transform .14s,box-shadow .14s,border-color .14s,background .14s;display:flex}.challenge-difficulty-option:hover{border-color:#b8860b;transform:translateY(-1px);box-shadow:4px 4px #b8860b38}.challenge-difficulty-option strong{color:var(--ink);letter-spacing:-.01em;font-family:inherit;font-size:.98rem;font-weight:600}.challenge-difficulty-option span{color:var(--text-sub);font-size:.76rem;font-weight:500;line-height:1.4}.challenge-difficulty-option.is-selected{background:linear-gradient(142deg,#fff1bd 0%,#ffd574 100%);border-color:#9a6a00;box-shadow:6px 6px #9a6a0038}.mode-intro-modal ul{color:var(--ink);z-index:1;margin:0 0 12px 18px;padding:0;position:relative}.mode-intro-modal li{margin-bottom:7px;font-size:.9rem;font-weight:600;line-height:1.5}.mode-intro-actions{z-index:1;justify-content:flex-end;gap:8px;display:flex;position:relative}.orbits{pointer-events:none;position:absolute;inset:0}.blob{filter:blur(50px);opacity:.07;border-radius:50%;width:250px;height:250px;position:absolute}.blob-a{background:var(--yellow);top:-80px;left:-80px}.blob-b{background:var(--red);bottom:-100px;right:-80px}.top-bar{z-index:1;grid-template-columns:repeat(3,1fr);gap:10px;display:grid;position:relative}.metric-card{border:2px solid var(--border);border-radius:var(--r-sm);background:var(--bg-card);box-shadow:var(--shadow-sm);padding:10px 12px}.metric-card p{color:var(--text-sub);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:.7rem;font-weight:600}.metric-card strong{color:var(--ink);margin-top:3px;font-size:1.15rem;font-weight:900;display:block}.rank-hanja{color:var(--text-sub);margin-right:4px;font-size:.68rem;font-weight:600}.progress-track{z-index:1;border:2px solid var(--border);background:var(--bg);border-radius:999px;height:14px;margin-top:14px;position:relative;overflow:hidden}.progress-value{background:linear-gradient(90deg,var(--yellow),var(--red));border-radius:999px;height:100%}.status-text{z-index:1;text-align:center;color:var(--text-sub);margin:28px 0;font-size:.95rem;font-weight:700;animation:1.5s ease-in-out infinite bounce-text;position:relative}@keyframes bounce-text{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.error-box{z-index:1;border:2px solid var(--coral);color:#c0392b;border-radius:var(--r);box-shadow:3px 3px 0 var(--coral);background:#fff0f3;flex-direction:column;align-items:flex-start;gap:12px;margin-top:18px;padding:16px;display:flex;position:relative}.error-box p{margin:0;font-weight:600}.error-actions{flex-wrap:wrap;gap:8px;display:flex}.legal-hero{margin-bottom:22px}.legal-card{z-index:1;border:2px solid var(--border);border-radius:var(--r-lg);background:linear-gradient(160deg,#fff 0%,#fff9ea 55%,#fff2d8 100%);padding:24px;position:relative;box-shadow:6px 6px #1d35571f}.legal-section+.legal-section{border-top:1.5px dashed #1d35572e;margin-top:20px;padding-top:20px}.legal-section h2{color:var(--ink);margin-bottom:8px;font-size:1rem}.legal-section p{color:var(--text-sub);font-size:.92rem;line-height:1.72}.quiz-card{z-index:1;border:2px solid var(--border);border-radius:var(--r);background:var(--bg-card);box-shadow:var(--shadow-sm);margin-top:16px;padding:20px;position:relative}.difficulty-wrap{flex-wrap:wrap;gap:8px;display:flex}.meta-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.difficulty-pill{border:1.5px solid var(--border);color:var(--ink);background:var(--yellow);border-radius:999px;padding:3px 12px;font-size:.72rem;font-weight:700}.point-pill{border:1.5px solid var(--border);color:#fff;background:var(--red);border-radius:999px;padding:3px 12px;font-size:.72rem;font-weight:700}.timer-pill{border:1.5px solid var(--border);color:var(--ink);background:#f4f7ff;border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:800}@keyframes urgent-pulse{0%,to{transform:scale(1);box-shadow:0 0 #e6394666}50%{transform:scale(1.08);box-shadow:0 0 0 6px #e6394600}}.timer-pill.is-urgent{background:var(--red);color:#fff;border-color:var(--red);animation:.7s ease-in-out infinite urgent-pulse}.source-tags{flex-wrap:wrap;gap:6px;display:flex}.source-tag-btn{border:1.5px solid var(--border);color:var(--ink);cursor:default;opacity:1;background:#f3f7ff;border-radius:999px;padding:3px 10px;font-family:inherit;font-size:.72rem;font-weight:700}.source-tag-btn:disabled{color:var(--ink)}.quiz-card h2{color:var(--ink);margin:14px 0 20px;font-size:clamp(1rem,2.4vw,1.22rem);font-weight:700;line-height:1.7}.choices{gap:8px;display:grid}.choice-btn{border:2px solid var(--border);background:var(--bg-card);border-radius:var(--r-sm);color:var(--ink);text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);grid-template-columns:32px 1fr;align-items:center;gap:12px;padding:12px 14px;font-family:inherit;font-size:.93rem;font-weight:500;transition:box-shadow .15s,background .15s,border-color .15s;display:grid}.choice-btn:hover:not(:disabled){box-shadow:5px 5px 0 var(--border);background:#f8f9fa}.choice-btn:active:not(:disabled){box-shadow:var(--shadow-press)}.choice-index{border:2px solid var(--border);background:var(--yellow);width:32px;height:32px;color:var(--ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:800;transition:background .2s,border-color .2s,color .2s;display:inline-flex}@keyframes correct-pop{0%{transform:scale(1)}30%{transform:scale(1.04)}60%{transform:scale(.98)}to{transform:scale(1)}}@keyframes wrong-shake{0%,to{transform:translate(0)}15%{transform:translate(-6px)}30%{transform:translate(5px)}45%{transform:translate(-4px)}60%{transform:translate(3px)}75%{transform:translate(-2px)}}.choice-btn.is-correct{border-color:var(--green);box-shadow:3px 3px 0 var(--green),0 0 0 3px #06d6a02e;background:#e6fff5;animation:.4s cubic-bezier(.34,1.56,.64,1) correct-pop}.choice-btn.is-correct .choice-index{background:var(--green);color:#fff;border-color:#05b78c}.choice-btn.is-wrong{border-color:var(--coral);box-shadow:3px 3px 0 var(--coral),0 0 0 3px #ef476f26;background:#fff0f3;animation:.45s ease-in-out wrong-shake}.choice-btn.is-wrong .choice-index{background:var(--coral);color:#fff;border-color:#d63b5c}.choice-btn:disabled{cursor:default}.result-row{border-top:2.5px dashed var(--border);justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:16px;display:flex}.result-row p{color:var(--ink);margin:0;font-weight:600}.result-row strong{color:var(--red)}.auto-next-label{border:1.5px dashed var(--border);color:var(--ink);background:#fff6dd;border-radius:999px;padding:7px 12px;font-size:.78rem;font-weight:700;display:inline-block}.solid-btn{background:var(--red);color:#fff;border:var(--bw)solid var(--border);box-shadow:var(--shadow-sm);cursor:pointer;white-space:nowrap;border-radius:999px;padding:10px 22px;font-family:inherit;font-size:.88rem;font-weight:800;transition:transform .15s,box-shadow .15s}.solid-btn.secondary{background:var(--ink)}.finish-card{border:2px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-sm);background:#fff;margin-top:16px;padding:18px}.finish-card h3{color:var(--ink);margin-bottom:8px}.finish-card p{color:var(--text-sub);margin-bottom:12px}.finish-taunt{border:2px dashed var(--border);color:var(--ink);background:#fff6dd;border-radius:12px;padding:10px 12px;font-weight:700;line-height:1.55}.finish-actions{gap:8px;display:flex}.save-status{border:1.5px dashed var(--border);background:#f7fbff;border-radius:10px;padding:8px 10px;font-size:.78rem;font-weight:700}.badge-test-page{width:min(900px,100%);margin:0 auto}.badge-test-shell{border:2.5px solid var(--border);box-shadow:6px 6px 0 var(--border);background:radial-gradient(140% 100% at 85% 0,#ffb7032e 0%,#0000 50%),linear-gradient(160deg,#0d1b2a 0%,#1b2838 40%,#1d3557 100%);border-radius:18px;padding:28px 24px;position:relative;overflow:hidden}.badge-test-shell:before{content:"";pointer-events:none;background-image:radial-gradient(circle,#ffb7031f .6px,#0000 .6px);background-size:20px 20px;position:absolute;inset:0}.badge-test-kicker{color:var(--yellow);font-family:var(--font-display);letter-spacing:.12em;background:#ffb70326;border:1.5px solid #ffb70399;border-radius:999px;padding:4px 12px;font-size:.74rem;font-weight:400;display:inline-block;position:relative}.badge-test-shell h1{color:#fff;font-family:var(--font-display);margin:12px 0 8px;font-size:1.6rem;font-weight:400;position:relative}.badge-test-desc{color:#fff9;margin-bottom:18px;font-size:.88rem;font-weight:600;position:relative}.badge-test-action-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex;position:relative}.badge-test-action-row.secondary{margin-top:8px}@keyframes badge-backdrop-glow{0%,to{opacity:.92}50%{opacity:1}}.badge-test-backdrop{z-index:90;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:radial-gradient(60% 50% at 50% 40%,#ffb7031a 0%,#0000 70%),radial-gradient(80% 60%,#1d3557f5 0%,#070e1cfa 100%);animation:3s ease-in-out infinite badge-backdrop-glow;position:fixed;inset:0}.badge-test-scene{flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex;position:absolute;inset:0}.badge-test-scene-title{color:#fff;font-family:var(--font-display);text-shadow:0 2px 24px #ffb70359;margin:0 0 4px;font-size:1.5rem;font-weight:400}.badge-test-scene-sub{color:#ffffff80;margin:0;font-size:.85rem;font-weight:700}.badge-test-scene-progress{color:#ffffff73;letter-spacing:.04em;margin:0;font-size:.8rem;font-weight:800}.badge-test-scene-actions{gap:10px;margin-top:12px;display:flex}.badge-test-medallion-row{justify-content:center;gap:40px;padding:28px 0 12px;display:flex}.badge-test-medallion-wrap{flex-direction:column;align-items:center;gap:12px;display:flex}@keyframes badge-medallion-beckon{0%,to{box-shadow:0 0 #ffb70300,0 4px 24px #0006}50%{box-shadow:0 0 24px 10px #ffb7034d,0 4px 24px #0006}}@keyframes badge-charge-shake{0%,to{transform:translate(0)rotate(0)}10%{transform:translate(-2px,1px)rotate(-1.5deg)}20%{transform:translate(3px,-1px)rotate(2deg)}30%{transform:translate(-4px)rotate(-2.5deg)}40%{transform:translate(3px,1px)rotate(3deg)}50%{transform:translate(-2px,-1px)rotate(-3.5deg)}60%{transform:translate(4px)rotate(3.5deg)}70%{transform:translate(-3px,1px)rotate(-4deg)}80%{transform:translate(3px,-1px)rotate(4deg)}90%{transform:translate(-1px,1px)rotate(-1deg)}}@keyframes badge-charge-glow{0%{box-shadow:0 0 12px #ffb7034d,0 4px 24px #0006}to{box-shadow:0 0 45px 16px #ffb703a6,0 0 80px 30px #ff983933,0 4px 24px #0006}}@keyframes badge-reveal-burst{0%{opacity:.9;border-width:3px;transform:scale(.5)}to{opacity:0;border-width:0;transform:scale(3.2)}}@keyframes badge-img-pop{0%{opacity:.3;transform:scale(.6)}55%{opacity:1;transform:scale(1.12)}to{transform:scale(1)}}.badge-test-medallion{appearance:none;perspective:1200px;cursor:pointer;background:0 0;border:0;border-radius:50%;width:140px;height:140px;padding:0;transition:transform .2s;animation:2s ease-in-out infinite badge-medallion-beckon;position:relative}.badge-test-medallion:focus-visible{outline:2px solid var(--yellow);outline-offset:5px}.badge-test-medallion:not(.is-charging):not(.is-opening):not(.is-revealed):hover{transform:translateY(-5px)scale(1.06)}.badge-test-medallion:not(.is-charging):not(.is-opening):not(.is-revealed):active{transform:scale(.93)}.badge-test-medallion.is-charging{cursor:wait;transition:none;animation:60ms linear infinite badge-charge-shake}.badge-test-medallion.is-charging .badge-test-seal{animation:.65s ease-in forwards badge-charge-glow}.badge-test-medallion.is-opening{cursor:wait;animation:none}.badge-test-medallion.is-revealed{cursor:default;animation:none}.badge-test-medallion.is-revealed:after{content:"";pointer-events:none;border:3px solid #ffd75099;border-radius:50%;width:140px;height:140px;margin:-70px 0 0 -70px;animation:.6s ease-out forwards badge-reveal-burst;position:absolute;top:50%;left:50%}.badge-test-medallion-inner{width:100%;height:100%;transform-style:preserve-3d;border-radius:50%;position:relative}.badge-test-seal,.badge-test-badge-face{backface-visibility:hidden;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.badge-test-seal{background:#0d1b2a;border:3px solid #ffb70366;box-shadow:0 4px 28px #00000080}.badge-test-seal img{object-fit:cover;opacity:.7;width:100%;height:100%}.badge-test-seal-overlay{background:radial-gradient(circle,#ffb7031a 0%,#08132a80 50%,#08132ad1 100%);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.badge-test-seal-overlay span{color:var(--yellow);font-family:var(--font-display);text-shadow:0 2px 18px #ffb70399;font-size:2.4rem;font-weight:400}.badge-test-badge-face{border:3px solid var(--yellow);background:#fff;transform:rotateY(180deg);box-shadow:0 4px 28px #00000080}.badge-test-badge-face img{object-fit:contain;width:104px;height:104px}.badge-test-medallion.is-revealed .badge-test-badge-face img{filter:drop-shadow(0 0 10px #ffb70359);animation:.4s ease-out badge-img-pop}.badge-test-badge-name{font-family:var(--font-display);color:#fff;text-align:center;min-height:1.2em;font-size:.88rem;font-weight:400;display:block}@keyframes badge-shine-sweep{0%{left:-80%}to{left:180%}}@keyframes badge-glow-pulse{0%,to{box-shadow:inset 0 0 0 2px #ffd75099,0 0 20px #ff983959,0 4px 28px #0000004d}50%{box-shadow:inset 0 0 0 2px #ffebaee6,0 0 36px #ff983980,0 0 56px #ffb70326,0 4px 28px #0000004d}}.badge-test-medallion.is-revealed .badge-test-badge-face{background:linear-gradient(#fffdf6,#fffdf6) padding-box padding-box,linear-gradient(135deg,gold 0%,#ff8c00 25%,tomato 50%,gold 75%,orange 100%) border-box;border:3px solid #0000;animation:2s ease-in-out infinite badge-glow-pulse}.badge-test-medallion.is-revealed .badge-test-badge-face:before{content:"";z-index:-1;filter:blur(14px);background:radial-gradient(circle at 50% 35%,#ffd75080 0%,#ff8c004d 40%,#0000 70%);border-radius:50%;position:absolute;inset:-10px}.badge-test-medallion.is-revealed .badge-test-badge-face:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 20%,#ffffff1f 35%,#ffffff73 48%,#ffffff1f 62%,#0000 80%);border-radius:50%;width:50%;height:140%;animation:2.8s ease-in-out .3s infinite badge-shine-sweep;position:absolute;top:-20%;left:-80%;transform:skew(-18deg)}.badge-reveal-notice{color:#d93b00;text-align:center;margin-bottom:10px;font-size:.82rem;font-weight:800}.badge-reopen-btn{appearance:none;border:1.5px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:6px;margin-left:6px;padding:2px 8px;font-size:.72rem;font-weight:700;transition:background .15s}.badge-reopen-btn:hover{background:var(--hover)}.solid-btn:hover{box-shadow:5px 5px 0 var(--border);transform:translateY(-2px)}.solid-btn:active{box-shadow:var(--shadow-press);transform:translateY(1px)}@media (max-width:700px){.site-header-inner{grid-template-columns:minmax(0,1fr) auto;row-gap:8px;padding:8px 10px}.site-nav-wrap{grid-column:1/-1;justify-content:flex-start;padding-bottom:2px;overflow-x:auto}.site-nav{gap:14px;width:max-content}.site-brand{font-size:.86rem}.site-brand-mark{width:28px;height:28px}.site-user{padding-right:8px}.site-user-name{max-width:88px}.site-footer-inner{flex-direction:column}.site-footer-links{justify-content:flex-start}.page-wrap{padding:28px 14px 56px}.hero h1{font-size:1.7rem}.hero-badge{font-size:1.05rem}.hero-desc{font-size:.88rem}.top-bar{grid-template-columns:1fr}.quiz-shell{border-radius:var(--r);box-shadow:4px 4px 0 var(--border);padding:14px}.quiz-card{padding:16px}.mode-meta{flex-direction:column;align-items:flex-start}.gate-grid{grid-template-columns:1fr}.mode-intro-actions{flex-direction:column-reverse}.challenge-difficulty-grid{grid-template-columns:1fr}.result-row{flex-direction:column;align-items:stretch}.finish-actions,.entry-actions{flex-direction:column}.my-summary-grid{grid-template-columns:1fr}.global-toast{width:calc(100vw - 24px);max-width:520px}.image-lightbox-dialog{width:auto;max-width:100%;padding:0}.image-lightbox-close{top:2px;right:2px}.image-lightbox-image{width:min(90vw,430px);max-height:74vh}.admin-metric-grid,.admin-feedback-grid{grid-template-columns:1fr}.admin-signup-row{grid-template-columns:repeat(2,minmax(0,1fr))}.my-profile-card,.my-profile-meta{grid-template-columns:1fr}.display-name-form{flex-direction:column;align-items:stretch}.display-name-form input{border-radius:10px}.my-profile-meta-item{min-width:0}.my-rank-grid{grid-template-columns:1fr}.my-badge-topbar{flex-direction:column;align-items:flex-start}.badge-group-head{flex-direction:column}.profile-strip{flex-direction:column;align-items:stretch}.profile-email{max-width:100%}.profile-actions{justify-content:space-between}.community-post-head{flex-direction:column;align-items:flex-start}.community-notice-meta{flex-direction:column;align-items:flex-start;gap:2px}.community-comment-form{grid-template-columns:1fr}.community-comment-form input{border-radius:10px;height:40px}.feedback-submit-row{justify-content:stretch}.feedback-submit-row .solid-btn{width:100%}.feedback-item-head{flex-direction:column;align-items:flex-start}.solid-btn{text-align:center}}
