@font-face{font-family:"Qingmi World";src:url("assets/world-sans.woff2") format("woff2");font-display:swap;font-weight:100 900}

:root{color-scheme:light;--world-ink:#41493b;--world-muted:#747b68;--world-paper:#fffdf5;--world-cream:#f5ebd8;--world-sage:#7a957a;--world-coral:#d98768;--world-line:rgba(103,115,84,.17);--world-font:"Qingmi World","PingFang SC","Microsoft YaHei",sans-serif;--world-focus:#5b7153}
*{box-sizing:border-box}
html,body{margin:0;min-width:280px;background:#f2e7d4;color:var(--world-ink);font-family:var(--world-font);-webkit-font-smoothing:antialiased}
body{overflow-x:hidden}
button,input,textarea,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{color:inherit;cursor:pointer}
button:disabled{cursor:default;opacity:.55}
a{color:inherit}
button:focus-visible,a:focus-visible,textarea:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--world-focus);outline-offset:5px}
[hidden]{display:none!important}
.world-skip{position:fixed;left:18px;top:14px;z-index:100;padding:12px 18px;background:var(--world-paper);border-radius:18px;text-decoration:none;transform:translateY(-150%)}
.world-skip:focus{transform:none}
.world-stage{position:relative;isolation:isolate;width:100%;height:100svh;min-height:590px;overflow:hidden;outline:none;touch-action:manipulation;background:#e8ead5}
.world-stage:focus-visible{outline:0;box-shadow:inset 0 0 0 3px rgba(91,113,83,.5)}
.world-landscape,.world-sky,.world-art,.world-light,.world-vignette,#world-particles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.world-landscape{z-index:-3;overflow:hidden}
.world-sky{background:radial-gradient(ellipse at 56% 18%,#fff7d7 0,transparent 40%),radial-gradient(ellipse at 16% 52%,#dce4cf 0,transparent 48%),linear-gradient(180deg,#e9ead6 0%,#f8e6cf 56%,#fff9e6 100%)}
.world-art{object-fit:cover;object-position:center 55%;opacity:1}
.world-art.scene-arrive{animation:scene-arrive .65s ease both}
@keyframes scene-arrive{from{opacity:.35;filter:blur(7px)}to{opacity:1;filter:blur(0)}}
.world-load-error{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:min(88%,390px);padding:24px;border-radius:24px;background:#fffbed;pointer-events:auto;text-align:center;line-height:1.8;box-shadow:0 12px 40px #53614922}
.world-load-error a{display:block;margin-top:14px}
.save-choice{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.8}
#feed-error{color:#984a2a}
.bag-item>a{display:inline-block;font-size:12px;margin-top:12px}
.world-light{background:linear-gradient(180deg,rgba(255,251,231,.2) 0%,rgba(255,251,231,.07) 36%,transparent 58%,rgba(250,240,218,.1) 78%,rgba(248,242,224,.68) 100%)}
.world-vignette{background:radial-gradient(ellipse at 50% 50%,transparent 45%,rgba(150,142,112,.06) 100%)}
#world-particles{z-index:1;opacity:.8}
.cloud-drift{position:absolute;width:70%;height:25%;background:radial-gradient(ellipse at 50% 70%,rgba(255,255,255,.2),transparent 65%);filter:blur(22px);pointer-events:none;opacity:.5}
.cloud-drift--one{left:-20%;bottom:-5%;background:radial-gradient(ellipse at 50% 70%,rgba(255,255,244,.85),transparent 70%);animation:cloud-breathe 18s ease-in-out infinite alternate}
.cloud-drift--two{right:-25%;top:45%;height:18%;background:radial-gradient(ellipse at 50% 60%,rgba(255,252,236,.48),transparent 67%);animation:cloud-breathe 23s ease-in-out -7s infinite alternate-reverse}
.world-header{position:absolute;z-index:6;inset:max(26px,env(safe-area-inset-top)) 3.5% auto;display:flex;align-items:center;justify-content:space-between;gap:16px}
.world-brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
.world-brand-symbol{position:relative;display:inline-block;width:37px;height:40px;border-radius:48% 48% 41% 44%;background:#fff9e9;box-shadow:0 3px 0 rgba(100,116,85,.1),inset -4px -4px 7px rgba(179,158,115,.1);transform:rotate(-7deg)}
.world-brand-symbol:after{content:"";position:absolute;width:8px;height:3px;left:16px;top:26px;border-bottom:1.8px solid #74846c;border-radius:50%}
.world-brand-symbol i{position:absolute;width:15px;height:9px;left:19px;top:-4px;border-radius:0 85% 0 85%;background:#92a68a;transform:rotate(-25deg)}
.world-brand-symbol b{position:absolute;top:20px;left:12px;width:3px;height:4px;border-radius:50%;background:#66715c}
.world-brand-symbol b+b{left:24px}
.world-brand-copy{display:flex;align-items:baseline;gap:12px;font-size:16px;letter-spacing:.08em;font-weight:500}
.world-brand-copy strong{font-weight:750;font-size:23px;letter-spacing:.12em}
.brand-divider{opacity:.3;font-weight:300}
.world-nav{display:flex;align-items:center;gap:9px}
.world-nav button,.world-nav a{border:0;background:rgba(255,253,243,.39);border-radius:50px;min-height:43px;padding:10px 15px;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-size:12px;font-weight:550;letter-spacing:.04em;backdrop-filter:blur(12px);transition:background .22s,transform .22s,box-shadow .22s}
.world-nav button:hover,.world-nav a:hover{background:rgba(255,254,246,.85);transform:translateY(-2px);box-shadow:0 8px 20px rgba(87,93,57,.08)}
.world-nav svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.world-nav .study-link{background:transparent;font-size:11px;letter-spacing:.08em;margin-right:7px}
.study-link span{opacity:.6}
.world-welcome{position:absolute;z-index:2;top:clamp(112px,16vh,185px);left:50%;width:min(90%,720px);text-align:center;transform:translateX(-50%);pointer-events:none;animation:world-arrive .9s ease both;text-shadow:0 2px 30px rgba(255,255,239,.95)}
.world-overline{display:flex;justify-content:center;align-items:center;gap:12px;margin:0 0 13px;font-size:10px;letter-spacing:.24em;color:#7a816b;font-weight:500}
.world-overline span{display:block;width:21px;height:1px;background:#9ea58a;opacity:.7}
.world-welcome h1{margin:0;font-size:clamp(36px,4.4vw,66px);line-height:1.25;letter-spacing:.085em;font-weight:650;color:#444d3d}
.world-tagline{margin:17px 0 0;font-size:clamp(12px,1.12vw,16px);letter-spacing:.16em;line-height:1.7;font-weight:400;color:#6e765e}
.realm-marker{position:absolute;z-index:3;left:4%;top:43%;display:flex;gap:12px;align-items:center;max-width:220px;pointer-events:none}
.realm-marker-star{display:flex;align-items:center;justify-content:center;width:33px;height:33px;border:1px solid rgba(105,121,82,.22);border-radius:50%;color:#899b74;font-size:18px;background:rgba(255,251,235,.2)}
.realm-marker>div{display:grid;gap:5px}
#realm-name{font-size:12px;letter-spacing:.14em;font-weight:650;color:#647157}
#realm-subtitle{font-size:10px;letter-spacing:.08em;color:#899079}
.spark-nodes{position:absolute;inset:0;z-index:4;pointer-events:none;outline:none}
.spark-button{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:7px;left:36%;top:48%;min-width:108px;max-width:185px;min-height:85px;transform:translate(-50%,-50%);padding:12px 15px;border:0;background:none;pointer-events:auto;text-align:center;white-space:normal;line-height:1.5;letter-spacing:.045em;font-size:13px;font-weight:600;color:#505c43;text-shadow:0 1px 12px #fffceb,0 1px 4px #fffceb;transition:filter .25s,opacity .3s}
.spark-button:nth-child(2){left:65%;top:43%;transform:translate(-50%,-50%) scale(.88)}
.spark-button:nth-child(3){left:78%;top:65%;transform:translate(-50%,-50%) scale(1.06)}
.spark-button:before{content:"";position:absolute;left:50%;top:15px;width:30px;height:30px;transform:translate(-50%,-50%);background:radial-gradient(circle,#ffffee 0 12%,#fff8cb 16%,rgba(255,245,176,.43) 36%,transparent 68%);border-radius:50%;box-shadow:0 0 26px rgba(255,250,194,.9);animation:spark-glow 3.2s ease-in-out infinite;pointer-events:none}
.spark-button:after{content:"";width:9px;height:9px;position:absolute;left:50%;top:15px;transform:translate(-50%,-50%) rotate(45deg);border-radius:2px;background:#fffdef;box-shadow:0 0 8px 4px rgba(255,250,224,.9),0 0 24px 11px rgba(255,225,133,.42);pointer-events:none}
.spark-button:nth-child(2):before{animation-delay:-1.7s}
.spark-button:nth-child(3):before{animation-delay:-.8s}
.spark-button:hover{filter:brightness(1.08)}
.spark-button:focus-visible{outline:2px solid #6b815c;outline-offset:5px;border-radius:24px;background:rgba(255,253,234,.4)}
.spark-halo{display:block;flex:0 0 30px;width:30px;height:30px;position:relative;margin-top:-12px}
.spark-halo:before,.spark-halo:after{content:"";position:absolute;inset:-5px;border:1px solid rgba(255,250,220,.7);border-radius:50%;animation:spark-ring 4s ease-out infinite}
.spark-halo:after{animation-delay:2s}
.spark-label{display:block;line-height:1.5;font-size:13px;font-weight:600;letter-spacing:.06em;margin-top:2px;padding:3px 8px;border-radius:14px;background:rgba(255,251,232,.76);color:#3d4e30;text-shadow:none;box-shadow:0 3px 16px #f8edca55;backdrop-filter:blur(5px)}
.spark-kicker{display:block;font-size:10px;font-weight:400;letter-spacing:.1em;color:#7f896f;margin-top:-4px}
.spark-button>span:first-child:not(.spark-halo){margin-top:24px}
.spark-button.is-visited .spark-label:after{content:" ·";color:#839671}
.spark-button.is-new:after{background:#fff5b8}
.traveler{position:absolute;z-index:3;left:var(--traveler-x,52%);top:var(--traveler-y,69%);width:50px;height:83px;transform:translate(-50%,-80%);transition:top .7s cubic-bezier(.2,.7,.25,1),left .7s cubic-bezier(.2,.7,.25,1);pointer-events:none;filter:drop-shadow(0 4px 4px rgba(94,96,53,.08))}
.traveler-body{position:absolute;inset:0;animation:traveler-breathe 4s ease-in-out infinite}
.traveler-shadow{position:absolute;bottom:-3px;left:0;width:55px;height:11px;border-radius:50%;background:rgba(99,113,80,.15);filter:blur(3px)}
.traveler-head{position:absolute;left:12px;top:8px;width:27px;height:26px;border-radius:48%;background:linear-gradient(130deg,#f8d1a7,#eebc96);z-index:4;box-shadow:inset -3px -2px 4px rgba(182,127,80,.12)}
.traveler-head:after{content:"";position:absolute;top:18px;left:12px;width:5px;height:3px;border-bottom:1px solid #aa7856;border-radius:50%}
.traveler-head i{position:absolute;top:12px;left:8px;width:2px;height:3px;background:#705441;border-radius:50%}
.traveler-head i+i{left:18px}
.traveler-hat{position:absolute;z-index:5;left:9px;top:3px;width:31px;height:14px;border-radius:60% 55% 18% 18%;background:linear-gradient(110deg,#9caf8d,#809575);box-shadow:inset -4px -1px 4px rgba(73,96,62,.12);transform:rotate(-6deg)}
.traveler-hat:after{content:"";position:absolute;right:-7px;bottom:-1px;width:27px;height:5px;border-radius:40%;background:#849b76}
.traveler-backpack{position:absolute;z-index:1;left:2px;top:33px;width:19px;height:29px;border:2px solid #789269;border-radius:7px 8px 6px 7px;background:#92a47b;transform:rotate(5deg)}
.traveler-backpack:after{content:"";position:absolute;left:1px;top:12px;width:10px;height:9px;border-radius:3px;border:1px solid #738d64;background:#9bad85}
.traveler-scarf{position:absolute;z-index:5;top:31px;left:16px;width:20px;height:5px;border-radius:2px;background:#f5dbb3}
.traveler-scarf:after{content:"";position:absolute;left:8px;top:3px;width:5px;height:10px;background:#f4d7aa;border-radius:0 0 2px 2px}
.traveler-cloak{position:absolute;top:33px;left:12px;width:27px;height:28px;background:linear-gradient(110deg,#e7a065,#d8834e);border-radius:6px 6px 5px 5px;box-shadow:inset -4px 0 5px rgba(160,85,38,.12);z-index:3}
.traveler-cloak:before{content:"";position:absolute;left:14px;top:5px;bottom:3px;width:1px;background:rgba(149,89,48,.35)}
.traveler-cloak:after{content:"";position:absolute;left:4px;bottom:6px;width:6px;height:6px;border-bottom:1px solid #bc7747;border-radius:0 0 2px 2px}
.traveler-arm{position:absolute;z-index:2;top:36px;width:8px;height:23px;border-radius:5px;background:#df945b;box-shadow:inset 0 -4px #f1c19b}
.traveler-arm--left{left:7px;transform:rotate(12deg)}.traveler-arm--right{left:38px;transform:rotate(-13deg)}
.traveler-foot{position:absolute;top:58px;left:15px;width:9px;height:20px;border-radius:0 0 3px 3px;background:#657964;z-index:2;box-shadow:inset 0 -5px #725b48}
.traveler-foot--right{left:28px}
.traveler-trail{position:absolute;width:8px;height:8px;left:22px;bottom:6px;border-radius:50%;box-shadow:0 0 24px 16px rgba(255,250,208,.45)}
.traveler.is-moving .traveler-body{animation:traveler-walk .35s ease-in-out infinite alternate}
.world-bottom{position:absolute;z-index:6;bottom:clamp(38px,5.2vh,62px);left:50%;width:max-content;max-width:90%;transform:translateX(-50%);display:grid;justify-items:center;gap:18px}
.companion-dock{display:flex;align-items:center;gap:10px;position:relative}
.companion-button{border:0;background:transparent;width:110px;height:112px;padding:0;position:relative;flex-shrink:0;isolation:isolate;align-self:flex-end}
.companion-ground{position:absolute;bottom:2px;left:18px;width:72px;height:14px;border-radius:50%;background:rgba(108,116,77,.1);filter:blur(4px)}
.companion-image{display:block;position:absolute;width:122px;height:122px;max-width:none;left:-6px;bottom:0;object-fit:contain;z-index:2;transition:transform .3s;filter:drop-shadow(0 8px 6px rgba(123,115,68,.06))}
.companion-button:hover .companion-image{transform:translateY(-5px) rotate(-3deg)}
.companion-fallback{position:absolute;width:67px;height:70px;bottom:9px;left:22px;border-radius:47% 45% 40% 43%;background:linear-gradient(140deg,#fffcdf,#eae3bd);z-index:-1;box-shadow:inset -8px -5px 10px rgba(132,137,82,.1)}
.companion-fallback i{position:absolute;left:20px;top:31px;width:4px;height:6px;border-radius:50%;background:#697156}.companion-fallback i+i{left:45px}.companion-fallback b{position:absolute;left:30px;top:44px;width:8px;height:4px;border-bottom:2px solid #7a815c;border-radius:50%}
.companion-leaf{position:absolute;left:35px;top:-11px;width:23px;height:14px;border-radius:0 90% 0 90%;background:#96ab81;transform:rotate(-24deg)}
.companion-speech{position:absolute;bottom:111px;left:50%;transform:translateX(-50%) rotate(-3deg);white-space:nowrap;font-size:10px;letter-spacing:.055em;color:#758161;background:rgba(255,255,242,.86);border-radius:16px 16px 16px 3px;padding:9px 13px;box-shadow:0 4px 16px rgba(121,130,86,.03)}
.companion-speech span{color:#ce9d7d;margin-left:5px}
.feed-actions{display:grid;justify-items:center;gap:11px;padding-top:17px}
.feed-main{display:flex;align-items:center;justify-content:center;gap:15px;min-height:57px;min-width:205px;padding:14px 23px;border:1px solid rgba(255,255,244,.95);border-radius:40px;background:linear-gradient(110deg,#fffbea,#ffefd9);box-shadow:0 6px 0 -3px rgba(166,153,101,.12),0 11px 28px rgba(126,129,79,.13),inset 0 1px 0 rgba(255,255,255,.8);font-size:15px;letter-spacing:.1em;font-weight:650;transition:transform .2s,box-shadow .2s;color:#596547}
.feed-main:hover{transform:translateY(-3px);box-shadow:0 6px 0 -3px rgba(166,153,101,.1),0 17px 28px rgba(126,129,79,.17),inset 0 1px 0 #fff}
.feed-main:active{transform:translateY(1px)}
.feed-flower{color:#bd9970;font-size:27px;line-height:1}
.feed-arrow{font-size:18px;color:#a2aa88;font-weight:400}
.wander-button{padding:6px 13px;min-height:32px;border:0;background:transparent;font-size:11px;letter-spacing:.15em;color:#79836a}
.wander-button span{display:inline-block;margin-left:9px;transition:transform .2s}.wander-button:hover span{transform:translateX(4px)}
.walk-hint{display:flex;justify-content:center;align-items:center;gap:7px;margin:0;font-size:9px;letter-spacing:.12em;color:#939a80;white-space:nowrap;pointer-events:none}
.hint-orbit{width:8px;height:8px;border-radius:50%;border:1px solid #adb69a;box-shadow:0 0 0 3px rgba(157,168,131,.1);margin-right:3px}.hint-dot{opacity:.55}
.world-status{position:absolute;z-index:2;left:4%;bottom:31px;width:250px;max-width:22%;margin:0;font-size:9px;letter-spacing:.07em;line-height:1.9;color:#8a927c;pointer-events:none}
.world-corner-note{position:absolute;z-index:6;right:3.5%;bottom:31px;font-size:9px;letter-spacing:.07em;text-decoration:none;color:#8c957c;line-height:1.9}.world-corner-note span{margin-left:8px}.world-corner-note:hover{color:#566849}
.world-toast{position:absolute;z-index:12;left:50%;top:90px;max-width:min(88%,510px);transform:translateX(-50%);padding:0;border-radius:24px;background:rgba(255,254,242,.96);box-shadow:0 12px 40px rgba(71,88,55,.09);color:#5c6b4c;font-size:12px;line-height:1.7;text-align:center;pointer-events:none;opacity:0;transition:opacity .25s}
.world-toast:not(:empty){padding:12px 20px;opacity:1}
.world-toast[hidden],.world-toast.is-hidden{opacity:0}
.world-noscript{position:fixed;z-index:99;inset:auto 12px 12px;padding:16px 22px;border-radius:20px;background:#fffdf5;color:var(--world-ink);font-size:13px;box-shadow:0 8px 40px rgba(69,75,43,.2)}

/* Layers are revealed only after an encounter. The world remains visible. */
.world-dialog{position:fixed;inset:24px 24px 24px auto;margin:0;border:1px solid rgba(255,255,247,.9);width:min(540px,calc(100vw - 48px));max-width:none;max-height:calc(100svh - 48px);height:calc(100svh - 48px);padding:0;background:rgba(255,253,244,.96);color:var(--world-ink);border-radius:30px;box-shadow:0 30px 100px rgba(70,78,44,.15),inset 0 1px 0 #fff;overflow:hidden;backdrop-filter:blur(24px)}
.world-dialog[open]{display:flex;flex-direction:column;animation:drawer-arrive .3s cubic-bezier(.2,.8,.3,1) both}
.world-dialog::backdrop{background:rgba(91,100,66,.2);backdrop-filter:blur(5px)}
.dialog-handle{display:none}
.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-shrink:0;min-height:81px;padding:22px 28px 17px;border-bottom:1px solid var(--world-line)}
.dialog-header p{display:flex;align-items:center;gap:10px;margin:0;font-size:12px;letter-spacing:.11em;font-weight:550;color:#7d866e}
.dialog-header p>span{font-size:22px;color:#98a780}
.dialog-close{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;padding:0;border:1px solid rgba(106,123,85,.13);border-radius:50%;background:rgba(226,233,213,.3);font-size:23px;line-height:1;font-weight:300;color:#7b8569;transition:background .2s,transform .2s}
.dialog-close:hover{background:#e7eddc;transform:rotate(90deg)}
.dialog-body{padding:30px 30px 36px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d4ddc8 transparent;min-width:0;flex:1;line-height:1.85;font-size:13px;overflow-wrap:anywhere}
.dialog-body>:first-child{margin-top:0}
.dialog-body h2,.discovery-title{font-size:clamp(24px,2.4vw,31px);line-height:1.45;letter-spacing:.035em;font-weight:650;margin:8px 0 17px;color:#46553e}
.dialog-body h3{font-size:16px;font-weight:600;letter-spacing:.025em;line-height:1.6;margin:25px 0 10px;color:#4d5e44}
.dialog-body p{line-height:1.9;margin:12px 0;color:#747d68}
.dialog-body strong{font-weight:650;color:#56664a}
.dialog-body a:not([class]){text-decoration-color:#aab99b;text-underline-offset:4px}
.eyebrow,.discovery-kicker,.step-label{display:block;color:#a08b6e!important;font-size:10px!important;letter-spacing:.13em;line-height:1.7!important;font-weight:550;margin:0 0 8px!important}
.discovery-lede{font-size:14px;color:#7d856f!important;margin-bottom:24px!important}
.world-primary,.world-secondary{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:11px 20px;border-radius:24px;font-size:12px;font-weight:550;letter-spacing:.035em;line-height:1.5;text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s;text-align:center;max-width:100%;white-space:normal}
.world-primary{background:#7a9072;border:1px solid #7a9072;color:#fffdf0;box-shadow:0 5px 13px rgba(109,133,91,.12)}
.world-primary:hover{background:#6b8363;border-color:#6b8363;transform:translateY(-1px)}
.world-secondary{background:#f3f2e5;border:1px solid #dce2ce;color:#728363}
.world-secondary:hover{background:#e7ecdc;transform:translateY(-1px)}
.action-row,.journey-links{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:24px}
.journey-links{padding-top:18px;border-top:1px solid var(--world-line)}
.journey-links a{font-size:11px;color:#7d8c6d;text-underline-offset:4px;line-height:1.9}
.world-card,.knowledge-note,.knowledge-example{padding:20px 22px;border:1px solid #e6e8d6;border-radius:22px;background:linear-gradient(130deg,#f5f6eb,#fbf9ee);margin:18px 0}
.world-card h3,.knowledge-note h3,.knowledge-example h3{margin-top:0}
.world-card>:last-child,.knowledge-note>:last-child,.knowledge-example>:last-child{margin-bottom:0}
.knowledge-quote{margin:23px 0;padding:1px 0 1px 20px;border-left:2px solid #c6d3b4;font-size:17px;line-height:1.9;color:#6b7d59}
.mini-note{font-size:10px!important;line-height:1.9!important;color:#969d88!important;letter-spacing:.02em}
.praise-card{position:relative;padding:23px 23px 23px 42px;margin:20px 0;background:linear-gradient(120deg,#fff2d9,#f8f4e3);border:1px solid #eee2c5;border-radius:20px;color:#978364;line-height:1.85}
.praise-card:before{content:"✦";position:absolute;left:18px;top:22px;font-size:17px;color:#c4ad7c}
.praise-card p{color:#978364;margin:0}
.field-label{display:block;margin:20px 0 8px;font-size:12px;font-weight:550;color:#738263;line-height:1.8}
.dialog-body textarea,.dialog-body input:not([type=checkbox]):not([type=radio]):not([type=range]),.dialog-body select{display:block;width:100%;max-width:100%;min-height:45px;border:1px solid #dce2cf;border-radius:15px;padding:13px 15px;background:#fffdf6;color:#4d5c43;line-height:1.7;font-size:13px;box-shadow:inset 0 2px 5px rgba(112,131,82,.025);transition:border-color .2s,box-shadow .2s}
.dialog-body textarea{resize:vertical;min-height:128px;max-height:50svh}
.dialog-body textarea:focus,.dialog-body input:focus{border-color:#9bac87;box-shadow:0 0 0 3px rgba(163,179,140,.13);outline-offset:2px}
.dialog-body textarea::placeholder,.dialog-body input::placeholder{color:#abb19e}
.dialog-body input[type=checkbox],.dialog-body input[type=radio]{accent-color:#869c77;width:18px;height:18px;flex-shrink:0}
.dialog-body label{cursor:pointer}
.layer-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:20px 0}
.layer-tabs button{padding:8px 15px;border:1px solid #e0e5d3;border-radius:19px;background:#f6f5e9;color:#829171;font-size:11px;min-height:36px}
.layer-tabs button[aria-selected=true],.layer-tabs button[aria-pressed=true],.layer-tabs button.is-active{background:#879b7c;color:#fffef4;border-color:#879b7c}
.choice-list,.feed-choices{display:grid;gap:10px;margin:18px 0}
.choice-list button,.choice-list>a,.feed-choice{display:flex;align-items:center;gap:13px;width:100%;padding:16px 18px;border:1px solid #e0e6d3;background:#f7f7ed;border-radius:18px;text-align:left;font-size:12px;line-height:1.8;text-decoration:none;color:#697c58;transition:background .2s,border-color .2s,transform .2s}
.choice-list button:hover,.choice-list>a:hover,.feed-choice:hover{background:#edf1e1;border-color:#c6d4b6;transform:translateX(2px)}
.choice-list button[aria-pressed=true],.feed-choice[aria-pressed=true],.feed-choice.is-selected{background:#e7edda;border-color:#a8ba94}
.choice-list button>span,.feed-choice>span{min-width:0}.choice-list button small,.feed-choice small{display:block;color:#919b83;font-size:10px}
.map-dialog{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(820px,calc(100vw - 64px));height:auto;max-height:calc(100svh - 64px);background:linear-gradient(135deg,rgba(255,252,238,.98),rgba(239,242,222,.98))}
.map-dialog[open]{animation:map-arrive .3s cubic-bezier(.2,.8,.3,1) both}
.map-dialog .dialog-body{padding:26px 32px 32px}
.realm-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:22px 0}
.realm-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:7px;min-width:0;min-height:145px;padding:19px 17px;border:1px solid rgba(153,171,127,.17);border-radius:25px;background:rgba(255,255,248,.5);color:#687b57;line-height:1.65;transition:background .2s,transform .2s,box-shadow .2s}
.realm-card:nth-child(2n){background:rgba(241,240,217,.7)}
.realm-card:nth-child(3n){background:rgba(247,235,212,.6)}
.realm-card:hover{transform:translateY(-3px);background:#fffdf0;box-shadow:0 8px 22px rgba(111,129,76,.08)}
.realm-card[aria-current=true],.realm-card[aria-pressed=true],.realm-card.is-active{border-color:#aabd8c;box-shadow:inset 0 0 0 1px #aabd8c;background:#f5f7e6}
.realm-card strong{font-size:13px;line-height:1.6}.realm-card small{font-size:10px;line-height:1.8;color:#8e9b7c}.realm-card>span:first-child{font-size:22px;line-height:1.4;color:#9aaa86}
.realm-card .realm-icon{font-size:25px;line-height:1.4}
.feed-dialog{inset:auto auto 30px 50%;transform:translateX(-50%);width:min(510px,calc(100vw - 48px));height:auto;max-height:calc(100svh - 60px);background:linear-gradient(150deg,#fffbed,#f4f4e4)}
.feed-dialog[open]{animation:feed-arrive .3s cubic-bezier(.2,.8,.3,1) both}
.feed-success{text-align:center;padding:22px 0}.feed-success>span:first-child{font-size:48px}.feed-success h2{color:#71865e}.feed-success p{max-width:310px;margin-inline:auto}
.bag-stats{display:flex;gap:10px;margin:22px 0}.bag-stat{flex:1;padding:16px 12px;border-radius:20px;background:#f0f2e5;text-align:center;color:#8a9879;font-size:10px;line-height:1.9}.bag-stat strong{display:block;font-size:26px;line-height:1.5;font-weight:550;color:#789064}
.bag-list{display:grid;gap:12px;margin:20px 0}.bag-item,.bag-entry{padding:18px 20px;border:1px solid #e0e6d2;border-radius:20px;background:#f8f8ec;line-height:1.85}.bag-item h3,.bag-entry h3{font-size:13px;margin:0 0 7px}.bag-item p,.bag-entry p{font-size:12px;margin:7px 0;color:#7f8e6d}.bag-item small,.bag-entry small{font-size:10px;color:#a1ab91}.bag-item button,.bag-entry button{margin-top:10px}
.empty-state{text-align:center;padding:28px 12px;color:#a0aa90;border:1px dashed #d6dfc6;border-radius:22px;background:rgba(240,244,224,.3);line-height:1.9;margin:20px 0}.empty-state h3{font-size:15px;color:#81946d}.empty-state p{font-size:12px;color:#9aa48a}
.setting-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:21px 0;border-bottom:1px solid var(--world-line)}
.setting-copy{min-width:0}.setting-copy strong{font-size:13px;font-weight:550}.setting-copy p{margin:4px 0 0;font-size:11px;color:#969f87}.setting-control{flex-shrink:0}.setting-row>label{display:flex;gap:12px;align-items:center}.setting-row:last-child{border-bottom:0}
.dialog-body ul,.dialog-body ol{padding-left:21px;color:#7f8a70;line-height:1.95;font-size:12px}.dialog-body li+li{margin-top:8px}
.dialog-body hr{border:0;border-top:1px solid var(--world-line);margin:24px 0}

@keyframes world-arrive{from{opacity:0;translate:0 9px}to{opacity:1;translate:0 0}}
@keyframes cloud-breathe{from{transform:translateX(0) scale(1)}to{transform:translateX(9%) scale(1.1)}}
@keyframes spark-glow{0%,100%{opacity:.65;scale:1}50%{opacity:1;scale:1.2}}
@keyframes spark-ring{0%{opacity:.7;scale:.7}100%{opacity:0;scale:1.7}}
@keyframes traveler-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes traveler-walk{from{transform:translateY(0) rotate(-3deg)}to{transform:translateY(-3px) rotate(3deg)}}
@keyframes drawer-arrive{from{opacity:0;translate:18px 0}to{opacity:1;translate:0 0}}
@keyframes map-arrive{from{opacity:0;scale:.97}to{opacity:1;scale:1}}
@keyframes feed-arrive{from{opacity:0;translate:0 15px}to{opacity:1;translate:0 0}}

@media(min-width:1800px){.world-header{inset:38px 4% auto}.world-welcome{top:17%}.world-art{object-position:center 58%}.world-bottom{bottom:6%}.spark-button{font-size:15px}.spark-label{font-size:15px}.spark-kicker{font-size:11px}.realm-marker{top:44%}.companion-button{width:125px;height:135px}.companion-image{width:145px;height:145px}.companion-speech{bottom:136px}.feed-main{min-width:225px;min-height:61px;font-size:16px}}
@media(max-width:1000px){.world-header{inset:24px 25px auto}.world-nav{gap:5px}.world-nav button{padding:10px 12px}.world-nav .study-link{margin-right:1px}.world-brand-copy{gap:8px;font-size:13px}.world-brand-copy strong{font-size:21px}.world-welcome{top:16%}.world-art{object-position:53% center}.realm-marker{top:37%;left:5%}.world-status{max-width:21%;font-size:8px;bottom:22px}.world-corner-note{font-size:8px;bottom:22px;max-width:22%;text-align:right}.spark-button:nth-child(1){left:32%;top:49%}.spark-button:nth-child(2){left:65%;top:45%}.spark-button:nth-child(3){left:79%;top:64%}.world-bottom{bottom:42px}}
@media(max-width:700px){.world-stage{min-height:570px}.world-header{inset:max(21px,env(safe-area-inset-top)) 20px auto;gap:10px}.world-brand{gap:9px}.world-brand-symbol{width:31px;height:34px}.world-brand-symbol i{width:13px;height:8px;left:16px}.world-brand-symbol b{top:17px;left:10px}.world-brand-symbol b+b{left:21px}.world-brand-symbol:after{left:13px;top:23px;width:7px}.world-brand-copy{gap:7px;font-size:12px}.world-brand-copy strong{font-size:20px;letter-spacing:.08em}.world-nav{gap:5px}.world-nav button{width:40px;min-height:40px;padding:10px;background:rgba(255,253,243,.45)}.world-nav button span{display:none}.world-nav button svg{width:19px;height:19px}.world-nav .study-link{display:none}.world-welcome{top:17%;width:95%}.world-overline{font-size:8px;letter-spacing:.18em;gap:9px;margin-bottom:13px}.world-overline span{width:15px}.world-welcome h1{font-size:40px;letter-spacing:.06em}.world-tagline{font-size:11px;letter-spacing:.09em;margin-top:13px}.world-art{object-position:54% 55%;object-fit:cover}.world-light{background:linear-gradient(180deg,rgba(255,251,230,.38),rgba(255,251,230,.18) 32%,transparent 53%,rgba(255,249,228,.08) 73%,rgba(248,242,224,.68) 100%)}.realm-marker{top:34%;left:6%;gap:8px}.realm-marker-star{width:25px;height:25px;font-size:13px;border-color:rgba(113,134,86,.2)}.realm-marker>div{gap:3px}#realm-name{font-size:9px;letter-spacing:.1em}#realm-subtitle{font-size:8px;letter-spacing:.03em}.spark-button{max-width:134px;min-width:108px;font-size:11px;gap:4px;padding-inline:9px}.spark-label{font-size:11px;letter-spacing:.025em}.spark-kicker{font-size:8px;letter-spacing:.04em}.spark-button:nth-child(1){left:26%;top:49%;transform:translate(-50%,-50%) scale(.92)}.spark-button:nth-child(2){left:73%;top:42%;transform:translate(-50%,-50%) scale(.84)}.spark-button:nth-child(3){left:73%;top:62%;transform:translate(-50%,-50%)}.traveler{scale:.88;transform-origin:top left}.world-bottom{bottom:max(39px,calc(env(safe-area-inset-bottom) + 28px));gap:15px;max-width:96%}.companion-dock{gap:4px}.companion-button{width:91px;height:94px}.companion-image{width:104px;height:104px;left:-7px}.companion-fallback{scale:.8;transform-origin:bottom left;left:21px}.companion-speech{bottom:99px;font-size:8px;padding:8px 11px;left:52%;letter-spacing:.01em}.feed-actions{gap:7px;padding-top:17px}.feed-main{min-width:184px;min-height:51px;padding:13px 18px;font-size:13px;gap:12px}.feed-flower{font-size:25px}.feed-arrow{font-size:17px}.wander-button{font-size:10px;min-height:30px;padding:4px 12px}.walk-hint{font-size:8px;letter-spacing:.065em}.world-status{left:50%;bottom:max(11px,env(safe-area-inset-bottom));transform:translateX(-50%);text-align:center;width:90%;max-width:90%;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.world-corner-note{display:none}.world-toast{top:76px;font-size:11px;max-width:90%}.world-toast:not(:empty){padding:10px 17px}.world-dialog,.map-dialog,.feed-dialog{inset:auto 10px 10px;margin:0;transform:none;width:calc(100vw - 20px);height:auto;max-height:calc(100svh - max(32px,env(safe-area-inset-top)));border-radius:28px;box-shadow:0 0 70px rgba(73,89,48,.17)}.world-dialog[open],.map-dialog[open],.feed-dialog[open]{animation:feed-arrive .3s cubic-bezier(.2,.8,.3,1) both}.dialog-handle{display:block;flex-shrink:0;width:34px;height:4px;background:#d3dbc4;border-radius:4px;margin:11px auto -3px}.dialog-header{padding:15px 22px 15px;min-height:68px}.dialog-header p{font-size:11px}.dialog-header p>span{font-size:20px}.dialog-close{width:32px;height:32px;flex-basis:32px}.dialog-body,.map-dialog .dialog-body{padding:24px 23px 29px;max-height:calc(100svh - 142px);font-size:12px}.dialog-body h2{font-size:25px;margin-bottom:15px}.dialog-body h3{font-size:15px}.realm-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.realm-card{min-height:129px;padding:17px 15px;border-radius:22px}.realm-card strong{font-size:12px}.realm-card small{font-size:9px}.world-card,.knowledge-note,.knowledge-example{padding:17px 18px;border-radius:19px}.world-primary,.world-secondary{font-size:11px;padding:11px 17px}.dialog-body textarea,.dialog-body input:not([type=checkbox]):not([type=radio]):not([type=range]),.dialog-body select{font-size:16px}.dialog-body textarea{min-height:112px}.action-row{gap:8px}.bag-stats{gap:7px}.bag-stat{padding:14px 8px}.bag-stat strong{font-size:24px}.dialog-body .choice-list button{padding:14px 16px}}
@media(max-width:359px){.world-header{inset:max(18px,env(safe-area-inset-top)) 15px auto}.world-brand{gap:8px}.world-brand-copy{gap:5px;font-size:11px}.world-brand-copy strong{font-size:18px}.world-brand-symbol{scale:.9;transform-origin:left center;width:28px}.world-nav{gap:3px}.world-nav button{width:34px;min-height:36px;padding:8px}.world-nav svg{width:18px;height:18px}.world-welcome h1{font-size:35px}.world-tagline{font-size:10px}.world-overline{font-size:7px}.world-bottom{bottom:max(36px,calc(env(safe-area-inset-bottom) + 25px))}.companion-button{width:80px}.companion-image{width:97px;height:97px;left:-10px}.companion-speech{left:56%;bottom:94px;font-size:7px}.feed-main{min-width:172px;padding:12px 16px;font-size:12px}.feed-actions{gap:5px}.walk-hint{font-size:7px}.realm-marker{left:6%;top:35%}.spark-button:nth-child(1){left:26%;top:49%}.spark-button:nth-child(2){left:72%;top:42%}.spark-button:nth-child(3){left:71%;top:61%}.spark-label{font-size:10px}.spark-kicker{font-size:7px}.dialog-body,.map-dialog .dialog-body{padding-inline:18px}.dialog-header{padding-inline:18px}.dialog-body h2{font-size:23px}.realm-card{padding:15px 12px}.world-status{font-size:7px}}
@media(max-height:690px) and (min-width:701px){.world-stage{min-height:550px}.world-welcome{top:18%;}.world-welcome h1{font-size:43px}.world-overline{font-size:9px;margin-bottom:10px}.world-tagline{font-size:12px;margin-top:10px}.world-bottom{bottom:29px;gap:9px}.companion-button{height:86px;width:91px}.companion-image{height:105px;width:105px}.companion-speech{bottom:91px;font-size:8px}.feed-main{min-height:48px;font-size:12px;min-width:185px}.feed-actions{gap:5px}.wander-button{font-size:9px}.walk-hint{font-size:8px}.world-status,.world-corner-note{bottom:20px}.spark-button:nth-child(1){top:49%}.spark-button:nth-child(2){top:45%}.spark-button:nth-child(3){top:61%}.world-header{top:19px}}
@media(max-height:650px) and (max-width:700px){.world-stage{min-height:540px}.world-welcome{top:18%;}.world-welcome h1{font-size:34px}.world-overline{margin-bottom:8px}.world-tagline{margin-top:10px}.world-bottom{bottom:31px;gap:8px}.companion-button{height:81px}.companion-image{width:93px;height:93px;left:0}.companion-speech{bottom:87px}.feed-main{min-height:47px}.feed-actions{padding-top:10px;gap:4px}.wander-button{min-height:25px}.spark-button:nth-child(1){top:49%}.spark-button:nth-child(2){top:43%}.spark-button:nth-child(3){top:61%}.realm-marker{top:34%}}
/* Readable at arm's length: atmospheric does not mean faint or tiny. */
.world-nav button,.world-nav a{min-width:44px;min-height:44px}
.world-nav .study-link{font-size:12px}
.world-overline{font-size:11px;color:#637154}
.world-tagline{color:#536149}
#realm-name{font-size:12px;color:#536149}
#realm-subtitle{font-size:11px;color:#637154}
.spark-button:nth-child(n){transform:translate(-50%,-50%)}
.spark-button:nth-child(2) .spark-halo{scale:.84}
.spark-button:nth-child(3) .spark-halo{scale:1.12}
.spark-label{font-size:13px;color:#48593e}
.spark-kicker{font-size:11px;color:#637154}
.companion-speech{font-size:11px;color:#536149}
.wander-button{min-height:44px;font-size:12px;color:#536149}
.walk-hint{font-size:11px;color:#637154}
.world-status,.world-corner-note{font-size:10px;color:#637154}
.dialog-header p{font-size:12px;color:#536149}
.dialog-close{width:44px;height:44px;flex-basis:44px;color:#536149}
.dialog-body,.map-dialog .dialog-body{font-size:14px;color:#536149}
.dialog-body p,.dialog-body ul,.dialog-body ol{font-size:14px;color:#536149}
.dialog-body strong{color:#485a3f}
.dialog-body .eyebrow,.dialog-body .discovery-kicker,.dialog-body .step-label{font-size:12px!important;color:#776548!important}
.discovery-lede{font-size:14px;color:#536149!important}
.dialog-body .mini-note{font-size:12px!important;color:#637154!important}
.dialog-body .world-primary,.dialog-body .world-secondary{min-height:44px;font-size:13px}
.world-primary{background:#607654;border-color:#607654;color:#fffef5}
.world-primary:hover{background:#526848;border-color:#526848}
.world-secondary{color:#536149}
.journey-links a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;color:#536149}
.field-label{font-size:13px;color:#536149}
.dialog-body textarea::placeholder,.dialog-body input::placeholder{color:#79866c}
.praise-card,.praise-card p{font-size:14px;color:#7a603d}
.layer-tabs button{min-height:44px;font-size:12px;color:#536149}
.layer-tabs button[aria-selected=true],.layer-tabs button[aria-pressed=true],.layer-tabs button.is-active{background:#637a55;border-color:#637a55}
.choice-list button,.choice-list>a,.feed-choice{min-height:44px;font-size:14px;color:#536149}
.choice-list button small,.feed-choice small,.realm-card small{font-size:12px;color:#637154}
.realm-card strong{font-size:14px;color:#485b3e}
.bag-stat{font-size:12px;color:#637154}
.bag-item h3,.bag-entry h3{font-size:15px}
.bag-item p,.bag-entry p,.empty-state p{font-size:14px;color:#536149}
.bag-item small,.bag-entry small{font-size:12px;color:#637154}
.setting-copy strong{font-size:14px}
.setting-copy p{font-size:12px;color:#637154}
.setting-control,.setting-row>label{min-height:44px}
body.motion-paused *,body.motion-paused *::before,body.motion-paused *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
body.motion-paused .world-welcome,body.motion-paused .world-dialog[open]{opacity:1}
@media(max-width:700px){.world-nav button{width:44px;min-width:44px;min-height:44px}.world-overline{font-size:10px;letter-spacing:.1em}.world-tagline{font-size:12px;letter-spacing:.055em}#realm-name{font-size:11px}#realm-subtitle{font-size:10px}.realm-marker{max-width:170px}.spark-button{max-width:146px;min-width:118px}.spark-label{font-size:12px;letter-spacing:0}.spark-kicker{font-size:10px;letter-spacing:0}.companion-speech{font-size:10px;letter-spacing:0}.walk-hint{font-size:10px;letter-spacing:.015em;gap:5px}.wander-button{font-size:12px;min-height:44px}.feed-actions{gap:2px}.world-status{font-size:10px;letter-spacing:0}.dialog-close{width:44px;height:44px;flex-basis:44px}.dialog-body,.map-dialog .dialog-body{font-size:14px}.dialog-header{padding-block:11px}.dialog-body .world-primary,.dialog-body .world-secondary{font-size:13px}.realm-card{padding:17px 14px}.realm-card strong{font-size:14px}.realm-card small{font-size:12px}}
@media(max-width:359px){.world-header{gap:6px;left:12px;right:12px}.world-brand{gap:5px}.world-brand-copy{gap:4px}.world-brand-copy strong{font-size:17px}.world-brand-copy>span:last-child{font-size:11px}.world-nav{gap:2px}.world-nav button{width:44px;min-height:44px;padding:11px}.world-overline{font-size:10px;letter-spacing:0}.world-tagline{font-size:11px;letter-spacing:.01em}.companion-speech{font-size:10px;left:80%;bottom:101px;padding:7px 10px}.walk-hint{font-size:10px;letter-spacing:0;gap:4px}.spark-label{font-size:12px}.spark-kicker{font-size:10px}.world-status{font-size:10px}.world-bottom{gap:10px}.feed-main{min-width:172px}.realm-marker{top:34%;}.realm-marker-star{width:21px;height:21px;flex-shrink:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.cloud-drift{transform:none}.world-welcome{opacity:1}.traveler{transition:none}.world-dialog[open]{opacity:1}}
