@font-face{font-family:Pretendard;src:url('./assets/PretendardSubset.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--ink:#253d34;--muted:#829087;--green:#26765d;--green-dark:#1b5945;--line:#e5eae1;--cream:#f7f8f2;--mint:#eaf2e6;--white:#fff;--shadow:0 12px 32px #284c3510;font-family:Pretendard,system-ui,sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--cream);font-size:14px}button,a,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}a{color:inherit;text-decoration:none}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #d49b42;outline-offset:4px}button{border:0}svg.icon{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}button span:has(.icon){display:inline-flex}button .icon{width:19px;height:19px}[hidden]{display:none!important}.app-shell{display:flex;min-height:100vh}.sidebar{width:220px;background:#fffefa;border-right:1px solid var(--line);padding:36px 22px 24px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:10px;font-weight:850;font-size:23px;letter-spacing:-1.2px;white-space:nowrap}.brand small{display:block;font-size:10px;letter-spacing:.15px;font-weight:500;color:var(--muted);margin-top:5px}.brand-mark{position:relative;background:var(--green);color:#fff7df;border-radius:14px;width:39px;height:42px;text-align:center;font-size:33px;line-height:42px;letter-spacing:-5px;padding-right:4px;flex-shrink:0}.brand-mark>span{position:absolute;right:1px;top:-14px;color:#b0d38a;font-size:20px}.sidebar-label{font-size:9px;color:#a4afa4;letter-spacing:1.5px;font-weight:650;margin:55px 13px 17px}.sidebar nav{display:grid;gap:9px}.sidebar nav>a{display:flex;align-items:center;gap:12px;border-radius:12px;padding:14px 15px;font-weight:600;color:#8a948a;font-size:14px}.sidebar nav>a.active{background:#eaf2e6;color:var(--green)}.sidebar nav>a:hover{background:#f0f5ed}.nav-dot{margin-left:auto;width:6px;height:6px;background:var(--green);border-radius:50%;display:none}.active .nav-dot{display:block}.nav-count{margin-left:auto;background:#edf1e8;color:#708572;padding:3px 7px;border-radius:6px;font-size:10px}.side-bottom{margin-top:auto;padding-top:50px}.guide-card{background:#f3f4e9;border-radius:18px;padding:20px 17px;position:relative;overflow:hidden}.guide-card strong{font-size:17px;line-height:1.55;position:relative;z-index:1}.guide-card p{color:#8a9480;font-size:11px;line-height:1.8}.tiny-stars{position:absolute;right:9px;top:13px;color:#9baa72;font-size:21px}.mini-mage{position:absolute;right:-10px;top:11px;width:94px;height:114px;background:url('./assets/mage-walk.webp') 0 0/300% 400%;opacity:.75;transform:rotate(8deg)}.text-btn{padding:0;background:none;color:var(--green);font-size:12px;font-weight:700}.text-btn span{margin-left:8px}.side-settings{display:flex;align-items:center;gap:11px;background:none;color:#818d82;font-size:13px;margin:23px auto 12px}.save-notice{font-size:10px;color:#a0aa9a;text-align:center}.save-notice i{display:inline-block;width:5px;height:5px;background:#a6c38c;border-radius:50%;vertical-align:middle;margin-right:4px}.main-shell{margin-left:220px;width:calc(100% - 220px)}.topbar{height:91px;padding:0 46px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fffefa9e}.breadcrumb{color:#99a294;font-size:12px}.breadcrumb span{margin:0 12px;color:#bec6b7}.breadcrumb strong{color:#4c6250;font-weight:550}.top-actions{display:flex;align-items:center;gap:22px}.edition{color:#96a28e;font-size:9px;letter-spacing:1.8px}.icon-button{width:37px;height:37px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#fff;border:1px solid var(--line);color:#68806b}.profile{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:650}.profile small{display:block;color:#9aa593;font-weight:400;font-size:10px;margin-top:4px}.avatar{width:39px;height:39px;background:#e7edda url('./assets/mage-portrait.webp') center 19%/100%;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}main{max-width:1450px;margin:auto;padding:32px 46px 32px;min-height:75vh}.hero{border:1px solid #dde8d5;border-radius:25px;overflow:hidden;position:relative;min-height:310px;background:#e6eedf;display:flex}.hero-copy{position:relative;z-index:2;padding:38px;width:47%;background:linear-gradient(90deg,#eaf1e4 80%,#eaf1e400);display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:650;color:#6f8a66;display:flex;align-items:center;gap:6px}.eyebrow i{width:6px;height:6px;border-radius:50%;background:#89aa74}.hero h1{font-size:38px;letter-spacing:-1.7px;line-height:1.35;margin:15px 0 10px;font-weight:780;white-space:nowrap}.hero h1 em{color:var(--green);font-style:normal}.hero-copy p{color:#7d8b73;font-size:12px;line-height:1.85;margin:0 0 20px}.primary-button{background:var(--green);color:#fffdf1;border:1px solid transparent;border-radius:11px;padding:13px 22px;display:inline-flex;align-items:center;justify-content:center;gap:17px;font-size:13px;font-weight:600;box-shadow:0 4px 0 #1b5945;transition:transform .16s,background .16s}.primary-button:hover{background:#1c654f;transform:translateY(-2px)}.primary-button:active{transform:translateY(3px);box-shadow:0 1px 0 #1b5945}.primary-button .icon{width:15px;height:15px;fill:currentColor;stroke-width:0}.hero-copy .primary-button{margin-top:auto}.hero-art{position:absolute;right:0;top:0;width:63%;height:100%;object-fit:cover;object-position:center}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#eaf1e400 90%,#eaf1e425);pointer-events:none}.hero-pill{position:absolute;background:#fffcf1f0;border:1px solid #fff8;box-shadow:0 4px 18px #23493112;padding:9px 14px;border-radius:10px;z-index:2;font-size:12px;display:flex;align-items:center;gap:9px;color:var(--green);transform:rotate(-5deg)}.hero-pill b{font-weight:750}.hero-pill small{font-size:10px;color:#8f9d83}.hero-pill.p1{left:57%;top:24px}.hero-pill.p2{right:24px;bottom:26px;transform:rotate(4deg)}.hero-pill i{font-style:normal;color:#e3ac4d}.hero-subnote{position:absolute;right:24px;top:21px;color:#fff;background:#254f3470;backdrop-filter:blur(8px);padding:6px 10px;border:1px solid #fff3;border-radius:20px;font-size:9px;z-index:2;letter-spacing:1px}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);margin:23px 0 31px;background:#fffefa;border:1px solid var(--line);border-radius:16px;padding:20px 0}.stat{padding:0 25px;display:flex;align-items:center;gap:13px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat-icon{width:38px;height:38px;border-radius:12px;background:#f0f4e8;color:#81966b;display:flex;align-items:center;justify-content:center}.stat:nth-child(2) .stat-icon{background:#fff2d9;color:#c7a14e}.stat:nth-child(3) .stat-icon{background:#f2ecf6;color:#a692b2}.stat:nth-child(4) .stat-icon{background:#eaf1f6;color:#86a7b2}.stat small{display:block;color:#8a9783;font-size:10px;margin-bottom:5px}.stat strong{font-size:21px;letter-spacing:-.5px;font-weight:720}.stat strong span{font-size:10px;color:#a4ad9e;font-weight:400;margin-left:5px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 19px;gap:15px}.section-heading h2{font-size:21px;letter-spacing:-.7px;margin:0 0 6px;font-weight:730}.section-heading p{color:#929d8a;font-size:11px;margin:0}.segmented{display:flex;border:1px solid var(--line);border-radius:9px;padding:4px;background:#eeefe8;gap:3px}.segmented button{background:none;border-radius:6px;font-size:11px;padding:7px 13px;color:#8c9785;white-space:nowrap}.segmented button.active{background:#fffef9;box-shadow:0 2px 5px #3445320b;color:#3e6247;font-weight:650}.map-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.map-card{border:1px solid #e1e6db;border-radius:17px;background:#fffefa;overflow:hidden;text-align:left;padding:0;position:relative;transition:transform .2s,box-shadow .2s,border-color .2s}.map-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.map-card.selected{border:2px solid #438565;box-shadow:0 5px 18px #43856512}.map-cover{position:relative;height:154px;background:#e7ecdc;overflow:hidden}.map-cover>img{height:100%;width:100%;object-fit:cover;transition:transform .7s}.map-card:hover .map-cover>img{transform:scale(1.05)}.map-cover:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#293d2d25)}.map-category{position:absolute;top:12px;left:12px;border-radius:6px;padding:5px 9px;background:#fffdf0e6;color:#64775a;font-size:9px;font-weight:650;z-index:1}.map-category.unexpected{background:#fff0e5eb;color:#b38662}.selected-tick{position:absolute;right:12px;top:12px;border-radius:50%;width:23px;height:23px;background:#fffdfa;color:var(--green);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 5px #0001;z-index:1}.selected-tick .icon{width:14px;height:14px;stroke-width:2.5}.map-number{position:absolute;bottom:11px;left:14px;color:#fffff3;font-size:9px;letter-spacing:1.5px;z-index:1}.map-info{padding:16px 17px 15px}.map-title-row{display:flex;justify-content:space-between;align-items:center}.map-title-row strong{font-size:17px;letter-spacing:-.5px;font-weight:720}.map-level{font-size:9px;color:#9ca78f;letter-spacing:1px}.map-level i{color:#74a073;font-style:normal}.map-en{font-size:10px;color:#9aa48f;margin-top:4px;letter-spacing:.3px}.map-meta{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf0e7;margin-top:13px;padding-top:11px;font-size:10px;color:#8e9c85}.map-meta span:last-child{color:#7d9475}.map-card.selected .map-meta span:last-child{color:var(--green);font-weight:600}.journey-bar{margin-top:22px;background:#eef2e6;border:1px solid #dfe7d5;border-radius:14px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:15px}.journey-title{display:flex;align-items:center;gap:13px}.journey-title>span{font-size:28px}.journey-title strong{display:block;font-size:13px}.journey-title small{display:block;font-size:10px;color:#91a083;margin-top:5px}.journey-options{display:flex;gap:20px;align-items:center}.duration-control{display:flex;align-items:center;gap:8px;color:#89987d;font-size:10px}.duration-control select{border:1px solid #dce4d2;background:#fffdf5;border-radius:7px;padding:8px 9px;color:#52704d;font-size:11px}.journey-bar .primary-button{font-size:12px;padding:11px 19px}.journey-footnote{font-size:10px;color:#a0aa93;display:flex;align-items:center;justify-content:center;gap:6px;margin:15px 0 0}.journey-footnote .icon{width:12px;height:12px}.site-footer{max-width:1450px;margin:0 auto;padding:0 46px 28px;display:flex;justify-content:space-between;color:#aab19f;font-size:9px;gap:15px}.site-footer b{font-size:11px;font-weight:650;letter-spacing:-.5px}.page-title{margin:4px 0 27px}.page-title .eyebrow{margin-bottom:12px}.page-title h1{font-size:31px;letter-spacing:-1px;margin:0 0 11px}.page-title p{color:#8a9883;font-size:12px;line-height:1.8}.page-toolbar{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:20px}.search-input{border:1px solid var(--line);background:#fffefa;padding:12px 16px;border-radius:10px;width:240px;font-size:12px;color:var(--ink)}.empty-state{background:#fffefa;border:1px solid var(--line);border-radius:22px;text-align:center;padding:55px 25px 60px}.empty-mage{width:135px;height:180px;margin:0 auto;background:url('./assets/mage-walk.webp') 0 0/300% 400%}.empty-state h2{font-size:22px;letter-spacing:-.6px;margin:9px 0}.empty-state p{color:#95a08c;font-size:12px;line-height:1.9;margin-bottom:25px}.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.vocab-card{background:#fffefa;border:1px solid var(--line);border-radius:14px;padding:20px}.vocab-card header{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.type-tag{font-size:9px;background:#edf3e5;color:#6e8d60;border-radius:5px;padding:4px 7px}.type-tag.phrase{background:#f6edde;color:#b28a51}.vocab-card h3{font-size:20px;font-weight:680;margin:0 0 7px;word-break:break-word}.vocab-card p{font-size:12px;color:#809077;margin:0 0 13px}.vocab-card blockquote{border-left:2px solid #d9e6ce;margin:0;padding-left:10px;color:#9aa38f;font-size:11px;line-height:1.7}.vocab-card .word-map{color:#a6ad9a;font-size:9px;margin-top:14px}.report-history{display:flex;gap:9px;margin-bottom:20px;overflow:auto;padding-bottom:5px}.history-button{background:#fffefa;border:1px solid var(--line);border-radius:10px;padding:11px 17px;text-align:left;white-space:nowrap;font-size:11px}.history-button small{display:block;color:#a0aa93;font-size:9px;margin-top:4px}.history-button.active{background:#eaf2e5;border-color:#a5bfa0;color:var(--green)}.report-paper{background:#fffefa;border:1px solid var(--line);border-radius:22px;padding:31px}.report-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:24px}.report-header h2{font-size:27px;letter-spacing:-1px;margin:10px 0}.report-header p{color:#91a087;font-size:11px;margin:0}.report-stamp{color:#739f65;border:1px solid #bdd3aa;background:#f1f5e9;border-radius:50%;width:80px;height:80px;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(9deg);font-size:10px;gap:5px}.report-stamp span{font-size:25px}.report-paper .stats-row{margin:24px 0;padding:12px 0;border:0;background:#f6f7ef}.report-paper .stat{padding:0 17px}.report-paper .stat strong{font-size:22px}.report-paper .stat-icon{display:none}.report-section-title{font-size:16px;letter-spacing:-.5px;margin:27px 0 15px}.report-table{width:100%;border-collapse:collapse;font-size:12px}.report-table th{text-align:left;color:#a0ac94;font-size:10px;font-weight:500;padding:10px;border-bottom:1px solid var(--line)}.report-table td{padding:13px 10px;border-bottom:1px solid #edf0e6;line-height:1.6}.report-table td:first-child{font-weight:650;color:#3a684e;width:24%}.report-table td:nth-child(2){width:24%;color:#7a8b70}.report-table td:nth-child(3){color:#939d88;font-size:11px}.report-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end;margin:20px 0}.secondary-button{border:1px solid #dfe6d6;background:#fffefa;border-radius:9px;padding:11px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:11px;color:#6f8666}.secondary-button:hover{background:#eef3e7}.practice-box{padding:24px;background:#f0f4e9;border:1px solid #e2e9d8;border-radius:15px}.practice-label{color:#779166;font-size:9px;letter-spacing:1.5px;font-weight:650}.practice-box h3{font-size:17px;line-height:1.6;font-weight:550;margin:13px 0;color:#466344}.practice-box p{font-size:12px;color:#809376;line-height:1.9}.practice-actions{display:flex;gap:10px;align-items:center;margin-top:17px}.sample-answer{margin-top:18px;padding-top:15px;border-top:1px solid #dce7ce;font-size:13px;color:#607b56;line-height:1.9}.report-note{color:#a1ad95;font-size:10px;line-height:1.8;margin:18px 0 0}.game-screen{position:fixed;inset:0;z-index:30;background:#d9eab1;isolation:isolate}.game-screen canvas{width:100%;height:100%;display:block;touch-action:none;outline:0}.game-top{position:absolute;top:22px;left:28px;right:28px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.game-map-label{display:flex;align-items:center;gap:10px;background:#fffef2e8;border-radius:13px;padding:11px 16px;box-shadow:0 4px 16px #23432510}.game-map-label>span{font-size:27px}.game-map-label small{display:block;font-size:8px;letter-spacing:1.3px;color:#91a27b}.game-map-label strong{display:block;font-size:17px;margin-top:4px}.game-clock{font-variant-numeric:tabular-nums;font-size:25px;font-weight:750;background:#fffef2e8;padding:12px 20px;border-radius:12px;box-shadow:0 4px 16px #23432510}.game-clock span{font-size:13px;color:#8ba176;font-weight:450}.game-pause{pointer-events:auto;width:45px;height:45px;background:#fffef2e8;border-radius:13px;font-weight:900;font-size:17px}.game-status{position:absolute;top:105px;left:28px;width:210px}.hp-label,.xp-label{display:flex;align-items:center;gap:7px;font-size:12px;color:#c88679;font-weight:700}.hp-label>span{color:#638157;font-size:10px}.hp-track,.xp-track{height:8px;border-radius:10px;background:#ffffffa0;overflow:hidden;flex:1;border:1px solid #ffffffc0}.hp-track>i,.xp-track>i{height:100%;width:100%;display:block;border-radius:10px;background:#e6a58f;transition:width .2s}.xp-label{margin-top:9px;font-size:10px;color:#5f884d}.xp-track{height:6px}.xp-track>i{background:#699c58;width:0}.game-score{position:absolute;top:106px;right:28px;display:flex;gap:17px;background:#fffef2df;padding:11px 15px;border-radius:10px;color:#8c9b7b;font-size:11px}.game-score b{color:#406d39;margin-left:4px}.game-controls-hint{position:absolute;bottom:23px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:11px;color:#577443;background:#fffef0ce;padding:10px 17px;border-radius:30px;pointer-events:none}.game-controls-hint span{margin:0 8px;color:#a5b78c}.capture-card{position:absolute;bottom:76px;left:50%;transform:translateX(-50%);min-width:250px;background:#fffef3f5;border:1px solid #dae5c7;padding:15px 22px;border-radius:16px;text-align:center;box-shadow:0 8px 30px #2943271a;pointer-events:none;animation:pop-in .25s ease-out}.capture-card small{color:#9cb184;font-size:9px;letter-spacing:1px}.capture-card strong{display:block;font-size:25px;color:#2f714f;margin:7px 0}.capture-card p{font-size:12px;color:#8e9e7b;margin:0}.boss-notice{position:absolute;top:165px;left:50%;transform:translateX(-50%);background:#fff0ceef;border:1px solid #e6c588;border-radius:30px;color:#a7823f;font-size:12px;padding:10px 20px;text-align:center;box-shadow:0 4px 15px #754c1412;pointer-events:none}.game-overlay{position:absolute;inset:0;background:#25473370;backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;padding:24px;z-index:4}.overlay-panel{background:#fffef5;border:1px solid #fff;border-radius:25px;max-width:660px;width:100%;padding:36px;text-align:center;box-shadow:0 20px 100px #15312230}.overlay-panel h2{font-size:29px;letter-spacing:-1px;margin:10px 0}.overlay-panel>p{font-size:12px;line-height:1.8;color:#93a081}.overlay-panel .eyebrow{justify-content:center}.overlay-actions{display:flex;justify-content:center;gap:11px;margin-top:25px}.upgrade-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:25px}.upgrade-choice{background:#f0f4e7;border:1px solid #dfe8d1;padding:22px 12px;border-radius:15px;transition:transform .2s}.upgrade-choice:hover{transform:translateY(-5px);border-color:#7da96c;background:#e8f0dd}.upgrade-choice>span{display:block;font-size:30px;margin-bottom:15px}.upgrade-choice strong{font-size:15px;display:block}.upgrade-choice p{font-size:11px;line-height:1.7;color:#91a07d}.finish-icon{font-size:50px}.finish-stats{display:flex;justify-content:center;gap:35px;margin:25px 0}.finish-stats b{display:block;font-size:26px;color:var(--green);margin-bottom:6px}.finish-stats span{font-size:10px;color:#97a384}dialog{border:1px solid #e3e8da;border-radius:22px;padding:30px;background:#fffef7;color:var(--ink);width:min(480px,calc(100% - 32px));box-shadow:0 20px 100px #152f2a33}dialog::backdrop{background:#243e345c;backdrop-filter:blur(5px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dialog-heading h2{font-size:22px;letter-spacing:-.6px;margin:0}.dialog-close{background:#f0f3e8;border-radius:50%;height:30px;width:30px;color:#91a17f;font-size:21px}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:19px 0;border-top:1px solid var(--line);gap:20px}.setting-row strong{font-size:13px;display:block}.setting-row small{font-size:11px;color:#99a58d;display:block;margin-top:7px;line-height:1.7}.switch{appearance:none;background:#dce4d5;width:42px;height:24px;border-radius:20px;position:relative;flex-shrink:0;cursor:pointer;transition:background .2s}.switch:after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 4px #0002}.switch:checked{background:var(--green)}.switch:checked:after{transform:translateX(18px)}.dialog-note{font-size:11px;color:#9aa88c;line-height:1.9;border-radius:10px;background:#f2f5e9;padding:14px}.guide-steps{padding:0;list-style:none;counter-reset:guide}.guide-steps li{padding:15px 0 15px 42px;border-top:1px solid var(--line);position:relative}.guide-steps li:before{counter-increment:guide;content:counter(guide);position:absolute;left:0;top:17px;width:27px;height:27px;border-radius:9px;background:#e9f1e0;color:var(--green);display:grid;place-items:center;font-weight:700;font-size:12px}.guide-steps strong{font-size:13px}.guide-steps p{font-size:11px;color:#93a185;line-height:1.8;margin:7px 0 0}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#264f3f;color:#fffdf1;padding:13px 23px;border-radius:12px;box-shadow:0 5px 30px #0002;z-index:80;font-size:12px;max-width:90%;text-align:center}.print-only{display:none}.storage-error{color:#ae8159;background:#fff1df;border-radius:9px;padding:12px;font-size:11px;margin-bottom:15px}.list-count{color:#9cab8d;font-size:11px;margin-bottom:17px}.subtle-link{color:#608957;border-bottom:1px solid #aec5a0}.report-empty-table{font-size:12px;color:#9aa98b;padding:25px;text-align:center}.practice-timer{color:#467640;font-weight:700;font-variant-numeric:tabular-nums;font-size:17px}.data-notice{margin-top:20px;font-size:10px;color:#a2ae96;line-height:1.8}
@keyframes pop-in{from{opacity:0;margin-bottom:-10px}to{opacity:1;margin-bottom:0}}
.sidebar-sounds{display:grid;gap:6px;margin:0 2px}.sound-toggle{display:flex;align-items:center;gap:9px;border-radius:10px;border:1px solid #dee8d7;background:#f1f6e9;color:#487454;padding:11px 13px;text-align:left;transition:background .15s}.sound-toggle>span{font-size:19px;width:20px;display:flex;justify-content:center}.sound-toggle strong{font-size:11px;font-weight:600}.sound-toggle small{margin-left:auto;background:#dcebd0;border-radius:4px;padding:3px 5px;font-size:8px;font-weight:700;letter-spacing:.5px}.sound-toggle.off{background:#f6f6f0;color:#9ba58e;border-color:#e8ebdf}.sound-toggle.off small{background:#e8eadf;color:#a1aa94}.sound-toggle:hover{border-color:#a1bb90}.pause-sounds{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:26px auto 0;max-width:440px}.pause-sounds .sound-toggle{padding:17px 14px}.pause-sounds .sound-toggle strong{font-size:12px}.game-pause{font-size:11px;font-weight:650}.voice-preview-status{font-size:11px;color:#648957;line-height:1.7;min-height:18px;margin:13px 0 0}
.profile{background:transparent;border:0;text-align:left;padding:0}.sidebar{overflow-y:auto}.sidebar-ranking{margin:18px 8px 0}.mini-rank-heading{font-size:8px;letter-spacing:1px;color:#99aa8b;display:flex;justify-content:space-between;margin-bottom:10px}.mini-rank-row{display:flex;gap:8px;align-items:center;margin:8px 0;color:#8a9d7b;font-size:10px}.mini-rank-row>b{width:15px;color:#c3a570}.mini-rank-row>span{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mini-rank-row>strong{color:#638253;font-size:11px}.mini-rank-row small{font-size:8px;color:#a6b198;margin-left:3px}.sidebar-ranking>p{color:#a5af99;font-size:10px;line-height:1.8}.stats-row{grid-template-columns:repeat(5,1fr)}.stat{padding:0 17px;gap:10px}.stat-icon{width:31px;height:33px;border-radius:10px}.stat-icon .icon{width:17px;height:17px}.difficulty-panel{display:flex;align-items:center;gap:24px;background:#fffefa;border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:30px}.difficulty-panel>div:first-child{flex:0 0 200px}.difficulty-panel .eyebrow{font-size:8px;letter-spacing:1.3px}.difficulty-panel h3{font-size:16px;letter-spacing:-.5px;margin:8px 0 0}.difficulty-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;flex:1}.difficulty-choice{border:1px solid #e3e9da;background:#f7f8f0;border-radius:10px;padding:13px 12px;text-align:left}.difficulty-choice strong{display:block;font-size:12px;margin-bottom:6px;color:#7e9170}.difficulty-choice span{display:block;font-size:9px;line-height:1.6;color:#a0ad93}.difficulty-choice.active{border-color:#92b581;background:#eaf3e1}.difficulty-choice.active strong{color:#42713f}.difficulty-choice:hover{border-color:#9fba8a}.home-ranking{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:23px;margin-top:28px}.home-ranking h3{font-size:19px;margin:9px 0;color:#496b45;letter-spacing:-.7px}.home-ranking p{font-size:11px;color:#94a387;line-height:1.8}.ranking-banner{border:1px solid #dce7cd;background:linear-gradient(120deg,#e5efda,#f5f0da);border-radius:20px;padding:29px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.ranking-banner span{color:#9bb27c;font-size:9px;letter-spacing:2px}.ranking-banner h2{font-size:26px;letter-spacing:-1px;margin:12px 0;color:#477144}.ranking-banner p{color:#91a17e;font-size:11px;line-height:1.9;margin:0;max-width:360px}.my-rank{display:flex;align-items:center;gap:24px;background:#fff7df;border:1px solid #e8dab4;border-radius:12px;padding:17px 23px;margin-bottom:22px;color:#ab9359;font-size:12px}.my-rank>strong{font-size:22px;color:#8b733c}.my-rank>span:last-child{margin-left:auto}.ranking-board{background:#fffefa;border:1px solid var(--line);border-radius:20px;padding:27px}.ranking-board .section-heading h2{font-size:18px}.ranking-board .section-heading p{font-size:10px}.ranking-table-wrap{overflow-x:auto}.ranking-table{width:100%;border-collapse:collapse;font-size:12px}.ranking-table th{padding:14px 10px;border-bottom:1px solid #dfe8d5;font-size:10px;font-weight:450;color:#a1af93;text-align:center;white-space:nowrap}.ranking-table td{padding:18px 10px;border-bottom:1px solid #eef1e7;text-align:center;color:#8d9c7e}.ranking-table th:nth-child(2),.ranking-table td:nth-child(2){text-align:left}.ranking-table td:nth-child(2) strong{display:block;color:#59764c;font-weight:600;font-size:13px}.ranking-table td:nth-child(2) small{display:block;color:#a0ae91;font-size:10px;margin-top:5px}.ranking-table td:nth-child(3){font-size:19px;color:var(--green)}.ranking-table .is-me{background:#f0f6e7}.rank-medal{font-size:20px;color:#a6b198}.rank-medal:not(.rank-1,.rank-2,.rank-3){font-size:15px}.ranking-empty{text-align:center;padding:45px 15px;color:#94a883;font-size:12px;line-height:2}.ranking-empty>span{font-size:40px}.ranking-empty h3{font-size:21px;letter-spacing:-.7px;color:#5f8152;margin:15px 0 8px}.ranking-empty .primary-button{margin-top:15px}.profile-field{display:block;margin-top:20px;font-size:12px;color:#68875b;font-weight:550}.profile-field input{display:block;width:100%;margin-top:9px;background:#f9faf2;border:1px solid #dde7d0;border-radius:10px;padding:13px;font-size:13px;color:#456a3c}.profile-field input::placeholder{color:#bdc7b1}.profile-field small{display:block;color:#a7b297;font-size:10px;margin-top:7px;font-weight:400}.profile-signout{display:inline-block;font-size:10px;color:#a1ad93;margin-left:15px;border-bottom:1px solid #bdc9af}.form-error{font-size:11px;line-height:1.7;color:#b78460;min-height:18px}.type-tag.sentence{background:#e8f0f7;color:#7b9ab0}.vocab-card:has(.type-tag.sentence) h3{font-size:16px;line-height:1.6}.capture-card strong{max-width:350px;line-height:1.5}.hero-pill{max-width:48%;white-space:nowrap}.hero-pill b{overflow:hidden;text-overflow:ellipsis}.finish-stats{gap:24px}
@media(max-width:1180px){.stat{padding:0 12px;gap:7px}.stat-icon{display:none}.difficulty-panel{gap:15px}.difficulty-panel>div:first-child{flex-basis:180px}.difficulty-choice{padding:10px}.difficulty-choice span{font-size:8px}}
@media(max-width:850px){.sidebar-ranking{display:none}.difficulty-panel{display:block;padding:18px}.difficulty-options{margin-top:16px}.difficulty-panel>div:first-child{width:auto}.ranking-banner{padding:24px}.rankings-board{padding:20px}.stat{padding:0 10px}.stat small{font-size:9px}}
@media(max-width:580px){.stats-row .stat{padding:0 8px}.stats-row .stat strong{font-size:17px}.stats-row .stat small{font-size:8px}.difficulty-panel{margin-bottom:24px;padding:16px}.difficulty-panel h3{font-size:15px}.difficulty-options{gap:7px;margin-top:13px}.difficulty-choice{padding:10px 8px}.difficulty-choice strong{font-size:11px}.difficulty-choice span{font-size:8px;line-height:1.6}.home-ranking{gap:13px}.home-ranking .eyebrow{font-size:8px}.home-ranking h3{font-size:17px}.home-ranking p{font-size:10px}.home-ranking .secondary-button{font-size:9px;padding:10px;white-space:nowrap}.ranking-banner{display:block;padding:23px}.ranking-banner h2{font-size:23px}.ranking-banner .primary-button{margin-top:19px;font-size:11px}.ranking-board{padding:18px 13px;border-radius:15px}.ranking-board .section-heading{gap:13px}.ranking-table th{padding:12px 6px;font-size:9px}.ranking-table td{padding:15px 6px;font-size:10px}.ranking-table td:nth-child(2) strong{font-size:11px;min-width:70px}.ranking-table td:nth-child(2) small{font-size:8px}.ranking-table td:nth-child(3){font-size:16px}.ranking-table th:last-child,.ranking-table td:last-child{display:none}.my-rank{gap:12px;padding:15px;font-size:10px}.my-rank>strong{font-size:19px}.my-rank>span:last-child{font-size:9px}.ranking-empty h3{font-size:18px}.ranking-empty p{font-size:10px}.finish-stats{gap:17px}.finish-stats b{font-size:22px}.finish-stats span{font-size:9px}.game-score{top:121px}.capture-card strong{max-width:290px;font-size:18px}.hero-pill{max-width:55%}.sidebar nav>a{min-width:75px;padding:9px 8px}}
@media(max-height:850px) and (min-width:851px){.side-bottom{padding-top:20px}.guide-card{display:none}}
.hero-actions{display:flex;align-items:center;gap:9px;margin-top:auto;position:relative;z-index:3}.hero-actions .primary-button{margin-top:0}.hero-duration{border:1px solid #cddcc1;background:#fffdf2;border-radius:10px;padding:12px 9px;color:#537b4a;font-size:12px;height:44px;min-width:77px;box-shadow:0 3px 0 #d3dfc6}.hero-actions select{cursor:pointer}.hero-copy .hero-actions{pointer-events:auto}.hero-actions .primary-button{gap:12px}
@media(max-width:580px){.hero-copy .hero-actions{margin-top:0}.hero-actions .primary-button{font-size:11px;padding:12px 14px}.hero-duration{height:41px;min-width:73px;font-size:11px;padding:10px 8px}}
@media(max-width:580px){.pause-sounds{gap:8px}.pause-sounds .sound-toggle{padding:13px 10px;gap:6px}.pause-sounds .sound-toggle strong{font-size:11px}.pause-sounds .sound-toggle small{font-size:7px}.game-pause{font-size:10px}}
@media(min-width:1550px){main{padding-top:40px}.hero{min-height:350px}.hero-copy{padding:43px}.hero h1{font-size:43px}.map-cover{height:185px}}
@media(max-width:1180px){.sidebar{width:190px;padding:31px 16px}.brand{font-size:21px;gap:8px}.main-shell{margin-left:190px;width:calc(100% - 190px)}main{padding:26px}.topbar{padding:0 26px}.site-footer{padding:0 26px 22px}.edition{display:none}.hero-copy{padding:30px;width:50%}.hero h1{font-size:31px}.hero-copy p{font-size:11px}.hero-pill.p1{left:59%;top:55px}.stat{padding:0 16px;gap:10px}.stat-icon{width:32px;height:32px;border-radius:9px}.stat strong{font-size:19px}.map-cover{height:130px}.map-info{padding:13px}.map-en{font-size:9px}.map-meta{font-size:9px}.map-grid{gap:13px}.hero-subnote{font-size:8px}.collection-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.sidebar{width:76px;padding:26px 12px}.brand>span:last-child,.sidebar-label,.side-bottom,.sidebar nav>a>span:not(:first-child){display:none}.brand{justify-content:center}.sidebar nav{margin-top:42px;gap:16px}.sidebar nav>a{font-size:0;padding:15px;justify-content:center;gap:0}.sidebar nav .icon{width:22px;height:22px}.main-shell{margin-left:76px;width:calc(100% - 76px)}.hero-copy{width:56%}.hero h1{font-size:30px}.hero-art{width:66%}.hero-pill.p1{display:none}.hero-pill.p2{font-size:10px;right:12px;bottom:17px;padding:8px}.hero-subnote{display:none}.hero{min-height:285px}.hero-copy p{max-width:230px}.map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-cover{height:155px}.stat{padding:0 13px;gap:8px}.stat-icon{display:none}.stats-row{padding:17px 0}.journey-options{gap:12px}.site-footer{flex-direction:column;gap:8px}.report-paper{padding:23px}.report-table td:nth-child(3),.report-table th:nth-child(3){display:none}.report-table td:first-child{width:45%}.guide-card{display:none}}
@media(max-width:580px){.sidebar{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;height:66px;padding:0;z-index:20;border-right:0;border-top:1px solid var(--line);background:#fffefaef;backdrop-filter:blur(12px)}.sidebar .brand{display:none}.sidebar nav{display:flex;margin:0;height:100%;justify-content:space-around;gap:0}.sidebar nav>a{font-size:10px;flex-direction:column;gap:5px;padding:9px 16px;border-radius:0;min-width:90px}.sidebar nav>a.active{background:transparent;color:var(--green)}.sidebar nav .icon{width:20px;height:20px}.main-shell{margin-left:0;width:100%;padding-bottom:66px}.topbar{height:71px;padding:0 20px}.top-actions{gap:12px}.profile>span{display:none}.profile .avatar{width:32px;height:32px}.breadcrumb{font-size:11px}.icon-button{width:32px;height:32px}main{padding:21px 18px 26px}.hero{min-height:385px;border-radius:20px;align-items:flex-start}.hero-copy{padding:24px;width:100%;background:linear-gradient(#eaf1e4 30%,#eaf1e4e0 60%,#eaf1e400);height:100%;min-height:310px;pointer-events:none}.hero-copy>*{pointer-events:auto}.hero h1{font-size:31px;line-height:1.3;margin-top:12px}.hero-copy p{font-size:11px;max-width:210px;margin-bottom:15px}.hero-copy .primary-button{padding:12px 16px;margin-top:0;font-size:11px}.hero-art{top:auto;bottom:0;width:100%;height:250px;object-position:center}.hero-pill.p2{bottom:19px;right:15px;font-size:11px}.hero-pill.p1{display:flex;left:auto;right:17px;top:18px;transform:rotate(5deg);padding:7px 9px;font-size:10px}.hero-pill.p1 small{display:none}.hero .eyebrow{font-size:8px}.stats-row{margin:16px 0 26px;padding:15px 0;border-radius:12px}.stat{padding:0 12px}.stat strong{font-size:19px}.stat small{font-size:9px}.stat strong span{display:none}.section-heading{align-items:flex-start;gap:10px;flex-direction:column;margin-bottom:16px}.section-heading h2{font-size:21px}.section-heading p{font-size:10px}.segmented button{font-size:10px;padding:6px 14px}.section-heading .segmented{align-self:flex-end;margin-top:-2px}.map-grid{gap:12px}.map-card{border-radius:13px}.map-cover{height:120px}.map-info{padding:12px}.map-title-row strong{font-size:16px}.map-en{font-size:8px;letter-spacing:0}.map-category{left:9px;top:9px;font-size:8px;padding:4px 6px}.map-number{font-size:8px;left:10px;bottom:9px}.map-meta{font-size:8px;margin-top:11px;padding-top:9px}.map-level{font-size:8px;letter-spacing:0}.selected-tick{right:8px;top:8px;width:20px;height:20px}.journey-bar{margin-top:17px;flex-direction:column;align-items:stretch;padding:16px;gap:15px}.journey-options{justify-content:space-between}.journey-bar .primary-button{padding:11px 15px}.journey-footnote{font-size:9px;line-height:1.7;align-items:flex-start;text-align:center}.journey-footnote .icon{flex-shrink:0;margin-top:2px}.site-footer{padding:0 20px 23px;font-size:8px}.page-title h1{font-size:27px}.page-title p{font-size:11px}.page-toolbar{flex-direction:column;align-items:stretch}.page-toolbar .segmented{align-self:flex-start}.search-input{width:100%}.collection-grid{grid-template-columns:1fr}.report-paper{padding:20px 15px;border-radius:15px}.report-header h2{font-size:23px}.report-header .eyebrow{font-size:8px}.report-stamp{width:62px;height:62px;font-size:8px;flex-shrink:0}.report-stamp span{font-size:20px}.report-paper .stat{padding:0 10px}.report-paper .stat strong{font-size:20px}.report-table{font-size:11px}.report-table td{padding:12px 6px}.report-table th{padding:10px 6px}.report-table td:last-child{padding-right:0}.report-actions{gap:6px}.secondary-button{padding:10px 12px;font-size:10px}.practice-box{padding:18px}.practice-box h3{font-size:15px}.practice-actions{flex-wrap:wrap}.game-top{top:15px;left:14px;right:14px;gap:10px}.game-map-label{padding:8px 10px;gap:5px}.game-map-label small{font-size:6px;letter-spacing:.8px}.game-map-label strong{font-size:14px}.game-map-label>span{font-size:22px}.game-clock{font-size:21px;padding:10px 12px;white-space:nowrap}.game-clock span{font-size:10px}.game-pause{width:38px;height:38px;flex-shrink:0}.game-status{top:85px;left:15px;width:155px}.game-score{top:85px;right:14px;padding:8px;gap:8px;font-size:9px}.game-controls-hint{font-size:9px;bottom:18px;padding:9px 12px}.game-controls-hint span{margin:0 3px}.capture-card{bottom:68px;min-width:230px;padding:12px 18px}.capture-card strong{font-size:21px}.boss-notice{top:135px;font-size:10px;width:max-content;max-width:85%;padding:9px 14px}.game-overlay{padding:15px}.overlay-panel{padding:25px 20px}.overlay-panel h2{font-size:25px}.upgrade-choices{gap:9px;grid-template-columns:1fr}.upgrade-choice{padding:14px;text-align:left;position:relative;padding-left:62px;min-height:75px}.upgrade-choice>span{position:absolute;left:17px;top:21px;font-size:25px}.upgrade-choice strong{font-size:14px}.upgrade-choice p{font-size:11px;margin:6px 0 0}.finish-stats{gap:23px}.overlay-actions{gap:8px}.overlay-actions .primary-button{font-size:11px;padding:12px 14px}.overlay-actions .secondary-button{padding:11px 13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:white;color:#24382b}.sidebar,.topbar,.site-footer,.page-title,.report-history,.report-actions,.practice-actions,.report-note,.data-notice,#toast,dialog,.game-screen{display:none!important}.main-shell{margin:0;width:100%;padding:0}main{padding:0;max-width:none;min-height:0}.report-paper{border:0;padding:0;border-radius:0}.report-header{padding-bottom:15px}.report-stamp{border-radius:10px}.stats-row,.practice-box{-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-table td:nth-child(3),.report-table th:nth-child(3){display:table-cell}.report-table td:nth-child(4),.report-table th:nth-child(4){display:none}.report-table{font-size:10px}.report-table tr{break-inside:avoid}.practice-box{break-inside:avoid}.sample-answer{display:block!important}.print-only{display:block;font-size:10px;color:#94a48a;margin-top:20px}@page{margin:17mm}}

.report-table .quantity-cell,.report-table .quantity-heading{display:table-cell!important;text-align:center;white-space:nowrap}.report-table .quantity-cell{color:#4e8054;font-weight:700;font-size:13px}.report-table td:nth-child(4){color:#939d88;font-size:11px}
@media(max-width:850px){.report-table td:nth-child(4),.report-table th:nth-child(4){display:none!important}.report-table td:first-child{width:37%}.report-table td:nth-child(2){width:32%}}
@media print{.report-table td:nth-child(4),.report-table th:nth-child(4){display:table-cell!important}.report-table td:nth-child(5),.report-table th:nth-child(5){display:none!important}}

.voice-style-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:18px 0;color:#81946f;font-size:11px}.voice-style-row .segmented{background:#eff3e8}.voice-style-row .segmented button{padding:8px 14px;font-size:11px}.pause-sounds+.voice-style-row{max-width:440px;margin:18px auto 0}.voice-style-row .segmented button.active{color:#3b7040}

/* Bright, tactile adventure controls. */
.primary-button{background:repeating-linear-gradient(135deg,#ffffff13 0 9px,#ffffff00 9px 18px),linear-gradient(120deg,#ff726f,#ff9b68);border:1px solid #ffafa1;color:#fff;box-shadow:0 5px 0 #db6665,0 7px 15px #e27a5e20;text-shadow:0 1px 1px #ba5c4a40;font-weight:750;border-radius:13px}
.primary-button:hover{background:repeating-linear-gradient(135deg,#ffffff1c 0 9px,#ffffff00 9px 18px),linear-gradient(120deg,#ff646c,#ffac6b);box-shadow:0 6px 0 #db6665,0 10px 19px #e27a5e30;transform:translateY(-2px)}
.primary-button:active{box-shadow:0 1px 0 #db6665;transform:translateY(4px)}
.secondary-button{background:linear-gradient(#fff,#f1f5fc);border:1px solid #dce3f0;border-bottom:3px solid #c8d3e6;color:#657d9b;font-weight:650;border-radius:11px}
.secondary-button:hover{background:linear-gradient(#fff,#e7f2fe);border-color:#adc9e8}
.map-card{box-shadow:0 4px 0 #e1e7d8}.map-card.selected{border-color:#7eb275;box-shadow:0 4px 0 #679a63,0 8px 18px #5d8c3914}.map-card.selected .selected-tick{background:#a9d56b;color:#fff;border:2px solid white}
.segmented{border-radius:12px;background:#edf0f8;border-color:#e1e4ef}.segmented button{border-radius:8px}.segmented button.active{background:linear-gradient(#fff,#f9fbff);color:#5f8d75;box-shadow:0 2px 0 #d8e0e7;font-weight:750}
.difficulty-choice{border-radius:12px;border-bottom:3px solid #dfe6da;background:linear-gradient(#fffef8,#f4f6eb)}
.difficulty-choice.active{border-color:#80be78;background:repeating-linear-gradient(135deg,#ffffff20 0 8px,#ffffff00 8px 16px),linear-gradient(135deg,#d3f1a7,#b9e69d);box-shadow:0 2px 0 #8ab773}
.difficulty-choice:nth-child(2).active{background:linear-gradient(135deg,#c7e8ff,#bbdafa);border-color:#8cb7e1;box-shadow:0 2px 0 #7ba4d1}.difficulty-choice:nth-child(3).active{background:linear-gradient(135deg,#e5d6ff,#d9caf4);border-color:#ad96d5;box-shadow:0 2px 0 #9c85c5}
.difficulty-choice.active span{color:#648552}.difficulty-choice:nth-child(2).active strong,.difficulty-choice:nth-child(2).active span{color:#567ca5}.difficulty-choice:nth-child(3).active strong,.difficulty-choice:nth-child(3).active span{color:#8570a4}
.overlay-panel{border:3px solid #fff;border-radius:28px;background:linear-gradient(145deg,#fffef9,#f5f8ee);box-shadow:0 15px 0 #28483218,0 30px 95px #14351c40}.overlay-panel>.eyebrow{display:inline-flex;background:repeating-linear-gradient(135deg,#ffffff20 0 7px,#ffffff00 7px 14px),linear-gradient(110deg,#91c86d,#60ad7d);color:white;padding:8px 15px;border-radius:30px;letter-spacing:1.5px}
.overlay-panel h2{color:#3c5261}.upgrade-choice{border-width:2px;border-radius:17px;border-bottom-width:5px}.upgrade-choice:nth-child(1){background:linear-gradient(135deg,#fff6c9,#ffe8a9);border-color:#e4c970;color:#9c813f}.upgrade-choice:nth-child(2){background:linear-gradient(135deg,#e1f1ff,#d3e5ff);border-color:#a8c6ea;color:#6c87b8}.upgrade-choice:nth-child(3){background:linear-gradient(135deg,#ffedf0,#fcd9e0);border-color:#e5b1bd;color:#b77b8c}.upgrade-choice p{color:inherit;opacity:.78}.upgrade-choice:hover{filter:brightness(1.025);transform:translateY(-5px)}
.sound-toggle{background:linear-gradient(135deg,#ecf9d8,#e0f1d1);border-color:#c4dcad;border-bottom-width:3px}.sound-toggle small{background:#aad47b;color:#fff}.sound-toggle.off{background:#f0f1f4;border-color:#dde1e8}.sound-toggle.off small{background:#dde0e8;color:#9ca4b3}.voice-style-row .segmented button.active{background:linear-gradient(#a4caff,#8bb7f0);color:#fff;box-shadow:0 2px 0 #6d96cf}
dialog{border:3px solid white;background:linear-gradient(145deg,#fffef9,#f2f8ec);box-shadow:0 18px 0 #2d473016,0 30px 100px #1e3b3140}.dialog-heading{padding-bottom:15px;border-bottom:1px solid #e1e8d7}.dialog-heading h2{color:#415b62}.dialog-close{background:#e7efdf;color:#82986e}.hero-duration{background:linear-gradient(#fffef7,#f7f2da);border-color:#e1d5a3;box-shadow:0 4px 0 #d1c69d;color:#8c8056;font-weight:700}
.game-quick-sounds{position:absolute;top:155px;right:28px;display:flex;gap:7px;z-index:2}.quick-sound{height:35px;padding:0 10px;display:flex;align-items:center;justify-content:center;gap:5px;border-radius:10px;border:2px solid #fffef0;box-shadow:0 3px 0 #415d4c25,0 4px 13px #244d2e16;font-size:10px;font-weight:700;white-space:nowrap;background:#edf7de;color:#568653;touch-action:manipulation}.quick-sound b{font-size:9px;background:#79b86b;color:white;border-radius:4px;padding:3px 4px}.quick-sound.quick-voice{background:#e5efff;color:#6b8ebc}.quick-sound.quick-voice b{background:#7fa9db}.quick-sound.quick-gender{background:#f4e8ff;color:#9b7fb5}.quick-sound.off{background:#f0f0f1;color:#a6a8b0}.quick-sound.off b{background:#b6bbc3}.quick-sound:active{transform:translateY(2px);box-shadow:0 1px 0 #415d4c25}.quick-sound.quick-gender span{color:#b59eca;font-size:15px}
.game-map-label,.game-clock{border:2px solid #fffdf0;box-shadow:0 4px 0 #567c3e20,0 6px 18px #386c3320}.game-pause{background:linear-gradient(#fffef9,#edf5dd);border:2px solid white;border-radius:12px;box-shadow:0 3px 0 #66884d30;color:#5a8050}.game-score{border:1px solid #fff9;box-shadow:0 3px 0 #52774418}
@media(max-width:580px){.game-quick-sounds{top:155px;right:14px;gap:5px}.quick-sound{height:36px;padding:0 8px;font-size:10px;border-radius:9px}.quick-sound b{font-size:8px}.boss-notice{top:201px}.overlay-panel h2{font-size:24px}.upgrade-choice{border-radius:13px}.hero-actions .primary-button{gap:9px}.game-map-label strong{font-size:12px}.game-map-label small{font-size:5.5px}.game-clock{font-size:20px;padding:9px 11px}}

.difficulty-choice{position:relative;min-height:79px;padding:15px 13px;border:2px solid #b4d88b;border-bottom:5px solid #93bf68;background:linear-gradient(135deg,#e9f9cb,#d5efa7);transition:transform .16s,box-shadow .16s}.difficulty-choice strong,.difficulty-choice.active strong{color:#497b2f;font-size:17px;letter-spacing:-.3px;margin-bottom:8px}.difficulty-choice strong i{font-style:normal;font-size:17px;margin-right:3px}.difficulty-choice span,.difficulty-choice.active span{color:#6f934f;font-size:10px;font-weight:550}.difficulty-choice:nth-child(2){background:linear-gradient(135deg,#e0f2ff,#bfdefc);border-color:#9ec7ed;border-bottom-color:#7ea9d8}.difficulty-choice:nth-child(2) strong,.difficulty-choice:nth-child(2) span{color:#4677a8}.difficulty-choice:nth-child(3){background:linear-gradient(135deg,#f3e3ff,#e1c6f4);border-color:#c5a3e0;border-bottom-color:#ac86ca}.difficulty-choice:nth-child(3) strong,.difficulty-choice:nth-child(3) span{color:#8961a6}.difficulty-check{display:none;position:absolute;right:9px;top:9px;width:21px;height:21px;border-radius:50%;background:#fff;align-items:center;justify-content:center;color:#5b9650;font-size:12px;box-shadow:0 2px 3px #0001}.difficulty-choice.active .difficulty-check{display:flex}.difficulty-choice.active{border-color:#6c9f48;box-shadow:0 0 0 3px #fff inset,0 3px 0 #a1c776;transform:translateY(-2px)}.difficulty-choice:nth-child(2).active{border-color:#6598cd;box-shadow:0 0 0 3px #fff inset,0 3px 0 #8cb4dd}.difficulty-choice:nth-child(2) .difficulty-check{color:#709cca}.difficulty-choice:nth-child(3).active{border-color:#9970ba;box-shadow:0 0 0 3px #fff inset,0 3px 0 #bb9ad3}.difficulty-choice:nth-child(3) .difficulty-check{color:#a078bc}
@media(max-width:580px){.difficulty-choice{padding:14px 10px;min-height:84px}.difficulty-choice strong,.difficulty-choice.active strong{font-size:15px}.difficulty-choice strong i{display:block;font-size:20px;margin:0 0 7px}.difficulty-choice span,.difficulty-choice.active span{font-size:9px}.difficulty-check{width:17px;height:17px;right:6px;top:6px;font-size:10px}}

.quick-sound.quick-auto{background:#fff0cc;color:#b38a37}.quick-sound.quick-auto.on b{background:#d8ab49}.quick-sound.quick-auto.off{background:#fff8e6;color:#bba36c}.quick-sound.quick-auto.off b{background:#c5b68e}
@media(max-width:580px){.game-quick-sounds{gap:4px}.quick-sound{padding:0 7px;font-size:9px}.quick-sound b{font-size:7px;padding:3px}.quick-sound.quick-gender span{font-size:13px}}

/* Keep the next adventure visible in the first mobile screen. */
@media(max-width:580px){
  main{padding:16px 18px 26px}.topbar{height:63px}
  .hero{min-height:260px}.hero-copy{min-height:0;height:auto;padding:20px 22px;background:linear-gradient(110deg,#eaf1e4 20%,#eaf1e4ed 55%,#eaf1e445)}
  .hero h1{font-size:28px;line-height:1.25;margin:11px 0 8px}.hero-copy p{font-size:10px;line-height:1.65;margin-bottom:14px}.hero-art{height:220px;object-position:70% center}.hero-pill.p1{display:none}.hero-pill.p2{font-size:9px;bottom:12px;padding:6px 9px;max-width:50%}
  .stats-row{padding:12px 0;margin:13px 0 17px}.stats-row .stat small{font-size:7px}.stats-row .stat strong{font-size:16px}
  .difficulty-panel{padding:12px 13px;margin-bottom:19px}.difficulty-panel .eyebrow{font-size:7px;letter-spacing:1.3px}.difficulty-panel h3{font-size:13px;margin:5px 0 0}.difficulty-options{gap:6px;margin-top:10px}
  .difficulty-choice{padding:10px 8px;min-height:61px;border-bottom-width:4px}.difficulty-choice strong,.difficulty-choice.active strong{display:flex;align-items:center;gap:3px;font-size:14px;margin:0 0 4px}.difficulty-choice strong i{display:inline;font-size:13px;margin:0}.difficulty-choice span,.difficulty-choice.active span{font-size:8px;line-height:1.4}.difficulty-check{width:14px;height:14px;font-size:8px;top:5px;right:5px}
  .section-heading h2{font-size:19px}.section-heading p{font-size:10px}.section-heading{gap:9px;margin-bottom:13px}
}
@media(max-width:580px) and (max-height:740px){
  .topbar{height:55px}main{padding-top:12px}.hero{min-height:205px}.hero-copy{padding:18px 20px}.hero h1{font-size:26px;margin-bottom:14px}.hero-copy p{display:none}.hero-art{height:205px}.hero-pill.p2{display:none}.stats-row{margin:11px 0 13px;padding:10px 0}.difficulty-panel{padding:10px 12px;margin-bottom:15px}.difficulty-panel>div:first-child .eyebrow{display:none}.difficulty-options{margin-top:8px}.difficulty-choice{min-height:56px;padding-top:9px;padding-bottom:8px}
}

/* Mobile combat keeps the world visible and the learning card compact. */
@media(max-width:580px), (max-width:1000px) and (max-height:500px){
  .game-top{top:10px;left:10px;right:10px;gap:8px}.game-map-label{padding:6px 9px;gap:5px;border-radius:10px}.game-map-label>span{font-size:18px}.game-map-label small{display:none}.game-map-label strong{font-size:11px;margin:0}.game-clock{font-size:18px;padding:7px 10px;border-radius:10px}.game-clock span{font-size:9px}.game-pause{width:33px;height:33px;font-size:9px}
  .game-status{top:58px;left:11px;width:122px}.hp-label{font-size:10px;gap:5px}.hp-label>span{font-size:8px}.hp-track{height:6px}.xp-label{font-size:8px;gap:5px;margin-top:5px}.xp-track{height:4px}
  .game-score{top:57px;right:10px;padding:7px 8px;gap:7px;font-size:8px;border-radius:9px}.game-score b{margin-left:3px}
  .game-quick-sounds{top:99px;right:10px;gap:4px}.quick-sound{height:30px;padding:0 7px;font-size:8px;gap:4px;border-radius:8px}.quick-sound b{font-size:7px;padding:2px 3px}.quick-sound.quick-gender span{font-size:11px}
  .boss-notice{top:139px;font-size:9px;line-height:1.4;padding:7px 12px;max-width:88%}
  .capture-card{bottom:45px;min-width:0;width:calc(100% - 52px);max-width:310px;padding:10px 14px;border-radius:13px}.capture-card small{font-size:7px;letter-spacing:.5px}.capture-card strong{max-width:none;font-size:14px;line-height:1.35;margin:5px 0}.capture-card p{font-size:9px;line-height:1.4}
  .game-controls-hint{bottom:12px;padding:6px 10px;font-size:0}.game-controls-hint span{display:none}.game-controls-hint:after{content:'드래그해서 이동 · 자동 공격';font-size:8px}
}
@media(max-width:1000px) and (max-height:500px) and (orientation:landscape){
  .game-top{top:8px}.game-map-label{padding:5px 9px}.game-map-label strong{font-size:10px}.game-map-label>span{font-size:16px}.game-clock{font-size:16px;padding:6px 10px}.game-pause{width:31px;height:31px}
  .game-status{top:49px;width:136px}.game-score{top:49px;padding:6px 8px}.game-quick-sounds{top:82px;left:10px;right:auto}.quick-sound{height:27px}
  .boss-notice{top:82px;left:auto;right:10px;transform:none;max-width:45%;font-size:8px;padding:6px 10px;border-radius:12px}
  .capture-card{left:auto;right:12px;bottom:12px;transform:none;width:40%;max-width:260px;padding:8px 12px}.capture-card strong{font-size:13px;line-height:1.3;margin:4px 0}.capture-card small{font-size:6px}.capture-card p{font-size:8px}
  .game-controls-hint{left:12px;transform:none;bottom:12px}.game-controls-hint:after{font-size:7px}
}

.hero-copy{background:linear-gradient(90deg,#eaf1e4e6 5%,#eaf1e4ba 68%,#eaf1e400)}
.game-upgrade-notice{position:absolute;top:199px;right:28px;z-index:3;pointer-events:none;background:#fff5d9ed;border:1px solid #e7d49a;border-radius:8px;color:#9b7b35;font-size:10px;font-weight:650;padding:7px 11px;box-shadow:0 3px 10px #44582413}
@media(max-width:580px){.game-upgrade-notice{top:136px;right:10px;font-size:8px;padding:5px 9px}.boss-notice{top:172px}}
@media(max-width:1000px) and (max-height:500px) and (orientation:landscape){.game-upgrade-notice{top:117px;left:10px;right:auto;font-size:8px;padding:5px 9px}.boss-notice{top:82px;left:auto;right:10px;transform:none}}
@media(max-width:580px){.hero-copy{background:linear-gradient(100deg,#eef5e5c7 0%,#eef5e58a 55%,#eef5e510 100%)}.hero h1{text-shadow:0 1px 8px #f8fdebb0}}

@media(max-width:1000px) and (max-height:500px) and (orientation:landscape){
  .game-overlay{padding:12px}.overlay-panel{max-width:510px;max-height:calc(100dvh - 24px);overflow-y:auto;padding:16px 20px;border-radius:20px}.overlay-panel>.eyebrow{font-size:7px;letter-spacing:1px;padding:5px 11px}.overlay-panel h2{font-size:20px;letter-spacing:-.6px;margin:7px 0}.overlay-panel>p{font-size:10px;line-height:1.45;margin:7px 0}
  .upgrade-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:13px}.upgrade-choice{position:relative;padding:12px 8px;min-height:0;text-align:center;border-radius:12px;border-bottom-width:4px}.upgrade-choice>span{position:static;font-size:23px;margin:0 0 8px}.upgrade-choice strong{font-size:12px}.upgrade-choice p{font-size:9px;line-height:1.4;margin:6px 0 0}
  .finish-icon{font-size:28px}.finish-stats{gap:24px;margin:14px 0}.finish-stats b{font-size:20px;margin-bottom:4px}.finish-stats span{font-size:8px}.overlay-actions{margin-top:14px;gap:9px}.overlay-actions .primary-button,.overlay-actions .secondary-button{font-size:10px;padding:9px 13px}
  .pause-sounds{margin-top:12px;gap:10px}.pause-sounds .sound-toggle{padding:9px 12px;gap:7px}.pause-sounds .sound-toggle strong{font-size:10px}.pause-sounds .sound-toggle small{font-size:7px}.pause-sounds+.voice-style-row{margin-top:9px}.voice-style-row{font-size:9px}.voice-style-row .segmented button{font-size:9px;padding:5px 12px}
  dialog{max-height:calc(100dvh - 24px);overflow-y:auto;padding:18px;max-width:520px}
}
/* Compact study filters and the four-column daily report. */
.report-filters,.collection-filters{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.report-filters>label,.collection-filters>label{display:flex;align-items:center;gap:9px;font-size:11px;color:#819275}.report-filters select,.collection-filters select{min-height:35px;border:1px solid #dce7cf;border-radius:9px;background:#fffef7;padding:7px 26px 7px 10px;color:#57734d;font-size:12px}.collection-filters .search-input{margin-left:auto;flex:1;min-width:160px;max-width:320px}.acquisition-count{display:inline-block;white-space:nowrap;font-size:11px;color:#8ba36b;font-weight:650;margin-left:5px}.vocab-card h3 .acquisition-count{vertical-align:middle}
@media(max-width:850px){#report-paper .report-table td:nth-child(3),#report-paper .report-table th:nth-child(3),#report-paper .report-table td:nth-child(4),#report-paper .report-table th:nth-child(4){display:table-cell!important}#report-paper .report-table td:first-child{width:29%}#report-paper .report-table td:nth-child(2){width:27%}#report-paper .report-table td:nth-child(4){width:40px}.report-filters,.collection-filters{gap:10px}.collection-filters .search-input{max-width:none}}
@media(max-width:580px){.report-filters{flex-direction:row;align-items:center}.report-filters>label{flex:1;min-width:130px}.report-filters select{width:100%}.collection-filters{align-items:stretch}.collection-filters>label{align-self:flex-start}.collection-filters .search-input{flex-basis:100%;margin-left:0}#report-paper .report-table td:nth-child(3),#report-paper .report-table th:nth-child(3){display:none!important}#report-paper .report-table td:first-child{width:44%}#report-paper .report-table td:nth-child(2){width:auto}#report-paper .report-table td:nth-child(4){width:36px}.report-header>div:first-child{min-width:0}.report-header h2{font-size:21px}.report-header p{line-height:1.9}}
@media print{.report-filters{display:none!important}#report-paper .report-table td:nth-child(3),#report-paper .report-table th:nth-child(3){display:table-cell!important}#report-paper .report-table td:nth-child(4),#report-paper .report-table th:nth-child(4){display:none!important}}

.sidebar nav>a{word-break:keep-all;overflow-wrap:normal}.sidebar nav>a>span:first-child{flex-shrink:0}.sidebar nav .nav-count{flex-shrink:0}

.game-status,.game-score,.game-map-label,.game-clock{pointer-events:none}.game-screen{overscroll-behavior:none;user-select:none;-webkit-user-select:none}.game-screen canvas{touch-action:none}

.upgrade-auto-controls{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px;color:#8d9c80;font-size:10px}.upgrade-auto-toggle{border:1px solid #d6dec9;border-bottom:3px solid #b9c7a7;border-radius:9px;background:linear-gradient(#fffef7,#edf3e5);color:#71845d;font-size:11px;font-weight:750;min-height:32px;min-width:116px;padding:7px 13px}.upgrade-auto-toggle.on{background:linear-gradient(#dff1bd,#c6e59c);border-color:#a6cb7e;color:#547b35}.upgrade-auto-toggle:active{transform:translateY(2px);border-bottom-width:1px}.upgrade-auto-controls+.upgrade-choices{margin-top:16px}
@media(max-width:1000px) and (max-height:500px) and (orientation:landscape){.upgrade-auto-controls{margin-top:9px;font-size:9px;gap:8px}.upgrade-auto-toggle{min-height:27px;font-size:9px;padding:5px 11px;min-width:100px}.upgrade-auto-controls+.upgrade-choices{margin-top:11px}}

/* A small spellbook beside the action; learning cards keep their own space. */
.combat-hud{position:absolute;top:168px;left:28px;width:224px;z-index:2;pointer-events:none;color:#4e7359}
.threat-wave{display:flex;align-items:center;gap:8px;padding:9px 10px;background:#fffef3ec;border:1px solid #fff;border-radius:12px;box-shadow:0 3px 12px #244d2e10}
.threat-emblem{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;background:linear-gradient(135deg,#fbe7a1,#f9d4b3);border-radius:9px;color:#b28d42;font-size:19px}
.threat-wave>div{min-width:0}.threat-wave small{display:block;color:#9b9f79;font-size:7px;letter-spacing:1.4px;font-weight:750}.threat-wave strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;margin-top:2px}
.wave-bars{display:flex;gap:2px;margin-left:auto;align-items:flex-end}.wave-bars i{display:block;width:3px;height:9px;background:#e3e9d6;border-radius:2px}.wave-bars i.on{background:#a3bc7b}.wave-bars i:nth-child(n+5){height:13px}.wave-bars i:nth-child(n+7).on{background:#dba56d}
.combat-build-heading{display:flex;justify-content:space-between;align-items:center;gap:7px;width:100%;min-height:29px;padding:7px 2px 5px;background:transparent;color:#496c51;text-align:left;font-size:10px;pointer-events:auto;touch-action:manipulation;text-shadow:0 1px 3px #fff}
.combat-build-heading b{color:#8aab67;margin-left:2px}.combat-build-heading>span:last-child{font-size:8px;color:#77916a}
.combat-kit-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.combat-build-heading>span:last-child{flex-shrink:0}.game-map-label #game-theme-label{letter-spacing:.5px}
.skill-badges{display:flex;flex-wrap:wrap;gap:5px}.combat-hud .skill-badges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.skill-badge{display:inline-flex;align-items:center;gap:4px;min-width:0;padding:5px 7px;border:1px solid #fffbed;border-radius:8px;background:#fffef4e8;color:#5b7b58;font-size:10px;line-height:1.2}
.skill-badge i{font-style:normal;font-size:14px;line-height:1;flex-shrink:0}.skill-badge .skill-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-badge b{margin-left:auto;font-size:10px;color:#55734b}.skill-badge b small{font-size:7px;color:#a2b091;font-weight:500}.skill-badge.is-max{border-color:#e5d6a0;background:#fff5d9eb}.skill-badge.is-max b{color:#a48b4a}
.synergy-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.synergy-badges>span{padding:4px 7px;border:1px solid #ded2ed;border-radius:6px;background:#f6edfff2;color:#9774ad;font-size:9px;line-height:1.3}
.pause-build{max-width:440px;margin:16px auto 0;padding:12px;background:#eaf1e276;border:1px solid #dfe8d5;border-radius:12px;text-align:left}.build-caption{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;color:#789168;font-size:9px}.build-caption strong{font-size:10px}.pause-build .skill-badge{background:#fffef8}.pause-build>p{font-size:9px;color:#9585a3;line-height:1.6;margin:8px 0 0}
.upgrade-choice{position:relative;padding-top:42px}.upgrade-choice>.upgrade-rank{position:absolute;top:12px;left:50%;transform:translateX(-50%);display:block;width:max-content;max-width:90%;padding:3px 7px;border-radius:6px;background:#ffffff95;color:inherit;font-size:9px;line-height:1.2;font-weight:750;white-space:nowrap}.upgrade-choice>.upgrade-rank.is-new{background:#fffdf0;color:#a99553;letter-spacing:.5px}.upgrade-choice>.upgrade-art{font-size:29px;margin-bottom:12px}.upgrade-choice>.upgrade-synergy{display:block;margin-top:10px;font-size:9px;line-height:1.5;color:#8c77a0}.upgrade-choice:disabled{opacity:.55}.upgrade-choice:disabled:hover{transform:none}.upgrade-hint{font-size:10px!important;margin:15px 0 0!important}.upgrade-active-combos{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin-top:15px}.upgrade-active-combos>small{color:#99a388;font-size:9px}.upgrade-active-combos .synergy-badges{margin:0;justify-content:center}
.upgrade-choice p{color:#68785f;word-break:keep-all;overflow-wrap:anywhere}
.hero-actions{max-width:100%;flex-wrap:wrap}.hero-duration{font-size:11px;max-width:130px}
.overlay-panel{max-height:calc(100dvh - 36px);overflow-y:auto}
@media(max-width:580px){
  .combat-hud{top:141px;left:10px;width:148px}.threat-wave{gap:6px;padding:7px 8px;border-radius:9px}.threat-emblem{width:23px;height:23px;border-radius:7px;font-size:16px}.threat-wave small{font-size:6px;letter-spacing:1px}.threat-wave strong{font-size:10px}.wave-bars{display:none}.combat-build-heading{min-height:25px;font-size:8px}.combat-build-heading>span:last-child{font-size:7px}
  .combat-hud .skill-badges{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}.combat-hud .skill-badge{justify-content:center;gap:2px;padding:5px 2px;border-radius:6px}.combat-hud .skill-badge i{font-size:12px}.combat-hud .skill-badge b{font-size:8px;margin:0}.combat-hud .skill-name,.combat-hud .skill-badge b small{display:none}.combat-hud .synergy-badges{gap:3px;margin-top:4px}.combat-hud .synergy-badges>span{font-size:7px;padding:3px 5px}
  .boss-notice{left:auto;right:10px;transform:none;max-width:calc(100% - 180px);width:max-content;top:172px;border-radius:11px}.game-upgrade-notice{max-width:calc(100% - 180px);line-height:1.4}
  .upgrade-choice{padding:30px 12px 12px 60px;min-height:93px}.upgrade-choice>.upgrade-art{top:35px;left:18px;font-size:25px;margin:0}.upgrade-choice>.upgrade-rank{left:60px;top:9px;transform:none;padding:3px 6px;font-size:8px}.upgrade-choice strong{font-size:13px}.upgrade-choice p{font-size:10px;line-height:1.5}.upgrade-choice>.upgrade-synergy{font-size:8px;margin-top:6px}.upgrade-hint{font-size:9px!important;margin-top:11px!important}.upgrade-active-combos{margin-top:11px;gap:6px}.pause-build{padding:10px;margin-top:12px}.pause-build .skill-badge{font-size:9px}.pause-build .skill-badge i{font-size:12px}
  .hero-duration{font-size:10px;padding-left:7px;padding-right:4px}
}
@media(max-width:1000px) and (max-height:500px) and (orientation:landscape){
  .combat-hud{top:117px;left:10px;width:204px}.threat-wave{padding:6px 8px;border-radius:9px}.threat-emblem{width:23px;height:23px;font-size:16px}.threat-wave small{font-size:6px}.threat-wave strong{font-size:10px}.combat-build-heading{min-height:24px;font-size:8px}.combat-build-heading>span:last-child{font-size:7px}
  .combat-hud .skill-badges{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}.combat-hud .skill-badge{justify-content:center;padding:4px;gap:4px}.combat-hud .skill-name{display:none}.combat-hud .skill-badge i{font-size:12px}.combat-hud .skill-badge b{margin:0;font-size:8px}.combat-hud .skill-badge b small{font-size:6px}.combat-hud .synergy-badges{margin-top:4px}.combat-hud .synergy-badges>span{font-size:7px;padding:3px 5px}
  .game-upgrade-notice{top:116px;left:auto;right:10px;max-width:42%;font-size:8px}.boss-notice{top:82px;max-width:45%}
  .upgrade-choice{padding:32px 8px 11px;min-height:0;text-align:center}.upgrade-choice>.upgrade-art{position:static;font-size:23px;margin:0 0 7px}.upgrade-choice>.upgrade-rank{top:9px;left:50%;transform:translateX(-50%);font-size:8px}.upgrade-choice strong{font-size:12px}.upgrade-choice p{font-size:9px}.upgrade-choice>.upgrade-synergy{font-size:8px;margin-top:6px}.upgrade-hint{margin-top:10px!important;font-size:8px!important}.upgrade-active-combos{margin-top:10px}.pause-build{padding:9px;margin-top:9px}.pause-build .skill-badge{font-size:8px;padding:4px 6px}.pause-build>p{font-size:8px}
}

/* Long theme titles keep Korean words together on narrow map cards. */
.map-title-row{gap:7px}.map-title-row strong{min-width:0;word-break:keep-all;line-height:1.35}.map-title-row .map-level{flex-shrink:0}

/* Each card has one selection target; its settings and play button sit above it. */
#profile-avatar{background-image:none;background-position:center;background-size:cover}
.map-card{display:flex;flex-direction:column;min-width:0}
.map-select{position:static;display:block;flex:none;width:100%;padding:0;border-radius:inherit;background:transparent;text-align:left}
.map-select .map-cover,.map-cover>img{display:block}
.map-select:after{content:'';position:absolute;inset:0;z-index:1;border-radius:inherit;cursor:pointer}
.map-select:focus-visible{outline:none}
.map-select:focus-visible:after{outline:3px solid #d49b42;outline-offset:-4px}
.map-info{display:flex;flex-direction:column;flex:1;min-width:0}
.map-title-row{flex-wrap:wrap;gap:8px}
.map-title-row .map-name{min-width:0;max-width:100%;font-size:17px;font-weight:720;letter-spacing:-.5px;line-height:1.35;word-break:keep-all;overflow-wrap:anywhere}
.map-card-settings{position:relative;z-index:2;display:flex;align-items:center;flex:0 1 auto;gap:5px;max-width:100%;min-width:0;margin-left:auto}
.map-card-settings select{appearance:none;-webkit-appearance:none;min-width:0;max-width:100%;height:34px;padding:6px 18px 6px 7px;border:1px solid #dedfc9;border-radius:8px;background-color:#fffdf4;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 10px) 50%,calc(100% - 6px) 50%;background-size:4px 4px;background-repeat:no-repeat;color:#81794f;font-size:11px;font-weight:650;line-height:1.2;cursor:pointer;box-shadow:0 2px 0 #e7e5d4}
.map-card-settings .map-duration{width:74px;flex:0 1 74px}
.map-card-settings .map-difficulty{width:62px;flex:0 1 62px}
.map-card-settings .map-difficulty[data-level=easy]{background-color:#f1f7e8;border-color:#d2e1c1;color:#64814f;box-shadow:0 2px 0 #dce8cf}
.map-card-settings .map-difficulty[data-level=normal]{background-color:#fff5df;border-color:#e8d7aa;color:#9b793c;box-shadow:0 2px 0 #ecdfbc}
.map-card-settings .map-difficulty[data-level=hard]{background-color:#fff0e9;border-color:#edc8b9;color:#b56c55;box-shadow:0 2px 0 #efd4c8}
.map-card-settings select:focus-visible{outline:2px solid #c3954a;outline-offset:2px}
.map-en{margin-bottom:13px}
.map-meta{gap:8px;min-width:0;margin-top:auto}
.map-pack{display:flex;flex:1 1 0;flex-wrap:wrap;align-items:center;gap:5px 8px;min-width:0;line-height:1.5}
.map-card .map-meta .map-pack .map-pack-item,.map-card.selected .map-meta .map-pack .map-pack-item{white-space:nowrap;color:inherit;font-weight:400}
.map-prepare{flex:none;font-size:10px;white-space:nowrap;line-height:1.5}
.map-play.primary-button{position:relative;z-index:2;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;gap:0;border-radius:12px}
.map-play.primary-button .icon{width:17px;height:17px;margin-left:2px}
@media(max-width:580px){
  .map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .map-info{padding:12px 9px 14px}
  .map-title-row{gap:7px 6px}.map-title-row .map-name{font-size:16px}
  .map-card-settings{gap:4px}
  .map-card-settings select{height:32px;padding:5px 13px 5px 5px;border-radius:7px;background-position:calc(100% - 8px) 50%,calc(100% - 5px) 50%;background-size:3px 3px;font-size:10px}
  .map-card-settings .map-duration{width:60px;flex-basis:60px}.map-card-settings .map-difficulty{width:50px;flex-basis:50px}
  .map-en{margin-bottom:11px}
  .map-meta{gap:7px;font-size:9px}
  .map-pack{gap:3px 6px}.map-prepare{font-size:8px}
}
/* r30: an explicit, persisted lighter renderer; no browser policy changes. */
.performance-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:7px 10px;border:1px solid #cfdcc3;border-bottom:3px solid #b2c69d;border-radius:10px;background:#f0f6e8;color:#577446;font-size:11px;font-weight:750;white-space:nowrap}
.performance-toggle b{font-size:9px;padding:2px 4px;border-radius:4px;background:#dce6d2;color:#596c4e}
.performance-toggle[aria-pressed=true]{background:#e1f3cf;border-color:#8ab464;color:#39672a}
.performance-toggle[aria-pressed=true] b{background:#6c9b4c;color:white}
.performance-setting{display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;margin:14px 0;padding:12px 14px;border:1px solid #dce6d1;border-radius:12px;background:#f4f7ee}
.performance-setting strong{font-size:12px}.performance-setting small{display:block;color:#809173;font-size:10px;margin-top:4px}
body.performance-light *,body.performance-light *:before,body.performance-light *:after{animation:none!important;transition:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important}
body.performance-light .map-card,body.performance-light .overlay-panel,body.performance-light .capture-card,body.performance-light .hero-pill{box-shadow:none}
body.performance-light .map-card:hover,body.performance-light .map-card:hover img{transform:none}
body.performance-light .game-overlay{background:#294533c9}
body.performance-light dialog::backdrop{background:#294533b8;backdrop-filter:none}
@media(max-width:1100px){.top-actions .edition{display:none}}
@media(max-width:580px){.top-actions{gap:8px}.performance-toggle{font-size:10px;padding:6px 7px;gap:4px}.topbar .breadcrumb{font-size:10px}.topbar .breadcrumb>span{margin:0 5px}}
