.discovery-map{color:#1b3825;container-type:inline-size}.discovery-map *{box-sizing:border-box}.discovery-filters{background:#f5ecd2;border:1px solid #dccb9d;border-radius:24px;flex-wrap:wrap;gap:4px;margin-bottom:16px;padding:4px;display:inline-flex}.discovery-filters button{border-radius:20px;min-height:44px;padding:8px 16px;font-weight:800}.discovery-filters button[aria-pressed=true]{color:#fffdf5;background:#245d43}.discovery-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.discovery-layout.has-detail{grid-template-columns:minmax(0,1fr)}.discovery-surface{background:#fffdf5;border:1px solid #d6c293;border-radius:24px;min-width:0;overflow:hidden}.discovery-map-heading{justify-content:space-between;gap:8px;padding:15px;font-size:12px;display:flex}.discovery-map-heading>span:first-child{align-items:center;gap:6px;display:flex}.discovery-pan{overscroll-behavior-x:contain;overflow-x:auto}.discovery-terrain{aspect-ratio:1.16;isolation:isolate;background:url(/images/discovery-map/map-landscape.webp) 50%/100% 100% no-repeat;min-width:760px;min-height:520px;position:relative}.discovery-swipe{text-align:center;background:#f5ecd2;margin:0;padding:8px;font-size:12px;display:none}.discovery-node{left:var(--land-x);top:var(--land-y);background:0 0;border:0;border-radius:18px;flex-direction:column;align-items:center;gap:4px;width:18%;padding:4px 0 7px;display:flex;position:absolute;transform:translate(-50%)}.discovery-node[aria-pressed=true]{background:#fffdf57a;box-shadow:inset 0 0 0 2px #245d43}.discovery-node:focus-visible,.discovery-map button:focus-visible{outline-offset:3px;outline:3px solid #a57227}.discovery-scene{aspect-ratio:1.25;pointer-events:none;flex:none;width:100%;max-width:260px;position:relative}.discovery-node .discovery-scene{aspect-ratio:1.6;width:145%}.discovery-node .discovery-building{height:128%;top:-10%}.discovery-building{object-fit:contain;width:88%;height:100%;position:absolute;top:-8%;left:6%}.discovery-building-water{transform:scale(.925)}.discovery-name{background:#fffdf5;border-radius:24px;align-items:center;gap:5px;max-width:100%;padding:3px 7px 3px 3px;font-size:13px;font-weight:800;display:flex}.discovery-name>img,.discovery-name>span:first-child{flex-shrink:0;width:30px;height:30px}.discovery-name>span:last-child{overflow-wrap:anywhere;min-width:0}.discovery-index{background:#fffdf5e6;border-radius:10px;max-width:100%;padding:2px 7px;font-size:11px}.discovery-node-flag{z-index:5;background:#fffdf5;border-radius:50%;padding:3px;position:absolute;top:3px;right:3px}.discovery-pagination{justify-content:space-between;align-items:center;gap:8px;padding:8px;font-size:12px;display:flex}.discovery-pagination button{border:1px solid #d6c293;border-radius:12px;min-height:44px;padding:8px}.discovery-pagination button:disabled{opacity:.4}.discovery-note{text-align:center;color:#70664e;background:#f5ecd2;margin:0;padding:12px;font-size:12px}.discovery-empty{text-align:center;padding:48px 20px}.discovery-detail{min-width:0;scroll-margin-top:100px}.discovery-detail .rival-detail-grid{display:block}.discovery-detail .rival-detail-art{justify-content:center;padding:12px;display:flex}.discovery-detail .rival-detail-art>.discovery-scene{width:230px}@container (width>=1110px){.discovery-layout.has-detail{grid-template-columns:minmax(0,1fr) 330px}}@container (width<=759px){.discovery-swipe{display:block}.discovery-pan{scrollbar-width:none}.discovery-pan::-webkit-scrollbar{display:none}}.season-overview{color:#1b3825;gap:20px;display:grid}.season-welcome{background:#d8e6be;border:1px solid #d8c18b;border-radius:24px;min-height:290px;position:relative;overflow:hidden}.season-welcome>img{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute}.season-welcome:after{content:"";background:linear-gradient(90deg,#14311ff0,#14311fb8 42%,#14311f00 82%);position:absolute;inset:0}.season-welcome-copy{z-index:1;color:#fff9e9;max-width:580px;padding:32px;position:relative}.season-welcome-copy .eyebrow{color:#f6d38a}.season-welcome h1{overflow-wrap:anywhere;margin:8px 0 12px;font-size:clamp(26px,3.2vw,40px);font-weight:900;line-height:1.15}.season-welcome-copy>p:not(.eyebrow){max-width:350px;font-size:15px;line-height:1.6}.season-overview .action-button{justify-content:center;align-items:center;gap:10px;margin-top:20px;padding:12px 20px;display:inline-flex}.season-summary{grid-template-columns:1.25fr 1fr 1fr;gap:12px;display:grid}.season-summary>*{text-align:left;background:#fffdf5;border:1px solid #ddc99b;border-radius:20px;align-items:center;gap:12px;min-width:0;padding:16px;display:flex}.season-summary svg{color:#aa772c;flex-shrink:0}.season-summary span{min-width:0}.season-summary small{color:#6c654e;font-size:12px;font-weight:700;display:block}.season-summary strong{font-size:25px;font-weight:900;display:block}.season-summary em{white-space:nowrap;font-size:15px;font-style:normal}.season-summary .season-time{font-size:20px}.season-summary-rank:hover{background:#edf3df}.season-overview-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.season-story,.season-weekly{border:1px solid #d8c18b;border-radius:24px;min-width:0;padding:24px}.season-weekly{background:#fffdf5}.season-story-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.season-preview-label{color:#5b684a;background:#fffdf5b3;border-radius:20px;padding:4px 9px;font-size:10px;font-weight:800}.season-mentor{align-items:center;gap:18px;margin:22px 0;display:flex}.season-mentor>img{object-fit:contain;flex-shrink:0;width:110px;height:150px}.season-overview h2{margin-top:6px;font-size:23px;font-weight:900;line-height:1.2}.season-mentor p:not(.eyebrow){color:#3d503a;margin-top:12px;font-size:14px;line-height:1.65}.season-mentor-tip{background:#fffdf5ad;border-radius:16px;align-items:start;gap:10px;padding:15px;font-size:13px;font-weight:700;line-height:1.6;display:flex}.season-mentor-tip svg{flex-shrink:0;margin-top:2px}.season-story-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:16px;display:flex}.season-secondary{background:#fffdf5;border:1px solid #8c9f70;border-radius:12px;min-height:44px;padding:10px 15px;font-size:13px;font-weight:800}.season-text-button{align-items:center;gap:6px;min-height:44px;font-size:13px;font-weight:800;display:flex}.season-shrines{border-top:1px solid #a3ae8590;justify-content:space-around;gap:10px;margin-top:24px;padding-top:18px;display:flex}.season-shrines span{align-items:center;gap:6px;font-size:12px;font-weight:800;display:flex}.season-shrines svg{width:19px}.season-shrines span:nth-child(2){color:#28758e}.season-shrines span:nth-child(3){color:#a75023}.season-preview-note{color:#606950;text-align:center;margin-top:12px;font-size:11px;line-height:1.5}.season-growth{background:#ecf2df;border:1px solid #d6dfc2;border-radius:18px;flex-direction:column;margin-top:20px;padding:18px;display:flex}.season-growth strong{color:#2d6344;font-size:46px;font-weight:900;line-height:1.1}.season-growth span{margin-top:4px;font-size:13px;font-weight:800}.season-weekly-explain{color:#6b644f;margin:12px 0;font-size:12px;line-height:1.6}.season-weekly-stats>div{border-bottom:1px solid #e9dfc4;justify-content:space-between;gap:12px;padding:10px 0;font-size:13px;display:flex}.season-weekly-stats dd{font-weight:900}.season-weekly-stats dt{color:#5e654d}.season-weekly-rules{color:#5e654d;margin-top:12px;font-size:12px;line-height:1.6}.season-weekly-rules summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:800}.season-weekly-rules p{margin-bottom:8px}.season-journal{border-top:1px solid #a3ae8590;margin-top:20px;padding-top:18px}.season-journal ol{gap:8px;margin-top:12px;display:grid}.season-journal button{text-align:left;background:#fffdf580;border:1px solid #0000;border-radius:12px;align-items:center;gap:12px;width:100%;padding:10px 12px;font-size:13px;font-weight:800;display:flex}.season-journal button[aria-pressed=true]{background:#fffdf5;border-color:#3c6d43}.season-journal button:disabled{opacity:.55;cursor:not-allowed}.season-journal small{margin-top:2px;font-size:11px;font-weight:600;display:block}@media (width<=900px){.season-overview-grid{grid-template-columns:minmax(0,1fr)}.season-summary>*{gap:8px;padding:12px}}@media (width<=540px){.season-welcome-copy{max-width:100%;padding:24px 20px}.season-welcome:after{background:linear-gradient(90deg,#14311fee,#14311f99)}.season-welcome{min-height:260px}.season-summary{grid-template-columns:1fr 1fr;gap:8px}.season-summary-rank{grid-column:1/-1}.season-summary .season-time{font-size:17px}.season-summary strong{font-size:22px}.season-story,.season-weekly{padding:18px}.season-mentor{align-items:flex-start;gap:12px}.season-mentor>img{width:65px;height:105px}.season-overview h2{font-size:21px}.season-mentor p:not(.eyebrow){font-size:13px}}.forest-preview-overlay{z-index:70;background:#14271dd9;position:fixed;inset:0}.forest-preview{z-index:71;color:#203b29;background:#fff8e4;border:2px solid #cbb580;border-radius:24px;width:min(900px,100% - 24px);max-height:92dvh;margin:auto;position:fixed;inset:4vh 0 auto;overflow:auto;box-shadow:0 22px 80px #07170c66}.forest-preview *{box-sizing:border-box}.forest-preview-header{background:#edf0d9;border-bottom:1px solid #d9c99e;padding:24px 56px 18px 24px;position:relative}.forest-preview-header h2{margin:7px 0 10px;font-size:30px;font-weight:900;line-height:1.15}.forest-preview-header p{color:#62654d;font-size:12px;line-height:1.5}.forest-preview-close{background:#fffdf4;border:1px solid #d9c99e;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:12px;right:12px}.forest-preview-body{padding:24px}.forest-preview-scene{background:#bdcea1;border-radius:18px;height:220px;position:relative;overflow:hidden}.forest-preview-scene img{object-fit:cover;width:100%;height:100%}.forest-preview-scene>span{background:#fff9e9ed;border-radius:8px;width:fit-content;padding:6px 10px;font-size:11px;position:absolute;bottom:10px;left:10px;right:10px}.forest-preview-intro{margin:18px 0;font-size:15px;line-height:1.65}.forest-preview-steps{gap:10px;margin:20px 0;padding:0;list-style:none;display:flex}.forest-preview-steps li{color:#777157;flex:1;align-items:center;gap:8px;min-width:0;font-size:12px;font-weight:800;display:flex}.forest-preview-steps li>span{background:#fffdf5;border:1px solid #c5b588;border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;display:grid}.forest-preview-steps li[aria-current]{color:#205b3c}.forest-preview-steps li[aria-current]>span{color:#fff;background:#205b3c;border-color:#205b3c}.forest-clues{background:#edf2df;border:1px solid #c4ceab;border-radius:15px;padding:0 16px}.forest-clues summary{cursor:pointer;min-height:48px;padding:13px 0;font-size:14px;font-weight:800}.forest-clues p{margin-bottom:12px;font-size:13px;line-height:1.6}.forest-clue-cards{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;display:grid}.forest-clue-cards>div{background:#fffdf5;border:1px solid #d5d9c1;border-radius:12px;padding:16px}.forest-clue-cards strong{margin:10px 0;display:block}.forest-clue-cards>div>svg{color:#b95073;width:48px;height:48px}.forest-runes,.forest-gate{gap:12px;display:flex}.forest-runes>span,.forest-gate>span{justify-items:center;gap:8px;display:grid}.forest-runes small{font-size:11px}.forest-preview-task{background:#fffdf6;border:1px solid #decda2;border-radius:18px;margin:20px 0;padding:22px}.forest-preview-task h3{margin:6px 0 12px;font-size:25px;font-weight:900}.forest-preview-task p{font-size:14px;line-height:1.6}.forest-trails{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0;display:grid}.forest-trails button{text-align:left;background:#f8f3e4;border:2px solid #ddd2ae;border-radius:16px;flex-direction:column;align-items:flex-start;gap:10px;min-height:160px;padding:16px;display:flex}.forest-trails button[aria-pressed=true]{background:#e8f0db;border-color:#346e46}.forest-trails svg{color:#617a41}.forest-trails strong{font-size:14px}.forest-trails small{font-size:12px;line-height:1.5}.forest-preview .forest-preview-meta{color:#766a4d;margin:16px 0;font-size:12px}.forest-primary{color:#fff9e9;background:#245c3f;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:46px;margin-top:12px;padding:12px 18px;font-size:14px;font-weight:800;display:inline-flex}.forest-preview button{cursor:pointer}.forest-preview button:disabled{opacity:.45;cursor:not-allowed}.forest-preview button:focus-visible,.forest-clues summary:focus-visible{outline-offset:3px;outline:3px solid #b87726}.forest-preview-feedback:not(:empty){background:#f7e6c9;border-radius:12px;margin-top:16px;padding:12px}.forest-gate{justify-content:center;margin:24px 0}.forest-gate>span{background:#e5e7d6;border:2px solid #9ea98a;border-radius:12px;min-width:70px;padding:16px 10px}.forest-symbol-buttons{flex-wrap:wrap;gap:8px;display:flex}.forest-symbol-buttons button{background:#f7f0da;border:1px solid #c7b88c;border-radius:10px;align-items:center;gap:8px;min-height:44px;padding:10px 14px;font-weight:700;display:flex}.forest-encounter{background:#e8efda;border-radius:14px;align-items:center;gap:15px;margin:18px 0;padding:18px;display:flex}.forest-encounter>svg{flex-shrink:0}.forest-encounter strong{font-size:18px}.forest-encounter small{font-size:12px}.forest-preview-rewards{border:1px dashed #baa16c;border-radius:14px;padding:16px}.forest-preview-rewards strong{font-size:13px}.forest-preview-rewards p{margin:10px 0;font-size:15px;line-height:1.6}.forest-preview-rewards small{color:#70684f;font-size:12px;line-height:1.6}.forest-completion{text-align:center;background:radial-gradient(at top,#f6e5ac,#e5efd8 75%);border:2px solid #b6bd86;border-radius:20px;margin-bottom:18px;padding:24px}.forest-medal{color:#ffedb8;background:#2f6a44;border:4px solid #c6a051;border-radius:50%;place-items:center;width:82px;height:82px;margin:0 auto 16px;display:grid}.forest-completion>strong{display:block}.forest-completion p{margin:14px 0}.forest-preview-player{overflow-wrap:anywhere;justify-content:center;align-items:center;gap:10px;margin:18px 0 10px;display:flex}.forest-preview-player img{object-fit:cover;border-radius:50%;width:48px;height:48px}.forest-completion>span{font-size:11px}@media (width<=540px){.forest-preview{border-radius:18px;width:calc(100% - 16px);max-height:96dvh;inset:2vh 0 auto}.forest-preview-header{padding:20px 52px 16px 16px}.forest-preview-header h2{font-size:25px}.forest-preview-body{padding:14px}.forest-preview-scene{height:160px}.forest-preview-steps{gap:6px}.forest-preview-steps li{text-align:center;flex-direction:column;gap:6px;font-size:11px}.forest-clue-cards,.forest-trails{grid-template-columns:1fr}.forest-trails button{gap:6px;min-height:0;padding:14px}.forest-preview-task{padding:16px}.forest-primary{width:100%}.forest-gate{gap:8px}.forest-gate>span{min-width:60px}.forest-completion{padding:18px 12px}}.forest-story video{aspect-ratio:321/181;object-fit:contain;background:#12251b;border-radius:18px;width:100%;height:auto;display:block}.forest-story p{color:#62654d;margin:10px 0;font-size:13px;line-height:1.6}.forest-replay{margin-top:0}.forest-victory-task{text-align:center;background:linear-gradient(#f9edbd,#fffdf6 200px)}.forest-preview .forest-victory-title{letter-spacing:.05em;color:#245c3f;text-shadow:0 3px #e5ca7d;margin:10px 0;scroll-margin-top:20px;font-size:clamp(40px,9vw,76px);line-height:1.05}.forest-victory-title:focus{outline:none}.forest-victory-subtitle{margin-bottom:22px}.forest-crest-reveal{margin:24px 0 0;animation:.7s ease-out both forest-crest-appear}.forest-crest-reveal .forest-medal{width:96px;height:96px;margin-top:18px;box-shadow:0 0 28px #dbc16c80}.forest-crest-reveal>strong{font-size:25px}@keyframes forest-crest-appear{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.forest-crest-reveal{animation:none}}.forest-victory-banner{text-align:center;background:linear-gradient(#f9edbd,#fffdf6);border:1px solid #decda2;border-radius:18px;margin-bottom:18px;padding:22px 12px}.forest-video-library{background:#edf2df;border:1px solid #c4ceab;border-radius:14px;margin:16px 0;padding:0 14px 14px}.forest-video-library summary{cursor:pointer;min-height:44px;padding:12px 0 0;font-size:14px;font-weight:800}.forest-video-library summary:focus-visible{outline-offset:3px;outline:3px solid #b87726}.forest-video-library p{margin:12px 0;font-size:13px;line-height:1.5}.forest-video-choices{flex-wrap:wrap;gap:8px;display:flex}.forest-video-choices button{text-align:left;background:#fffdf6;border:1px solid #c7b88c;border-radius:10px;flex:180px;min-height:44px;padding:10px 12px;font-size:13px;font-weight:800}.forest-video-choices button[aria-pressed=true]{background:#dce8cf;border-color:#245c3f}
