@font-face{font-family:Nunito;src:url(/fonts/nunito.woff2) format("woff2");font-display:swap}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden}body{font:14px/1.45 Nunito,system-ui,sans-serif;color:#3d3949;background:#e7e2df}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #ded7df;background:#fffcf8;color:#4a4257;border-radius:13px;padding:11px 14px;min-height:44px;transition:background .15s,transform .15s}button:hover{background:#f6e5ef}button:active{transform:scale(.98)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #8263ac;outline-offset:2px}button:disabled{opacity:.5;cursor:wait}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}button svg{flex-shrink:0}h1,h2,h3,p{margin:0}#world{position:absolute;inset:0;width:100%;height:100%;touch-action:none;outline:none}header{position:absolute;top:20px;left:24px;right:24px;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}header>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:10px;background:#fffaf4ed;padding:9px 18px 9px 10px;border:1px solid #fff;border-radius:18px;box-shadow:0 5px 20px #5741500d}.brand-mark{font-size:33px;font-weight:900;line-height:44px;text-align:center;width:44px;height:44px;color:#785270;background:#f0ccdb;border-radius:14px}.brand strong{font-size:22px;letter-spacing:-1px;display:block;line-height:1.1}.brand small{font-size:8px;letter-spacing:2.5px;font-weight:800;text-transform:uppercase}.header-actions{display:flex;gap:8px}.header-actions button{display:flex;align-items:center;gap:8px;background:#fffcf4ef;box-shadow:0 5px 15px #6951650d}#rail{position:absolute;top:118px;left:24px;display:grid;gap:10px}#rail button{width:58px;height:58px;border:1px solid #fff;background:#fffcf6ee;display:grid;place-content:center;padding:8px;gap:3px;box-shadow:0 4px 15px #5741500c}#rail button svg{margin:auto}#rail small{font-size:9px;font-weight:800}#rail button.active{background:#eadff0;color:#684c81;border-color:#cbb6df}#panel{position:absolute;top:118px;left:96px;width:324px;max-height:calc(100% - 220px);background:#fffcf8f5;border:1px solid #fff;border-radius:22px;box-shadow:0 14px 60px #5e45521f;display:flex;flex-direction:column;backdrop-filter:blur(16px)}#panel[hidden]{display:none}.panel-head{padding:20px 20px 13px;display:flex;justify-content:space-between;gap:8px}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:850;color:#907588;text-transform:uppercase}.panel-head h1{font-size:24px;letter-spacing:-1px;margin-top:3px}.icon-button{border:0;background:transparent;padding:6px;min-width:36px;min-height:36px;align-self:start}.panel-subtitle{color:#877f8b;font-size:12px;margin-top:4px}#panel-body{overflow:auto;padding:0 18px 18px;scrollbar-width:thin}.tabs{display:flex;overflow-x:auto;gap:5px;margin-bottom:15px;padding-bottom:5px;scrollbar-width:thin}.tabs button{padding:7px 10px;min-height:35px;font-size:11px;white-space:nowrap;border-radius:9px;background:#f5f0f3}.tabs button.active{background:#795e92;color:#fff;border-color:#795e92}.piece-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.piece{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:end;padding:5px 7px 10px;min-height:128px;border-radius:14px;background:linear-gradient(145deg,#f4eee9,#eee8ed);border:2px solid transparent;font-size:11px;font-weight:700}.piece.active{border-color:#ae85ad;background:#f3e4ee}.piece.active:after{content:"✓";position:absolute;top:7px;right:7px;width:18px;height:18px;line-height:18px;background:#87668e;border-radius:50%;color:#fff;font-size:11px}.piece img{width:94px;height:94px;object-fit:contain}.piece .placeholder{width:90px;height:90px;display:grid;place-content:center;color:#c6b3c5}.swatches{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px;margin-bottom:15px}.swatch{padding:0;min-width:30px;min-height:30px;width:30px;height:30px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px #e1d9e0;background:var(--swatch)}.swatch:hover{background:var(--swatch);transform:scale(1.12)}.swatch.active{box-shadow:0 0 0 2px #7e608e}.label{display:block;font-size:11px;font-weight:800;margin-top:17px;color:#746579}.panel-foot{padding:12px 18px;border-top:1px solid #ece5ed;display:flex;gap:8px}.panel-foot button{flex:1;display:flex;gap:7px;align-items:center;justify-content:center;font-size:12px}.primary{background:#795e92;color:#fff;border-color:#795e92}.primary:hover{background:#674b80}.wide{width:100%}.location-card{position:absolute;left:50%;top:25px;transform:translate(-50%);text-align:center;background:#fffaf2e8;border:1px solid white;border-radius:30px;padding:9px 20px;min-width:165px;color:#665a68;box-shadow:0 5px 20px #5741500c}.location-card small{font-size:8px;letter-spacing:1.5px;text-transform:uppercase;display:block;color:#9c8290}.location-card strong{font-size:12px}#day{position:absolute;right:25px;top:105px;color:#696064;background:#fffaf4de;border:1px solid #fff;border-radius:14px;padding:10px 14px;font-size:11px}#day b{font-size:18px;color:#c9a967;margin-right:7px}#caption{position:absolute;bottom:111px;left:50%;transform:translate(-50%);text-align:center;text-shadow:0 1px 12px #fff,0 0 20px #fff;pointer-events:none}#caption small{font-size:9px;letter-spacing:2px;text-transform:uppercase;font-weight:800}#caption h2{font-size:23px;font-weight:850;letter-spacing:-.8px;margin-top:3px}#bottom{position:absolute;bottom:25px;left:50%;transform:translate(-50%);display:flex;gap:5px;align-items:center;padding:7px;background:#fffaf5ed;border:1px solid white;border-radius:20px;box-shadow:0 8px 25px #52465320;white-space:nowrap}#bottom button{border:0;background:transparent;display:flex;align-items:center;gap:8px;font-size:12px}#bottom button.primary{background:#795e92;color:#fff}.hint{font-size:12px;color:#847b87;line-height:1.55}.hint+p{margin-top:8px}#move-hint{position:absolute;bottom:30px;left:25px;font-size:10px;line-height:1.7;color:#645b69;background:#fffaf3da;padding:8px 12px;border-radius:10px}#interact{position:absolute;bottom:180px;left:50%;transform:translate(-50%);background:#fffaf4f5;border:2px solid #d3bacf;box-shadow:0 8px 20px #57415015;font-weight:750}#interact kbd{margin-left:12px;padding:3px 7px;background:#eee4ef;border-radius:5px}#toast{position:absolute;top:94px;left:50%;transform:translate(-50%);background:#4c4059;color:#fff;padding:12px 20px;border-radius:13px;box-shadow:0 5px 25px #473b5030;opacity:0;pointer-events:none;transition:opacity .2s;max-width:80vw;text-align:center;z-index:30}#toast.show{opacity:1}#loading{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;background:linear-gradient(135deg,#f8e8df,#e9e1f0 55%,#dcebe2);z-index:100;text-align:center;gap:16px}#loading .brand-mark{width:78px;height:78px;line-height:78px;font-size:55px}#loading h2{font-size:32px;letter-spacing:-1px}#loading p{color:#857385;font-size:13px}dialog{border:1px solid #fff;border-radius:24px;background:#fffcf8;color:#4a4156;padding:26px;max-height:85vh;max-width:780px;width:calc(100% - 40px);box-shadow:0 25px 80px #3f334933}dialog::backdrop{background:#35304455;backdrop-filter:blur(5px)}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.modal-head h2{font-size:26px;letter-spacing:-1px}.destination{display:flex;align-items:center;text-align:left;gap:14px;width:100%;margin-top:10px;padding:15px}.destination>svg{width:32px;height:32px;color:#ab87a6}.destination strong,.destination small{display:block}.destination small{color:#8a808e;font-size:11px;margin-top:3px}.destination>span{flex:1}.form-row{display:flex;gap:8px;margin:15px 0}.form-row input{min-width:0;flex:1}.field{display:grid;gap:6px;margin:14px 0;font-size:12px}input,select{border:1px solid #d9cedf;background:#fff;border-radius:10px;padding:11px;color:#4a4156;min-height:44px;width:100%}.account-choices{display:grid;gap:7px;margin-top:10px}.text-button{border:0;background:transparent}.album{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}.photo-card{padding:9px;background:#fff;border:1px solid #eee3eb;border-radius:12px}.photo-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:7px}.photo-card strong{display:block;padding:7px 3px;font-size:13px}.photo-actions{display:flex;gap:5px;flex-wrap:wrap}.photo-actions button{padding:6px 9px;min-height:35px;font-size:10px}.choice-row{display:flex;gap:7px;flex-wrap:wrap;margin:9px 0}.choice-row button{font-size:11px;flex:1;min-height:40px}.choice-row button.active{background:#e9dced;border-color:#bda3cb}.queue{counter-reset:move;display:grid;gap:6px;margin:12px 0}.queue button{text-align:left;font-size:12px;padding:9px 12px}.queue button:before{counter-increment:move;content:counter(move);color:#a07b9b;margin-right:12px}.empty{padding:25px 12px;text-align:center;color:#9a8e9d}.section-label{font-size:12px;font-weight:800;margin:18px 0 9px}#touch-pad{display:none;position:absolute;bottom:110px;left:24px;width:112px;height:112px;border:2px solid #ffffff9c;border-radius:50%;background:#fff8f340;touch-action:none}#touch-pad span{position:absolute;left:34px;top:34px;width:40px;height:40px;border-radius:50%;background:#fffaf1bb;box-shadow:0 3px 10px #65536520}#jump{display:none;position:absolute;bottom:114px;right:24px;width:52px;height:52px;border-radius:50%;background:#fffcf1dd;font-size:20px}body.photo-mode #caption,body.photo-mode #interact{display:none}#status{font-size:10px;color:#9b899c;margin-top:9px}.settings-check{display:flex;align-items:center;gap:10px;margin:16px 0}.settings-check input{width:20px;min-height:20px}@media(pointer:coarse){#touch-pad,#jump{display:block}#move-hint{display:none}}@media(max-width:1000px){.location-card,#move-hint{display:none}#day{top:94px}#caption{left:auto;right:24px;transform:none;max-width:40%;text-align:right}#caption h2{font-size:18px}}@media(max-width:680px){header{top:12px;left:12px;right:12px}.brand{padding:6px 10px 6px 6px;border-radius:14px;gap:6px}.brand strong{font-size:17px}.brand small{font-size:6px;letter-spacing:1.3px}.brand-mark{width:34px;height:34px;font-size:28px;line-height:34px}.header-actions{gap:5px}.header-actions button{padding:9px;min-width:42px}.header-actions button span{display:none}#rail{left:12px;top:82px;gap:7px}#rail button{width:46px;height:46px;padding:5px;border-radius:12px}#rail small{font-size:8px}#rail svg{width:18px;height:18px}#day{top:82px;right:12px;font-size:9px;padding:7px 9px}#panel{left:68px;top:82px;width:calc(100% - 80px);max-height:48vh;border-radius:18px}.panel-head{padding:13px 14px 9px}.panel-head h1{font-size:21px}.panel-subtitle{display:none}#panel-body{padding:0 12px 12px}.piece-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.piece{min-height:97px;font-size:9px;padding:4px}.piece img,.piece .placeholder{width:65px;height:65px}.tabs{margin-bottom:8px}.tabs button{font-size:10px}.panel-foot{padding:8px 12px}.panel-foot button{min-height:37px;font-size:11px;padding:6px}#bottom{bottom:14px;gap:0;padding:5px;border-radius:17px;max-width:calc(100% - 20px)}#bottom button{padding:10px;gap:5px;font-size:10px;flex-direction:column;min-width:58px}#bottom svg{width:19px;height:19px}#caption{bottom:105px;right:14px;max-width:50%}#caption small{font-size:7px}#caption h2{font-size:15px}#interact{bottom:245px;max-width:75%;font-size:12px;white-space:nowrap}#interact kbd{display:none}#touch-pad{width:94px;height:94px;bottom:117px;left:18px}#touch-pad span{left:25px;top:25px}#toast{top:70px;font-size:12px}dialog{padding:20px}.album{grid-template-columns:1fr 1fr}.photo-actions button{font-size:9px}}@media(max-height:550px)and (orientation:landscape){header{top:8px}#rail{top:78px;gap:5px}#rail button{height:40px;width:46px}#panel{top:78px;max-height:calc(100% - 95px);left:78px;width:280px}#bottom{left:auto;right:14px;transform:none;bottom:10px}#caption{bottom:90px}#touch-pad{bottom:20px;left:390px}#jump{bottom:100px}#interact{bottom:130px}#day{top:80px}.piece img{width:70px;height:70px}.piece{min-height:105px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media(max-width:680px){.brand{flex-shrink:0}.brand small{display:none}.brand strong{font-size:16px;white-space:nowrap}.panel-open #day,.panel-open #caption{display:none}#panel{max-height:44vh}}.tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;overflow:visible}.tabs button{display:flex;flex-direction:column;align-items:center;gap:5px;white-space:normal;padding:6px 2px;font-size:10px;border:0;background:transparent;min-height:76px}.category-orb{width:42px;height:42px;display:grid;place-items:center;background:#f1e8e8;border:1px solid #e3d3dc;border-radius:50%;color:#89718b;transition:transform .15s}.category-orb svg{width:23px;height:23px}.tabs button.active .category-orb{background:#82678f;color:#fff;box-shadow:0 0 0 3px #e8dced}.tabs button:hover .category-orb{transform:translateY(-2px)}.tabs button.active{background:transparent;color:#725181}.piece{border-radius:18px}.piece img{border-radius:50%;background:radial-gradient(circle,#faf4eb,#eadfeb)}.swatch{min-height:36px;min-width:36px}.swatch:focus-visible,.tabs button:focus-visible{outline:3px solid #706487;outline-offset:3px}#camera-tools{position:absolute;right:24px;top:160px;display:flex;padding:4px;background:#fffaf4ed;border-radius:24px;border:1px solid white;gap:2px}#camera-tools button{border:0;border-radius:20px;min-width:44px;font-size:11px;background:transparent}#camera-tools button[aria-pressed=true]{background:#82678f;color:#fff}#frisbee-status{line-height:1.6;color:#705a7f;font-weight:650}.field input[type=range]{accent-color:#987aa3;padding:0}@media(max-width:680px){#camera-tools{right:12px;top:124px}#camera-tools button{font-size:10px;padding:6px;min-width:38px}.panel-open #camera-tools{display:none}.tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.tabs button{font-size:9px;min-height:66px}.category-orb{width:35px;height:35px}.category-orb svg{width:20px;height:20px}}.tabs{display:flex;overflow-x:auto;gap:6px;padding:5px 2px 10px;scrollbar-width:thin;scroll-snap-type:x proximity}.tabs button{flex:0 0 61px;scroll-snap-align:start;min-height:72px}.category-orb{flex-shrink:0}@media(max-width:680px){.tabs{display:flex}.tabs button{flex-basis:54px;min-height:61px}#panel-body .piece-grid{margin-top:3px}}#panel.wardrobe-panel{width:470px;max-height:calc(100vh - 225px)}.wardrobe-panel #panel-body{display:flex;max-height:65vh;flex-direction:column;overflow:hidden;min-height:0}.wardrobe-panel .tabs{flex-shrink:0}.wardrobe-workspace{display:grid;grid-template-columns:minmax(0,1fr) 156px;gap:14px;min-height:0;overflow:hidden}.style-pane,.colour-pane{overflow-y:auto;min-height:0;scrollbar-width:thin;padding:3px}.colour-pane{border-left:1px solid #e8dce6;padding-left:12px}.colour-pane .label:first-child{margin-top:3px}.wardrobe-panel .piece-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.colour-pane .swatches{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.colour-pane .swatch{width:34px;height:34px;min-width:34px;min-height:34px}.colour-pane .hint{font-size:10px}.colour-pane .choice-row{gap:4px}.colour-pane .choice-row button{padding:7px;min-height:34px}@media(max-width:680px){#panel.wardrobe-panel{left:60px;width:calc(100% - 72px);max-height:49vh}.wardrobe-workspace{grid-template-columns:minmax(0,1fr) 96px;gap:5px}.colour-pane{padding-left:5px}.wardrobe-panel .piece-grid{grid-template-columns:1fr}.colour-pane .swatches{grid-template-columns:repeat(2,1fr);gap:4px}.colour-pane .label{font-size:9px}.wardrobe-panel .tabs button{min-height:48px}.wardrobe-panel .category-orb{width:27px;height:27px}.wardrobe-panel .panel-head{padding-top:8px;padding-bottom:5px}.wardrobe-panel .panel-head h1{font-size:19px}.wardrobe-panel .piece{min-height:96px}.wardrobe-panel .piece img{width:65px;height:65px}.wardrobe-panel .eyebrow{font-size:7px}}.wardrobe-panel #panel-body:has(>.swatches){overflow-y:auto;display:block}#drawing-canvas{display:block;width:100%;height:auto;aspect-ratio:1;background:#f9f4ea;border:1px solid #cbb8a5;border-radius:12px;touch-action:none;cursor:crosshair;box-shadow:0 5px 16px #70597c18}.drawing-tools{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;align-items:center}.drawing-tools label{display:flex;gap:6px;align-items:center;font-size:12px}.drawing-tools input[type=color]{width:36px;height:36px;padding:2px}.drawing-tools input[type=range]{width:80px}.drawing-tools button[aria-pressed=true]{background:#70597c;color:#fff}.art-title{width:100%;margin:12px 0}.poster-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.poster-card{padding:10px;border:1px solid #dfd1c4;border-radius:12px}.poster-card canvas{width:100%;height:auto;border-radius:6px}.poster-card strong{display:block;margin:6px 0;overflow-wrap:anywhere}.poster-card button{margin:3px;min-height:36px}.poster-card select{width:100%;margin-bottom:6px}#drawing-editor.drawing-focus{position:fixed;inset:0;z-index:90;padding:12px;background:#fffaf4;display:flex;flex-direction:column;align-items:center;overflow:auto;border-radius:0}#drawing-editor.drawing-focus .drawing-tools{justify-content:center;flex-shrink:0;margin:8px 0}#drawing-editor.drawing-focus #drawing-canvas{width:min(calc(100vw - 24px),calc(100svh - 160px));flex-shrink:0}#drawing-editor.drawing-focus>.hint{margin:4px 0}#drawing-editor.drawing-focus button{font-size:12px;padding:8px 10px}@media(max-height:550px){#drawing-editor.drawing-focus>.hint:first-child{display:none}#drawing-editor.drawing-focus #drawing-canvas{width:min(calc(100vw - 24px),calc(100svh - 110px))}#drawing-editor.drawing-focus .drawing-tools{margin:0 0 6px}}.drawing-expanded #panel{backdrop-filter:none}.drawing-expanded #drawing-editor.drawing-focus{padding-top:calc(12px + env(safe-area-inset-top,0px));padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.native-mobile{touch-action:manipulation;overscroll-behavior:none;--native-top:env(safe-area-inset-top,0px);--native-left:env(safe-area-inset-left,0px);--native-right:env(safe-area-inset-right,0px);--native-bottom:env(safe-area-inset-bottom,0px)}.native-mobile button{min-height:44px;min-width:44px}.native-mobile header{padding-top:calc(12px + var(--native-top));padding-left:calc(16px + var(--native-left));padding-right:calc(16px + var(--native-right))}.native-mobile #rail{translate:var(--native-left) 0}.native-mobile #bottom{translate:0 calc(-1 * var(--native-bottom))}.native-mobile #touch-pad{translate:var(--native-left) calc(-1 * var(--native-bottom))}.native-mobile #jump,.native-mobile #touch-controls{translate:calc(-1 * var(--native-right)) calc(-1 * var(--native-bottom))}.native-mobile #panel{max-height:calc(100svh - var(--native-top) - var(--native-bottom));padding-bottom:var(--native-bottom)}#native-boutique{position:fixed;right:calc(12px + env(safe-area-inset-right,0px));top:calc(78px + env(safe-area-inset-top,0px));z-index:40;background:#fff8f0;color:#684354;border:1px solid #d8c1b4;border-radius:18px;padding:8px 16px;font:600 13px system-ui;min-height:44px}.native-boutique-dialog{max-width:620px;width:calc(100vw - 40px);max-height:80svh;overflow:auto;padding:24px;border:1px solid #d8c1b4;border-radius:22px;background:#fff8f2;color:#684354}.native-boutique-dialog>button{margin:8px;padding:10px 14px;min-height:44px}.native-cosmetic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:16px 0}.native-frame-card{border:6px double;border-radius:14px;padding:14px;background:#fff}.native-frame-card button{width:100%;padding:8px}.native-boutique-dialog::backdrop{background:#39253270}
