.combat-viewport{position:absolute;z-index:20;box-sizing:border-box;min-height:0!important;margin:0;overflow:hidden;display:flex;flex-direction:column;gap:8px;padding:12px max(12px,calc((100% - 720px)/2)) max(8px,env(safe-area-inset-bottom))!important;container-type:size;background:linear-gradient(#e5eee4aa,#f9f4e6ee),url(/game/rewards/base-morning.webp) center/cover!important;color:#294a43}.combat-viewport *{box-sizing:border-box}.combat-viewport>header{flex:none;min-height:38px}.combat-viewport>header h1{font-size:18px;margin:0}.combat-viewport>header button{min-height:40px}.combat-hud{display:flex;align-items:center;gap:10px;flex:none;font-size:12px;padding:0 6px}.combat-hud progress{flex:1;min-width:20px;height:10px;accent-color:#67977b}.combat-stage{position:relative;flex:1 1 220px;min-height:120px;isolation:isolate;overflow:hidden;pointer-events:none}.combat-floor{position:absolute;top:65%;right:4%;bottom:0;left:4%;border-radius:50%;background:radial-gradient(ellipse,#b5cbb180,transparent 70%)}.combat-enemy{position:absolute;left:38%;right:3%;top:0;bottom:8%;transform-origin:55% 85%}.combat-enemy>img:first-child{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 5px 4px #395b462b)}.combat-mage{position:absolute;left:0;bottom:0;width:40%;height:85%}.combat-mage:before{content:"";position:absolute;left:22%;bottom:3%;width:52%;height:5%;border-radius:50%;background:radial-gradient(ellipse,#66746b38,transparent 70%)}.combat-mage>img{position:absolute;width:100%;height:100%;object-fit:contain;object-position:center bottom}.combat-shield{position:absolute;top:8%;right:2%;bottom:8%;left:2%;border-radius:50%;border:2px solid #8cdbd7;background:radial-gradient(ellipse,transparent 50%,#a5ecec60);box-shadow:inset 0 0 12px #d7ffff}.combat-effects{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.combat-charge{position:absolute;left:24%;top:50%;width:26px;height:26px;border:2px solid #fff4bd;border-radius:50%;box-shadow:0 0 12px #a3ebd9;animation:combat-charge .4s both}.combat-bolt{position:absolute;left:26%;top:51%;width:26px;height:9px;border-radius:50%;background:#faffeb;box-shadow:-10px 0 5px #99e1bc,-24px 0 12px #b6d6ed;animation:combat-bolt .3s .16s both}.combat-impact{position:absolute;left:65%;top:42%;width:50px;height:50px;margin:-25px;border:3px solid #3bbda7;border-radius:50%;background:radial-gradient(#fff9cce6,transparent 65%);box-shadow:0 0 15px #99e3d1,inset 0 0 12px #fff5c9;animation:combat-impact .45s .38s both}.combat-impact:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border:2px dashed #c5a65a;border-radius:50%}.combat-spark{position:absolute;left:65%;top:42%;width:5px;height:5px;border-radius:50%;background:#37ab92;box-shadow:0 0 4px #fff4ad;animation:combat-spark .45s .4s both}.playing:not(.effect-miss) .combat-enemy{animation:combat-recoil .45s .36s both}.effect-shield .combat-impact{border-color:#429fb6;box-shadow:0 0 20px #c8fcff}.effect-finish .combat-impact{width:100px;height:100px;margin:-50px;border-width:5px;animation-duration:.8s}.effect-miss .combat-bolt,.effect-miss .combat-impact,.effect-miss .combat-spark{display:none}.effect-miss .combat-charge{background:#c9dbd0;border-color:#d5e7de;animation:combat-fizzle .6s both}.combat-won .combat-enemy{opacity:.4}.combat-commands{flex:0 0 auto;max-height:55%;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:14px!important;margin:0!important;border:1px solid #d4dfcd;border-radius:20px;background:#fffdf4f5}.combat-commands .battle-word h1{font-size:28px;margin:4px 0}.combat-commands .battle-meaning{font-size:18px;margin:0 0 8px}.combat-commands .battle-word-meta{height:30px}.combat-commands .battle-word form{grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;align-items:center}.combat-commands .battle-word label{grid-column:1/-1;margin:0}.combat-commands .battle-word input{grid-column:1;grid-row:2}.combat-commands .battle-word form>.primary-button{grid-column:2;grid-row:2;width:auto;max-width:130px;font-size:14px}.combat-commands .battle-input-hint{grid-column:1/-1;margin:0;min-height:18px;font-size:12px}.combat-commands input{font-size:18px!important;min-height:46px;scroll-margin:4px}.combat-commands .review-page>h1{font-size:16px;margin:0 0 4px}.combat-commands .review-page>p{margin:4px 0;font-size:11px}.combat-commands .review-card{margin:0}.combat-commands .review-page>h1+p+.review-card{margin:0;padding:0;border:0;background:none;box-shadow:none}.combat-commands .review-page>h1+p+.review-card:not(.writing-review) h2{font-size:24px;margin:4px 0 10px}.combat-commands .review-card h2{font-size:20px;margin:4px 0 8px;line-height:1.3}.combat-commands .writing-review{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 8px}.combat-commands .writing-review>h2,.combat-commands .writing-review>.review-feedback,.combat-commands .writing-review>[role=alert]{grid-column:1/-1}.combat-commands .writing-review>input{width:100%;margin:0}.combat-commands .writing-review>.primary-button{width:auto;min-height:46px;font-size:14px;padding:10px}.combat-commands .review-feedback{margin:4px 0 0;min-height:0}.combat-commands .writing-review .review-feedback{height:76px;min-height:76px;overflow:auto;line-height:1.4}.combat-commands .review-feedback-body{display:block;min-height:0;padding:0;font-size:13px}.combat-commands .review-feedback strong{font-size:14px}.combat-commands .review-feedback-body p{margin:4px 0}.combat-commands .review-feedback-action{position:static;min-height:0;padding:4px 0 0;background:none;font-size:12px}.combat-commands .review-feedback-action .primary-button{min-height:40px;padding:8px;box-shadow:none}.combat-details{flex:none;max-height:25%;overflow:auto;font-size:12px}.combat-details summary{cursor:pointer;padding:6px 10px;min-height:30px}.combat-details .boss-loot{margin:8px auto}.combat-details .boss-loot>div{width:42px;height:42px}.combat-details .boss-companions,.combat-details .boss-fragment-reward{margin:8px auto}.combat-viewport .boss-answer{max-width:none;margin:0}.combat-viewport .boss-answer label{font-size:20px;margin-bottom:8px}.combat-viewport .boss-answer p{min-height:23px;margin:4px 0 0;font-size:16px}.combat-viewport .boss-error{flex:none;margin:0;padding:5px 10px;font-size:12px;max-height:65px;overflow:auto}.combat-viewport .battle-word-list{flex:none;max-height:20%;overflow:auto;margin:0}.combat-viewport .boss-victory{inset:auto;position:relative;animation:none}.combat-viewport .boss-victory h2{font-size:22px;margin:6px}.combat-viewport .boss-victory p{margin:4px}@container (max-height:560px){.combat-viewport>header h1,.battle-header>div{font-size:12px}.combat-viewport>header small,.combat-viewport>header span{display:none}.combat-stage{min-height:90px;flex-basis:130px}.combat-commands{max-height:58%;padding:8px 10px!important;border-radius:14px}.combat-commands .battle-word-meta{display:none}.combat-commands .battle-word h1{font-size:23px;margin:0}.combat-commands .battle-meaning{font-size:16px;margin:2px 0 5px}.combat-commands .battle-word label{font-size:10px}.combat-commands .review-page>h1{display:none}.combat-details{max-height:20%}.combat-details:not([open]){display:none}}@keyframes combat-charge{0%{opacity:0;transform:scale(.2)}60%{opacity:1;transform:scale(1.4)}to{opacity:0;transform:scale(.6)}}@keyframes combat-bolt{0%{opacity:0;left:26%;top:51%}20%{opacity:1}to{opacity:0;left:65%;top:42%}}@keyframes combat-impact{0%{opacity:0;transform:scale(.2)}20%{opacity:1}to{opacity:0;transform:scale(2.3)}}@keyframes combat-spark{0%{opacity:0;transform:rotate(var(--angle)) translate(0)}15%{opacity:1}to{opacity:0;transform:rotate(var(--angle)) translate(var(--distance))}}@keyframes combat-recoil{0%{transform:none}20%{transform:translate(8px) rotate(3deg)}50%{transform:translate(-3px) rotate(-1deg)}to{transform:none}}@keyframes combat-fizzle{0%{opacity:.7;transform:scale(.7)}to{opacity:0;transform:translateY(10px) scale(1.3)}}@media(prefers-reduced-motion:reduce){.combat-stage *{animation:none!important}.combat-effects{display:none}}.learning-battle{min-height:100dvh;background:linear-gradient(#e6f0ecdd,#f7f4e9 70%),url(/game/rewards/base-morning.webp) center top/cover;color:#294a43;padding:14px max(14px,calc((100vw - 720px)/2)) 30px;box-sizing:border-box}.learning-battle *{box-sizing:border-box}.learning-battle button{cursor:pointer;font:inherit;touch-action:manipulation}.learning-battle button:disabled{cursor:default;opacity:.55}.battle-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.battle-header>div{display:grid;gap:5px;text-align:center;font-size:13px}.battle-header small{font-size:10px;letter-spacing:2px;color:#698778}.battle-header>button{border:1px solid #c8d5c6;background:#fffaf0;border-radius:18px;padding:10px;font-size:12px;color:#355b4d}.battle-arena{height:260px;position:relative;margin:12px 0 0;border-radius:36px;background:radial-gradient(ellipse at 50% 60%,#fffbdbb0,transparent 65%);isolation:isolate}.battle-hp{width:80%;margin:auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;font-size:12px}.battle-hp progress{width:100%;height:12px;accent-color:#719f84;border-radius:10px}.battle-hp progress{-webkit-appearance:none;-moz-appearance:none;appearance:none;overflow:hidden;border:0;background:#dce4ce}.battle-hp progress::-webkit-progress-bar{background:#dce4ce;border-radius:10px}.battle-hp progress::-webkit-progress-value{background:linear-gradient(90deg,#639080,#9fc291);border-radius:10px;transition:width .4s ease}.battle-hp progress::-moz-progress-bar{background:#83ad90;border-radius:10px}.battle-creature{position:absolute;width:195px;height:195px;left:50%;top:30px;margin-left:-97px}.battle-creature>img{height:100%;width:100%;object-fit:contain;filter:drop-shadow(0 6px 5px #627d5733)}.learning-battle.angry .battle-creature>img{filter:drop-shadow(0 0 10px #efd7a5)}.learning-battle.last .battle-creature>img{filter:drop-shadow(0 0 10px #d2acdf)}.battle-hero{position:absolute;width:65px;height:75px;object-fit:contain;bottom:18px;left:5%}.battle-stage{position:absolute;bottom:0;left:22%;right:0;text-align:center;font-size:12px;color:#60796a}.battle-shield{position:absolute;top:5px;right:5px;bottom:5px;left:5px;border:3px solid #b3e4f2aa;border-radius:48%;background:radial-gradient(transparent 50%,#a8deea66);box-shadow:0 0 12px #eaffff;display:grid;place-items:center;font-size:60px;color:#efffff}.battle-damage{position:absolute;top:20px;right:10px;font-size:32px;color:#ae6757;animation:battle-hit .65s ease-out both}.learning-battle.attack .battle-creature>img{animation:battle-recoil .65s ease-out}.learning-battle.attack .battle-hero{animation:battle-cast .65s ease-out}.battle-panel{background:#fffdf4f5;border:1px solid #d9e3ce;border-radius:26px;padding:20px;box-shadow:0 8px 25px #607a5c12;min-width:0}.battle-word-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#829580;font-size:11px;letter-spacing:1px}.battle-word h1{font-size:34px;margin:14px 0 5px;overflow-wrap:anywhere}.battle-word h1 button,.battle-meaning button{background:none;border:0;color:inherit;padding:0;text-align:left}.battle-meaning{font-size:19px;margin:0 0 20px}.battle-word form{display:grid}.battle-word label{font-size:12px;color:#788d7b;margin-bottom:8px}.learning-battle input{font:inherit;font-size:20px;width:100%;min-height:50px;border:1px solid #b4cbb9;border-radius:12px;background:#fffef8;color:#294a43;padding:10px 12px;scroll-margin:22px;box-shadow:none}.learning-battle input:focus{outline:2px solid #84b6a0;outline-offset:2px}.battle-input-hint{min-height:24px;margin:6px 0;font-size:12px;color:#a66a54}.battle-panel .primary-button{background:#3d7160;color:#fffdf3;border:0;border-radius:16px;min-height:46px;width:100%;font-size:16px;padding:12px}.battle-example{display:block;border:0;background:#eef3e4;border-radius:14px;padding:16px;text-align:left;font-size:20px;line-height:1.6;width:100%;color:#365b4d}.battle-example mark{background:#dce8ae;color:inherit;border-radius:4px;font-weight:700}.battle-example-ja{color:#7e8d7b;font-size:14px;line-height:1.7}.battle-audio-error{font-size:12px;color:#7b856d}.battle-panel .app-shell{width:100%;max-width:none;min-height:0;margin:0;padding:0;background:none;box-shadow:none}.battle-panel .review-card{width:100%;min-width:0;padding:0;border:0;background:none;box-shadow:none}.battle-panel .review-page>h1{font-size:22px;margin:0 0 8px}.battle-panel .review-page>p{font-size:12px}.battle-panel .review-card h2{font-size:27px;margin:12px 0}.battle-panel .answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.battle-panel .answer-button{min-width:0;background:#f4f6e8;border:1px solid #d6dfc5;border-radius:14px;padding:12px 8px;min-height:54px;font-size:15px}.battle-panel .writing-review>input{margin-bottom:12px}.battle-panel .review-feedback{min-height:100px;margin-top:12px}.battle-panel .review-feedback-body{min-height:44px;font-size:14px}.battle-panel .review-feedback-action{min-height:46px;font-size:12px}.battle-word-list{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.battle-word-list button{border:1px solid #cbd8c3;background:#fffcee;border-radius:12px;padding:8px 12px}.battle-word-list [aria-current=true]{outline:2px solid #719f84}.battle-victory{text-align:center;display:grid;gap:12px}.battle-victory>small{letter-spacing:3px;color:#9e9258}.battle-victory h1{font-size:23px;margin:4px}.battle-victory>button:not(.primary-button){border:1px solid #cbd8c3;background:#f4f5e8;color:#365b4d;border-radius:14px;padding:12px}@keyframes battle-hit{0%{opacity:1;transform:translateY(5px)}to{opacity:0;transform:translateY(-30px)}}@keyframes battle-recoil{25%{transform:translate(7px) rotate(3deg)}65%{transform:translate(-3px)}}@keyframes battle-cast{40%{transform:translate(12px,-12px) rotate(-8deg)}}@media(max-height:650px){.battle-arena{height:150px}.battle-creature{width:115px;height:115px;top:22px;margin-left:-57px}.battle-hero{width:44px;height:55px}.battle-panel{padding:16px}.battle-meaning{margin-bottom:12px}}@media(prefers-reduced-motion:reduce){.learning-battle *{animation:none!important;transition:none!important}}.shield-shards{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.shield-shards i{position:absolute;left:50%;top:48%;width:25%;height:27%;background:linear-gradient(135deg,#f5ffffe6,#8ecce89c 45%,#799fd244);clip-path:polygon(0 0,100% 25%,35% 100%);transform-origin:0 0;animation:shield-fragment 1.3s cubic-bezier(.15,.65,.25,1) both;filter:drop-shadow(0 0 3px #d9fcff)}.effect-break .combat-shield{animation:shield-collapse 1.3s ease-out both}@keyframes shield-fragment{0%{opacity:0;transform:rotate(var(--angle)) translate(0) scale(.3)}15%{opacity:1}to{opacity:0;transform:rotate(var(--angle)) translate(var(--flight)) rotate(55deg) scale(.35)}}@keyframes shield-collapse{0%{opacity:1;filter:brightness(1)}12%{opacity:1;filter:brightness(2);transform:scale(1.06)}25%,to{opacity:0;transform:scale(1.2)}}.farm-game{position:relative;isolation:isolate;width:100%;height:100dvh;min-height:540px;overflow:hidden;color:#23463a;font-family:Inter,Hiragino Sans,Yu Gothic,sans-serif;background:#edf2e5}.farm-world{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;background:radial-gradient(circle at 15% 0%,#fff9e9 0,transparent 65%),linear-gradient(145deg,#f4f5e8,#e2eee7)}.farm-world:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 57%,#b5cdb321,transparent 58%);pointer-events:none}.farm-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.farm-hud{position:absolute;z-index:20;top:max(15px,env(safe-area-inset-top));left:22px;right:22px;display:flex;gap:12px;align-items:center}.game-round{display:grid;place-items:center;width:50px;height:50px;flex-shrink:0;padding:0;border:1px solid #b5caba;border-radius:50%;background:#fffdf6;color:#38614d;font-size:30px;font-weight:600}.game-round:active,.game-dock button:active,.game-confirm:active{transform:translateY(2px)}.game-level{display:flex;align-items:center;min-width:150px;gap:10px;padding:10px 14px;border:1px solid #d2ddcf;border-radius:24px;background:#fffdf6d9}.game-level-star{display:grid;place-items:center;flex-shrink:0;color:#38614d;font-family:Georgia,serif;font-size:23px;font-weight:700}.game-level>div{display:grid;gap:3px;flex:1;min-width:0}.game-level strong{max-width:160px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:13px}.game-level small{font-size:10px;text-align:center}.game-level progress{display:block;width:100%;height:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:8px;overflow:hidden;background:#e3e8d9}.game-level progress::-webkit-progress-bar{background:#e3e8d9}.game-level progress::-webkit-progress-value{background:#86a58d;border-radius:8px}.game-seeds{margin-left:auto;display:flex;gap:8px;align-items:center;min-width:82px;padding:9px 16px;border-radius:24px;background:#fffdf6d9;border:1px solid #d2ddcf;font-size:23px}.game-seeds b{font-size:20px}.farm-title{position:absolute;top:112px;left:24px;right:24px;margin:0;text-align:center;color:#23463a;font-family:Georgia,Yu Mincho,serif;font-size:clamp(24px,4vw,36px);letter-spacing:.04em;overflow-wrap:anywhere}.farm-field{position:absolute;top:170px;bottom:115px;left:50%;transform:translate(-50%);width:min(640px,calc(100% - 32px));display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(140px,1fr));gap:12px;overflow-y:auto;padding:3px}.farm-tile{position:relative;min-width:0;min-height:0}.farm-soil{display:block;position:relative;width:100%;height:100%;background:linear-gradient(120deg,#f4f7df,#e9efd9);border:1px solid #c7d4b8;border-radius:20px;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent;box-shadow:0 3px 8px #3c5b4508}.farm-soil:disabled{opacity:1;cursor:default}.selected .farm-soil{border-color:#719781;box-shadow:inset 0 0 0 1px #719781}.farm-soil:focus-visible{outline:3px solid #719781;outline-offset:-3px}.farm-soil:not(:disabled):hover{background:#f4f7e5}.farm-crop{position:absolute;width:94%;height:calc(100% - 34px);object-fit:contain;left:3%;bottom:22px;pointer-events:none}.farm-sow-mark{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#91aa7e;font-size:32px;font-weight:400}.farm-growth{position:absolute;bottom:12px;left:9%;width:82%;height:5px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:8px;overflow:hidden;background:#dae3cc}.farm-growth::-webkit-progress-bar{background:#dae3cc}.farm-growth::-webkit-progress-value{background:#86a17b;border-radius:8px}.farm-growth::-moz-progress-bar{background:#86a17b;border-radius:8px}.farm-bubble{position:absolute;top:8px;right:7px;display:grid;place-items:center;min-width:30px;height:34px;padding:2px 7px;border-radius:16px 16px 16px 3px;background:#fff7d9;border:2px solid #ba9559;box-shadow:0 3px #6f563e44;font-size:21px;pointer-events:none}.farm-bubble small{font-size:12px;font-weight:900}.farm-bubble.ready{background:#ffdc62;border-color:#fff3b5}.game-angel{position:absolute;top:103px;right:22px;width:45px;height:auto;object-fit:contain;pointer-events:none;filter:drop-shadow(0 5px 4px #414b273b)}.game-dock{position:absolute;z-index:20;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);display:flex;gap:15px}.game-dock button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:74px;height:74px;border-radius:24px;border:1px solid #b5caba;background:#fffdf6ed;color:#38614d;box-shadow:0 5px 16px #3c5b4509}.game-dock button span{font-size:30px;line-height:1.1}.game-dock button small{font-size:11px;font-weight:800}.farm-tools{position:absolute;z-index:15;bottom:114px;left:50%;transform:translate(-50%);width:min(380px,calc(100% - 30px));padding:12px 16px;border:1px solid #b5caba;border-radius:22px;background:#fffdf6f5;box-shadow:0 8px 24px #3c5b4514}.farm-tools-heading{display:flex;align-items:center;gap:10px;font-size:12px}.farm-tools-heading strong{flex:1}.farm-tools-heading span{color:#698174;white-space:nowrap}.farm-tools-heading button{width:28px;height:28px;border:0;background:transparent;font-size:23px;color:#698174}.farm-tool-buttons{display:flex;gap:8px;justify-content:center;padding-top:5px}.farm-tool-buttons button,.game-confirm{min-height:44px;padding:10px 22px;border-radius:999px;border:1px solid #38614d;background:#38614d;color:#fff;font-weight:800}.farm-growing{padding:8px;color:#698174}.farm-error{position:absolute;z-index:30;top:95px;left:50%;transform:translate(-50%);width:min(440px,calc(100% - 30px));padding:12px 18px;background:#fff1df;color:#8e4536;border-radius:16px;box-shadow:0 4px 12px #57402b33;font-size:13px}.farm-notice{position:absolute;z-index:25;top:30%;left:50%;transform:translate(-50%);font-size:32px;font-weight:900;color:#fff6b5;text-shadow:0 2px 0 #856129,0 0 8px #71502a;pointer-events:none;display:flex;align-items:center}.farm-notice img{width:60px;height:60px;object-fit:contain}.game-loading{position:absolute;top:40%;width:100%;text-align:center;color:#698174}.farm-modal-backdrop{position:absolute;box-sizing:border-box;z-index:1000;display:grid;place-items:center;padding:18px 14px;background:#223a3255}.farm-dialog-active{pointer-events:none}.farm-dialog-active *,.farm-dialog-active *:before,.farm-dialog-active *:after{animation-play-state:paused!important}.farm-dialog{position:relative;box-sizing:border-box;overflow:auto;margin:0;border:1px solid #b5caba;border-radius:26px;background:#fffdf6;color:#23463a;padding:35px 25px 25px;width:min(460px,calc(100% - 28px));max-height:calc(var(--farm-viewport-height, 100dvh) - 36px);box-shadow:0 18px 55px #3c5b452b}.farm-dialog-close{position:absolute;right:10px;top:8px;width:36px;height:36px;border:1px solid #b5caba;border-radius:50%;background:#f0f4ea;color:#38614d;font-size:26px}.farm-dialog h2{font-size:22px;text-align:center;margin:10px 0 20px;overflow-wrap:anywhere}.farm-dialog input{width:100%;margin:8px 0 20px;padding:13px;border:1px solid #b5caba;border-radius:14px;background:#fffdf4;color:#23463a;font-size:21px}.game-question-icon{display:block;text-align:center;font-size:38px}.farm-dialog form>button{width:100%}.farm-answer-feedback{text-align:center;color:#a25235;font-size:23px;margin:0 0 18px;height:2.5rem;line-height:2.5rem;white-space:nowrap;overflow:auto}.farm-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.farm-catalog figure{margin:0;text-align:center}.farm-catalog img{width:100%;aspect-ratio:1;object-fit:contain}.farm-catalog figcaption{font-size:12px}.farm-catalog small{display:block;color:#698174;margin:5px}.farm-player-list{display:grid;gap:8px;margin:15px 0}.farm-player-list button{display:flex;align-items:center;gap:12px;min-height:60px;border:0;border-bottom:1px solid #d2ddcf;background:transparent;color:#38614d;text-align:left}.farm-player-list button>span{font-size:30px}.farm-player-list strong{flex:1;overflow-wrap:anywhere}@media(max-width:600px){.farm-hud{left:10px;right:10px;gap:7px}.game-round{width:39px;height:39px;font-size:25px;border-width:1px}.game-level{min-width:128px;padding-right:10px}.game-level-star{font-size:18px}.game-level strong{max-width:100px;font-size:11px}.game-seeds{min-width:58px;padding:7px 9px;gap:3px;font-size:18px}.game-seeds b{font-size:16px}.farm-field{top:150px;bottom:105px;width:calc(100% - 20px);gap:8px}.farm-title{top:104px;font-size:23px}.farm-bubble{top:7px;right:6px;min-width:25px;height:28px;font-size:17px;padding:1px 4px}.farm-bubble small{font-size:10px}.game-dock{gap:12px}.game-dock button{width:65px;height:66px;border-radius:19px}.game-angel{top:98px;right:6px;width:32px}.farm-tools{bottom:106px}}@media(prefers-reduced-motion:no-preference){.game-angel{animation:game-float 4s ease-in-out infinite}.farm-bubble.ready{animation:game-bounce 2s ease-in-out infinite}.farm-notice{animation:game-reward 3s ease-out both}@keyframes game-float{50%{translate:0 -6px}}@keyframes game-bounce{50%{translate:0 -4px}}@keyframes game-reward{0%{opacity:0;translate:0 20px}15%,70%{opacity:1}to{opacity:0;translate:0 -45px}}}.crop-opaque{mix-blend-mode:multiply;-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 55%,#000 48%,transparent 100%);mask-image:radial-gradient(ellipse 50% 50% at 50% 55%,#000 48%,transparent 100%)}.farm-friend-progress{position:relative;z-index:3;text-align:center;color:#557868;font-size:14px;margin:4px auto 8px}.farm-friend-progress button{margin-left:10px;border:1px solid #a9bd9e;background:#fff9e9;border-radius:16px;padding:8px;color:inherit}.farm-tools .farm-tool-buttons{flex-wrap:wrap}.is-visiting .farm-friend-progress{position:absolute;top:155px;left:12px;right:12px;margin:0;display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.is-visiting .farm-field{top:205px}@media(max-width:600px){.is-visiting .farm-friend-progress{top:139px;font-size:12px}.is-visiting .farm-field{top:190px}}.moon-farm{max-width:min(100%,68dvh);margin-inline:auto;background:#142746;color:#fff6db}.moon-farm .farm-world{background:#152845}.reward-garden{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;overflow:hidden}.garden-base,.garden-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.garden-overlay{animation:garden-appear 1.2s ease-out}.moon-farm .farm-field{top:39%;bottom:auto;height:38%;left:12%;width:76%;transform:none;padding:0;gap:8px;grid-template-rows:repeat(3,minmax(0,1fr));overflow:visible}.moon-farm .farm-soil{border-radius:13px;background:url(/game/rewards/soil-light.webp) center 86%/100% 54% no-repeat;border:0;box-shadow:none}.moon-farm .farm-soil:not(:disabled):hover{background:url(/game/rewards/soil-light.webp) center 86%/100% 54% no-repeat;filter:brightness(1.06)}.moon-farm .selected .farm-soil{outline:2px solid #fff6af;filter:drop-shadow(0 0 6px #eccc82)}.moon-farm .plant-visual{position:absolute;top:66%;left:50%;height:82%;width:auto;aspect-ratio:1;transform:translate(-50%,-87.5%);pointer-events:none;isolation:isolate}.moon-farm .plant-visual .farm-crop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;z-index:1;pointer-events:none}.plant-shadow{position:absolute;left:50%;top:87.5%;width:38%;height:10%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse,#4541693d,#484c711f 35%,#484c7100 72%);z-index:0;pointer-events:none}.plant-visual[data-growth="1"] .plant-shadow{width:19%;height:6%}.plant-visual[data-growth="2"] .plant-shadow{width:26%;height:8%}.plant-visual[data-growth="3"] .plant-shadow{width:32%;height:9%}.moon-farm .farm-bubble,.moon-farm .farm-growth{z-index:3}.moon-farm .farm-growth{bottom:6px;height:3px;background:#202d31}.moon-farm .farm-title{top:14%;font-size:clamp(18px,3.5vw,28px);color:#fff6db;text-shadow:0 2px 8px #112140}.moon-farm .farm-hud{left:12px;right:12px;gap:7px}.moon-farm .game-level{min-width:0;flex:1;max-width:200px;padding:8px 10px;gap:7px;color:#284d40;background:#fffaf0ed}.moon-farm .game-level-star{font-size:20px}.moon-farm .game-seeds{min-width:0;padding:9px 12px;margin-left:auto;color:#284d40;background:#fffaf0ed}.moon-farm .game-round{width:42px;height:42px}.moon-farm .game-angel{display:none}.moon-farm .game-dock{gap:8px;bottom:max(12px,env(safe-area-inset-bottom))}.moon-farm .game-dock button{width:clamp(48px,14vw,61px);height:59px;border-radius:19px}.moon-farm .game-dock button span{font-size:24px}.moon-farm .farm-tools{bottom:82px}.moon-farm .farm-friend-progress{top:19%;bottom:auto;color:#fff8df;background:#192b51cc;border-radius:15px;padding:6px 10px;max-width:88%;font-size:12px}.moon-farm .farm-bubble{top:1px;right:0;min-width:25px;height:29px;font-size:18px;padding:1px 4px}.moon-farm .farm-sow-mark{color:#eddfb9}.reward-trail{position:absolute;z-index:10;top:max(82px,9%);left:12px;right:12px;display:flex;align-items:center;gap:9px;padding:7px 11px;border:1px solid #e0c68c70;border-radius:16px;background:#192947ce;color:#fff3d0;font-size:11px;min-height:32px}.reward-trail>span:first-child{white-space:nowrap;font-size:15px;font-weight:700}.reward-trail>span:nth-child(2){flex:1;text-align:right}.reward-trail small{font-size:10px}.reward-trail.has-gift{box-shadow:0 0 15px #ffd78c66}.pet-scene,.pet-shadows,.pet-bodies{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.pet-scene{isolation:isolate}.pet-shadows{z-index:0}.pet-bodies{z-index:1}.garden-pet,.pet-facing{position:absolute;width:0;height:0;pointer-events:none}.garden-pet img{position:absolute;display:block;max-width:none;object-fit:contain;pointer-events:none}.pet-ground-shadow{position:absolute;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse,#535774,transparent 72%);pointer-events:none}.reward-collection{color:#28453e}.reward-eyebrow{display:block;text-align:center;letter-spacing:.2em;color:#8b815f;font-size:10px;margin:8px}.reward-collection h2{font-family:Georgia,serif;font-size:23px}.garden-journey{text-align:center;background:#eef1e4;border-radius:20px;padding:15px 8px}.garden-journey>strong{font-size:24px;color:#8b713b}.garden-journey>small{display:block;font-size:12px;margin-top:6px}.decor-journey{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.decor-journey figure{margin:0;min-width:0}.decor-journey img{width:100%;height:80px;object-fit:contain}.decor-journey .locked img{filter:grayscale(.9);opacity:.45}.decor-journey figcaption{font-size:10px}.decor-journey b{display:block;margin-top:4px;color:#967d47}.reward-collection>h3{margin-bottom:5px}.reward-hint{font-size:12px;color:#758375;margin-top:0}.pet-collection{display:grid;gap:14px}.pet-collection article{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid #d8deca;border-radius:23px;background:linear-gradient(130deg,#f5f0fa,#f6f7e8)}.pet-portrait{width:40%;flex-shrink:0;position:relative}.pet-portrait>img{width:100%;aspect-ratio:1;object-fit:contain}.pet-portrait>span{display:block;text-align:center;font-size:8px;letter-spacing:.12em;color:#8b815f}.pet-silhouette{filter:brightness(0) opacity(.18)}.pet-info{flex:1;min-width:0}.pet-info h3{margin:0;font-size:20px}.fragment-count{display:flex;align-items:center;height:36px;color:#6b6aa0}.fragment-count img{width:34px;height:34px;object-fit:contain}.pet-stages{display:flex;gap:4px;margin:5px 0 9px}.pet-stages>span{display:block;width:32px;height:34px;padding:0;background:#fffdf7;border:1px solid #d6d7c5;border-radius:9px;color:#abb3a6}.pet-stages>span[data-current=true]{border:2px solid #9984b5;background:#f5e6ff}.pet-stages img{width:100%;height:100%;object-fit:contain}.pet-info .game-confirm{width:100%;font-size:12px;padding:8px;min-height:40px}.pet-equipped{display:block;color:#6d8064;margin-top:6px;font-size:10px}.reward-boss-link{display:block;margin:15px auto 0;padding:10px 20px;border:1px solid #b8c5b0;border-radius:20px;background:#fafbf2;color:#53694f}.pet-birth{display:flex;align-items:center;flex-direction:column;width:100%;border:1px solid #d1b472;border-radius:22px;background:radial-gradient(circle,#fff9cb,#e7ddf6);color:#66508a;padding:14px;animation:garden-appear .8s ease-out}.pet-birth img{width:180px;height:180px;object-fit:contain}.pet-birth span{font-weight:700}.pet-birth small{font-size:10px}.boss-fragment-reward{display:flex;align-items:center;justify-content:center;gap:12px;background:#f9efda;border:1px solid #dbc591;border-radius:22px;padding:10px;margin:14px auto;max-width:390px;color:#6c5b38}.boss-fragment-reward img{width:55px;height:55px;object-fit:contain}.boss-fragment-reward small{display:block;margin-top:5px}.boss-fragment-reward button{border:0;border-radius:16px;background:#465f51;color:#fff;padding:10px}@keyframes garden-appear{0%{opacity:0;filter:brightness(1.7)}to{opacity:1;filter:brightness(1)}}@media(max-height:740px){.moon-farm .farm-title{display:none}}@media(max-height:650px){.moon-farm .farm-friend-progress{top:21%}.moon-farm .game-dock button{height:48px;width:54px}.moon-farm .farm-tools{bottom:68px}}@media(prefers-reduced-motion:reduce){.garden-pet,.garden-pet img,.garden-overlay,.pet-birth{animation:none!important;transition:none!important}}.moon-farm .crop-opaque{mix-blend-mode:normal}.boss-fragment-reward button{white-space:nowrap;flex-shrink:0}.reward-open>.farm-dialog-close{position:sticky;top:0;float:right;z-index:3}.moon-farm .farm-title{color:#355c4b;text-shadow:0 1px 5px #fff9e5}.moon-farm .reward-trail{background:#fff9e9ed;color:#46624f;border-color:#baa779}.moon-farm .farm-friend-progress{background:#fff9e9ed;color:#46624f}.moon-farm .garden-overlay{filter:brightness(1.1) saturate(.85)}.decor-journey{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.decor-journey img{height:110px}.decor-buy{display:block;min-height:44px;width:100%;border:1px solid #839c72;border-radius:14px;background:#466950;color:#fff;font-size:12px;margin-top:8px;padding:6px}.decor-buy:disabled{background:#e8eadb;color:#657259}.shop-success{display:flex;align-items:center;gap:10px;background:#eef3dc;border-radius:16px;padding:10px;margin-bottom:12px;font-size:13px}.shop-success img{width:64px;height:64px;object-fit:contain}.pet-stages{display:grid;grid-template-columns:repeat(4,44px)}.pet-stages>span{width:44px;height:44px}@media(max-width:480px){.pet-stages{grid-template-columns:repeat(2,44px)}}.garden-rank{display:block;font-size:11px;letter-spacing:.14em;color:#8b815f;margin:4px 0 10px}.garden-hearts{display:block;color:#b87585;font-size:16px;margin:5px}.garden-shop-tabs{display:flex;gap:6px;margin:15px 0 8px}.garden-shop-tabs button{flex:1;border:1px solid #ccd5bd;border-radius:12px;background:#fafbf3;color:#49664f;padding:9px 2px;font-size:12px}.garden-shop-tabs [aria-selected=true]{background:#52785f;color:#fff}.garden-journey .decor-journey{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.garden-journey .decor-journey figure{padding:8px;border-radius:15px;background:#fffdf3}.garden-journey .decor-journey img{height:105px}.garden-journey figcaption small{display:block;color:#78876c;margin-top:4px}.garden-cost{font-size:11px;white-space:normal}.habitat-shop{display:grid;gap:10px}.habitat-shop article{display:flex;align-items:center;background:#fffdf3;border-radius:18px;padding:10px;gap:10px}.habitat-shop img{width:42%;height:110px;object-fit:contain}.habitat-shop article>div{flex:1}.habitat-shop h4{font-size:13px;margin:0 0 8px}.habitat-shop small{display:block;font-size:11px;color:#78876c}.garden-theme-shop{display:grid;grid-template-columns:1fr 1fr;gap:10px}.garden-theme-shop>p{grid-column:1/-1;font-size:12px}.garden-theme-shop button{border:1px solid #cbd8bd;border-radius:16px;background:#fffdf3;padding:8px;color:#526746;overflow:hidden}.garden-theme-shop button[aria-pressed=true]{outline:2px solid #809e79}.garden-theme-shop img{width:100%;height:90px;object-fit:cover;border-radius:10px}.garden-theme-shop small{display:block;font-size:10px;margin:4px}.garden-journey .reward-hint{line-height:1.7;margin:12px 4px 0}.boss-page{min-height:100dvh;box-sizing:border-box;padding:24px max(18px,calc((100vw - 860px)/2)) 40px;background:radial-gradient(ellipse at 50% 35%,#faf4d8 0,#e9f0e3 48%,#d7e8df);color:#30594d;font-family:inherit;overflow-x:hidden}.boss-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.boss-header h1{font-size:clamp(20px,3vw,30px);margin:3px 0}.boss-header span{font-size:11px;letter-spacing:.2em;color:#78968b}.boss-page button{cursor:pointer;border:1px solid #aec2ae;background:#fffbee;color:#30594d;border-radius:24px;padding:12px 22px;font:inherit;font-weight:700}.boss-page button:disabled{opacity:.5;cursor:default}.boss-header button{font-size:24px;padding:6px 17px}.boss-progress{display:flex;align-items:center;gap:18px;max-width:430px;margin:22px auto 0;font-weight:700}.boss-progress progress{flex:1;width:100%;height:9px;accent-color:#729b7a}.boss-arena{position:relative;height:clamp(270px,42vh,440px);max-width:660px;margin:auto;isolation:isolate}.boss-orbit{position:absolute;top:22%;right:6%;bottom:5%;left:6%;background:radial-gradient(ellipse,#fcf5ca88 0,#ffffff44 55%,transparent 70%);border-bottom:2px solid #b7c7a64d;border-radius:50%}.boss-character{position:absolute;top:0;right:17%;bottom:0;left:17%;animation:boss-breathe 4s ease-in-out infinite;transform-origin:50% 85%}.boss-body{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 12px 13px #50784b22)}.boss-treasure{position:absolute;width:21%;height:23%;object-fit:contain;filter:drop-shadow(0 3px 4px #6a552b55)}.treasure-0{left:6%;top:32%}.treasure-1{right:3%;top:32%}.treasure-2{left:38%;top:3%}.treasure-3{left:40%;top:69%}.boss-hero{position:absolute;width:100px;height:110px;object-fit:contain;left:0;bottom:0}.boss-character.is-hit{animation:boss-hit .55s ease-out,boss-breathe 4s .6s ease-in-out infinite}.boss-hero.is-attacking{animation:boss-attack .6s ease-out}.boss-projectile{position:absolute;left:14%;bottom:14%;font-size:45px;color:#ffed9b;filter:drop-shadow(0 0 10px #f2b563);animation:boss-shot .65s ease-out forwards;pointer-events:none}.boss-treasure.is-dropping{animation:boss-drop 1.2s ease-in forwards;z-index:3}.boss-character.is-escaping{animation:boss-hit .5s ease-out,boss-escape .7s 1.25s ease-in forwards}.boss-arena.is-won .boss-character{visibility:hidden}.boss-victory{position:absolute;inset:24% 0 auto;text-align:center;animation:boss-arrive .5s ease-out}.boss-victory>span{letter-spacing:.17em;color:#977741;font-weight:800}.boss-victory h2{font-size:30px}.boss-loot{display:flex;justify-content:center;gap:12px;margin:0 auto 20px}.boss-loot>div{width:65px;height:65px;border-radius:20px;background:#f8f7e3aa;border:1px solid #bfceaf}.boss-loot img{width:100%;height:100%;object-fit:contain;filter:grayscale(1);opacity:.18}.boss-loot .collected{background:#fff3c6;border-color:#dbbb76}.boss-loot .collected img{filter:none;opacity:1}.boss-start{display:block;margin:22px auto!important;background:#355f50!important;color:#fff9df!important}.boss-answer{max-width:500px;margin:0 auto 22px}.boss-answer label{display:block;font-size:21px;font-weight:700;text-align:center;margin-bottom:12px}.boss-answer>div{display:flex;gap:10px}.boss-answer input{min-width:0;flex:1;border:1px solid #a8bcaa;border-radius:18px;background:#fffdf4;padding:13px 16px;font:inherit;font-size:20px;color:#23483c}.boss-answer button{background:#355f50;color:#fff9df}.boss-answer p{text-align:center;font-size:20px;color:#9e624f}.boss-companions{max-width:500px;margin:24px auto 0;border-top:1px solid #b9cbb655;padding-top:14px}.boss-companions h2{font-size:14px;letter-spacing:.12em}.boss-companions>div{display:flex;justify-content:space-between;padding:9px 0;font-size:14px}.boss-companions>p,.boss-empty{text-align:center;color:#738878}.boss-empty{margin:24px auto}.boss-error{padding:12px;background:#fff0e7;border-radius:16px;color:#985b51}.boss-error button{margin-left:10px}.boss-page input:focus-visible,.boss-page button:focus-visible{outline:3px solid #92bfa6;outline-offset:3px}@keyframes boss-breathe{50%{transform:translateY(-7px) scale(1.015)}}@keyframes boss-hit{15%,45%{transform:translate(-8px);filter:brightness(1.3)}30%,60%{transform:translate(8px)}to{transform:none}}@keyframes boss-attack{45%{transform:translate(22px,-12px)}to{transform:none}}@keyframes boss-shot{0%{opacity:0;transform:scale(.3)}20%{opacity:1}to{transform:translate(200px,-160px) scale(1.7);opacity:0}}@keyframes boss-drop{20%{transform:translateY(-20px) rotate(-15deg)}to{transform:translateY(210px) rotate(140deg) scale(.4);opacity:0}}@keyframes boss-escape{20%{transform:translate(-15px) rotate(-5deg)}to{transform:translate(120vw) rotate(15deg);opacity:0}}@keyframes boss-arrive{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(max-width:500px){.boss-page{padding-top:14px}.boss-character{top:0;right:9%;bottom:0;left:13%}.boss-hero{width:74px;height:90px}.boss-header h1{font-size:19px}.boss-loot>div{width:55px;height:55px}.boss-answer label{font-size:19px}.boss-answer button{padding:10px 17px}}@media(prefers-reduced-motion:reduce){.boss-page *{animation:none!important}.boss-character.is-escaping{opacity:0}}:root{font-family:Inter,Hiragino Sans,Yu Gothic,sans-serif;color:#23463a;background:#edf2e5;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 10% 0%,#fff9e9 0,transparent 32rem),linear-gradient(135deg,#edf4e7,#e2eee7)}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,textarea,select{max-width:100%;font:inherit;font-size:16px}input,textarea,select,button{min-width:0}.app-shell{width:min(1180px,calc(100% - 32px));min-height:100vh;margin:0 auto;padding:52px 0}.user-bar{width:min(1180px,calc(100% - 32px));display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 auto;padding:20px 0 0;color:#38614d;font-weight:800}.hero{text-align:center;padding:32px 0 42px}.hero h1{margin:0;font-family:Georgia,serif;font-size:clamp(3rem,9vw,5.8rem);letter-spacing:.05em;color:#244f3e}.hero p{margin:8px 0 0;color:#698174}.eyebrow,.section-label{margin:0;color:#7a9d82;font-size:.72rem;font-weight:800;letter-spacing:.14em}h1,h2,p{margin-top:0}.continue-card,.choice-card,.word-detail,.word-list,.lesson-card,.completion-page{border:1px solid rgba(66,110,83,.12);background:#fffffcd6;box-shadow:0 18px 45px #3c5b451c}.continue-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px;border-radius:24px}.continue-card h2{margin:5px 0 10px;font-size:1.65rem}.progress-copy{margin:0;color:#668075}.primary-button,.secondary-button,.back-button,.audio-actions button{border-radius:999px;padding:12px 19px;font-weight:800}.primary-button{border:0;background:#3e7a5d;color:#fff;box-shadow:0 8px 18px #346c4e3d}.secondary-button,.back-button{border:1px solid #b5caba;background:#fffdf6;color:#38614d}.home-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:20px}.choice-card{min-height:166px;display:grid;align-content:center;gap:8px;padding:22px;border-radius:20px;text-align:left}.choice-card span{color:#82a48b;font-size:.68rem;font-weight:800;letter-spacing:.12em}.choice-card strong{font-size:1.2rem}.choice-card small{color:#718579}.course-choice{border:0;background:#e2f0dd;color:#2d5a45}.muted-card button{justify-self:start;border:0;background:#edf0e8;color:#859187;padding:7px 10px;border-radius:99px}.page-header,.learning-header{display:flex;align-items:center;gap:22px;margin-bottom:28px}.page-header h1,.learning-header h1{margin:4px 0 0;font-size:2rem}.lesson-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.lesson-card{display:grid;gap:6px;padding:18px;border-radius:18px;color:#315844;text-align:left}.lesson-card span{color:#6e9278;font-weight:800}.lesson-card small{color:#637d6b}.lesson-card em{justify-self:start;border-radius:99px;padding:3px 8px;background:#eef2e8;color:#7c8d80;font-size:.75rem;font-style:normal}.status-in_progress em{background:#e5f0db;color:#477655}.status-completed em{background:#d9ecdf;color:#267048}.loading-block,.error-block,.state-page{padding:32px;border-radius:18px;background:#fff9}.text-button{margin-left:8px;border:0;background:transparent;color:#376f54;text-decoration:underline}.error-text,.inline-error,.error-block{color:#a34a3f}.learning-header{justify-content:space-between}.learning-header>div{flex:1}.learning-header>strong{padding:9px 13px;border-radius:99px;background:#e2efe3;color:#4a7459;font-size:.9rem}.learning-layout{display:grid;grid-template-columns:minmax(230px,.58fr) minmax(0,1.42fr);gap:22px}.word-list{max-height:660px;overflow:auto;padding:9px;border-radius:22px}.word-row{width:100%;display:grid;grid-template-columns:42px 1fr 24px;align-items:center;border:0;border-radius:12px;padding:12px 10px;background:transparent;color:#345a47;text-align:left}.word-row span{color:#88a18f;font-size:.82rem}.word-row em{color:#2f8c58;font-style:normal}.word-row.active{background:#e0efdf;color:#1f5c3e}.word-detail{min-height:560px;display:flex;flex-direction:column;padding:clamp(26px,5vw,58px);border-radius:26px}.word-heading h2{margin:10px 0;color:#275940;font-family:Georgia,serif;font-size:clamp(2.8rem,8vw,5rem);line-height:1}.word-heading>p:last-child{color:#526f5e;font-size:1.15rem}.audio-actions{display:flex;gap:10px;margin:24px 0}.audio-actions button{border:1px solid #b7d0bb;background:#f6fbf2;color:#356a4c}.example-card{margin-top:10px;padding:22px;border-radius:18px;background:#f5f1e4}.example-en{margin:9px 0;color:#355b49;font-size:1.12rem;line-height:1.6}.example-ja{margin-bottom:0;color:#718176;line-height:1.6}.learning-actions{display:flex;justify-content:space-between;gap:15px;margin-top:auto;padding-top:32px}.completion-page{display:grid;justify-items:center;align-content:center;gap:16px;min-height:70vh;border-radius:28px;text-align:center}.completion-page h1{margin:0;font-size:3rem;color:#2f654b}.completion-page>p:not(.eyebrow){font-size:1.3rem}.completion-note{color:#688171}.review-page>.page-header>strong{margin-left:auto;padding:9px 13px;border-radius:99px;background:#e2efe3;color:#4a7459}.review-card{width:min(760px,100%);margin:30px auto;padding:clamp(25px,6vw,60px);border:1px solid rgba(66,110,83,.12);border-radius:26px;background:#fffffcdb;box-shadow:0 18px 45px #3c5b451c;overflow-wrap:anywhere}.review-card h2{margin:8px 0 35px;color:#275940;font-family:Georgia,serif;font-size:clamp(3rem,10vw,5.8rem)}.answer-grid{display:grid;gap:12px}.answer-button{border:1px solid #c5d8c4;border-radius:15px;padding:16px;background:#f8fbf4;color:#365c49;text-align:left}.answer-button:hover:not(:disabled){background:#e5f0df}.answer-button.correct{border-color:#3a985b;background:#ddf1e2;color:#176637}.answer-button.wrong{border-color:#cf6a5d;background:#fae4df;color:#9c3e34}.review-card input,.review-card textarea,.review-card select{width:100%;min-height:48px;margin:12px 0;padding:11px 14px;border:1px solid #b7d0bb;border-radius:15px;background:#fffdf6;color:#23463a}.review-card label{display:grid;gap:8px;margin:12px 0}.review-feedback{margin-top:28px}.review-feedback-body{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.review-feedback strong{color:#2f7950;font-size:1.4rem}.review-feedback p{width:100%;color:#667c6e}.review-feedback-action{margin-top:16px;text-align:right}.review-feedback-action .primary-button{margin-left:auto}@media(max-width:860px){.home-grid{grid-template-columns:repeat(2,1fr)}.lesson-grid{grid-template-columns:repeat(3,1fr)}.learning-layout{grid-template-columns:1fr}.word-list{order:2;max-height:280px}.word-detail{min-height:480px}}@media(max-width:560px){.app-shell,.user-bar{width:min(100% - 22px,1180px)}.app-shell{min-height:100dvh;padding:22px 0}.user-bar{padding:12px 0 0}.user-bar .back-button{padding:9px 13px}.home-page .hero{padding:16px 0 22px}.home-page .hero h1{font-size:clamp(2.4rem,14vw,3.25rem)}.home-page .hero p{margin-top:5px}.continue-card,.learning-header,.page-header{align-items:flex-start;flex-direction:column}.continue-card{padding:23px;gap:16px}.continue-card .primary-button{width:100%}.home-grid,.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lesson-card{padding:14px}.learning-header{gap:11px}.learning-header>strong{align-self:stretch;text-align:center}.word-detail{padding:27px 21px}.word-heading h2{font-size:3.3rem}.audio-actions button{flex:1;padding:11px 7px}.review-card{margin:16px auto;padding:22px 18px calc(22px + env(safe-area-inset-bottom));border-radius:20px}.review-card h2{margin-bottom:24px;font-size:clamp(2.5rem,13vw,4rem)}.writing-review h2{margin:4px 0 12px;font-size:clamp(2rem,9vw,3rem);line-height:1.25}.writing-review input{margin-top:4px}.review-card input,.review-card textarea,.review-card select{font-size:16px}.review-card>.primary-button{width:100%;min-height:48px}.review-feedback-body{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.review-feedback-action{position:sticky;bottom:max(10px,env(safe-area-inset-bottom));z-index:1;width:100%;margin:0;padding-top:12px;background:#fffffcfa}.review-feedback-action .primary-button{width:100%;min-height:48px;margin:0;box-shadow:0 8px 18px #346c4e3d}}@media(max-width:560px){.review-page>h1{margin-bottom:4px}.review-page>h1+p{margin-bottom:8px}.review-page>h1+p+.review-card{margin:10px auto;padding:18px 16px calc(20px + env(safe-area-inset-bottom))}.review-page>h1+p+.review-card:not(.writing-review) h2{margin:4px 0 16px;font-size:clamp(2.2rem,11vw,3.5rem)}.answer-grid{gap:10px}.answer-button{min-height:48px;padding:12px 14px;line-height:1.35}.review-feedback{margin-top:18px}}.admin-dashboard{padding-bottom:72px}.admin-selector{display:inline-flex;align-items:center;gap:10px;margin-bottom:6px;font-weight:800;color:#38614d}.admin-selector select{min-height:44px;padding:8px 12px;border:1px solid #b7d0bb;border-radius:12px;background:#fffdf6;color:#23463a}.admin-dashboard .review-card{width:100%;margin:18px 0;padding:24px}.activity-status h2,.weekly-overview h2,.usage-by-feature h2,.admin-summary-card h2{margin-bottom:14px;font-size:1.25rem}.activity-status p:last-child{margin-bottom:0}.activity-online,.activity-offline{font-weight:800}.activity-online{color:#237046}.activity-offline{color:#677d6d}.admin-overview-grid,.admin-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-overview-grid .review-card{margin:0}.admin-overview-grid>div{min-width:0}.admin-overview-grid p{margin-bottom:8px;color:#667c6e}.stat-value{display:block;color:#285f45;font-size:clamp(1.5rem,4vw,2.2rem);line-height:1.2}.activity-feature-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;margin-bottom:0;border-bottom:1px solid rgba(66,110,83,.12)}.activity-feature-row:last-child{border-bottom:0}.activity-feature-row span{min-width:0}.activity-feature-row strong{white-space:nowrap;color:#285f45}@media(max-width:560px){.admin-dashboard .page-header{gap:12px}.admin-dashboard .review-card{padding:20px 17px}.admin-selector{width:100%;justify-content:space-between}.admin-selector select{flex:1;max-width:190px}.admin-summary-grid{grid-template-columns:1fr}.admin-overview-grid{gap:10px}.weekly-overview .admin-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-value{font-size:1.45rem}}.farm-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.farm-menu>*{order:2}.farm-menu>:nth-child(-n+2){order:0}.farm-menu>.farm-entry{order:1;grid-column:1 / -1;min-height:115px;background:linear-gradient(120deg,#eee6f6,#e4efd9);color:#62517a}.farm-menu>.adventure-farm-row{order:1;grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.adventure-farm-row .choice-card{min-width:0;min-height:130px;padding:20px 16px;background:linear-gradient(120deg,#eee6f6,#e4efd9);color:#62517a}.adventure-farm-row .adventure-entry{background:linear-gradient(120deg,#f3ebce,#e2efdf);color:#3f6852}.adventure-farm-row .choice-card strong{font-size:clamp(16px,3vw,23px);overflow-wrap:anywhere}.family-tasks{margin-top:26px;padding:20px;border:1px solid #d2dfcc;border-radius:22px;background:#fbfdf4;color:#355b4d}.family-tasks>header{display:flex;justify-content:space-between;align-items:center;gap:12px}.family-tasks h2{font-size:20px;margin:0 0 4px}.family-tasks small{font-size:12px;color:#71836e}.family-tasks>article{border-top:1px solid #e0e7d6;margin-top:16px;padding-top:12px}.family-tasks h3{font-size:16px;margin:0 0 10px;overflow-wrap:anywhere}.family-tasks h3 small{margin-left:8px}.family-task-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.family-task-grid>div{display:grid;gap:5px;align-content:start}.family-task-grid span{font-size:12px}.family-task-grid strong{font-size:16px}.family-task-grid progress{width:100%;height:8px;accent-color:#749d7d}@media(max-width:500px){.family-tasks{padding:16px 12px}.family-task-grid{gap:8px}.family-task-grid span{font-size:11px}.adventure-farm-row .choice-card{padding:16px 12px}}.review-pronunciation{border:0;background:transparent;padding:0 8px;min-height:24px;vertical-align:middle}.today-journey{margin:0 0 24px;padding:24px;border:1px solid #c6d8bf;border-radius:24px;background:#fffdf3;color:#305448}.today-journey header{display:flex;justify-content:space-between;align-items:center;gap:12px}.today-journey header button{border:1px solid #c6d8bf;border-radius:50%;background:transparent;width:42px;height:42px;color:inherit}.today-journey h2{font-size:24px;margin:8px 0}.today-journey ol{list-style:none;padding:0;display:grid;gap:12px}.today-journey li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #e0e8d9}.today-journey li span{font-size:14px;text-align:right}.today-journey details{margin-top:18px}.today-journey summary{cursor:pointer;padding:8px 0}.memory-report{font-size:14px;line-height:1.65}.memory-report dl{display:grid;grid-template-columns:1fr 1fr;gap:8px}.memory-report dl div{display:flex;justify-content:space-between;gap:10px}.memory-report dd{margin:0;font-weight:700}.memory-limit{font-size:12px;color:#526c60}.boss-memory{padding:12px;border-bottom:1px solid #ccd7c5}@media(max-width:500px){.today-journey{padding:18px}.today-journey h2{font-size:21px}.today-journey li{flex-direction:column;gap:4px}.today-journey li span{text-align:left}}.home-page .hero{padding:12px 0 22px}.home-page .hero h1{font-size:clamp(2rem,6vw,3rem)}.family-memory{padding:8px 0;border-top:1px solid #dce4d5}.memory-report dd{flex-shrink:0}.memory-report dt{margin:0}@media(max-width:500px){.memory-report dl{grid-template-columns:1fr}.memory-report dl div{padding:5px 0;border-bottom:1px solid #e5eada}}.team-page{max-width:900px;color:#28483e}.team-page .page-header{gap:12px;flex-wrap:wrap}.team-page .page-header h1{font-size:1.5rem}.team-page button,.team-page input,.team-page select{min-height:44px}.team-page input,.team-page select{width:100%;box-sizing:border-box;border:1px solid #b9cbb8;border-radius:12px;padding:12px;background:#fffefa;color:#28483e;font:inherit;font-size:16px}.team-page button{cursor:pointer}.team-page button:disabled{opacity:.55;cursor:default}.team-page small{color:#63796d;line-height:1.6}.team-page p{line-height:1.7}.team-page h2{margin:0 0 12px;font-size:1.35rem;overflow-wrap:anywhere}.team-page button:focus-visible,.team-page input:focus-visible,.team-page select:focus-visible{outline:3px solid #b78c35;outline-offset:3px}.team-home-entry{width:100%;margin:0 0 24px;padding:18px 22px;display:flex;gap:18px;align-items:center;text-align:left;border:1px solid #cbd5b9;border-radius:22px;background:linear-gradient(110deg,#edf4e6,#fff4d9);color:#315747;cursor:pointer}.team-home-entry>span:first-child{font-size:2.4rem;color:#a8863e}.team-home-entry>span:nth-child(2){flex:1;display:grid;gap:5px}.team-home-entry strong{font-size:1.25rem}.team-home-entry small{color:#657969}.team-welcome{text-align:center;padding:26px 10px}.team-welcome>span{font-size:4rem;color:#9b7e35}.team-join-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.team-panel{padding:24px;background:#fffdf5;border:1px solid #d6dfc9;border-radius:22px;margin-bottom:20px}form.team-panel{display:grid;gap:12px}.team-panel>small{display:block}.team-notice{min-height:24px;margin:0;font-size:.9rem}.team-error{background:#fff0e8;border-radius:14px;padding:14px;color:#8b3935}.team-heading{text-align:center;padding:18px 8px}.team-heading h2{font-size:2rem}.team-heading p{font-size:.85rem}.team-tabs{display:flex;gap:8px;margin:8px 0 20px}.team-tabs button{flex:1;border:1px solid #ccdbc6;border-radius:16px;background:#f8faef;color:#345b4b;padding:10px 8px;font:inherit}.team-tabs button[aria-pressed=true]{background:#355d4e;color:#fff}.team-boss{text-align:center;overflow:hidden;border-radius:30px;padding:24px;margin-bottom:20px;background:radial-gradient(ellipse at 50% 42%,#fbf5d7,#e6eedc 66%,#d9e8de);border:1px solid #c7d8bd}.team-boss-stage{position:relative;height:260px;display:grid;place-items:center;isolation:isolate}.team-boss-stage img{width:min(100%,310px);height:250px;object-fit:contain;position:relative;filter:drop-shadow(0 12px 10px #304c3829)}.team-boss-aura{position:absolute;width:210px;height:210px;border:1px solid #bda04b66;border-radius:50%;box-shadow:0 0 0 22px #eee7b844,0 0 0 44px #eee7b822}.team-boss progress{width:min(100%,480px);height:18px;accent-color:#557f63;display:block;margin:12px auto}.team-boss label{font-weight:700}.team-boss.is-defeated{background:radial-gradient(ellipse at center,#fff6c6,#edf2d8)}.team-victory-seal{position:absolute;right:16%;bottom:10px;color:#ab7929;font-size:4rem;text-shadow:0 0 18px #fff}.team-contribute h2 small{float:right}.team-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.team-actions button,.team-row button,.team-member-management button{padding:10px 14px;border:1px solid #cbd8bd;border-radius:12px;background:#f0f5e8;color:#315445;font:inherit}.team-actions .primary-button{background:#355d4e;color:#fff}.team-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-bottom:1px solid #e6ebdd;padding:12px 0;overflow-wrap:anywhere}.team-cheer{padding:10px 14px;border-radius:14px;background:#f2f5e9;overflow-wrap:anywhere}.team-ranking{list-style:none;padding:0;margin:0}.team-ranking-head{display:flex;justify-content:space-between;color:#6e8176;font-size:.85rem;margin:16px 0}.team-ranking li{display:flex;gap:14px;align-items:center;padding:15px 10px;border-bottom:1px solid #e3e9dc}.team-ranking li.is-self{background:#edf4e5;border-radius:14px}.team-ranking li>div{flex:1;min-width:0;overflow-wrap:anywhere}.team-ranking small{display:block;font-size:.75rem}.team-ranking li>span:last-child{text-align:right;white-space:nowrap}.team-rank-number{width:22px;color:#927131;font-weight:700}.team-invite{display:block;letter-spacing:.13em;font-size:1.4rem;background:#edf3e3;border-radius:12px;padding:15px;text-align:center;margin:14px 0;-webkit-user-select:all;user-select:all}.team-member-management{border-bottom:1px solid #e4e9db;padding:14px 0;overflow-wrap:anywhere}.team-badges{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:14px}.team-badges>div{display:grid;justify-items:center;text-align:center;gap:7px;border:1px solid #e1d6a7;border-radius:16px;padding:16px 8px;background:#fff8e3;overflow-wrap:anywhere}.team-badges span{font-size:2.8rem;color:#ab7b2e}@media(max-width:600px){.team-join-grid{grid-template-columns:1fr;gap:0}.team-panel{padding:18px}.team-boss{padding:20px 14px}.team-boss-stage{height:225px}.team-boss-stage img{height:215px}.team-heading h2{font-size:1.7rem}.team-page .page-header{gap:8px}.team-invite{font-size:1.18rem;letter-spacing:.1em}}.team-page .page-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;margin-bottom:12px}.team-page .page-header h1{margin:0;text-align:center;font-size:1.25rem}.team-page .page-header button{padding:10px 14px}.team-notice:empty{min-height:0}.game-home{color:#304c42;min-height:100svh;background:#d5e5ce}.lobby-world{position:relative;isolation:isolate;width:100%;max-width:1200px;margin:auto;min-height:100svh;box-sizing:border-box;padding:max(20px,env(safe-area-inset-top)) 22px max(18px,env(safe-area-inset-bottom));display:flex;flex-direction:column;background:url(/game/rewards/base-morning.webp) center 50% / cover no-repeat}.lobby-world:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:linear-gradient(#f9f4dc55,transparent 25%,transparent 72%,#385a4540)}.lobby-header{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#284e44}.lobby-header>div{padding:8px 14px;border-radius:20px;background:#fffbeece;box-shadow:0 3px 20px #47614714}.lobby-header small{font-size:9px;letter-spacing:.13em;color:#627e65}.lobby-header h1{font-size:1.55rem;margin:4px 0 0;font-family:Georgia,Yu Mincho,serif}.lobby-header button{border:1px solid #d4cd9e;border-radius:50px;padding:12px 16px;min-height:44px;background:#fff9e6eb;color:#38584b;font:inherit;box-shadow:0 3px #baa56b55}.lobby-task-ribbon{display:flex;align-items:center;gap:10px;width:min(100%,560px);margin:18px auto 0;padding:10px 16px;border:1px solid #dad3a4;border-radius:18px;background:#fffbeaef;box-shadow:0 5px 18px #344d3420;color:#36594b;text-align:left;cursor:pointer}.lobby-task-ribbon img{width:45px;height:45px;object-fit:contain}.lobby-task-ribbon>span:nth-child(2){display:grid;gap:3px;flex:1}.lobby-task-ribbon small{font-size:10px;color:#71826b}.lobby-task-ribbon strong{font-size:14px}.lobby-scene{position:relative;flex:1;min-height:345px;width:min(100%,690px);margin:0 auto}.lobby-destination{position:absolute;width:155px;min-height:145px;padding:0;border:0;background:transparent;color:#344e3d;cursor:pointer;z-index:2;display:flex;align-items:center;flex-direction:column}.lobby-destination img{width:118px;height:108px;object-fit:contain;filter:drop-shadow(0 8px 6px #3b593d35);transition:transform .2s ease}.lobby-destination:hover img{transform:translateY(-4px)}.lobby-destination>span{position:relative;margin-top:-8px;display:grid;gap:3px;border:1px solid #c6b57a;border-radius:12px;padding:8px 12px;min-width:105px;background:linear-gradient(#fffbeaef,#f5e9b9f5);box-shadow:0 4px #ad945b70,0 7px 14px #38503b24}.lobby-destination strong{font-size:14px}.lobby-destination small{font-size:10px;color:#708062}.lobby-guild{left:4%;top:5%}.lobby-boss{right:4%;top:3%}.lobby-boss img{height:115px}.lobby-adventure{left:0;bottom:5%}.lobby-garden{right:0;bottom:5%}.lobby-mage{position:absolute;pointer-events:none;object-fit:contain;width:190px;height:220px;left:50%;top:47%;transform:translate(-50%,-50%);filter:drop-shadow(0 8px 5px #334d3830)}.lobby-continue{display:grid;justify-items:center;gap:9px;margin:8px 0 18px;z-index:3}.lobby-continue button{min-width:250px;min-height:54px;padding:13px 25px;font:inherit;font-size:1.05rem;font-weight:700;color:#fffbe8;border:1px solid #c3b675;border-radius:18px;background:linear-gradient(#4d8268,#2e604c);box-shadow:inset 0 1px #aec6a3,0 5px #274d3f,0 9px 15px #2c453839;cursor:pointer}.lobby-continue button span{margin-left:18px}.lobby-continue>small{border-radius:10px;background:#fffbe4ed;padding:5px 10px;font-size:11px}.lobby-dock{display:flex;justify-content:center;gap:12px;width:min(100%,560px);margin:0 auto;padding:9px 0;border-top:1px solid #fff9d788}.lobby-dock button{display:grid;justify-items:center;align-items:center;gap:3px;width:85px;min-height:72px;padding:6px;border:1px solid #dcc78d;border-radius:18px;background:linear-gradient(#fffcefef,#eddfb6ee);color:#4f634d;font:inherit;font-size:11px;font-weight:700;box-shadow:0 4px #af955f88;cursor:pointer}.lobby-dock img{width:35px;height:35px;object-fit:contain}.lobby-dialog{width:min(620px,calc(100% - 24px));max-height:calc(100dvh - 40px);box-sizing:border-box;border:1px solid #d7d5b7;border-radius:24px;padding:0;color:#304d42;background:#faf9ed;box-shadow:0 24px 80px #142e4155}.lobby-dialog::backdrop{background:#152e3a66}.lobby-dialog-content{padding:20px}.lobby-dialog-content>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.lobby-dialog-content>header h2{margin:0;font-size:1.2rem}.lobby-dialog-content>header button{width:44px;height:44px;border:1px solid #c8d4bf;border-radius:50%;color:#38594b;background:#fffdf2;font-size:24px}.lobby-dialog .today-journey{margin:0}.lobby-tools{display:grid;gap:10px}.lobby-tools button{min-height:52px;display:flex;justify-content:space-between;padding:14px;border:1px solid #d0dbc5;border-radius:14px;background:#f1f5e6;color:#34594a;font:inherit;text-align:left}.game-home button:focus-visible{outline:3px solid #ad7938;outline-offset:4px}.directory-search{display:flex;gap:8px;margin:20px 0}.directory-search button,.team-directory>button{min-width:70px;border:1px solid #c9d6bb;border-radius:12px;background:#e8efdc;color:#355947}.directory-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}.directory-team{display:grid;grid-template-columns:74px 1fr;align-items:center;gap:12px;border:1px solid #d5dbc2;border-radius:22px;padding:18px;background:linear-gradient(135deg,#fff9e7,#edf4e5)}.directory-team img{width:74px;height:74px;object-fit:contain}.directory-team h3{margin:6px 0;overflow-wrap:anywhere}.directory-team button{grid-column:1 / -1}.directory-empty{background:#f8f8e8;border-radius:20px;padding:24px}.team-directory{margin:12px 0 28px}.team-private-note{font-size:.85rem;color:#657d6d}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(min-width:700px){.lobby-world{padding:28px 50px 24px}.lobby-scene{min-height:420px}.lobby-destination{width:190px}.lobby-destination img{width:155px;height:140px}.lobby-mage{width:250px;height:290px}.lobby-header h1{font-size:2rem}.lobby-destination strong{font-size:17px}.lobby-dock{gap:20px}}@media(max-width:400px){.lobby-world{padding-left:14px;padding-right:14px}.lobby-destination{width:137px}.lobby-destination img{width:105px;height:100px}.lobby-guild{left:0}.lobby-boss{right:0}.lobby-mage{width:155px;height:190px}.lobby-dock{gap:8px}.lobby-dialog-content{padding:14px}}@media(prefers-reduced-motion:reduce){.lobby-destination img{transition:none}}.auth-page>label{width:min(560px,calc(100% - 32px));display:grid;grid-template-columns:170px minmax(0,1fr);gap:18px;align-items:center;text-align:right}.auth-page>label>input,.auth-page>label>select{width:100%;min-height:52px;padding:10px 14px;border:1px solid #9fb5a6;border-radius:10px;background:#fffdf8;color:#23463a}@media(max-width:560px){.auth-page>label{width:min(100%,420px);grid-template-columns:1fr;gap:7px;text-align:left}}.auth-page{width:min(620px,calc(100% - 28px));min-height:auto;margin:clamp(28px,7vh,76px) auto;padding:clamp(28px,5vw,44px);align-content:start;justify-items:stretch;gap:15px;border-radius:30px;text-align:left}.auth-brand{display:grid;justify-items:center;gap:4px;padding-bottom:12px;text-align:center}.auth-brand strong{font-family:Georgia,serif;font-size:2rem;letter-spacing:.05em;color:#244f3e}.auth-brand span{color:#7a9183;font-size:.9rem}.auth-page h1{margin:0 0 6px;text-align:center;font-size:clamp(2rem,7vw,2.7rem)}.auth-page>label{width:100%;display:grid;grid-template-columns:1fr;gap:7px;text-align:left;color:#456957;font-weight:700}.auth-page>label>input,.auth-page>label>select{width:100%;min-height:50px;padding:11px 14px;border:1px solid #b6c8bb;border-radius:14px;background:#fffdf8f5;color:#23463a;box-shadow:inset 0 1px #ffffffb3}.auth-page>label>input:focus,.auth-page>label>select:focus{outline:none;border-color:#5d9274;box-shadow:0 0 0 3px #5d927424}.auth-page>.primary-button{width:100%;min-height:50px;margin-top:6px;font-size:1.05rem}.auth-page>button:not(.primary-button){justify-self:center;border:0;padding:3px 8px;background:transparent;color:#4d705f;font-weight:700;text-decoration:underline;text-decoration-color:#4d705f59;text-underline-offset:4px;box-shadow:none}@media(max-width:560px){.auth-page{width:min(100% - 18px,620px);margin:10px auto;padding:24px 18px calc(26px + env(safe-area-inset-bottom));border-radius:22px}.auth-brand strong{font-size:1.8rem}.auth-page h1{font-size:2rem}.auth-page>label>input,.auth-page>label>select{min-height:48px}}.billing-page{max-width:820px;padding-bottom:72px}.billing-page .page-header{margin-bottom:18px}.billing-plan-card,.billing-status-card{margin:18px 0;padding:clamp(24px,5vw,38px);border:1px solid rgba(66,110,83,.14);border-radius:26px;background:#fffffce6;box-shadow:0 18px 45px #3c5b451c}.billing-plan-card h2{margin:8px 0 18px;color:#285f45;font-size:clamp(1.55rem,5vw,2.35rem)}.billing-price{display:flex;align-items:baseline;gap:7px;margin:8px 0 22px;color:#2f6a4c}.billing-price strong{font-size:clamp(2.7rem,9vw,4.4rem);line-height:1}.billing-price span{font-weight:800;color:#708477}.billing-plan-card ul{display:grid;gap:10px;padding-left:22px;line-height:1.6}.billing-private-note{margin:20px 0 0;color:#728278;font-size:.9rem}.billing-status-card h2{margin-bottom:9px;color:#315d48}.billing-status-card .primary-button{min-width:210px;margin-top:10px}.billing-entry-card{width:100%;display:grid;gap:6px;margin:18px 0 28px;padding:20px 22px;border:1px solid #c9d9bd;border-radius:20px;background:linear-gradient(120deg,#f6f0ce,#e3efdf);color:#315b49;text-align:left;box-shadow:0 10px 24px #3c5b4517}.billing-entry-card span{font-size:.68rem;font-weight:900;letter-spacing:.12em;color:#8a7a42}.billing-entry-card strong{font-size:1.2rem}.billing-entry-card small{color:#667b6d}.billing-success-page .eyebrow{margin-bottom:0}.billing-spinner{width:44px;height:44px;border:4px solid #dbe8db;border-top-color:#3e7a5d;border-radius:50%;animation:billing-spin .9s linear infinite}@keyframes billing-spin{to{transform:rotate(360deg)}}@media(max-width:560px){.billing-plan-card,.billing-status-card{padding:22px 18px;border-radius:20px}.billing-status-card .primary-button,.billing-entry-card{width:100%}.billing-price strong{font-size:3rem}}@media(prefers-reduced-motion:reduce){.billing-spinner{animation:none;border-top-color:#3e7a5d}}.legal-links{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}.legal-links a{color:#4f715f;font-size:.83rem;text-decoration:underline;text-underline-offset:3px}.auth-legal-links{justify-content:center;margin-top:12px;padding-top:16px;border-top:1px solid rgba(66,110,83,.12)}.lobby-legal-links{justify-content:center;margin:12px auto 0;padding:8px 4px}.lobby-legal-links a{color:#526d5d;background:#fffbe6cc;border-radius:99px;padding:5px 9px;text-decoration:none}.legal-page{max-width:900px;padding-bottom:72px}.legal-page .page-header{align-items:flex-start}.legal-page .page-header h1{margin-top:5px}.legal-warning{margin:0 0 18px;padding:18px 20px;border:1px solid #d9a84c;border-radius:16px;background:#fff5d9;color:#6f5219}.legal-warning p{margin:7px 0 0;line-height:1.65}.legal-document{padding:clamp(24px,5vw,42px);border:1px solid rgba(66,110,83,.14);border-radius:24px;background:#fffffcf0;box-shadow:0 18px 45px #3c5b4517}.legal-document section{padding:20px 0;border-bottom:1px solid rgba(66,110,83,.11)}.legal-document section:first-child{padding-top:0}.legal-document section:last-of-type{border-bottom:0}.legal-document h2{margin:0 0 10px;color:#315d48;font-size:1.15rem}.legal-document p{margin:0 0 8px;line-height:1.8;color:#526c60}.legal-document footer{margin-top:24px;color:#7a8c80;font-size:.82rem}.legal-placeholder{font-weight:800;color:#a4513f!important}.legal-page-links{margin-top:18px;justify-content:center}.billing-confirm-card{margin:18px 0;padding:clamp(24px,5vw,38px);border:2px solid #b7cda9;border-radius:26px;background:#fffdf5;box-shadow:0 16px 38px #3c5b4517}.billing-confirm-card h2{margin:8px 0 20px;color:#285f45}.billing-confirm-card dl{display:grid;gap:0;margin:0}.billing-confirm-card dl div{display:grid;grid-template-columns:150px 1fr;gap:18px;padding:13px 0;border-bottom:1px solid #e1e7d9}.billing-confirm-card dt{font-weight:800;color:#60796a}.billing-confirm-card dd{margin:0;line-height:1.55;color:#315446}.billing-refund-summary{margin:18px 0 14px;line-height:1.7}.billing-confirm-card .legal-links{margin:12px 0 18px}.billing-consent{display:flex;gap:12px;align-items:flex-start;padding:16px;border-radius:14px;background:#edf4e7;color:#315446;font-weight:800;line-height:1.55}.billing-consent input{width:20px;height:20px;margin-top:2px;flex:0 0 auto;accent-color:#3e7a5d}@media(max-width:560px){.legal-page{padding-top:22px}.legal-document{padding:22px 18px;border-radius:20px}.legal-document section{padding:17px 0}.legal-links{gap:8px 12px;justify-content:center}.legal-links a{font-size:.78rem}.billing-confirm-card{padding:22px 18px;border-radius:20px}.billing-confirm-card dl div{grid-template-columns:1fr;gap:4px}.billing-consent{padding:14px 12px}.lobby-legal-links{margin-top:8px}}.public-site{min-height:100vh;color:#284b3e;background:radial-gradient(circle at 12% 4%,#fff7d9 0,transparent 24rem),linear-gradient(145deg,#edf5e9,#e6efe9)}.public-nav{width:min(1120px,calc(100% - 32px));margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:22px 0}.public-brand{font-family:Georgia,serif;font-size:1.65rem;font-weight:800;letter-spacing:.04em;color:#285b45;text-decoration:none}.public-hero{width:min(1120px,calc(100% - 32px));margin:0 auto;min-height:560px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:54px;align-items:center;padding:48px 0 76px}.public-hero h1{max-width:720px;margin:10px 0 20px;font-family:Georgia,Yu Mincho,serif;font-size:clamp(3rem,7vw,5.6rem);line-height:1.05;color:#244f3e}.public-lead{max-width:700px;font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.9;color:#5c7568}.public-actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 18px}.public-actions a{text-decoration:none}.public-note{font-size:.88rem;color:#77897e}.public-visual{display:grid;justify-items:center;gap:14px;padding:44px;border:1px solid #d4dec9;border-radius:38px;background:linear-gradient(145deg,#fffdf2,#e8f0df);box-shadow:0 24px 60px #3f634424}.public-visual img{width:min(100%,310px);filter:drop-shadow(0 18px 14px #3655402c)}.public-visual span{font-size:.72rem;font-weight:900;letter-spacing:.16em;color:#6f886e}.public-section{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:76px 0}.public-section h2{margin:8px 0 32px;font-size:clamp(2rem,5vw,3.2rem);color:#295b46}.public-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.public-grid article,.public-plan-grid article{padding:30px;border:1px solid #d4dfcf;border-radius:24px;background:#fffdf8d9;box-shadow:0 14px 35px #4b654619}.public-grid strong{color:#91a286;font-size:.8rem;letter-spacing:.12em}.public-grid h3,.public-plan-grid h3{margin:12px 0 10px;font-size:1.3rem}.public-grid p,.public-plan-grid p,.public-about>p{margin:0;color:#61766a;line-height:1.8}.public-plans{padding-top:40px}.public-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.public-plan-grid article>span{font-size:.72rem;font-weight:900;letter-spacing:.12em;color:#879b88}.public-plan-grid .featured{border-color:#a9c6aa;background:linear-gradient(145deg,#fffdf1,#e4f0df)}.public-about{max-width:820px;text-align:center}.public-about>p{font-size:1.05rem}.public-footer{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:32px 0 42px;border-top:1px solid #ceddce;display:grid;gap:18px;justify-items:center;text-align:center}.public-footer>div:first-child{display:grid;gap:4px}.public-footer strong{font-family:Georgia,serif;font-size:1.35rem}.public-footer span,.public-footer small{color:#7b8b80;font-size:.8rem}.public-legal-links{justify-content:center}@media(max-width:820px){.public-hero{grid-template-columns:1fr;min-height:auto;padding-top:24px}.public-visual{max-width:520px;width:100%;margin:0 auto}.public-grid,.public-plan-grid{grid-template-columns:1fr}}@media(max-width:560px){.public-nav{padding:14px 0}.public-brand{font-size:1.4rem}.public-nav .secondary-button{padding:9px 14px}.public-hero{width:min(100% - 24px,1120px);gap:28px;padding:26px 0 52px}.public-hero h1{font-size:clamp(2.7rem,14vw,4rem)}.public-actions{display:grid}.public-actions>*{width:100%;text-align:center}.public-visual{padding:26px;border-radius:26px}.public-section{width:min(100% - 24px,1120px);padding:54px 0}.public-grid article,.public-plan-grid article{padding:24px 20px}.public-footer{width:min(100% - 24px,1120px)}}
