:root{color-scheme:dark;--bg:#102c25;--panel:#183930;--panel2:#1e4238;--line:#315349;--ink:#f4f3e8;--muted:#a4b9ac;--lime:#d5f58a;--gold:#eed29b;--red:#ff9990;font-family:Inter,"Pretendard","Noto Sans KR","Malgun Gothic",sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);min-width:320px;background-image:radial-gradient(ellipse at 90% 0%,#254b343a,transparent 60%)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--lime);outline-offset:4px}a{color:inherit}button{color:inherit}button,input,select{border-radius:12px}button{border:0}input,select{border:1px solid var(--line);background:#102e26;color:var(--ink);padding:15px;width:100%}input::placeholder{color:#77978b}.site-shell{max-width:1120px;padding:0 36px;margin:auto}.header{height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:14px;letter-spacing:1.7px;font-weight:500}.brand small{display:block;font-size:10px;letter-spacing:.3px;font-weight:400;color:var(--muted);margin-top:5px}.brand-mark{font-size:20px;font-weight:900;letter-spacing:-3px;width:42px;height:42px;border:1px solid #9fbb78;display:grid;place-content:center;transform:rotate(-8deg);color:var(--lime);border-radius:10px;position:relative}.brand-mark span{position:absolute;font-size:14px;right:6px;bottom:5px}.hall-link{display:flex;align-items:center;gap:9px;font-size:13px;text-decoration:none;color:var(--gold);border:1px solid var(--line);padding:11px 15px;border-radius:30px}.hall-link span{font-size:20px}.eyebrow{font-size:11px;letter-spacing:2.1px;font-weight:650;color:var(--lime);display:flex;align-items:center;gap:10px}.eyebrow:before{content:'';width:6px;height:6px;background:var(--lime);border-radius:50%}.hero{padding:45px 0 28px;display:flex;justify-content:space-between;align-items:center;gap:25px}.hero h1{font-size:46px;line-height:1.28;letter-spacing:-2px;margin:17px 0 16px;font-weight:750}.hero h1 em{font-style:normal;color:var(--lime)}.hero p{color:var(--muted);font-size:14px;line-height:1.9;margin:0}.hero-art{width:255px;height:240px;flex-shrink:0;position:relative}.hero-art svg{width:100%;height:100%}.art-tag{font-size:10px;letter-spacing:1.5px;color:var(--muted);position:absolute;right:5px;bottom:5px}.stat-strip{display:flex;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin-bottom:32px;gap:44px}.stat{display:flex;align-items:baseline;gap:8px}.stat strong{font-size:27px;font-weight:700;letter-spacing:-1px;font-variant-numeric:tabular-nums}.stat span{font-size:12px;color:var(--muted)}.stat-note{margin-left:auto;color:var(--muted);font-size:11px;display:flex;align-items:center}.home-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:24px;align-items:start}.setup{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:28px}.section-heading{display:flex;align-items:center;gap:10px;margin:0 0 15px;font-size:15px;font-weight:650}.step{color:var(--lime);border:1px solid #436448;border-radius:50%;width:23px;height:23px;display:grid;place-content:center;font-size:10px;font-variant-numeric:tabular-nums}.form-section+.form-section{margin-top:26px}.label-note{font-size:11px;color:var(--muted);margin:8px 0 0;line-height:1.6}.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.category{border:1px solid var(--line);background:#15332b;padding:18px;text-align:left;display:grid;grid-template-columns:34px 1fr;gap:0 10px;align-items:center;position:relative;min-height:82px}.category .icon{grid-row:span 2;width:30px;height:30px;color:var(--muted)}.category .icon svg{width:100%;height:100%}.category strong{font-size:14px;font-weight:600}.category small{color:var(--muted);font-size:10px;margin-top:5px}.category.selected{border-color:var(--lime);background:#d5f58a0b}.category.selected .icon{color:var(--lime)}.category.selected:after{content:'✓';position:absolute;right:10px;top:8px;font-size:10px;color:var(--lime)}.subject-panel{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.subject-heading{font-size:12px;margin:0 0 12px;color:var(--muted)}.team-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.team-chip{padding:12px 2px 9px;border:1px solid var(--line);background:#15332b;font-size:10px}.team-chip b{display:block;color:var(--team);font-size:13px;letter-spacing:-.6px;margin-bottom:6px}.team-chip.selected{border-color:var(--team);background:#ffffff0a}.player-search{padding:11px 13px;font-size:13px;margin-bottom:12px}.player-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;max-height:210px;overflow:auto;padding:3px}.player-chip{border:1px solid var(--line);background:#15332b;padding:12px 2px;font-size:12px}.player-chip small{display:block;font-size:9px;color:var(--muted);margin-top:5px}.player-chip.selected{border-color:var(--lime);color:var(--lime)}.levels{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.level{padding:14px 2px;border:1px solid var(--line);background:#15332b;font-size:12px}.level span{display:block;font-size:10px;color:#7c9d86;letter-spacing:0;margin-bottom:8px}.level.selected{background:var(--lime);color:var(--bg);border-color:var(--lime);font-weight:700}.level.selected span{color:#41622c}.level-description{color:var(--muted);font-size:11px;line-height:1.8;min-height:36px;margin-top:11px}.primary{background:var(--lime);color:#163022;width:100%;min-height:56px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:15px;font-weight:750;border-radius:12px}.primary:hover{background:#e1ffa0}.primary .arrow{margin-left:10px;font-size:22px;font-weight:400}.start-note{font-size:10px;text-align:center;line-height:1.7;color:var(--muted);margin:12px 0 0}.aside-card{border:1px solid var(--line);border-radius:22px;padding:25px;background:linear-gradient(130deg,#234637,#15342c)}.aside-card h2{font-size:24px;line-height:1.5;letter-spacing:-.7px;font-weight:650;margin:15px 0}.aside-card p{font-size:12px;line-height:1.9;color:var(--muted)}.trophy{width:65px;height:65px;color:var(--gold);margin:10px auto 22px}.trophy svg{width:100%;height:100%}.outline{background:transparent;border:1px solid var(--line);padding:14px 18px;font-size:12px;border-radius:12px;min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.aside-card .outline{width:100%;border-color:#739275;color:var(--gold)}.rules{margin:22px 0;padding:0;list-style:none}.rules li{display:flex;gap:11px;color:var(--muted);font-size:12px;line-height:1.8;margin-bottom:15px}.rules li b{color:var(--lime);font-size:10px;border:1px solid var(--line);padding:2px 6px;height:23px;flex-shrink:0}.note-card{border-left:2px solid #6c8667;padding:0 16px;margin:24px 5px;color:var(--muted);font-size:11px;line-height:1.9}.note-card strong{color:var(--ink);font-size:12px}footer{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.3px;color:#8da197;border-top:1px solid var(--line);margin-top:45px;padding:22px 0 25px}.loading{min-height:400px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--muted);font-size:14px}.spinner{display:inline-block;width:22px;height:22px;border:2px solid #668276;border-top-color:var(--lime);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#f6edde;color:#422b22;padding:15px 20px;border-radius:12px;box-shadow:0 8px 40px #0005;z-index:50;max-width:calc(100% - 32px);width:max-content;font-size:13px;line-height:1.7}#toast[hidden]{display:none}.error-box{padding:18px;background:#ff999012;border:1px solid #ff999060;border-radius:12px;color:var(--red);line-height:1.7;font-size:13px}.session{max-width:700px;margin:35px auto 0}.game-meta{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:25px;gap:12px}.badge{background:#d5f58a13;border:1px solid #597844;color:var(--lime);padding:5px 10px;border-radius:20px;font-size:11px}.progress{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;margin-bottom:24px}.progress i{height:5px;background:var(--line);border-radius:2px}.progress i.done{background:var(--lime)}.progress i.current{background:var(--gold)}.question-card{border:1px solid var(--line);background:var(--panel);border-radius:24px;padding:35px;min-height:270px;position:relative;overflow:hidden}.question-top{display:flex;align-items:center;justify-content:space-between}.question-count{font-size:13px;color:var(--muted)}.question-count b{font-size:25px;color:var(--ink);margin-right:4px}.timer{font-size:25px;font-weight:700;color:var(--lime);font-variant-numeric:tabular-nums;min-width:78px;text-align:right}.timer small{font-size:11px;font-weight:400;margin-left:4px}.timer.urgent{color:var(--red)}.time-track{height:3px;margin:20px 0 28px;background:var(--line);overflow:hidden}.time-track i{display:block;height:100%;background:var(--lime);transform-origin:left;transition:background .2s}.question-card h1{font-size:26px;line-height:1.65;letter-spacing:-.7px;margin:0;font-weight:650;word-break:keep-all}.question-type{margin-top:20px;font-size:10px;color:var(--muted);letter-spacing:1px}.answers{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.answer{background:var(--panel);border:1px solid var(--line);padding:21px;text-align:left;font-size:16px;display:flex;gap:15px;align-items:center;min-height:80px}.answer b{border:1px solid #52685d;border-radius:7px;width:27px;height:27px;display:grid;place-content:center;font-size:12px;color:var(--muted);flex-shrink:0}.answer:hover:not(:disabled){border-color:var(--lime)}.answer.ox{font-size:36px;font-weight:700;justify-content:center;height:110px}.answer.correct{border-color:var(--lime);background:#d5f58a13;color:var(--lime);opacity:1}.answer.wrong{border-color:var(--red);background:#ff999012;color:var(--red);opacity:1}.feedback{margin:22px 0;padding:19px;background:var(--panel);border-radius:14px;font-size:13px;line-height:1.9;border:1px solid var(--line)}.feedback strong{display:block;font-size:17px;color:var(--lime);margin-bottom:7px}.feedback.incorrect strong{color:var(--red)}.source{color:var(--muted);font-size:11px;text-underline-offset:4px}.question-footer{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted);margin:23px 0}.between{margin:20px 0}.result{max-width:720px;margin:40px auto}.result-top{text-align:center}.result-top h1{font-size:32px;letter-spacing:-1px;margin:12px 0}.result-top p{font-size:13px;color:var(--muted);line-height:1.8}.score-orb{width:180px;height:180px;border:1px solid var(--lime);border-radius:50%;display:flex;justify-content:center;align-items:center;flex-direction:column;margin:30px auto;background:radial-gradient(circle,#d5f58a10,transparent)}.score-orb strong{font-size:49px;letter-spacing:-2px;color:var(--lime);font-variant-numeric:tabular-nums}.score-orb span{font-size:12px;color:var(--muted);margin-top:8px}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:15px;padding:20px 0;margin:24px 0}.result-stats div{text-align:center;border-right:1px solid var(--line)}.result-stats div:last-child{border:0}.result-stats strong{display:block;font-size:24px}.result-stats small{display:block;font-size:11px;color:var(--muted);margin-top:8px}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.result-actions .primary{font-size:13px}.review-title{margin-top:35px;font-size:17px}.review{border-bottom:1px solid var(--line);padding:16px 0}.review summary{cursor:pointer;font-size:13px;line-height:1.8;display:flex;gap:12px;list-style:none}.review summary b{color:var(--lime);flex-shrink:0}.review.missed summary b{color:var(--red)}.review p{font-size:12px;line-height:1.9;color:var(--muted);margin-left:32px}.review .answer-label{color:var(--ink)}.hall{margin-top:35px}.hall h1{font-size:38px;letter-spacing:-1.5px;margin:12px 0}.hall-intro{font-size:13px;color:var(--muted);line-height:1.9}.hall-filters{margin:25px 0;background:var(--panel);padding:22px;border:1px solid var(--line);border-radius:18px}.hall-filter-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.hall-filter-row label{font-size:11px;color:var(--muted)}.hall-filter-row select{margin-top:7px}.board-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:25px 0 15px;font-size:15px}.board-title small{font-size:10px;color:var(--muted)}.leaderboard{border:1px solid var(--line);border-radius:18px;overflow:hidden}.board-row{display:grid;grid-template-columns:45px 1fr 100px;gap:10px;padding:17px 20px;align-items:center;border-bottom:1px solid var(--line)}.board-row:last-child{border-bottom:0}.board-row:first-child{background:#d5f58a0c}.board-row .rank{font-size:22px;color:var(--muted);font-weight:600}.board-row:nth-child(-n+3) .rank{color:var(--gold)}.board-row .nick{font-size:14px}.board-row small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.board-row .board-score{text-align:right;color:var(--lime);font-size:20px;font-variant-numeric:tabular-nums}.empty{padding:50px 20px;text-align:center;color:var(--muted);line-height:1.9;font-size:13px}.empty strong{display:block;color:var(--ink);font-size:18px;margin:12px 0}.hall-back{margin:24px 0}.abandon{font-size:11px;min-height:36px;padding:6px 12px;border:1px solid var(--line);background:transparent;color:var(--muted)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}body.playing .hall-link{pointer-events:none;opacity:.45}
@media(min-width:900px){.setup{padding:30px}.hero{padding-top:48px}.hero-art{margin-right:45px}.aside-card{margin-top:0}}
@media(max-width:700px){.site-shell{padding:0 20px}.header{height:80px}.brand{font-size:11px;letter-spacing:1px;gap:9px}.brand-mark{width:33px;height:33px;font-size:17px}.brand-mark span{font-size:11px;right:4px;bottom:4px}.brand small{font-size:8px}.hall-link{font-size:10px;padding:8px 10px;gap:5px}.hall-link span{font-size:16px}.hero{padding:28px 0 22px;gap:0;position:relative;align-items:flex-start}.hero h1{font-size:33px;letter-spacing:-1.5px;margin:14px 0 14px}.hero p{font-size:11px;line-height:1.8;position:relative;z-index:1}.hero-art{width:132px;height:142px;position:absolute;right:-2px;top:30px;opacity:.8}.art-tag{display:none}.hero .eyebrow{font-size:9px}.hero h1{position:relative;z-index:2}.stat-strip{gap:20px;margin-bottom:22px;padding:14px 0}.stat strong{font-size:23px}.stat span{font-size:10px}.stat{gap:5px}.stat-note{display:none}.home-grid{grid-template-columns:1fr;gap:20px}.setup{border-radius:18px;padding:20px}.form-section+.form-section{margin-top:23px}.section-heading{font-size:14px;margin-bottom:13px}.category{padding:15px 11px;grid-template-columns:26px 1fr;gap:0 8px;min-height:80px}.category .icon{width:25px;height:25px}.category strong{font-size:13px}.category small{font-size:9px}.category-grid{gap:8px}.levels{gap:5px}.level{font-size:11px;padding:13px 0}.level span{font-size:9px}.team-grid{gap:5px}.team-chip{font-size:9px}.team-chip b{font-size:11px}.aside-card{padding:23px}.aside-card h2{font-size:23px}.trophy{float:right;width:58px;height:58px;margin:0 5px}.rules{margin-top:20px}.note-card{margin:18px 5px}footer{margin-top:28px;display:block;line-height:2}footer span{display:block;font-size:8px}.session{margin-top:26px}.game-meta{margin-bottom:18px;font-size:10px}.question-card{padding:25px 22px;min-height:265px;border-radius:18px}.question-card h1{font-size:23px;line-height:1.6}.time-track{margin:16px 0 25px}.question-count b{font-size:22px}.timer{font-size:22px}.answers{gap:9px;margin-top:14px}.answer{padding:16px 12px;font-size:14px;gap:10px;min-height:78px;word-break:keep-all}.answer b{width:23px;height:23px;font-size:10px}.answer.ox{height:95px}.progress{gap:3px;margin-bottom:18px}.feedback{margin:17px 0}.question-footer{font-size:10px}.result{margin-top:30px}.result-top h1{font-size:28px}.score-orb{width:165px;height:165px}.result-actions{grid-template-columns:1fr}.hall h1{font-size:31px}.hall{margin-top:28px}.hall-filters{padding:17px}.board-row{padding:16px 15px;grid-template-columns:30px 1fr 75px;gap:8px}.board-row .nick{font-size:13px}.board-row .board-score{font-size:18px}.board-title{font-size:13px}.board-title small{font-size:9px}.board-row .rank{font-size:19px}}
@media(max-width:370px){.site-shell{padding:0 14px}.hero h1{font-size:29px}.hero-art{width:112px}.setup{padding:16px}.stat-strip{gap:15px}.category small{font-size:8px}.level{font-size:10px}.answer{font-size:12px}.hero p{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition:none!important;scroll-behavior:auto!important}}

.hall-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:25px 0}.hall-tab{padding:15px 5px;border:1px solid var(--line);background:var(--panel);font-size:13px}.hall-tab.selected{border-color:var(--lime);color:var(--lime);background:#d5f58a13}.board-row .record-subject{color:var(--gold);line-height:1.5}.board-row .nick{min-width:0;overflow-wrap:anywhere}
