:root{--ink:#3c594d;--paper:#fffaf0;--muted:#69796a;--line:#dce3d2;--sage:#597963}body{font-family:ui-rounded,'Trebuchet MS',system-ui,sans-serif;color:var(--ink)}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #8a5c82;outline-offset:4px}[hidden]{display:none!important}.world-heading{position:fixed;top:max(26px,env(safe-area-inset-top));left:max(30px,env(safe-area-inset-left));z-index:3;pointer-events:none;text-shadow:0 1px 14px #e7eedc}.world-heading a{pointer-events:auto;color:var(--ink);font-size:17px;font-weight:bold;text-decoration:none}.world-heading a span{font-size:10px;font-weight:normal;letter-spacing:.7px}.world-heading h1{font-family:Georgia,serif;font-weight:normal;letter-spacing:-1.8px;font-size:clamp(32px,4vw,54px);line-height:1.03;margin:22px 0 12px}.world-heading p{font-size:12px;max-width:280px;line-height:1.6;background:#eef1dcba;border-radius:12px;padding:5px 10px;margin-left:-10px}.world-invite{position:fixed;bottom:32px;left:30px;z-index:4;display:flex;align-items:center;gap:16px;width:320px;padding:17px 20px;background:#fffaf0ed;backdrop-filter:blur(10px);border:1px solid #fffdf4;border-radius:22px;color:var(--ink);text-align:left;box-shadow:0 8px 28px #475a4a16}.world-invite strong,.world-invite small{display:block}.world-invite strong{font-size:13px;font-weight:600}.world-invite small{font-size:11px;color:var(--muted);margin-top:5px}.invite-art{font-size:32px;color:#a8838d}.world-invite>span:last-child{margin-left:auto}.world-nav{position:fixed;z-index:4;bottom:30px;left:50%;transform:translateX(-50%);display:flex;gap:5px;border-radius:23px;padding:7px;background:#fffaf0ed;border:1px solid #fffdf4;box-shadow:0 8px 28px #475a4a16;backdrop-filter:blur(12px)}.world-nav button{border:0;color:var(--ink);background:transparent;border-radius:17px;min-width:75px;min-height:56px;padding:7px 12px;font-size:10px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px}.world-nav button:hover{background:#e7ecdd}.world-nav button span{font-size:22px;line-height:1.1}.city-dock{bottom:37px;right:26px}.city-dock a,.city-dock button{width:47px;height:47px;border-radius:17px}.accessible-control{opacity:1;pointer-events:auto;left:auto;right:26px;top:max(24px,env(safe-area-inset-top));z-index:4;width:42px;height:42px}.home-control{display:none}.adventure-markers [role=button]{cursor:pointer}.adventure-markers [role=button]:focus{outline:none}.adventure-markers [role=button]:focus circle{stroke:#8a5c82;stroke-width:5}
#world-dialog{margin:auto 26px auto auto;width:min(470px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:26px 28px 18px;border:1px solid #fdfdf3;border-radius:30px;background:var(--paper);color:var(--ink);box-shadow:0 25px 100px #304d3833;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}#world-dialog::backdrop{background:#30493520;backdrop-filter:blur(2px)}.world-dialog-head{display:flex;align-items:center;justify-content:space-between;min-height:30px;margin-bottom:16px}.world-eyebrow{display:block;font-size:9px;letter-spacing:1.7px;font-weight:bold;color:var(--muted)}.world-close{display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:36px;height:36px;background:transparent;color:var(--ink);font-size:25px;flex-shrink:0}#world-dialog h2{font-family:Georgia,serif;font-weight:normal;font-size:34px;line-height:1.1;letter-spacing:-.9px;margin:10px 0 16px}#world-dialog h3{font-size:15px;font-weight:600;margin:22px 0 10px}.world-intro{font-size:13px;line-height:1.7;color:var(--muted);margin:0 0 23px}.world-small{font-size:11px;line-height:1.75;color:var(--muted)}.world-button{display:block;width:100%;border:1px solid var(--sage);border-radius:14px;background:var(--sage);color:#fffdf2;padding:14px 17px;font-size:12px;text-align:center;text-decoration:none;margin:12px 0}.world-button.secondary{background:transparent;border-color:var(--line);color:var(--ink)}.world-button:hover{filter:brightness(.96)}.world-button:disabled{opacity:.55}.world-feedback,.world-error{font-size:12px;line-height:1.6;margin:12px 0 0}.world-error{color:#963e39}.world-feedback:empty,.world-error:empty{display:none}#world-dialog label{display:block;font-size:12px;margin:16px 0 8px}#world-dialog input:not([type=checkbox]){width:100%;border:1px solid #c9d4c3;background:#fffdf7;border-radius:12px;padding:13px;color:var(--ink);font-size:16px;min-width:0}#world-dialog details{border-top:1px solid var(--line);margin-top:22px;padding-top:16px}#world-dialog summary{font-size:12px;cursor:pointer;min-height:30px;line-height:2}#world-dialog progress{width:100%;height:5px;border:0;border-radius:10px;overflow:hidden;appearance:none;background:#e3e8d9;accent-color:#829a76}#world-dialog progress::-webkit-progress-bar{background:#e3e8d9}#world-dialog progress::-webkit-progress-value{background:#829a76;border-radius:10px}.world-places{display:grid;gap:10px}.place-card{display:flex;align-items:center;gap:14px;text-align:left;border:1px solid var(--line);border-radius:18px;background:#fffdf5;padding:12px;color:var(--ink);width:100%}.place-card:hover{background:#f0f3e6}.place-art{display:grid;place-items:center;border-radius:14px;width:58px;height:58px;flex-shrink:0;background:color-mix(in srgb,var(--place) 45%,#fff9ec);font-family:Georgia,serif;font-size:33px}.place-card strong,.place-card small{display:block}.place-card strong{font-size:13px;font-weight:600}.place-card small{font-size:11px;color:var(--muted);margin-top:6px}.place-stamp{margin-left:auto;margin-right:5px;color:#6a8862}.place-hero{margin:20px 0;display:grid;place-items:center;min-height:150px;font-size:82px;color:#597868;background:linear-gradient(145deg,color-mix(in srgb,var(--place) 55%,#fff9ed),#f0eddb);border-radius:65% 45% 50% 38% / 45% 60% 45% 50%}.stamp-note{font-size:11px;color:#718669}.quiet-fountain{height:100px;display:grid;place-items:center;position:relative}.quiet-fountain i{position:absolute;border:2px solid #a9c4bc;width:45px;height:45px;border-radius:50%;transform:rotateX(55deg);animation:quiet-ripple 6s ease-out infinite}.quiet-fountain i:nth-child(2){animation-delay:2s}.quiet-fountain i:nth-child(3){animation-delay:4s}@keyframes quiet-ripple{from{transform:rotateX(55deg) scale(.5);opacity:.8}to{transform:rotateX(55deg) scale(3);opacity:0}}
.world-passport{background:#e6ecdb;border:1px solid #ccd9bf;border-radius:18px;padding:22px;color:#465d49}.passport-top{display:flex;justify-content:space-between;font-size:8px;letter-spacing:2px;line-height:1.9}.passport-top strong{font-size:10px;letter-spacing:1.5px}.passport-top>span:last-child{font-size:36px}.passport-identity{display:flex;align-items:center;gap:20px;margin:13px 0}.passport-wibi{height:100px;width:85px;flex-shrink:0;background:#f4f5e8;border-radius:32px;padding:10px}.passport-wibi svg{width:100%;height:100%}.passport-identity h3{font-family:Georgia,serif;font-size:25px!important;margin:0!important;overflow-wrap:anywhere}.passport-identity p{font-size:12px;margin:5px 0 10px}.passport-identity code{font-size:10px;letter-spacing:1px}.passport-facts{display:grid;grid-template-columns:repeat(3,1fr);padding:14px 0;border-top:1px solid #cbd6c1;border-bottom:1px solid #cbd6c1;gap:8px}.passport-facts span{font-size:9px;line-height:1.7}.passport-facts strong{display:block;font-size:20px;font-family:Georgia,serif;font-weight:normal}.passport-stamps{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.passport-stamps span{width:53px;text-align:center;font-size:8px;color:#87927d;line-height:1.3}.passport-stamps b{display:grid;place-items:center;height:43px;width:43px;font-size:24px;border:1px dashed #acb79d;border-radius:50%;margin:0 auto 6px;font-weight:normal}.passport-stamps .collected{color:#426751}.passport-stamps .collected b{border:2px solid #6b8965;transform:rotate(-10deg);background:#f1f3e5}.rank-progress{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:10px;margin:20px 0}.welcome-checks{list-style:none;padding:0}.welcome-checks li{display:flex;align-items:center;gap:10px;font-size:12px;border-bottom:1px solid var(--line);padding:12px 0}.welcome-checks small{margin-left:auto}.welcome-checks .done{color:#628c5f}.resident-note{font-size:12px;background:#edf0e2;padding:15px;border-radius:12px;line-height:1.7}.world-checkbox{display:flex!important;align-items:center;gap:10px;line-height:1.6}.world-checkbox input{width:18px;height:18px;accent-color:#597963}.recovery-key{font-family:monospace!important;font-size:11px!important}.journey-list{display:grid;gap:12px}.journey-card{display:flex;gap:15px;border:1px solid var(--line);padding:18px 15px;border-radius:18px}.journey-card>div{flex:1}.journey-card h3{margin:0 0 7px!important}.journey-card p{font-size:11px;color:var(--muted);line-height:1.6;margin:0 0 10px}.journey-card small{font-size:10px;color:var(--muted)}.journey-mark{font-size:24px;color:#82986b}.rank-ladder{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rank-ladder span{border:1px solid var(--line);padding:12px;border-radius:12px;font-size:11px}.rank-ladder .reached{background:#e6ecdb}.rank-ladder small{display:block;margin-top:5px;color:var(--muted);font-size:9px}
.community-poll{border:1px solid var(--line);padding:20px;border-radius:20px;background:#f3f1e7}.community-poll h3{margin-top:12px!important}.vote-option{position:relative;width:100%;border:1px solid #d9dfcf;background:#fffaf0;border-radius:12px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;padding:14px 12px;text-align:left;color:var(--ink);margin-top:9px;font-size:11px}.vote-option span,.vote-option strong{position:relative;z-index:1}.vote-option i{position:absolute;inset:0 auto 0 0;background:#e1e8d6}.vote-option.chosen{border-color:#739166}.community-ranking{margin-top:25px}.community-ranking ol{list-style:none;padding:0}.community-ranking li{display:flex;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.board-position{font-family:Georgia,serif;font-size:20px;color:#8a9a7d;min-width:20px}.community-ranking strong{font-size:12px;overflow-wrap:anywhere}.community-ranking small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.community-ranking b{margin-left:auto;font-size:13px;text-align:right}.community-empty{text-align:center;padding:30px;background:#eff1e5;border-radius:16px;font-family:Georgia,serif;font-size:20px}.community-empty small{font-family:system-ui,sans-serif;font-size:11px;margin-top:8px}.game-eyebrow{margin:23px 0 6px}.garden-board{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:#dce6cb;padding:17px;border-radius:25px}.garden-plot{aspect-ratio:1;border:1px solid #b8c7a0;border-radius:24px;background:#c5cda9;color:#65765b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:0}.garden-plot span{font-size:42px;line-height:1}.garden-plot small{font-size:9px}.garden-plot.stage-1{background:#d9dfbc;color:#6c945d}.garden-plot.stage-2{background:#e6e9cb;color:#ab828c}.garden-plot.stage-3{background:#f2eed5;color:#b5828d}.pebble-scene{height:235px;border-radius:25px;background:linear-gradient(#dfebe2,#c2d9d3 75%,#e2d9c3 75%);display:flex;justify-content:center;align-items:flex-end;padding-bottom:26px}.pebble-tower{display:flex;flex-direction:column;align-items:center}.pebble-tower i{display:block;width:var(--pebble-width);height:27px;background:var(--stone);border:1px solid #89988a50;border-radius:45% 50% 40% 42%;box-shadow:0 4px 8px #546a5020}.pebble-tray{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;margin:20px 0}.pebble-tray button{min-width:44px;width:var(--pebble-width);height:44px;border:1px solid #bac9b6;border-radius:50%;background:#dbe0d0;color:#5b705d;font-size:12px}.lantern-board{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:#dfe2d1;border-radius:24px;padding:16px}.lantern{aspect-ratio:1.2;min-height:60px;background:#b1bba7;border:1px solid #a1b198;border-radius:18px;color:#f6f4df;font-size:28px}.lantern.lit{background:#f6ebcf;color:#aa8191;border-color:#d8c5ae}.lantern.matched{background:#e9eddb;color:#80916c;border-color:#b7c6a6}.game-complete{text-align:center;padding:22px 0 0}.game-complete>span{font-size:30px;color:#a18c68}.game-complete h3{font-family:Georgia,serif;font-size:24px!important;font-weight:normal!important}.game-complete p{font-size:12px;line-height:1.6;color:var(--muted)}
@media(max-width:1100px){.world-invite{bottom:125px;left:24px;width:270px}.world-nav{bottom:27px}.world-heading{left:24px}.world-heading h1{font-size:42px}}
@media(max-width:600px){.world-heading{top:max(22px,env(safe-area-inset-top));left:20px}.world-heading h1{font-size:34px;margin:17px 0 10px}.world-heading a{font-size:15px}.world-heading a span{font-size:9px}.world-heading p{font-size:10px;max-width:240px}.world-invite{left:16px;bottom:calc(104px + env(safe-area-inset-bottom));width:calc(100% - 132px);min-width:190px;padding:12px 14px;border-radius:18px;gap:10px}.world-invite strong{font-size:11px}.world-invite small{font-size:9px}.invite-art{font-size:25px}.city-dock{bottom:calc(114px + env(safe-area-inset-bottom));right:14px;gap:7px}.city-dock a,.city-dock button{width:40px;height:40px;border-radius:14px}.city-dock svg{width:22px;height:22px}.world-nav{bottom:calc(15px + env(safe-area-inset-bottom));width:calc(100% - 32px);max-width:390px;justify-content:space-around;padding:6px}.world-nav button{min-width:0;flex:1;font-size:10px;padding:6px;min-height:55px}.accessible-control{right:18px;top:max(20px,env(safe-area-inset-top))}#world-dialog{margin:auto auto 0;width:100%;max-height:90dvh;border-radius:28px 28px 0 0;padding:22px 22px max(22px,env(safe-area-inset-bottom));border-bottom:0}#world-dialog h2{font-size:31px}.passport-identity{gap:15px}.passport-stamps{gap:8px}.passport-stamps span{width:47px}.world-passport{padding:19px}}
@media(prefers-reduced-motion:reduce){.quiet-fountain i{animation:none;opacity:.6}.quiet-fountain i:nth-child(2){transform:rotateX(55deg) scale(2)}.quiet-fountain i:nth-child(3){transform:rotateX(55deg) scale(3)}}
@media(max-width:600px){.passport-stamps{gap:6px}.passport-stamps span{width:44px}}
