:root{color-scheme:dark;--bg: #17130f;--bg-raised: #241e18;--fg: #f2e9dc;--fg-muted: #a89a8a;--accent: #ff8a3d;--accent-soft: #4a2c14;--accent-glow: rgba(255, 138, 61, .45);--card-bg: #241e18;--hue-pink: #ff5fa2;--hue-purple: #9b7bef;--hue-green: #34c47c;--hue-blue: #3fa1ff;--hue-yellow: #ffcf3d;--glass-bg: rgba(32, 26, 20, .55);--glass-bg-strong: rgba(32, 26, 20, .75);--glass-border: rgba(255, 255, 255, .12);--glass-edge: rgba(0, 0, 0, .5);--glass-blur: 18px;--glass-saturate: 1.6;--appbar-bg: rgba(34, 28, 22, .94);--appbar-bg-blur: rgba(34, 28, 22, .86);--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 28px;--r-pill: 999px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--shadow-1: 0 1px 2px rgba(0,0,0,.3), 0 2px 8px rgba(0,0,0,.35);--shadow-2: 0 2px 4px rgba(0,0,0,.35), 0 8px 20px rgba(0,0,0,.45);--shadow-3: 0 4px 8px rgba(0,0,0,.4), 0 16px 40px rgba(0,0,0,.55);--shadow-glow-accent: 0 0 0 3px var(--accent-glow), 0 4px 14px var(--accent-glow);--dur-fast: .12s;--dur-med: .2s;--dur-slow: .32s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}.popover-panel,.confirm-dialog,.bars-toggle{background-color:var(--glass-bg-strong)}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){.popover-panel,.confirm-dialog,.bars-toggle{background-color:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate))}}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100dvh;background:var(--bg);color:var(--fg);font-family:Segoe UI,system-ui,-apple-system,sans-serif;overflow-x:hidden;overscroll-behavior:none}#app{min-height:100dvh}html.fixed-view,body.fixed-view{overflow:hidden;height:100dvh}h1,h2,.app-title{font-family:GoodDog,Segoe UI,sans-serif}button{font-family:inherit;cursor:pointer}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.appbar-icon,.appbar-selected-swatch,.group-chip,.swatch,.stamp-swatch,.pattern-swatch,.size-swatch,.dialog-actions button,.bars-toggle,.reset-btn{transition:transform var(--dur-fast) var(--ease-spring),box-shadow var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.appbar-icon:active,.appbar-selected-swatch:active,.group-chip:active,.swatch:active,.stamp-swatch:active,.pattern-swatch:active,.size-swatch:active,.dialog-actions button:active,.bars-toggle:active,.reset-btn:active{transform:scale(.96)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:1ms!important;animation-duration:1ms!important}}@keyframes pop-in{0%{opacity:0;transform:scale(.96) translateY(4px)}}.popover-panel{border-radius:var(--r-lg);padding:var(--sp-4);border:1px solid var(--glass-edge);box-shadow:inset 0 1px 0 var(--glass-border),var(--shadow-3);max-width:min(90vw,420px);max-height:60vh;overflow:auto;animation:pop-in var(--dur-med) var(--ease-spring)}.popover-host{border:none;padding:0;background:transparent;z-index:1000;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.swatch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:8px;width:min(84vw,340px)}.swatch,.stamp-swatch,.pattern-swatch{min-width:48px;min-height:48px;border:1px solid var(--glass-edge);border-radius:var(--r-sm);background:var(--bg-raised);padding:2px}.swatch:hover,.stamp-swatch:hover,.pattern-swatch:hover{box-shadow:var(--shadow-1)}.stamp-swatch{height:48px;padding:4px;background:#fff}.stamp-swatch img{width:100%;height:100%;object-fit:contain}.stamp-size-row{position:sticky;bottom:calc(-1 * var(--sp-4));display:flex;justify-content:space-around;align-items:flex-end;gap:var(--sp-2);margin:var(--sp-3) calc(-1 * var(--sp-4)) calc(-1 * var(--sp-4));padding:var(--sp-3) var(--sp-4) calc(var(--sp-3) + var(--safe-bottom));background:var(--glass-bg-strong);border-top:1px solid var(--glass-edge)}.stamp-size-btn{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:var(--sp-1);min-width:64px;min-height:44px;padding:var(--sp-2) var(--sp-1);border:1px solid transparent;border-radius:var(--r-md);background:none;color:var(--fg)}.stamp-size-dot{display:inline-block;border-radius:50%;background:var(--accent)}.stamp-size-label{font-size:.8rem;font-weight:600}.stamp-size-btn.selected{background:var(--accent-soft);box-shadow:var(--shadow-glow-accent)}.spectrum-wrap{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:.9rem}.shade-ramp-wrap{display:flex;align-items:center;gap:6px;margin-top:12px;width:min(84vw,340px)}.ramp-end{font-size:1.1rem;flex:0 0 auto}.shade-ramp{display:flex;flex:1 1 auto;gap:4px}.shade-swatch{flex:1 1 0;height:34px;min-width:0;border:1px solid var(--glass-edge);border-radius:var(--r-sm);padding:0;cursor:pointer}.shade-swatch:hover{box-shadow:var(--shadow-1)}.shade-swatch:active{transform:scale(.94)}.spectrum-canvas-wrap{margin-top:12px;width:min(84vw,340px)}.color-spectrum{display:block;width:100%;height:110px;border-radius:var(--r-md);border:1px solid var(--glass-edge);box-shadow:inset 0 0 0 1px #ffffff1f;cursor:crosshair;touch-action:none}.big-picker{border:1px solid var(--glass-edge);border-radius:var(--r-xl);padding:var(--sp-5);color:var(--fg);box-shadow:inset 0 1px 0 var(--glass-border),var(--shadow-3);animation:pop-in var(--dur-med) var(--ease-spring);max-height:92dvh;overflow-y:auto;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.big-picker::backdrop{background:#140e0873;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.big-picker{width:min(96vw,1040px)}.big-picker .color-picker{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4) var(--sp-5);align-items:start}.big-picker .swatch-grid{grid-row:1 / 3;width:auto;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:10px}.big-picker .swatch{min-width:64px;min-height:64px}.color-picker .swatch.rainbow{background:conic-gradient(from 90deg,#ff3b30,#ff9500,#fc0,#34c759,#00c7be,#007aff,#5856d6,#af52de,#ff2d55,#ff3b30)}.big-picker .shade-ramp-wrap{width:auto;margin-top:0}.big-picker .shade-swatch{height:52px}.big-picker .spectrum-canvas-wrap{width:auto;margin-top:0}.big-picker .color-spectrum{height:clamp(140px,32dvh,240px)}.big-picker .popover-panel{position:static;width:100%;max-width:none;max-height:none;overflow:visible;padding:0;border:none;box-shadow:none;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;animation:none}.big-picker-tools,.big-picker-materials{margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--glass-edge)}.big-picker-tools .tool-row{display:flex;gap:14px}.big-picker-tool{width:54px;height:54px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;cursor:pointer;color:#1b1b1f;background-color:#ffffffeb;box-shadow:inset 0 0 0 1px #00000047,0 0 0 2px #fffc,var(--shadow-1)}.big-picker-tool .app-glyph{width:30px;height:30px}.big-picker-tool:active{transform:scale(.9)}.big-picker-tool.selected{outline:3px solid var(--accent, #14b8a6);outline-offset:2px}.big-picker-label{font-size:.85rem;font-weight:600;opacity:.7;margin-bottom:var(--sp-3)}.big-picker-materials .material-picker{grid-template-columns:repeat(7,auto);justify-content:start}@media (max-width: 700px){.big-picker .color-picker{grid-template-columns:1fr}.big-picker .swatch-grid{grid-row:auto}.big-picker-materials .material-picker{grid-template-columns:repeat(7,1fr)}}.spectrum-canvas-wrap{position:relative}.spectrum-preview{display:none;position:absolute;width:72px;height:72px;border-radius:50%;transform:translate(-50%,-135%);pointer-events:none;border:4px solid #fff;box-shadow:0 0 0 1px #00000059,var(--shadow-2);z-index:5}.recent-colors{display:flex;flex-wrap:wrap;gap:10px;padding-bottom:var(--sp-3);margin-bottom:var(--sp-3);border-bottom:1px solid var(--glass-edge)}.recent-color-dot{width:48px;height:48px;border:none;border-radius:50%;cursor:pointer;box-shadow:inset 0 0 0 1px #00000047,0 0 0 1.5px #ffffff80,var(--shadow-1)}.recent-color-dot:active{transform:scale(.88)}.shade-row{display:grid;grid-template-columns:repeat(4,auto);gap:12px;padding:var(--sp-3)}.shade-dot{position:relative;width:52px;height:52px;border:none;border-radius:50%;cursor:pointer;box-shadow:inset 0 0 0 1px #00000047,0 0 0 1.5px #ffffff80,var(--shadow-1)}.shade-dot:before{content:"";position:absolute;inset:-6px;border-radius:50%}.shade-dot:active{transform:scale(.88)}.shade-dot,.material-swatch,.big-picker-tool,.recent-color-dot{touch-action:manipulation}.shade-row,.material-picker{overflow:visible;max-height:none;touch-action:none}.material-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.material-swatch{width:54px;height:54px;border:none;border-radius:50%;cursor:pointer;background-size:cover;display:flex;align-items:center;justify-content:center;font-size:2rem;line-height:1;overflow:hidden;box-shadow:inset 0 0 0 1px #00000047,0 0 0 2px #fffc,var(--shadow-1)}.swatch-shape{background:#fff;text-shadow:0 1px 1px rgba(0,0,0,.15)}.swatch-plush{background-image:radial-gradient(circle at 34% 28%,rgba(255,255,255,.55),transparent 58%),radial-gradient(circle at 72% 82%,rgba(0,0,0,.32),transparent 62%)}.swatch-flat{background-image:none}.swatch-crayon{position:relative}.swatch-crayon:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(125deg,rgba(255,255,255,.22) 0 2px,transparent 2px 6px);mix-blend-mode:overlay}.material-swatch:active{transform:scale(.9)}.material-swatch.selected{outline:3px solid var(--accent, #14b8a6);outline-offset:2px}.swatch-glitter{background:radial-gradient(circle at 32% 30%,#fff 0 2px,transparent 3px),radial-gradient(circle at 68% 38%,#fff 0 1.5px,transparent 2.5px),radial-gradient(circle at 54% 66%,#fff 0 2px,transparent 3px),radial-gradient(circle at 24% 72%,#fff 0 1.5px,transparent 2.5px),radial-gradient(circle at 78% 74%,#fff 0 1.5px,transparent 2.5px),var(--glitter-base, #e0509e)}.confirm-dialog{border:1px solid var(--glass-edge);border-radius:var(--r-xl);padding:var(--sp-5);max-width:320px;color:var(--fg);box-shadow:inset 0 1px 0 var(--glass-border),var(--shadow-3);animation:pop-in var(--dur-med) var(--ease-spring)}.confirm-dialog::backdrop{background:#140e0859;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.dialog-actions button{min-height:44px;min-width:88px;border-radius:var(--r-md);border:none;padding:0 16px;font-weight:600}.btn-ok{background:var(--accent);color:#fff;box-shadow:var(--shadow-1)}.btn-cancel{background:var(--bg-raised);color:var(--fg);border:1px solid var(--glass-edge)}.install-guide{max-width:380px;text-align:left}.install-guide-title{font-weight:700;font-size:1.1rem;margin-bottom:14px}.install-guide-steps{margin:0 0 6px;padding-left:1.3em;display:flex;flex-direction:column;gap:11px;line-height:1.45}.ios-share-chip{display:inline-flex;align-items:center;justify-content:center;vertical-align:-6px;width:26px;height:26px;border-radius:7px;background:#ffffff1a;color:var(--accent)}.ios-share-glyph{width:17px;height:17px;display:block}.confirm-dialog-icon{text-align:center}.dialog-icon{font-size:64px;line-height:1.2;animation:pop-in var(--dur-med) var(--ease-spring)}.dialog-actions-icon{justify-content:center;gap:22px}.dialog-actions-icon button{min-width:76px;min-height:60px;border-radius:var(--r-lg);font-size:30px;font-weight:800;line-height:1}.dialog-actions-icon .btn-yes{background:#2fa14e;color:#fff;border:none}.dialog-actions-icon .btn-no{background:#d2413a;color:#fff;border:none}.size-swatch{display:flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;margin:4px;border-radius:var(--r-sm);border:1px solid var(--glass-edge);background:var(--bg-raised)}.size-swatch.selected{border-color:transparent;background:var(--accent-soft);box-shadow:var(--shadow-glow-accent)}.brush-flyout-row{display:flex;flex-wrap:wrap}.brush-flyout-opacity-label{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:.85rem}.brush-flyout-opacity-label input[type=range]{flex:1}.size-dot{display:inline-block;border-radius:50%;background:currentColor}input[type=range]{-webkit-appearance:none;appearance:none;height:24px;background:transparent}input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:var(--r-pill);background:var(--accent-soft)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;margin-top:-9px;border-radius:50%;border:none;background:var(--accent);box-shadow:var(--shadow-1)}input[type=range]::-moz-range-track{height:6px;border-radius:var(--r-pill);background:var(--accent-soft)}input[type=range]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;border:none;background:var(--accent);box-shadow:var(--shadow-1)}body.gallery-body-bg{background:radial-gradient(1200px 700px at 12% -10%,color-mix(in srgb,var(--hue-yellow) 22%,transparent),transparent 60%),radial-gradient(1000px 600px at 105% 15%,color-mix(in srgb,var(--hue-blue) 16%,transparent),transparent 55%),radial-gradient(900px 700px at 50% 110%,color-mix(in srgb,var(--hue-pink) 14%,transparent),transparent 60%),var(--bg)}.gallery-view{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.gallery-header{flex:0 0 auto;display:flex;align-items:center;padding:calc(10px + var(--safe-top)) 16px 6px calc(16px + var(--safe-left))}.app-logo{margin:0;font-size:clamp(2.2rem,7vh,4rem);line-height:1;background:linear-gradient(90deg,var(--hue-pink),var(--accent),var(--hue-yellow),var(--hue-green),var(--hue-blue),var(--hue-purple));-webkit-background-clip:text;background-clip:text;color:transparent}.header-actions{margin-left:auto;margin-right:var(--safe-right, 0px);display:flex;align-items:center;gap:8px;flex:0 0 auto}.header-actions .install-btn{margin-left:0;margin-right:0}.help-btn,.fullscreen-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;border-radius:var(--r-pill);border:1px solid var(--glass-edge);background:var(--glass-bg-strong);color:var(--fg);font-size:1.35rem;font-weight:800;line-height:1;cursor:pointer;box-shadow:var(--shadow-1)}.help-btn:active,.fullscreen-btn:active{transform:scale(.96)}.fullscreen-btn svg{display:block}.header-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;border-radius:var(--r-pill);border:1px solid color-mix(in srgb,#14b8a6 40%,var(--glass-edge));background:var(--glass-bg-strong);color:#2dd4bf;font-size:1.5rem;font-weight:400;line-height:1;cursor:pointer;box-shadow:var(--shadow-1);transition:border-color var(--dur-med, .18s) ease,box-shadow var(--dur-med, .18s) ease}.header-icon-btn:hover,.header-icon-btn:focus-visible{border-color:#14b8a6;box-shadow:0 0 0 3px color-mix(in srgb,#14b8a6 22%,transparent),var(--shadow-1)}.header-icon-btn:active{transform:scale(.96)}.header-icon-btn svg{display:block}.help-sheet{width:min(880px,94vw);max-height:88vh;overflow-y:auto;padding:clamp(16px,3vw,26px);border:1px solid var(--glass-edge);border-radius:var(--r-xl, 22px);background:var(--bg-raised);color:var(--fg);box-shadow:var(--shadow-3)}.help-sheet::backdrop{background:#0000009e}.help-title{position:sticky;top:calc(clamp(16px,3vw,26px)*-1);z-index:1;margin:0 0 clamp(12px,2vw,18px);padding:4px 0 8px;background:var(--bg-raised);font-size:clamp(1.2rem,3.4vw,1.7rem);font-weight:800;text-align:center}.help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(10px,2vw,16px)}.help-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 12px 14px;border-radius:var(--r-lg);background:color-mix(in srgb,var(--card-accent) 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--card-accent) 38%,transparent)}.help-art{width:100%;max-width:200px;height:auto;display:block}.help-caption{margin:0;font-size:.92rem;font-weight:600;line-height:1.25;text-align:center;opacity:.95}.help-ok{display:block;margin:clamp(14px,2.5vw,20px) auto 0;width:64px;height:64px;border:none;border-radius:50%;background:#22c55e;color:#fff;font-size:2rem;line-height:1;cursor:pointer;box-shadow:var(--shadow-2)}.help-ok:active{transform:scale(.94)}.lang-picker{position:relative;flex:0 0 auto}.lang-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;border-radius:var(--r-pill);border:1px solid var(--glass-edge);background:var(--glass-bg-strong);color:var(--fg);cursor:pointer;box-shadow:var(--shadow-1)}.lang-btn:active{transform:scale(.96)}.lang-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:40;display:flex;flex-direction:column;min-width:172px;padding:6px;border-radius:var(--r-lg);border:1px solid var(--glass-edge);background:var(--bg-raised);box-shadow:var(--shadow-3)}.lang-menu[hidden]{display:none}.lang-option{display:flex;align-items:center;min-height:44px;padding:0 12px;border:none;border-radius:var(--r-md);background:transparent;color:var(--fg);font:inherit;font-weight:600;text-align:left;cursor:pointer}.lang-option:hover,.lang-option:focus-visible{background:var(--glass-bg)}.lang-option.active{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.lang-option.active:after{content:"✓";margin-left:auto;color:var(--accent);font-weight:800}.install-btn{margin-left:auto;margin-right:var(--safe-right, 0px);flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border:none;border-radius:var(--r-pill);background:var(--accent);color:#fff;font-weight:600;font-size:.9rem;box-shadow:var(--shadow-1);cursor:pointer}.install-btn:active{transform:scale(.96)}.install-btn .install-icon{font-size:1.05rem;line-height:1}@media (max-width: 520px){.install-btn .install-label{display:none}.install-btn{padding:0 12px}.header-actions{gap:6px}.header-icon-btn,.lang-btn,.help-btn,.fullscreen-btn{width:38px;height:38px;min-width:38px}.header-icon-btn{font-size:1.3rem}.app-logo{font-size:clamp(1.9rem,6vh,2.5rem)}}.debug-hotspot{position:fixed;right:var(--safe-right, 0px);bottom:var(--safe-bottom, 0px);z-index:40;width:44px;height:44px;padding:0;border:none;border-radius:0;background:transparent;font-size:15px;line-height:44px;text-align:center;opacity:.3;filter:grayscale(1);cursor:pointer}.debug-hotspot.on,.debug-hotspot.arming{opacity:.95;filter:none}.debug-hotspot.on:before,.debug-hotspot.arming:before{content:"";position:absolute;inset:4px;border-radius:50%;z-index:-1}.debug-hotspot.on:before{box-shadow:inset 0 0 0 2px var(--hue-pink, #ff4081)}.debug-hotspot.arming:before{background:var(--hue-pink, #ff4081);transition:background 1.2s var(--ease-out)}.group-chips{flex:0 0 auto;display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;padding:4px 16px 10px calc(16px + var(--safe-left))}.group-chips::-webkit-scrollbar{display:none}.chip-rail{position:relative;flex:0 0 auto}.chip-rail:before,.chip-rail:after{content:"";position:absolute;top:0;bottom:10px;width:68px;pointer-events:none;opacity:0;transition:opacity .18s ease;z-index:1}.chip-rail:before{left:0;background:linear-gradient(to right,var(--bg, #17130f) 12%,transparent)}.chip-rail:after{right:0;background:linear-gradient(to left,var(--bg, #17130f) 12%,transparent)}.chip-rail.can-prev:before,.chip-rail.can-next:after{opacity:1}.chip-rail-arrow{position:absolute;top:calc(50% - 5px);transform:translateY(-50%);z-index:2;display:none;place-items:center;width:40px;height:40px;padding:0 0 4px;border:1px solid var(--glass-edge);border-radius:50%;background:var(--glass-bg-strong);color:var(--fg);font-size:1.6rem;line-height:1;cursor:pointer;box-shadow:var(--shadow-2)}.chip-rail-arrow.prev{left:4px}.chip-rail-arrow.next{right:4px}.chip-rail.can-prev .chip-rail-arrow.prev,.chip-rail.can-next .chip-rail-arrow.next{display:grid}.chip-rail-arrow:active{transform:translateY(-50%) scale(.92)}.group-chip{flex:0 0 auto;min-height:84px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:4px var(--sp-3);border:none;border-radius:var(--r-lg);background:var(--accent, #ddd);color:#fff;font-weight:600;box-shadow:var(--shadow-1)}.group-chip .chip-emoji{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#fffffff0;box-shadow:inset 0 0 0 1px #0000001f;font-size:2.4rem;line-height:1}.group-chip .chip-label{font-size:.6rem;line-height:1.1;opacity:.9}.group-chip:active{transform:scale(.94)}.surprise-chip{box-shadow:var(--shadow-2),0 0 0 2px color-mix(in srgb,#fff 35%,transparent)}.surprise-chip .chip-emoji{font-size:2.65rem}.group-title .group-emoji{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fffffff0;box-shadow:inset 0 0 0 1px #0000001f;vertical-align:middle;font-size:1.35rem;line-height:1}.group-chip:hover{transform:translateY(-1px);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 35%,transparent),var(--shadow-2)}.groups-scroller{flex:1 1 auto;display:flex;flex-direction:row;align-items:flex-start;gap:36px;overflow-x:auto;overflow-y:hidden;padding:4px 16px 20px calc(16px + var(--safe-left));scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent}.groups-scroller::-webkit-scrollbar{height:8px}.groups-scroller::-webkit-scrollbar-track{background:transparent}.groups-scroller::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:999px;border:2px solid transparent;background-clip:padding-box}.groups-scroller:hover::-webkit-scrollbar-thumb{background:#fff6;background-clip:padding-box}.groups-scroller::-webkit-scrollbar-thumb:hover{background:#ffffff8c;background-clip:padding-box}.gallery-group{flex:0 0 auto}.group-title{color:var(--accent);background:var(--glass-bg-strong);display:inline-block;padding:4px 16px;border-radius:var(--r-pill);border:1px solid var(--glass-edge);box-shadow:var(--shadow-1);margin:0 0 8px}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){.group-title{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}.gallery-grid{display:grid;grid-auto-flow:column;grid-template-rows:repeat(2,var(--card-h, 250px));grid-auto-columns:calc(var(--card-h, 250px) * 1.52);gap:12px;height:calc(var(--card-h, 250px) * 2 + 12px)}.gallery-card{position:relative;display:block;border-radius:var(--r-lg);overflow:hidden;background:var(--card-bg);outline:1px solid var(--glass-edge);outline-offset:-1px;box-shadow:var(--shadow-1);width:calc(var(--card-h, 250px) * 1.52);height:var(--card-h, 250px);transition:transform var(--dur-med) var(--ease-spring),box-shadow var(--dur-med) var(--ease-out)}.gallery-card:active{transform:scale(.95);box-shadow:var(--shadow-1)}.gallery-card.spotlight-hero{grid-row:1 / -1;grid-column:span 2;width:calc(var(--card-h, 250px) * 2.768);height:calc(var(--card-h, 250px) * 1.888)}.gallery-card.spotlight-hero .item-title{font-size:1.05rem}.gallery-card:hover,.gallery-card:focus-visible{transform:translateY(-4px) scale(1.03);box-shadow:var(--shadow-2);z-index:1}.item-image{width:100%;height:100%;object-fit:cover;display:block}.item-overlay{position:absolute;left:0;right:0;bottom:0;padding:6px 10px;background-image:linear-gradient(transparent,#00000026);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.item-title{margin:0;color:#fff;font-size:.85rem;text-shadow:0 1px 2px rgba(0,0,0,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.painted-badge{position:absolute;top:6px;left:6px;display:grid;place-items:center;width:30px;height:30px;background:var(--hue-green);font-size:.95rem;line-height:1;border-radius:50%;box-shadow:var(--shadow-1)}.rail-arrow{position:fixed;top:50%;transform:translateY(-50%);z-index:30;width:56px;height:88px;display:grid;place-items:center;padding:0;border:none;border-radius:var(--r-lg);background:var(--glass-bg, rgba(255,255,255,.1));backdrop-filter:blur(10px);color:#fff;font-size:2.4rem;line-height:1;box-shadow:var(--shadow-2);cursor:pointer}.rail-arrow.prev{left:calc(4px + var(--safe-left, 0px))}.rail-arrow.next{right:calc(4px + var(--safe-right, 0px))}.rail-arrow:active{transform:translateY(-50%) scale(.92)}.reset-btn{position:absolute;top:6px;right:6px;min-width:32px;min-height:32px;border-radius:50%;border:none;background:#140e0880;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font-size:1rem}.gallery-footer{flex:0 0 auto;display:flex;flex-direction:column;gap:8px;padding:0 16px calc(12px + var(--safe-bottom)) calc(16px + var(--safe-left))}.build-stamp{text-align:center;pointer-events:none;font-size:.68rem;line-height:1.4;letter-spacing:.01em;color:var(--fg);opacity:.42}.donate-link{pointer-events:auto;color:inherit;text-decoration:none;border-bottom:1px solid currentColor}.donate-link:hover{opacity:1}.donate-part.is-offline{visibility:hidden}.scan-editor{border:1px solid var(--glass-edge);border-radius:var(--r-xl);padding:var(--sp-4);width:min(94vw,760px);max-width:min(94vw,760px);color:var(--fg);background:var(--bg-raised);box-shadow:inset 0 1px 0 var(--glass-border),var(--shadow-3);display:flex;flex-direction:column;gap:var(--sp-3)}.scan-editor::backdrop{background:#140e0880;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.scan-stage{position:relative;align-self:center;max-width:100%;line-height:0;overflow:hidden;border-radius:var(--r-md);touch-action:none}.scan-canvas{display:block;max-width:100%;max-height:54vh;width:auto;height:auto;background:#fff}.scan-crop{position:absolute;box-sizing:border-box;border:2px solid #fff;box-shadow:0 0 0 100vmax #00000073;cursor:move;outline:none;touch-action:none}.scan-crop:focus-visible{border-color:var(--accent)}.scan-handle{position:absolute;width:24px;height:24px;background:var(--accent);border:2px solid #fff;border-radius:50%;box-shadow:var(--shadow-1);touch-action:none}.scan-handle[data-h=nw]{left:-12px;top:-12px;cursor:nwse-resize}.scan-handle[data-h=ne]{right:-12px;top:-12px;cursor:nesw-resize}.scan-handle[data-h=sw]{left:-12px;bottom:-12px;cursor:nesw-resize}.scan-handle[data-h=se]{right:-12px;bottom:-12px;cursor:nwse-resize}.scan-controls{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.scan-rotate{min-height:44px;padding:0 14px;border-radius:var(--r-md);border:1px solid var(--glass-edge);background:var(--bg-raised);color:var(--fg);font:inherit;font-weight:700;cursor:pointer}.scan-strength{display:flex;align-items:center;gap:8px;flex:1 1 180px}.scan-strength input[type=range]{flex:1}.scan-name{flex:1 1 140px;min-height:44px;border-radius:var(--r-md);border:1px solid var(--glass-edge);background:var(--bg-raised);color:var(--fg);padding:0 12px;font:inherit}.scan-actions{justify-content:flex-end;flex-wrap:wrap}.scan-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05;min-height:50px;min-width:100px;border-radius:var(--r-md);border:none;padding:6px 14px;cursor:pointer}.scan-btn .l1{font-size:.98rem;font-weight:700}.scan-btn .l2{font-size:.72rem;font-weight:600;opacity:.72}.scan-save{background:var(--accent);color:#fff;box-shadow:var(--shadow-1)}.scan-cancel{background:var(--bg-raised);color:var(--fg);border:1px solid var(--glass-edge)}.scan-retake{background:var(--bg-raised);color:var(--fg);border:1px solid var(--glass-edge);margin-right:auto}.scan-editor.saving{cursor:progress}.scan-editor.saving .scan-stage{opacity:.6}@media (max-width: 760px),(orientation: portrait){.gallery-view{height:auto;overflow:visible}.groups-scroller{flex-direction:column;overflow-x:visible;overflow-y:visible;gap:20px}.gallery-grid{grid-auto-flow:row;grid-template-rows:none;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-auto-columns:unset;height:auto}.rail-arrow{display:none}.gallery-card{width:auto;height:auto;aspect-ratio:220 / 150}.gallery-card.spotlight-hero{grid-row:auto;grid-column:span 2;width:auto;height:auto}}html.phone .gallery-header{padding:calc(4px + var(--safe-top)) 12px 2px calc(12px + var(--safe-left))}html.phone .app-logo{font-size:1.7rem}html.phone .header-actions{gap:6px}html.phone .header-icon-btn,html.phone .lang-btn,html.phone .help-btn,html.phone .fullscreen-btn{width:38px;height:38px;min-width:38px}html.phone .header-icon-btn{font-size:1.3rem}html.phone .group-chips{padding:2px 12px 6px calc(12px + var(--safe-left));gap:6px}html.phone .group-chip{min-height:56px;padding:3px 10px;border-radius:var(--r-md)}html.phone .group-chip .chip-emoji{width:36px;height:36px;font-size:1.5rem}html.phone .surprise-chip .chip-emoji{font-size:1.65rem}html.phone .group-chip .chip-label{font-size:.55rem}html.phone .gallery-footer{order:-1;padding:2px 8px 0;gap:0}html.phone .gallery-footer .build-stamp{font-size:.6rem;text-align:center}.drawing-view{position:relative;height:100dvh;overflow:hidden;background:var(--bg);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.stage{position:absolute;inset:0;overflow:hidden;background:repeating-conic-gradient(#2a241d 0% 25%,#332c24 0% 50%) 50% / 24px 24px;touch-action:none;-webkit-user-select:none;-webkit-touch-callout:none}.drawing-view,.drawing-view *,.big-picker,.big-picker *{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.zoom-wrap{position:absolute;inset:0;transform-origin:0 0;will-change:transform}.stage .layer{position:absolute}.canvas-under{z-index:0;background:#fff}.svg-host{z-index:1}.canvas-free{z-index:2}.svg-host svg{display:block}.appbar-top-mount,.appbar-bottom-mount{position:fixed;left:var(--vv-left, 0px);right:var(--vv-right, 0px);z-index:20;transition:transform .2s ease,opacity .2s ease;touch-action:none}.appbar-top-mount{top:var(--vv-top, 0px)}.appbar-bottom-mount{bottom:var(--vv-bottom, 0px)}.appbar{height:80px;width:100%;display:flex;align-items:center;justify-content:space-around;gap:4px;padding:0 calc(4px + var(--safe-left)) 0 calc(4px + var(--safe-right));overflow-x:auto;overflow-y:hidden;box-shadow:var(--shadow-1);background-color:var(--appbar-bg)}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){.appbar{background-color:var(--appbar-bg-blur);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate))}}.appbar-top{border-bottom:1px solid var(--glass-edge)}.appbar-bottom{border-top:1px solid var(--glass-edge);padding-right:calc(70px + var(--safe-right))}.appbar-top-mount .appbar{padding-top:var(--safe-top);height:calc(80px + var(--safe-top))}.appbar-bottom-mount .appbar{padding-bottom:var(--safe-bottom);height:calc(80px + var(--safe-bottom))}@media (max-width: 860px){.appbar{height:55px}.appbar-top-mount .appbar{height:calc(55px + var(--safe-top))}.appbar-bottom-mount .appbar{height:calc(55px + var(--safe-bottom))}}@media (max-width: 569px){.appbar{height:50px}.appbar-top-mount .appbar{height:calc(50px + var(--safe-top))}.appbar-bottom-mount .appbar{height:calc(50px + var(--safe-bottom))}}.drawing-view.bars-hidden .appbar-top-mount,.drawing-view.stamp-mode .appbar-top-mount{transform:translateY(-100%);opacity:0;pointer-events:none}.drawing-view.bars-hidden .appbar-bottom-mount{transform:translateY(100%);opacity:0;pointer-events:none}.appbar-icon,.appbar-selected-swatch{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex:0 0 auto;width:40px;height:40px;min-width:40px;min-height:40px;border:none;border-radius:50%;position:relative;background-color:#ffffffe6;background-repeat:no-repeat;padding:0;cursor:pointer;box-shadow:var(--shadow-1)}.appbar-icon:hover,.appbar-selected-swatch:hover{transform:translateY(-1px);box-shadow:var(--shadow-2)}.appbar-icon:active,.appbar-selected-swatch:active{transform:scale(.96)}.appbar-icon:before,.appbar-selected-swatch:before{content:"";position:absolute;inset:-12px -9px}.appbar-icon{background-position:0 0;background-size:160px 80px}.appbar-selected-swatch{margin-right:6px;box-shadow:inset 0 0 0 1px var(--glass-edge),var(--shadow-1)}.appbar-mode-btn.selected{background-color:#ffe3cf;transform:scale(1.14);box-shadow:0 0 0 3px var(--accent),0 6px 16px var(--accent-glow);position:relative;z-index:1;animation:tool-pop var(--dur-med) var(--ease-spring),tool-glow 2s var(--ease-out) .25s infinite}.appbar-mode-btn.selected:active{transform:scale(1.02)}.appbar-bottom .appbar-icon:active{transform:scale(.84)}.appbar-bottom .appbar-icon{width:56px;height:56px;min-width:56px;min-height:56px;background-size:224px 112px}.appbar-bottom .appbar-icon-plain{background-size:39px 39px}@media (max-width: 860px){.appbar-bottom .appbar-icon{width:44px;height:44px;min-width:44px;min-height:44px;background-size:176px 88px}.appbar-bottom .appbar-icon-plain{background-size:31px 31px}}@media (max-width: 569px){.appbar-bottom .appbar-icon{width:40px;height:40px;min-width:40px;min-height:40px;background-size:160px 80px}.appbar-bottom .appbar-icon-plain{background-size:28px 28px}}.appbar.appbar-bottom{background:linear-gradient(to top,#16110cc7,#241c1499);box-shadow:inset 0 1px #ffffff29,0 -6px 22px #00000052}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){.appbar.appbar-bottom{background:linear-gradient(to top,#16110c85,#241c1457);-webkit-backdrop-filter:blur(22px) saturate(1.7);backdrop-filter:blur(22px) saturate(1.7)}}.appbar-bottom .appbar-glyph-btn{display:flex;align-items:center;justify-content:center;color:#ffffffeb;background:#ffffff17;background-image:none;border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 1px #ffffff4d,0 2px 6px #00000038}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){.appbar-bottom .appbar-glyph-btn{-webkit-backdrop-filter:blur(6px) saturate(1.2);backdrop-filter:blur(6px) saturate(1.2)}}.appbar-bottom .appbar-glyph-btn:hover{background:#ffffff26}.app-glyph{width:28px;height:28px;display:block;pointer-events:none}@media (max-width: 860px){.app-glyph{width:24px;height:24px}}@media (max-width: 569px){.app-glyph{width:22px;height:22px}}.appbar-sep{flex:0 0 auto;width:1px;height:34px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.3),transparent)}@media (max-width: 860px){.appbar-sep{height:26px}}@media (max-width: 569px){.appbar-sep{height:22px}}.appbar-bottom .appbar-undo-btn{width:68px;height:68px;min-width:68px;min-height:68px;color:#eaf6ff;background:#60b2ff42;border-color:#96d2ff8c;box-shadow:inset 0 1px #ffffff59,0 3px 12px #2878d259}.appbar-bottom .appbar-undo-btn:hover{background:#60b2ff5c}.appbar-bottom .appbar-undo-btn .app-glyph{width:36px;height:36px}@media (max-width: 860px){.appbar-bottom .appbar-undo-btn{width:54px;height:54px;min-width:54px;min-height:54px}.appbar-bottom .appbar-undo-btn .app-glyph{width:30px;height:30px}}@media (max-width: 569px){.appbar-bottom .appbar-undo-btn{width:48px;height:48px;min-width:48px;min-height:48px}.appbar-bottom .appbar-undo-btn .app-glyph{width:27px;height:27px}}.grownup-drawer{display:flex;flex-direction:column;gap:6px;min-width:190px}.grownup-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border:none;border-radius:var(--r-md);background:#ffffff14;color:var(--text, #fff);font-size:1rem;font-weight:600;text-align:left;cursor:pointer}.grownup-item:hover{background:#ffffff29}.grownup-item:active{transform:scale(.97)}.grownup-item .app-glyph{width:24px;height:24px;flex:0 0 auto}.appbar-bottom .appbar-mode-btn.selected{color:#fff;background:color-mix(in srgb,var(--accent) 42%,rgba(255,255,255,.12));box-shadow:inset 0 1px #ffffff59,0 0 0 3px var(--accent),0 6px 18px var(--accent-glow)}@keyframes tool-pop{0%{transform:scale(.8)}60%{transform:scale(1.22)}to{transform:scale(1.14)}}@keyframes tool-glow{0%,to{box-shadow:0 0 0 3px var(--accent),0 5px 14px var(--accent-glow)}50%{box-shadow:0 0 0 3px var(--accent),0 7px 22px var(--accent-glow)}}.appbar-icon-plain{background-position:center;background-size:28px 28px}.appbar-color-dot{background-size:auto;box-shadow:inset 0 0 0 1px #00000047,0 0 0 1.5px #ffffff80,var(--shadow-1)}.appbar-color-dot:hover{box-shadow:inset 0 0 0 1px #00000047,0 0 0 1.5px #ffffff8c,var(--shadow-2)}.appbar-color-dot.rainbow{background:conic-gradient(from 90deg,#ff3b30,#ff9500,#fc0,#34c759,#00c7be,#007aff,#5856d6,#af52de,#ff2d55,#ff3b30)}.appbar-swatch.selected{transform:scale(1.14);box-shadow:inset 0 0 0 1px #00000047,0 0 0 3px var(--accent),0 6px 16px var(--accent-glow);position:relative;z-index:1;animation:tool-pop var(--dur-med) var(--ease-spring)}.appbar-swatch.selected:active{transform:scale(1.02)}@media (min-width: 861px){.appbar-top .appbar-icon,.appbar-top .appbar-selected-swatch{width:52px;height:52px;min-width:52px;min-height:52px}.appbar-top .appbar-icon{background-size:208px 104px}.appbar-top .appbar-color-dot{background-size:auto}}.tool-indicator-mount{position:fixed;left:calc(8px + var(--safe-left));bottom:calc(80px + var(--safe-bottom));margin-left:var(--vv-left, 0px);margin-bottom:var(--vv-bottom, 0px);z-index:25;pointer-events:none;transition:bottom .2s ease}@media (max-width: 860px){.tool-indicator-mount{bottom:calc(55px + var(--safe-bottom))}}@media (max-width: 569px){.tool-indicator-mount{bottom:calc(50px + var(--safe-bottom))}}.drawing-view.bars-hidden .tool-indicator-mount{bottom:calc(8px + var(--safe-bottom))}.tool-indicator{position:relative;display:flex;align-items:center;gap:6px;padding:7px 9px;border-radius:14px;background:#1a1510cc;box-shadow:inset 0 1px #ffffff24,0 3px 10px #0000004d}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){.tool-indicator{background:#1a15108c;-webkit-backdrop-filter:blur(14px) saturate(1.5);backdrop-filter:blur(14px) saturate(1.5)}}.tool-indicator.pop{animation:indicator-pop var(--dur-med) var(--ease-spring)}.tool-indicator-color{width:26px;height:26px;border-radius:8px;background-size:cover;background-position:center;box-shadow:inset 0 0 0 1px #00000052,var(--shadow-1)}.tool-indicator.colorless .tool-indicator-color{background:repeating-conic-gradient(#d8d2ca 0% 25%,#efe9e1 0% 50%) 50% / 8px 8px}.tool-indicator-tool{flex:0 0 auto;width:26px;height:26px;border-radius:8px;background-color:#fffffff2;background-repeat:no-repeat;background-position:0 0;background-size:104px 52px;box-shadow:inset 0 0 0 1px #0003}@keyframes indicator-pop{0%{transform:scale(.7)}60%{transform:scale(1.18)}to{transform:scale(1)}}@media (prefers-reduced-motion: reduce){.tool-indicator.pop{animation:none}}.tool-indicator-undo{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#fff;background:#141418d1;border-radius:14px;opacity:0;transform:scale(.6)}.tool-indicator.undo-flash .tool-indicator-undo{animation:undo-flash .55s var(--ease-spring)}@keyframes undo-flash{0%{opacity:0;transform:scale(.6) rotate(35deg)}35%{opacity:1;transform:scale(1.05) rotate(0)}70%{opacity:1;transform:scale(1) rotate(0)}to{opacity:0;transform:scale(1) rotate(0)}}@media (prefers-reduced-motion: reduce){.tool-indicator.undo-flash .tool-indicator-undo{animation:none}}.bars-toggle-mount{position:fixed;bottom:calc(6px + var(--safe-bottom));right:calc(6px + var(--safe-right));margin-right:var(--vv-right, 0px);margin-bottom:var(--vv-bottom, 0px);z-index:25}.bars-toggle{display:grid;place-items:center;width:56px;height:56px;padding:0;border:none;border-radius:50%;color:#fff;background:#1c1c20eb;box-shadow:0 0 0 2px #ffffffe6,var(--shadow-2);cursor:pointer}.bars-toggle:active{transform:scale(.92)}.bars-toggle-glyph{width:30px;height:30px;display:block;pointer-events:none}.bars-toggle.bars-hidden-state{background:var(--accent, #14b8a6);box-shadow:0 0 0 3px #fffffff2,0 6px 18px var(--accent-glow, rgba(0,0,0,.35))}.fireworks-overlay{position:fixed;inset:0;width:100vw;height:100dvh;pointer-events:none;z-index:3000}.fireworks-banner{position:fixed;left:50%;top:34%;transform:translate(-50%,-50%);z-index:3001;pointer-events:none;font-size:clamp(2rem,8vw,4.5rem);font-weight:800;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.55),0 0 30px rgba(255,214,64,.6);white-space:nowrap;animation:fireworks-pop .5s cubic-bezier(.2,1.4,.4,1) both;transition:opacity 1.2s ease,transform 1.2s ease}.fireworks-banner.fade{opacity:0;transform:translate(-50%,-70%)}.fireworks-banner.mini{top:26%;font-size:clamp(1.3rem,4.5vw,2.6rem);text-shadow:0 2px 12px rgba(0,0,0,.5),0 0 18px rgba(255,214,64,.5)}@keyframes fireworks-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media (prefers-reduced-motion: reduce){.fireworks-banner{animation:none}}@media (orientation: landscape){html.phone .appbar-top-mount{top:var(--vv-top, 0px);bottom:var(--vv-bottom, 0px);left:var(--vv-left, 0px);right:auto}html.phone .appbar-bottom-mount{top:var(--vv-top, 0px);bottom:var(--vv-bottom, 0px);right:var(--vv-right, 0px);left:auto}html.phone .appbar-top{border-bottom:none;border-right:1px solid var(--glass-edge)}html.phone .appbar-bottom{border-top:none;border-left:1px solid var(--glass-edge)}html.phone .drawing-view .appbar,html.phone .appbar-top-mount .appbar,html.phone .appbar-bottom-mount .appbar{width:56px;height:100%;flex-direction:column;justify-content:flex-start;gap:6px;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}html.phone .drawing-view .appbar::-webkit-scrollbar{display:none}html.phone .appbar-top-mount .appbar{padding:calc(6px + var(--safe-top)) 0 6px var(--safe-left)}html.phone .appbar-bottom-mount .appbar{padding:calc(6px + var(--safe-top)) var(--safe-right) 64px 0}html.phone .appbar .appbar-icon,html.phone .appbar .appbar-swatch,html.phone .appbar .appbar-selected-swatch{width:36px;height:36px;min-width:36px;min-height:36px}html.phone .appbar .appbar-icon{background-size:144px 72px}html.phone .appbar .app-glyph{width:20px;height:20px}html.phone .appbar-bottom .appbar-undo-btn{width:44px;height:44px;min-width:44px;min-height:44px}html.phone .appbar-top .appbar-selected-swatch{margin-right:0;margin-bottom:4px}html.phone .appbar .appbar-sep{width:26px;height:1px;background:linear-gradient(to right,transparent,rgba(255,255,255,.3),transparent)}html.phone .drawing-view.bars-hidden .appbar-top-mount,html.phone .drawing-view.stamp-mode .appbar-top-mount{transform:translate(-100%)}html.phone .drawing-view.bars-hidden .appbar-bottom-mount{transform:translate(100%)}html.phone .bars-toggle-glyph{transform:rotate(90deg)}html.phone .tool-indicator-mount{left:calc(64px + var(--safe-left));bottom:calc(8px + var(--safe-bottom))}html.phone .drawing-view.bars-hidden .tool-indicator-mount{left:calc(8px + var(--safe-left));bottom:calc(8px + var(--safe-bottom))}}.rotate-overlay{display:none}@media (orientation: portrait){html.phone .rotate-overlay{position:fixed;inset:0;z-index:120;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;background:var(--bg, #17130f);color:var(--fg, #fff);text-align:center}html.phone .rotate-overlay .rotate-icon{font-size:64px;line-height:1;animation:rotate-nudge 1.8s var(--ease-out, ease-in-out) infinite}html.phone .rotate-overlay p{margin:0;font-size:1.05rem;font-weight:700;opacity:.92}}@keyframes rotate-nudge{0%,20%{transform:rotate(0)}55%,80%{transform:rotate(90deg)}to{transform:rotate(90deg)}}@media (prefers-reduced-motion: reduce){html.phone .rotate-overlay .rotate-icon{animation:none;transform:rotate(90deg)}}
