@font-face{font-family:Pixelify;src:url(/fonts/PixelifySans.ttf) format("truetype");font-weight:400 700;font-display:swap}:root{--green:#acd46a;--lilac:#b6a3e8;--gold:#ffce6b;--pink:#efa3ca;--cyan:#9ddde0;--ink:#302b3b;--muted:#62576a;--surface:#fff1cf;--surface-low:#eadbb8;--accent:var(--green);--edge:#493c3d;--shadow:#786344;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--font-game:Pixelify,monospace;--font-body:var(--font-game);--font-legal:system-ui,-apple-system,sans-serif;--touch:44px;--panel-width:380px;--border:2px solid var(--edge);--relief:inset 0 2px #ffffffa0,inset 0 -2px #00000012,3px 4px var(--shadow);color:var(--ink);font:14px/1.5 var(--font-body);background:#242b32}[data-faction=vespera]{--surface:#ece6ff;--surface-low:#d6ccec;--accent:var(--lilac);--edge:#423854;--shadow:#645473;--muted:#5b526e}*{box-sizing:border-box}html,body{margin:0;height:100%;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}button,input,summary{font:inherit}button,summary{cursor:pointer}button{min-height:var(--touch);min-width:var(--touch);padding:8px 12px;border:var(--border);border-radius:0;background:var(--gold);color:var(--ink);box-shadow:var(--relief);font:600 17px/1.2 var(--font-game)}button:hover{background-color:#ffe2a0}button:active{translate:0 3px;box-shadow:inset 0 2px #00000018,1px 1px var(--shadow)}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #2f7384;outline-offset:3px}button.aurora{background:var(--green)}button.vespera{background:var(--lilac)}.pill.active{outline:2px solid var(--ink);outline-offset:-6px}.pixel-icon{width:14px;height:14px;margin-left:6px;vertical-align:-1px;shape-rendering:crispEdges}#app{position:fixed;inset:0;overflow:hidden}.stage{position:absolute;inset:0;touch-action:none;background:#303340}.stage canvas{display:block;width:100%;height:100%;image-rendering:pixelated}#app.standalone{bottom:auto;height:100dvh;--standalone-safe-top:env(safe-area-inset-top,0px)}#app.standalone .top{top:calc(var(--standalone-safe-top) + 12px)}#app.standalone .news{top:var(--hud-bottom,calc(var(--standalone-safe-top) + 96px))}.fade{position:absolute;inset:0;pointer-events:none;background:#303340;opacity:0;transition:opacity .2s}.ui{position:absolute;inset:0;pointer-events:none}.ui>*{pointer-events:auto}.top,.sheet,.card,.banner,.menu-panel,.map-nav{border:var(--border);background:var(--surface);box-shadow:var(--relief);border-radius:0}.top,.card,.menu-panel{box-shadow:inset 0 2px #ffffffa0,-2px 0 var(--edge),2px 0 var(--edge),0 -2px var(--edge),0 2px var(--edge),3px 5px var(--shadow)}.top:before,.menu-panel:before{content:"";position:absolute;width:6px;height:6px;top:4px;left:4px;background:var(--accent)}.top{position:absolute;top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));display:flex;align-items:center;justify-content:space-between;padding:6px 8px;gap:8px}.logo{font:700 25px/1 var(--font-game);letter-spacing:2px;margin:0;color:var(--ink);text-shadow:1px 2px var(--surface-low)}.logo-sub{font:500 11px/1.3 var(--font-game);letter-spacing:2px}.tagline{display:none}.switch{display:flex;gap:6px}.pill{padding:6px 10px;font-size:16px}.banner{position:absolute;top:calc(max(8px,env(safe-area-inset-top)) + 76px);left:8px;max-width:calc(100% - 16px);display:flex;align-items:center;gap:8px;padding:0 0 0 10px;font:500 14px/1.2 var(--font-game)}.banner button{background:var(--surface-low);box-shadow:none;border-width:0 0 0 2px}.banner.warn{top:136px;max-width:340px;padding:8px;font-family:var(--font-body)}.sheet{position:absolute;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));max-height:min(68dvh,620px);display:flex;flex-direction:column;overflow:hidden;z-index:3}.sheet-handle{width:100%;box-shadow:none;background:var(--surface-low);border:0;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;font-size:17px}.sheet-handle:after{content:"▴"}.sheet.open .sheet-handle:after{content:"× Fechar";font-size:15px}.sheet.open .sheet-handle{background:var(--accent);border-bottom:var(--border)}.sheet-body{display:none;padding:12px;overflow:auto;overscroll-behavior:contain;min-height:0}.sheet.open .sheet-body{display:block}.panel-tabs{display:flex;gap:8px;margin-bottom:12px}.panel-tabs button{flex:1;background:var(--surface-low)}.panel-tabs button[aria-selected=true]{background:var(--accent)}h2,h3,.who,summary{font:600 21px/1.3 var(--font-game);margin:0 0 8px}.stat{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--shadow);font-variant-numeric:tabular-nums}.stat span{color:var(--muted)}.stat b{text-align:right;max-width:64%}.stat.strong b{font:600 26px var(--font-game)}.search{display:flex;gap:8px;margin:8px 0 12px}input{width:100%;min-width:0;min-height:44px;padding:10px;background:#fffdf3;color:var(--ink);border:var(--border);border-radius:0;box-shadow:inset 2px 2px #8d7c6740;font-size:16px}.search button{flex:none}.muted,.legal,.updated,.search-result{color:var(--muted);font-size:12px}.search-result:empty{display:none}.search-result:not(:empty),.empty-state{padding:12px;border:2px dashed var(--shadow);background:var(--surface-low)}.resident-list{display:grid;gap:8px;margin-top:12px}.resident-list button{text-align:left;background:var(--surface-low);font-size:16px}.resident-list small{display:block;font:12px var(--font-body);margin-top:4px}.events{margin-top:16px}.events summary{min-height:44px;padding:8px;background:var(--surface-low);font-size:17px;border:var(--border)}.event{padding:8px 0;display:grid;gap:4px;border-bottom:1px solid var(--shadow)}.card{position:absolute;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));max-height:66dvh;overflow:auto;padding:16px;z-index:5}.hidden,[hidden]{display:none!important}.close{float:right;margin:-8px -8px 4px 8px;box-shadow:none;background:var(--surface-low)}.who{min-height:40px;padding-right:40px;font-size:22px}.tag{padding:4px 8px;font-size:12px;background:var(--accent);border-left:4px solid var(--shadow)}.banner .close{float:none;margin:0;align-self:stretch;flex:0 0 44px;display:grid;place-items:center;padding:0}.card.following-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:8px;max-height:100px}.card.following-details{max-height:50dvh}.following-card button{font-size:16px;padding:8px;box-shadow:inset 0 2px #ffffffa0,0 2px var(--shadow)}.follow-person{min-width:0}.follow-person strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 16px/1.3 var(--font-game)}.follow-person small{display:block;font-size:11px;line-height:1.4;color:var(--muted)}.ui.is-following .sheet,.ui.is-following .banner{display:none}.health{height:12px;background:var(--surface-low);border:var(--border);margin:8px 0 16px}.health i{display:block;height:100%;background:#729954;border-top:2px solid #b4d889}.follow{width:100%;background:var(--pink)}.map-nav{position:absolute;left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:calc(max(8px,env(safe-area-inset-bottom)) + 58px);display:flex;gap:6px;padding:4px}.map-nav button{padding:6px 10px;box-shadow:inset 0 2px #ffffff80,0 2px var(--shadow)}.ui:has(.sheet.open) :is(.map-nav),.ui:has(.card:not(.hidden)) :is(.map-nav){visibility:hidden}.splash{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--surface);padding:24px;z-index:10;text-align:center}.splash .logo{font-size:40px}.splash.gone{display:none}.loading{font:500 20px var(--font-game);padding:16px;border-bottom:4px dashed var(--shadow)}.tooltip-target{position:relative}.tooltip-target:is(:hover,:focus-visible):after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:0;min-width:160px;padding:8px;background:var(--surface);border:var(--border);font:15px var(--font-game);box-shadow:3px 3px var(--shadow)}dialog{color:var(--ink);max-width:min(90vw,400px);padding:24px}dialog::backdrop{background:#302b3b80}.menu-panel{position:relative;padding:20px}.catalogue{overflow:auto!important;padding:24px;background:var(--surface-low)}.catalogue>.switch{margin:24px 0}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.menu-panel>button{margin:4px}#app.catalogue{position:relative;min-height:100dvh}@media(max-width:359px){.logo{font-size:21px}.logo-sub{font-size:9px}.pill{font-size:15px;padding:6px}.pixel-icon{display:none}}@media(min-width:900px){.top{right:auto;width:480px;padding:8px 12px}.logo{font-size:30px}.sheet{left:auto;width:var(--panel-width);right:16px;bottom:16px;max-height:calc(100dvh - 120px)}.card{left:auto;right:16px;width:var(--panel-width);bottom:16px;max-height:calc(100dvh - 120px)}.map-nav{left:auto;right:16px;bottom:78px;width:var(--panel-width);box-sizing:border-box}.banner{left:8px;top:94px}}@media(prefers-reduced-motion:reduce){.fade{transition:none}}.sound-toggle{min-width:var(--touch);padding:6px;display:inline-flex;align-items:center;justify-content:center;background:var(--gold)}.sound-toggle[aria-pressed=false]{background:var(--surface-low)}.sound-toggle .pixel-icon{display:block!important;width:18px;height:18px;margin:0}.sound-settings summary{font:600 16px/1.4 var(--font-game);cursor:pointer;padding:6px 0}.sound-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:var(--touch);font-family:var(--font-game);font-size:15px}:is(.sound-row input[type=checkbox],input.pixel-switch){appearance:none;-webkit-appearance:none;flex:none;width:48px;height:26px;min-height:0;min-width:0;margin:0;padding:0;border:var(--border);border-radius:0;background:var(--surface-low);box-shadow:inset 0 2px #00000018;position:relative;cursor:pointer}:is(.sound-row input[type=checkbox],input.pixel-switch):before{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:var(--surface);border:2px solid var(--edge);box-sizing:border-box;transition:left .12s steps(3)}:is(.sound-row input[type=checkbox],input.pixel-switch):checked{background:var(--accent)}:is(.sound-row input[type=checkbox],input.pixel-switch):checked:before{left:24px}:is(.sound-row input[type=checkbox],input.pixel-switch):focus-visible,.sound-row input[type=range]:focus-visible{outline:3px solid var(--ink);outline-offset:2px}input.pixel-switch:disabled{opacity:.5;cursor:not-allowed}@media(prefers-reduced-motion:reduce){input.pixel-switch:before{transition:none}}.sound-row input[type=range]{flex:1;max-width:180px;min-height:var(--touch);margin:0;padding:0;border:0;box-shadow:none;background:transparent;accent-color:var(--ink)}.account{position:absolute;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));max-height:80dvh;overflow:auto;padding:16px;z-index:7;border:var(--border);background:var(--surface);box-shadow:inset 0 2px #ffffffa0,-2px 0 var(--edge),2px 0 var(--edge),0 -2px var(--edge),0 2px var(--edge),3px 5px var(--shadow)}.account .close{position:absolute;top:8px;right:8px}.account-title{font:700 21px/1.2 var(--font-game);margin:0 48px 12px 0}.account p{margin:8px 0}.small{font-size:12px}.account>button:not(.close),.account form>button.consent-submit,.account-more button,.account-confirm button{display:block;width:100%;margin:8px 0}.ui.account-open :is(.map-nav,.sheet,.card){visibility:hidden}.google-signin{background:var(--pink);font-size:17px}.consent-highlight{border:2px solid var(--edge);background:var(--gold);padding:12px;margin:12px 0;font-size:14px;line-height:1.45}.consent-form{display:flex;flex-direction:column;gap:4px}.consent-row{display:flex;gap:10px;align-items:flex-start;min-height:var(--touch);padding:6px 0;font-size:14px;line-height:1.4;cursor:pointer}.consent-row input[type=checkbox]{flex:none;width:24px;height:24px;min-height:0;margin:0;padding:0;accent-color:var(--ink);box-shadow:none}.consent-submit{background:var(--accent);font-size:16px}.consent-submit:disabled{opacity:.45}.account-status:empty{display:none}.account-status{padding:8px 10px;border:2px dashed var(--shadow);background:var(--surface-low)}.account-status[data-kind=error]{border-color:#a33;background:#f9d3cf}.account-status[data-kind=ok]{border-style:solid;background:#dff0c4}.account-warning{padding:8px 10px;border:2px solid var(--edge);background:var(--surface-low)}.account-who{font:600 15px/1.4 var(--font-game)}button.ghost{background:var(--surface-low)}button.danger{background:#f2b8b0}.account-more,.account-admin{margin-top:12px;border-top:2px solid var(--shadow);padding-top:8px}.account-more summary,.account-admin summary{font:600 16px/1.4 var(--font-game);cursor:pointer;padding:6px 0}.look-preview{display:flex;justify-content:center;gap:8px;padding:12px;background:#5d7a3a;border:2px solid var(--edge);margin:8px 0}.look-sprite{width:60px;height:66px;image-rendering:pixelated}.look-group{border:0;padding:0;margin:8px 0;display:flex;flex-wrap:wrap;gap:6px}.look-group legend{font:600 14px/1.4 var(--font-game);margin-bottom:4px;padding:0}.swatch{width:36px;height:36px;min-width:0;padding:0;border:2px solid var(--edge);box-shadow:none}.swatch[aria-pressed=true]{outline:3px solid var(--ink);outline-offset:2px}.swatch-original{background:repeating-linear-gradient(45deg,var(--surface) 0 4px,var(--surface-low) 4px 8px)!important}.admin-item{display:grid;grid-template-columns:1fr auto auto;gap:6px;align-items:center;padding:8px 0;border-bottom:1px solid var(--surface-low)}.admin-item small{grid-column:1;color:var(--muted)}.admin-item strong{grid-column:1}.account-confirm{max-width:min(420px,92vw);padding:16px}.account-confirm::backdrop{background:#0008}.legal-page{overflow:auto!important;padding:16px;background:var(--surface-low);min-height:100dvh}.legal-doc{max-width:760px;margin:0 auto;padding:24px;position:relative;line-height:1.6}.legal-doc h1{font:700 28px/1.2 var(--font-game)}.legal-doc h2{font:600 19px/1.3 var(--font-game);margin-top:24px}.legal-back{display:inline-block;margin-bottom:12px}@media(min-width:900px){.account{left:auto;right:16px;width:var(--panel-width);bottom:16px;max-height:calc(100dvh - 120px)}}.support-button{background:var(--pink)!important;display:inline-flex;align-items:center;gap:6px;min-width:var(--touch);justify-content:center}.support-button .heart-icon,.support-title .heart-icon{display:block!important;width:16px;height:16px;margin:0;color:#c8325a}.support{position:absolute;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));top:auto;max-height:calc(100dvh - 24px - env(safe-area-inset-top));overflow:auto;padding:16px;z-index:8;border:var(--border);background:var(--surface);box-shadow:inset 0 2px #ffffffa0,-2px 0 var(--edge),2px 0 var(--edge),0 -2px var(--edge),0 2px var(--edge),3px 5px var(--shadow)}.support .close{position:absolute;top:8px;right:8px}.support-title{display:flex;align-items:center;gap:8px;font:700 21px/1.2 var(--font-game);margin:0 48px 8px 0;text-transform:uppercase;letter-spacing:1px}.support p{margin:8px 0}.support-lead{font:600 16px/1.4 var(--font-game)}.support-value{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:12px 0;padding:10px 12px;border:var(--border);background:var(--gold);box-shadow:3px 3px var(--shadow)}.support-value strong{font:700 28px/1 var(--font-game)}.support-value span{font-size:13px}.support-copy{display:block;width:100%;font-size:17px;background:var(--accent);margin:8px 0}.support-copied:empty{display:none}.support-copied{padding:8px 10px;border:2px solid var(--edge);background:#dff0c4;font:600 15px/1.3 var(--font-game)}.support-copied[data-kind=error]{background:#f9d3cf}.support-qr{margin:12px auto;width:min(244px,100%);padding:12px;background:#fff;border:var(--border);box-shadow:3px 4px var(--shadow)}.support-qr img{display:block;width:100%;height:auto;image-rendering:pixelated}.support-save{display:block;text-align:center;text-decoration:none;color:var(--ink);padding:10px 12px;min-height:var(--touch);box-sizing:border-box;font:600 16px/1.4 var(--font-game);border:var(--border);background:var(--surface-low);box-shadow:inset 0 2px #ffffff80,3px 3px var(--shadow);margin:8px 0}.support-save:active{translate:0 3px;box-shadow:inset 0 2px #00000018,1px 1px var(--shadow)}.support-save:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.support-note{font-size:12px;color:var(--muted);border-top:2px dashed var(--shadow);padding-top:8px}.ui.support-open :is(.map-nav,.sheet,.card,.account){visibility:hidden}@media(max-width:419px){.support-label{display:none}}@media(min-width:900px){.support{left:auto;right:16px;width:var(--panel-width);bottom:16px;max-height:calc(100dvh - 120px)}}.residents-button{display:inline-flex;align-items:center;gap:6px;min-width:var(--touch);justify-content:center}.residents-button .pixel-icon{display:block!important;width:16px;height:16px;margin:0}@media(max-width:419px){.nav-label{display:none}.map-nav button{padding:6px 8px}}.link-form{display:grid;gap:10px;margin:8px 0 12px}.link-choice{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:8px;border:2px dashed var(--shadow)}.link-choice legend{padding:0 4px;font:500 13px/1.2 var(--font-game)}.link-choice .pill{min-height:40px;font-size:15px}.link-choice .pill[aria-pressed=true]{background:var(--ink);color:var(--surface, #fffdf3)}.account-ok{font-weight:700}.online-now{margin:0 0 8px;font:500 14px/1.2 var(--font-game);color:#3f7a3a}.online-now:first-letter{color:#4fbf5a}.talk{display:flex;flex-wrap:wrap;gap:6px}.talk .pill{min-height:36px;font-size:14px}.talk .pill:disabled{opacity:.5}.tag.tag-pending{background:#f2b33d;color:#2a1a05}.account-pending{padding:8px 10px;border:2px solid #f2b33d;background:var(--surface-low)}.event.join strong:before{content:"★ ";color:var(--accent)}input,select,textarea,button,summary{font-family:var(--font-game)}a.legal-link{font-family:var(--font-legal);font-weight:600;color:#2f5f9e;text-decoration:underline;text-underline-offset:2px}.age-row{margin:8px 0 4px;padding:10px 12px 8px;border:2px dashed var(--shadow)}.age-head{display:flex;align-items:baseline;justify-content:space-between;font:600 16px/1.3 var(--font-game)}.age-value{font:700 22px/1 var(--font-game)}.age-scale{display:flex;justify-content:space-between;font:500 12px/1 var(--font-game);color:var(--muted)}.age-row input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:16px;min-height:0;margin:12px 0 6px;padding:0;border:var(--border);box-shadow:none;background:linear-gradient(90deg,var(--accent) var(--fill,0%),var(--surface-low) var(--fill,0%));cursor:pointer}.age-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:30px;background:var(--gold);border:2px solid var(--edge);box-shadow:2px 2px var(--shadow)}.age-row input[type=range]::-moz-range-thumb{width:22px;height:30px;border-radius:0;background:var(--gold);border:2px solid var(--edge);box-shadow:2px 2px var(--shadow)}.join-cta{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--ink)!important;color:var(--gold);font-size:18px;letter-spacing:.5px;text-shadow:1px 1px #000;animation:cta-glow 1.6s steps(2) infinite}.join-cta{white-space:nowrap;min-width:0}.join-cta .pixel-icon{display:block!important;flex:none;width:18px;height:18px;margin:0;color:var(--gold)}.join-cta:hover{background-color:#463f55!important}.join-cta.linked{background:var(--gold)!important;color:var(--ink);text-shadow:none;animation:none}.join-cta.linked .pixel-icon{color:var(--ink)}@keyframes cta-glow{0%{outline:2px solid var(--gold);outline-offset:-5px}to{outline:2px solid transparent;outline-offset:-5px}}@media(prefers-reduced-motion:reduce){.join-cta{animation:none}}@media(max-width:599px){.map-nav .nav-label,.map-nav .support-label{display:none}}@media(max-width:379px){.join-cta{font-size:15px;padding:6px}}@media(min-width:600px){.map-nav{flex-wrap:wrap}.map-nav .join-cta{flex:1 1 100%}.map-nav .residents-button,.map-nav .support-button{flex:1}}.class-icon{flex:none;image-rendering:pixelated}.who{display:flex;align-items:center;gap:10px}.resident-list .resident-row{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}.resident-row .class-icon{grid-row:span 2}.resident-row small{grid-column:2;margin-top:0!important}.wardrobe{display:grid;gap:12px;margin:12px 0}.wardrobe .look-group{margin:0}.outfit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.outfit-choice{display:flex;align-items:center;gap:8px;min-height:52px;padding:8px;text-align:left;font:16px/1.2 var(--font-game)}.outfit-colors{display:flex;flex-shrink:0;border:2px solid var(--ink)}.outfit-colors span{width:12px;height:24px}.favorite-list{display:grid;gap:8px;margin-top:8px}.favorite-row{display:flex;align-items:stretch;gap:8px}.favorite-row .pill{flex:1;display:flex;align-items:center;justify-content:center;gap:8px}.favorite-row canvas{width:24px;height:30px;image-rendering:pixelated}.personal-card-settings{padding:12px;border:2px solid var(--ink);background:var(--surface);box-shadow:3px 3px 0 var(--shadow)}.personal-card-settings summary{min-height:44px;cursor:pointer;font:18px/1.4 var(--font-game)}.card-field{display:grid;gap:6px;margin:12px 0;font:16px/1.3 var(--font-game)}.card-field select,.card-field textarea{box-sizing:border-box;width:100%;min-width:0;padding:10px;border:2px solid var(--ink);border-radius:0;background:#fff8e5;color:#302b35;font:16px/1.4 var(--font-game)}.card-field textarea{resize:vertical;font-family:var(--font-legal)}.card-field:has(input[type=checkbox]){display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}.personal-card{display:block;width:min(100%,288px);height:auto;margin:16px auto;image-rendering:pixelated;border:2px solid var(--ink)}.wardrobe button:focus-visible,.card-field select:focus-visible,.card-field textarea:focus-visible{outline:3px solid var(--ink);outline-offset:3px}@media(max-width:360px){.outfit-grid{grid-template-columns:1fr}}.atelier-page{height:100%;overflow-y:auto;padding:20px max(16px,calc((100vw - 720px)/2));background:var(--surface-low)}.atelier-heading{padding:16px;border:var(--border);background:var(--surface);box-shadow:var(--relief)}.atelier-heading h1{font:700 30px/1.2 var(--font-game);margin:0 0 8px}.atelier-heading p{font:16px/1.5 var(--font-legal)}.atelier-heading a{color:var(--ink);font:18px var(--font-game)}.atelier-controls{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.atelier-controls select{max-width:100%;border:var(--border);background:var(--surface);color:var(--ink);padding:8px;font:16px var(--font-game)}.atelier-preview{padding:12px;border:var(--border);background:var(--surface)}.atelier-page .look-group{background:var(--surface)}.atelier-overlay{position:absolute;inset:8px;z-index:20;height:auto;padding:16px max(12px,calc((100vw - 744px)/2));border:var(--border);box-shadow:var(--relief)}.atelier-overlay .atelier-heading button{margin:6px 8px 0 0}.atelier-access{position:absolute;width:1px;height:1px;min-width:0;min-height:0;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.atelier-access:focus-visible{width:auto;height:44px;min-width:44px;padding:8px 12px;top:96px;left:16px;clip-path:none;z-index:6;border:var(--border)}.creator{display:grid;gap:4px}.creator-preview{margin:4px 0}.creator[data-faction=vespera] .creator-preview,.welcome[data-faction=vespera] .look-preview{background:#3d4b78}.creator-choices .link-choice{margin:4px 0}.creator-shuffle{justify-self:start;min-height:40px;font-size:15px}.creator-colors summary{font:600 16px/1.4 var(--font-game);padding:6px 0}.inapp-box{margin:12px 0 8px;padding:10px 12px;border:2px solid var(--edge);background:var(--gold);box-shadow:3px 3px var(--shadow)}.inapp-box strong{font:700 17px/1.3 var(--font-game)}.inapp-box button{display:block;width:100%;margin:8px 0 0}.inapp-steps{margin:8px 0 0;padding-left:22px;font:500 16px/1.5 var(--font-game)}.welcome{display:grid;gap:6px}.welcome-hero .look-sprite{width:120px;height:132px}.welcome-line{font:700 18px/1.35 var(--font-game)}.welcome-card{display:block;width:min(100%,260px);margin:6px auto;image-rendering:pixelated;border:2px solid var(--edge);box-shadow:3px 3px var(--shadow);-webkit-touch-callout:default}.welcome>button{display:block;width:100%;margin:4px 0}.welcome-share button.consent-submit{width:100%}.funnel-table{display:grid;gap:6px;margin-top:8px}.funnel-row{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center;font-size:13px}.funnel-label{grid-column:1 / -1}.funnel-bar{height:10px;border:2px solid var(--edge);background:linear-gradient(90deg,var(--accent) var(--w),var(--surface-low) var(--w))}.funnel-row strong{grid-row:2;grid-column:2}.funnel-row small{grid-column:1 / -1}.inapp-box summary{font:700 16px/1.4 var(--font-game);padding:4px 0}details.inapp-box{background:var(--surface-low)}.resident-bio{margin:4px 0 8px;padding:8px 10px;background:var(--surface-low);border:var(--border)}.resident-bio .muted{display:block;margin-bottom:2px}.bio-text{margin:0;font:15px/1.4 var(--font-legal);white-space:pre-wrap;overflow-wrap:anywhere}.public-bio{display:grid;gap:8px;margin:8px 0;padding:8px;border:2px dashed var(--shadow);background:var(--surface-low)}.public-bio .muted{margin:0}.news{position:absolute;top:calc(max(8px,env(safe-area-inset-top)) + 84px);left:8px;right:8px;max-width:420px;margin:0 auto;z-index:6;display:grid;grid-template-columns:1fr auto;gap:6px 8px;align-items:start;padding:10px 10px 12px;border:var(--border);background:var(--surface);box-shadow:var(--relief);animation:news-in .25s steps(4)}.news strong{font:700 14px/1.2 var(--font-game);letter-spacing:2px;color:var(--ink);background:var(--gold);padding:4px 8px;justify-self:start;border:var(--border)}.news p{grid-column:1 / -1;margin:0;font:500 16px/1.35 var(--font-game)}.news>button:not(.news-close){grid-column:1 / -1;background:var(--pink)}.news-close{min-height:36px;min-width:36px;padding:0 8px;background:var(--surface-low);box-shadow:none;font-size:20px}@keyframes news-in{0%{transform:translateY(-12px);opacity:0}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.news{animation:none}}.switch .pill{display:flex;flex-direction:column;align-items:center;gap:2px}.world-progress{display:flex;align-items:center;gap:4px}.world-progress small{font:600 13px/1 var(--font-game)}.world-bar{display:block;width:100%;min-width:64px;height:6px;background:#00000026;border:1px solid var(--edge)}.world-bar i{display:block;height:100%;width:0;background:var(--ink)}.world-bar.building i{background:repeating-linear-gradient(90deg,var(--gold) 0 4px,var(--ink) 4px 6px);animation:work-stripes 1s steps(3) infinite}@keyframes work-stripes{to{background-position:6px 0}}@media(prefers-reduced-motion:reduce){.world-bar.building i{animation:none}}.news.toast strong{white-space:normal}.world-progress small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:72px}.patch-notes{margin-top:12px}.patch-notes summary{min-height:44px;padding:8px;background:var(--surface-low);font-size:17px;border:var(--border)}.patch-notes section{padding:8px 4px 4px;border-bottom:1px solid var(--shadow)}.patch-notes h3{font:600 15px/1.3 var(--font-game);margin:0 0 4px}.patch-notes ul{margin:0;padding-left:18px}.patch-notes li{font:14px/1.45 var(--font-legal);margin:2px 0}.account .look-preview{position:sticky;top:-16px;z-index:3;margin-left:-4px;margin-right:-4px;box-shadow:0 6px 0 -2px var(--surface),0 4px 0 var(--edge)}.account .creator-preview{top:-16px}.handle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;font:600 16px/1.3 var(--font-game)}.tag-founder{background:var(--gold);color:var(--ink);border:var(--border);font-weight:600}.search{position:relative}.search input[type=search]{padding-right:44px}.search input[type=search]::-webkit-search-cancel-button{display:none}.search-clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);min-width:36px;min-height:36px;padding:0;font-size:20px;line-height:1;background:transparent;border:0;box-shadow:none}.filter-row{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}.filter-chip{min-height:36px;padding:4px 10px;font-size:14px;background:var(--surface-low);display:inline-flex;align-items:center;justify-content:center}.class-filter .filter-chip{min-width:40px;padding:4px 6px}.filter-chip[aria-pressed=true]{background:var(--ink);color:var(--surface, #fffdf3)}.resident-count{margin:4px 0 0;color:var(--muted);font-size:12px}.resident-anonymous{display:grid;gap:8px}.resident-anonymous summary{cursor:pointer;color:var(--muted);font-size:13px;padding:6px 0}.resident-anonymous[open]{gap:8px}.resident-anonymous .resident-row{margin-top:8px;text-align:left;background:var(--surface-low);font-size:16px}.sheet-body[data-mode=world]>.residents{display:none!important}.sheet-body[data-mode=people]>:not(.residents){display:none!important}.account-head{position:sticky;top:-16px;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:8px;margin:-16px -16px 12px;padding:8px 8px 8px 16px;background:var(--surface);border-bottom:2px solid var(--shadow)}.account-head .account-title{margin:0;flex:1;min-width:0}.account .account-head .close{position:static;float:none;margin:0;flex:none;width:48px;height:48px;min-height:48px;padding:0;display:grid;place-items:center;font-size:26px;line-height:1}.account .look-preview,.account .creator-preview{top:50px}.resident-controls{position:sticky;top:-12px;z-index:1;margin:-12px -12px 0;padding:12px;background:var(--surface);border-bottom:2px solid var(--shadow)}.resident-controls .search{margin:0 0 8px}.world-filter .filter-chip{flex:1;min-height:44px;font-size:16px}.resident-class-label{display:flex;align-items:center;gap:12px;width:100%;font-size:16px}.resident-class{flex:1;min-width:0;min-height:44px;padding:8px;border:var(--border);border-radius:0;background:var(--surface-low);color:var(--ink);font-size:16px}.reset-resident-filters{min-height:44px;width:100%;font-size:15px;background:var(--surface-low);margin-top:4px}.support{padding:0;overflow:hidden;display:flex;flex-direction:column;max-height:calc(100dvh - 100px - env(safe-area-inset-top))}.support.hidden{display:none}.support-header{position:relative;flex:none;padding:16px 56px 14px 16px;border-bottom:var(--border);background:var(--surface-low)}.support-header .support-title{margin:0;font-size:20px}.support-header .close{top:10px;right:10px}.support-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px;display:grid;gap:16px}.support-intro p:first-child{margin-top:0}.support-intro p:last-child{margin-bottom:0}.support-value{margin:0;flex-direction:column;align-items:flex-start;gap:4px}.support-payment{padding:16px;border:var(--border);background:var(--surface-low);display:grid;gap:20px}.support-payment-title{margin:0 0 12px;font:700 20px/1.2 var(--font-game)}.support-qr{width:min(220px,100%);box-sizing:border-box;margin:0 auto}.support-actions{min-width:0}.support-copy,.support-save{margin:0;min-height:48px;width:100%;box-sizing:border-box}.support-actions .support-copied{margin:12px 0 0}.support-actions .muted{margin:12px 0;line-height:1.5}.support-note{margin:0!important;line-height:1.5}@media(min-width:600px){.support{left:auto;right:16px;width:min(620px,calc(100vw - 32px))}.support-payment{grid-template-columns:200px minmax(0,1fr);align-items:center}}
