@charset "UTF-8";
:root{font-family:system-ui,-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;color:#20334f;background:#f3f7fc;font-size:16px;line-height:1.6;--primary:#2459a6;--line:#d6e1ef}
*{box-sizing:border-box}body{margin:0}header{max-width:1100px;margin:auto;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}.brand{font-size:24px;font-weight:850;letter-spacing:-1px;text-decoration:none;color:#20334f}.brand span{color:#2563eb}nav{display:flex;flex-wrap:wrap;gap:16px;align-items:center}nav form{margin:0}a{color:var(--primary);text-underline-offset:4px}main{max-width:1100px;margin:0 auto;padding:32px 24px 64px}h1{font-size:clamp(26px,4vw,38px);line-height:1.3;letter-spacing:-1px;margin:8px 0 20px}h2{font-size:24px;line-height:1.4;margin-top:32px}h3{font-size:20px;margin:14px 0 8px}p{margin:10px 0 18px}.eyebrow{font-size:14px;color:#506b8f;font-weight:750;letter-spacing:.04em;margin:0}.page-heading,.row{display:flex;justify-content:space-between;align-items:center;gap:16px}.page-heading{margin-bottom:24px}.tag{display:inline-block;font-size:14px;background:#eaf1fb;border:1px solid var(--line);border-radius:30px;padding:5px 12px;white-space:normal}.card{background:white;border:1px solid var(--line);padding:26px;border-radius:20px}.dashboard{display:grid;grid-template-columns:1fr 1.25fr;gap:20px}.dashboard h2{margin-top:8px}.balance{background:#e0ecfc;border-color:#bdd2f0}.big-number{font-size:78px;line-height:1.1;font-weight:800;letter-spacing:-4px;margin:30px 0}.big-number small{font-size:28px;letter-spacing:0;margin-left:8px}.rewards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.price{font-size:26px;font-weight:750}.stack{display:grid;gap:12px}.muted,.empty{color:#536781}.muted{font-size:14px}.empty{padding:24px;border:1px dashed #b9cbe2;border-radius:16px}.history{padding:16px 4px;border-bottom:1px solid var(--line)}.history small{display:block;font-size:14px;color:#536781}button,.button{display:inline-block;border:1px solid var(--primary);border-radius:12px;padding:12px 18px;background:var(--primary);color:white;font:inherit;font-weight:650;text-align:center;text-decoration:none;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.quiet{background:transparent;color:var(--primary);border-color:#bdcfe6}label{display:block;margin:12px 0 5px;font-weight:600}input:not([type=radio]):not([type=checkbox]),select,textarea{width:100%;border:1px solid #91a7c3;border-radius:10px;padding:12px;background:white;color:#20334f;font:inherit}textarea{max-width:100%;resize:vertical}input[type=checkbox],input[type=radio]{width:20px;height:20px;accent-color:var(--primary);vertical-align:middle;margin-right:8px}form button{margin-top:16px}nav button{margin:0;padding:6px 12px}select{margin-bottom:8px}.login{max-width:480px;margin:40px auto}.login-back{display:inline-block;margin-bottom:16px}.child-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:26px 0 18px}.child-button{display:flex;align-items:center;justify-content:center;min-height:92px;border:2px solid var(--primary);border-radius:18px;background:#eaf1fb;color:#20334f;font-size:24px;font-weight:800;text-decoration:none}.child-button:hover{background:#dbeafe}.admin-login{display:block;width:max-content;margin:24px auto 0;color:#536781;font-size:13px}.narrow{max-width:680px;margin:auto}.notice{border-left:4px solid #966015;padding:16px 20px;background:#fff2ce;border-radius:10px;margin-bottom:24px}.errorlist{color:#972b24;font-size:14px}.helptext{display:block;color:#536781;font-size:14px}.actions{display:flex;flex-wrap:wrap;gap:12px}fieldset{min-width:0}legend{font-size:20px;font-weight:700;padding:0 6px}.option{font-weight:400;border:1px solid var(--line);border-radius:10px;padding:12px}.option:has(input:checked){background:#e0ecfc;border-color:var(--primary)}.submit{margin-top:24px;width:100%}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #2563eb;outline-offset:3px}.hanja-attempt,.hanja-quiz-form,.hanja-question,.travel-attempt,.travel-quiz-form,.travel-question{min-width:0;max-width:100%}.hanja-attempt,.travel-attempt{overflow-wrap:anywhere;word-break:break-word}.travel-quiz-form{display:grid;gap:20px}.hanja-question,.travel-question{width:100%}.hanja-question h3,.travel-question h3{margin-top:0}.hanja-question .option,.travel-question .option{width:100%;min-width:0}.travel-attempt>.travel-question{margin-top:20px}
.account-name{font-size:18px;font-weight:650}.account-menu{position:relative}.settings-button{display:grid;place-items:center;width:52px;height:52px;padding:0;border:0;background:transparent;color:#365475;cursor:pointer;list-style:none}.settings-button::-webkit-details-marker{display:none}.settings-button:focus-visible{outline:3px solid #2563eb;outline-offset:1px}.settings-button svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:color .15s ease,transform .15s ease}.settings-button:hover svg,.account-menu[open] .settings-button svg{color:var(--primary);transform:rotate(18deg)}.account-dropdown{position:absolute;z-index:20;top:calc(100% + 4px);right:0;width:180px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 30px rgba(32,51,79,.16)}.account-dropdown a,.account-dropdown button{display:block;width:100%;margin:0;padding:11px 12px;border:0;border-radius:9px;background:transparent;color:#20334f;text-align:left;text-decoration:none;font-weight:600}.account-dropdown a:hover,.account-dropdown button:hover{background:#eaf1fb;color:var(--primary)}
.brand{display:inline-flex}.brand img{display:block;width:180px;height:auto}
@media(max-width:640px){header{align-items:flex-start;padding:16px;flex-direction:column}main{padding:24px 16px}.dashboard{grid-template-columns:1fr}.card{padding:20px}.page-heading,.row{align-items:flex-start;flex-wrap:wrap}.big-number{font-size:60px;margin:12px 0}.login{margin:16px auto}nav{width:100%;justify-content:space-between;gap:12px;font-size:14px}.account-dropdown{right:0}}
@media(max-width:640px){.brand img{width:160px}}

/* Child home: responsive five-tab workspace */
.child-home{min-width:0}.home-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:8px;background:#e6eef9;border:1px solid var(--line);border-radius:18px}.home-tab{display:flex;align-items:center;justify-content:center;gap:8px;min-height:54px;margin:0;padding:10px 8px;border-color:transparent;border-radius:12px;background:transparent;color:#425b7a;font-size:17px;white-space:nowrap;text-decoration:none}.home-tab:hover{background:#f8fbff}.home-tab[aria-selected=true]{background:#fff;color:var(--primary);border-color:#b9cce6;box-shadow:0 4px 12px rgba(40,76,126,.1)}.tab-panel{padding-top:30px}.tab-panel[hidden]{display:none}.panel-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:20px}.panel-heading h2{margin:4px 0 0}.panel-heading>p{max-width:430px;margin:0;color:#536781;text-align:right}.section-title{margin:28px 0 14px}.balance-summary{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr);gap:24px;align-items:center}.balance-summary .big-number{margin:14px 0 4px}.point-breakdown{display:grid;gap:10px;margin:0}.point-breakdown div{display:flex;justify-content:space-between;gap:16px;padding:14px 16px;background:rgba(255,255,255,.62);border-radius:12px}.point-breakdown dt{color:#536781}.point-breakdown dd{margin:0;font-weight:800}.reward-card{display:flex;flex-direction:column;align-items:flex-start}.reward-card .button,.reward-card .muted{margin-top:auto}.learning-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:32px;align-items:center}.learning-card h3,.feature-card h3{margin-top:18px}.learning-action{padding:20px;background:#f3f7fc;border-radius:16px}.learning-action form button{width:100%}.feature-card{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:220px}.feature-card>div{max-width:620px}.game-feature{background:linear-gradient(135deg,#fff 55%,#e8eef8)}.game-mark{display:grid;place-items:center;flex:0 0 144px;height:144px;border-radius:50%;background:#dce7f5;color:#6e83a1;font-size:22px;font-weight:900;letter-spacing:.12em}.status-pill{display:inline-flex;align-items:center;justify-content:center;width:max-content;padding:4px 10px;border-radius:999px;background:#e7eef8;color:#425b7a;font-size:13px;font-weight:750;white-space:nowrap}.status-pending{background:#fff0bf;color:#72530c}.status-approved{background:#dbeafe;color:#1d4f91}.status-fulfilled{background:#d9f6e4;color:#17633a}.status-rejected,.status-cancelled{background:#f3e1e1;color:#873b3b}.status-preparing{background:#e3eaf4;color:#536781}.request-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px}.request-row p{margin:6px 0 0;color:#536781}.request-row form,.request-row form button{margin:0}.request-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.history-title{margin-top:36px}.history-list{background:#fff;border:1px solid var(--line);border-radius:18px;padding:4px 20px}.history-list .history:last-child{border-bottom:0}.point-delta{white-space:nowrap}.point-delta.positive{color:#19683b}.point-delta.negative{color:#9b3b36}

@media(max-width:840px){.home-tabs{display:flex;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.home-tab{flex:0 0 auto;min-width:132px;scroll-snap-align:start}.panel-heading{align-items:flex-start;flex-direction:column;gap:6px}.panel-heading>p{text-align:left}.balance-summary,.learning-card{grid-template-columns:1fr}.feature-card{min-height:190px}}
@media(max-width:640px){.home-tabs{margin:0 -16px;padding:8px 16px;border-left:0;border-right:0;border-radius:0}.home-tab{min-width:124px;min-height:50px}.tab-panel{padding-top:24px}.panel-heading{margin-bottom:16px}.panel-heading h2{font-size:22px}.balance-summary{gap:16px}.balance-summary .big-number{font-size:56px}.point-breakdown div{padding:12px}.rewards{grid-template-columns:1fr}.reward-card .button{width:100%}.learning-action{padding:16px}.feature-card{align-items:flex-start;flex-direction:column}.feature-card .button{width:100%}.game-mark{align-self:center;flex-basis:112px;width:112px;height:112px;font-size:17px}.request-row{align-items:flex-start;flex-direction:column}.request-row form,.request-row form button{width:100%}.history-list{padding:2px 16px}.history-list .row{align-items:center;flex-wrap:nowrap}}

.status-expired{background:#f3e1e1;color:#873b3b}

/* Parent home: four-tab management workspace */
.parent-home{min-width:0}.parent-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.parent-wallets{margin-bottom:34px}.parent-wallets h3{margin-top:0}.management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.management-card{display:flex;flex-direction:column;gap:5px;color:#20334f;text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.management-card strong{color:var(--primary);font-size:20px}.management-card span{color:#536781}.management-card:hover{border-color:#9db7da;box-shadow:0 8px 20px rgba(40,76,126,.1);transform:translateY(-1px)}.parent-section-action{display:flex;justify-content:flex-end;margin:-4px 0 20px}.test-account-card{margin:0}.test-account-card>p:first-child{margin-top:0}
@media(max-width:840px){.parent-tabs{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));overflow-x:auto}.management-grid{grid-template-columns:1fr}}
@media(max-width:640px){.parent-tabs{display:flex}.parent-section-action{justify-content:stretch}.parent-section-action .button{width:100%}.test-account-card{max-width:none}}

.game-actions form{margin:0}.game-actions form>button{margin-top:0}.game-actions .actions{margin-top:8px}
.pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin:18px 0 34px}.pagination .button{padding:8px 14px}.pagination span{font-weight:700;color:#536781}.point-adjustment-card{margin:0}.point-adjustment-card>p:first-child{margin-top:0}
.section-divider{height:1px;margin:40px 0;border:0;background:var(--line)}
.question-bank-heading{margin-top:36px}.question-bank-heading h2{margin-bottom:4px}.question-group{padding:0;overflow:hidden}.question-group summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:20px 24px;cursor:pointer;list-style:none}.question-group summary::-webkit-details-marker{display:none}.question-group summary::before{content:"▸";color:var(--primary);transition:transform .15s ease}.question-group[open] summary::before{transform:rotate(90deg)}.question-group summary span{color:#536781;font-size:14px}.question-group[open] summary{border-bottom:1px solid var(--line)}.question-list{min-width:0;padding:0 24px 12px}.question-list-header,.question-list-row{display:grid;gap:16px;min-width:0;padding:11px 0;border-bottom:1px solid var(--line)}.question-list-header{color:#536781;font-size:13px;font-weight:700}.question-list-row:last-child{border-bottom:0}.question-list-row>*{min-width:0;overflow-wrap:anywhere}.hanja-list .question-list-header,.hanja-list .question-list-row{grid-template-columns:minmax(56px,.35fr) minmax(0,1fr) minmax(48px,.5fr)}.english-list .question-list-header,.english-list .question-list-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.json-import{margin-top:20px}.json-import textarea{min-height:280px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px}
.question-image{display:block;width:auto;max-width:100%;height:auto;max-height:520px;margin:16px auto 20px;border-radius:14px;object-fit:contain}.question-image-editor{padding:12px;margin:14px 0;background:#f3f7fc;border-radius:14px}.question-image-editor .question-image{max-height:260px;margin:8px auto}
@media(max-width:640px){.feature-card>.game-actions{width:100%;max-width:none}.game-actions>form>button{width:100%;min-height:48px}.game-actions .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.game-actions .actions form,.game-actions .actions button{width:100%}.game-actions .actions button{min-height:48px;padding:10px 8px}}
@media(max-width:640px){.question-group summary{padding:16px 18px}.question-list{padding:0 18px 10px}.question-list-header,.question-list-row{gap:10px}.hanja-list .question-list-header,.hanja-list .question-list-row{grid-template-columns:minmax(44px,.35fr) minmax(0,1fr) minmax(36px,.55fr)}}

.pc-agent-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-bottom:32px}.pc-agent-layout h2,.pairing-result h2{margin-top:0}.pairing-result{margin-bottom:20px;border-color:#79a5db;background:#eef6ff}.pairing-code-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pairing-code{display:inline-block;padding:14px 18px;border:1px solid #9bb9dc;border-radius:12px;background:#fff;color:#173d71;font:800 clamp(22px,4vw,32px)/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em}.pairing-code-row button,.pairing-pending form button{margin:0}.pairing-pending{padding-bottom:12px;border-bottom:1px solid var(--line)}.pairing-pending:last-child{border-bottom:0}.pairing-pending p{margin:3px 0 0}
.pc-agent-download{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}.pc-agent-download h2{margin:2px 0}.pc-agent-download p{margin-bottom:0}.pc-agent-download .actions{flex:0 0 auto}
@media(max-width:840px){.pc-agent-layout{grid-template-columns:1fr}}
@media(max-width:640px){.pc-agent-download{align-items:stretch;flex-direction:column}.pc-agent-download .actions{display:grid}.pc-agent-download .button{width:100%}}
