.summer-paradise{min-height:calc(100vh - 100px);background:linear-gradient(180deg,#fff5e6,#ffe4cc,#ffd4b8);padding-bottom:40px}.summer-tabs{display:flex;gap:8px;padding:16px 20px;background:linear-gradient(135deg,#ff6b6b,#ff8e53);box-shadow:0 4px 12px #ff6b6b4d;overflow-x:auto;-webkit-overflow-scrolling:touch}.summer-tab{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 16px;min-width:64px;border:none;border-radius:12px;background:#fff3;color:#fff;font-size:.75rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:none}.summer-tab:hover{background:#ffffff4d;transform:translateY(-2px)}.summer-tab.active{background:#fff;color:#ff6b6b;box-shadow:0 4px 12px #00000026}.summer-content{padding:20px;max-width:800px;margin:0 auto}.summer-panel{background:#fff;border-radius:20px;padding:24px;box-shadow:0 8px 32px #ff6b6b26;margin-bottom:20px}.summer-panel h3{margin:0 0 8px;color:#ff6b6b;font-size:1.25rem;display:flex;align-items:center;gap:8px}.summer-panel.loading{text-align:center;padding:40px;color:#999}.summer-panel .date-label{color:#666;font-size:.9rem;margin-bottom:16px}.summer-panel h4{margin:16px 0 8px;color:#ff8e53;font-size:1rem;display:flex;align-items:center;gap:6px}.form-section{margin-bottom:20px;padding-bottom:16px;border-bottom:1px dashed #FFE4CC}.form-section:last-of-type{border-bottom:none}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-section label.full-width{display:block}.form-section label{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.form-section label span{font-size:.85rem;color:#666;font-weight:600}.form-section input,.form-section select{padding:10px 12px;border:2px solid #FFE4CC;border-radius:10px;font-size:1rem;transition:border-color .2s}.form-section input:focus,.form-section select:focus{outline:none;border-color:#ff8e53}.mood-selector{display:flex;gap:10px;flex-wrap:wrap}.mood-btn{flex:1;min-width:90px;padding:10px;border:2px solid #FFE4CC;border-radius:12px;background:#fff;color:#666;font-size:.9rem;cursor:pointer;transition:all .2s}.mood-btn:hover{border-color:#ff8e53}.mood-btn.selected{border-color:#ff6b6b;background:#fff5f5;color:#ff6b6b}.primary-btn{width:100%;padding:14px 24px;background:linear-gradient(135deg,#ff6b6b,#ff8e53);color:#fff;border:none;border-radius:14px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #ff6b6b4d}.primary-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #ff6b6b66}.primary-btn:disabled{opacity:.6;cursor:not-allowed}.secondary-btn{padding:10px 20px;background:#fff;color:#ff6b6b;border:2px solid #FF6B6B;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.secondary-btn:hover{background:#fff5f5}.saved-panel{text-align:center}.saved-header{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:20px}.saved-header h3{justify-content:center;color:#2ecc71}.saved-summary{display:flex;justify-content:center;gap:24px;margin-bottom:20px;flex-wrap:wrap}.summary-item{display:flex;align-items:center;gap:6px;color:#666;font-size:.95rem}.mood-emoji{font-size:1.5rem}.grade-hint{color:#999;font-size:.9rem;margin-bottom:16px}.challenge-list{margin:16px 0}.challenge-item{display:flex;align-items:center;gap:12px;padding:12px;background:#fff9f5;border-radius:10px;margin-bottom:8px}.challenge-label{background:linear-gradient(135deg,#ff6b6b,#ff8e53);color:#fff;padding:4px 10px;border-radius:20px;font-size:.8rem;font-weight:700}.math-practice{text-align:center}.math-progress{margin-bottom:20px}.math-progress span{font-size:.9rem;color:#666}.progress-bar{height:8px;background:#ffe4cc;border-radius:4px;margin-top:8px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#ff6b6b,#ff8e53);border-radius:4px;transition:width .3s ease}.math-question{margin-bottom:20px}.math-question small{color:#999;font-size:.85rem}.math-problem{font-size:2rem;font-weight:700;color:#ff6b6b;margin:8px 0}.math-answer-area{display:flex;gap:12px}.math-answer-area input{flex:1;padding:14px;font-size:1.3rem;text-align:center;border:2px solid #FFE4CC;border-radius:12px}.math-answer-area input:focus{outline:none;border-color:#ff8e53}.math-answer-area .primary-btn{width:auto;padding:14px 28px}.math-feedback{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:16px;padding:14px;border-radius:12px;font-weight:700;font-size:1.1rem}.math-feedback.correct{background:#e8f8f0;color:#2ecc71}.math-feedback.wrong{background:#fff0f0;color:#e74c3c}.completed-panel{text-align:center}.completed-header{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:16px}.english-intro{color:#666;margin-bottom:16px;line-height:1.5}.word-preview{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.word-card{padding:12px;background:linear-gradient(135deg,#fff5f5,#fff9f5);border-radius:12px;text-align:center}.word-card strong{display:block;color:#ff6b6b;font-size:1.1rem;margin-bottom:4px}.word-card span{color:#666;font-size:.9rem}.english-practice{text-align:center}.english-progress{margin-bottom:16px;color:#666}.english-question{margin-bottom:16px}.english-word{font-size:2rem;font-weight:700;color:#9b59b6;margin-bottom:8px}.english-example{color:#999;font-style:italic;font-size:.95rem}.english-hint{color:#666;margin-bottom:16px}.english-answer-area{display:flex;gap:12px}.english-answer-area input{flex:1;padding:14px;font-size:1.1rem;text-align:center;border:2px solid #E8D4F0;border-radius:12px}.english-answer-area input:focus{outline:none;border-color:#9b59b6}.english-answer-area .primary-btn{background:linear-gradient(135deg,#9b59b6,#8e44ad);box-shadow:0 4px 12px #9b59b64d}.english-feedback{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:16px;padding:14px;border-radius:12px;font-weight:700}.english-feedback.correct{background:#f5eef8;color:#9b59b6}.english-feedback.wrong{background:#fde8e8;color:#e74c3c}.words-learned{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:16px 0}.word-tag{padding:6px 12px;background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff;border-radius:20px;font-size:.9rem}.reading-panel h3{margin-bottom:4px}.date-range{color:#999;font-size:.9rem;margin-bottom:20px}.reading-items{display:flex;flex-direction:column;gap:20px}.reading-item{padding:16px;background:#fff9f5;border-radius:14px}.reading-header{display:flex;justify-content:space-between;margin-bottom:8px}.reading-name{font-weight:700;color:#333}.reading-bar{height:10px;background:#ffe4cc;border-radius:5px;overflow:hidden;margin-bottom:6px}.reading-fill{height:100%;background:linear-gradient(90deg,#ff6b6b,#ff8e53);border-radius:5px;transition:width .3s ease}.reading-fill.palace{background:linear-gradient(90deg,gold,orange)}.reading-fill.greatwall{background:linear-gradient(90deg,#4a90d9,#67b26f)}.reading-item small{color:#999;font-size:.85rem}.video-hint{color:#666;margin-bottom:16px;font-size:.95rem}.theme-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.theme-card{padding:16px 8px;background:#fff9f5;border:2px solid transparent;border-radius:14px;text-align:center;cursor:pointer;transition:all .2s}.theme-card:hover{border-color:#ffe4cc}.theme-card.selected{border-color:#ff6b6b;background:#fff5f5}.theme-icon{font-size:2rem;display:block;margin-bottom:8px}.theme-card strong{display:block;color:#333;margin-bottom:4px}.theme-card small{color:#999;font-size:.8rem;line-height:1.3}.video-status{display:flex;align-items:center;gap:12px}.video-status label{color:#666;font-weight:600}.video-status select{flex:1;padding:10px;border:2px solid #FFE4CC;border-radius:10px;font-size:1rem}.submitted-notice{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;padding:12px;background:#e8f8f0;color:#2ecc71;border-radius:10px;font-weight:600}.week-hint{color:#666;margin-bottom:16px}.week-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.week-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;background:#fff9f5;border:2px solid transparent;border-radius:12px;cursor:pointer;transition:all .2s}.week-item:hover{border-color:#ffe4cc}.week-item.current{border-color:#ff8e53;background:#fff5f0}.week-item.completed{background:linear-gradient(135deg,#ff6b6b,#ff8e53);color:#fff}.week-item.completed span{color:#fff}.week-num{font-weight:700;font-size:.9rem;color:#333}.badge-wall h3{margin-bottom:16px}.badge-section{margin-bottom:20px}.badge-section h4{margin-bottom:12px;font-size:.95rem;color:#666}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:12px}.badge-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;background:#fff9f5;border-radius:12px;cursor:pointer;transition:all .2s;position:relative}.badge-card:hover{transform:translateY(-2px)}.badge-card.locked{opacity:.5}.badge-icon-wrap{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center}.badge-name{font-size:.75rem;font-weight:700;color:#333;text-align:center}.badge-earned-check{position:absolute;top:4px;right:4px;width:18px;height:18px;background:#2ecc71;color:#fff;border-radius:50%;font-size:.7rem;display:flex;align-items:center;justify-content:center}.empty-badges{text-align:center;color:#999;padding:20px}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.greeting h2{margin:0 0 4px;color:#ff6b6b}.greeting p{margin:0;color:#666}.grade-badge{padding:8px 16px;background:linear-gradient(135deg,#ff6b6b,#ff8e53);color:#fff;border-radius:20px;font-size:.9rem;font-weight:700}.stats-row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px}.stat-card{display:flex;align-items:center;gap:12px;padding:16px;background:#fff9f5;border-radius:14px}.stat-card svg{color:#ff6b6b}.stat-card div{display:flex;flex-direction:column}.stat-card strong{font-size:1.4rem;color:#333}.stat-card span{font-size:.8rem;color:#999}.progress-overview h4{margin-bottom:12px;color:#666}.progress-bars{display:flex;flex-direction:column;gap:12px}.progress-item{display:flex;align-items:center;gap:12px}.progress-item span:first-child{width:80px;font-size:.85rem;color:#666}.mini-bar{flex:1;height:6px;background:#ffe4cc;border-radius:3px;overflow:hidden}.mini-fill{height:100%;background:linear-gradient(90deg,#ff6b6b,#ff8e53);border-radius:3px}.mini-fill.palace{background:linear-gradient(90deg,gold,orange)}.mini-fill.greatwall{background:linear-gradient(90deg,#4a90d9,#67b26f)}.progress-item span:last-child{width:40px;text-align:right;font-size:.85rem;color:#999}@media (max-width: 600px){.summer-tabs{padding:12px 16px}.summer-tab{padding:10px 12px;min-width:56px}.summer-tab span{font-size:.7rem}.summer-content{padding:16px}.summer-panel{padding:20px 16px}.form-row,.theme-selector{grid-template-columns:1fr}.week-grid{grid-template-columns:repeat(4,1fr)}.stats-row{grid-template-columns:1fr 1fr}.badge-grid{grid-template-columns:repeat(3,1fr)}}:root{color-scheme:light;--ink: #24322d;--muted: #66756d;--paper: #fffdf8;--panel: rgba(255, 253, 248, .94);--line: #dfd8c8;--mint: #2f8d6d;--blue: #2d6f8f;--coral: #f26f4d;--gold: #f6c453;--leaf: #74c69d;--shadow: 0 18px 45px rgba(84, 62, 28, .12);--soft-shadow: 0 10px 22px rgba(84, 62, 28, .1);font-family:Noto Sans TC,Microsoft JhengHei,system-ui,sans-serif;color:var(--ink);background:linear-gradient(135deg,rgba(255,244,205,.78) 0 22%,transparent 22% 100%),linear-gradient(225deg,rgba(216,244,227,.72) 0 18%,transparent 18% 100%),linear-gradient(180deg,#fff8e8,#f2fbef 46%,#eef7fb)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:linear-gradient(90deg,rgba(255,255,255,.35) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.3) 1px,transparent 1px);background-size:32px 32px}button,input,select,textarea{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:1px solid #dccfb6;border-radius:8px;background:#fff;color:var(--ink);cursor:pointer;padding:0 14px;font-weight:900;box-shadow:0 3px #70532c24;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease}button:hover{border-color:var(--mint);transform:translateY(-1px);box-shadow:0 6px #70532c1f}button:disabled{cursor:not-allowed;opacity:.55}button:disabled:hover{border-color:#dccfb6;box-shadow:0 3px #70532c24;transform:none}.row-icon-button{width:42px;min-width:42px;padding:0}input,select,textarea{width:100%;border:1px solid #dccfb6;border-radius:8px;background:#fff;color:var(--ink);padding:11px 12px}textarea{resize:vertical}label{display:grid;gap:7px;color:#57685f;font-size:.92rem;font-weight:900}.app-shell{min-height:100vh}.app-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px clamp(18px,4vw,56px);border-bottom:1px solid rgba(223,216,200,.9);background:#fffdf8e0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 8px 28px #543e1c14}.brand-row{display:flex;align-items:center;gap:14px}.brand-mark{display:grid;place-items:center;width:52px;height:52px;border:none;border-radius:12px;background:transparent;box-shadow:0 6px 16px #2f8d6d4d}.brand-row h1{margin:0;font-size:1.45rem}.brand-row p{margin:3px 0 0;color:var(--muted)}.top-nav,.segmented,.action-row{display:flex;flex-wrap:wrap;gap:10px}.top-nav button.active,.segmented button.active,.admin-tabs button.active{background:linear-gradient(135deg,var(--mint),#42a579);color:#fff;border-color:var(--mint)}.auth-layout,.game-layout,.admin-layout,.content-panel{width:min(1180px,calc(100% - 32px));margin:28px auto}.auth-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,420px);gap:24px;align-items:stretch}.intro-panel{min-height:420px;border-radius:8px;background:linear-gradient(120deg,#1c544ed6,#f26f4d8a),url(https://images.unsplash.com/photo-1503676260728-1c00da094a0b?auto=format&fit=crop&w=1400&q=80);background-size:cover;background-position:center;color:#fff;padding:clamp(28px,5vw,56px);display:flex;flex-direction:column;justify-content:flex-end}.intro-panel h2{margin:18px 0 12px;max-width:720px;font-size:clamp(2rem,4vw,4rem);line-height:1.12}.intro-panel p{max-width:660px;margin:0;font-size:1.08rem;line-height:1.8}.intro-badge{display:inline-flex;align-items:center;gap:8px;width:fit-content;border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:8px 12px;background:#ffffff26;font-weight:800}.auth-card,.question-panel,.player-panel,.content-panel,.admin-panel,.admin-tabs{border:1px solid rgba(223,216,200,.95);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.auth-card{padding:24px}.stack{display:grid;gap:16px;margin-top:20px}.primary-action{background:linear-gradient(135deg,var(--coral),#ff9d57);color:#fff;border-color:#e56b4d}.primary-action:hover{border-color:#9f3925}.hint-text,.empty-state{color:#6b786f}.error-text{color:#b42318;font-weight:800}.success-text{color:#167a4a;font-weight:800}.game-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px;width:min(1240px,calc(100% - 32px));align-items:start}.player-panel{position:sticky;top:92px;padding:18px;display:grid;align-content:start;gap:16px;background:linear-gradient(180deg,#fffdf8f7,#f6fdeff2),repeating-linear-gradient(135deg,rgba(246,196,83,.08) 0 10px,transparent 10px 20px)}.player-badge-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;border:1px solid #f0d27d;border-radius:8px;background:linear-gradient(135deg,#fff7d6,#e9fbff);box-shadow:var(--soft-shadow);padding:14px}.player-avatar{display:grid;place-items:center;width:54px;height:54px;border:3px solid #ffffff;border-radius:50%;background:linear-gradient(135deg,var(--mint),var(--blue));box-shadow:0 6px 16px #2f8d6d40;overflow:hidden}.player-badge-card span,.player-badge-card small{color:#65766d;font-size:.82rem;font-weight:900}.player-badge-card strong{display:block;margin:2px 0;font-size:1.12rem;overflow-wrap:anywhere}.score-card{position:relative;display:grid;gap:4px;padding:18px;border-radius:8px;border:1px solid #f0d27d;background:linear-gradient(135deg,#fff2c1f5,#e8f8edf5),repeating-linear-gradient(90deg,rgba(255,255,255,.35) 0 8px,transparent 8px 16px);overflow:hidden}.score-card span{color:#52645b;font-weight:800}.score-card strong{font-size:2.3rem;line-height:1;color:#7a5417}.daily-goal-card{display:grid;gap:8px;border:1px solid #d9e5cf;border-radius:8px;background:linear-gradient(135deg,#f4fbff,#fff8dd);padding:13px;box-shadow:var(--soft-shadow)}.daily-goal-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.daily-goal-card span,.daily-goal-card small{color:#52645b;font-weight:900}.daily-goal-card strong{color:#263a31}.daily-goal-card small{font-size:.8rem;line-height:1.45}.daily-goal-track{height:9px;border-radius:999px;background:#dce5de;overflow:hidden}.daily-goal-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#74c69d,#f6c453,#ff7a59);transition:width .25s ease}.mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mini-stats div{display:grid;gap:4px;min-width:0;border:1px solid #e5dcc6;border-radius:8px;background:#ffffffe0;padding:10px 8px;box-shadow:0 5px 12px #543e1c0f}.mini-stats span{color:#65766d;font-size:.78rem;font-weight:800}.mini-stats strong{color:#22312b;font-size:.98rem;line-height:1.15}.adventure-card{display:grid;gap:10px;border:1px solid #d9e5cf;border-radius:8px;background:linear-gradient(135deg,#fffaf0,#effbed);padding:14px}.adventure-heading{display:flex;align-items:center;gap:8px;color:#263a31}.adventure-progress{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.adventure-progress span{height:8px;border-radius:999px;background:#d7dfd8;box-shadow:inset 0 0 0 1px #543e1c14}.adventure-progress span.active{background:linear-gradient(90deg,var(--coral),var(--gold))}.adventure-progress span.done{background:linear-gradient(90deg,#2c7a62,#77b99a)}.adventure-progress span.boss{height:10px;background:linear-gradient(90deg,#d9c064,#c84b31)}.adventure-stats{display:flex;justify-content:space-between;gap:8px;color:#64746b;font-size:.86rem;font-weight:800}.adventure-note{color:#7a5417;font-size:.8rem;font-weight:900;line-height:1.35}.mission-map-card{display:grid;gap:12px;border:1px solid #e0d7bd;border-radius:8px;background:linear-gradient(135deg,#fffaf0f5,#effbedf0),repeating-linear-gradient(135deg,rgba(44,122,98,.05) 0 12px,transparent 12px 24px);padding:14px}.battle-map-banner{position:absolute;top:clamp(78px,13vw,164px);left:clamp(14px,3vw,24px);right:clamp(14px,3vw,24px);z-index:3;grid-template-columns:minmax(142px,.82fr) minmax(250px,1.9fr) minmax(152px,.9fr);align-items:center;gap:clamp(8px,1.4vw,16px);border-color:color-mix(in srgb,var(--map-accent) 36%,#ffffff);background:linear-gradient(180deg,#bce6acf0,#5b9959e0 55%,#467846f0),linear-gradient(135deg,#ffffffc7,#fff7d652);min-height:106px;padding:clamp(10px,1.6vw,13px) clamp(12px,2vw,18px);overflow:hidden;box-shadow:0 14px 30px #1f2b242e,inset 0 0 0 1px #ffffff61;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.battle-map-banner.map-theme-forest{border-color:#dbf1aae0;background:linear-gradient(180deg,#cceeb3f2,#6faf69e8 48%,#3d7342f5),radial-gradient(circle at 16% 18%,rgba(255,238,153,.42),transparent 26%),radial-gradient(circle at 86% 15%,rgba(178,226,145,.34),transparent 28%)}.battle-map-banner.map-theme-maze{border-color:red!important;background:red!important}.battle-map-banner.map-theme-maze .mission-map-head{background:#f66!important}.battle-map-banner.map-theme-maze .mission-map-head,.battle-map-banner.map-theme-maze .mission-map-head svg{color:#fff!important}.battle-map-banner.map-theme-maze .mission-map-head strong{color:#fff!important}.battle-map-banner.map-theme-valley{border-color:#5d8aa8e0!important;background:linear-gradient(180deg,#f0f4f8f2,#c8d2dce8 48%,#a0b4c8f5)!important}.battle-map-banner.map-theme-valley .mission-map-head{background:#c8d2dce6!important}.battle-map-banner.map-theme-valley .mission-map-head,.battle-map-banner.map-theme-valley .mission-map-head svg{color:#4a6a8a!important}.battle-map-banner.map-theme-valley .mission-map-head strong{color:#2a4a6a!important}.battle-map-banner.map-theme-castle{border-color:#9370dbe0!important;background:linear-gradient(180deg,#0c1445f2,#1a236ee8 48%,#303f9ff5)!important}.battle-map-banner.map-theme-castle .mission-map-head{background:#1a2364e6!important}.battle-map-banner.map-theme-castle .mission-map-head,.battle-map-banner.map-theme-castle .mission-map-head svg{color:gold!important}.battle-map-banner.map-theme-castle .mission-map-head strong{color:#fff8dc!important}.mission-map-scene,.mission-map-scene span{position:absolute;pointer-events:none}.mission-map-scene{top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:inherit}.mission-map-scene:before{content:"";position:absolute;inset:auto -8% -42% -8%;height:74%;border-radius:48% 52% 0 0;background:radial-gradient(circle at 22% 26%,rgba(255,238,153,.34),transparent 13%),linear-gradient(90deg,#4a7c3dd1,#589946c2,#32693adb)}.mission-map-scene:after{content:"";position:absolute;left:7%;right:7%;bottom:12px;height:27px;border-radius:50%;background:radial-gradient(ellipse at 14% 54%,rgba(244,214,129,.9) 0 10%,transparent 11%),radial-gradient(ellipse at 36% 48%,rgba(244,214,129,.88) 0 10%,transparent 11%),radial-gradient(ellipse at 59% 54%,rgba(244,214,129,.88) 0 10%,transparent 11%),radial-gradient(ellipse at 83% 48%,rgba(244,214,129,.9) 0 10%,transparent 11%),linear-gradient(90deg,#d6a15400,#e1ad5f8f,#d6a15400);opacity:.82;transform:rotate(-1deg);filter:blur(.2px)}.forest-ridge{left:-5%;right:-5%;border-radius:0 0 50% 50%}.forest-ridge-back{top:-34px;height:78px;background:radial-gradient(circle at 12% 82%,rgba(62,124,77,.96) 0 12%,transparent 13%),radial-gradient(circle at 25% 78%,rgba(73,145,82,.94) 0 15%,transparent 16%),radial-gradient(circle at 42% 78%,rgba(50,115,75,.96) 0 14%,transparent 15%),radial-gradient(circle at 60% 82%,rgba(83,155,83,.94) 0 16%,transparent 17%),radial-gradient(circle at 77% 80%,rgba(58,131,78,.96) 0 14%,transparent 15%),radial-gradient(circle at 92% 82%,rgba(79,150,79,.94) 0 12%,transparent 13%);opacity:.9}.forest-ridge-front{top:-12px;height:66px;background:radial-gradient(circle at 8% 74%,rgba(37,101,66,.98) 0 13%,transparent 14%),radial-gradient(circle at 20% 70%,rgba(57,133,73,.98) 0 15%,transparent 16%),radial-gradient(circle at 35% 72%,rgba(43,117,68,.98) 0 14%,transparent 15%),radial-gradient(circle at 51% 70%,rgba(65,140,74,.96) 0 17%,transparent 18%),radial-gradient(circle at 68% 75%,rgba(38,106,67,.98) 0 15%,transparent 16%),radial-gradient(circle at 85% 70%,rgba(58,129,75,.98) 0 16%,transparent 17%),radial-gradient(circle at 99% 75%,rgba(38,106,67,.96) 0 13%,transparent 14%)}.forest-tree{bottom:12px;width:18px;height:62px;border-radius:999px 999px 3px 3px;background:linear-gradient(90deg,transparent 0 34%,rgba(101,67,38,.9) 35% 62%,transparent 63%),radial-gradient(circle at 50% 18%,rgba(41,111,65,.98) 0 22px,transparent 23px);opacity:.92}.forest-tree-a{left:2%;transform:scale(.86)}.forest-tree-b{left:19%;bottom:2px;transform:scale(1.08)}.forest-tree-c{right:18%;bottom:1px;transform:scale(1.12)}.forest-tree-d{right:3%;transform:scale(.9)}.forest-bush{bottom:0;width:118px;height:34px;border-radius:999px 999px 0 0;background:radial-gradient(circle at 18% 70%,rgba(37,109,62,.98) 0 17px,transparent 18px),radial-gradient(circle at 41% 56%,rgba(58,139,70,.98) 0 20px,transparent 21px),radial-gradient(circle at 66% 69%,rgba(43,119,66,.98) 0 18px,transparent 19px),radial-gradient(circle at 88% 74%,rgba(54,129,72,.94) 0 14px,transparent 15px)}.forest-bush-a{left:-18px}.forest-bush-b{right:-18px;transform:scaleX(-1)}.forest-leaf{width:9px;height:15px;border-radius:9px 9px 9px 0;background:#ffe26fd1;box-shadow:0 0 8px #ffe26f57;animation:forest-leaf-float 4.2s ease-in-out infinite}.forest-leaf-a{left:31%;top:22px}.forest-leaf-b{left:57%;top:14px;animation-delay:.9s}.forest-leaf-c{right:28%;top:32px;animation-delay:1.6s}.mission-map-head,.mission-map-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#263a31;font-size:.86rem;font-weight:900}.battle-map-banner .mission-map-head{align-self:stretch;display:grid;justify-content:stretch;position:relative;z-index:2;min-width:0;border-radius:8px;background:#f7ffe3a8;padding:8px 9px;box-shadow:inset 0 0 0 1px #ffffff75}.mission-map-head>div{display:flex;align-items:center;gap:8px;min-width:0}.battle-map-banner .mission-map-head>div{align-items:flex-start}.battle-map-banner .mission-map-head svg{color:#2f6f48;filter:drop-shadow(0 2px 4px rgba(42,92,53,.2))}.battle-map-banner .mission-map-head strong{color:#173d2b;text-shadow:0 1px 0 rgba(255,255,255,.42)}.mission-map-head span{border-radius:999px;background:#fff1c7;color:#7a5417;padding:4px 8px;white-space:nowrap}.battle-map-banner .mission-map-head span{justify-self:start;background:#fff3b5db;color:#5d4316;box-shadow:0 4px 10px #3f643a21}.mission-map-path{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:6px;isolation:isolate}.mission-map-path:before,.mission-map-path:after{content:"";position:absolute;left:8%;right:8%;top:50%;height:7px;border-radius:999px;transform:translateY(-50%)}.mission-map-path:before{background:linear-gradient(90deg,#ffffffa3,#ffffff2e),#d8decfdb;box-shadow:inset 0 1px 2px #543e1c1f}.mission-map-path:after{right:auto;width:var(--route-progress, 0%);background:linear-gradient(90deg,var(--map-accent),#74c69d,var(--gold),var(--coral));box-shadow:0 0 16px color-mix(in srgb,var(--map-accent) 38%,transparent),0 0 8px #ffd16652}.mission-node{position:relative;display:grid;place-items:center;min-height:38px}.mission-node-aura{position:absolute;inset:50% auto auto 50%;width:68px;height:68px;transform:translate(-50%,-50%);pointer-events:none;z-index:0;border-radius:50%;background:radial-gradient(circle at center,#ffdc8461 0,#ffdc8461 35%,#ffdc8414 56%,#ffdc8400 76%);filter:drop-shadow(0 0 10px rgba(255,194,89,.45));animation:mission-aura-breathe 1.8s ease-in-out infinite}.mission-node-aura:after{content:"";position:absolute;top:9px;right:9px;bottom:9px;left:9px;border-radius:50%;border:2px solid rgba(255,219,125,.78);box-shadow:0 0 12px #ffc25947;animation:mission-aura-ring 2.15s ease-out infinite}.mission-node:before{display:none}.mission-node:first-child:before{display:none}.mission-node span{position:relative;z-index:1;display:grid;place-items:center;width:42px;height:42px;overflow:hidden;border:2px solid rgba(255,255,255,.9);border-radius:50%;background:radial-gradient(circle at 34% 24%,rgba(255,255,255,.96),transparent 34%),linear-gradient(145deg,#fff,#eef5eb 72%);color:#64746b;font-weight:1000;box-shadow:0 5px #543e1c14,0 12px 20px #1f2b241f;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.mission-node span:before,.mission-node span:after{content:"";position:absolute;pointer-events:none}.mission-node span:before{top:4px;right:4px;bottom:4px;left:4px;border:1px solid rgba(255,255,255,.74);border-radius:inherit}.mission-node span:after{top:-45%;right:-45%;bottom:-45%;left:-45%;background:linear-gradient(120deg,transparent 34%,rgba(255,255,255,.72),transparent 64%);opacity:0;transform:translate(-78%) rotate(18deg)}.mission-node svg{position:relative;z-index:2;filter:drop-shadow(0 2px 2px rgba(84,62,28,.18))}.mission-node b{position:absolute;right:5px;bottom:4px;z-index:2;min-width:14px;border-radius:999px;background:#ffffffe0;color:#5b4631;font-size:.58rem;font-weight:1000;line-height:1.15;padding:1px 4px;text-align:center;box-shadow:0 1px 4px #543e1c1f}.battle-map-banner .mission-node span{width:38px;height:38px;border-width:2px}.battle-map-banner .mission-node-aura{width:58px;height:58px}.battle-map-banner .mission-node b{right:4px;bottom:3px;min-width:12px;font-size:.54rem;padding:1px 3px}.mission-node.done:before,.mission-node.active:before{background:#77b99a}.mission-node.done span{border-color:var(--map-accent);background:radial-gradient(circle at 34% 24%,rgba(255,255,255,.9),transparent 32%),linear-gradient(145deg,#b9f0d0,var(--map-accent));color:#fff;box-shadow:0 5px color-mix(in srgb,var(--map-accent) 36%,rgba(84,62,28,.18)),0 12px 22px color-mix(in srgb,var(--map-accent) 28%,transparent)}.mission-node.active span{border-color:#fff4c4;background:radial-gradient(circle at 28% 22%,#ffffff,transparent 30%),linear-gradient(145deg,#ffe790,#f6a94c 54%,#f26f4d);color:#7a2a18;transform:translateY(-2px) scale(1.1);box-shadow:0 0 0 5px #ffd16638,0 0 22px #f26f4d52,0 10px 22px #543e1c2e;animation:mission-node-pulse 1.8s ease-in-out infinite}.mission-node.active span:after{animation:mission-node-shine 2.25s ease-in-out infinite}.mission-node.active svg{animation:mission-active-icon 1.4s ease-in-out infinite}.mission-node.boss span{width:48px;height:44px;border-radius:11px;border-color:#ffe0a3;background:radial-gradient(circle at 30% 22%,#fff7cf,transparent 34%),linear-gradient(145deg,#ffd166,#f26f4d 56%,#8d2a1e);color:#fff7dd;box-shadow:0 0 0 5px #f26f4d29,0 10px 22px #8d2a1e3d}.battle-map-banner .mission-node.boss span{width:42px;height:40px}.battle-map-banner .mission-map-path{align-self:stretch;min-height:82px;padding:18px 4px 12px}.battle-map-banner .mission-map-path:before,.battle-map-banner .mission-map-path:after{left:4%;top:58%;height:18px;border-radius:50% 52% 48% 50%;transform:translateY(-50%) rotate(-2deg)}.battle-map-banner .mission-map-path:before{right:4%;background:radial-gradient(ellipse at 8% 50%,rgba(255,238,169,.95) 0 8%,transparent 9%),radial-gradient(ellipse at 29% 46%,rgba(255,238,169,.9) 0 8%,transparent 9%),radial-gradient(ellipse at 51% 54%,rgba(255,238,169,.88) 0 8%,transparent 9%),radial-gradient(ellipse at 73% 46%,rgba(255,238,169,.9) 0 8%,transparent 9%),radial-gradient(ellipse at 94% 52%,rgba(255,238,169,.95) 0 8%,transparent 9%),linear-gradient(90deg,#976736b8,#e8b365f0,#976736b8);box-shadow:inset 0 2px 3px #ffffff5c,0 9px 12px #25482d2e}.battle-map-banner .mission-map-path:after{width:var(--route-progress, 0%);background:linear-gradient(90deg,#ffee8df5,#ffd166f5,#ff8259e6);box-shadow:0 0 14px #ffd16694,0 0 18px #5aae5f33}.battle-map-banner .mission-node{min-height:54px;z-index:2}.battle-map-banner .mission-node:nth-child(1){transform:translateY(14px)}.battle-map-banner .mission-node:nth-child(2){transform:translateY(-5px)}.battle-map-banner .mission-node:nth-child(3){transform:translateY(10px)}.battle-map-banner .mission-node:nth-child(4){transform:translateY(-2px)}.battle-map-banner .mission-node:nth-child(5){transform:translateY(9px)}.battle-map-banner .mission-node span{background:radial-gradient(circle at 34% 24%,rgba(255,255,255,.94),transparent 34%),linear-gradient(145deg,#f9ffe7,#bce59a 72%);color:#2c6d48;box-shadow:0 4px #3a53272e,0 12px 18px #1d482b38}.battle-map-banner .mission-node.done span{background:radial-gradient(circle at 34% 24%,rgba(255,255,255,.9),transparent 32%),linear-gradient(145deg,#91db85,#2c7a62)}.battle-map-banner .mission-node.active span{border-color:#fff7be;background:radial-gradient(circle at 28% 22%,#ffffff,transparent 30%),linear-gradient(145deg,#fff07b,#f6c453 52%,#f27d4f)}.battle-map-banner .mission-node.boss span{border-color:#ffe19d;background:radial-gradient(circle at 30% 22%,#fff7cf,transparent 34%),linear-gradient(145deg,#ffd166,#e76448 56%,#672b1e);box-shadow:0 0 0 5px #ffd1662e,0 12px 22px #572a1e42}.battle-map-banner .mission-node.boss:after{content:"";position:absolute;right:1px;bottom:7px;z-index:-1;width:54px;height:36px;border-radius:50% 50% 12px 12px;background:radial-gradient(circle at 30% 36%,rgba(56,101,55,.98) 0 17px,transparent 18px),radial-gradient(circle at 70% 35%,rgba(36,83,55,.98) 0 19px,transparent 20px)}.mission-node.boss.active span{color:#fff7dd;transform:translateY(-3px) scale(1.12);box-shadow:0 0 0 6px #ffd16633,0 0 26px #f26f4d6b,0 12px 26px #8d2a1e47;animation:mission-boss-pulse 1.55s ease-in-out infinite}.mission-node.boss b,.mission-node.done b{color:#7a2a18}@keyframes mission-node-pulse{0%,to{filter:saturate(1)}50%{filter:saturate(1.18) brightness(1.04)}}@keyframes mission-aura-breathe{0%,to{opacity:.72;transform:translate(-50%,-50%) scale(.95)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}}@keyframes mission-aura-ring{0%{opacity:.75;transform:scale(.78)}80%{opacity:.14;transform:scale(1.2)}to{opacity:0;transform:scale(1.3)}}@keyframes mission-active-icon{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-1px) scale(1.08)}}@keyframes mission-boss-pulse{0%,to{filter:saturate(1)}50%{filter:saturate(1.24) brightness(1.08)}}@keyframes forest-leaf-float{0%,to{opacity:.38;transform:translateZ(0) rotate(10deg)}45%{opacity:.9;transform:translate3d(9px,7px,0) rotate(32deg)}72%{opacity:.68;transform:translate3d(-4px,13px,0) rotate(18deg)}}@keyframes mission-node-shine{0%,42%{opacity:0;transform:translate(-78%) rotate(18deg)}58%{opacity:.82}to{opacity:0;transform:translate(78%) rotate(18deg)}}@media (prefers-reduced-motion: reduce){.mission-node.active span,.mission-node.boss.active span,.mission-node.active span:after,.mission-node.active svg,.mission-node-aura,.mission-node-aura:after,.forest-leaf{animation:none}}.mission-map-status,.mission-map-event{display:grid;gap:3px;border-radius:8px;padding:10px;background:#ffffffbf}.battle-map-banner .mission-map-status,.battle-map-banner .mission-map-event{position:relative;z-index:2;min-height:64px;border:1px solid rgba(255,255,255,.62);background:#f7ffe3b3;box-shadow:inset 0 0 0 1px #47854914,0 8px 16px #25482d1a}.battle-map-banner .mission-map-status strong,.battle-map-banner .mission-map-event strong{color:#173d2b}.mission-map-status strong,.mission-map-event strong{color:#263a31;font-size:.92rem}.mission-map-status span,.mission-map-event span,.mission-map-foot span{color:#64746b;font-size:.84rem;line-height:1.45}.battle-map-banner .mission-map-status span,.battle-map-banner .mission-map-event span{font-size:.8rem}.mission-map-event.clear{border:1px solid #f0d27d;background:#fff7d6}.mission-map-event.advance{border:1px solid #cfe2d8;background:#edf8f2}.mission-map-event.wrong{border:1px solid #f0c7bc;background:#fff0eb}.mission-map-event.wrong-review,.mission-map-event.repeat{border:1px solid #d6e4ea;background:#f4fbff}.skill-card{display:grid;gap:12px;border:1px solid #d6e4ea;border-radius:8px;background:linear-gradient(135deg,#f4fbff,#fffdf8);padding:14px}.skill-heading{display:flex;align-items:center;gap:8px;color:#263a31}.skill-list{display:grid;gap:8px}.skill-button{justify-content:stretch;width:100%;min-height:56px;border-color:#cfdde4;background:#fff;padding:8px 10px;box-shadow:0 3px #2d6f8f1f}.skill-button span{display:grid;gap:2px;min-width:0;flex:1;text-align:left}.skill-button strong,.skill-button small{overflow-wrap:anywhere}.skill-button small{color:#64746b;font-size:.78rem}.skill-button b{display:grid;place-items:center;min-width:34px;height:28px;border-radius:8px;background:#edf3f7;color:#2d6f8f;font-size:.82rem}.skill-button.selected{border-color:#2d6f8f;background:linear-gradient(135deg,#ecf8fb,#fff7d6);color:#214c62}.quest-card{display:grid;gap:12px;border:1px solid #eadfbe;border-radius:8px;background:linear-gradient(135deg,#fffaf0,#fff);padding:14px}.quest-heading,.quest-heading>div,.quest-title,.quest-footnote{display:flex;align-items:center;gap:8px}.quest-heading{justify-content:space-between}.quest-heading button{min-height:34px;border-color:#edc76d;background:linear-gradient(135deg,#fff5d6,#ffe4b8);color:#7a5417;padding:0 10px;white-space:nowrap}.quest-list{display:grid;gap:9px}.quest-item{display:grid;gap:6px;border:1px solid #eadfbe;border-radius:8px;background:#ffffffe6;padding:9px}.quest-title{min-width:0;color:#263a31;font-size:.86rem;font-weight:900}.quest-title span{min-width:0;flex:1;overflow-wrap:anywhere}.quest-title strong{color:#7a5417;font-size:.8rem}.quest-track{height:7px;border-radius:999px;background:#eee6d0;overflow:hidden}.quest-track div{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--coral),var(--gold));transition:width .25s ease}.quest-item small,.quest-footnote{color:#64746b;font-size:.78rem;font-weight:800}.quest-item.done{border-color:#bad8ca;background:#f2faf5}.quest-item.done .quest-track div{background:linear-gradient(90deg,var(--mint),var(--leaf))}.quest-reward{display:grid;gap:3px;border:1px solid #f0d27d;border-radius:8px;background:linear-gradient(135deg,#fff5d6,#f0fff4);color:#7a5417;padding:9px;box-shadow:0 6px 14px #f6c45329}.quest-reward span{font-size:.86rem;font-weight:800}.quest-footnote{justify-content:space-between}.question-panel,.content-panel,.admin-panel{padding:clamp(18px,3vw,28px)}.battle-arena{position:relative;scroll-margin-top:92px;display:grid;gap:16px;margin-bottom:24px;border:2px solid #eadfbe;border-radius:8px;background:#fffdf8;padding:0;overflow:hidden;box-shadow:var(--soft-shadow)}.battle-cinematic-active{border-color:#f26f4d99;box-shadow:0 0 0 4px #ffd16638,0 20px 44px #1f2b2429}.battle-arena:before{display:none}.stage-scene{display:block;width:100%;min-height:148px;border-bottom:1px solid #eadfbe}.pixi-stage-shell{position:relative;aspect-ratio:720 / 240;background:linear-gradient(135deg,#e8fbff,#fff4cd 58%,#f3ffe9);overflow:hidden}.pixi-stage-shell canvas{display:block;width:100%!important;height:100%!important}.pixi-stage-fallback{width:100%;height:100%;background:linear-gradient(180deg,#ffffff4d,#74c69d29),repeating-linear-gradient(90deg,rgba(255,255,255,.36) 0 18px,transparent 18px 36px)}.battle-stage-burst{position:absolute;top:clamp(68px,10vw,112px);left:50%;z-index:2;pointer-events:none;transform:translate(-50%);animation:battle-stage-burst 1.4s ease both}.battle-stage-burst span{display:block;border:3px solid rgba(255,255,255,.96);border-radius:8px;background:linear-gradient(135deg,#ff7a59,#ffd166);color:#fff;padding:10px 18px;font-size:clamp(1.3rem,4vw,2.35rem);font-weight:900;text-shadow:0 2px 8px rgba(84,62,28,.26);box-shadow:0 16px 34px #f26f4d47}.scene-note{filter:drop-shadow(0 7px 10px rgba(84,62,28,.14));animation:float-note 3.6s ease-in-out infinite}.scene-note-two{animation-delay:.8s}.battle-topline,.battle-field,.battle-status{position:relative;margin-inline:clamp(16px,3vw,24px)}.battle-topline{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-top:clamp(44px,8vw,70px)}.battle-kicker{color:var(--stage-accent);font-size:.82rem;font-weight:900;letter-spacing:0}.battle-topline h2{margin:3px 0 2px;font-size:1.5rem}.battle-topline p{margin:0;color:#64746b;font-weight:700}.combo-badge{display:grid;grid-template-columns:auto auto;align-items:center;justify-items:center;gap:0 6px;min-width:78px;border:1px solid rgba(242,111,77,.35);border-radius:8px;background:linear-gradient(135deg,#fff,#fff2cf);color:var(--coral);padding:9px 10px;box-shadow:0 5px 12px #f26f4d1f}.combo-badge strong{font-size:1.35rem;line-height:1}.combo-badge span{grid-column:1 / -1;color:#6b786f;font-size:.76rem;font-weight:900}.battle-field{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;border:1px solid #efe3c4;border-radius:8px;background:linear-gradient(180deg,#ffffffd1,#fffaf0e6),repeating-linear-gradient(90deg,#74c69d14 0,#74c69d14 20px,#fff0 20px,#fff0 40px);padding:16px}.hero-side,.enemy-side{display:grid;gap:8px;min-width:0}.enemy-side{justify-items:end}.character-token{display:grid;place-items:center;width:72px;height:72px;border-radius:8px;border:2px solid #ffffff;box-shadow:0 12px 24px #1f2b2424}.hero-token{background:linear-gradient(135deg,var(--mint),#51b47f);color:#fff}.enemy-token{background:linear-gradient(135deg,var(--coral),#d85d3c);color:#fff}.battle-label{display:flex;justify-content:space-between;gap:10px;width:100%;color:#52645b;font-size:.86rem;font-weight:900}.hp-track{width:100%;height:10px;border-radius:999px;background:#dfe6df;overflow:hidden;box-shadow:inset 0 0 0 1px #543e1c14}.hp-fill{height:100%;border-radius:inherit;transition:width .35s ease}.hero-hp{background:linear-gradient(90deg,var(--mint),var(--leaf))}.enemy-hp{background:linear-gradient(90deg,var(--coral),#ff9d57)}.battle-impact{display:grid;place-items:center;min-width:98px;min-height:42px;border:1px solid #f0d27d;border-radius:8px;background:linear-gradient(135deg,#fff7d6,#fff);color:#7a5417;font-size:.88rem;font-weight:900;text-align:center;box-shadow:0 4px #f6c45333}.battle-hit .enemy-token{animation:enemy-hit .45s ease}.battle-hit .battle-impact,.battle-victory .battle-impact{animation:impact-pop .42s ease}.battle-guard .hero-token{animation:hero-guard .45s ease}.battle-status{display:grid;gap:3px;border-left:4px solid var(--stage-accent);background:#ffffffd6;border-radius:8px;padding:11px 13px;margin-bottom:20px}.battle-status strong{color:#263a31}.battle-status span,.battle-status small{color:#64746b;font-weight:700}.battle-cinematic-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;display:grid;place-items:center;pointer-events:none;background:#1f2b2438;animation:cinematic-shell 3.6s ease both}.battle-cinematic-frame{position:relative;width:min(720px,calc(100vw - 28px));border:3px solid rgba(255,255,255,.94);border-radius:8px;background:#fffdf8;overflow:hidden;box-shadow:0 26px 70px #1f2b2452;animation:cinematic-frame 3.6s ease both}.battle-cinematic-frame .stage-scene{border-bottom:0}.battle-cinematic-caption{position:absolute;left:50%;bottom:16px;display:grid;justify-items:center;gap:3px;min-width:min(420px,calc(100% - 44px));transform:translate(-50%);border:2px solid rgba(255,255,255,.92);border-radius:8px;background:linear-gradient(135deg,#ff7a59f0,#ffd166f2);color:#fff;padding:10px 16px;text-align:center;text-shadow:0 2px 8px rgba(84,62,28,.28);box-shadow:0 12px 30px #f26f4d4d;animation:cinematic-caption 3.6s ease both}.battle-cinematic-caption strong{font-size:clamp(1.35rem,5vw,2.7rem);line-height:1}.battle-cinematic-caption span{font-size:.95rem;font-weight:900}.boss-victory-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:48;pointer-events:none;display:grid;place-items:center;background:radial-gradient(circle at 50% 44%,#fff5ba4d,#161f1cc2 66%);animation:boss-victory-shell 3.2s ease both}.boss-victory-burst{position:absolute;width:min(74vw,760px);aspect-ratio:1 / 1;border-radius:50%;background:radial-gradient(circle at center,rgba(255,247,198,.98) 0 14%,rgba(255,178,94,.74) 24%,rgba(242,111,77,.16) 48%,transparent 72%);filter:blur(.3px);animation:boss-victory-burst 3.2s ease both}.boss-victory-rays{position:absolute;width:min(82vw,900px);aspect-ratio:1 / 1;border-radius:50%;background:conic-gradient(from 0deg,#ffeca3c7,#ffeca3c7 16deg,#ffeca300 16deg,#ffeca300 30deg,#ffa266b3 30deg,#ffa266b3 44deg,#ffa26600 44deg,#ffa26600 62deg,#ffeca3bd 62deg,#ffeca3bd 76deg,#ffeca300 76deg,#ffeca300 94deg,#ff875cb8 94deg,#ff875cb8 108deg,#ff875c00 108deg,#ff875c00 126deg,#ffeca3bd 126deg,#ffeca3bd 142deg,#ffeca300 142deg,#ffeca300 160deg,#ffa266ad 160deg,#ffa266ad 176deg,#ffa26600 176deg,#ffa26600 196deg,#ffeca3bd 196deg,#ffeca3bd 210deg,#ffeca300 210deg,#ffeca300 228deg,#ff875cb3 228deg,#ff875cb3 242deg,#ff875c00 242deg,#ff875c00 260deg,#ffeca3bd 260deg,#ffeca3bd 274deg,#ffeca300 274deg,#ffeca300 292deg,#ffa266b8 292deg,#ffa266b8 308deg,#ffa26600 308deg,#ffa26600 326deg,#ffeca3c2 326deg,#ffeca3c2 340deg,#ffeca300 340deg,#ffeca300 360deg);mix-blend-mode:screen;opacity:.8;animation:boss-victory-rays 3.2s ease both}.boss-victory-title{position:relative;z-index:2;min-width:min(560px,calc(100vw - 36px));display:grid;justify-items:center;gap:6px;border-radius:8px;border:2px solid rgba(255,255,255,.94);background:linear-gradient(135deg,#ffba58f2,#f56656f2);color:#fffdf6;padding:16px 22px;box-shadow:0 16px 38px #f26f4d59;animation:boss-victory-title 3.2s ease both;text-shadow:0 2px 10px rgba(83,42,26,.34)}.boss-victory-title span{font-size:.88rem;font-weight:900;letter-spacing:0}.boss-victory-title strong{font-size:clamp(1.5rem,5vw,2.8rem);line-height:1}.boss-victory-title small{font-size:.86rem;font-weight:900}.boss-victory-confetti{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.boss-victory-confetti i{position:absolute;top:-10%;left:50%;width:9px;height:18px;border-radius:2px;opacity:0;background:linear-gradient(180deg,#fff4bd,#ff9a6c);box-shadow:0 0 8px #ffd46f85;animation:boss-confetti-fall 2.2s ease-in forwards}.boss-victory-confetti i:nth-child(odd){background:linear-gradient(180deg,#ffe57a,#f26f4d)}.boss-victory-confetti i:nth-child(1){left:6%;animation-delay:.1s}.boss-victory-confetti i:nth-child(2){left:14%;animation-delay:.28s}.boss-victory-confetti i:nth-child(3){left:22%;animation-delay:.16s}.boss-victory-confetti i:nth-child(4){left:31%;animation-delay:.04s}.boss-victory-confetti i:nth-child(5){left:39%;animation-delay:.22s}.boss-victory-confetti i:nth-child(6){left:48%;animation-delay:.12s}.boss-victory-confetti i:nth-child(7){left:56%;animation-delay:.34s}.boss-victory-confetti i:nth-child(8){left:64%;animation-delay:.18s}.boss-victory-confetti i:nth-child(9){left:72%;animation-delay:.08s}.boss-victory-confetti i:nth-child(10){left:81%;animation-delay:.26s}.boss-victory-confetti i:nth-child(11){left:89%;animation-delay:.14s}.boss-victory-confetti i:nth-child(12){left:95%;animation-delay:.3s}@keyframes boss-victory-shell{0%{opacity:0}10%,82%{opacity:1}to{opacity:0}}@keyframes boss-victory-burst{0%{opacity:0;transform:scale(.56)}18%{opacity:1;transform:scale(1.04)}70%{opacity:.92;transform:scale(1)}to{opacity:0;transform:scale(1.16)}}@keyframes boss-victory-rays{0%{opacity:0;transform:scale(.72) rotate(-24deg)}22%{opacity:.82;transform:scale(1) rotate(0)}80%{opacity:.72;transform:scale(1.06) rotate(26deg)}to{opacity:0;transform:scale(1.1) rotate(36deg)}}@keyframes boss-victory-title{0%{opacity:0;transform:translateY(16px) scale(.84)}18%,74%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-14px) scale(.96)}}@keyframes boss-confetti-fall{0%{opacity:0;transform:translate3d(-10px,-5vh,0) rotate(0)}16%{opacity:1}to{opacity:0;transform:translate3d(16px,110vh,0) rotate(540deg)}}@media (prefers-reduced-motion: reduce){.boss-victory-overlay,.boss-victory-burst,.boss-victory-rays,.boss-victory-title,.boss-victory-confetti i{animation:none}}.boss-trait{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;margin-top:8px;border:1px solid color-mix(in srgb,var(--stage-accent) 30%,#dce2da);border-radius:8px;background:linear-gradient(135deg,#f7fbf8,#fff);padding:9px 10px}.boss-trait svg{margin-top:2px;color:var(--stage-accent)}.boss-trait div{display:grid;gap:2px;min-width:0}.boss-trait strong{color:#263a31;font-size:.86rem}.boss-trait span{color:#64746b;font-size:.82rem;line-height:1.45;overflow-wrap:anywhere}.energy-meter{display:grid;gap:6px;margin-top:6px}.energy-meter>div:first-child{display:flex;align-items:center;gap:7px;color:#2d6f8f;font-size:.88rem;font-weight:900}.energy-track{height:8px;border-radius:999px;background:#dbe5e9;overflow:hidden}.energy-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),#5aa9c8);transition:width .35s ease}@keyframes float-note{0%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}to{transform:translateY(0) rotate(-1deg)}}@keyframes battle-stage-burst{0%{opacity:0;transform:translate(-50%,16px) scale(.72) rotate(-4deg)}18%{opacity:1;transform:translate(-50%) scale(1.08) rotate(2deg)}55%{opacity:1;transform:translate(-50%,-4px) scale(1)}to{opacity:0;transform:translate(-50%,-18px) scale(.92)}}@keyframes cinematic-shell{0%{opacity:0}8%,78%{opacity:1}to{opacity:0}}@keyframes cinematic-frame{0%{opacity:0;transform:translateY(24px) scale(.92)}12%{opacity:1;transform:translateY(0) scale(1)}72%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-18px) scale(.96)}}@keyframes cinematic-caption{0%{opacity:0;transform:translate(-50%,14px) scale(.86)}16%,74%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-8px) scale(.96)}}.question-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.question-meta span,.admin-row span,.leader-row span{color:#617068;font-size:.86rem}.question-meta span{border:1px solid #e8dcc2;border-radius:8px;background:#fffaf0;padding:6px 10px;font-weight:800}.question-meta .question-type-mismatch{border-color:#e3d8be;background:#fff6de;color:#756544}.knowledge-tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 10px}.knowledge-tags span{border:1px solid #cfe2d8;border-radius:999px;background:#edf8f2;color:#2c6d55;padding:4px 9px;font-size:.78rem;font-weight:900}.question-card-head h2{margin:0;font-size:1.58rem;line-height:1.45;overflow-wrap:anywhere}.question-workbench{border:2px solid #eadfbe;border-radius:12px;background:#fffdf8;padding:clamp(16px,2.6vw,24px);box-shadow:var(--soft-shadow);display:grid;gap:18px}.question-workspace-group{border:1px solid #eadfbe;border-radius:8px;background:linear-gradient(135deg,#fffcf0fa,#f4e6c399),repeating-linear-gradient(135deg,rgba(31,100,80,.08) 0 10px,transparent 10px 20px);padding:clamp(14px,2.4vw,20px);display:grid;gap:18px}.question-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:0;border:1px solid #eadfbe;border-radius:8px;background:linear-gradient(135deg,#fffffff5,#fff7d6b8),repeating-linear-gradient(135deg,rgba(242,111,77,.06) 0 10px,transparent 10px 20px);padding:clamp(14px,2.4vw,20px)}.question-card-head>div:first-child{min-width:0}.question-stamp{display:grid;justify-items:center;gap:4px;flex:0 0 auto;min-width:76px;border:1px solid #f0d27d;border-radius:8px;background:linear-gradient(135deg,#fff7d6,#f0fff4);color:#7a5417;padding:10px;font-size:.8rem;font-weight:900;text-align:center;box-shadow:0 4px #f6c45329}.question-workspace{display:grid;gap:22px}.question-workspace h3{margin:0 0 10px;font-size:1rem;color:#34463d}.answer-line,.chip-grid{display:flex;flex-wrap:wrap;gap:10px;min-height:56px}.answer-line{border:2px dashed #f0b86a;border-radius:8px;padding:14px;background:linear-gradient(180deg,#fffaf0f5,#f6fdeff5),repeating-linear-gradient(90deg,rgba(246,196,83,.08) 0 16px,transparent 16px 32px);align-items:center;box-shadow:inset 0 0 0 2px #fff9}.answer-sequence{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:100%}.sentence-chip,.word-chip{min-height:46px;border-radius:8px;padding:10px 14px;background:#fff;border:1px solid #d9d0bd;font-weight:800;box-shadow:0 3px #543e1c1a;line-height:1.45;overflow-wrap:anywhere}.sentence-chip,.selected-order-chip{touch-action:none;user-select:none;-webkit-user-select:none}.sentence-chip.selected{background:#e9f8ef;border-color:var(--mint)}.selected-order-chip{display:inline-flex;align-items:center;min-height:46px;max-width:100%;border:2px solid var(--mint);border-radius:8px;background:linear-gradient(135deg,#e9f8ef,#fff);padding:10px 14px;font-weight:800;cursor:grab;line-height:1.45;overflow-wrap:anywhere;box-shadow:0 4px #2f8d6d2e;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.sentence-chip:hover,.selected-order-chip:hover{border-color:var(--blue);transform:translateY(-1px)}.selected-order-chip.dragging{opacity:.5;cursor:grabbing;transform:scale(.98)}.drop-marker{width:6px;min-height:42px;border-radius:999px;background:transparent}.drop-marker.active{background:var(--coral);box-shadow:0 0 0 4px #f26f4d29}.drag-preview-chip{position:fixed;z-index:1000;transform:translate(-50%,-50%);min-height:46px;max-width:min(280px,70vw);border:2px solid var(--mint);border-radius:8px;background:linear-gradient(135deg,#fff,#e9f8ef);box-shadow:0 14px 30px #1f2b242e;padding:10px 14px;font-weight:800;line-height:1.45;overflow-wrap:anywhere;pointer-events:none}.draggable-answer-line{transition:border-color .15s ease,background .15s ease}.word-chip{display:inline-flex;align-items:center}.word-chip.selected{border-color:var(--mint);background:#e9f8ef;box-shadow:0 0 0 2px #2f8d6d26}.choice-list{display:grid;gap:14px}.direct-answer-area{display:grid;gap:16px;padding:20px;background:linear-gradient(180deg,#fff8f0,#fff);border:2px solid #e8c97a;border-radius:12px}.direct-answer-prompt{font-size:1.2rem;line-height:1.8;color:#34463d}.direct-answer-input{margin-top:16px}.direct-answer-input .answer-input,.answer-input{width:100%;max-width:280px;padding:14px 18px;font-size:1.4rem;font-weight:600;text-align:center;border:2px solid #f0b86a;border-radius:8px;background:#fffbf5;box-shadow:inset 0 2px 4px #0000000d}.direct-answer-input .answer-input:focus,.answer-input:focus{outline:none;border-color:#d4a843;box-shadow:0 0 0 3px #f0b86a4d}.choice-item{display:grid;gap:10px}.choice-prompt-list{display:grid;gap:4px}.choice-prompt-list span{display:block}.paragraph-box{border:1px solid #eadfbe;border-radius:8px;background:linear-gradient(180deg,#fffaf0,#fff);padding:20px;font-size:1.2rem;line-height:2.3;box-shadow:inset 0 0 0 2px #ffffffa6}.paragraph-box select{width:auto;min-width:110px;margin:0 6px;border-color:#f0b86a;background:#fff7d6}.admin-answer-tools{display:grid;justify-items:start;gap:10px;margin-top:18px}.answer-key-box{display:grid;gap:6px;width:100%;border:1px solid #f0d27d;border-radius:8px;background:linear-gradient(135deg,#fffaf0,#fff);padding:14px 16px}.answer-key-box span{color:#22312b;font-weight:800;line-height:1.7}.answer-key-box small{color:#64746b;font-weight:700}.result-box{margin-top:22px;border:1px solid transparent;border-radius:8px;padding:16px;display:grid;gap:6px;box-shadow:var(--soft-shadow)}.result-box.correct{border-color:#98d4b1;background:linear-gradient(135deg,#e7f6ed,#fff);color:#135b3a}.result-box.wrong{border-color:#f1b8ad;background:linear-gradient(135deg,#fff0ed,#fff);color:#8d2a1e}.battle-result-box{border:1px solid rgba(44,122,98,.16)}.result-box.correct.battle-result-box{border-color:#98d4b1}.result-box.wrong.battle-result-box{border-color:#f1b8ad}.result-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.result-title-row span{border-radius:8px;background:#ffffffb3;padding:4px 8px;font-size:.82rem;font-weight:900}.answer-feedback{display:grid;gap:7px;margin-top:10px;border:1px solid #eadfbe;border-radius:8px;background:#ffffffc7;padding:12px}.answer-feedback>div:first-child{display:flex;align-items:center;gap:8px}.answer-feedback svg{color:#d58527}.answer-feedback span,.answer-feedback small{line-height:1.55}.answer-feedback small{color:#52645b;font-weight:900}.answer-feedback .knowledge-tags{margin:2px 0 0}.score-reward-box{display:grid;gap:8px;margin-top:8px;border:1px solid #f0d2a7;border-radius:8px;background:#fff9ebdb;padding:12px}.score-reward-head{display:flex;align-items:center;gap:8px;color:#8a5418}.reward-breakdown{display:flex;flex-wrap:wrap;gap:7px}.reward-breakdown span{border-radius:999px;background:#fff;border:1px solid #f0d2a7;color:#7a5417;padding:5px 9px;font-size:.82rem;font-weight:900}.reward-penalty{display:grid;gap:3px}.reward-penalty strong{color:#8d2a1e}.score-reward-box small,.reward-penalty span{color:#52645b;font-weight:800;line-height:1.5}.learning-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px}.learning-panels section{min-width:0;border:1px solid #eadfbe;border-radius:8px;background:#ffffffe6;padding:16px;box-shadow:0 8px 18px #543e1c0f}.learning-panels h3{margin:0 0 12px;font-size:1rem}.compact-list{display:grid;gap:10px}.compact-list>div{display:grid;gap:4px;border-bottom:1px solid #eef1ec;padding-bottom:10px}.compact-list>div:last-child{border-bottom:0;padding-bottom:0}.compact-list .wrong-question-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.wrong-question-row>div{min-width:0}.wrong-question-row button{min-width:92px;padding:9px 12px;border-radius:8px;background:#2c7a62;box-shadow:0 3px #2c7a622e;white-space:nowrap}.wrong-question-row .knowledge-tags{margin:6px 0 0}.wrong-question-row .knowledge-tags span{color:#2c6d55;font-size:.76rem;line-height:1.2}.wrong-question-row small{color:#7a5417;font-size:.78rem;font-weight:900}.compact-list strong{color:#263a31;font-size:.92rem}.compact-list span{color:#64746b;font-size:.9rem;line-height:1.55}@keyframes enemy-hit{0%{transform:translate(0)}35%{transform:translate(12px) rotate(3deg)}70%{transform:translate(-6px) rotate(-2deg)}to{transform:translate(0)}}@keyframes hero-guard{0%{transform:translate(0)}35%{transform:translate(-8px)}to{transform:translate(0)}}@keyframes impact-pop{0%{transform:scale(.92)}60%{transform:scale(1.08)}to{transform:scale(1)}}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.section-heading h2{margin:0 0 6px;color:#263a31}.section-heading p{margin:0;color:#6b786f}.filter-row{display:flex;flex-wrap:wrap;gap:10px;min-width:min(100%,280px)}.filter-row select{min-width:128px}.content-panel,.admin-panel{background:linear-gradient(180deg,#fffdf8f7,#fffffff2),repeating-linear-gradient(135deg,rgba(116,198,157,.06) 0 12px,transparent 12px 24px)}.leaderboard-list,.table-list{display:grid;gap:12px}.leader-row,.admin-row{display:grid;align-items:center;gap:14px;border:1px solid #e4dccd;border-radius:8px;background:#ffffffeb;padding:14px;box-shadow:0 5px 14px #543e1c0f;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.leader-row:hover,.admin-row:hover{border-color:#d4c59f;box-shadow:0 9px 20px #543e1c17;transform:translateY(-1px)}.leader-row{grid-template-columns:44px 40px minmax(0,1fr) auto}.leader-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden}.admin-row{grid-template-columns:minmax(0,1fr) 150px auto}.question-row{grid-template-columns:auto minmax(0,1fr) 150px auto}.user-row{grid-template-columns:minmax(0,1fr) auto auto auto}.user-row-wrap{display:grid}.user-row-wrap.expanded .user-row{border-color:#cfded5;border-bottom-color:#dce8df;border-radius:8px 8px 0 0;background:#fffffff5;box-shadow:0 4px 12px #543e1c0d}.user-row-wrap.expanded .user-row:hover{transform:none}.question-row.selected{border-color:#8bbba7;background:linear-gradient(135deg,#f6fbf8,#fffaf0)}.admin-question-tags,.activity-tags{margin:6px 0}.question-performance{display:inline-grid;gap:2px;width:fit-content;max-width:100%;border:1px solid #dfe7df;border-radius:8px;background:#f7fbf8;padding:7px 9px;margin:4px 0}.question-performance strong{color:#263a31;font-size:.84rem}.question-performance span{color:#64746b;font-size:.78rem}.performance-hard{border-color:#f1b8ad;background:#fff0ed}.performance-easy{border-color:#f0d27d;background:#fff8dc}.performance-good{border-color:#b8d9c9;background:#eef8f2}.row-check,.select-all-row{display:inline-flex;align-items:center;gap:8px;color:#52645b;font-weight:900}.row-check input,.select-all-row input{width:18px;height:18px;accent-color:#2c7a62}.admin-row p,.admin-row strong,.leader-row strong,.leader-row span{display:block}.admin-row p{margin:6px 0;color:#52645b}.rank-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:8px;background:linear-gradient(135deg,#f8d77d,#fff4c5);font-weight:900;color:#7a5417;box-shadow:0 5px 12px #f6c4532e}.profile-panel{max-width:760px}.profile-form{display:grid;gap:16px;max-width:480px}.learning-insight-panel{display:grid;gap:16px;margin-top:28px;border-top:1px solid #e7ddc7;padding-top:24px}.learning-insight-panel .section-heading{margin-bottom:0}.insight-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.insight-stats strong.trend-positive,.tag-mastery-score .trend-positive{color:#167a4a}.insight-stats strong.trend-negative,.tag-mastery-score .trend-negative{color:#b42318}.insight-stats strong.trend-neutral,.tag-mastery-score .trend-neutral{color:#64746b}.insight-chip-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.insight-chip-row>div,.focus-recommendation,.tag-mastery-list{border:1px solid #e4dccd;border-radius:8px;background:#ffffffe6;box-shadow:0 6px 16px #543e1c0f}.insight-chip-row>div{display:grid;align-content:start;gap:8px;padding:13px}.insight-chip-row span,.focus-recommendation span{color:#52645b;font-size:.82rem;font-weight:900}.insight-chip-row small,.focus-recommendation small{color:#64746b;font-weight:800;line-height:1.5}.insight-tag-cloud{display:flex;flex-wrap:wrap;gap:7px}.insight-tag-cloud b{border:1px solid #cfe2d8;border-radius:999px;background:#edf8f2;color:#2c6d55;padding:5px 9px;font-size:.8rem;line-height:1.2}.insight-tag-cloud.focus b{border-color:#f0d2a7;background:#fff6e6;color:#8a5418}.focus-recommendation{display:grid;gap:8px;background:linear-gradient(135deg,#fff6e6f0,#effbede6),repeating-linear-gradient(135deg,rgba(255,122,89,.06) 0 10px,transparent 10px 20px);padding:16px}.focus-recommendation>div{display:flex;align-items:center;gap:8px;color:#d58527}.focus-recommendation strong{color:#263a31;font-size:1.05rem}.focus-recommendation p{margin:0;color:#52645b;line-height:1.65}.tag-mastery-list{display:grid;overflow:hidden}.tag-mastery-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;padding:13px 14px;border-bottom:1px solid #eef1ec}.tag-mastery-row:last-child{border-bottom:0}.tag-mastery-main{display:grid;gap:4px;min-width:0}.tag-mastery-main strong{color:#263a31}.tag-mastery-main span{color:#64746b;font-size:.86rem;line-height:1.5;overflow-wrap:anywhere}.tag-mastery-score{display:grid;justify-items:end;align-content:start;gap:4px;min-width:88px}.tag-mastery-score b{color:#22312b;font-size:1rem}.trend-pill{border-radius:999px;background:#f3f6f1;padding:3px 8px;font-size:.78rem;font-weight:900}.mastery-track{grid-column:1 / -1;height:9px;border-radius:999px;background:#e1e8df;overflow:hidden}.mastery-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#74c69d,#f6c453);transition:width .25s ease}.admin-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:20px}.admin-tabs{align-self:start;position:sticky;top:92px;padding:12px;display:grid;gap:10px}.admin-tabs button{justify-content:flex-start}.admin-form{display:grid;gap:16px}.compact-admin-form{max-width:620px;margin-bottom:18px}.student-activity-panel{display:grid;gap:14px;margin-bottom:18px;border:1px solid #d6e4ea;border-radius:8px;background:linear-gradient(135deg,#f4fbff,#fff);padding:16px;box-shadow:var(--soft-shadow)}.user-row-wrap .student-activity-panel{margin:0;border-top:0;border-radius:0 0 8px 8px;background:linear-gradient(180deg,#f8fdfafa,#fffdf8fa),repeating-linear-gradient(135deg,rgba(116,198,157,.055) 0 12px,transparent 12px 24px);box-shadow:0 10px 22px #543e1c14}.activity-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.activity-range{display:flex;flex-wrap:wrap;gap:10px}.activity-range span,.activity-context,.activity-warning{color:#64746b;font-size:.88rem;font-weight:800}.activity-warning{color:#8d2a1e}.activity-attempt-list{display:grid;gap:12px;border-top:1px solid #eef1ec;padding-top:12px}.activity-filter-panel,.activity-pagination{border:1px solid #e4dccd;border-radius:8px;background:#ffffffd1;padding:12px;box-shadow:0 4px 12px #543e1c0a}.activity-filter-panel{display:grid;grid-template-columns:minmax(150px,1.1fr) repeat(2,minmax(150px,1fr)) auto;gap:12px;align-items:end}.activity-pagination,.activity-pagination>div,.activity-pagination label{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.activity-pagination{justify-content:space-between}.activity-pagination span,.activity-pagination strong{color:#52645b;font-size:.9rem;font-weight:900}.activity-pagination button,.activity-pagination select{min-height:38px}.activity-attempt-item{display:grid;gap:10px;border:1px solid #e5ddcd;border-left-width:6px;border-radius:8px;background:#ffffffe0;padding:12px;box-shadow:0 4px 12px #543e1c0d}.activity-attempt-item.correct{border-color:#cfe1d5;border-left-color:#86b99f;background:#f6fbf7}.activity-attempt-item.wrong{border-color:#efd2ca;border-left-color:#d99586;background:#fff7f3}.activity-attempt-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.activity-attempt-head strong{color:#263a31;font-size:.94rem}.activity-result-badge{display:inline-flex;align-items:center;min-height:26px;border:1px solid #d9d0bd;border-radius:999px;padding:3px 10px;font-size:.8rem;font-weight:900}.activity-result-badge.correct{border-color:#c5ddce;background:#eaf6ee;color:#2c6d55}.activity-result-badge.wrong{border-color:#efc9be;background:#fff0eb;color:#8d4a3c}.activity-attempt-body{display:grid;gap:6px}.activity-attempt-body span{color:#64746b;font-size:.9rem;line-height:1.55}.activity-attempt-item .activity-question-text{color:#263a31;font-weight:900}.editor-form,.generate-panel,.import-panel{margin-bottom:18px;border:1px solid #e4dccd;border-radius:8px;background:#ffffffeb;padding:16px;box-shadow:0 6px 16px #543e1c0f}.import-panel{display:grid;gap:12px}.import-heading,.import-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.import-heading div{display:grid;gap:4px}.import-heading strong{color:#263a31}.import-heading span,.import-actions small,.import-summary span{color:#64746b;font-size:.88rem;font-weight:700;line-height:1.5}.file-button{display:inline-flex;align-items:center;gap:8px;min-height:44px;border:1px solid #d9d0bd;border-radius:8px;background:linear-gradient(135deg,#f8faf7,#fff7d6);color:#263a31;padding:0 14px;font-weight:900;cursor:pointer;box-shadow:0 3px #70532c1f}.file-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.import-summary{display:grid;gap:5px;border-radius:8px;padding:10px 12px}.import-summary.ok{border:1px solid #98d4b1;background:linear-gradient(135deg,#e7f6ed,#fff);color:#135b3a}.import-summary.error{border:1px solid #f1b8ad;background:linear-gradient(135deg,#fff0ed,#fff);color:#8d2a1e}.import-summary.error span{color:#8d2a1e}.question-filter-panel,.bulk-toolbar,.question-pagination{margin-bottom:18px;border:1px solid #e4dccd;border-radius:8px;background:#ffffffeb;padding:14px;box-shadow:0 5px 14px #543e1c0d}.question-filter-panel{display:grid;grid-template-columns:repeat(4,minmax(116px,1fr)) minmax(180px,1.3fr) auto;gap:12px;align-items:end}.filter-keyword input{min-width:0}.filter-actions,.bulk-toolbar,.bulk-toolbar>div{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.filter-actions button,.bulk-toolbar button{min-height:42px}.bulk-toolbar{justify-content:space-between}.bulk-toolbar>span{color:#64746b;font-size:.9rem;font-weight:800}.question-pagination,.question-pagination>div,.question-pagination label{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.question-pagination{justify-content:space-between}.question-pagination span,.question-pagination strong{color:#52645b;font-size:.92rem;font-weight:900}.question-pagination button,.question-pagination select{min-height:38px}.generate-panel,.form-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px;align-items:end}.generate-panel button{min-width:150px}.provider-note{border:1px solid #dce7df;border-radius:8px;background:linear-gradient(135deg,#f2f7f4,#fff);color:#52645b;padding:11px 12px;font-size:.92rem;font-weight:700}.provider-note.warning{border-color:#f1b8ad;background:#fff0ed;color:#8d2a1e}@media (max-width: 850px){.app-header,.auth-layout,.game-layout,.admin-layout{grid-template-columns:1fr}.app-header{display:grid}.player-panel,.admin-tabs{position:static}.intro-panel{min-height:360px}.question-card-head{display:grid}.question-stamp{justify-self:start}.admin-row,.leader-row{grid-template-columns:1fr}.user-row .row-icon-button{justify-self:start}.question-row,.activity-filter-panel,.question-filter-panel,.question-pagination{grid-template-columns:1fr}.section-heading{display:grid}.learning-panels,.insight-stats,.insight-chip-row,.tag-mastery-row{grid-template-columns:1fr}.tag-mastery-score{justify-items:start}.mini-stats{grid-template-columns:1fr}.battle-map-banner{position:relative;top:auto;left:auto;right:auto;z-index:1;grid-template-columns:1fr;margin:-8px 14px 0}.battle-map-banner .mission-map-head{display:flex}.battle-map-banner .mission-map-status,.battle-map-banner .mission-map-event{min-height:0}.battle-topline{display:grid;margin-top:0}.battle-field{grid-template-columns:1fr}.character-token{width:62px;height:62px}.enemy-side{justify-items:stretch}.battle-impact{min-width:0}.filter-row{width:100%}.generate-panel,.form-grid{grid-template-columns:1fr}}.avatar-selector{margin-top:8px}.avatar-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:8px}.avatar-option{width:56px;height:56px;border-radius:50%;border:3px solid transparent;cursor:pointer;padding:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.avatar-option:hover{transform:scale(1.1);border-color:#3dd9a0}.avatar-option.selected{border-color:#2196f3;box-shadow:0 0 0 3px #2196f34d}@media (max-width: 600px){.avatar-grid{grid-template-columns:repeat(5,1fr);gap:8px}.avatar-option{width:48px;height:48px}}
