:root{color:#24312f;--cursor-brush:url(/content/assets/images/ui/cursor-brush.svg) 8 32, pointer;--font-body-cn:"KaiTi", "楷体", "STKaiti", "Kaiti SC", "Songti SC", "SimSun", serif;--font-calligraphy:"STXingkai", "华文行楷", "FZShuTi", "方正舒体", "KaiTi", "楷体", "Songti SC", serif;--font-lishu:"LiSu", "隶书", "STLiti", "华文隶书", "KaiTi", "楷体", serif;font-family:var(--font-body-cn);font-synthesis:none;text-rendering:optimizelegibility;letter-spacing:0;background:#eef3ed}*{box-sizing:border-box}html,body,#root{scrollbar-gutter:stable both-edges;width:100%;max-width:100%;height:100%;overflow:hidden}body{min-width:320px;min-height:100vh;margin:0;overflow:hidden}button,input,textarea{font:inherit}button{cursor:var(--cursor-brush)}button:disabled{cursor:not-allowed;opacity:.52}a,[role=button],input[type=button],input[type=submit]{cursor:var(--cursor-brush)}.empty-state{text-align:center;background:#eef3ed;align-content:center;place-items:center;gap:16px;min-height:100vh;padding:32px;display:grid}.empty-mark{color:#a84b3d;background:#fffdf5;border-radius:50%;place-items:center;width:64px;height:64px;display:grid;box-shadow:0 12px 30px #2c433f24}.empty-state h1,.empty-state p{margin:0}.error-recovery-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.onboarding{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;background-color:#f1efe5;background-image:var(--onboarding-bg,url(/content/assets/images/backgrounds/login-poetry-realms-collage-v1.png));background-position:50%;background-size:cover;justify-content:flex-start;align-items:flex-start;height:100dvh;min-height:0;padding:clamp(24px,4vw,56px);display:flex;position:relative;overflow:hidden auto}.onboarding:before{content:"";pointer-events:none;background:linear-gradient(90deg,#fffdf280,#fffdf22e 34%,#0000 64%),linear-gradient(#0000 52%,#1c2a271f);position:absolute;inset:0}.onboarding-dialog{z-index:1;margin-block:auto;width:min(820px,100%);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;gap:14px;margin-left:clamp(0px,4vw,70px);padding:0;display:grid;position:relative}.onboarding-heading{text-shadow:0 2px 14px #fffdf2db;gap:8px;display:grid}.eyebrow{color:#a84b3d;letter-spacing:0;margin:0 0 8px;font-size:.78rem;font-weight:800}.onboarding .eyebrow,.onboarding .input-label,.onboarding .avatar-picker-header,.onboarding .form-error,.onboarding .primary-button{font-family:var(--font-body-cn);font-weight:500}.onboarding h1,.section-heading h1,.lesson-header h1{color:#172521;margin:0;font-size:clamp(2rem,5vw,4.5rem);line-height:1.02}.onboarding h1{max-width:100%;font-family:var(--font-calligraphy);color:#12322c;white-space:nowrap;text-shadow:0 2px #fffdf2b8,0 12px 28px #2938312e;font-size:clamp(4.2rem,6.8vw,6.8rem);font-weight:500}.onboarding-heading p:not(.eyebrow){color:#2f4a43;max-width:100%;font-family:var(--font-calligraphy);white-space:nowrap;margin:0;font-size:clamp(1.45rem,2vw,1.9rem);line-height:1.35}.input-label{margin:0 0 8px;font-weight:800;display:block}.login-field{width:min(420px,100%);margin-top:8px}input,textarea{color:#24312f;background:#fffdf8;border:1px solid #35564e38;border-radius:8px;outline:none;width:100%}input{min-height:52px;padding:0 16px}textarea{resize:vertical;min-height:112px;padding:14px 16px}input:focus,textarea:focus{border-color:#2e756b;box-shadow:0 0 0 4px #2e756b1f}.onboarding input{color:#18352f;min-height:58px;font-family:var(--font-body-cn);background:linear-gradient(#fffdf238,#fffdf28a),#fffdf261;border:0;border-bottom:2px solid #3f5f5280;border-radius:0;font-size:1.55rem;box-shadow:0 10px 24px #25383214}.onboarding input:focus{border-color:#2e756b;box-shadow:0 10px 24px #2538321a,0 9px #2e756b14}@media (height<=700px){.onboarding{padding-block:18px}.onboarding-dialog{gap:10px;margin-block:0}.onboarding h1{font-size:clamp(3.2rem,6vw,5rem)}.onboarding-heading p:not(.eyebrow){font-size:clamp(1.2rem,1.8vw,1.55rem)}.avatar-section{gap:10px 20px}.avatar-choice{gap:4px;min-height:110px;padding-block:4px}.avatar-choice img{width:72px;height:72px}.avatar-choice span{font-size:1rem}.login-actions{margin-top:0}}.onboarding input::placeholder{color:#18352f75}.form-error,.feedback{color:#a84b3d;font-weight:700}.onboarding-name-error{color:#8d3d33;font-family:var(--font-body-cn);text-shadow:0 2px 10px #fffdf2eb;margin:8px 0 0;font-size:1rem;line-height:1.45}.feedback.good{color:#2e756b}.primary-button,.secondary-button,.icon-button{white-space:nowrap;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;font-weight:800;display:inline-flex}.primary-button{color:#fffdf8;background:#a84b3d;padding:0 18px;box-shadow:0 10px 20px #a84b3d3d}.secondary-button,.icon-button{color:#24312f;background:#fffdf8;border:1px solid #35564e2e;padding:0 14px}.icon-button{width:44px;padding:0}.avatar-picker-header{color:#18352f;text-shadow:0 2px 12px #fffdf2db;justify-content:space-between;align-items:center;gap:8px;width:min(740px,100%);margin:0 0 -2px;font-size:1.3rem;display:flex}.avatar-picker-header strong{color:#8d4a3a;text-align:right;font-size:1.08rem}.avatar-section{grid-template-columns:repeat(5,minmax(0,1fr));gap:22px 28px;width:min(740px,100%);display:grid}.avatar-choice{color:#24312f;background:0 0;border:0;border-radius:8px;place-items:center;gap:8px;min-height:132px;padding:8px 6px;display:grid}.avatar-choice.selected{box-shadow:none;background:0 0}.avatar-choice img{object-fit:cover;border:4px solid #fffdf8e6;border-radius:50%;width:86px;height:86px;transition:transform .16s,box-shadow .16s,border-color .16s;box-shadow:0 8px 18px #23332e2e,0 0 #caa75f00}.avatar-choice:hover img,.avatar-choice:focus-visible img{transform:translateY(-3px)scale(1.04)}.avatar-choice.selected img{border-color:#d7b66a;box-shadow:0 10px 22px #23332e33,0 0 0 7px #d7b66a52,0 0 28px #ffe88e80}.avatar-choice span{overflow-wrap:anywhere;color:#18352f;max-width:100%;font-family:var(--font-body-cn);text-align:center;text-shadow:0 2px 10px #fffdf2f5;font-size:1.12rem;font-weight:500}.login-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:-8px;display:flex}.guest-mode-note{color:#35544c;width:min(740px,100%);font-family:var(--font-body-cn);text-shadow:0 2px 10px #fffdf2f0;align-items:flex-start;gap:10px;margin-top:2px;font-size:.96rem;line-height:1.5;display:flex}.guest-mode-note svg{color:#9a543f;flex:none;margin-top:2px}.guest-mode-note p{max-width:40em;margin:0}.onboarding-guest-button{color:#18352f;min-height:48px;font-family:var(--font-body-cn);text-shadow:0 2px 10px #fffdf2f5;background:0 0;border:0;border-bottom:1px solid #18352f5c;justify-content:center;align-items:center;gap:8px;padding:0 10px;font-size:1.08rem;font-weight:700;display:inline-flex}.onboarding-login-button{color:#173a31;min-height:64px;font-family:var(--font-body-cn);background:#fffdf294;border:1px solid #2552478f;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 26px;font-size:1.04rem;font-weight:800;display:inline-flex;box-shadow:0 8px 22px #1230281f}.onboarding-login-button:hover,.onboarding-login-button:focus-visible{color:#8d3d33;background:#fffae8d1;border-color:#8d3d33}.onboarding-guest-button:hover,.onboarding-guest-button:focus-visible{color:#8d3d33;border-bottom-color:#8d3d33}.selected-avatar-chip{color:#61726d;align-items:center;gap:8px;min-width:0;font-size:.9rem;font-weight:800;display:inline-flex}.selected-avatar-chip img{object-fit:cover;border-radius:50%;flex:none;width:34px;height:34px}.selected-avatar-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.onboarding .primary-button{color:#fffdf8;background:radial-gradient(circle at 50% 42%,#c95a44f5,#7e342bf7 68%,#5c2c25eb),#a84b3d;border:1px solid #fffdf2b8;border-radius:50%;min-width:126px;min-height:64px;padding:0 30px;font-size:1.35rem;box-shadow:0 12px 24px #652d2438,inset 0 0 0 2px #fffdf226,0 0 0 7px #91352a21,0 0 0 14px #fffdf22e}.account-access-screen{z-index:1400;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:radial-gradient(circle at 50% 42%,#ecd39729,#0000 36%),#0a1815c7;place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow:hidden}.account-access-dialog{color:#263b35;background:linear-gradient(90deg,#0000 0 12px,#9f783829 12px 13px,#0000 13px calc(100% - 13px),#9f783829 calc(100% - 13px) calc(100% - 12px),#0000 calc(100% - 12px)),linear-gradient(#fffdf4fa,#f4eacdfa);border:1px solid #8f682b9e;border-radius:8px;gap:18px;width:min(560px,100%);max-height:calc(100svh - 32px);padding:clamp(30px,5vw,48px);display:grid;position:relative;overflow-y:auto;box-shadow:0 28px 72px #030e0c75,inset 0 0 0 5px #fffcecc2,inset 0 0 0 6px #a0773633}.account-dialog-close{color:#49645c;background:0 0;border:0;place-items:center;width:38px;height:38px;padding:0;display:grid;position:absolute;top:14px;right:14px}.account-dialog-close:hover,.account-dialog-close:focus-visible{color:#9a4638}.account-dialog-close svg{width:22px;height:22px}.account-access-heading{gap:7px;padding-right:36px;display:grid}.account-access-heading .eyebrow,.account-access-success .eyebrow{color:#9a4638;margin:0}.account-access-heading h1,.account-access-success h1{color:#17342d;font-family:var(--font-calligraphy);margin:0;font-size:clamp(2.35rem,6vw,3.4rem);font-weight:500;line-height:1.08}.account-access-heading>p:not(.eyebrow),.account-access-success>p:not(.eyebrow){color:#536860;margin:0;line-height:1.6}.account-player-note{color:#49645c;align-items:center;gap:9px;font-size:.96rem;display:flex}.account-player-note svg{color:#a05a42}.account-player-note strong{color:#17342d}.account-mode-tabs{border-bottom:1px solid #33564c33;grid-template-columns:1fr 1fr;display:grid}.account-mode-tabs button{color:#718079;background:0 0;border:0;border-bottom:2px solid #0000;min-height:46px;padding:0 12px;font-weight:700}.account-mode-tabs button.active{color:#7f342b;border-bottom-color:#9a4638}.account-access-form{gap:15px;display:grid}.account-form-field{gap:7px;display:grid}.account-form-field>label{color:#2d4b43;font-size:.94rem;font-weight:700}.account-input-shell{color:#6f837a;background:#fffdf6b8;border:1px solid #32544b3d;border-radius:6px;align-items:center;gap:9px;min-width:0;padding:0 13px;display:flex}.account-input-shell:focus-within{border-color:#36766a;box-shadow:0 0 0 3px #36766a1a}.account-input-shell svg{flex:none}.account-input-shell input{color:#263b35;min-width:0;min-height:48px;box-shadow:none;background:0 0;border:0;padding:0}.account-input-shell input:focus{box-shadow:none;border:0}.account-captcha-row,.account-sms-row{grid-template-columns:minmax(0,1fr) 142px;gap:10px;display:grid}.captcha-challenge,.account-sms-row>button{color:#5f3b24;background:#ead8a98a;border:1px solid #8f682b61;border-radius:6px;min-height:50px;font-weight:800}.captcha-challenge{background:repeating-linear-gradient(112deg,#66451f1c 0 1px,#0000 1px 7px),#ead8a9b8;justify-content:center;align-items:center;gap:9px;display:flex}.captcha-challenge span{letter-spacing:.18em;font-family:Georgia,Times New Roman,serif;font-size:1.22rem;display:inline-block;transform:rotate(-2deg)skew(-8deg)}.captcha-challenge img{object-fit:contain;width:104px;height:42px}.account-sms-row>button:hover:not(:disabled),.account-sms-row>button:focus-visible,.captcha-challenge:hover,.captcha-challenge:focus-visible{color:#8a382f;border-color:#9a4638}.account-form-status{min-height:22px;font-size:.9rem;line-height:1.45}.account-form-status p{margin:0}.account-form-status p:not(.form-error){color:#467166}.form-success{color:#36766a;text-align:center;margin:0;line-height:1.6}.account-save-summary{color:#556a63;gap:9px;padding-top:2px;font-size:.9rem;display:grid}.account-save-summary p{margin:0}.account-benefit-list{flex-wrap:wrap;gap:6px 12px;display:flex}.account-benefit-list span{color:#75483a;border-bottom:1px solid #9a46383d}.account-submit-button{width:100%;min-height:50px;margin-top:2px}.account-submit-button:disabled{cursor:not-allowed;opacity:.48;filter:grayscale(.35);box-shadow:none}.account-terms-consent{color:#5d7069;flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;font-size:.86rem;line-height:1.5;display:flex}.account-terms-consent input{accent-color:#36766a;cursor:pointer;flex:none;width:17px;height:17px;margin:0 2px 0 0}.account-terms-consent label{cursor:pointer}.account-terms-consent button{color:#8a382f;font:inherit;text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}.account-terms-consent button:hover,.account-terms-consent button:focus-visible{color:#36766a}.account-terms-screen{z-index:1500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#071311b8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.account-terms-dialog{color:#263b35;background:linear-gradient(#fffdf4,#f4eacd);border:1px solid #8f682b9e;border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;gap:16px;width:min(760px,100%);max-height:calc(100svh - 36px);padding:clamp(24px,4vw,38px);display:grid;position:relative;overflow:hidden;box-shadow:0 28px 72px #030e0c85,inset 0 0 0 5px #fffcecb3}.account-terms-dialog>header{gap:5px;padding-right:42px;display:grid}.account-terms-dialog .eyebrow,.account-terms-dialog h2,.account-terms-dialog header p{margin:0}.account-terms-dialog .eyebrow{color:#9a4638}.account-terms-dialog h2{color:#17342d;font-family:var(--font-calligraphy);font-size:clamp(1.9rem,5vw,2.8rem);font-weight:500}.account-terms-dialog header p:last-child{color:#718079;font-size:.84rem}.account-terms-content{scrollbar-color:#36766a80 transparent;background:#fffffa75;border:1px solid #45665c29;border-radius:6px;min-height:0;padding:16px 18px;overflow-y:auto}.account-terms-content section+section{margin-top:18px}.account-terms-content h3{color:#264c42;margin:0 0 7px;font-size:1rem}.account-terms-content p{color:#536860;margin:0;font-size:.9rem;line-height:1.75}.account-terms-content p+p{margin-top:8px}.account-terms-confirm{justify-self:center;width:min(220px,100%);min-height:46px}.account-demo-note{color:#718079;text-align:center;margin:-3px 0 0;font-size:.82rem;line-height:1.45}.account-access-success{text-align:center;justify-items:center}.account-success-mark{color:#fff9df;background:#36766a;border-radius:50%;place-items:center;width:64px;height:64px;display:grid;box-shadow:0 0 0 6px #36766a1f}.account-success-mark svg{width:34px;height:34px}.scene-fade-overlay,.story-scene-fade{z-index:1000;pointer-events:auto;background:radial-gradient(circle at 50% 46%,#fffae547,#0000 42%),#0d1816e0;animation:1s ease-in-out both scene-fade;position:fixed;inset:0}.story-scene-fade{z-index:4;position:absolute}.intro-story{min-height:100vh;cursor:var(--cursor-brush);background:#101716;position:relative;overflow:hidden}.intro-story-image{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.intro-story-shade{pointer-events:none;background:linear-gradient(#0000 46%,#0c161438 70%,#0c161485),radial-gradient(circle at 50% 88%,#fff8d53d,#0000 44%);position:absolute;inset:0}.story-scroll-banner{z-index:2;color:#24312f;filter:drop-shadow(0 22px 34px #0d181638);text-align:left;background:url(/content/assets/images/ui/story-scroll-dialogue-card-v1.png) 50%/100% 100% no-repeat;border:0;border-radius:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(8px,1.4vw,16px);width:min(82vw,860px);height:clamp(144px,15.8vw,214px);padding:clamp(40px,4.7vw,60px) clamp(58px,7.2vw,104px) clamp(34px,4vw,52px);display:grid;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.story-scroll-banner:before,.story-scroll-banner:after,.story-scroll-clouds{display:none}.story-speaker,.story-text,.story-next-mark{z-index:1;position:relative}.story-speaker{color:#9c4b39;text-align:center;text-shadow:0 1px #fffdf2cc;background:0 0;align-self:start;min-width:56px;padding:2px 0;font-size:clamp(.88rem,1.05vw,1.02rem);font-weight:900}.story-text{color:#1d312d;overflow-wrap:anywhere;text-shadow:0 1px #fffdf2cc;min-width:0;font-size:clamp(1rem,1.45vw,1.28rem);font-weight:900;line-height:1.42}.story-text:after{content:"";vertical-align:-.18em;background:#24312fb8;width:2px;height:1.15em;margin-left:4px;animation:.76s steps(2,start) infinite story-caret;display:inline-block}.story-next-mark{color:#fffdf8;background:#a84b3d;border-radius:50%;place-items:center;width:28px;height:28px;font-size:1.28rem;font-weight:900;display:grid}.story-next-mark.typing{opacity:.32}.story-progress{z-index:3;gap:8px;display:flex;position:absolute;bottom:clamp(8px,1.4vh,18px);left:50%;transform:translate(-50%)}.story-progress span{background:#fffdf294;border-radius:50%;width:8px;height:8px;box-shadow:0 2px 8px #0f1a1733}.story-progress span.active{background:#d7b66a;border-radius:999px;width:22px}@keyframes story-caret{50%{opacity:0}}@keyframes scene-fade{0%{opacity:0}45%,55%{opacity:1}to{opacity:0}}@keyframes chapter-opening-fade{0%,24%{opacity:1}to{opacity:0}}.app-shell{background:#eef3ed;grid-template-rows:auto minmax(0,1fr);width:100vw;max-width:100vw;height:100dvh;min-height:0;display:grid;overflow:hidden}.app-shell:has(.lesson-screen.recitation-mode){height:100dvh;min-height:0;overflow:hidden}.app-shell:has(.lesson-screen.recitation-mode) .top-bar{padding:6px clamp(12px,2vw,24px)}.app-shell:has(.lesson-screen.recitation-mode) .player-chip{grid-template-columns:38px minmax(0,1fr);gap:8px}.app-shell:has(.lesson-screen.recitation-mode) .player-chip img{width:38px;height:38px}:is(.app-shell:has(.lesson-screen.recitation-mode) .player-chip span,.app-shell:has(.lesson-screen.recitation-mode) .stat-strip span){font-size:.78rem}.app-shell:has(.lesson-screen.recitation-mode) .stat-strip span{min-height:30px;padding:0 10px}.app-shell:has(.lesson-screen.recitation-mode) .sound-toggle{width:32px;height:32px}:is(.app-shell:has(.lesson-screen.recitation-mode) .sound-toggle img,.app-shell:has(.lesson-screen.recitation-mode) .sound-toggle svg){width:23px;height:23px}.app-shell:has(.lesson-screen.recitation-mode) .bottom-nav{gap:6px;padding:6px clamp(10px,2vw,20px)}.app-shell:has(.lesson-screen.recitation-mode) .bottom-nav button{gap:4px;min-height:38px;font-size:.82rem}.top-bar{z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(90deg,#f4ecd3f0,#fffdf8f5,#eef4e8f0);border-bottom:1px solid #24312f1a;justify-content:space-between;align-items:center;gap:16px;padding:10px clamp(16px,3vw,36px);display:flex;position:sticky;top:0}.player-chip{color:inherit;text-align:left;background:0 0;border:0;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:10px;padding:0;display:grid}.player-summary{align-items:center;gap:clamp(10px,1.5vw,18px);min-width:0;display:flex}.player-chip img{object-fit:cover;border-radius:50%;width:46px;height:46px;transition:transform .16s,box-shadow .16s}.player-chip:hover img,.player-chip:focus-visible img{transform:translateY(-1px)scale(1.04);box-shadow:0 0 0 4px #d7b66a47}.player-chip:focus-visible{outline-offset:4px;outline:2px solid #9a5c1d75}.player-chip strong,.player-chip span{display:block}.player-chip span,.stat-strip span{color:#61726d;font-size:.9rem}.study-streak{color:#53645f;white-space:nowrap;border-left:1px solid #35564e2e;align-items:baseline;gap:4px;padding-left:clamp(10px,1.5vw,16px);font-family:Source Han Sans SC,Noto Sans CJK SC,Microsoft YaHei,sans-serif;font-size:.88rem;font-weight:800;line-height:1;display:inline-flex}.study-streak strong{color:#9a5c1d;font-size:1.34rem;font-weight:900}.top-section-nav{flex:1;justify-content:center;align-items:center;gap:clamp(22px,5vw,64px);min-width:260px;display:flex}.top-section-nav button{color:#24312fb8;min-height:34px;box-shadow:none;font-family:var(--font-lishu);letter-spacing:0;background:0 0;border:0;border-radius:0;padding:0;font-size:clamp(1.22rem,2vw,1.8rem);font-weight:400;position:relative}.top-section-nav button:after{content:"";opacity:0;background:linear-gradient(90deg,#0000,#79372bbd,#0000);height:2px;transition:opacity .16s,transform .16s;position:absolute;bottom:-3px;left:8%;right:8%;transform:scaleX(.4)}.top-section-nav button.active{color:#172f2a;font-weight:900}.top-section-nav button.active:after,.top-section-nav button:hover:after,.top-section-nav button:focus-visible:after{opacity:1;transform:scaleX(1)}.stat-strip{align-items:center;gap:10px;display:flex}.sound-toggle{background:radial-gradient(circle at 50% 42%,#fffdf2f2,#f4ecd3eb),#fffdf8;border:1px solid #35564e29;border-radius:999px;place-items:center;width:38px;height:38px;padding:0;transition:box-shadow .16s,filter .16s,opacity .16s;display:grid;position:relative;box-shadow:0 8px 18px #24312f14}.sound-toggle img,.sound-toggle svg{object-fit:contain;color:#9a5c1d;filter:drop-shadow(0 2px 2px #3c27162e);width:27px;height:27px}.sound-toggle:hover,.sound-toggle:focus-visible{outline:none;box-shadow:0 0 14px #e7c2656b,0 8px 18px #24312f1a}.sound-toggle.is-off{opacity:.58;filter:grayscale(.55)}.sound-toggle.is-off:after{content:"";background:#a84b3dd1;border-radius:999px;width:26px;height:2px;position:absolute;transform:rotate(-42deg);box-shadow:0 0 6px #fffdf2eb}.stat-strip span{background:#fffdf8;border:1px solid #35564e24;border-radius:8px;align-items:center;gap:6px;min-height:36px;padding:0 12px;display:inline-flex}.stat-strip .energy-stat{color:#8b5b20;font-family:Source Han Sans SC,Noto Sans CJK SC,Microsoft YaHei,sans-serif;font-weight:800}.app-main{min-height:0;padding:clamp(14px,2.4vw,28px);overflow:auto}.app-main:has(.profile-screen){height:100%;padding:clamp(8px,1.2vw,14px);overflow:hidden}.app-main:has(.lesson-screen.recitation-mode){height:100%;padding:clamp(6px,1vw,10px) clamp(8px,1.2vw,14px);overflow:hidden}.app-main:has(.lesson-screen.voice-review-mode){height:100%;padding:clamp(6px,1vw,10px) clamp(8px,1.2vw,14px);overflow:hidden}.app-main.map-main{width:100vw;max-width:100vw;padding:0;overflow:hidden}.app-main.practice-main{display:grid;overflow:hidden}:is(.app-main:has(.cat-fishing-game),.app-main:has(.word-poem-game),.app-main:has(.poetry-pancake-game),.app-main:has(.poetry-lantern-game),.app-main:has(.bead-poem-game),.app-main:has(.painting-poetry-game)){height:100%;padding:0;overflow:hidden}.profile-screen{isolation:isolate;background:linear-gradient(90deg, #f7f1dcf0, #fffdf4e0), var(--profile-screen-bg) center / cover no-repeat;border:1px solid #35564e1f;grid-template-rows:auto minmax(0,1fr);gap:12px;width:min(1220px,100%);height:100%;min-height:0;margin:0 auto;padding:clamp(12px,1.8vw,22px);display:grid;position:relative;overflow:hidden;box-shadow:0 24px 60px #2a3c361f}.profile-screen:before{z-index:-1;content:"";pointer-events:none;border:1px solid #9a5c1d33;position:absolute;inset:12px}.profile-page-heading{gap:2px;display:grid}.profile-page-heading .eyebrow,.profile-panel-heading .eyebrow,.profile-progress-heading .eyebrow{margin:0}.profile-page-heading h1{color:#17342d;font-family:var(--font-calligraphy);margin:0;font-size:clamp(2rem,3.6vw,3.2rem);font-weight:500;line-height:1}.profile-page-heading>p:not(.eyebrow){color:#5c6e68;margin:0;font-size:.82rem}.profile-settings-layout{grid-template-columns:minmax(260px,.72fr) minmax(520px,1.58fr);align-items:stretch;gap:14px;min-height:0;display:grid}.profile-avatar-panel,.profile-details-panel,.profile-progress-section{background:#fffdf4b8;border:1px solid #35564e29;box-shadow:inset 0 0 0 4px #fffcec61}.profile-avatar-panel,.profile-details-panel{min-width:0;min-height:0;padding:clamp(12px,1.6vw,18px)}.profile-avatar-panel{grid-template-rows:auto minmax(0,1fr) auto auto;align-content:stretch;display:grid}.profile-panel-heading,.profile-progress-heading{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.profile-panel-heading h2,.profile-progress-heading h2{color:#1d3b34;font-family:var(--font-calligraphy);margin:2px 0 0;font-size:clamp(1.28rem,2vw,1.72rem);font-weight:500}.profile-panel-heading>span,.profile-progress-heading>span{color:#788680;white-space:nowrap;font-size:.88rem}.profile-standee-button{color:#fffdf8;background:radial-gradient(circle at 50% 72%,#e1d09c85,#0000 38%),linear-gradient(#e7f0e22e,#6988742e);border:0;border-bottom:1px solid #35564e2e;place-items:end center;width:100%;height:auto;min-height:clamp(260px,38vh,410px);margin-top:7px;padding:0;display:grid;position:relative;overflow:hidden}.profile-standee-button img{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 14px 18px #21302b38);width:100%;max-width:100%;height:100%;max-height:100%;transition:transform .18s}.profile-standee-button:hover img,.profile-standee-button:focus-visible img{transform:scale(1.025)}.profile-standee-button>span{white-space:nowrap;background:#203d34b8;border:1px solid #fff9e28f;border-radius:999px;align-items:center;min-height:28px;padding:0 11px;font-size:.72rem;font-weight:800;display:inline-flex;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.profile-avatar-picker{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding-top:8px;display:grid}.profile-avatar-picker button{color:#52675f;background:0 0;border:0;justify-items:center;gap:3px;min-width:0;padding:3px 2px;font-size:.62rem;display:grid}.profile-avatar-picker img{object-fit:cover;border:2px solid #fffdf4eb;border-radius:50%;width:clamp(36px,3.8vw,46px);height:clamp(36px,3.8vw,46px);transition:transform .16s,box-shadow .16s,border-color .16s;box-shadow:0 5px 12px #24312f24}.profile-avatar-picker button:hover img,.profile-avatar-picker button:focus-visible img{border-color:#d5b25f;transform:translateY(-2px)}.profile-avatar-picker button.selected img{border-color:#d5b25f;box-shadow:0 5px 12px #24312f29,0 0 0 5px #d5b25f33}.profile-avatar-picker button span{text-overflow:ellipsis;white-space:nowrap;width:100%;overflow:hidden}.profile-inline-feedback{color:#467166;min-height:16px;margin:5px 0 -3px;font-size:.7rem;line-height:1.3}.profile-details-panel{grid-template-rows:auto auto auto minmax(0,1fr);align-content:start;gap:0;display:grid}.profile-setting-row{border-bottom:1px solid #35564e24;gap:4px;padding:7px 0;display:grid}.profile-setting-row:last-child{border-bottom:0}.profile-setting-label,.profile-setting-value{align-items:center;gap:10px;display:flex}.profile-setting-label{color:#6a7b75;font-size:.68rem;font-weight:700}.profile-setting-label svg{color:#9a5c1d;width:13px;height:13px}.profile-setting-value{justify-content:space-between;min-height:26px}.profile-setting-value strong{color:#17342d;overflow-wrap:anywhere;min-width:0;font-size:clamp(.78rem,1.35vw,1rem);font-weight:700}.profile-edit-button{color:#7e4c22;background:#fffdf4c7;border:1px solid #35564e2e;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;padding:0;display:grid}.profile-edit-button:hover,.profile-edit-button:focus-visible{color:#9a4638;border-color:#9a46387a}.profile-edit-button svg{width:13px;height:13px}.profile-inline-form{grid-template-columns:minmax(0,1fr) auto auto;gap:8px;display:grid}.profile-inline-form input{min-height:34px}.profile-save-button,.profile-cancel-button{border-radius:6px;min-height:32px;padding:0 12px;font-weight:800}.profile-save-button{color:#fffdf8;background:#9a4638;border:1px solid #fffdf480}.profile-cancel-button{color:#4f635c;background:0 0;border:1px solid #35564e33}.profile-field-message{color:#467166;min-height:14px;font-size:.68rem;line-height:1.25}.profile-field-message p{margin:0}.profile-phone-form{background:#f4ecd361;border-left:2px solid #9a5c1d42;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:8px;display:grid}.profile-phone-form .account-input-shell,.profile-phone-form .captcha-challenge,.profile-phone-form .account-sms-row>button{min-height:34px}.profile-phone-form .account-input-shell input{min-height:32px;padding:0 8px;font-size:.72rem}.profile-phone-form .account-input-shell svg{width:14px;height:14px}.profile-phone-form .captcha-challenge,.profile-phone-form .account-sms-row>button{padding:0 8px;font-size:.68rem}.profile-form-field{gap:4px;display:grid}.profile-form-field>label{color:#425b53;font-size:.68rem;font-weight:700}.profile-phone-actions{flex-wrap:wrap;gap:8px;display:flex}.profile-phone-demo-note{color:#74827d;grid-column:2/-1;margin:0;font-size:.66rem;line-height:1.3}.profile-progress-section{grid-template-rows:auto minmax(0,1fr);align-content:stretch;gap:7px;min-height:0;margin-top:6px;padding:9px;display:grid}.profile-progress-grid{grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:minmax(0,1fr);gap:7px;min-height:0;display:grid}.profile-progress-card{background:#f7f3e38f;border-left:2px solid #9a5c1d4d;grid-template-columns:auto minmax(0,1fr);align-content:center;gap:5px 9px;min-width:0;padding:9px 12px;display:grid}.profile-progress-card>svg{color:#9a5c1d;width:20px;height:20px}.profile-progress-card>div:nth-child(2){gap:1px;display:grid}.profile-progress-card>div:nth-child(2)>span{color:#697a74;font-size:.82rem}.profile-progress-card>div:nth-child(2)>strong{color:#1d3b34;font-size:1.02rem}.profile-progress-track{background:#35564e1f;border-radius:999px;grid-column:1/-1;height:5px;overflow:hidden}.profile-progress-track>span{border-radius:inherit;background:linear-gradient(90deg,#8d4a3a,#d0a754);height:100%;display:block}.profile-progress-track.practice>span{background:linear-gradient(90deg,#2e756b,#82aa75)}.profile-progress-card>small{color:#718079;grid-column:1/-1;font-size:.74rem;line-height:1.3}.profile-game-score-list{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 8px;padding-top:1px;display:grid}.profile-game-score-list>span{color:#63756f;justify-content:space-between;align-items:center;gap:12px;font-size:.72rem;display:flex}.profile-game-score-list strong{color:#7e4c22}.map-screen{width:100vw;max-width:100vw;height:100%;min-height:0;display:block;overflow:hidden}.map-scroll{overscroll-behavior:none;-ms-overflow-style:none;width:100vw;max-width:100%;height:100%;box-shadow:none;scrollbar-width:none;touch-action:none;-webkit-user-select:none;user-select:none;background:#f5efd9;border-radius:0;overflow:hidden}.map-scroll:focus-visible{outline:none}.map-scroll::-webkit-scrollbar{width:0;height:0}.ink-map{width:var(--map-layout-width,100%);background-size:var(--map-layout-width,100%) var(--map-tile-height);will-change:transform;background-position:top;background-repeat:repeat-y;min-height:100%;position:relative;overflow:clip hidden}.ink-map:before{z-index:4;content:"";background:linear-gradient(90deg,#a4752d2e,#bc8e3ae6,#a4752d2e);height:3px;position:absolute;top:0;left:0;right:0}.map-node-cluster{isolation:isolate;z-index:2;position:absolute;transform:translate(-50%,-50%)}.map-node{isolation:isolate;color:#24312f;background:0 0;border:0;place-items:center;gap:4px;width:112px;padding:4px;display:grid;position:relative}.map-stage-orbit{z-index:5;opacity:0;pointer-events:none;transform-origin:0;align-items:center;gap:7px;padding:0 0 14px;transition:opacity .18s,transform .22s;display:flex;position:absolute;top:-58px;left:50%;transform:translate(calc(-50% - 18px))scaleX(.58)}.map-node-cluster.is-playable:hover .map-stage-orbit,.map-node-cluster.is-playable:focus-within .map-stage-orbit{opacity:1;pointer-events:auto;transform:translate(-50%)scaleX(1)}.map-stage-chip{opacity:0;background:0 0;border:0;place-items:center;width:44px;height:44px;padding:0;transition:opacity .17s,transform .19s,filter .17s;display:grid;position:relative;transform:translate(-12px)scale(.82)}.map-node-cluster.is-playable:hover .map-stage-chip,.map-node-cluster.is-playable:focus-within .map-stage-chip{opacity:1;transform:translate(0)scale(1)}.map-stage-chip:nth-child(2){transition-delay:32ms}.map-stage-chip:nth-child(3){transition-delay:64ms}.map-stage-chip:nth-child(4){transition-delay:96ms}.map-stage-chip:nth-child(5){transition-delay:.128s}.map-stage-chip img{object-fit:contain;filter:drop-shadow(0 7px 10px #253a3533);width:100%;height:100%;transition:transform .16s,filter .16s}.map-stage-chip.done img{filter:drop-shadow(0 8px 11px #2e756b33)}.map-stage-chip.current img{filter:drop-shadow(0 10px 14px #a84b3d3d)}.map-stage-chip:not(:disabled):hover img,.map-stage-chip:not(:disabled):focus-visible img{filter:drop-shadow(0 0 8px #fff4b1eb)drop-shadow(0 12px 15px #f5bb5957);transform:translateY(-2px)scale(1.18)}.map-node:before,.map-node:after{z-index:0;content:"";pointer-events:none;opacity:0;width:78px;height:78px;transition:opacity .17s,transform .17s;position:absolute;top:33px;left:50%;transform:translate(-50%,-50%)scale(.74)}.map-node:before{filter:blur(1px);background:radial-gradient(circle,#fff8c7b8 0 16%,#f5bb5952 32%,#0000 64%),conic-gradient(from 20deg,#0000,#ffe88eb8,#0000 24% 50%,#ffe88e94,#0000 74%);border-radius:50%}.map-node:after{background:radial-gradient(circle at 50% 4%,#fff8c8 0 2px,#0000 3px),radial-gradient(circle at 88% 28%,#ffe58d 0 2px,#0000 3px),radial-gradient(circle at 78% 82%,#fff3b0 0 2px,#0000 3px),radial-gradient(circle at 14% 72%,#ffe58d 0 2px,#0000 3px),radial-gradient(circle at 8% 22%,#fff8c8 0 1.8px,#0000 3px)}.map-node img{z-index:1;object-fit:contain;filter:drop-shadow(0 9px 12px #253a3538);width:48px;height:48px;transition:opacity .16s,transform .16s,filter .16s;position:relative}.map-node span{z-index:1;color:#17342f;text-align:center;text-shadow:0 1px #fffdf2f2,0 0 8px #fffdf2db,0 6px 14px #27373229;width:112px;min-height:24px;box-shadow:none;background:0 0;place-items:center;padding:0;font-size:.92rem;font-weight:900;line-height:1.25;display:grid;position:relative}.map-node.has-unit img{width:62px;height:62px}.map-node.has-unit:not(:disabled):hover:before,.map-node.has-unit:not(:disabled):focus-visible:before,.map-node.has-unit:not(:disabled):hover:after,.map-node.has-unit:not(:disabled):focus-visible:after{opacity:1;transform:translate(-50%,-50%)scale(1)}.map-node.has-unit:not(:disabled):hover img,.map-node.has-unit:not(:disabled):focus-visible img{filter:drop-shadow(0 15px 18px #f5bb5957);transform:translateY(-3px)scale(1.1)}.map-node.placeholder{width:54px}.map-node.placeholder img{opacity:.46;filter:drop-shadow(0 6px 9px #253a351f);width:34px;height:34px}.map-node.current img{filter:drop-shadow(0 14px 16px #a84b3d42);transform:translateY(-3px)scale(1.12)}.map-node.current span{color:#2e756b}.map-node:disabled{opacity:1}.map-node:disabled span{color:#24312f75;background:0 0}.map-node.done span{color:#2e756b}.poem-panel,.stage-panel,.collection-card,.admin-screen pre,.admin-stats article,.admin-table article{background:#fffdf8;border:1px solid #35564e29;border-radius:8px}.lesson-screen,.collection-screen,.admin-screen{max-width:1280px;margin:0 auto}.lesson-screen.story-mode{z-index:40;background:#101716;width:100vw;max-width:none;height:100vh;margin:0;position:fixed;inset:0;overflow:hidden}.lesson-screen.recitation-mode{grid-template-rows:auto minmax(0,1fr);max-width:none;height:100%;display:grid;overflow:hidden}.lesson-screen.recitation-mode .lesson-header{margin-bottom:6px}.lesson-screen.recitation-mode .lesson-header .icon-button{width:38px;min-height:38px}.lesson-screen.recitation-mode .lesson-header h1{font-size:clamp(1.25rem,2vw,1.9rem)}.lesson-screen.recitation-mode .lesson-unit-title{margin-top:1px;font-size:.84rem}.lesson-screen.recitation-mode .eyebrow{font-size:.78rem}.lesson-screen.voice-review-mode{grid-template-rows:minmax(0,1fr);max-width:none;height:100%;display:grid;overflow:hidden}.chapter-opening-fade{z-index:90;pointer-events:none;background:#000;animation:1s both chapter-opening-fade;position:fixed;inset:0}.lesson-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.lesson-header h1{font-size:clamp(1.8rem,3vw,3rem)}.lesson-unit-title{color:#61726d;margin-top:4px;font-size:1rem;display:block}.lesson-layout{grid-template-columns:minmax(270px,.8fr) minmax(0,1.4fr);gap:18px;display:grid}.lesson-layout.story-lesson-layout{grid-template-columns:minmax(0,1fr)}.story-mode .lesson-layout,.story-mode .lesson-workspace{width:100%;height:100%;min-height:0}.recitation-mode .lesson-layout{grid-template-columns:minmax(340px,35%) minmax(0,1fr);align-items:stretch;gap:10px;height:100%;min-height:0;overflow:hidden}.recitation-mode .lesson-workspace{height:100%;min-height:0;overflow:hidden}.voice-review-mode .lesson-layout{grid-template-columns:minmax(0,1fr);height:100%;min-height:0;overflow:hidden}.voice-review-mode .lesson-workspace{height:100%;min-height:0;overflow:hidden}.story-lesson-layout .poem-panel{display:none}.poem-panel{min-height:560px;padding:24px;position:relative;overflow:hidden}.poem-lines{z-index:2;gap:8px;display:grid;position:relative}.poem-lines h2,.poem-lines p{margin:0}.poem-lines h2{color:#172521;font-size:2.4rem}.poem-lines p{color:#61726d}.poem-lines strong{font-size:clamp(1.6rem,3vw,2.7rem);line-height:1.22}.lesson-standee{object-fit:contain;opacity:.95;width:min(76%,390px);max-height:74%;position:absolute;bottom:-36px;right:-34px}.lesson-workspace{min-width:0}.recitation-poem-scroll{filter:drop-shadow(0 18px 28px #25383229);background:0 0;place-items:center;height:100%;min-height:0;padding:clamp(82px,11vh,118px) clamp(90px,8vw,132px);display:grid;position:relative}.recitation-poem-scroll:before{content:"";z-index:0;border-style:solid;border-width:clamp(88px,10vh,118px) clamp(48px,4.2vw,64px);pointer-events:none;border-image-source:url(/content/assets/images/ui/story-scroll-dialogue-card-v1-vertical.png);border-image-slice:190 104 fill;border-image-width:clamp(88px,10vh,118px) clamp(48px,4.2vw,64px);border-image-repeat:stretch;position:absolute;inset:0}.recitation-scroll-content{z-index:1;color:#1d312d;text-align:center;justify-items:center;gap:8px;width:100%;max-width:none;display:grid;position:relative}.recitation-scroll-content h2,.recitation-scroll-content p{margin:0}.recitation-scroll-content h2{white-space:nowrap;font-size:clamp(1.22rem,1.75vw,1.8rem)}.recitation-scroll-content p{color:#8f493a;white-space:nowrap;font-size:clamp(.72rem,.9vw,.88rem);font-weight:900}.recitation-scroll-lines{justify-items:center;gap:clamp(4px,.72vh,8px);width:100%;margin-top:4px;display:grid}.recitation-scroll-lines strong{color:#172521;text-align:center;white-space:nowrap;max-width:100%;font-size:clamp(.9rem,1.08vw,1.18rem);line-height:1.22}.fill-writing-scroll .recitation-scroll-content{gap:6px}.fill-writing-scroll .recitation-scroll-lines{gap:clamp(3px,.58vh,6px);margin-top:2px}.fill-writing-scroll .recitation-scroll-lines strong{font-size:clamp(.84rem,.98vw,1.08rem);line-height:1.16}.chapter-progress{align-items:center;gap:8px;margin-bottom:12px;display:flex}.chapter-progress span{color:#53645f;background:#fffdf8;border:1px solid #35564e29;border-radius:50%;justify-content:center;align-items:center;gap:6px;width:38px;height:38px;font-weight:800;display:inline-flex}.chapter-progress span.active{color:#fffdf8;background:#2e756b;border-color:#2e756b}.chapter-progress span.done{color:#2e756b;background:#2e756b1a;border-color:#2e756b4d}.stage-panel{flex-direction:column;gap:18px;min-height:504px;padding:clamp(18px,3vw,28px);display:flex}.poem-story-stage{min-height:clamp(560px,68vh,760px);cursor:var(--cursor-brush);background:#101716;border:1px solid #35564e29;border-radius:8px;position:relative;overflow:hidden}.story-mode .poem-story-stage{border:0;border-radius:0;width:100%;height:100vh;min-height:100vh}.story-mode .poem-story-title,.story-mode .poem-story-progress,.story-mode .poem-story-replay-note{display:none}.poem-story-background,.poem-story-vignette{position:absolute;inset:0}.poem-story-background{object-fit:cover;width:100%;height:100%}.poem-story-vignette{pointer-events:none;background:linear-gradient(#09110f14,#0000 28%,#09110f61),radial-gradient(circle at 48% 42%,#0000 0 48%,#09110f42 100%)}.poem21-final-scroll-copy{z-index:2;color:#423527;text-align:center;text-shadow:0 1px #fffae8bf;pointer-events:none;width:min(42%,520px);font-family:STKaiti,KaiTi,Songti SC,serif;position:absolute;top:15%;right:7%}.poem21-final-scroll-copy strong,.poem21-final-scroll-copy span{display:block}.poem21-final-scroll-copy strong{letter-spacing:.12em;margin-bottom:2px;font-size:clamp(1rem,1.7vw,1.45rem)}.poem21-final-scroll-copy span{margin-bottom:6px;font-size:clamp(.66rem,1vw,.86rem)}.poem21-final-scroll-copy p{letter-spacing:.03em;margin:2px 0;font-size:clamp(.72rem,1.14vw,1rem);line-height:1.28}.poem22-final-reply-copy{z-index:2;color:#49321f;text-shadow:0 1px #fff4cf9e;transform-origin:bottom;pointer-events:none;direction:rtl;justify-content:center;gap:clamp(7px,.9vw,15px);width:39%;height:10.5%;font-family:STKaiti,KaiTi,Songti SC,serif;display:flex;position:absolute;top:61.5%;left:27.5%;transform:perspective(700px)rotateX(13deg)}.poem22-final-reply-copy span{writing-mode:vertical-rl;text-orientation:upright;letter-spacing:.02em;white-space:nowrap;font-size:clamp(.56rem,.96vw,.9rem);line-height:1}.poem-story-title{z-index:2;color:#fffdf8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1d312d9e;border:1px solid #fffdf27a;border-radius:8px;gap:4px;padding:10px 14px;display:grid;position:absolute;top:18px;left:18px;box-shadow:0 12px 24px #09110f2e}.poem-story-title span{color:#f3d88a;font-size:.86rem;font-weight:800}.poem-story-title strong{font-size:clamp(1.2rem,2vw,1.7rem)}.poem-story-actors{z-index:3;pointer-events:none;position:absolute;inset:0}.poem-story-standee{--actor-offset:0;--actor-scale:1;object-fit:contain;width:auto;max-width:min(44vw,620px);height:min(72vh,560px);max-height:78%;transform:translateX(var(--actor-offset)) scale(var(--actor-scale)) scale(1.42857);transform-origin:bottom;opacity:.92;filter:drop-shadow(0 18px 18px #08100f47);transition:opacity .24s,filter .24s,transform .24s;position:absolute;bottom:0}.poem-story-standee.flip{transform:translateX(var(--actor-offset)) scaleX(-1) scale(var(--actor-scale)) scale(1.42857)}.poem-story-standee.actor-wangWen,.poem-story-standee.actor-donglinElder,.poem-story-standee.actor-yangShiSpirit{transform:translateX(var(--actor-offset)) scale(var(--actor-scale)) scale(1.42857) scale(var(--poem27-height-normalizer))}.poem-story-standee.actor-wangWen.flip,.poem-story-standee.actor-donglinElder.flip,.poem-story-standee.actor-yangShiSpirit.flip{transform:translateX(var(--actor-offset)) scaleX(-1) scale(var(--actor-scale)) scale(1.42857) scale(var(--poem27-height-normalizer))}.poem-story-standee.actor-wangWen{--poem27-height-normalizer:1.15;bottom:-64px}.poem-story-standee.actor-donglinElder{--poem27-height-normalizer:1.03;bottom:-14px}.poem-story-standee.actor-yangShiSpirit{--poem27-height-normalizer:1.1;bottom:-52px}.poem-story-standee-crop{aspect-ratio:2/3;overflow:hidden}.poem-story-standee-crop-image{top:var(--standee-crop-top,0%);object-fit:contain;object-position:center top;transform-origin:top;width:100%;height:100%;position:absolute;left:0;transform:scale(1.42857)}.poem-story-standee.left{left:clamp(8px,3vw,42px)}.poem-story-standee.right{right:clamp(8px,3vw,42px)}.poem-story-standee.center{--actor-offset:-50%;max-width:min(48vw,680px);height:min(76vh,590px);left:50%}.poem-story-standee.actor-qingling{max-width:min(34vw,430px);height:min(50vh,390px)}.poem-story-standee.actor-ouyangXiu,.poem-story-standee.actor-yingzhouBoatman{max-width:min(58vw,760px);bottom:-8px}.poem-story-standee.actor-tavernKeeper{max-width:min(62vw,820px);bottom:-10px}.poem-story-standee.actor-suShi,.poem-story-standee.actor-qiliBoatman,.poem-story-standee.actor-daiXuan,.poem-story-standee.actor-zhangJi,.poem-story-standee.actor-changmenBoatwoman,.poem-story-standee.actor-mountainTempleMonk,.poem-story-standee.actor-fisherElder,.poem-story-standee.actor-citrusGardenBoy{max-width:min(62vw,820px);height:min(80vh,616px);bottom:-56px}.poem-story-standee.actor-duFu,.poem-story-standee.actor-aqing,.poem-story-standee.actor-huangTingjian,.poem-story-standee.actor-bambooFarmerA,.poem-story-standee.actor-bambooFarmerB,.poem-story-standee.actor-shanxiVillageElder{max-width:min(62vw,820px);height:min(80vh,616px);bottom:-54px}.poem-story-standee.actor-luYou{max-width:min(68vw,900px);height:min(88vh,680px);max-height:88%;bottom:-118px}.poem-story-standee.actor-zhangXian,.poem-story-standee.actor-zhangOldServant,.poem-story-standee.actor-xinQiji,.poem-story-standee.actor-xinQijiOld,.poem-story-standee.actor-caoCao,.poem-story-standee.actor-linanLanternElder,.poem-story-standee.actor-carriageMaid,.poem-story-standee.actor-snowWillowWoman,.poem-story-standee.actor-wuWenying,.poem-story-standee.actor-huaianOldBoatman{max-width:min(62vw,820px);height:min(78vh,604px);max-height:82%;bottom:-26px}.poem-story-standee.actor-huaianWharfClerk{object-fit:cover;object-position:center top;width:min(52vw,520px);max-width:none;height:min(56vw,560px);max-height:82%;bottom:-26px}.poem-story-standee.actor-huaianWharfClerk.right{right:clamp(-38px,-2.5vw,-18px)}.poem-story-standee.actor-yanShengsun,.poem-story-standee.actor-changE{max-width:min(52vw,680px);height:min(72vh,560px);max-height:78%;bottom:-10px}.poem-story-standee.actor-yanShengsun.right,.poem-story-standee.actor-changE.right{right:clamp(-48px,-3vw,-22px)}.poem-story-standee.actor-liuYuxi,.poem-story-standee.actor-zhouDaniang{max-width:min(44vw,540px);height:min(64vh,500px);max-height:74%;bottom:-8px}.poem-story-standee.actor-liuYuxi{--liu-yuxi-layout-scale:1.1;transform:translateX(4px) scale(var(--liu-yuxi-layout-scale));transform-origin:0 100%}.poem-story-standee.actor-liuYuxi.flip{transform:translateX(4px) scaleX(-1) scale(var(--liu-yuxi-layout-scale))}.poem-story-standee.actor-liuYuxi.right{right:clamp(44px,4.5vw,62px)}.poem-story-standee.actor-zhouDaniang.right{right:clamp(20px,3.5vw,54px)}.poem-story-standee.actor-liBai,.poem-story-standee.actor-xieTiao,.poem-story-standee.actor-xieTiaoReal,.poem-story-standee.actor-shenZhubu,.poem-story-standee.actor-duMu,.poem-story-standee.actor-duYi,.poem-story-standee.actor-shiGongji,.poem-story-standee.actor-chanzhiOldMonk,.poem-story-standee.actor-luoyangCourier,.poem-story-standee.actor-sangBo{max-width:min(43vw,520px);height:min(62vh,480px);max-height:70%;bottom:-6px}.poem-story-standee.actor-oldMusician{object-fit:cover;object-position:center top;width:min(46vw,460px);max-width:none;height:min(48vw,480px);max-height:74%;bottom:-24px}.poem-story-standee.actor-oldMusician.right{right:clamp(-58px,-3.4vw,-26px)}.poem-story-standee.actor-liBai.right,.poem-story-standee.actor-xieTiao.right,.poem-story-standee.actor-xieTiaoReal.right,.poem-story-standee.actor-shenZhubu.right,.poem-story-standee.actor-duMu.right,.poem-story-standee.actor-duYi.right,.poem-story-standee.actor-shiGongji.right,.poem-story-standee.actor-chanzhiOldMonk.right,.poem-story-standee.actor-luoyangCourier.right,.poem-story-standee.actor-sangBo.right{right:clamp(22px,3.8vw,58px)}.poem-story-standee.actor-duFu.right{right:clamp(-8px,0vw,2px)}.poem-story-standee.actor-aqing.right{right:clamp(4px,1.6vw,24px)}.poem-story-standee.actor-huangTingjian.right,.poem-story-standee.actor-bambooFarmerA.right,.poem-story-standee.actor-bambooFarmerB.right,.poem-story-standee.actor-luYou.right,.poem-story-standee.actor-shanxiVillageElder.right,.poem-story-standee.actor-zhangXian.right,.poem-story-standee.actor-zhangOldServant.right,.poem-story-standee.actor-xinQiji.right,.poem-story-standee.actor-xinQijiOld.right,.poem-story-standee.actor-caoCao.right,.poem-story-standee.actor-linanLanternElder.right,.poem-story-standee.actor-carriageMaid.right,.poem-story-standee.actor-snowWillowWoman.right,.poem-story-standee.actor-wuWenying.right,.poem-story-standee.actor-huaianOldBoatman.right{right:clamp(4px,1vw,18px)}.poem-story-standee.actor-daiXuan.right,.poem-story-standee.actor-zhangJi.right,.poem-story-standee.actor-changmenBoatwoman.right,.poem-story-standee.actor-mountainTempleMonk.right,.poem-story-standee.actor-fisherElder.right,.poem-story-standee.actor-citrusGardenBoy.right{right:clamp(-112px,-7vw,-64px)}.poem-story-standee.actor-citrusGardenBoy.right{right:clamp(8px,2vw,28px)}.poem-story-standee.actor-ouyangXiu.right,.poem-story-standee.actor-yingzhouBoatman.right{right:clamp(-132px,-9vw,-78px)}.poem-story-standee.actor-tavernKeeper.right{right:clamp(-148px,-10vw,-84px)}.poem-story-standee.dim{opacity:.48;filter:grayscale(.14)drop-shadow(0 14px 14px #08100f2e)}.poem-story-standee.active{opacity:1;filter:drop-shadow(0 20px 18px #08100f4d)drop-shadow(0 0 18px #ffe58f57)}.poem-story-standee.switching{animation:.32s poem-story-standee-fade}@keyframes poem-story-standee-fade{0%{opacity:0;filter:blur(4px)drop-shadow(0 14px 14px #08100f2e)}to{opacity:.92;filter:drop-shadow(0 18px 18px #08100f47)}}.poem-story-dialogue.story-scroll-banner{z-index:4}.story-poem-line{-webkit-text-stroke:.8px currentColor;paint-order:stroke fill;font-weight:900}.poem-story-dialogue.has-choices{grid-template-rows:minmax(0,auto) minmax(0,1fr);grid-template-columns:minmax(54px,auto) minmax(0,1fr) auto;align-items:start;row-gap:1px;padding-top:clamp(38px,4.3vw,54px);padding-bottom:clamp(44px,4.8vw,62px);overflow:hidden}.poem-story-dialogue.has-choices .story-speaker{grid-area:1/1/3/2}.poem-story-dialogue.has-choices .story-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;grid-area:1/2/2/3;max-height:2.8em;display:-webkit-box;overflow:hidden}.poem-story-dialogue.has-choices.has-long-prompt .story-text{white-space:normal;max-height:3.05em;font-size:clamp(.9rem,1.2vw,1.08rem);line-height:1.38}.poem-story-dialogue.has-choices .story-text:after{display:none}.poem-story-dialogue.has-choices .story-next-mark{grid-area:1/3/3/4;align-self:center}.poem-story-clue-card{z-index:6;color:#24312f;width:min(430px,100% - 44px);height:min(72vh,590px);min-height:390px;font-family:var(--font-body-cn);text-align:center;cursor:var(--cursor-brush);background:url(/content/assets/images/ui/clue-card-ancient-v2.png) 50%/100% 100% no-repeat;border:0;border-radius:18px;align-content:center;justify-items:center;gap:12px;padding:clamp(82px,11vh,126px) clamp(48px,7vw,72px) clamp(78px,10vh,118px);animation:.56s cubic-bezier(.2,.92,.2,1.08) both clue-card-fly-in;display:grid;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.poem-story-clue-card:before,.poem-story-clue-card:after{content:"";pointer-events:none;position:absolute}.poem-story-clue-card:before{filter:drop-shadow(0 0 9px #ffe381d1)drop-shadow(0 10px 13px #08100f52);background:url(/content/assets/images/ui/clue-card-ancient-v2.png) 50%/100% 100% no-repeat;animation:2.8s ease-in-out infinite clue-card-glow-pulse;inset:0}.poem-story-clue-card:after{background:linear-gradient(90deg,#0000,#ffffffb8,#0000);width:42%;animation:1.9s ease-in-out .32s infinite clue-card-shine;inset:-26%;transform:translate(-180%)rotate(18deg)}.poem-story-clue-card.exiting{pointer-events:none;animation:.42s cubic-bezier(.54,-.08,.82,.24) both clue-card-fly-out}.poem-story-clue-card>*{z-index:1;position:relative}.clue-card-eyebrow{color:#a84b3d;font-size:clamp(.9rem,1.3vw,1.04rem);font-weight:900}.poem-story-clue-card strong{color:#1d312d;font-size:clamp(1.48rem,2.7vw,2rem);line-height:1.08}.poem-story-clue-card span:not(.clue-card-eyebrow){color:#2f4a43;max-width:16em;font-size:clamp(.96rem,1.35vw,1.12rem);font-weight:900;line-height:1.42}.poem-story-clue-card em{color:#8f493ab8;font-size:.86rem;font-style:normal;font-weight:900}.poem-story-choice-list{overscroll-behavior:contain;scrollbar-color:#a84b3d94 transparent;scrollbar-width:thin;flex-flow:column;grid-area:2/2/3/3;align-self:stretch;align-items:flex-start;gap:clamp(2px,.35vw,5px);width:100%;min-width:0;height:100%;min-height:0;max-height:none;padding:0 10px 2px 0;display:flex;overflow:hidden auto}.poem-story-choice-list::-webkit-scrollbar{width:6px}.poem-story-choice-list::-webkit-scrollbar-thumb{background:#a84b3d7a;border-radius:999px}.poem-story-choice-list.is-two-column{grid-template-columns:repeat(2,minmax(0,max-content));place-content:start;gap:clamp(4px,.58vw,8px) clamp(42px,5vw,86px);padding-right:0;display:grid;overflow:hidden}.poem-story-choice-inline{box-sizing:border-box;color:#8f493a;width:100%;max-width:100%;min-height:0;font-family:var(--font-body-cn);text-align:left;text-underline-offset:5px;white-space:normal;overflow-wrap:anywhere;word-break:break-word;box-shadow:none;background:0 0;border:0;border-radius:0;flex:none;padding:0 2px;font-size:clamp(.96rem,1.2vw,1.12rem);font-weight:900;line-height:1.42;text-decoration:underline}.poem-story-choice-list.is-two-column .poem-story-choice-inline{white-space:nowrap;width:auto}.poem-story-choice-inline:hover,.poem-story-choice-inline:focus-visible{color:#fffdf8;text-shadow:0 0 7px #fff0a6f2,0 0 18px #f3d88ae6,0 2px 2px #572d2480;outline:none}.poem-story-progress{z-index:2;gap:7px;display:flex;position:absolute;top:20px;right:20px}.poem-story-progress span{background:#fffdf28c;border-radius:999px;width:8px;height:8px;box-shadow:0 3px 8px #08100f2e}.poem-story-progress span.active{background:#f3d88a;width:22px}.poem-story-replay-note{z-index:3;color:#fffdf8c2;pointer-events:none;font-size:.82rem;position:absolute;bottom:14px;left:20px}@keyframes clue-card-fly-in{0%{opacity:0;filter:blur(7px)brightness(1.8);transform:translate(-50%,-50%)scale(.28)rotate(-8deg)}58%{opacity:1;filter:blur()brightness(1.12);transform:translate(-50%,-50%)scale(1.08)rotate(1.5deg)}to{opacity:1;filter:blur()brightness();transform:translate(-50%,-50%)scale(1)rotate(0)}}@keyframes clue-card-fly-out{0%{opacity:1;filter:blur()brightness();transform:translate(-50%,-50%)scale(1)rotate(0)}to{opacity:0;filter:blur(8px)brightness(1.8);transform:translate(-50%,-50%)scale(.18)rotate(8deg)}}@keyframes clue-card-glow-pulse{0%,to{opacity:.72}50%{opacity:1}}@keyframes clue-card-shine{0%,34%{opacity:0;transform:translate(-180%)rotate(18deg)}52%{opacity:.85}78%,to{opacity:0;transform:translate(330%)rotate(18deg)}}@keyframes completion-card-pop{0%{opacity:0;filter:drop-shadow(0 28px 50px #00000061)blur(5px);transform:translateY(20px)scale(.86)}62%{opacity:1;filter:drop-shadow(0 28px 50px #00000061)blur();transform:translateY(-4px)scale(1.04)}to{opacity:1;filter:drop-shadow(0 28px 50px #00000061)blur();transform:translateY(0)scale(1)}}.stage-prompt{color:#172521;margin:0;font-size:clamp(1.25rem,2.6vw,2rem);font-weight:900;line-height:1.35}.dialogue-list{gap:12px;display:grid}.dialogue-bubble{background:#f4f8f2;border-left:4px solid #caa75f;border-radius:8px;padding:14px 16px}.dialogue-bubble span{color:#a84b3d;font-weight:900}.dialogue-bubble p{color:#32433f;margin:5px 0 0;font-size:1.08rem;line-height:1.65}.voice-actions,.stage-footer{flex-wrap:wrap;gap:10px;display:flex}.recitation-stage{background:#f6efd9;border-radius:8px;grid-template-rows:minmax(0,1fr) auto;gap:0;height:100%;min-height:0;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 36px #24312f1f}.recitation-visual{background:#f6efd9;min-height:0;position:relative;overflow:hidden}.recitation-visual img,.recitation-visual-shade{position:absolute;inset:0}.recitation-visual img{object-fit:cover;width:100%;height:100%}.recitation-visual-shade{display:none}.recitation-current-line{z-index:1;color:#fffdf8;text-shadow:0 2px 3px #0a1210a6,0 0 18px #fff1b85c;gap:4px;display:grid;position:absolute;bottom:clamp(10px,1.4vw,18px);left:clamp(18px,3vw,34px)}.recitation-current-line span{color:#f3d88a;font-size:.8rem;font-weight:900}.recitation-current-line strong{font-size:clamp(1.35rem,3vw,2.6rem);line-height:1.05}.recitation-control{z-index:2;color:#24312f;background:linear-gradient(#fffdf2eb,#f7f2dff5),radial-gradient(circle at 16% 0,#ffeea85c,#0000 42%);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"status actions""input actions""feedback feedback";align-items:center;gap:6px 10px;min-height:120px;max-height:132px;padding:8px min(18vw,170px) 8px 12px;display:grid;position:relative}.recitation-status{grid-area:status;gap:2px;display:grid}.recitation-status span{color:#a84b3d;font-size:.72rem;font-weight:900}.recitation-status strong{color:#172521;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(.88rem,1.16vw,1.08rem);line-height:1.32;overflow:hidden}.recitation-actions{flex-wrap:nowrap;grid-area:actions;justify-content:flex-end;align-items:center}.recitation-actions .primary-button,.recitation-actions .secondary-button{gap:5px;min-height:34px;padding:0 10px;font-size:.82rem}.recitation-control textarea{color:#172521;white-space:nowrap;resize:none;background:#fffdf89e;grid-area:input;height:38px;min-height:38px;padding:6px 12px;font-size:clamp(.86rem,1.16vw,1.02rem);font-weight:900;line-height:1.3;overflow:hidden}.recitation-control .feedback{grid-area:feedback;margin:0;font-size:.78rem}.recitation-standee{z-index:3;object-fit:contain;filter:drop-shadow(0 18px 18px #08100f47);pointer-events:none;width:min(18vw,180px);max-height:46%;position:absolute;bottom:-8px;right:clamp(-20px,1vw,18px)}.voice-review-stage{background:#f6efd9;border-radius:8px;grid-template-rows:minmax(0,1fr) auto;height:100%;min-height:0;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 36px #24312f1f}.voice-review-visual{background:#f6efd9;min-height:340px;position:relative;overflow:hidden}.voice-review-visual>img:first-child{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.voice-review-question-card{z-index:2;color:#172521;background:linear-gradient(#fffdf2db,#f6efd9eb),radial-gradient(circle at 18% 0,#ffeea857,#0000 44%);border:1px solid #caa75f8f;border-radius:8px;gap:8px;max-width:min(560px,58%);padding:18px 22px;display:grid;position:absolute;top:clamp(18px,4vw,48px);left:clamp(18px,4vw,54px);box-shadow:0 18px 34px #24312f29}.voice-review-question-card span{color:#a84b3d;font-size:.84rem;font-weight:900}.voice-review-question-card strong{font-size:clamp(1.8rem,4vw,3.8rem);line-height:1.08}.voice-review-standee{z-index:2;object-fit:contain;filter:drop-shadow(0 18px 18px #08100f42);pointer-events:none;width:min(23vw,240px);max-height:74%;position:absolute;bottom:-12px;right:clamp(-22px,3vw,34px)}.voice-review-panel{z-index:3;color:#24312f;background:linear-gradient(#fffdf2f0,#f7f2dffa),radial-gradient(circle at 16% 0,#ffeea857,#0000 42%);grid-template-columns:minmax(220px,.8fr) minmax(220px,1fr);grid-template-areas:"status explanation""input explanation""actions actions""feedback feedback";gap:8px 12px;min-height:190px;padding:12px min(20vw,180px) 12px 14px;display:grid;position:relative}.voice-review-status{grid-area:status;gap:3px;display:grid}.voice-review-status h2,.voice-review-status p,.voice-review-explanation p{margin:0}.voice-review-status h2{color:#172521;font-size:clamp(1.2rem,2vw,1.8rem)}.voice-review-status p:last-child{color:#61726d;font-weight:900}.voice-review-panel textarea{color:#172521;white-space:nowrap;resize:none;background:#fffdf8b3;grid-area:input;height:42px;min-height:42px;padding:7px 12px;font-size:clamp(.92rem,1.2vw,1.08rem);font-weight:900;line-height:1.3;overflow:hidden}.voice-review-explanation{background:#fffdf8ad;border:1px solid #35564e24;border-radius:8px;grid-area:explanation;align-content:center;gap:6px;padding:10px 12px;display:grid}.voice-review-explanation strong{color:#a84b3d;font-size:clamp(.98rem,1.2vw,1.14rem)}.voice-review-actions{flex-wrap:wrap;grid-area:actions;align-items:center;gap:8px;display:flex}.voice-review-actions .primary-button,.voice-review-actions .secondary-button{gap:5px;min-height:36px;padding:0 12px;font-size:.86rem}.voice-review-panel .feedback{grid-area:feedback;margin:0;font-size:.8rem}.mixed-review-stage .voice-review-question-card strong{font-size:clamp(1.45rem,3.1vw,3rem)}.mixed-review-stage .voice-review-panel{grid-template-columns:minmax(260px,.72fr) minmax(280px,1fr);grid-template-areas:"status explanation""input explanation""actions actions""feedback feedback"}.mixed-review-options{grid-area:input;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:42px;display:grid}.mixed-review-option{color:#24312f;text-align:left;background:#fffdf8b8;border:1px solid #35564e29;border-radius:8px;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;min-height:42px;padding:7px 10px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.mixed-review-option:hover,.mixed-review-option:focus-visible{border-color:#a84b3d6b;transform:translateY(-1px);box-shadow:0 0 18px #dcaa5b52}.mixed-review-option span{color:#fffdf8;background:#53645f;border-radius:999px;place-items:center;width:26px;height:26px;font-weight:900;display:grid}.mixed-review-option strong{color:#172521;min-width:0;font-size:clamp(.86rem,1.05vw,1rem);line-height:1.32}.mixed-review-option.correct{background:#eef9f2e0;border-color:#2e756b8a;box-shadow:0 0 18px #2e756b33}.mixed-review-option.correct span{background:#2e756b}.mixed-review-option.wrong{background:#ffefeae0;border-color:#a84b3d8a}.mixed-review-option.wrong span{background:#a84b3d}.coming-soon-stage{align-content:center;justify-items:start;gap:10px;min-height:420px;padding:34px;display:grid}.coming-soon-stage h2,.coming-soon-stage p{margin:0}.meaning-quiz-stage{color:#24312f;background:linear-gradient(#fffdf2f5,#f6efd9fa),radial-gradient(circle at 18% 12%,#ffe9a247,#0000 44%);border-radius:8px;grid-template-rows:minmax(0,1fr) minmax(154px,.42fr);gap:10px;height:100%;min-height:0;padding:12px min(18vw,170px) 12px 12px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 36px #24312f1f}.meaning-question-panel,.meaning-answer-panel{z-index:1;background:#fffdf8b8;border:1px solid #35564e29;border-radius:8px;min-height:0;position:relative;box-shadow:inset 0 0 0 1px #ffffff61}.meaning-question-panel{grid-template-rows:auto auto minmax(0,1fr);gap:10px;padding:16px;display:grid;overflow:hidden}.meaning-quiz-header{color:#a84b3d;justify-content:space-between;align-items:center;gap:12px;font-size:.82rem;font-weight:900;display:flex}.meaning-quiz-dots{gap:6px;display:flex}.meaning-quiz-dots i{background:#53645f38;border-radius:999px;width:9px;height:9px}.meaning-quiz-dots i.active{background:#a84b3d}.meaning-quiz-dots i.done{background:#2e756b}.meaning-question-panel h2{color:#172521;margin:0;font-size:clamp(1.35rem,2.35vw,2.2rem);line-height:1.25}.meaning-option-list{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:10px;min-height:0;display:grid}.meaning-option{color:#24312f;text-align:left;background:#fffdf8db;border:1px solid #35564e29;border-radius:8px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;min-height:66px;padding:10px 12px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.meaning-option:hover,.meaning-option:focus-visible{border-color:#a84b3d6b;transform:translateY(-1px);box-shadow:0 0 18px #dcaa5b59}.meaning-option span{color:#fffdf8;background:#53645f;border-radius:999px;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.meaning-option strong{color:#172521;min-width:0;font-size:clamp(.96rem,1.35vw,1.18rem);line-height:1.35}.meaning-option.correct{background:#eef9f2eb;border-color:#2e756b8a;box-shadow:0 0 18px #2e756b38}.meaning-option.correct span{background:#2e756b}.meaning-option.wrong{background:#ffefeaeb;border-color:#a84b3d8a}.meaning-option.wrong span{background:#a84b3d}.meaning-answer-panel{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding:14px 16px;display:grid}.meaning-answer-panel p,.meaning-answer-panel h3{margin:0}.meaning-answer-panel .eyebrow{color:#a84b3d;margin-bottom:4px;font-size:.76rem}.meaning-answer-panel h3{color:#172521;font-size:clamp(1rem,1.6vw,1.35rem)}.meaning-answer-panel p:not(.eyebrow){color:#32433f;margin-top:4px;font-size:clamp(.86rem,1.2vw,1rem);line-height:1.5}.meaning-answer-panel small{color:#8f493a;margin-top:4px;font-weight:900;display:block}.meaning-answer-panel.correct{border-color:#2e756b4d}.meaning-answer-panel.wrong{border-color:#a84b3d57}.meaning-answer-panel .primary-button{min-height:38px;padding:0 14px;font-size:.86rem}.meaning-alian-standee{z-index:2;object-fit:contain;filter:drop-shadow(0 18px 18px #08100f3d);pointer-events:none;width:min(18vw,180px);max-height:48%;position:absolute;bottom:-8px;right:clamp(-18px,.8vw,14px)}.fill-writing-stage{background:#f6efd9;border-radius:8px;grid-template-rows:minmax(0,1fr) minmax(174px,auto);gap:0;height:100%;min-height:0;display:grid;overflow:hidden;box-shadow:0 18px 36px #24312f1f}.fill-visual-panel{background:#f6efd9;min-height:0;position:relative;overflow:hidden}.fill-visual-panel img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.fill-current-line{z-index:1;color:#fffdf8;text-shadow:0 2px 3px #0a1210a8,0 0 18px #fff1b85c;gap:4px;display:grid;position:absolute;bottom:clamp(10px,1.4vw,18px);left:clamp(18px,3vw,34px)}.fill-current-line span{color:#f3d88a;font-size:.8rem;font-weight:900}.fill-current-line strong{font-size:clamp(1.35rem,3vw,2.6rem);line-height:1.05}.fill-answer-panel{z-index:2;color:#24312f;background:linear-gradient(#fffdf2f0,#f7f2dffa),radial-gradient(circle at 16% 0,#ffeea857,#0000 42%);grid-template-columns:minmax(260px,1fr) minmax(0,1.2fr) auto;align-items:stretch;gap:10px;min-height:174px;padding:10px 12px;display:grid;position:relative}.fill-option-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.fill-option{color:#24312f;text-align:left;background:#fffdf8db;border:1px solid #35564e29;border-radius:8px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;min-height:58px;padding:8px 10px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.fill-option:hover,.fill-option:focus-visible{border-color:#a84b3d6b;transform:translateY(-1px);box-shadow:0 0 18px #dcaa5b59}.fill-option span{color:#fffdf8;background:#53645f;border-radius:999px;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.fill-option strong{color:#172521;min-width:0;font-size:clamp(.94rem,1.25vw,1.12rem);line-height:1.2}.fill-option.correct{background:#eef9f2eb;border-color:#2e756b8a;box-shadow:0 0 18px #2e756b38}.fill-option.correct span{background:#2e756b}.fill-option.wrong{background:#ffefeaeb;border-color:#a84b3d8a}.fill-option.wrong span{background:#a84b3d}.fill-explanation{align-self:center;min-width:0}.fill-explanation p,.fill-explanation h3{margin:0}.fill-explanation .eyebrow{color:#a84b3d;margin-bottom:3px;font-size:.74rem}.fill-explanation h3{color:#172521;font-size:clamp(.96rem,1.38vw,1.22rem)}.fill-explanation p:not(.eyebrow){color:#32433f;margin-top:4px;font-size:clamp(.82rem,1.08vw,.96rem);line-height:1.45}.fill-explanation small{color:#8f493a;margin-top:4px;font-weight:900;display:block}.fill-answer-panel .primary-button{align-self:end;min-height:38px;padding:0 14px;font-size:.86rem}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.choice-option,.line-bank button{color:#24312f;text-align:left;background:#f8faf5;border:1px solid #35564e29;border-radius:8px;min-height:58px;padding:10px 14px;font-weight:900}.choice-option.selected{background:#2e756b1a;border-color:#2e756b}.line-bank,.answer-lines{gap:10px;display:grid}.line-bank{grid-template-columns:repeat(2,minmax(0,1fr))}.answer-lines{background:#f4f8f2;border:1px dashed #35564e47;border-radius:8px;align-content:start;min-height:132px;padding:16px}.answer-lines span{color:#61726d}.answer-lines strong{color:#172521;font-size:1.3rem;display:block}.writing-card{background:#f4f8f2;border:1px dashed #35564e47;border-radius:8px;gap:14px;padding:18px;display:grid}.writing-card p{color:#172521;margin:0;font-size:clamp(1.2rem,2vw,1.7rem);font-weight:900;line-height:1.5}.blank-slots{flex-wrap:wrap;gap:10px;display:flex}.blank-slots span{color:#61726d;background:#fffdf8db;border:1px solid #35564e29;border-radius:8px;place-items:center;min-width:92px;min-height:44px;padding:0 12px;font-weight:900;display:inline-grid}.blank-slots span.filled{color:#2e756b;background:#2e756b1a;border-color:#2e756b66}.reward-ribbon{color:#7a3a2f;background:#fff3df;border-radius:8px;align-items:center;gap:8px;margin-top:12px;padding:12px 14px;font-weight:900;display:inline-flex}.completion-screen{z-index:80;text-align:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000094;place-items:center;padding:clamp(24px,5vw,60px);display:grid;position:fixed;inset:0}.completion-card{color:#24312f;filter:drop-shadow(0 28px 50px #00000061);background:url(/content/assets/images/ui/clue-card-ancient-v2.png) 50%/100% 100% no-repeat;align-content:center;justify-items:center;gap:12px;width:min(440px,100% - 24px);min-height:min(72vh,600px);padding:clamp(84px,11vh,128px) clamp(48px,7vw,74px) clamp(78px,10vh,116px);animation:.52s cubic-bezier(.2,.92,.2,1.08) both completion-card-pop;display:grid}.completion-mark{color:#fffdf8;background:#a84b3d;border-radius:50%;place-items:center;width:58px;height:58px;display:grid;box-shadow:0 0 0 4px #ffefae80,0 12px 26px #a84b3d42}.completion-card h1,.completion-card p{margin:0}.completion-card h1{color:#172521;font-size:clamp(2rem,4.4vw,3.4rem);line-height:1.08}.completion-card p:not(.eyebrow){color:#53645f;max-width:17em;font-size:clamp(.96rem,1.4vw,1.12rem);font-weight:900;line-height:1.55}.global-learning-card{filter:drop-shadow(0 18px 32px #00000075);background:0 0;min-height:0;padding:clamp(28px,4vw,48px)}.global-learning-card .completion-mark{box-shadow:0 12px 26px #08100f57}.global-learning-card h1{color:#fff5cf;text-shadow:0 3px 10px #08100fb8}.global-learning-card .eyebrow{color:#f3cf7f;text-shadow:0 2px 8px #08100fb8}.global-learning-card p:not(.eyebrow){color:#fffdf8;text-shadow:0 2px 8px #08100fb8}.energy-exhausted-mark{color:#fff7d6;background:#8b5b20}.guest-record-summary{color:#f5d58b;flex-wrap:wrap;justify-content:center;gap:7px 14px;font-size:.9rem;font-weight:800;display:flex}.guest-record-summary span{border-bottom:1px solid #f5d58b70}.energy-account-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 18px;display:flex}.global-learning-text-button{color:#fff5cf;text-shadow:0 2px 8px #08100fb8;background:0 0;border:0;border-bottom:1px solid #fff5cf94;min-height:42px;padding:0 8px;font-weight:800}.global-learning-text-button:hover,.global-learning-text-button:focus-visible{color:#f3cf7f;border-bottom-color:#f3cf7f}.global-learning-card .energy-practice-note{color:#fffdf8c7;max-width:30em;font-size:.86rem;font-weight:700}.energy-purchase-card{width:min(780px,100% - 24px)}.energy-plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;display:grid}.energy-plan-grid button{color:#fffdf8;background:linear-gradient(#7b521fdb,#492f16e6);border:1px solid #f3cf7fb8;border-radius:10px;align-content:center;justify-items:center;gap:8px;min-height:164px;padding:18px 14px;display:grid;box-shadow:0 14px 30px #050e0c47}.energy-plan-grid button:hover,.energy-plan-grid button:focus-visible{background:linear-gradient(#976322f0,#533314f0);border-color:#fff0bd;transform:translateY(-2px)}.energy-plan-grid strong{font-size:1.08rem}.energy-plan-grid span{color:#ffe49a;font-family:var(--font-sans);font-size:1.7rem;font-weight:900}.energy-plan-grid small{color:#fffdf8d1;font-size:.82rem;font-weight:700;line-height:1.45}.energy-payment-screen{z-index:1500}.energy-payment-dialog{gap:14px;width:min(540px,100%)}.energy-payment-amount{color:#47635c;background:#1677b812;border:1px solid #346f9933;border-radius:8px;justify-content:space-between;align-items:baseline;padding:12px 16px;font-weight:800;display:flex}.energy-payment-amount strong{color:#1677b8;font-family:var(--font-sans);font-size:2rem}.energy-qr-shell{background:#fff;border-radius:10px;grid-template-columns:210px minmax(0,1fr);align-items:center;gap:20px;padding:16px;display:grid;box-shadow:inset 0 0 0 1px #1c414f1f}.energy-demo-qr{aspect-ratio:1;background:#fff;border:1px solid #1111111f;width:100%;padding:10px}.energy-qr-shell>div{color:#425f58;gap:8px;display:grid}.energy-qr-shell svg:not(.energy-demo-qr){color:#1677b8}.energy-qr-shell span{color:#9a4638;font-size:.82rem;font-weight:800;line-height:1.45}.energy-payment-warning{color:#7a4a31;background:#c0822f1f;border-radius:7px;padding:10px 12px;font-size:.82rem;font-weight:700;line-height:1.5}.energy-payment-cancel{color:#5d7069;text-shadow:none;border-bottom-color:#5d706966;justify-self:center}.energy-payment-cancel:hover,.energy-payment-cancel:focus-visible{color:#9a4638;border-bottom-color:#9a4638}@media (width<=720px){.energy-plan-grid{grid-template-columns:1fr}.energy-plan-grid button{min-height:112px}.energy-qr-shell{text-align:center;grid-template-columns:minmax(0,190px);justify-content:center}.energy-qr-shell>div{justify-items:center}}.completion-rewards{flex-wrap:wrap;justify-content:center;gap:8px;max-width:20em;display:flex}.completion-rewards span{color:#7a3a2f;background:#fff3dfe0;border:1px solid #a84b3d2e;border-radius:8px;justify-content:center;align-items:center;min-height:34px;padding:0 12px;font-weight:900;display:inline-flex}.completion-note{color:#8f493a!important;font-size:.9rem!important}.completion-card .primary-button{margin-top:4px}.section-heading{margin-bottom:18px}.section-heading h1{font-size:clamp(2rem,4vw,3.6rem)}.card-grid{grid-template-columns:repeat(auto-fill,minmax(180px,280px));justify-content:start;gap:14px;display:grid}.collection-card{color:#61726d;background-image:linear-gradient(180deg, #fffdf82e, #fffdf8bd 54%, #fffdf8f0), var(--collection-card-bg,linear-gradient(135deg, #fffdf8, #edf4ee));text-align:left;isolation:isolate;background-position:50%;background-size:cover;border:1px solid #35564e29;border-radius:8px;flex-direction:column;justify-content:end;gap:8px;min-height:150px;padding:14px;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 22px #24312f14}.collection-card:before{content:"";pointer-events:none;z-index:0;border:1px solid #caa75f61;border-radius:6px;position:absolute;inset:7px}.collection-card>*{z-index:1;position:relative}.collection-card.unlocked{color:#24312f;border-color:#caa75fbf}.collection-card.locked{opacity:.68}.collection-card:not(:disabled){cursor:var(--cursor-brush)}.collection-card:not(:disabled):hover,.collection-card:not(:disabled):focus-visible{border-color:#a84b3d7a;transform:translateY(-2px);box-shadow:0 14px 30px #24312f29}.collection-card span{color:#2e756b;width:fit-content;font-size:.76rem;font-weight:900}.collection-card h2,.collection-card p{margin:0}.collection-card h2{color:#172521;font-size:1.35rem}.collection-card strong{color:#a84b3d;font-size:.9rem}.collection-heading{align-items:center;gap:14px;display:flex}.collection-lead{color:#61726d;margin:-8px 0 18px;font-weight:900}.collection-home-block{margin-top:22px}.collection-home-block:first-of-type{margin-top:0}.collection-home-block>h2{color:#17342f;letter-spacing:0;margin:0 0 12px;font-family:LiSu,隶书,STLiti,华文隶书,KaiTi,楷体,serif;font-size:clamp(1.35rem,2.2vw,2rem)}.poet-collection-card{min-height:190px;padding-right:122px}.poet-card-portrait{z-index:1;object-fit:contain;object-position:bottom right;pointer-events:none;filter:drop-shadow(0 10px 14px #24312f29);width:124px;max-height:176px;position:absolute;bottom:0;right:8px}.poet-profile-screen{position:relative}.poet-profile-panel{background:linear-gradient(90deg, #fffdf8d1, #fffdf8ad), var(--poet-profile-bg);background-position:50%;background-size:cover;border:1px solid #caa75f7a;border-radius:8px;grid-template-columns:minmax(260px,36%) minmax(0,1fr);min-height:min(650px,100vh - 210px);display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #fffdf885,0 18px 38px #24312f1f}.poet-profile-panel:before{content:"";pointer-events:none;background:#fffdf857;position:absolute;inset:0}.poet-profile-portrait,.poet-profile-content{z-index:1;position:relative}.poet-profile-portrait{justify-content:center;align-items:flex-end;padding:30px 24px 0;display:flex}.poet-profile-portrait img{object-fit:contain;object-position:bottom center;filter:drop-shadow(0 18px 24px #24312f2e);width:min(100%,380px);max-height:min(590px,100vh - 260px)}.poet-profile-content{color:#24312f;padding:clamp(34px,5vw,70px) clamp(34px,5vw,74px) clamp(30px,4vw,58px) 12px}.poet-profile-dynasty{color:#2e756b;font-size:1rem;font-weight:900;display:block}.poet-profile-content h1{color:#102f2a;letter-spacing:0;margin:4px 0 2px;font-size:clamp(3.5rem,7vw,6.6rem);line-height:1}.poet-profile-courtesy{color:#6b4a1d;margin:0;font-size:clamp(1.2rem,2vw,1.55rem);font-weight:900}.poet-profile-divider{background:linear-gradient(90deg,#6b4a1da3,#6b4a1d14);width:min(520px,100%);height:1px;margin:24px 0}.poet-profile-bio{color:#334c47;max-width:720px;margin:0;font-size:clamp(1.08rem,1.45vw,1.32rem);font-weight:700;line-height:1.9}.poet-profile-content h2{color:#17342f;margin:0 0 14px;font-size:clamp(1.45rem,2.2vw,2rem)}.poet-poem-list{flex-wrap:wrap;gap:12px 20px;display:flex}.poet-poem-link{color:#6b4a1d;background:0 0;border:0;padding:0;font-family:KaiTi,楷体,STKaiti,serif;font-size:clamp(1.1rem,1.6vw,1.32rem);font-weight:900}button.poet-poem-link{cursor:var(--cursor-brush)}button.poet-poem-link:hover,button.poet-poem-link:focus-visible{color:#9b6426;text-shadow:0 0 7px #f5cf76f2,0 0 14px #daa646a6}.poem-card-gallery{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.poem-gallery-card{background:#fffdf8;border:1px solid #35564e29;border-radius:8px;grid-template-rows:minmax(0,1fr) auto;min-height:220px;display:grid;overflow:hidden;box-shadow:0 14px 30px #24312f1a}.poem-gallery-card img{object-fit:cover;width:100%;height:100%;min-height:170px}.poem-gallery-card strong{color:#172521;text-align:center;padding:12px 14px;font-size:1.28rem;display:block}.admin-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.admin-stats article{padding:18px}.admin-stats strong{color:#172521;font-size:2rem;display:block}.admin-stats span{color:#61726d}.admin-table{gap:10px;margin-bottom:14px;display:grid}.admin-table article{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.admin-table strong,.admin-table span{display:block}.admin-table span{color:#61726d}.admin-screen pre{color:#24312f;padding:18px;overflow:auto}.practice-screen{isolation:isolate;grid-template-rows:auto minmax(0,1fr);gap:10px;width:min(1480px,100%);height:100%;min-height:0;margin:0 auto;padding:clamp(14px,2vh,22px) clamp(10px,1.4vw,20px) 0;display:grid;position:relative;overflow:hidden}.practice-screen:before{content:"";z-index:-2;background:var(--practice-tunnel-bg) center / cover no-repeat;opacity:.22;filter:saturate(.92)sepia(.08);position:absolute;inset:-18px}.practice-screen:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle at 16% 100%,#fff8dfc7,#0000 28%),radial-gradient(circle at 86% 100%,#eef5eab8,#0000 30%),linear-gradient(#fffdf8ad,#f0e9d16b);position:absolute;inset:0}.practice-header{z-index:2;text-align:center;place-items:center;display:grid;position:relative}.practice-header h1{color:#17342f;font-family:var(--font-lishu);margin:0;font-size:clamp(2rem,4vw,3.4rem);font-weight:900}.practice-entry-row{z-index:2;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;width:min(980px,100%);margin:0 auto;display:grid;position:relative}.practice-entry-row button{color:#4b321e;text-align:left;background:linear-gradient(#fffdf8e6,#efe2bed1);border:1px solid #7d5c303d;border-radius:8px;grid-template-rows:auto auto;grid-template-columns:42px minmax(0,1fr);align-content:center;align-items:center;gap:2px 8px;min-height:56px;padding:6px 9px;display:grid;box-shadow:inset 0 0 0 1px #fffdf89e,0 10px 22px #4c3a231a}.practice-entry-row button.active{background:linear-gradient(#fff8dff5,#e7d3a2e6);border-color:#a8753175;box-shadow:inset 0 0 0 1px #fffdf8bd,0 0 0 3px #d0ac5c29,0 12px 24px #664a2721}.practice-entry-row strong{font-size:1rem}.practice-entry-row span{color:#6f7a72;font-size:.84rem}.practice-entry-row button:before{content:"";background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:12px;grid-row:1/3;width:38px;height:38px;box-shadow:0 8px 16px #4e3a2429}.practice-entry-row button:first-child:before{background-image:url(/content/assets/images/ui/practice-icon-base-v1.png)}.practice-entry-row button:nth-child(2):before{background-image:url(/content/assets/images/ui/practice-icon-album-v1.png)}.practice-entry-row button:nth-child(3):before{background-image:url(/content/assets/images/ui/practice-icon-wrongbook-v1.png)}.practice-entry-row button:nth-child(4):before{background-image:url(/content/assets/images/ui/practice-icon-mastered-v1.png)}.practice-entry-row button:nth-child(5):before{background-image:url(/content/assets/images/ui/practice-icon-records-v1.png)}.practice-entry-row button strong,.practice-entry-row button span{grid-column:2}.practice-entry-row button strong{font-size:.95rem}.practice-entry-row button span{font-size:.74rem}.practice-frame-shell{z-index:1;min-height:0;box-shadow:none;background:0 0;border:0;border-radius:8px;position:relative;overflow:hidden}.practice-frame-shell:after{content:"";z-index:2;background:linear-gradient(180deg, #fffdf8d6, #f0e8d0b8), var(--practice-tunnel-bg);opacity:1;pointer-events:none;background-position:50%;background-size:cover;border-radius:8px;transition:opacity .26s;position:absolute;inset:0}.practice-frame-shell.is-ready:after{opacity:0}.practice-frame-shell iframe{opacity:0;background:0 0;border:0;width:100%;height:100%;transition:opacity .26s;display:block}.practice-frame-shell.is-ready iframe{opacity:1}.practice-frame-placeholder{min-height:0}.practice-companions{z-index:3;pointer-events:none;position:absolute;inset:0}.practice-standee{object-fit:contain;filter:drop-shadow(0 14px 20px #2c231938);-webkit-user-select:none;user-select:none;width:auto;position:absolute;bottom:clamp(-10px,-1vh,0px)}.practice-player-standee{height:clamp(150px,24vh,275px);left:clamp(-32px,-2.6vw,-8px)}.practice-qingling-standee{height:clamp(130px,22vh,250px);right:clamp(-34px,-2.8vw,-8px)}.game-screen{isolation:isolate;align-content:start;justify-items:center;gap:clamp(20px,3vh,34px);min-height:100%;padding:clamp(30px,5vh,64px) clamp(18px,4vw,58px);display:grid;position:relative;overflow:auto}.game-screen:before{content:"";z-index:-1;background:radial-gradient(circle at 10% 18%,#c4ddcd80,#0000 28%),radial-gradient(circle at 90% 80%,#e1ca906b,#0000 30%),linear-gradient(155deg,#fffdf8c7,#ede8d199);position:absolute;inset:0}.game-header{text-align:center;width:min(760px,100%)}.game-header .eyebrow{color:#8c6a35;margin-bottom:8px}.game-header h1{color:#17342f;font-family:var(--font-lishu);margin:0;font-size:clamp(2.1rem,4vw,3.5rem);line-height:1.12}.game-header>p:last-child{color:#66756e;margin:12px 0 0;font-size:clamp(.95rem,1.6vw,1.08rem)}.game-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,22px);width:min(1080px,100%);display:grid}.game-card{color:#4b321e;text-align:left;background:linear-gradient(135deg,#fffef9f5,#eee0b8e6);border:1px solid #7d5c304d;border-radius:10px;grid-template-rows:1fr auto;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:14px 16px;min-height:190px;padding:28px 24px 20px;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 4px #fffcf09e,0 16px 34px #4c3a231f}.game-card:after{content:"";pointer-events:none;border:1px solid #ac7c362e;border-radius:6px;position:absolute;inset:7px}.game-card:hover{border-color:#97682a8a;transform:translateY(-4px);box-shadow:inset 0 0 0 4px #fffcf0b8,0 20px 40px #4c3a232e}.game-card:focus-visible{outline-offset:3px;outline:3px solid #2f756a57}.game-card.selected{background:linear-gradient(135deg,#fbfff7fa,#dce9c9eb);border-color:#2f756aa3;box-shadow:inset 0 0 0 4px #fffdf1c2,0 0 0 3px #2f756a1f,0 20px 40px #3c53412e}.game-card-number{color:#684c2b47;letter-spacing:.14em;font-family:Georgia,serif;font-size:.76rem;position:absolute;top:16px;right:18px}.game-card-icon{z-index:1;color:#86612e;background:#fffae7c7;border:1px solid #996b3142;border-radius:50%;place-items:center;width:66px;height:66px;display:grid;position:relative;box-shadow:inset 0 0 0 5px #ceaf701f}.game-card.selected .game-card-icon{color:#2f756a;background:#eef8e5db;border-color:#2f756a4d}.game-card-icon svg{stroke-width:1.8px;width:32px;height:32px}.game-card-copy{z-index:1;gap:8px;display:grid;position:relative}.game-card-copy strong{font-family:var(--font-lishu);font-size:clamp(1.45rem,2.5vw,2rem);line-height:1}.game-card-copy>span{color:#68736b;font-size:.9rem;line-height:1.55}.game-card-action{z-index:1;color:#8a6837;grid-column:1/-1;justify-self:end;font-size:.84rem;font-weight:800;position:relative}.game-card.selected .game-card-action{color:#2f756a}.game-selection-status{color:#0000;text-align:center;min-height:24px;margin:-8px 0 0;font-weight:800;transition:color .18s}.game-selection-status.visible{color:#4b655e}.game-points-awarded{color:#9a4936;margin-top:4px;font-size:.82em;display:block}.bottom-nav{background:#fffdf8f5;border-top:1px solid #24312f1a;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:10px clamp(12px,3vw,28px);display:grid}.bottom-nav button{color:#53645f;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:52px;font-weight:900;display:inline-flex}.bottom-nav button.active{color:#fffdf8;background:#2e756b}@media (width<=980px){.top-bar{flex-wrap:wrap}.top-section-nav{order:3;width:100%;min-width:0}.profile-settings-layout{grid-template-columns:minmax(220px,.68fr) minmax(430px,1.32fr);gap:10px}.profile-progress-grid{grid-template-columns:minmax(0,1fr)}.practice-entry-row{grid-template-columns:repeat(3,minmax(0,1fr))}.game-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.poet-profile-panel{grid-template-columns:1fr}.poet-profile-portrait{max-height:360px}.poet-profile-content{padding:24px}.poet-profile-content h1{font-size:clamp(3rem,14vw,4.8rem)}.lesson-layout{grid-template-columns:1fr}.recitation-mode .lesson-layout{grid-template-columns:minmax(340px,35%) minmax(0,1fr);gap:10px;height:100%;min-height:0}.recitation-poem-scroll{height:100%;min-height:0;padding:clamp(78px,10vh,108px) clamp(82px,8vw,112px)}.recitation-mode .lesson-workspace,.recitation-stage{min-height:0}.recitation-stage{grid-template-rows:minmax(0,1fr) auto}.onboarding{background-position:62%;justify-content:center;align-items:start}.avatar-section{grid-template-columns:repeat(5,minmax(0,1fr))}.map-screen{height:100%;min-height:0}.map-scroll{height:100%;min-height:100%}.poem-panel{min-height:430px}.poem-story-stage{min-height:620px}.poem-story-standee{max-width:min(42vw,420px);height:min(66vh,470px)}.poem-story-standee.actor-qingling{height:min(44vh,320px)}.poem-story-standee.actor-ouyangXiu,.poem-story-standee.actor-yingzhouBoatman{max-width:min(56vw,560px);bottom:-6px}.poem-story-standee.actor-tavernKeeper{max-width:min(60vw,610px);bottom:-8px}.poem-story-standee.actor-suShi,.poem-story-standee.actor-qiliBoatman,.poem-story-standee.actor-daiXuan,.poem-story-standee.actor-zhangJi,.poem-story-standee.actor-changmenBoatwoman,.poem-story-standee.actor-mountainTempleMonk,.poem-story-standee.actor-fisherElder,.poem-story-standee.actor-citrusGardenBoy{max-width:min(62vw,640px);height:min(74vh,518px);bottom:-48px}.poem-story-standee.actor-duFu,.poem-story-standee.actor-aqing,.poem-story-standee.actor-huangTingjian,.poem-story-standee.actor-bambooFarmerA,.poem-story-standee.actor-bambooFarmerB,.poem-story-standee.actor-shanxiVillageElder{max-width:min(64vw,650px);height:min(74vh,518px);bottom:-48px}.poem-story-standee.actor-luYou{max-width:min(70vw,760px);height:min(82vh,572px);max-height:84%;bottom:-102px}.poem-story-standee.actor-zhangXian,.poem-story-standee.actor-zhangOldServant,.poem-story-standee.actor-xinQiji,.poem-story-standee.actor-xinQijiOld,.poem-story-standee.actor-caoCao,.poem-story-standee.actor-linanLanternElder,.poem-story-standee.actor-carriageMaid,.poem-story-standee.actor-snowWillowWoman,.poem-story-standee.actor-wuWenying,.poem-story-standee.actor-huaianOldBoatman{max-width:min(64vw,650px);height:min(72vh,504px);max-height:78%;bottom:-22px}.poem-story-standee.actor-huaianWharfClerk{width:min(60vw,430px);max-width:none;height:min(65vw,464px);max-height:78%;bottom:-22px}.poem-story-standee.actor-huaianWharfClerk.right{right:-24px}.poem-story-standee.actor-yanShengsun,.poem-story-standee.actor-changE{max-width:min(52vw,520px);height:min(66vh,470px);max-height:78%;bottom:-8px}.poem-story-standee.actor-yanShengsun.right,.poem-story-standee.actor-changE.right{right:-28px}.poem-story-standee.actor-liuYuxi,.poem-story-standee.actor-zhouDaniang{max-width:min(46vw,460px);height:min(58vh,430px);max-height:72%;bottom:-6px}.poem-story-standee.actor-liuYuxi.right{right:clamp(40px,5vw,50px)}.poem-story-standee.actor-zhouDaniang.right{right:clamp(16px,3vw,34px)}.poem-story-standee.actor-liBai,.poem-story-standee.actor-xieTiao,.poem-story-standee.actor-xieTiaoReal,.poem-story-standee.actor-shenZhubu,.poem-story-standee.actor-sangBo{max-width:min(46vw,440px);height:min(56vh,410px);max-height:68%;bottom:-5px}.poem-story-standee.actor-liBai.right,.poem-story-standee.actor-xieTiao.right,.poem-story-standee.actor-xieTiaoReal.right,.poem-story-standee.actor-shenZhubu.right,.poem-story-standee.actor-sangBo.right{right:clamp(16px,3vw,36px)}.poem-story-standee.actor-duFu.right{right:0}.poem-story-standee.actor-aqing.right{right:clamp(4px,1.4vw,18px)}.poem-story-standee.actor-huangTingjian.right,.poem-story-standee.actor-bambooFarmerA.right,.poem-story-standee.actor-bambooFarmerB.right,.poem-story-standee.actor-luYou.right,.poem-story-standee.actor-shanxiVillageElder.right,.poem-story-standee.actor-zhangXian.right,.poem-story-standee.actor-zhangOldServant.right,.poem-story-standee.actor-xinQiji.right,.poem-story-standee.actor-xinQijiOld.right,.poem-story-standee.actor-caoCao.right,.poem-story-standee.actor-linanLanternElder.right,.poem-story-standee.actor-carriageMaid.right,.poem-story-standee.actor-snowWillowWoman.right,.poem-story-standee.actor-wuWenying.right,.poem-story-standee.actor-huaianOldBoatman.right{right:clamp(2px,.8vw,12px)}.poem-story-standee.actor-daiXuan.right,.poem-story-standee.actor-zhangJi.right,.poem-story-standee.actor-changmenBoatwoman.right,.poem-story-standee.actor-mountainTempleMonk.right,.poem-story-standee.actor-fisherElder.right,.poem-story-standee.actor-citrusGardenBoy.right{right:clamp(-92px,-6vw,-54px)}.poem-story-standee.actor-citrusGardenBoy.right{right:clamp(6px,1.8vw,20px)}.poem-story-standee.actor-ouyangXiu.right,.poem-story-standee.actor-yingzhouBoatman.right{right:clamp(-112px,-8vw,-64px)}.poem-story-standee.actor-tavernKeeper.right{right:clamp(-126px,-9vw,-72px)}}@media (width<=640px) and (orientation:portrait){.top-bar{flex-direction:column;align-items:flex-start}.top-section-nav{justify-content:space-between;gap:12px}.top-section-nav button{font-size:1.12rem}.profile-screen{gap:8px;padding:10px 8px}.profile-screen:before{inset:7px}.profile-settings-layout{grid-template-columns:minmax(150px,.62fr) minmax(0,1.38fr);gap:7px}.profile-progress-grid{grid-template-columns:minmax(0,1fr)}.profile-page-heading h1{font-size:clamp(1.6rem,7vw,2.2rem)}.profile-panel-heading,.profile-progress-heading{flex-direction:row;align-items:flex-end;gap:4px}.profile-panel-heading>span,.profile-progress-heading>span{white-space:normal}.profile-standee-button{height:auto;min-height:clamp(180px,30vh,260px)}.profile-avatar-picker{grid-template-columns:repeat(4,minmax(0,1fr))}.profile-avatar-picker button{text-align:center;justify-items:center;display:grid}.profile-avatar-picker img{width:32px;height:32px}.profile-avatar-picker button span{text-overflow:initial}.profile-inline-form{grid-template-columns:1fr 1fr}.profile-inline-form input{grid-column:1/-1}.profile-phone-form{padding:6px}.practice-entry-row{grid-template-columns:repeat(2,minmax(0,1fr))}.game-screen{padding:26px 14px 34px}.game-card-grid{grid-template-columns:1fr}.game-card{min-height:160px}.stat-strip,.voice-actions,.stage-footer{width:100%}.stat-strip span,.voice-actions button,.stage-footer button{flex:1}.choice-grid,.line-bank,.admin-stats{grid-template-columns:1fr}.onboarding{background-position:58%;min-height:100svh;padding:18px}.onboarding-dialog{margin-left:0;padding:0}.onboarding h1{font-size:clamp(2.8rem,15vw,4rem)}.avatar-section{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.avatar-choice{text-align:left;grid-template-columns:60px minmax(0,1fr);justify-items:start;min-height:86px}.avatar-choice img{width:60px;height:60px}.avatar-choice span{text-align:left}.login-actions{align-items:flex-start;width:100%;margin-top:2px}.guest-mode-note{font-size:.88rem}.onboarding-guest-button{padding-left:0;font-size:1rem}.account-access-dialog{gap:15px;padding:30px 20px 24px}.account-access-heading{padding-right:30px}.account-access-heading h1,.account-access-success h1{font-size:clamp(2rem,10vw,2.65rem)}.account-captcha-row,.account-sms-row{grid-template-columns:minmax(0,1fr) 118px;gap:8px}.captcha-challenge,.account-sms-row>button{font-size:.86rem}.captcha-challenge{gap:5px}.captcha-challenge span{font-size:1.08rem}.account-mode-tabs button{padding-inline:6px;font-size:.9rem}.energy-account-actions{flex-direction:column;gap:6px}.story-scroll-banner{grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;width:calc(100% - 28px);height:clamp(156px,44vw,224px);padding:clamp(42px,11vw,58px) clamp(42px,12vw,58px) clamp(34px,8.5vw,50px);bottom:10px}.story-scroll-banner:before,.story-scroll-banner:after,.story-scroll-clouds{display:none}.story-speaker{grid-column:1/3;width:fit-content;min-width:0}.story-text{font-size:.96rem}.recitation-mode .lesson-layout{grid-template-columns:minmax(190px,35%) minmax(0,1fr);gap:8px;height:100%;min-height:0}.recitation-poem-scroll{height:100%;min-height:0;padding:88px 48px}.recitation-poem-scroll:before{border-width:78px 42px;border-image-width:78px 42px}.recitation-scroll-lines strong{font-size:clamp(.78rem,2.1vw,.96rem)}.recitation-stage{grid-template-rows:minmax(0,1fr) auto;min-height:0}.recitation-control{padding:12px}.recitation-control textarea{height:42px;min-height:42px;font-size:.96rem}.recitation-actions{grid-template-columns:1fr;display:grid}.recitation-standee{opacity:.72;width:min(34vw,160px);max-height:34%;right:-24px}.poem-story-stage{min-height:600px}.poem-story-title{max-width:calc(100% - 24px);top:12px;left:12px}.poem-story-progress{display:none}.poem-story-standee{max-width:min(48vw,260px);height:min(56vh,340px);max-height:66%;bottom:0}.poem-story-standee.left{left:-18px}.poem-story-standee.right{right:-18px}.poem-story-standee.actor-wangWen{bottom:-38px}.poem-story-standee.actor-donglinElder{bottom:-8px}.poem-story-standee.actor-yangShiSpirit{bottom:-31px}.poem-story-standee.center{max-width:min(58vw,300px);height:min(58vh,360px)}.poem-story-standee.actor-qingling{height:min(42vh,240px)}.poem-story-standee.actor-ouyangXiu,.poem-story-standee.actor-yingzhouBoatman{max-width:min(58vw,330px);bottom:-4px}.poem-story-standee.actor-tavernKeeper{max-width:min(62vw,360px);bottom:-4px}.poem-story-standee.actor-suShi,.poem-story-standee.actor-qiliBoatman,.poem-story-standee.actor-daiXuan,.poem-story-standee.actor-zhangJi,.poem-story-standee.actor-changmenBoatwoman,.poem-story-standee.actor-mountainTempleMonk,.poem-story-standee.actor-fisherElder,.poem-story-standee.actor-citrusGardenBoy{max-width:min(64vw,390px);height:min(64vh,390px);bottom:-32px}.poem-story-standee.actor-duFu,.poem-story-standee.actor-aqing,.poem-story-standee.actor-huangTingjian,.poem-story-standee.actor-bambooFarmerA,.poem-story-standee.actor-bambooFarmerB,.poem-story-standee.actor-shanxiVillageElder{max-width:min(66vw,420px);height:min(64vh,390px);bottom:-32px}.poem-story-standee.actor-luYou{max-width:min(72vw,500px);height:min(70vh,432px);max-height:78%;bottom:-74px}.poem-story-standee.actor-zhangXian,.poem-story-standee.actor-zhangOldServant,.poem-story-standee.actor-xinQiji,.poem-story-standee.actor-xinQijiOld,.poem-story-standee.actor-caoCao,.poem-story-standee.actor-linanLanternElder,.poem-story-standee.actor-carriageMaid,.poem-story-standee.actor-snowWillowWoman,.poem-story-standee.actor-wuWenying,.poem-story-standee.actor-huaianOldBoatman{max-width:min(68vw,430px);height:min(61vh,372px);max-height:72%;bottom:-16px}.poem-story-standee.actor-huaianWharfClerk{width:min(84vw,330px);max-width:none;height:min(90vw,356px);max-height:72%;bottom:-16px}.poem-story-standee.actor-huaianWharfClerk.right{right:-14px}.poem-story-standee.actor-yanShengsun,.poem-story-standee.actor-changE{max-width:min(52vw,300px);height:min(56vh,340px);max-height:66%;bottom:-6px}.poem-story-standee.actor-yanShengsun.right,.poem-story-standee.actor-changE.right{right:-26px}.poem-story-standee.actor-liuYuxi,.poem-story-standee.actor-zhouDaniang{max-width:min(50vw,280px);height:min(50vh,315px);max-height:64%;bottom:-4px}.poem-story-standee.actor-liuYuxi.right{right:24px}.poem-story-standee.actor-zhouDaniang.right{right:12px}.poem-story-standee.actor-liBai,.poem-story-standee.actor-xieTiao,.poem-story-standee.actor-xieTiaoReal,.poem-story-standee.actor-shenZhubu,.poem-story-standee.actor-sangBo{max-width:min(49vw,270px);height:min(48vh,300px);max-height:61%;bottom:-3px}.poem-story-standee.actor-liBai.right,.poem-story-standee.actor-xieTiao.right,.poem-story-standee.actor-xieTiaoReal.right,.poem-story-standee.actor-shenZhubu.right,.poem-story-standee.actor-sangBo.right{right:12px}.poem-story-standee.actor-duFu.right{right:0}.poem-story-standee.actor-aqing.right{right:4px}.poem-story-standee.actor-huangTingjian.right,.poem-story-standee.actor-bambooFarmerA.right,.poem-story-standee.actor-bambooFarmerB.right,.poem-story-standee.actor-luYou.right,.poem-story-standee.actor-shanxiVillageElder.right,.poem-story-standee.actor-zhangXian.right,.poem-story-standee.actor-zhangOldServant.right,.poem-story-standee.actor-xinQiji.right,.poem-story-standee.actor-xinQijiOld.right,.poem-story-standee.actor-caoCao.right,.poem-story-standee.actor-linanLanternElder.right,.poem-story-standee.actor-carriageMaid.right,.poem-story-standee.actor-snowWillowWoman.right,.poem-story-standee.actor-wuWenying.right,.poem-story-standee.actor-huaianOldBoatman.right{right:2px}.poem-story-standee.actor-daiXuan.right,.poem-story-standee.actor-zhangJi.right,.poem-story-standee.actor-changmenBoatwoman.right,.poem-story-standee.actor-mountainTempleMonk.right,.poem-story-standee.actor-fisherElder.right,.poem-story-standee.actor-citrusGardenBoy.right{right:-58px}.poem-story-standee.actor-citrusGardenBoy.right{right:4px}.poem-story-standee.actor-ouyangXiu.right,.poem-story-standee.actor-yingzhouBoatman.right{right:-72px}.poem-story-standee.actor-tavernKeeper.right{right:-82px}.poem-story-dialogue.story-scroll-banner{bottom:10px}.poem-story-dialogue.has-choices{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) auto;row-gap:1px;padding-top:clamp(42px,10.5vw,56px);padding-bottom:clamp(40px,9.5vw,54px)}.poem-story-dialogue.has-choices .story-speaker{grid-area:1/1/2/3}.poem-story-dialogue.has-choices .story-text{grid-area:2/1/3/2;max-height:2.75em}.poem-story-dialogue.has-choices.has-long-prompt .story-text{max-height:3em;font-size:.84rem;line-height:1.36}.poem-story-dialogue.has-choices .story-next-mark{grid-area:2/2/4/3}.poem-story-dialogue.has-choices .poem-story-choice-list{grid-area:3/1/4/2;gap:3px;max-height:none}.poem-story-dialogue.has-choices .poem-story-choice-list.is-two-column{gap:3px;padding-right:10px;display:flex;overflow-y:auto}.poem-story-choice-list.is-two-column .poem-story-choice-inline{white-space:normal;width:100%}.poem-story-choice-inline{font-size:1.02rem}.map-node{width:86px}.map-node img{width:42px;height:42px}.map-node.has-unit img{width:54px;height:54px}.map-node span{width:86px;font-size:.76rem}.map-stage-orbit{gap:4px;padding-bottom:12px;top:-48px;left:50%;transform:translate(calc(-50% - 14px))scaleX(.58)}.map-stage-chip{width:36px;height:36px}.bottom-nav button{flex-direction:column;gap:2px;font-size:.76rem}}.mobile-portrait-guard,.mobile-game-scroll-rail{display:none}@media (orientation:portrait) and (width<=700px) and (hover:none) and (pointer:coarse){html[data-phone-layout=true] .mobile-portrait-guard{z-index:10000;padding:max(24px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));color:#24312f;text-align:center;overscroll-behavior:none;touch-action:none;background:radial-gradient(circle at 20% 18%,#d6bf8052,#0000 34%),radial-gradient(circle at 82% 78%,#80ae9d47,#0000 32%),#eef3ed;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.mobile-portrait-guard-card{background:#fffdf8f5;border:1px solid #35564e29;border-radius:16px;justify-items:center;gap:14px;width:min(100%,360px);padding:32px 24px 28px;display:grid;box-shadow:0 20px 52px #24312f2e}.mobile-portrait-guard-card h1,.mobile-portrait-guard-card p{margin:0}.mobile-portrait-guard-card h1{color:#173a34;font-size:clamp(1.9rem,8vw,2.5rem)}.mobile-portrait-guard-card p{color:#61726d;max-width:17em;font-size:1rem;line-height:1.7}.mobile-portrait-phone{border:4px solid #2e756b;border-radius:11px;width:76px;height:48px;display:block;position:relative;transform:rotate(-8deg);box-shadow:0 8px 18px #2e756b2e}.mobile-portrait-phone:before{content:"";background:#2e756b;border-radius:50%;width:4px;height:4px;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.mobile-portrait-phone i{background:#d0a24d;border-radius:999px;width:22px;height:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}@media (orientation:landscape) and (height<=700px) and (hover:none) and (pointer:coarse){html[data-phone-layout=true]{--mobile-landscape-stage-height:654px}html[data-phone-layout=true],html[data-phone-layout=true] body,html[data-phone-layout=true] #root{scrollbar-gutter:auto;width:100%;max-width:100%;height:auto;min-height:100%;overflow:hidden visible}html[data-phone-layout=true] body{min-width:0;min-height:100svh;overflow-y:auto}html[data-phone-layout=true] #root{min-height:100svh}:is(html[data-phone-layout=true] .app-shell,html[data-phone-layout=true] .app-shell:has(.lesson-screen.recitation-mode)){grid-template-rows:auto auto;width:100%;max-width:none;height:auto;min-height:100svh;overflow:visible}html[data-phone-layout=true] .top-bar{padding:4px max(6px, env(safe-area-inset-right)) 4px max(6px, env(safe-area-inset-left));flex-wrap:nowrap;gap:4px}html[data-phone-layout=true] .player-summary{flex:0 auto;gap:3px}html[data-phone-layout=true] .player-chip{grid-template-columns:30px minmax(0,1fr);gap:4px}html[data-phone-layout=true] .player-chip img{width:30px;height:30px}html[data-phone-layout=true] .player-chip strong{white-space:nowrap;text-overflow:ellipsis;max-width:5em;font-size:.76rem;line-height:1.1;overflow:hidden}html[data-phone-layout=true] .player-chip span,html[data-phone-layout=true] .study-streak{display:none}html[data-phone-layout=true] .top-section-nav{order:initial;justify-content:center;gap:clamp(4px,1.2vw,10px);width:auto;min-width:0}html[data-phone-layout=true] .top-section-nav button{white-space:nowrap;min-height:28px;font-size:clamp(.78rem,1.8vw,.9rem);line-height:1}html[data-phone-layout=true] .stat-strip{flex:none;gap:3px;width:auto}html[data-phone-layout=true] .stat-strip span{white-space:nowrap;gap:3px;min-height:28px;padding-inline:4px;font-size:clamp(.6rem,1.45vw,.68rem)}html[data-phone-layout=true] .sound-toggle{width:30px;height:30px}html[data-phone-layout=true] .sound-toggle img,html[data-phone-layout=true] .sound-toggle svg{width:19px;height:19px}html[data-phone-layout=true] .stat-strip svg{width:14px;height:14px}:is(html[data-phone-layout=true] .app-main,html[data-phone-layout=true] .app-main:has(.profile-screen),html[data-phone-layout=true] .app-main:has(.lesson-screen.recitation-mode),html[data-phone-layout=true] .app-main:has(.lesson-screen.voice-review-mode),html[data-phone-layout=true] .app-main:has(.cat-fishing-game),html[data-phone-layout=true] .app-main:has(.word-poem-game),html[data-phone-layout=true] .app-main:has(.poetry-pancake-game),html[data-phone-layout=true] .app-main:has(.poetry-lantern-game),html[data-phone-layout=true] .app-main:has(.bead-poem-game),html[data-phone-layout=true] .app-main:has(.painting-poetry-game)){width:100%;height:auto;min-height:var(--mobile-landscape-stage-height);overflow:visible}html[data-phone-layout=true] .app-main.map-main,html[data-phone-layout=true] .app-main.practice-main{width:100%;max-width:none;min-height:var(--mobile-landscape-stage-height);overflow:visible}html[data-phone-layout=true] .app-main:has(.lesson-screen.story-mode){padding:0}html[data-phone-layout=true] .lesson-screen,html[data-phone-layout=true] .collection-screen,html[data-phone-layout=true] .admin-screen{width:100%;max-width:none}html[data-phone-layout=true] .lesson-layout{grid-template-columns:minmax(250px,.8fr) minmax(0,1.4fr)}html[data-phone-layout=true] .lesson-layout.story-lesson-layout{grid-template-columns:minmax(0,1fr);gap:0}html[data-phone-layout=true] .lesson-screen.story-mode{z-index:40;width:100dvw;max-width:none;height:100dvh;min-height:0;margin:0;position:fixed;inset:0;overflow:hidden}html[data-phone-layout=true] .story-mode .poem-story-stage{width:100%;height:100%;min-height:100%}html[data-phone-layout=true] .poem-story-dialogue.story-scroll-banner{gap:6px;width:min(72vw,680px);height:clamp(94px,25svh,116px);padding:24px 42px 20px;bottom:5px}html[data-phone-layout=true] .poem-story-dialogue .story-speaker{min-width:42px;font-size:clamp(.68rem,1.8vw,.78rem)}html[data-phone-layout=true] .poem-story-dialogue .story-text,html[data-phone-layout=true] .poem-story-dialogue.has-choices.has-long-prompt .story-text{font-size:clamp(.76rem,2vw,.9rem);line-height:1.3}html[data-phone-layout=true] .poem-story-dialogue .story-next-mark{font-size:1.2rem}html[data-phone-layout=true] .poem-story-dialogue.has-choices{grid-template-columns:minmax(42px,auto) minmax(0,1fr) auto;padding-top:22px;padding-bottom:18px}html[data-phone-layout=true] .poem-story-dialogue.has-choices .story-text{max-height:2.6em}html[data-phone-layout=true] .poem-story-dialogue.has-choices .poem-story-choice-list{gap:1px 7px;padding:1px 3px 0}html[data-phone-layout=true] .poem-story-choice-inline{min-height:22px;padding:2px 6px;font-size:clamp(.68rem,1.8vw,.8rem);line-height:1.22}html[data-phone-layout=true] .lesson-screen.recitation-mode,html[data-phone-layout=true] .lesson-screen.voice-review-mode,html[data-phone-layout=true] .profile-screen,html[data-phone-layout=true] .practice-screen{height:var(--mobile-landscape-stage-height);min-height:var(--mobile-landscape-stage-height)}html[data-phone-layout=true] .app-shell:has(.practice-screen){grid-template-rows:auto auto;height:auto;min-height:100svh;overflow:visible}html[data-phone-layout=true] .app-main.practice-main{height:auto;min-height:var(--mobile-landscape-stage-height);padding:0;overflow:visible}html[data-phone-layout=true] .practice-screen{height:var(--mobile-landscape-stage-height);min-height:var(--mobile-landscape-stage-height);gap:6px;padding:6px 8px 0;overflow:visible}html[data-phone-layout=true] .practice-entry-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;width:100%}html[data-phone-layout=true] .practice-entry-row button{grid-template-rows:auto;grid-template-columns:26px minmax(0,1fr);gap:4px;min-height:40px;padding:3px 5px}html[data-phone-layout=true] .practice-entry-row button:before{border-radius:7px;grid-row:1;width:24px;height:24px}html[data-phone-layout=true] .practice-entry-row button strong{white-space:nowrap;grid-column:2;font-size:clamp(.66rem,1.7vw,.78rem);line-height:1.1}html[data-phone-layout=true] .practice-entry-row button span{display:none}html[data-phone-layout=true] .practice-frame-shell{min-height:0;overflow:hidden}html[data-phone-layout=true] .practice-player-standee{height:clamp(118px,30svh,145px)}html[data-phone-layout=true] .practice-qingling-standee{height:clamp(102px,27svh,132px)}html[data-phone-layout=true] .map-screen,html[data-phone-layout=true] .map-scroll{width:100%;max-width:none;height:var(--mobile-landscape-stage-height);min-height:var(--mobile-landscape-stage-height)}html[data-phone-layout=true] .word-poem-game,html[data-phone-layout=true] .cat-fishing-game,html[data-phone-layout=true] .poetry-pancake-game,html[data-phone-layout=true] .poetry-lantern-game,html[data-phone-layout=true] .bead-poem-game,html[data-phone-layout=true] .painting-poetry-game{height:var(--mobile-landscape-stage-height);min-height:var(--mobile-landscape-stage-height)}html[data-phone-layout=true] .game-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}html[data-phone-layout=true] .mobile-game-scroll-rail{top:50%;right:max(4px, env(safe-area-inset-right));z-index:100;color:#fff;letter-spacing:.08em;touch-action:pan-y;-webkit-user-select:none;user-select:none;writing-mode:vertical-rl;background:#1b453ec2;border:1px solid #ffffffad;border-radius:999px;justify-content:center;align-items:center;width:28px;height:116px;font-size:.68rem;display:flex;position:fixed;transform:translateY(-50%);box-shadow:0 4px 14px #142d2947}}@media (orientation:landscape) and (width<=720px) and (height<=700px) and (hover:none) and (pointer:coarse){html[data-phone-layout=true] .top-bar{padding-inline:max(7px, env(safe-area-inset-left));gap:5px}html[data-phone-layout=true] .player-chip>div>span,html[data-phone-layout=true] .study-streak{display:none}html[data-phone-layout=true] .top-section-nav{gap:8px}html[data-phone-layout=true] .top-section-nav button{font-size:.96rem}html[data-phone-layout=true] .stat-strip span{padding-inline:4px;font-size:.68rem}html[data-phone-layout=true] .stat-strip svg{width:15px;height:15px}}
