:root{--cream:#f7f3ea;--ink:#172d22;--coral:#d88b69;font:13px Inter,Arial,sans-serif;color:var(--ink)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid #d88b69;outline-offset:2px}.hidden{display:none!important}#world{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none;background:#a9b4a2}.vignette{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 55% 40%,transparent 30%,#10251a60 100%)}.loading{position:fixed;inset:0;z-index:30;display:grid;place-items:center;background:#1b2f24;color:#f4f1e8;letter-spacing:.1em}.topbar{position:fixed;top:0;left:0;right:0;z-index:3;display:flex;justify-content:space-between;align-items:center;height:98px;padding:18px 28px;color:#fff;background:linear-gradient(#102319c9,transparent)}.brand-block{display:flex;align-items:center;gap:15px;min-width:235px}.brand-mark{font:italic 68px/.9 Georgia,serif;letter-spacing:-.13em}.brand-mark span,.welcome-brand span{color:#e5a07e}.brand-text{border-left:1px solid #ffffff52;padding-left:14px;display:flex;flex-direction:column;gap:5px}.brand-text strong{font-size:12px;letter-spacing:.17em;line-height:1.15}.brand-text small{font-size:8px;letter-spacing:.19em;color:#ffffffa6}.room-heading{text-align:center;display:flex;flex-direction:column;gap:7px}.eyebrow,.panel-kicker{font-size:9px;font-weight:800;letter-spacing:.17em;color:#ffffffa3}.status-dot,.little-dot{display:inline-block;background:#aeda90;border-radius:50%;width:7px;height:7px;margin-right:6px;box-shadow:0 0 8px #addb88}.room-title{font:italic 25px Georgia,serif}.top-actions{display:flex;gap:11px;align-items:center;justify-content:flex-end;min-width:235px}.pill-button{background:#ffffff20;border:1px solid #ffffff68;border-radius:50px;color:#fff;padding:12px 16px;font-size:11px;font-weight:700;backdrop-filter:blur(8px)}.pill-button:hover{background:#ffffff3c}.profile-button{border:2px solid #fff;border-radius:50%;width:42px;height:42px;background:#ba7858;color:#fff;font:italic 19px Georgia,serif}.rail{position:fixed;z-index:3;left:23px;top:33%;width:77px;border-radius:17px;padding:18px 7px;display:flex;flex-direction:column;align-items:center;gap:8px;background:#f9f7f1f2;border:1px solid #fff8;box-shadow:0 10px 35px #0003}.rail-label{font-size:8px;font-weight:800;letter-spacing:.1em;color:#a0a79c}.rail-button{border:0;border-radius:11px;background:none;width:64px;padding:9px 2px;display:flex;flex-direction:column;gap:4px;align-items:center;color:#738276;font-size:10px}.rail-button:hover,.rail-button.active{background:#e3e9dd;color:#254235}.rail-icon{font:normal 26px Arial}.rail-bottom{margin-top:20px}.rail-separator{height:1px;background:#dce0d6;margin-bottom:10px}.scene-label{position:fixed;left:135px;top:40%;color:#fff;display:flex;gap:15px;text-shadow:0 2px 18px #1b2f25a6;pointer-events:none}.scene-label-line{height:1px;width:22px;background:#fff9;margin-top:6px}.scene-label div{display:flex;flex-direction:column;gap:14px}.scene-label div>span{font-size:9px;letter-spacing:.2em;font-weight:800}.scene-label strong{font:italic 37px/1.05 Georgia,serif;letter-spacing:-.045em}.participants-panel{position:fixed;z-index:2;right:25px;top:113px;width:273px;background:#f9f7f0ee;border:1px solid #fff;border-radius:14px;box-shadow:0 14px 50px #0003;backdrop-filter:blur(15px);overflow:hidden}.panel-top{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 19px 13px}.panel-kicker{color:#94a094}.panel-top h2,.chat-head h2{font:italic 27px Georgia,serif;margin:5px 0 0}.panel-top h2 span{font:11px Arial;background:#e4e8de;padding:5px 8px;border-radius:40px;vertical-align:middle}.live-icon{color:#54916b;font-size:9px;font-weight:800;background:#e1ecdf;padding:7px;border-radius:30px}.participant-list{padding:1px 9px 12px;max-height:205px;overflow:auto}.person{display:flex;gap:10px;align-items:center;padding:9px;border-radius:9px}.person.me{background:#e8ece5}.person-face{width:37px;height:37px;border-radius:50%;color:white;font:italic 19px Georgia,serif;display:flex;align-items:center;justify-content:center;flex-shrink:0}.person-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.person-info strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-info small{color:#89978a;font-size:10px}.person-signal{color:#a5afa4}.panel-footer{border-top:1px solid #e2e7dd;padding:13px 16px;color:#8e9a8f;font-size:10px}.panel-footer .little-dot{width:6px;height:6px;box-shadow:none}.toolbar{position:fixed;z-index:4;left:50%;bottom:22px;transform:translateX(-50%);display:flex;gap:5px;align-items:center;padding:8px 10px;border:1px solid #fff;border-radius:16px;background:#f8f6efef;box-shadow:0 15px 48px #10241c61}.toolbar-audio{display:flex;gap:5px}.toolbar-divider{height:36px;width:1px;background:#dce1d8;margin:0 6px}.tool-button{position:relative;min-width:82px;border:0;border-radius:9px;background:none;color:#3d5346;font-size:10px;font-weight:700;display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px}.tool-button:hover{background:#e7e9e2}.tool-button.active{background:#dceade;color:#3a7a54}.tool-button.video-on{background:#dde6ef;color:#3c6e8f}.tool-icon{font:24px Arial}.unread{position:absolute;right:3px;top:1px;border-radius:20px;padding:2px 6px;background:#c9775e;color:#fff}.credit{position:fixed;right:25px;bottom:23px;font-size:8px;letter-spacing:.16em;color:#fff9}.credit span{color:#f2ae8d;margin:0 5px}.mobile-people,.mobile-pad{display:none}.movement-hint{position:fixed;left:137px;bottom:110px;display:flex;gap:14px;align-items:center;background:#162b22df;border:1px solid #fff3;border-radius:12px;padding:11px 12px;color:#f5f5ea;backdrop-filter:blur(10px)}.movement-hint>div{display:flex;flex-direction:column;gap:5px}.movement-hint strong{font-size:11px}.movement-hint small{font-size:10px;color:#c8d0c7}.movement-hint button{background:none;border:0;color:white;font-size:20px;align-self:flex-start}.key-group{display:flex;flex-direction:column;align-items:center;gap:2px}.key-group span{display:flex;gap:2px}.key-group i,.key{font-style:normal;border:1px solid #fff6;border-radius:4px;padding:4px 5px;min-width:21px;text-align:center;font-size:10px}.proximity-tip{position:fixed;bottom:115px;left:50%;transform:translateX(-50%);background:#193025ee;color:white;border-radius:12px;border:1px solid #fff5;display:flex;gap:12px;align-items:center;padding:12px 16px}.proximity-tip>.key{font-size:17px;padding:8px 13px}.proximity-tip div{display:flex;flex-direction:column;gap:4px}.proximity-tip div span{font-size:10px;color:#b6c7b9}.toast{position:fixed;z-index:30;top:105px;left:50%;transform:translateX(-50%);color:white;background:#183326;border-radius:9px;padding:12px 17px;box-shadow:0 7px 30px #0004;font-size:12px}.video-dock{position:fixed;left:122px;bottom:16px;display:flex;gap:8px;max-width:38vw;overflow-x:auto}.video-tile{position:relative;width:120px;height:90px;overflow:hidden;border:1px solid #fff9;border-radius:9px;background:#243e30}.video-tile video{width:100%;height:100%;object-fit:cover}.video-tile span{position:absolute;bottom:5px;left:7px;color:#fff;text-shadow:0 1px 5px #000;font-size:10px}.chat-panel{position:fixed;right:25px;bottom:94px;z-index:7;width:min(360px,calc(100vw - 24px));height:min(510px,calc(100vh - 135px));display:flex;flex-direction:column;background:#f8f6ef;border:1px solid #fff;border-radius:15px;overflow:hidden;box-shadow:0 15px 70px #0006}.chat-head{padding:18px 20px 12px;display:flex;justify-content:space-between}.close-small{border:0;background:none;color:#78897d;font-size:28px}.chat-intro{background:#e8ede5;padding:12px 20px;color:#879688;font-size:11px}.chat-messages{flex:1;padding:16px;display:flex;flex-direction:column;gap:14px;overflow:auto}.message{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.message.own{align-items:flex-end}.message-meta{font-size:10px;color:#87978a}.message-bubble{border-radius:3px 12px 12px 12px;background:#e7eae3;max-width:95%;padding:10px 12px;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.message.own .message-bubble{background:#233e30;color:white;border-radius:12px 3px 12px 12px}.chat-form{display:flex;gap:7px;padding:12px;border-top:1px solid #dde4da}.chat-form input{flex:1;min-width:0;border:0;border-radius:9px;padding:13px;background:#e9ece5;outline:0;font-size:12px}.chat-form button{background:#d08463;border:0;border-radius:8px;color:white;width:45px;font-size:22px}
/* Entrance */
.welcome-screen{position:fixed;z-index:20;inset:0;display:flex;align-items:center;justify-content:space-between;gap:36px;padding:clamp(25px,5vw,70px) clamp(25px,6vw,110px);background:linear-gradient(95deg,#0d2018f5,#183226ea 42%,#192e228b 77%,#142b1b64)}.welcome-aside{align-self:stretch;display:flex;flex-direction:column;max-width:680px;color:#f9f6ec}.welcome-brand{font:italic 54px/.75 Georgia,serif;letter-spacing:-.11em}.welcome-brand small{font:800 11px Arial;letter-spacing:.19em;border-left:1px solid #fff7;padding-left:14px;margin-left:20px;vertical-align:middle}.welcome-headline{margin:auto 0 13%}.eyebrow.light{color:#e1e9df;font-size:10px}.welcome-headline h1{font:normal clamp(52px,5.3vw,91px)/1.05 Georgia,serif;letter-spacing:-.065em;margin:26px 0 23px}.welcome-headline h1 em{color:#e3a180;font-weight:normal}.welcome-headline p{max-width:480px;color:#e1e8dc;font-size:14px;line-height:1.85;margin:0 0 31px}.welcome-tags{display:flex;flex-wrap:wrap;gap:9px}.welcome-tags span{font-size:10px;border:1px solid #ffffff63;border-radius:60px;padding:11px 14px;color:#f0f1e9;background:#ffffff0b}.welcome-foot{display:flex;justify-content:space-between;color:#ffffff9c;letter-spacing:.15em;font-size:9px}.auth-card{width:402px;flex-shrink:0;align-self:center;max-height:calc(100vh - 28px);overflow:auto;border:1px solid white;border-radius:3px;background:#faf7ef;padding:28px 34px 22px;box-shadow:0 30px 65px #09170db8}.auth-card-top{display:flex;justify-content:space-between;color:#96a197;font-size:9px;font-weight:800;letter-spacing:.17em}.auth-heading{text-align:center;padding:9px 0 15px}.auth-flower{color:#d98c6d;font-size:32px;margin-bottom:6px}.auth-heading h2{font:normal 45px/.97 Georgia,serif;letter-spacing:-.05em;margin:0}.auth-heading h2 i{color:#bd7658}.auth-heading p{color:#919d90;font-size:11px;max-width:250px;line-height:1.6;margin:13px auto 0}.auth-tabs{display:flex;border-bottom:1px solid #dce1d8;margin-bottom:17px}.auth-tabs button{flex:1;border:0;border-bottom:2px solid transparent;background:none;color:#8b978b;padding:10px 4px;font-size:11px;font-weight:700}.auth-tabs button.selected{color:#213c2e;border-color:#d08664}.field{margin-bottom:12px}.field label{display:block;color:#718173;font-size:9px;letter-spacing:.11em;font-weight:800;margin-bottom:7px}.field input{width:100%;border:1px solid #dfe3d9;border-radius:6px;background:#fffefa;padding:11px 12px;color:#20372a;font-size:12px}.field input:focus{border-color:#d0886b}.color-options{display:flex;gap:11px}.color-dot{width:23px;height:23px;background:var(--swatch);border:3px solid #faf7ef;border-radius:50%;outline:1px solid transparent}.color-dot.selected{outline:2px solid #223e30;transform:scale(1.1)}.auth-submit{width:100%;margin-top:17px;background:#223e2f;color:#fff;border:0;border-radius:5px;display:flex;justify-content:space-between;align-items:center;padding:14px 16px;font-size:11px;font-weight:800}.auth-submit:hover{background:#355d43}.auth-submit span:last-child{font-size:18px}.auth-error{font-size:11px;color:#a43e36;background:#fae8e2;padding:9px;border-radius:4px}.guest-option{border-top:1px solid #dce2d9;margin-top:15px;padding-top:15px;display:flex;align-items:center;flex-direction:column;gap:8px;font-size:10px;color:#879789}.guest-option button{border:0;background:none;color:#b8765a;font-weight:800;font-size:11px}.auth-note{text-align:center;color:#98a496;font-size:9px;line-height:1.5;margin-top:16px}
/* Artwork + help */
.modal-backdrop{position:fixed;z-index:12;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;background:#07160da8;backdrop-filter:blur(5px)}.modal{position:relative;width:100%;max-width:760px;max-height:88vh;overflow:auto;background:#faf7ee;border:1px solid white;border-radius:7px;padding:35px;box-shadow:0 35px 90px #0009}.modal-close{position:absolute;right:17px;top:11px;font-size:29px;color:#84988a;border:0;background:none}.modal-kicker{font-size:10px;font-weight:900;letter-spacing:.2em;color:#c38162;margin-bottom:12px}.modal h2{font:italic 42px Georgia,serif;letter-spacing:-.05em;margin:0 0 14px}.modal p{font-size:13px;color:#6f8173;line-height:1.75}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:23px 0}.art-card{text-align:left;padding:0;border:0;background:#e8e9df;border-radius:7px;overflow:hidden}.art-card:hover{box-shadow:0 9px 23px #0003;transform:translateY(-2px)}.art-card img{width:100%;height:140px;object-fit:cover;display:block}.art-card div{padding:12px}.art-card strong{display:block;font:italic 16px Georgia,serif}.art-card small{display:block;color:#819180;margin-top:5px;font-size:10px}.upload-section{border-top:1px solid #dbe2d8;padding-top:20px}.upload-section h3{font:italic 26px Georgia,serif;margin:0 0 6px}.upload-section p{margin:0 0 14px;font-size:11px}.upload-grid{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:8px}.upload-grid label{display:flex;flex-direction:column;gap:6px;color:#839184;font-size:10px}.upload-grid input{background:white;border:1px solid #d8dfd6;padding:10px;border-radius:5px;width:100%;font-size:11px}.upload-grid button,.primary-small{border:0;border-radius:5px;background:#264435;color:white;padding:12px 14px;font-size:11px;font-weight:700}.art-detail{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:27px}.art-detail img{width:100%;object-fit:contain;max-height:420px;box-shadow:0 12px 28px #0002}.art-byline{color:#b57a5e;letter-spacing:.11em;font-size:11px}.help-list{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}.help-list div{border-top:1px solid #dce3d7;padding-top:13px;color:#77897a;font-size:12px;line-height:1.7}.help-list strong{display:block;color:#2b4938;font-size:13px}.help-list kbd{border:1px solid #d4dfd2;background:#e4ebe0;padding:3px 5px;border-radius:3px}.modal-profile{display:flex;gap:14px;align-items:center;margin:25px 0}.modal-profile .person-face{width:52px;height:52px}.modal-profile strong{font-size:15px}.modal-profile small{display:block;color:#91a194;margin-top:7px}
@media(max-width:1100px){.welcome-screen{padding:30px}.welcome-headline h1{font-size:55px}.auth-card{width:365px}.scene-label{display:none}.credit{display:none}}
@media(max-height:720px) and (min-width:731px){.auth-card{padding:17px 28px}.auth-heading h2{font-size:35px}.auth-heading p{margin-top:6px}.auth-heading{padding:5px 0 9px}.auth-flower{display:none}.field{margin-bottom:8px}.field input{padding:8px}.auth-submit{margin-top:10px}.guest-option{padding-top:9px;margin-top:10px}.auth-note{margin-top:7px}.welcome-headline{margin-bottom:4%}}
@media(max-width:730px){.topbar{height:75px;padding:10px 14px}.brand-block,.top-actions{min-width:0}.brand-mark{font-size:49px}.brand-text strong{font-size:9px}.brand-text small{font-size:6px}.room-heading{display:none}.pill-button{font-size:10px;padding:10px}.profile-button{height:37px;width:37px}.rail{top:85px;left:10px;width:55px;padding:9px 4px;gap:4px}.rail-label{display:none}.rail-button{width:45px;padding:7px 3px;font-size:8px}.rail-icon{font-size:20px}.rail-bottom{margin-top:3px}.rail-separator{margin-bottom:3px}.participants-panel{right:10px;top:83px;width:230px;display:none}.participants-panel.mobile-open{display:block}.movement-hint{display:none}.toolbar{bottom:calc(12px + env(safe-area-inset-bottom));right:11px;left:auto;transform:none;padding:5px}.tool-button{min-width:54px;padding:7px 4px;font-size:9px}.tool-icon{font-size:19px}.mobile-people{display:flex}.mobile-pad{position:fixed;bottom:calc(18px + env(safe-area-inset-bottom));left:11px;display:flex;flex-direction:column;align-items:center;gap:4px;touch-action:none}.mobile-pad div{display:flex;gap:4px}.mobile-pad button{background:#163828bd;color:white;border:1px solid #ffffff80;border-radius:8px;width:44px;height:43px;font-size:19px;touch-action:none}.video-dock{left:12px;bottom:165px}.video-tile{width:85px;height:65px}.proximity-tip{bottom:115px}.welcome-screen{display:block;overflow-y:auto;padding:17px;background:#11241de9}.welcome-aside{min-height:0;gap:10px}.welcome-brand{font-size:43px}.welcome-brand small{font-size:9px}.welcome-headline{margin:16px 0}.welcome-headline h1{font-size:clamp(35px,8vw,50px);margin:13px 0}.welcome-headline p{font-size:11px;line-height:1.6;margin:0}.welcome-foot,.welcome-tags{display:none}.auth-card{margin:14px auto;width:100%;max-width:440px;max-height:none;padding:20px 25px}.auth-heading h2{font-size:36px}.auth-heading{padding-bottom:6px}.auth-heading p{margin-top:6px}.auth-tabs{margin-bottom:13px}.field{margin-bottom:9px}.field input{padding:10px}.guest-option{margin-top:12px;padding-top:10px}.auth-note{margin-top:10px}.chat-panel{right:10px;bottom:80px;height:61vh}.modal{padding:26px 19px}.modal h2{font-size:33px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.art-card img{height:115px}.upload-grid,.art-detail,.help-list{grid-template-columns:1fr}.art-detail img{max-height:240px}}

/* v1.1 mobile polish: respect browser chrome, safe areas, taps and keyboard. */
html,body{height:100%;height:100dvh;overscroll-behavior:none}
#world{height:100dvh}
.loading{pointer-events:none}
@media (pointer:coarse){button{touch-action:manipulation} .rail-button{min-height:44px}}
@media(max-width:730px){
 .toolbar{right:calc(8px + env(safe-area-inset-right));bottom:calc(10px + env(safe-area-inset-bottom));gap:2px;padding:4px 5px}
 .toolbar-divider{height:28px;margin:0 1px}
 .tool-button{min-width:42px;padding:7px 2px;font-size:0;min-height:51px;gap:0}
 .tool-icon{font-size:22px}
 .mobile-pad{left:calc(8px + env(safe-area-inset-left));bottom:calc(10px + env(safe-area-inset-bottom));gap:3px}
 .mobile-pad div{gap:3px}
 .mobile-pad button{width:39px;height:39px;font-size:18px;border-radius:12px;user-select:none;-webkit-user-select:none}
 .welcome-screen{max-height:100dvh;padding-top:calc(12px + env(safe-area-inset-top));padding-bottom:calc(12px + env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 .auth-card{padding:16px 19px 16px;max-height:none}
 .auth-card input,.chat-form input,.upload-grid input{font-size:16px}
 .chat-panel{bottom:calc(75px + env(safe-area-inset-bottom));max-height:calc(100dvh - 105px - env(safe-area-inset-top));height:60dvh}
 .video-dock{left:10px;bottom:calc(150px + env(safe-area-inset-bottom))}
 .proximity-tip{bottom:calc(128px + env(safe-area-inset-bottom));max-width:80vw}
 .modal-backdrop{padding:calc(12px + env(safe-area-inset-top)) 10px calc(12px + env(safe-area-inset-bottom))}
 .modal{max-height:calc(100dvh - 30px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
 .toast{top:calc(80px + env(safe-area-inset-top));width:max-content;max-width:calc(100vw - 28px);text-align:center}
}
@media(max-width:360px){.brand-text small{display:none}.rail{left:6px}.mobile-pad button{width:36px;height:38px}.toolbar{right:5px}.tool-button{min-width:39px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* V3.1 · Painterly studio polish */
body.atelier-v3 .scene-label strong{font-family:Georgia,serif;font-style:italic;letter-spacing:-.055em}
body.atelier-v3 .topbar{background:linear-gradient(90deg,#192d28ed,#21372ddb);border-bottom:1px solid #eadbb52a}
body.atelier-v3 .toolbar{background:#18302acb;border:1px solid #efe3cc33;box-shadow:0 6px 36px #17261d55}
body.atelier-v3 .proximity-tip{border-color:#e9d5b377;background:#243b33db}
body.atelier-v3 .vignette{background:radial-gradient(ellipse at 45% 38%,transparent 31%,#1c241b55 100%);pointer-events:none}
body.atelier-v3 .auth-card{background:#f7f2e6}
@media(max-width:730px){body.atelier-v3 .vignette{background:radial-gradient(ellipse at 50% 42%,transparent 32%,#1e281f42 100%)}}

/* V3.3 — atmosphere controls. Kept clear of mobile joystick and bottom toolbar. */
.living-panel{position:fixed;z-index:15;top:164px;left:93px;width:min(336px,calc(100vw - 112px));padding:18px;background:#f7f2e8f4;color:#244135;border:1px solid #ffffffb9;box-shadow:0 16px 40px #14281c63;border-radius:14px;backdrop-filter:blur(16px)}
.living-panel.hidden{display:none!important}
.living-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.living-heading div{display:flex;flex-direction:column;gap:5px}.living-heading small{font-size:9px;letter-spacing:.15em;color:#9b896e;font-weight:700}.living-heading strong{font:italic 26px/1.1 Georgia,serif;letter-spacing:-.025em}.living-heading button{border:0;background:transparent;font-size:27px;color:#6a776e;padding:0 4px}
.living-panel p{font-size:12px;color:#837b6e;margin:10px 0 14px}.living-modes{display:grid;grid-template-columns:1fr 1fr;gap:7px}.living-modes button,.living-options button{min-height:41px;padding:9px;background:#fffdf9;border:1px solid #e6e1d8;border-radius:9px;color:#5d6f62;font-size:11px;font-weight:700;text-align:left;touch-action:manipulation}.living-modes button.active{background:#2e493b;border-color:#2e493b;color:#fff}.living-options{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}.living-options button[aria-pressed="true"]{background:#e2e8db;border-color:#9eae9a;color:#31583f}.living-note{font-size:10px;color:#918c80;display:block;line-height:1.6;margin-top:11px}
@media(max-width:730px){.living-panel{left:calc(71px + env(safe-area-inset-left));top:calc(89px + env(safe-area-inset-top));width:min(320px,calc(100vw - 82px - env(safe-area-inset-right)));padding:14px}.living-heading strong{font-size:23px}.living-modes button,.living-options button{min-height:44px}}

/* V3.4 · SKETCH TOGETHER: full-screen calm artist's drawing desk. */
.sketch-overlay{position:fixed;inset:0;z-index:60;background:#11251fdc;backdrop-filter:blur(7px);display:grid;place-items:center;padding:calc(12px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left))}
.sketch-sheet{width:min(1020px,100%);max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#f4f0e4;color:#263e33;border:1px solid #fffffff0;border-radius:18px;box-shadow:0 30px 120px #07130ba8}
.sketch-top{display:flex;align-items:center;justify-content:space-between;padding:19px 28px;border-bottom:1px solid #d6d8c9;background:#ece9dc;gap:20px}
.sketch-top small{display:block;letter-spacing:.17em;color:#8f9888;font-size:10px;font-weight:800;margin-bottom:5px}
.sketch-top strong{font:italic 32px Georgia,serif;letter-spacing:-.04em}
.sketch-top strong span{font-style:normal;color:#ca8965}
.sketch-close{background:#264434;color:#fff;border:0;border-radius:50px;padding:10px 16px;font-size:14px;font-weight:700;min-height:44px}
.sketch-lobby{padding:26px 28px 32px}
.sketch-lobby>p{color:#788879;font-size:14px;line-height:1.65;max-width:600px}
.sketch-stations{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}
.sketch-station{text-align:left;border:1px solid #d4d5c7;background:linear-gradient(140deg,#eee1cd,#f9f3e8);border-radius:14px;min-height:145px;padding:19px;display:flex;flex-direction:column;gap:13px;transition:transform .15s,box-shadow .15s}
.sketch-station:hover{transform:translateY(-3px);box-shadow:0 9px 25px #263d3026}
.sketch-station>span{font:italic 27px Georgia,serif;color:#b87f64}
.sketch-station strong{font:italic 20px Georgia,serif}
.sketch-station small{font-size:11px;color:#7c8d7d}
.sketch-footnote{display:block;color:#879386;font-size:11px;line-height:1.7;margin-top:20px}
.sketch-editor{display:grid;grid-template-columns:minmax(0,1.13fr) minmax(260px,.87fr);gap:30px;padding:25px 29px 28px}
.sketch-canvas-side{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:13px}
.sketch-canvas-side>small{font-size:11px;color:#7d8b7f}
.sketch-paper-frame{width:min(100%,550px);aspect-ratio:1;background:#d7c4a7;padding:12px;border:1px solid #c8ad8b;box-shadow:0 16px 28px #6656432c,0 0 0 5px #e5d5ba}
#sketchCanvas{display:block;width:100%;height:100%;touch-action:none;background:#f9f5e8;cursor:crosshair;user-select:none;-webkit-user-select:none}
.sketch-tools{padding:6px 0;display:flex;flex-direction:column;align-items:stretch}
.sketch-tool-kicker{font-size:10px;letter-spacing:.15em;color:#869284;font-weight:900;margin:10px 0 8px}
.sketch-tools h2{font:italic 29px Georgia,serif;letter-spacing:-.03em;margin:0 0 6px}
#sketchStatus{font-size:12px;color:#738679;line-height:1.6;margin:2px 0 20px;min-height:20px}
.sketch-palette{display:grid;grid-template-columns:repeat(8,1fr);gap:7px;margin:3px 0 24px}
.sketch-palette button{width:100%;aspect-ratio:1;border-radius:50%;background:var(--pigment);border:3px solid #f4f0e4;outline:1px solid #b4b5a6;min-width:30px;min-height:30px}
.sketch-palette button.selected{outline:3px solid #365547;outline-offset:2px}
.sketch-slider-label{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.10em;color:#718272;font-weight:800}
#sketchWidth{accent-color:#9f7258;width:100%;margin:14px 0 26px;min-height:22px}
.sketch-actions{display:grid;gap:9px}
.sketch-actions button{background:#e5e5d6;color:#284736;border:1px solid #cfd2c5;border-radius:10px;min-height:45px;text-align:left;padding:10px 14px;font-weight:700;font-size:13px}
.sketch-actions button:hover{background:#d8dfd3}
.sketch-nearby{position:fixed;z-index:11;right:16px;bottom:calc(150px + env(safe-area-inset-bottom));background:#274737;color:#fff;border:1px solid #f5e6d670;box-shadow:0 8px 22px #0d291f6a;border-radius:99px;padding:12px 17px;font-size:13px;font-weight:750;min-height:46px}
@media(max-width:730px){
 .sketch-overlay{padding:calc(5px + env(safe-area-inset-top)) 6px calc(5px + env(safe-area-inset-bottom))}
 .sketch-sheet{max-height:calc(100dvh - 10px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:14px}
 .sketch-top{padding:13px 15px}
 .sketch-top small{font-size:8px}.sketch-top strong{font-size:25px}
 .sketch-close{font-size:12px;padding:8px 12px;flex-shrink:0}
 .sketch-lobby{padding:14px}.sketch-stations{grid-template-columns:1fr;gap:9px;margin-top:14px}.sketch-station{min-height:76px;padding:12px;gap:4px}.sketch-station>span{font-size:17px}.sketch-station strong{font-size:17px}.sketch-station small{font-size:10px}
 .sketch-editor{grid-template-columns:1fr;gap:10px;padding:11px 13px 22px}
 .sketch-paper-frame{width:min(calc(100vw - 55px),47dvh);padding:8px;margin:0 auto}
 .sketch-canvas-side{gap:6px}.sketch-canvas-side>small{font-size:10px}
 .sketch-tools h2{font-size:23px}.sketch-tool-kicker{margin:10px 0 7px}
 #sketchStatus{margin:0 0 9px;font-size:10px;min-height:0}
 .sketch-palette{margin:2px 0 13px;gap:5px}.sketch-palette button{min-width:28px;min-height:28px}
 #sketchWidth{margin:5px 0 10px}.sketch-actions{grid-template-columns:1fr 1fr;gap:7px}.sketch-actions button{font-size:11px;padding:8px;min-height:41px}.sketch-actions button:last-child{grid-column:span 2}
 .sketch-nearby{right:11px;bottom:calc(145px + env(safe-area-inset-bottom))}
}

/* V3.5 — Painter Studio: original compact digital-painting workspace, touch-first. */
.sketch-sheet{width:min(1210px,100%);max-height:calc(100dvh - 22px - env(safe-area-inset-top) - env(safe-area-inset-bottom));background:#eee9dd;color:#23392f}
.sketch-top{padding:11px 19px;background:#243c33;color:#f7f2e7;border-bottom:1px solid #53675b}
.sketch-top small{color:#cabfa9;font-size:9px}
.sketch-top strong{font-size:27px}
.sketch-top-right{display:flex;align-items:center;gap:8px}
.sketch-top-right>button{border:1px solid #ffffff35;border-radius:10px;padding:8px 12px;color:#f9f5e9;background:#ffffff12;min-height:41px;white-space:nowrap;font-size:14px}
.sketch-top-right>.sketch-close{background:#c58a69;border-color:#c58a69;color:#1c3328}
.sketch-top-right>button:active{transform:scale(.97)}
.sketch-editor{grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:18px;padding:15px 21px 22px}
.sketch-canvas-side{gap:10px}
.sketch-canvas-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#647365;font-weight:700}
.sketch-zoom{display:flex;align-items:center;gap:8px;border-radius:50px;background:#e1dfd2;padding:3px 6px;white-space:nowrap}
.sketch-zoom button{border:0;background:#f8f5ec;border-radius:50%;height:30px;width:30px;font-size:19px;color:#2e513c;touch-action:manipulation}
.sketch-zoom span{font-size:10px;min-width:34px;text-align:center;font-variant-numeric:tabular-nums}
.sketch-paper-frame{width:min(100%,570px);overflow:hidden;border-radius:3px;background:#d7c4a7;padding:11px;aspect-ratio:1;display:flex;align-items:center;justify-content:center}
#sketchCanvas{flex:none;width:100%;height:100%;object-fit:contain;transform-origin:center center;transition:transform .1s ease-out;touch-action:none}
.sketch-canvas-tip{font-size:10px;text-align:center;color:#738378}
.sketch-tools{padding:0;gap:0}
.sketch-tools .sketch-tool-kicker{margin:9px 0 6px;font-size:9px}
#sketchStatus{font-size:11px;line-height:1.45;margin:2px 0 5px;color:#7a8779}
.sketch-brushes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.sketch-brushes button{border:1px solid #d0d5ca;background:#f7f4eb;color:#344c3e;border-radius:10px;min-height:74px;padding:7px 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;touch-action:manipulation}
.sketch-brushes button.selected{background:#d9e2d6;border:2px solid #4e7861}
.sketch-brush-mark{font:italic 24px Georgia,serif;color:#ae7961;line-height:1}
.sketch-brushes strong{font-size:11px}
.sketch-brushes small{font-size:9px;color:#8b9889}
.sketch-palette-head{display:flex;align-items:center;gap:8px}
#sketchCurrentColor{display:block;width:38px;height:38px;border:3px solid #f7f2e9;box-shadow:0 0 0 1px #9eaaa1;border-radius:50%;flex-shrink:0}
#sketchColorPicker{height:38px;width:65px;min-width:65px;padding:2px;background:#f9f8f3;border:1px solid #d2d8cd;border-radius:8px;touch-action:manipulation}
#sketchEraser{margin-left:auto;border:1px solid #bbc8bb;background:#e4e7db;border-radius:9px;padding:9px 12px;font-size:12px;font-weight:700;color:#425547;min-height:40px}
#sketchEraser.selected{background:#304d40;color:#fff}
.sketch-palette{grid-template-columns:repeat(8,minmax(0,1fr));margin:9px 0 10px;gap:5px}
.sketch-palette button{min-width:27px;min-height:27px;max-width:38px;border-color:#eee9dd}
.sketch-control-grid{display:grid;gap:4px}
.sketch-control-grid label{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px;color:#697a6a;font-size:10px;font-weight:800;letter-spacing:.07em}
.sketch-control-grid label b{font-variant-numeric:tabular-nums;font-size:10px;font-weight:700}
.sketch-control-grid input{grid-column:1/-1;width:100%;accent-color:#9a715c;height:16px;margin:0 0 3px}
#sketchLayers{display:flex;flex-direction:column;gap:5px}
.sketch-layer{display:flex;align-items:center;justify-content:space-between;border:1px solid #d1d5c8;background:#f9f7f1;border-radius:9px;min-height:42px}
.sketch-layer.active{border-color:#587461;background:#e2eadd}
.sketch-layer-choose{display:flex;align-items:center;gap:9px;background:transparent;border:0;text-align:left;padding:5px 8px;flex:1;font-size:11px;color:#34513d;font-weight:700;min-height:42px}
.layer-icon{display:grid;place-items:center;width:26px;height:26px;background:#e1d8c5;border-radius:6px;color:#9a7968;font:italic 16px Georgia,serif}
.sketch-layer-eye{border:0;background:transparent;min-width:42px;min-height:42px;color:#51685b;font-size:19px}
.sketch-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:11px}
.sketch-actions button{min-height:43px;text-align:center;font-size:12px;padding:8px 6px;background:#dce2d6;color:#2c4938}
.sketch-actions button:first-child{background:#294b3b;color:white}
.sketch-tools>.sketch-footnote{font-size:9px;margin:11px 0 0;line-height:1.5}
@media(max-width:760px){
 .sketch-overlay{padding:calc(4px + env(safe-area-inset-top)) 5px calc(4px + env(safe-area-inset-bottom))}
 .sketch-sheet{max-height:calc(100dvh - 8px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:11px}
 .sketch-top{padding:9px 11px;gap:4px}
 .sketch-top strong{font-size:21px}
 .sketch-top small{font-size:8px}
 .sketch-top-right{gap:4px}
 .sketch-top-right>button{min-height:35px;padding:7px 9px;border-radius:9px;font-size:14px}
 .sketch-top-right>button>span{display:none}
 .sketch-editor{grid-template-columns:1fr;gap:9px;padding:10px 11px 20px}
 .sketch-canvas-header{font-size:10px;gap:5px}
 .sketch-zoom{gap:4px}.sketch-zoom button{width:27px;height:27px}
 .sketch-paper-frame{width:min(calc(100vw - 38px),44dvh,470px);padding:6px;box-shadow:0 8px 20px #66564322,0 0 0 2px #e5d5ba}
 .sketch-canvas-tip{font-size:9px}
 .sketch-tools .sketch-tool-kicker{margin:8px 0 5px}
 .sketch-brushes button{min-height:65px;padding:4px 1px}.sketch-brush-mark{font-size:20px}.sketch-brushes strong{font-size:10px}.sketch-brushes small{font-size:8px}
 .sketch-control-grid{grid-template-columns:1fr 1fr;column-gap:14px;row-gap:3px}
 .sketch-control-grid label:last-child{grid-column:1/-1}
 .sketch-palette{margin:6px 0 8px}
 .sketch-layer{min-height:38px}.sketch-layer-choose,.sketch-layer-eye{min-height:38px}
 .sketch-actions button{min-height:43px}
}
@media(max-width:390px){.sketch-paper-frame{width:min(calc(100vw - 40px),39dvh)}.sketch-top strong{font-size:18px}.sketch-layer-choose{font-size:10px}}
#sketchEyedropper{border:1px solid #bbc8bb;background:#e4e7db;border-radius:9px;padding:9px 10px;font-size:11px;font-weight:700;color:#425547;min-height:40px;white-space:nowrap}
#sketchEyedropper.selected{background:#304d40;color:#fff}
@media(max-width:390px){#sketchEyedropper{font-size:10px;padding:7px 8px}#sketchEraser{font-size:10px;padding:8px}}

/* V3.5.1: camera recovery control, above the mobile action bar. */
#atelier-reset-view{display:none;position:fixed;right:calc(16px + env(safe-area-inset-right));bottom:calc(92px + env(safe-area-inset-bottom));z-index:6;border:1px solid #ffffff90;border-radius:24px;background:#244635da;color:#fff;padding:10px 13px;font-size:12px;font-weight:700;box-shadow:0 5px 20px #0004;touch-action:manipulation;backdrop-filter:blur(6px)}
body.atelier-v3 #atelier-reset-view{display:block}
@media(max-width:730px){#atelier-reset-view{bottom:calc(79px + env(safe-area-inset-bottom));right:calc(10px + env(safe-area-inset-right));font-size:11px;padding:9px 11px}}

/* V3.5.2: switch between orbit and eye-level camera without crowding the joystick. */
#atelier-camera-mode{display:none;position:fixed;right:calc(16px + env(safe-area-inset-right));bottom:calc(138px + env(safe-area-inset-bottom));z-index:6;border:1px solid #ffffff90;border-radius:24px;background:#244635da;color:#fff;padding:10px 13px;font-size:12px;font-weight:700;box-shadow:0 5px 20px #0004;touch-action:manipulation;backdrop-filter:blur(6px)}
body.atelier-v3 #atelier-camera-mode{display:block}
#atelier-camera-mode[aria-pressed="true"]{background:#9c6d4c}
@media(max-width:730px){#atelier-camera-mode{bottom:calc(124px + env(safe-area-inset-bottom));right:calc(10px + env(safe-area-inset-right));font-size:11px;padding:9px 11px}}

/* V3.5.3 — Corgi interaction: right-side camera stack, joystick stays clear. */




#atelier-pet-note{position:fixed;left:50%;top:calc(87px + env(safe-area-inset-top));transform:translate(-50%,-8px);z-index:15;pointer-events:none;opacity:0;transition:opacity .2s ease,transform .2s ease;color:#2d4536;background:#fff4dfeb;border:1px solid #fff;border-radius:18px;box-shadow:0 9px 28px #0004;padding:9px 15px;font:650 12px system-ui;white-space:nowrap;max-width:calc(100vw - 24px);text-align:center}
#atelier-pet-note.visible{opacity:1;transform:translate(-50%,0)}
@media(max-width:730px){#atelier-pet-note{top:calc(74px + env(safe-area-inset-top));font-size:11px}}

/* V3.5.4 — optional input inversion in the existing Help panel. */
.camera-invert-option{border:1px solid #a2b4a6;background:#e8efe8;color:#254332;border-radius:10px;padding:9px 12px;font-size:12px;font-weight:750;margin-top:8px;cursor:pointer;min-height:39px}
.camera-invert-option[aria-pressed="true"]{background:#476456;color:white}

/* V3.5.5 · Courtyard tab, preserving existing HUD and Milo Pet affordance. */
#courtyardBtn .rail-icon{color:#b4775d}#courtyardBtn.active{background:#f3e4d6;color:#704a34}
@media(max-width:730px){.rail{max-height:calc(100dvh - 165px);overflow-y:auto;scrollbar-width:none}.rail::-webkit-scrollbar{display:none}.rail-button{flex-shrink:0}#courtyardBtn{background:#faf0e7}}

#atelier-pets{display:none;position:fixed;right:calc(16px + env(safe-area-inset-right));bottom:calc(306px + env(safe-area-inset-bottom));z-index:7;flex-direction:column;gap:10px;align-items:flex-end}
body.atelier-v3 #atelier-pets,body.lite-mode #atelier-pets{display:flex}
.companion-btn{border:1px solid #ffefdbb9;border-radius:23px;color:white;padding:10px 15px;font-size:13px;font-weight:750;box-shadow:0 5px 20px #0004;touch-action:manipulation;backdrop-filter:blur(8px);background:#ba8055f0}
.companion-btn[data-kind="cat"]{background:#5f8d64f0}
.companion-btn[data-near="true"]{filter:saturate(1.06) brightness(1.02)}
.companion-btn:focus-visible{outline:3px solid #f6d59d;outline-offset:3px}
@media(max-width:730px){#atelier-pets{right:calc(10px + env(safe-area-inset-right));bottom:calc(292px + env(safe-area-inset-bottom));flex-direction:row;gap:8px}.companion-btn{font-size:12px;padding:9px 12px}}

.sketch-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:8px}
.sketch-presets button{border:1px solid #d0d5ca;background:#f7f4eb;color:#344c3e;border-radius:10px;min-height:54px;padding:8px 9px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;touch-action:manipulation;text-align:left}
.sketch-presets button.selected{background:#d9e2d6;border:2px solid #4e7861}
.sketch-presets strong{font-size:11px}.sketch-presets small{font-size:9px;color:#8b9889;line-height:1.25}
@media(max-width:760px){.sketch-presets{grid-template-columns:1fr 1fr}.sketch-presets button{min-height:50px;padding:7px}.sketch-presets strong{font-size:10px}.sketch-presets small{font-size:8px}}

/* V3.7 Focus artwork and art noticeboard */
.modal:has(#modalContent[data-mode="art-focus"]){width:min(980px,calc(100vw - 24px));max-height:calc(100dvh - 30px);overflow:auto;background:#ede9dc}
.art-focus{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);gap:20px;margin-top:14px;align-items:center}
.art-focus-frame{min-height:230px;max-height:68dvh;display:grid;place-items:center;background:#d6d2c6;border:14px solid #ece7da;box-shadow:inset 0 0 0 1px #b9ae9c,0 12px 28px #243d3027;overflow:hidden}
.art-focus-frame img{display:block;max-height:62dvh;max-width:100%;object-fit:contain;box-shadow:0 3px 15px #0002}
.art-focus-info h2{font:italic clamp(25px,3.4vw,43px)/1.1 Georgia,serif;margin:10px 0 12px}
.art-focus-info p{line-height:1.65;color:#667368;font-size:14px}.art-note{font-size:11px!important;color:#8a8c7f!important}
.bulletin-intro{color:#69786c;max-width:680px;font-size:13px;line-height:1.65}.bulletin-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.bulletin-note{border:1px solid #d4ceb9;background:#f7f2e7;border-radius:10px;padding:18px 15px;box-shadow:0 7px 14px #55473510}
.bulletin-note small{font-size:10px;color:#b08069;letter-spacing:.12em;font-weight:800}.bulletin-note h3{font:italic 21px Georgia,serif;color:#334a3d;margin:10px 0}.bulletin-note p{color:#6d7e70;font-size:12px;line-height:1.6}
@media(max-width:730px){.art-focus{grid-template-columns:1fr;gap:10px}.art-focus-frame{max-height:47dvh;border-width:8px}.art-focus-frame img{max-height:45dvh}.bulletin-list{grid-template-columns:1fr}.bulletin-note{padding:13px}.art-focus-info h2{margin:4px 0 7px}.art-focus-info p{margin:4px 0;font-size:12px}}
#ambientMotes{position:fixed;inset:0;pointer-events:none;z-index:3;mix-blend-mode:screen}
@media(prefers-reduced-motion:reduce){#ambientMotes{display:none}}

/* V3.7 drawing project actions */
.sketch-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.sketch-actions button{min-width:0;white-space:normal;line-height:1.3}
.sketch-actions button:last-of-type{grid-column:auto!important}
@media(max-width:760px){.sketch-control-grid label:last-child{grid-column:auto!important}.sketch-actions button{font-size:11px}}

@media(max-width:730px){.rail{max-height:calc(100dvh - 118px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.rail::-webkit-scrollbar{display:none}}

/* Put pet calls above the seated action rather than covering it */
#atelier-pets{bottom:calc(287px + env(safe-area-inset-bottom))}
@media(max-width:730px){#atelier-pets{bottom:calc(282px + env(safe-area-inset-bottom))}}


/* V3.7.1 — mobile-first compact HUD. Preserve existing button IDs and actions. */
#mobileMenuBtn,#mobileToolsBtn,#mobileMenuShade,#mobileToolsPanel,#mobileShareAction{display:none}
@media(min-width:731px){
  #mobileShareAction{display:none!important}
  /* The guest list is optional even on desktop; reopen via People button. */
  #participantsPanel:not(.mobile-open){display:none}
  .toolbar .mobile-people{display:flex}
}
@media(max-width:730px){
  .topbar{height:60px!important;padding:6px 12px!important;background:#1b332ae8!important;border-bottom:1px solid #ffffff24!important;align-items:center}
  .brand-block{gap:8px;min-width:0}
  .brand-mark{font-size:37px!important;line-height:.8}
  .brand-text{padding-left:9px;gap:2px}
  .brand-text strong{font-size:8px!important;letter-spacing:.11em}
  .brand-text small{display:none!important}
  .top-actions{margin-left:auto;min-width:0;gap:5px}
  #inviteBtn{display:none!important}
  #profileBtn{width:32px;height:32px;font-size:14px;border-width:1px}
  #mobileMenuBtn{display:block;position:fixed;z-index:18;top:10px;right:calc(53px + env(safe-area-inset-right));height:39px;padding:0 13px;border:1px solid #ffffff75;background:#274639eb;color:#fff;border-radius:22px;font-weight:700;font-size:12px}
  #mobileMenuShade{display:none;position:fixed;inset:60px 0 0;z-index:14;background:#071a14a5;backdrop-filter:blur(2px)}
  body.hud-nav-open #mobileMenuShade{display:block}
  .rail{z-index:16;top:67px;left:10px;width:min(275px,calc(100vw - 20px));max-height:calc(100dvh - 85px);padding:12px;gap:3px;align-items:stretch;overflow:auto;transform:translateX(-115%);opacity:0;pointer-events:none;visibility:hidden;transition:transform .2s ease,opacity .2s ease;box-shadow:0 14px 45px #071a1488}
  body.hud-nav-open .rail{transform:translateX(0);opacity:1;pointer-events:auto;visibility:visible}
  .rail-label{display:block;text-align:left;margin:2px 6px 9px;font-size:10px}
  .rail .rail-button{width:100%;min-height:43px;padding:8px 12px;display:flex;flex-direction:row;justify-content:flex-start;align-items:center;text-align:left;gap:12px;font-size:13px}
  .rail .rail-icon{font-size:22px;min-width:24px;text-align:center}
  .rail-bottom{margin-top:4px}
  .rail-separator{margin:5px 0}
  #mobileShareAction{display:flex!important;justify-content:flex-start!important;color:#24513b}
  .participants-panel{top:65px}
  .scene-label,.credit{display:none!important}
  .toolbar{z-index:7}
  /* The joystick stays visible. Two essential actions sit on the opposite corner. */
  #mobileToolsBtn{display:block;position:fixed;z-index:9;right:calc(12px + env(safe-area-inset-right));bottom:calc(17px + env(safe-area-inset-bottom));height:48px;border-radius:25px;border:1px solid #e8e0cea8;background:#244b39ed;color:#fff;padding:0 17px;box-shadow:0 8px 26px #071a1470;font-weight:750;letter-spacing:.01em;font-size:13px}
  body.hud-tools-open #mobileToolsBtn{background:#bb8060}
  #mobileToolsPanel{display:none;position:fixed;right:calc(10px + env(safe-area-inset-right));bottom:calc(72px + env(safe-area-inset-bottom));z-index:10;width:min(280px,calc(100vw - 100px));max-height:min(60dvh,430px);overflow:auto;overscroll-behavior:contain;border:1px solid #f7f1e5d0;border-radius:19px;padding:15px 12px 11px;background:#f8f5ebf7;color:#264433;box-shadow:0 16px 42px #09241a91;backdrop-filter:blur(12px)}
  body.hud-tools-open #mobileToolsPanel{display:flex;flex-direction:column;gap:9px}
  .mobile-tools-heading{font-size:10px;font-weight:850;letter-spacing:.16em;color:#627e6b;padding:0 29px 5px 3px}
  #mobileToolsClose{position:absolute;right:8px;top:6px;width:33px;height:33px;border:0;border-radius:50%;background:#e5e8df;color:#284535;font-size:22px}
  #mobileToolsPanel #atelier-pets{display:flex!important;position:static!important;inset:auto!important;bottom:auto!important;right:auto!important;flex-direction:row!important;justify-content:stretch;width:100%;gap:6px}
  #mobileToolsPanel .companion-btn{flex:1;min-height:43px;padding:7px 8px;font-size:12px;white-space:nowrap}
  #mobileToolsPanel #atelier-camera-mode,#mobileToolsPanel #atelier-reset-view{display:block!important;position:static!important;inset:auto!important;right:auto!important;bottom:auto!important;width:100%;min-height:42px;background:#31513ef1;color:#fff;border:1px solid #ffffff90;border-radius:11px;text-align:left;padding:9px 13px;margin:0;box-shadow:none}
  #mobileToolsPanel .toolbar{display:flex!important;position:static!important;inset:auto!important;right:auto!important;bottom:auto!important;transform:none!important;width:100%;justify-content:center;box-shadow:none!important;border:0;background:#e2e6dd!important;padding:4px!important;border-radius:12px;flex-wrap:wrap}
  #mobileToolsPanel .toolbar .tool-button{min-width:45px;min-height:43px;font-size:9px!important;padding:5px;flex:1}
  #mobileToolsPanel .toolbar .tool-icon{font-size:18px}
  #mobileToolsPanel .toolbar-divider{display:none}
  #atelier-seat-toggle{position:fixed!important;z-index:8!important;right:calc(12px + env(safe-area-inset-right))!important;bottom:calc(78px + env(safe-area-inset-bottom))!important;padding:9px 13px!important;min-height:42px!important;font-size:12px!important}
  body.hud-tools-open #atelier-seat-toggle{opacity:.0;pointer-events:none}
  .mobile-pad{bottom:calc(14px + env(safe-area-inset-bottom));left:calc(11px + env(safe-area-inset-left))}
  .movement-hint{display:none!important}
}
@media(max-width:350px){#mobileToolsBtn{padding:0 11px;font-size:12px}#mobileToolsPanel{width:min(246px,calc(100vw - 86px))}.topbar .brand-mark{font-size:32px!important}}
