/* Windway folios inherit Cloudstride's painted ivory, jade enamel and engraved gold. */
.journey-mode-switch{position:absolute;z-index:6;top:17%;left:50%;transform:translateX(-50%);display:flex;padding:5px;border:1px solid #cdb882;border-radius:35px;background:linear-gradient(130deg,#fffef1ed,#e7eedce8);box-shadow:0 5px 24px #224a5126,inset 0 0 0 3px #fff7;backdrop-filter:blur(14px);white-space:nowrap}
.journey-mode-switch button{padding:11px 27px;border:0;border-radius:28px;background:transparent;color:#5b7765;font-size:14px;min-height:44px}
.journey-mode-switch button[aria-pressed=true]{background:linear-gradient(140deg,#4c8170,#2e5b51);color:#fff7df;box-shadow:inset 0 0 0 1px #bcaa78,0 3px 8px #264e4c26}
.restoration-status{position:absolute;z-index:5;top:18%;left:3.5%;display:flex;align-items:center;gap:9px;border:0;background:#faf8e5c9;border-radius:4px;padding:8px 14px 8px 4px;box-shadow:0 2px 18px #fff6;color:#4c735f;text-align:left}
.restoration-status>img{width:50px;height:50px;object-fit:contain}.restoration-status small{display:block;font-size:9px;letter-spacing:1.5px;margin-bottom:9px}.restoration-status b{font-weight:400;font-size:12px;margin-left:7px}
.beacon-chain{display:flex;gap:11px}.beacon-chain i{position:relative;width:7px;height:7px;background:#a4b3a0;transform:rotate(45deg);border:1px solid #91a188}.beacon-chain i+ i:before{content:'';position:absolute;width:10px;height:1px;background:#9aa98c;left:-10px;top:11px;transform:rotate(-45deg)}.beacon-chain .lit{background:#f4d983;border-color:#bca15e;box-shadow:0 0 9px #ffe89b}
.world-beacons{position:absolute;inset:0;pointer-events:none;z-index:1}.world-beacons>i{position:absolute;left:calc(26% + var(--beacon)*11%);top:calc(35% - var(--beacon)*2%);width:3px;height:20px;background:#d5dbcb33;transform:rotate(3deg)}.world-beacons>i.lit{background:linear-gradient(#fff6b0,#f8e09930);box-shadow:0 0 22px 5px #ffe38c88}.world-beacons i.lit:before{content:'';position:absolute;inset:-12px -9px;background:radial-gradient(ellipse,#fff9d4a8,transparent 70%)}
#app[data-game-mode=endless] .restoration-status{display:none}#app[data-game-mode=endless] .lobby-wash{background:linear-gradient(90deg,#eff2e6aa,transparent 65%),linear-gradient(0deg,#f7f4e8dd,transparent 45%)}
.windway-focus{position:absolute;z-index:4;left:50%;top:54%;transform:translate(-50%,-50%);width:min(900px,76vw);display:grid;grid-template-columns:1.15fr 1fr;overflow:hidden;min-height:340px;border:1px solid #c6b076;border-radius:8px;background:linear-gradient(145deg,#fffdf0ee,#e8eedbe8);box-shadow:0 20px 70px #1b4b5245,inset 0 0 0 4px #fff8;backdrop-filter:blur(15px)}
.windway-art{position:relative;min-height:340px;overflow:hidden;background:#8fb8b5}.windway-art>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:53% center}.windway-art-shade{position:absolute;inset:0;background:linear-gradient(0deg,#214f52dd,transparent 75%)}.windway-week{position:absolute;left:22px;top:24px;color:#fff9e4;font-size:10px;letter-spacing:1.4px;text-shadow:0 2px 6px #375f65}
.windway-identity{position:absolute;left:25px;right:22px;bottom:115px;color:#fff9e8}.windway-identity small{letter-spacing:2.4px;font-size:9px}.windway-identity h2{font:400 clamp(30px,3vw,43px)/1.12 var(--serif);margin:12px 0}.windway-identity p{font-size:12px;opacity:.88}.windway-record{position:absolute;bottom:22px;left:25px;color:#ffedbd}.windway-record small{font-size:9px;letter-spacing:1.5px;display:block;margin-bottom:7px}.windway-record strong{font:400 46px/1 var(--serif)}.windway-record em{font:400 19px var(--serif)}
.windway-preflight{padding:27px;display:flex;flex-direction:column;justify-content:space-between;gap:20px}.windway-promise{display:flex;gap:10px;align-items:center;font:400 20px/1.5 var(--serif);color:#315f53}.windway-promise img{width:65px;height:85px;object-fit:contain}.windway-promise small{font:12px/1.6 var(--sans);display:block;margin-top:7px;color:#7a856b}.windway-equipment{padding:16px 0;border-block:1px solid #c9d0b3;color:#496c5c;font-size:12px;line-height:1.7}.windway-equipment small{display:block;color:#829076;font-size:10px;margin-top:6px}.windway-controls{display:flex;gap:10px}.windway-controls>*{flex:1;padding:12px 13px;min-height:46px;font-size:12px}.windway-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;font-size:10px;color:#8b9073}.windway-meta .text-button{font-size:11px;padding:2px}.windway-meta small{font-size:10px}.friend-challenge{display:grid;gap:6px;color:#386856}.friend-challenge>span{font-size:11px}.friend-challenge strong{font:32px var(--serif)}.friend-challenge small{font-size:10px;line-height:1.5}
.story-dialog,.competition-dialog,.share-dialog{background:linear-gradient(130deg,#fffdf0f7,#e9efdef7);border:1px solid #cbb478;box-shadow:0 20px 100px #183e4c70,inset 0 0 0 5px #fff7;border-radius:9px;padding:0;max-height:92dvh;color:#315e50}
.story-dialog{width:min(950px,91vw);max-width:950px}.story-folio{position:relative;display:grid;grid-template-columns:1.2fr 1fr;min-height:420px;max-height:86dvh}.story-close{position:absolute;z-index:3;right:15px;top:15px;background:#fbf9e8c9}.story-paint{position:relative;min-height:420px;overflow:hidden}.story-paint>img{position:absolute;width:100%;height:100%;object-fit:cover}.story-paint:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 70%,#f7f7e94d)}.story-lantern{position:absolute;inset:10%;display:grid;place-items:center;filter:drop-shadow(0 0 26px #ffecaf)}.story-lantern img{width:72%;height:80%;object-fit:contain;animation:lantern-breathe 5s ease-in-out infinite}.story-copy{padding:55px 32px 30px;display:flex;flex-direction:column;justify-content:center;gap:16px}.story-copy>small{font-size:10px;letter-spacing:2px;color:#a18b57}.story-copy h2{font:400 clamp(28px,3vw,42px)/1.15 var(--serif);margin:0}.story-copy p{font-size:14px;line-height:1.85;margin:0}.story-copy blockquote{font:italic 16px/1.6 var(--serif);margin:3px 0 12px;padding-left:14px;border-left:2px solid #c3ac73;color:#83916f}.story-pages{display:flex;gap:7px}.story-pages button{padding:7px 8px;background:transparent;border:1px solid #c9cda9;color:#749176;border-radius:3px}.story-pages button.active{background:#3c6b5b;color:#fff8dd}.story-pages button:disabled{opacity:.35}.story-copy .primary{margin-top:auto}.story-copy .text-button{font-size:12px}
.competition-dialog{width:min(850px,92vw);max-width:850px}.competition-folio{display:flex;flex-direction:column;max-height:86dvh}.competition-folio>header,.share-folio>header{display:flex;justify-content:space-between;gap:18px;padding:23px 28px;border-bottom:1px solid #cdd2b5}.competition-folio h2,.share-folio h2{font:400 32px var(--serif);margin:7px 0}.competition-folio header small{font-size:10px;letter-spacing:1.3px;color:#a08c57}.competition-folio header p{font-size:12px;margin:5px 0;color:#809172}.ranking-list{overflow:auto;overscroll-behavior:contain;padding:10px 24px;min-height:150px}.ranking-row{display:flex;align-items:center;gap:16px;padding:16px 8px;border-bottom:1px solid #d6d9c2}.ranking-row.is-me{background:#e3ebd6;border-radius:4px}.ranking-row>b{font:25px var(--serif);width:30px;color:#af955a}.ranking-row>div{flex:1;min-width:0}.ranking-row strong{font:20px var(--serif);display:block;margin-bottom:4px}.ranking-row small{font-size:10px;display:block;line-height:1.65;color:#849278}.ranking-row>span{font:25px var(--serif);white-space:nowrap}.ranking-row>span small{display:inline}.ranking-row>.icon-button{width:35px;height:35px;padding:8px}.ranking-empty{text-align:center;padding:20px}.ranking-empty img{width:110px;height:135px;object-fit:contain}.ranking-empty h3{font:26px var(--serif);margin:0 0 10px}.ranking-empty p{font-size:12px}.competition-folio>footer{padding:17px 28px;border-top:1px solid #d4d5b8;text-align:right}.competition-folio>footer .primary{padding:12px 20px}.nickname-dialog label{display:grid;gap:10px;text-align:left;font-size:12px}.nickname-dialog input{font:20px var(--serif);padding:12px;background:#fffdf0;border:1px solid #b6c1a0;border-radius:5px;color:#386353;width:100%}.quick-lesson>img{width:90px;height:100px;object-fit:contain}
.endless-result{width:min(650px,94vw);height:auto;max-height:94dvh;overflow:hidden;padding:24px 30px;display:flex;flex-direction:column;gap:17px;background:linear-gradient(135deg,#fffdf0f7,#e8efdcf5);border:1px solid #c6ad72;box-shadow:inset 0 0 0 4px #fff8,0 20px 80px #153a4b40;border-radius:8px}.endless-result>header{display:flex;justify-content:space-between;align-items:center;color:#9b8959;letter-spacing:2px;font-size:10px}.endless-result>header .icon-button{width:32px;height:32px}.endless-result-hero{display:flex;align-items:center;justify-content:center;gap:25px;min-height:130px}.endless-result-hero>img{width:110px;height:145px;object-fit:contain;filter:drop-shadow(0 5px 14px #d8c28d77)}.endless-result-hero small{font-size:10px;letter-spacing:2px;color:#9e8c5e}.endless-result-hero h2{font:400 clamp(48px,7vh,74px)/1 var(--serif);margin:10px 0;color:#315f52}.endless-result-hero h2 em{font-size:.35em}.endless-result-hero p{font-size:12px;margin:0;color:#809270}.endless-result-hero b{color:#4e7c63;font-weight:500}.endless-result-facts{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid #ccd1b5;padding:18px 0;gap:12px;text-align:center}.endless-result-facts small{display:block;color:#899776;font-size:10px;margin-bottom:9px}.endless-result-facts strong{font:25px var(--serif);color:#52775e}.endless-loadout{text-align:center}.endless-loadout p{font-size:12px;margin:0 0 6px}.endless-loadout small{font-size:10px;color:#869577}.endless-validation{font-size:11px;line-height:1.5;text-align:center;color:#8d9373;margin:0}.endless-result>footer{display:flex;gap:12px}.endless-result>footer>*{flex:1;padding:13px 12px;font-size:13px}.endless-result .result-links{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}.endless-result .result-links button{font-size:10px;padding:0}
.share-dialog{width:min(650px,92vw);max-width:650px}.share-folio{height:88dvh;max-height:900px;display:flex;flex-direction:column;padding-bottom:15px}.share-folio header{padding:13px 20px}.share-folio h2{font-size:25px}.share-preview{min-height:0;flex:1;display:flex;justify-content:center;padding:15px;background:#d9e4d4b0}.share-preview img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 4px 16px #456c6245}.share-folio footer{display:flex;justify-content:center;gap:9px;padding:14px}.share-folio footer button{font-size:12px;padding:10px 15px}.share-folio>input{margin:0 20px;padding:8px 12px;border:1px solid #c8cfb2;background:#fffdf1;color:#728668;font-size:10px;border-radius:3px}
@keyframes lantern-breathe{50%{transform:translateY(-5px);filter:brightness(1.07)}}
@media(min-width:1450px){.windway-focus{width:min(1050px,76vw);min-height:400px}.windway-art{min-height:400px}.windway-preflight{padding:35px}.windway-identity h2{font-size:46px}}
@media(max-width:700px){.journey-mode-switch{top:15%;padding:4px}.journey-mode-switch button{padding:8px 18px;min-height:38px;font-size:12px}.restoration-status{top:auto;bottom:13%;left:50%;transform:translateX(-50%);padding:4px 11px 4px 3px}.restoration-status img{width:35px;height:40px}.restoration-status small{font-size:8px;margin-bottom:6px}.windway-focus{width:91vw;top:56%;grid-template-columns:1fr;min-height:0;max-height:69dvh}.windway-art{min-height:210px;height:28dvh;max-height:240px}.windway-identity{bottom:72px;left:20px}.windway-identity h2{font-size:34px;margin:9px 0}.windway-identity p{font-size:11px;margin:0}.windway-week{left:20px;top:16px}.windway-record{left:auto;right:20px;bottom:19px}.windway-record strong{font-size:36px}.windway-record small{font-size:8px}.windway-preflight{padding:16px 20px;gap:13px}.windway-promise{display:none}.windway-equipment{padding:0 0 12px;font-size:11px;border-top:0}.windway-equipment small{font-size:9px}.windway-meta{gap:5px 13px}.windway-controls>*{padding:10px 8px;font-size:12px}.friend-challenge{display:grid;grid-template-columns:1fr auto;gap:3px}.friend-challenge>small{grid-column:1/-1}.friend-challenge strong{font-size:24px}.story-folio{grid-template-columns:1fr;min-height:0}.story-paint{min-height:0;height:25dvh}.story-lantern img{width:auto;height:100%}.story-copy{padding:23px;gap:12px}.story-copy h2{font-size:29px}.story-copy p{font-size:12px;line-height:1.7}.story-copy blockquote{font-size:13px;margin:0 0 5px}.story-copy .primary{padding:11px}.story-close{top:9px;right:9px}.story-pages{justify-content:center}.competition-folio>header{padding:18px}.competition-folio h2{font-size:28px}.ranking-list{padding:5px 10px}.ranking-row{gap:9px;padding:13px 4px}.ranking-row>b{font-size:22px;width:23px}.ranking-row strong{font-size:18px}.ranking-row small{font-size:8px}.ranking-row>span{font-size:22px}.ranking-row>.icon-button{width:29px;height:29px}.endless-result{padding:18px 20px;gap:14px}.endless-result-hero{gap:10px;min-height:110px}.endless-result-hero>img{width:85px;height:120px}.endless-result-hero h2{font-size:58px}.endless-result-facts{padding:15px 0}.endless-result-facts strong{font-size:22px}.endless-result>footer>*{font-size:12px}.endless-result .result-links{gap:12px}.share-folio h2{font-size:21px}.share-folio footer button{font-size:11px;padding:10px}.world-beacons{opacity:.75}}
@media(max-height:650px) and (min-width:701px){.journey-mode-switch{top:17%}.journey-mode-switch button{padding:6px 20px;min-height:32px}.restoration-status{display:none}.windway-focus{top:55%;min-height:0;width:74vw;max-height:60dvh}.windway-art{min-height:0}.windway-preflight{padding:16px 23px;gap:10px}.windway-promise{font-size:17px}.windway-promise img{width:45px;height:55px}.windway-equipment{padding:9px 0;font-size:10px}.windway-controls>*{padding:7px;font-size:11px;min-height:36px}.windway-identity{bottom:80px}.windway-identity h2{font-size:30px}.windway-record strong{font-size:32px}.windway-meta{gap:4px 9px}.windway-meta small,.windway-meta .text-button{font-size:9px}.story-folio{min-height:0;height:84dvh}.story-paint{min-height:0}.story-copy{padding:35px 24px 20px;gap:9px}.story-copy h2{font-size:28px}.story-copy p{font-size:12px}.story-copy blockquote{font-size:13px;margin:0}.story-copy .primary{padding:9px}.endless-result{width:650px;display:grid;grid-template-columns:1fr 1fr;gap:9px 20px;padding:15px 22px}.endless-result>header,.endless-result>footer,.endless-result>.result-links{grid-column:1/-1}.endless-result-hero{grid-row:2/4;min-height:105px}.endless-result-hero>img{width:70px;height:110px}.endless-result-hero h2{font-size:48px}.endless-result-facts{gap:6px;padding:9px 0}.endless-result-facts small{font-size:8px;margin-bottom:6px}.endless-result-facts strong{font-size:19px}.endless-loadout p{font-size:10px}.endless-loadout small{font-size:9px}.endless-validation{grid-column:1/-1;font-size:10px}.endless-result>footer>*{padding:9px;font-size:11px}.endless-result .result-links button{font-size:9px}}
@media(max-width:700px) and (max-height:700px){.journey-mode-switch{top:16%}.windway-focus{top:57%;max-height:66dvh}.windway-art{height:24dvh;min-height:150px}.windway-identity h2{font-size:29px}.windway-identity p{display:none}.windway-identity{bottom:65px}.windway-preflight{gap:10px;padding:13px 16px}.windway-equipment{font-size:10px;padding-bottom:8px}.windway-equipment small{font-size:8px}.windway-controls>*{min-height:38px;padding:8px;font-size:10px}.windway-meta .text-button{font-size:9px}.windway-meta small{font-size:9px}.windway-week{font-size:8px}.endless-result{padding:13px 17px;gap:10px}.endless-result-hero{min-height:85px}.endless-result-hero>img{height:90px;width:65px}.endless-result-hero h2{font-size:47px;margin:7px 0}.endless-result-hero small{font-size:8px}.endless-result-hero p{font-size:10px}.endless-result-facts{padding:10px 0}.endless-result-facts small{font-size:9px;margin-bottom:5px}.endless-result-facts strong{font-size:20px}.endless-loadout p{font-size:10px}.endless-loadout small{font-size:9px}.endless-validation{font-size:10px}.endless-result>footer>*{padding:10px 8px;font-size:10px}.endless-result .result-links button{font-size:9px}.story-paint{height:19dvh}.story-copy{padding:17px;gap:8px}.story-copy h2{font-size:25px}.story-copy p{font-size:11px}.story-copy blockquote{font-size:11px}.story-copy .primary{padding:9px}.story-copy .text-button{font-size:10px}}
@media(prefers-reduced-motion:reduce){.story-lantern img{animation:none}}

.windway-focus:after,.story-folio:after,.endless-result:after,.competition-folio:after,.share-folio:after{content:'';position:absolute;inset:0;z-index:8;border:17px solid transparent;border-image:var(--ui-frame) 120/17px/0 stretch;pointer-events:none}
.endless-result,.competition-folio,.share-folio{position:relative}.windway-controls .primary,.endless-result footer .primary{background:linear-gradient(140deg,#477b68,#315b50);box-shadow:inset 0 0 0 1px #bbad78,inset 0 0 0 4px #fff1,0 3px 11px #365e4d1f}
.keepsake-folio{padding:26px}.keepsake-folio header{display:flex;justify-content:space-between;align-items:center}.keepsake-folio h2{font:34px var(--serif);margin:0}.keepsake-folio>p{font-size:12px;color:#829272;line-height:1.6}.keepsake-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:20px}.keepsake-grid article{padding:18px 12px;text-align:center;background:#fffbe7a8;border:1px solid #c5caa7;border-radius:5px}.keepsake-grid img{width:100%;height:150px;object-fit:contain}.keepsake-grid article:nth-child(2) img{filter:hue-rotate(15deg)}.keepsake-grid article:nth-child(3) img{filter:hue-rotate(170deg)}.keepsake-grid .locked img{opacity:.42;filter:grayscale(1)}.keepsake-grid small{display:block;font-size:10px;color:#a5905c}.keepsake-grid h3{font:23px var(--serif);margin:14px 0 8px}.keepsake-grid p{font-size:11px;line-height:1.6;color:#819271}.keepsake-grid button{font-size:11px;padding:10px}
@media(max-width:700px){.keepsake-folio{padding:20px}.keepsake-folio h2{font-size:27px}.keepsake-grid{gap:8px}.keepsake-grid article{padding:13px 5px}.keepsake-grid img{height:100px}.keepsake-grid h3{font-size:18px}.keepsake-grid p,.keepsake-grid small{font-size:9px}.keepsake-grid button{font-size:9px;padding:7px}}
