:root{color-scheme:light;--paper:#f6f2e8;--paper-light:#fffdf6;--ink:#263c38;--teal:#214c48;--teal-dark:#173d39;--muted:#67736a;--honey:#dfac50;--orange:#a76536;--line:#dddccf;--sage:#e2e8da;--shadow:0 18px 54px #263c3810;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{margin:0;color:var(--ink);font-size:16px;line-height:1.6;-webkit-text-size-adjust:100%;padding-bottom:env(safe-area-inset-bottom)}[hidden]{display:none!important}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;border:0;color:inherit}button:disabled{cursor:default;opacity:.5}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,canvas:focus-visible{outline:3px solid #b67b25;outline-offset:4px}button svg{width:21px;height:21px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.13;letter-spacing:-.025em}h2{font-size:34px;margin-bottom:20px}h3{font-size:24px;margin-bottom:14px}p{margin-bottom:16px}button:active{transform:translateY(1px)}
.skip-link{position:fixed;top:8px;left:8px;z-index:100;padding:12px 18px;background:var(--teal);color:white;transform:translateY(-160%)}.skip-link:focus{transform:none}.world-header{height:88px;max-width:1600px;margin:auto;padding:0 42px;display:flex;align-items:center;gap:30px}.tudd-logo{font-size:35px;font-weight:800;letter-spacing:-2px;text-decoration:none;line-height:1;display:flex;align-items:center;gap:10px}.logo-flower{color:var(--orange);font-size:36px;font-weight:400;letter-spacing:0}.logo-dot{color:var(--orange);margin-left:-8px}.all-worlds{font-size:13px;color:var(--muted);text-decoration:none;white-space:nowrap}.all-worlds:hover{color:var(--teal)}.world-tools{margin-left:auto;display:flex;align-items:center;gap:8px}.tool-button,.round-button{height:44px;min-width:44px;display:inline-flex;justify-content:center;align-items:center;gap:8px;border-radius:100px;background:transparent}.tool-button{padding:0 16px;font-size:13px;font-weight:600}.tool-button:hover,.round-button:hover{background:#e8eadf}.round-button{font-family:Georgia,serif;font-size:24px}.round-button[aria-pressed="true"]{background:var(--teal);color:var(--paper-light)}
.eyebrow{font-size:10px;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;font-weight:750;color:var(--orange)}.primary,.soft-button{min-height:48px;padding:13px 22px;border-radius:9px;display:inline-flex;justify-content:center;align-items:center;gap:18px;text-decoration:none;font-size:14px;line-height:1.4;font-weight:650;transition:background .18s ease,box-shadow .18s ease}.primary{background:var(--teal);color:var(--paper-light);box-shadow:0 4px 12px #173d3914}.primary:hover{background:var(--teal-dark);box-shadow:0 6px 18px #173d3925}.primary span{font-weight:400;font-size:20px}.soft-button{background:#e7ebdf;border:1px solid #d5ddcd}.soft-button:hover{background:#dce4d3}.text-button{padding:8px 0;min-height:44px;background:none;color:var(--teal);font-size:13px;text-decoration:underline;text-underline-offset:4px;display:inline-flex;align-items:center;gap:8px}.small-note{font-size:12px;line-height:1.65;color:var(--muted)}.button-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.storage-alert{max-width:1400px;margin:8px auto 16px;padding:16px 22px;background:#fff0d8;border:1px solid #cfa24c;border-radius:10px;color:#62431d;font-size:14px}
.welcome-view{position:relative;min-height:710px;height:calc(100svh - 176px);max-height:950px;isolation:isolate;overflow:hidden;background:#c5d0bd;border-radius:15px;margin:0 22px}.welcome-art,.welcome-shade{position:absolute;inset:0;z-index:-1}.welcome-art{background:url("world-art/scene-stutti.4345ab56c1cb.webp") 61% 49%/cover no-repeat;transform:scale(1.015);animation:picture-arrive 1.3s ease-out both}.welcome-shade{background:linear-gradient(90deg,#f3eddfed 0%,#f3eddfde 23%,#f3eddf89 42%,#f3eddf00 65%),linear-gradient(0deg,#183b351b,transparent 25%)}.welcome-copy{padding:62px 0 90px 6.4%;max-width:650px}.edition{font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:750;display:flex;align-items:center;gap:10px;margin-bottom:28px}.tiny-star{font-size:19px;color:#9a6b30}.welcome-copy h1{font-size:clamp(50px,5.2vw,82px);line-height:1.03;letter-spacing:-.045em;margin-bottom:25px;text-wrap:balance}.welcome-copy h1 em{font-weight:400;color:#96703d}.welcome-lead{font-size:17px;line-height:1.65;color:#3c5048;margin-bottom:28px}.welcome-actions{display:flex;align-items:flex-start;gap:13px;flex-direction:column}.welcome-actions .primary{font-size:15px;min-height:54px;padding:15px 25px}.welcome-profile{min-height:44px;padding:8px 1px;background:none;font-size:12px;color:#36554a;display:inline-flex;align-items:center;gap:14px;border-bottom:1px solid #6b7d5c5c}.welcome-memory{font-size:11px;line-height:1.6;color:#526755;max-width:280px;margin:21px 0 0}.welcome-location{position:absolute;right:3.6%;bottom:32px;display:flex;gap:13px;align-items:center;color:#fffdf4;text-shadow:0 1px 5px #143b36ba}.welcome-location strong{font-size:11px;letter-spacing:.06em;font-weight:650}.welcome-location small{display:block;font-size:11px;opacity:.85}.location-seal{height:45px;width:32px;border-right:1px solid #fff9;line-height:1.2;font-size:10px;padding-top:2px}.welcome-chapter{position:absolute;bottom:28px;left:6.4%;font-size:9px;font-weight:650;letter-spacing:.16em;color:#47614f}
.world-footer{max-width:1600px;margin:auto;min-height:88px;padding:22px 42px;display:flex;align-items:center;gap:20px;justify-content:space-between;font-size:11px;color:var(--muted)}.footer-signature{white-space:nowrap}.footer-signature span{color:var(--teal)}.world-footer nav{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.world-footer a{font-size:11px;text-decoration:none}.world-footer a:hover{text-decoration:underline}.world-footer .text-button{font-size:11px}.local-status{display:flex;align-items:center;gap:8px;justify-content:center;flex-wrap:wrap;font-size:10px}.status-dot{opacity:.6}
.play-view{max-width:1600px;margin:auto;padding:10px 36px 28px}.scene-topline{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:2px 0 25px}.scene-heading .eyebrow{font-size:10px}.scene-heading h1{font-size:37px;margin:5px 0 0}.journey-status{display:flex;align-items:center;gap:20px}.quest-progress{font-size:12px;color:var(--teal);padding:8px 12px;border:1px solid var(--line);border-radius:40px}.journey-status .soft-button{min-height:44px;padding:10px 16px;font-size:12px}.adventure-layout{display:grid;grid-template-columns:minmax(0,1fr) 308px;gap:26px;align-items:start}.world-picture{min-width:0}.stage-wrap{position:relative;aspect-ratio:3/2;background:#d8dece;border-radius:12px;overflow:hidden;box-shadow:0 8px 28px #263c3812;isolation:isolate}#world-stage{display:block;width:100%;height:auto;aspect-ratio:3/2;touch-action:none;cursor:pointer}.scene-loading{position:absolute;inset:0;background:#e9eadd;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:15px;color:var(--teal);font-size:13px}.loading-leaf{font-family:Georgia,serif;font-size:52px;color:#a77936;animation:leaf-float 1.8s ease-in-out infinite}.picture-caption{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:12px 2px 14px;font-size:11px;color:var(--muted)}.picture-caption p{margin:0}.picture-caption p span{color:var(--orange);font-size:17px;margin-right:5px}.tap-note{font-size:10px;white-space:nowrap;color:#808775}.places-heading{display:flex;align-items:center;justify-content:space-between;margin:9px 0 10px;gap:10px}.places-heading .eyebrow{font-size:9px}.places-heading .small-note{font-size:10px}.place-actions{display:flex;gap:8px;flex-wrap:wrap}.place-actions button{min-height:44px;padding:10px 14px;border:1px solid #d8ddce;background:#eeefe5;border-radius:7px;font-size:12px;line-height:1.3;display:flex;align-items:center;gap:7px;text-align:left}.place-actions button:hover{background:#e1e7d8;border-color:#9ba98f}.place-actions button[aria-pressed="true"],.place-actions button.active{background:var(--teal);color:white;border-color:var(--teal)}.place-actions button.solved,.place-actions button[data-solved="true"]{border-color:#a4bba3;background:#e1ead9}
.encounter{position:relative;background:var(--paper-light);padding:28px 25px 27px;border-radius:6px 6px 15px 6px;border:1px solid #e6e2d5;box-shadow:var(--shadow);min-height:310px;overflow:hidden}.encounter-flourish{font-size:28px;color:#be8d3f;line-height:1;margin-bottom:23px}.encounter>.eyebrow{font-size:9px}.encounter h2{font-size:29px;line-height:1.15;margin:9px 0 18px}.prose{font-size:14px;line-height:1.85;color:#45544b}.prose p:last-child{margin-bottom:0}.encounter .prose{font-size:14px;line-height:1.8}.encounter-actions{display:flex;flex-direction:column;gap:10px;margin-top:13px}.encounter-actions:empty,.word-help:empty,.puzzle-options:empty,.puzzle-feedback:empty{display:none}.encounter-actions button{min-height:44px;border-radius:7px;padding:12px 15px;background:var(--teal);color:var(--paper-light);font-size:13px}.word-help{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0 5px}.word-help button{min-height:44px;border-radius:100px;border:1px solid #d4decc;background:#eef2e6;color:#48623f;padding:7px 11px;font-size:11px}.word-help p{font-size:13px;line-height:1.65;flex-basis:100%}.puzzle-evidence{background:#f4efdf;border-left:2px solid #c09b52;border-radius:0 6px 6px 0;padding:13px 14px;margin:20px 0;color:#675837;font-family:Georgia,serif;font-size:14px;line-height:1.7}.puzzle-evidence p{margin:0 0 6px}.puzzle-evidence p:last-child{margin-bottom:0}.puzzle-options{display:flex;flex-direction:column;gap:9px;margin:20px 0 10px}.puzzle-options button{min-height:48px;border:1px solid #d6ddcd;border-radius:8px;background:#f8f9f0;text-align:left;padding:12px 14px;font-size:13px;line-height:1.45;transition:background .15s,border-color .15s}.puzzle-options button:hover{background:#e9efdd;border-color:#a0af92}.puzzle-options button.selected,.puzzle-options button[aria-pressed="true"]{background:var(--teal);color:var(--paper-light);border-color:var(--teal)}.puzzle-feedback{font-size:13px;line-height:1.75;color:#45664b;padding:13px 0 2px;margin-bottom:5px}.puzzle-feedback.error{color:#956036}.puzzle-order{display:flex;gap:6px;flex-wrap:wrap;min-height:42px;padding:10px;border:1px dashed #bdc9ae;border-radius:6px;margin:16px 0;font-size:12px;color:var(--teal)}.puzzle-order span{background:#e7eedc;padding:4px 8px;border-radius:5px}.puzzle-controls{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.puzzle-controls .primary{font-size:12px;padding:12px 15px;width:100%}.hint-button{margin:6px 0 0;min-height:44px;background:none;font-size:12px;color:#887244;padding:8px 0;text-decoration:underline;text-underline-offset:4px}.next-place{width:100%;margin-top:22px;font-size:12px}.paper-corner{position:absolute;right:0;bottom:0;width:21px;height:21px;background:linear-gradient(135deg,transparent 48%,#e5dfc9 49%,#f4f0e2 100%);border-top-left-radius:5px;pointer-events:none}
dialog{position:fixed;border:1px solid #dedecd;border-radius:16px;background:var(--paper-light);color:var(--ink);padding:33px;width:min(650px,calc(100% - 32px));max-height:90svh;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 28px 100px #172c3740}dialog::backdrop{background:#173d396b;backdrop-filter:blur(5px)}dialog p{font-size:14px;line-height:1.8}dialog h2{font-size:34px;margin:7px 0 0}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:29px}.dialog-heading .eyebrow{font-size:9px}.close-dialog{background:#edf0e5;min-width:44px;height:44px;padding:0;line-height:1;border-radius:50%;font-size:25px;color:#53634e;flex-shrink:0}.close-dialog:hover{background:#e0e7d5}.dialog-done{margin-top:18px}
.map-dialog{width:min(850px,calc(100% - 32px))}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.88fr);gap:28px}.map-picture{background:#e8ecdf;border-radius:10px;overflow:hidden;min-width:0}.map-picture canvas{display:block;max-width:100%;height:auto;width:100%}.map-details .prose{font-size:13px}.map-places{display:flex;flex-direction:column;gap:10px}.map-places button{min-height:54px;background:#eef1e5;border:1px solid #dbe2d1;border-radius:8px;padding:12px 15px;text-align:left;font-size:13px;color:var(--teal)}.map-places button:hover,.map-places button.active{background:var(--teal);color:white}.map-places button span,.map-places button small{display:block;font-size:10px;margin-top:4px;font-weight:400}.map-caption{margin-top:20px}.map-compass{display:block;width:38px;margin-top:20px;color:#899578;line-height:1.5;text-align:center;font-size:13px}.map-compass small{font-size:9px}
.notebook-dialog{width:min(730px,calc(100% - 32px))}.notebook-dialog section+section{border-top:1px solid var(--line);margin-top:28px;padding-top:25px}.clue-list{display:flex;gap:10px;flex-wrap:wrap}.clue-list>div,.clue-list>article,.clue-list>span{flex:1;min-width:110px;border:1px solid #dbe1d0;background:#f0f3e7;border-radius:8px;padding:15px;font-size:13px}.clue-list h4,.clue-list strong{display:block;font-size:13px;font-weight:650;margin:0 0 5px}.clue-list p{font-size:11px;margin:0;color:var(--muted);line-height:1.6}.journal-label{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:12px}.journal-label label{font-family:Georgia,serif;font-size:22px;line-height:1.25}.journal-label span{white-space:nowrap;font-size:10px}textarea{width:100%;display:block;min-height:150px;resize:vertical;border:1px solid #cbd5c0;border-radius:7px;background:repeating-linear-gradient(#fffdf6 0px,#fffdf6 31px,#dfe5d9 32px);padding:13px 15px;color:var(--ink);font-size:15px;line-height:32px}textarea::placeholder{color:#87917e}.journal-section>.small-note{margin:9px 0 15px}.offscreen-section h3{margin-top:9px}.offscreen-list{display:grid;gap:12px}.offscreen-list article,.offscreen-list>div{background:#f0f2e7;border-radius:8px;padding:16px 18px}.offscreen-list h4{font-size:13px;margin:0 0 5px}.offscreen-list p{font-size:12px;line-height:1.65;margin:0;color:#5b6b59}
.profile-section{background:#f0f2e8;border:1px solid #dce3d1;border-radius:10px;padding:21px;margin-bottom:12px}.profile-section h3{margin-top:8px}.profile-section p{font-size:12px;line-height:1.75}.profile-section .eyebrow{font-size:9px}.profile-status{color:var(--teal);font-weight:600}.profile-section .soft-button{font-size:12px}.setting-row{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:21px 0;border-bottom:1px solid var(--line)}.setting-row label{flex:1}.setting-row strong{display:block;font-size:13px;font-weight:650}.setting-row small{display:block;font-size:11px;color:var(--muted);line-height:1.65;margin-top:3px}select{min-height:44px;border:1px solid #cdd7c3;background:#f6f7ed;border-radius:7px;padding:8px 10px;max-width:45%;font-size:13px;color:var(--teal)}input[type="checkbox"]{appearance:none;width:44px;height:28px;min-width:44px;border-radius:18px;background:#cbd2c0;position:relative;cursor:pointer;box-shadow:0 0 0 8px transparent}input[type="checkbox"]::after{content:"";position:absolute;width:22px;height:22px;background:white;border-radius:50%;top:3px;left:3px;box-shadow:0 1px 4px #29432825;transition:transform .18s}input[type="checkbox"]:checked{background:var(--teal)}input[type="checkbox"]:checked::after{transform:translateX(16px)}.backup-section{padding:25px 0 2px}.backup-section>p{font-size:12px;line-height:1.7}.backup-section .button-row{margin-bottom:14px}.backup-section .soft-button{font-size:12px}.settings-message{color:var(--teal)}
.story-dialog{text-align:center;width:min(575px,calc(100% - 32px));padding:45px 44px}.story-dialog h2{font-size:40px;margin:12px 0 25px}.story-dialog .prose{text-align:left;font-size:14px;line-height:1.9}.story-dialog>.primary{margin-top:30px}.story-symbol{display:block;font-family:Georgia,serif;color:#b28a3e;font-size:48px;line-height:1.1;margin-bottom:24px}.story-close{position:absolute;right:16px;top:16px}.story-dialog>.eyebrow{font-size:9px}.ending-dialog .button-row{margin-top:28px;justify-content:center;gap:8px}.ending-dialog .button-row .primary{width:100%}.pause-dialog{text-align:center;width:min(460px,calc(100% - 32px));padding:45px 30px}.pause-dialog h2{font-size:39px;margin:12px 0 18px}.pause-dialog>p{color:var(--muted);font-size:13px}.pause-dialog>.primary{margin-top:15px}.world-toast{position:fixed;left:50%;bottom:max(26px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:100;max-width:min(500px,calc(100% - 32px));padding:13px 20px;color:var(--paper-light);background:#254d47f5;border:1px solid #64816a;border-radius:10px;box-shadow:0 7px 25px #173d3925;text-align:center;font-size:13px;pointer-events:none}.world-toast:empty{display:none}
@keyframes picture-arrive{from{opacity:.7;transform:scale(1.04)}to{opacity:1;transform:scale(1.015)}}@keyframes leaf-float{50%{transform:translateY(-6px) rotate(9deg)}}
@media(min-width:1700px){.welcome-view{max-width:1556px;margin:auto}.welcome-copy{padding-left:7%}}
@media(max-width:1180px){.world-header{padding:0 27px;height:78px;gap:20px}.welcome-view{min-height:670px;height:calc(100svh - 165px);margin:0 15px}.welcome-copy{padding-top:55px;padding-left:5%}.welcome-copy h1{font-size:66px}.welcome-lead{font-size:16px}.welcome-shade{background:linear-gradient(90deg,#f3eddfed,#f3eddfb8 32%,#f3eddf26 68%),linear-gradient(0deg,#183b3525,transparent 30%)}.welcome-chapter{left:5%}.world-footer{padding:18px 27px;gap:14px;flex-wrap:wrap;min-height:87px}.world-footer nav{gap:13px}.local-status{font-size:9px}.play-view{padding:8px 25px 25px}.adventure-layout{grid-template-columns:minmax(0,1fr) 276px;gap:18px}.encounter{padding:23px 21px}.encounter h2{font-size:26px}.encounter-flourish{margin-bottom:18px}.scene-heading h1{font-size:32px}.tap-note{display:none}}
@media(max-width:900px){.world-header{gap:16px;padding:0 24px}.tudd-logo{font-size:31px;gap:6px}.logo-flower{font-size:32px}.all-worlds{font-size:11px}.world-tools{gap:3px}.tool-button{padding:0 12px;font-size:12px}.welcome-view{min-height:740px;max-height:980px}.welcome-copy{padding-top:68px;padding-left:6%;max-width:550px}.welcome-copy h1{font-size:70px}.welcome-shade{background:linear-gradient(90deg,#f3eddfec,#f3eddfaa 42%,#f3eddf12 85%),linear-gradient(0deg,#183b3542,transparent 30%)}.welcome-art{background-position:59% 50%}.welcome-location{right:5%;bottom:28px}.welcome-chapter{left:6%}.adventure-layout{grid-template-columns:minmax(0,1fr);gap:24px}.encounter{min-height:0;padding:27px 30px}.encounter h2{font-size:30px}.encounter-flourish{float:right;margin:0}.encounter .prose{font-size:14px}.puzzle-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.puzzle-controls{flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px}.puzzle-controls .primary{width:auto}.encounter-actions{flex-direction:row;flex-wrap:wrap}.encounter-actions button{min-width:180px}.next-place{width:auto}.picture-caption{padding-bottom:11px}.scene-topline{margin-bottom:20px}.scene-heading h1{font-size:34px}.world-footer{justify-content:center;row-gap:8px}.world-footer nav{margin-left:auto}.footer-signature{margin-right:auto}.local-status{order:3;flex-basis:100%;font-size:10px}}
@media(max-width:600px){.world-header{height:72px;padding:0 18px;gap:9px}.tudd-logo{font-size:28px;gap:5px}.logo-flower{font-size:28px}.all-worlds{margin-left:4px;font-size:16px}.all-worlds span{display:none}.world-tools{gap:0}.tool-button{padding:0;width:44px;min-width:44px;height:44px}.tool-button span{display:none}.round-button{min-width:44px;width:44px}.world-header svg{width:20px}.welcome-view{margin:0 10px;border-radius:12px;min-height:720px;height:calc(100svh - 83px);max-height:900px}.welcome-art{background-position:60% center}.welcome-shade{background:linear-gradient(90deg,#f3eddfef,#f3eddfb5 48%,#f3eddf28),linear-gradient(0deg,#183b3554,transparent 25%)}.welcome-copy{padding:47px 25px 115px;max-width:400px}.edition{font-size:8px;letter-spacing:.1em;gap:8px;margin-bottom:28px}.tiny-star{font-size:15px}.welcome-copy h1{font-size:clamp(49px,13.5vw,70px);line-height:1.05;margin-bottom:25px}.welcome-lead{font-size:14px;line-height:1.7;margin-bottom:26px}.welcome-actions .primary{font-size:13px;min-height:51px;padding:14px 20px}.welcome-profile{font-size:11px}.welcome-memory{font-size:10px;max-width:215px;margin-top:17px}.welcome-location{left:25px;right:auto;bottom:22px;gap:10px}.welcome-location strong{font-size:10px}.welcome-location small{font-size:10px}.location-seal{height:35px;font-size:9px}.welcome-chapter{display:none}.world-footer{padding:21px 20px;gap:8px 12px;min-height:130px;justify-content:flex-start}.footer-signature{font-size:10px;flex-basis:100%;text-align:center;margin:0}.world-footer nav{gap:18px;margin:auto;justify-content:center}.world-footer nav a,.world-footer .text-button{font-size:10px}.world-footer .local-status{font-size:9px;gap:5px}.play-view{padding:7px 13px 24px}.scene-topline{align-items:flex-start;gap:10px;margin:7px 2px 18px}.scene-heading .eyebrow{font-size:8px;letter-spacing:.1em}.scene-heading h1{font-size:27px;line-height:1.1;margin-top:7px}.journey-status{gap:6px;align-items:flex-end;flex-direction:column}.quest-progress{font-size:9px;padding:4px 8px;max-width:135px;line-height:1.5;text-align:center}.journey-status .soft-button{font-size:11px;padding:8px 12px;min-height:44px;gap:8px}.stage-wrap{border-radius:8px}.picture-caption{font-size:10px;padding:8px 2px 10px}.picture-caption p span{font-size:14px;margin-right:3px}.places-heading{margin:8px 2px}.places-heading .small-note{font-size:9px}.places-heading .eyebrow{font-size:9px}.place-actions{gap:6px}.place-actions button{font-size:11px;min-height:44px;padding:10px 11px;flex-grow:1;justify-content:center;text-align:center;max-width:100%}.adventure-layout{gap:21px}.encounter{padding:24px 22px}.encounter h2{font-size:28px;max-width:90%}.encounter .prose{font-size:14px}.encounter>.eyebrow{font-size:9px}.puzzle-options{grid-template-columns:1fr}.puzzle-options button{font-size:14px;min-height:48px}.puzzle-controls{align-items:flex-start;flex-direction:column;gap:2px}.puzzle-controls .primary{width:100%}.encounter-actions{flex-direction:column}.encounter-actions button{font-size:13px}.next-place{width:100%}dialog{padding:26px 22px;width:calc(100% - 22px);max-height:90svh;border-radius:13px}dialog h2{font-size:29px}.dialog-heading{gap:10px;margin-bottom:23px}.dialog-heading .eyebrow{font-size:9px}.close-dialog{min-width:44px;width:44px;height:44px}.map-dialog{width:calc(100% - 22px)}.map-layout{grid-template-columns:minmax(0,1fr);gap:21px}.map-picture{max-width:320px;margin:auto;width:100%}.map-details{display:flex;flex-direction:column}.map-details>.prose{order:0}.map-places{order:1}.map-caption{order:2}.map-compass{display:none}.map-places button{min-height:50px;font-size:13px}.map-caption{font-size:11px}.notebook-dialog{width:calc(100% - 22px)}.notebook-dialog h3{font-size:22px}.clue-list{gap:7px}.clue-list>div,.clue-list>article,.clue-list>span{padding:12px;min-width:85px}.journal-label{align-items:flex-start}.journal-label label{font-size:20px}.journal-label span{font-size:10px}.button-row{gap:9px}.button-row .soft-button{font-size:12px;padding:12px 13px}.setting-row{gap:12px}.setting-row strong{font-size:13px}.setting-row small{font-size:11px}.profile-section{padding:18px}.profile-section h3{font-size:25px}select{font-size:12px;padding:8px;max-width:45%}.story-dialog{padding:45px 27px 30px}.story-dialog h2{font-size:36px}.story-dialog .prose{font-size:14px}.story-symbol{font-size:42px;margin-bottom:20px}.story-dialog>.primary{font-size:13px}.ending-dialog .button-row .primary{font-size:13px}.pause-dialog{padding:42px 25px}.pause-dialog h2{font-size:34px}.world-toast{font-size:12px;padding:12px 17px;bottom:max(17px,env(safe-area-inset-bottom))}}
@media(max-width:370px){.world-header{padding:0 12px;gap:4px}.world-tools{gap:0}.tool-button,.round-button{min-width:44px;width:44px}.welcome-copy{padding-left:21px;padding-right:16px}.welcome-copy h1{font-size:49px}.welcome-location{left:21px}.welcome-view{min-height:710px}.edition{font-size:8px}.scene-heading h1{font-size:24px}.scene-heading .eyebrow{font-size:8px}.quest-progress{max-width:110px;font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.welcome-art{transform:none}.loading-leaf{animation:none}}

/* Activities remain inside their place, with the world kept mounted beneath. */
.world-identity{font-size:12px;color:var(--muted);line-height:1.5;max-width:150px}
.place-actions .place-activity{background:#f5efdc;border-color:#cbb788}
.activity-dialog{padding:0;width:calc(100% - 32px);max-width:1440px;height:calc(100svh - 32px);max-height:calc(100svh - 32px);overflow:hidden;border-radius:15px}
.activity-dialog[open]{display:flex;flex-direction:column}
.activity-heading{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 22px;border-bottom:1px solid var(--line);background:var(--paper-light)}
.activity-heading h2{font-size:24px;margin:4px 0 0}.activity-heading .eyebrow{font-size:9px}.activity-heading .soft-button{flex-shrink:0;font-size:12px;min-height:44px;padding:10px 14px;gap:8px}
.activity-status{flex:0 0 auto;margin:0;padding:9px 22px;font-size:12px!important;line-height:1.5!important;background:#f1eedf;color:var(--teal)}.activity-status:empty{display:none}
.activity-content{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.activity-frame{width:100%;height:100%;display:block;border:0;background:var(--paper-light)}
.school-focus{max-width:540px;margin:clamp(35px,12vh,130px) auto;padding:25px 30px;text-align:center}.school-focus h3{font-size:34px}.school-focus p{font-size:15px;line-height:1.9;color:var(--muted)}
#world-memory-status:empty{display:none}#world-memory-status:not(:empty){flex-basis:100%;max-width:560px;color:#91652e}
@media(max-width:700px){.world-identity{display:none}.activity-dialog{width:100%;max-width:100%;height:100svh;max-height:100svh;margin:0;border:0;border-radius:0}.activity-heading{padding:10px 12px;padding-top:max(10px,env(safe-area-inset-top));gap:8px}.activity-heading h2{font-size:19px}.activity-heading .eyebrow{font-size:8px;letter-spacing:.06em}.activity-heading .soft-button{max-width:148px;font-size:11px;padding:8px 10px}.activity-status{padding:9px 12px}.activity-content{padding-bottom:env(safe-area-inset-bottom)}.school-focus{padding:25px 23px}}
.activity-frame-pending{visibility:hidden;pointer-events:none}
.activity-fallback{padding:35px 24px;text-align:center}.activity-fallback .soft-button{max-width:100%}

/* Exploration is the painted place itself. The welcome page remains a page;
   a world entered from either address becomes a viewport with a quiet HUD. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body.is-exploring{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;min-height:0;padding:0;margin:0;overflow:hidden;overscroll-behavior:none;background:#c5d0bd}
html:has(body.is-exploring){height:100%;overflow:hidden;overscroll-behavior:none;scroll-behavior:auto}
.is-exploring #main{position:absolute;inset:0;min-height:0;width:100%;height:100%;overflow:hidden;outline:none}
.is-exploring .play-view{position:absolute;inset:0;max-width:none;width:100%;height:100%;min-height:0;padding:0;margin:0}
.is-exploring .adventure-layout,.is-exploring .world-picture{display:block;position:relative;width:100%;height:100%;min-width:0;min-height:0;padding:0;margin:0}
.is-exploring .stage-wrap{position:relative;width:100%;height:100%;min-height:0;aspect-ratio:auto;border:0;border-radius:0;box-shadow:none;overflow:hidden}
.is-exploring #world-stage{display:block;width:100%;height:100%;aspect-ratio:auto;border:0;touch-action:none;cursor:grab}
.is-exploring #world-stage:active{cursor:grabbing}
.is-exploring #world-stage:focus-visible{outline:2px solid #fff0ba;outline-offset:-3px}
.is-exploring .world-header{position:absolute;inset:0 0 auto;z-index:30;display:block;max-width:none;width:100%;height:auto;margin:0;padding:max(14px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));pointer-events:none}
.is-exploring .world-header>.tudd-logo,.is-exploring .world-header>.world-identity{display:none}
.is-exploring .world-tools{display:grid;grid-template-columns:48px 48px minmax(0,1fr) 48px 48px;align-items:start;gap:9px;margin:0;width:100%;pointer-events:none}
.is-exploring .world-tools #open-map{grid-column:1}
.is-exploring .world-tools #open-notebook{grid-column:2}
.is-exploring .world-tools #open-places{grid-column:4}
.is-exploring .world-tools #open-settings{grid-column:5}
.is-exploring .world-tools button{width:48px;height:48px;min-width:48px;min-height:48px;padding:0;border:1px solid #e9e6cb73;border-radius:14px 12px 15px 12px;background:#f8f3e5d9;color:#31564b;box-shadow:0 2px 10px #29433426;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:auto;transition:background .15s,box-shadow .15s}
.is-exploring .world-tools button:hover{background:#fff9eaf2;box-shadow:0 3px 14px #29433438}
.is-exploring .world-tools button:focus-visible{outline:3px solid #fff1bd;outline-offset:3px;box-shadow:0 0 0 5px #4b6d4cb8}
.is-exploring .world-tools button:disabled{pointer-events:none;opacity:.55}
.is-exploring .world-tools button>span{display:none}
.is-exploring .world-tools button svg{width:22px;height:22px;stroke-width:1.6}
.is-exploring .world-footer{display:none}
.scene-location{display:none}
.is-exploring .scene-location{position:absolute;z-index:25;top:calc(max(14px,env(safe-area-inset-top)) + 12px);left:50%;transform:translateX(-50%);max-width:calc(100% - 300px);padding:3px 10px;border-radius:9px;background:#284d3b46;color:#fff9e6;text-shadow:0 1px 3px #263c38a8;font:15px/1.4 Georgia,"Times New Roman",serif;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;display:block}
.camera-hint{position:absolute;z-index:8;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);width:max-content;max-width:calc(100% - 130px);margin:0;padding:6px 10px;border-radius:10px;color:#fff8df;background:#2f503e73;text-shadow:0 1px 2px #263c3870;font-size:11px;line-height:1.4;pointer-events:none;text-align:center}
.is-exploring .scene-loading{z-index:12}
.is-exploring .world-toast{bottom:max(22px,calc(env(safe-area-inset-bottom) + 8px));z-index:45}
.is-exploring #world-storage-alert{position:absolute;z-index:40;top:calc(max(14px,env(safe-area-inset-top)) + 61px);left:50%;transform:translateX(-50%);width:min(620px,calc(100% - 28px));max-height:calc(40dvh - 20px);overflow:auto;margin:0;padding:11px 15px;border-radius:10px;background:#fff0d8f2;font-size:12px;line-height:1.6;box-shadow:0 3px 14px #29433424}
.world-memory-alert{margin:8px auto;max-width:650px;padding:11px 16px;color:#785127;background:#fff0d8;border:1px solid #d6b66f;border-radius:9px;font-size:12px;line-height:1.6}
.world-memory-alert:empty{display:none}
.is-exploring .world-memory-alert{position:absolute;z-index:40;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(620px,calc(100% - 28px));max-height:30dvh;overflow:auto;margin:0;background:#fff0d8f2;box-shadow:0 3px 14px #29433424}

/* Optional discoveries and the selected story appear only when requested. */
.places-dialog{width:min(590px,calc(100% - 32px))}
.places-companion{color:var(--muted);font-size:13px;line-height:1.7;margin:0 0 13px}
.places-companion>span{color:var(--orange)}
.places-dialog .place-actions{gap:9px;margin-top:20px}
.places-dialog .place-actions button{min-height:48px;flex:1 1 190px;justify-content:flex-start;text-align:left;padding:12px 14px;font-size:13px}
.places-dialog .quest-progress{font-size:12px;display:inline-block;line-height:1.5;max-width:100%;text-align:left}
.encounter-dialog{width:min(600px,calc(100% - 32px));padding:31px;border-radius:15px 13px 20px 13px}
.encounter-dialog .encounter{position:relative;border:0;box-shadow:none;min-height:0;padding:0;background:transparent;overflow:visible;border-radius:0}
.encounter-dialog .encounter-close{position:absolute;right:-7px;top:-7px;z-index:1}
.encounter-dialog .encounter-flourish{float:none;margin:0 58px 18px 0}
.encounter-dialog .encounter h2{max-width:calc(100% - 42px);font-size:31px}
.encounter-dialog .encounter>.eyebrow{display:block;max-width:calc(100% - 48px)}
.encounter-dialog .paper-corner{display:none}
.encounter-dialog .puzzle-options{display:flex;flex-direction:column;gap:9px}
.encounter-dialog .puzzle-controls{display:flex;flex-direction:column;align-items:stretch;gap:5px}
.encounter-dialog .puzzle-controls .primary{width:100%}
.encounter-dialog .encounter-actions{flex-direction:column}
.encounter-dialog .encounter-actions button{min-width:0;width:100%}
.encounter-dialog .next-place{width:100%}
.setting-row>span{flex:1}
.setting-row>span strong{display:block;font-size:13px;font-weight:650}
.setting-row>span small{display:block;margin-top:3px;font-size:11px;line-height:1.65;color:var(--muted)}
.setting-row #sound-toggle{background:#e7ebdf;min-width:48px;min-height:48px;width:48px;height:48px}
.setting-row #sound-toggle[aria-pressed="true"]{background:var(--teal);color:var(--paper-light)}
.world-device-status{padding:24px 0;margin-top:12px;border-top:1px solid var(--line)}
.world-device-status h3{font-size:23px;margin-bottom:14px}
.world-device-status p{font-size:12px;line-height:1.6;margin:8px 0;color:var(--muted)}
.world-device-status p:empty{display:none}
.world-device-status #update-world{margin-top:12px;min-height:48px}
.settings-links{display:flex;gap:10px 20px;flex-wrap:wrap;align-items:center;margin-top:18px}
.settings-links a,.settings-links button{display:inline-flex;align-items:center;min-height:44px;font-size:12px}
.is-exploring dialog{max-height:calc(100vh - 32px);max-height:calc(100dvh - max(16px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom)));overscroll-behavior:contain}
.is-exploring dialog::backdrop{background:#173d3952;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.is-exploring .activity-dialog{height:calc(100vh - 32px);height:calc(100dvh - 32px)}
@media(max-width:700px){
  .is-exploring .world-header{padding-top:max(10px,env(safe-area-inset-top));padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}
  .is-exploring .world-tools{grid-template-columns:46px 46px minmax(0,1fr) 46px 46px;gap:7px}
  .is-exploring .world-tools button{width:46px;height:46px;min-width:46px;min-height:46px;border-radius:13px 11px 14px 11px}
  .is-exploring .scene-location{display:none}
  .is-exploring #world-storage-alert{top:calc(max(10px,env(safe-area-inset-top)) + 57px)}
  .encounter-dialog{width:calc(100% - 24px);padding:27px 24px;max-height:calc(100dvh - 28px)}
  .encounter-dialog .encounter h2{font-size:29px}
  .places-dialog{width:calc(100% - 24px)}
  .places-dialog .place-actions button{flex-basis:100%;min-height:48px;font-size:14px}
  .is-exploring .activity-dialog{height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;width:100%;margin:0;border:0;border-radius:0}
  .is-exploring .activity-heading{padding-top:max(10px,env(safe-area-inset-top))}
  .is-exploring .activity-content{padding-bottom:env(safe-area-inset-bottom)}
}
@media(max-height:500px) and (min-width:701px){.is-exploring .scene-location{top:20px}.is-exploring .world-header{padding-top:8px}.is-exploring .world-tools button{width:44px;height:44px;min-width:44px;min-height:44px}.camera-hint{bottom:8px}}

.place-play-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.place-play-actions:empty{display:none}
.place-play-actions button{min-width:44px;min-height:48px;border:1px solid #cdd8c4;border-radius:8px;padding:11px 14px;background:#edf1e3;color:var(--teal);text-align:left;font-size:13px}
.setting-row input[type="checkbox"]{height:44px;min-height:44px;border-radius:22px;background:transparent;box-shadow:none}
.setting-row input[type="checkbox"]::before{content:"";position:absolute;left:0;top:8px;width:44px;height:28px;border-radius:18px;background:#cbd2c0}
.setting-row input[type="checkbox"]::after{top:11px}
.setting-row input[type="checkbox"]:checked{background:transparent}
.setting-row input[type="checkbox"]:checked::before{background:var(--teal)}
.is-exploring #open-settings{position:relative}
.is-exploring #open-settings[data-update="true"]::after{content:"";position:absolute;right:5px;top:5px;width:8px;height:8px;border-radius:50%;background:#b4752e;box-shadow:0 0 0 2px #fff5da}
@media(max-width:700px){.place-play-actions button{flex:1 1 150px;min-height:48px}}

.stage-wrap:has(.world-play-garden-tools:not([hidden]),.world-play-hint:not([hidden])) .camera-hint{display:none}
