:root{--cream: #F3F2ED;--paper: #EEEDE7;--ink: #23221F;--muted: #686560;--soft: #4F4C46;--line: #DCDAD2;--hair: rgba(35,34,31,.14);--violet: #2C3E9C;--violet-soft: #E6E9F6;--gold: #F0B429;--night: #151B34;--night-2: #232C52;--green: #1F7A5C;--vermilion: #E4572E;--small-print: #686560;--display: "Newsreader", Georgia, serif;--body: "Atkinson Hyperlegible", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}html{color-scheme:only light}@media(prefers-color-scheme:dark){html{color-scheme:only light}.sh-stage,.sh-canvas-wrap{background:#fff}}body{font-family:var(--body);color:var(--ink);background:var(--cream);-webkit-tap-highlight-color:transparent}button{font-family:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.5;cursor:default}:focus-visible{outline:3px solid var(--violet);outline-offset:2px}img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.sh-logo{display:inline-flex;align-items:center;gap:6px;font-family:var(--display);font-weight:700;color:var(--ink);white-space:nowrap}.sh-logo.light{color:#fff}.sh-logo-mark{border-radius:24%;flex-shrink:0;object-fit:contain}.sh-icon-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;background:none;border-radius:12px}.sh-cta{display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;border:0;border-radius:16px;background:var(--violet);color:#fff;font-size:17px;font-weight:700;flex-shrink:0}.sh-cta.gold{background:var(--gold);color:var(--ink)}.sh-cta.secondary{background:var(--violet-soft);color:var(--violet)}.sh-text-link{align-self:center;min-height:44px;border:0;background:none;font-size:15px;font-weight:600;color:var(--violet);text-decoration:underline}.sh-text-link.light{color:#fff}.sh-link{border:0;background:none;padding:0 0 0 6px;font-size:13px;font-weight:600;color:var(--violet);text-decoration:underline}.sh-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--night-2);font-size:13px;font-weight:600;color:#d5daec}.sh-pill.gold{color:#ffe2b0}.sh-h2{margin:16px 0 8px;font-size:15px;font-weight:700}.sh-sub{margin:6px 0 0;font-size:14px;line-height:1.4;color:var(--muted)}.sh-kicker{margin:16px 0 0;font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--violet)}.sh-welcome{min-height:100%;display:flex;flex-direction:column;align-items:center;padding:calc(20px + var(--safe-top)) 20px calc(24px + var(--safe-bottom));background:var(--night);color:#fff;text-align:center}.sh-reveal{position:relative;width:min(330px,84vw);aspect-ratio:1;margin-top:18px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 6px var(--night-2),0 18px 50px #00000073;flex-shrink:0}.sh-reveal img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.sh-reveal-edge{position:absolute;top:0;width:3px;height:100%;margin-left:-1px;background:var(--gold)}.sh-reveal-label{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:12px;font-size:13px;color:#c9cfe6}.sh-reveal-label input{width:240px;accent-color:var(--gold)}.sh-pill-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px}.sh-welcome h1{margin:22px 0 0;font-family:var(--display);font-size:34px;line-height:1.12}.sh-welcome p{margin:10px 8px 0;font-size:16px;line-height:1.45;color:#cbd1e6}.sh-welcome .sh-cta{margin-top:20px}.sh-hero-card{position:relative;width:min(262px,68vw);aspect-ratio:1;margin-top:14px;border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 0 0 5px var(--night-2),0 18px 50px #00000073;flex-shrink:0}.sh-hero-card img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.sh-hero-edge{position:absolute;top:0;width:3px;height:100%;margin-left:-1px;background:var(--gold)}.sh-hero-badge{position:absolute;left:10px;top:10px;padding:5px 10px;border-radius:999px;background:var(--gold);color:var(--ink);font-size:12px;font-weight:700}.sh-hero-caption{position:absolute;left:10px;bottom:10px;padding:5px 10px;border-radius:999px;background:#fff;color:var(--ink);font-size:12px;font-weight:700}.sh-marquee{width:calc(100% + 40px);margin:16px -20px 0;overflow:hidden;flex-shrink:0}.sh-marquee-track{display:flex;gap:10px;width:max-content;animation:sh-scroll 45s linear infinite}.sh-marquee-track.still{animation:none}.sh-marquee-track img{width:72px;height:72px;border-radius:16px;object-fit:cover;background:#fff}@keyframes sh-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.sh-audience{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:16px}.sh-audience-label{font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--gold)}.sh-welcome h1{margin-top:18px}@media(prefers-reduced-motion:reduce){.sh-marquee-track{animation:none}}.sh-ob{min-height:100%;display:flex;flex-direction:column;padding:calc(12px + var(--safe-top)) 16px calc(24px + var(--safe-bottom));max-width:520px;margin:0 auto}.sh-ob h1{margin:4px 0 0;font-family:var(--display);font-size:27px;line-height:1.15}.sh-ob h1.small{margin-top:16px;font-size:25px}.sh-ob-header{display:flex;align-items:center;justify-content:space-between;height:44px}.sh-skip{min-width:44px;height:44px;border:0;background:none;font-size:15px;font-weight:600;color:var(--muted)}.sh-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:6px 4px 0}.sh-steps span{height:6px;border-radius:3px;background:var(--line);transition:background .3s}.sh-steps span.on{background:var(--violet)}.sh-showcase{position:relative;margin-top:14px;border-radius:22px;overflow:hidden;background:#f7f6f1;flex-shrink:0}.sh-showcase.dark{background:#151a2e}.sh-showcase img{position:absolute;left:0;width:100%;aspect-ratio:1}.sh-caption{position:absolute;left:12px;bottom:12px;padding:6px 10px;border-radius:999px;background:#fff;font-size:12px;font-weight:700}.sh-badge{position:absolute;right:12px;top:12px;padding:6px 10px;border-radius:999px;background:var(--ink);color:#fff;font-size:12px;font-weight:700}.sh-choice-list{display:flex;flex-direction:column;gap:7px;margin-top:12px}.sh-choice{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:8px 14px;border-radius:14px;border:2px solid var(--line);background:#fff;font-size:15px;font-weight:600;text-align:left}.sh-choice.on{border-color:var(--violet);color:var(--ink)}.sh-choice.on svg{color:var(--violet);flex-shrink:0}.sh-choice small{font-size:13px;font-weight:500;color:var(--muted)}.sh-choice.level{justify-content:flex-start;gap:12px;min-height:56px}.sh-radio{width:20px;height:20px;border-radius:50%;border:2px solid var(--line);flex-shrink:0;display:grid;place-items:center}.sh-choice.on .sh-radio{border-color:var(--violet)}.sh-choice.on .sh-radio:after{content:"";width:10px;height:10px;border-radius:50%;background:var(--violet)}.sh-level-text{flex-grow:1;display:flex;flex-direction:column;gap:1px}.sh-level-text strong{font-size:16px}.sh-areas{padding:4px 8px;border-radius:999px;background:var(--paper);font-size:12px;font-weight:700;color:var(--soft)}.sh-consent{display:flex;align-items:center;gap:12px;margin-top:10px;padding:10px 12px;border-radius:14px;background:var(--violet-soft)}.sh-consent>span{flex-grow:1;display:flex;flex-direction:column;gap:2px;font-size:14px}.sh-consent small{font-size:12px;color:var(--soft)}.sh-consent input{width:22px;height:22px;accent-color:var(--violet)}.sh-pill-choices{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.sh-pill-choice{min-height:48px;padding:8px 16px;border-radius:999px;border:2px solid var(--line);background:#fff;font-size:15px;font-weight:600}.sh-pill-choice.on{background:var(--violet);border-color:var(--violet);color:#fff}.sh-sound-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.sh-sound-grid button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0;border-radius:14px;border:2px solid var(--line);background:#fff;font-size:11px;font-weight:700}.sh-sound-grid button.on{background:var(--violet);border-color:var(--violet);color:#fff}.sh-comfort-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sh-comfort-grid button{display:flex;align-items:center;gap:8px;min-height:44px;padding:6px 12px;border-radius:12px;border:2px solid #CFCCC2;background:#fff;font-size:14px;font-weight:600;text-align:left}.sh-comfort-grid button.on{border-color:var(--violet)}.sh-box{display:grid;place-items:center;width:18px;height:18px;border-radius:5px;border:2px solid #CFCCC2;color:#fff;flex-shrink:0}.sh-comfort-grid button.on .sh-box{background:var(--violet);border-color:var(--violet)}.sh-theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.sh-theme{position:relative;display:flex;flex-direction:column;padding:0;border-radius:16px;overflow:hidden;border:3px solid #fff;background:#fff}.sh-theme.on{border-color:var(--violet)}.sh-theme img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.sh-theme-upload{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;aspect-ratio:1;background:var(--violet-soft);color:var(--violet)}.sh-theme-upload small{font-size:11px;font-weight:700}.sh-theme-label{padding:7px 4px 8px;font-size:13px;font-weight:700}.sh-theme-check{position:absolute;right:6px;top:6px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--violet);color:#fff}.sh-count{margin:12px 0 0;text-align:center;font-size:14px;font-weight:600;color:var(--soft)}.sh-detail-preview{display:block;width:min(300px,76vw);aspect-ratio:1;margin:14px auto 0;border-radius:50%;box-shadow:0 10px 30px #23221f2e}.sh-coloring{min-height:100%;display:flex;flex-direction:column;padding:calc(8px + var(--safe-top)) 16px calc(16px + var(--safe-bottom));background:var(--paper);max-width:560px;margin:0 auto}.sh-topbar{display:flex;align-items:center;justify-content:space-between;height:48px}.sh-topbar-title{display:flex;flex-direction:column;align-items:center}.sh-topbar-title strong{font-family:var(--display);font-size:17px}.sh-topbar-title span{font-size:12px;color:var(--muted)}.sh-progress-row{display:flex;align-items:center;gap:10px;margin-top:4px;font-size:13px;font-weight:700}.sh-progress{flex-grow:1;height:8px;border-radius:4px;background:var(--line);overflow:hidden}.sh-progress div{height:100%;border-radius:4px;background:var(--green);transition:width .3s}.sh-canvas-wrap{position:relative;margin-top:10px;border-radius:22px;overflow:hidden;background:#fff;flex-shrink:0}.sh-canvas{position:relative;width:100%;aspect-ratio:1;overflow:hidden;touch-action:none}.sh-stage{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:0 0;background:#fff}.sh-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;image-rendering:auto}.sh-canvas-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#ffffffd9;font-weight:600;color:var(--soft)}.sh-hint{position:absolute;left:12px;right:12px;bottom:12px;display:flex;align-items:center;gap:8px;padding:10px 12px;border:0;border-radius:14px;background:var(--ink);color:#fff;font-size:13px;font-weight:600;text-align:left}.sh-hint svg{color:var(--gold);flex-shrink:0}.sh-tool-row{display:flex;align-items:stretch;gap:8px;margin-top:10px}.sh-tool-row .sh-scrollrow-wrap{flex:1;min-width:0}.sh-tool-row .sh-pencil-case{margin-top:0}.sh-history{display:flex;gap:6px;flex-shrink:0;padding:2px 0 4px}.sh-history-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:60px;min-height:56px;padding:6px 0;border:2px solid var(--ink);border-radius:14px;background:#fff;color:var(--ink);font-size:11px;font-weight:800}.sh-history-btn:disabled{border-color:var(--line);color:#9c998f}.sh-sampler-btn{display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0;padding:4px 6px 3px;min-width:56px;border:2px solid var(--line);border-radius:14px;background:#fff;color:var(--ink)}.sh-sampler-btn span{font-size:10px;font-weight:800}.sh-sampler-btn.on{background:var(--violet);border-color:var(--violet);color:#fff}.sh-canvas-wrap.sampling{box-shadow:0 0 0 3px var(--violet)}.sh-canvas-wrap.sampling .sh-canvas{cursor:crosshair}.sh-hint u{margin-left:auto;color:var(--gold);text-underline-offset:3px}.sh-chip-row{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.sh-chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 12px;border-radius:999px;border:2px solid var(--line);background:#fff;font-size:13px;font-weight:700}.sh-chip.on{border-color:var(--green)}.sh-dot{width:8px;height:8px;border-radius:50%;background:#aeaaa0}.sh-chip.on .sh-dot{background:var(--green)}.sh-tools{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:10px}.sh-tool{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 0 6px;border-radius:14px;border:2px solid #fff;background:#fff;font-size:11px;font-weight:700}.sh-tool.on{background:var(--violet);border-color:var(--violet);color:#fff}.sh-sizes{display:flex;gap:6px;margin-top:8px}.sh-sizes button{flex:1;min-height:34px;border-radius:10px;border:2px solid var(--line);background:#fff;font-size:12px;font-weight:700}.sh-sizes button.on{border-color:var(--violet);color:var(--violet)}.sh-families{display:flex;gap:6px;margin-top:10px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.sh-families button{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;min-height:34px;padding:4px 10px;border-radius:999px;border:2px solid transparent;background:#fff;font-size:12px;font-weight:700}.sh-families button.on{border-color:var(--ink)}.sh-fam-dot{width:12px;height:12px;border-radius:50%}.sh-swatches{display:flex;gap:6px;margin-top:8px;overflow-x:auto;padding:3px 3px 4px;scrollbar-width:none}.sh-swatch{width:36px;height:36px;flex-shrink:0;padding:0;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px #23221f1f}.sh-swatch.on{box-shadow:0 0 0 2px var(--ink)}.sh-color-name{display:flex;align-items:center;gap:6px;margin:8px 0 0;font-size:13px;color:var(--soft)}.sh-current{width:16px;height:16px;border-radius:50%}.sh-coloring .sh-cta{margin-top:12px}.sh-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:flex-end;background:#151b3473}.sh-sheet{width:100%;max-width:560px;margin:0 auto;padding:20px 16px calc(20px + var(--safe-bottom));border-radius:24px 24px 0 0;background:var(--cream)}.sh-sheet h2{margin:0 0 12px;font-family:var(--display);font-size:20px}.sh-harmony-row{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;font-size:13px;font-weight:700;color:var(--soft)}.sh-harmony-row div{display:flex;gap:8px}.sh-signin{position:relative;min-height:100%;display:flex;flex-direction:column;background:var(--night)}.sh-signin-top{display:flex;flex-direction:column;align-items:center;padding:calc(28px + var(--safe-top)) 20px 32px;color:#fff;text-align:center}.sh-signin-top h1{margin:14px 0 0;font-family:var(--display);font-size:34px}.sh-finished{width:min(214px,56vw);aspect-ratio:1;margin-top:16px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 6px var(--night-2),0 0 0 12px #2a3563;background:#fff}.sh-signin-card{flex-grow:1;display:flex;flex-direction:column;padding:26px 20px calc(22px + var(--safe-bottom));border-radius:30px 30px 0 0;background:var(--cream)}.sh-signin-card h2{margin:0;font-family:var(--display);font-size:25px;text-align:center}.sh-signin-card>p{margin:6px 12px 0;font-size:15px;line-height:1.4;color:var(--muted);text-align:center}.sh-google,.sh-apple{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px;min-height:54px;border-radius:14px;font-size:16px;font-weight:500}.sh-google{margin-top:20px;border:1px solid #DADCE0;background:#fff;color:#1f1f1f;font-family:"Roboto",var(--body)}.sh-apple{border:0;background:#000;color:#fff}.sh-error{margin:10px 4px 0;padding:10px 12px;border-radius:12px;background:#fff0e6;color:#8a3b12;font-size:14px}.sh-error-top{margin:14px 0 2px;text-align:center}.sh-note{margin:10px 4px 0;padding:10px 12px;border-radius:12px;background:#e9f3ec;color:#1f4d32;font-size:14px;line-height:1.45}.sh-or{display:flex;align-items:center;gap:12px;margin:18px 2px 4px;color:var(--muted);font-size:13px}.sh-or:before,.sh-or:after{content:"";flex:1;height:1px;background:var(--hair)}.sh-email-form{display:flex;flex-direction:column;gap:12px;margin-top:6px}.sh-field{display:flex;flex-direction:column;gap:5px}.sh-field>span:first-child{font-size:13px;font-weight:600;color:var(--muted)}.sh-field input{width:100%;min-height:50px;padding:0 14px;border:1px solid var(--hair);border-radius:14px;background:#fff;font:inherit;font-size:16px;color:inherit}.sh-field input:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.sh-field input:disabled{opacity:.6}.sh-field-with-button{position:relative;display:block}.sh-field-with-button input{padding-right:68px}.sh-peek{position:absolute;top:50%;right:6px;transform:translateY(-50%);min-height:38px;padding:0 10px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:14px;font-weight:600}.sh-switch-mode{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px;margin:12px 0 0}.sh-switch-mode .sh-text-link{margin:0}.sh-small-print{margin:12px 0 0;font-size:12px;line-height:1.45;color:var(--small-print);text-align:center}.sh-library{min-height:100%;padding:calc(12px + var(--safe-top)) 16px calc(24px + var(--safe-bottom));max-width:720px;margin:0 auto}.sh-library h1{margin:16px 0 0;font-family:var(--display);font-size:30px}.sh-lib-header{display:flex;align-items:center;justify-content:space-between;min-height:44px}.sh-signed-in{font-size:13px;color:var(--muted)}.sh-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media(min-width:600px){.sh-grid{grid-template-columns:repeat(3,1fr)}}.sh-row-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:42%;gap:12px;overflow-x:auto;scrollbar-width:none}.sh-tile{position:relative;display:flex;flex-direction:column;padding:0;border:0;border-radius:18px;overflow:hidden;background:#fff;text-align:left;box-shadow:0 2px 10px #23221f0f}.sh-tile img,.sh-upload-art{width:100%;aspect-ratio:1;object-fit:cover;display:block;background:#fff}.sh-upload-art{display:grid;place-items:center;background:var(--violet-soft);color:var(--violet)}.sh-tile-meta{display:flex;flex-direction:column;gap:2px;padding:10px 12px 12px}.sh-tile-meta strong{font-size:15px}.sh-tile-meta small{font-size:12px;color:var(--muted)}.sh-tile-pct{position:absolute;right:8px;top:8px;padding:4px 8px;border-radius:999px;background:var(--green);color:#fff;font-size:12px;font-weight:700}.sh-pencil-case{display:flex;gap:6px;margin-top:10px;overflow-x:auto;padding:2px 2px 4px;scrollbar-width:none;scroll-snap-type:x proximity}.sh-pencil-case::-webkit-scrollbar,.sh-swatches::-webkit-scrollbar{display:none}.sh-pencil-case .sh-tool{flex:0 0 68px;scroll-snap-align:start;min-height:56px}.sh-sliders{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}.sh-sliders label{display:flex;flex-direction:column;gap:2px;font-size:12px;font-weight:700;color:var(--muted)}.sh-sliders input[type=range]{width:100%;accent-color:var(--violet);min-height:28px}.sh-color-row{display:flex;align-items:center;gap:8px;margin-top:8px}.sh-color-row .sh-wheel-btn,.sh-color-row .sh-sampler-btn{flex:1;min-width:0;flex-direction:row;justify-content:center;gap:6px;min-height:40px}.sh-color-row .sh-scrollrow-wrap{flex:1;min-width:0}.sh-color-row .sh-swatches{margin-top:0}.sh-wheel-btn{display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0;padding:4px 6px 3px;border:2px solid var(--violet);border-radius:14px;background:#fff}.sh-wheel{position:relative;display:block;width:32px;height:32px;border-radius:50%;background:conic-gradient(#e64980,#f59f00,#ffd43b,#12b886,#1c7ed6,#7950f2,#e64980)}.sh-wheel span{position:absolute;right:-4px;bottom:-4px;display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--violet);color:#fff;font-size:13px;font-weight:800;line-height:1;border:2px solid #fff}.sh-wheel-label{font-size:10px;font-weight:800;color:var(--violet);white-space:nowrap}.sh-scrollrow-wrap{position:relative;min-width:0}.sh-scrollrow{overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}.sh-scrollrow::-webkit-scrollbar{display:none}.sh-scroll-arrow{position:absolute;top:50%;z-index:2;display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin-top:-16px;padding:0 0 3px;border:0;border-radius:50%;background:var(--ink);color:#fff;font-size:24px;font-weight:700;line-height:1;box-shadow:0 2px 8px #23221f4d}.sh-scroll-arrow.left{left:-6px}.sh-scroll-arrow.right{right:-6px}.sh-filter-row~.sh-scroll-arrow{margin-top:-21px}.sh-divider{flex:0 0 2px;align-self:stretch;margin:4px 2px;border-radius:1px;background:var(--line)}.sh-picker{display:flex;flex-direction:column;gap:12px}.sh-picker-square{position:relative;height:200px;border-radius:16px;touch-action:none;cursor:crosshair;overflow:hidden}.sh-picker-white,.sh-picker-black{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.sh-picker-white{background:linear-gradient(to right,#fff,#fff0)}.sh-picker-black{background:linear-gradient(to top,#000,#0000)}.sh-picker-knob{position:absolute;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px #00000059,0 2px 6px #0000004d;pointer-events:none}.sh-hue{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:22px;border-radius:11px;margin:0;background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.sh-hue::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;border-radius:50%;background:#fff;border:3px solid var(--ink)}.sh-hue::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:#fff;border:3px solid var(--ink)}.sh-picker-row{display:flex;align-items:center;gap:12px}.sh-picker-preview{width:52px;height:52px;flex-shrink:0;border-radius:14px;box-shadow:inset 0 0 0 1px #0000001a}.sh-hex{display:flex;flex-direction:column;gap:2px;flex-grow:1;font-size:12px;font-weight:700;color:var(--muted)}.sh-hex input{height:44px;padding:0 12px;border-radius:12px;border:2px solid var(--line);font:600 16px/1 ui-monospace,Menlo,Consolas,monospace;color:var(--ink);background:#fff}.sh-share-preview{display:flex;align-items:center;justify-content:center;height:300px;border-radius:16px;background:#e9e8e2;overflow:hidden;color:var(--muted);font-weight:600}.sh-share-preview img{max-width:100%;max-height:100%;object-fit:contain}.sh-share-formats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.sh-share-formats button{display:flex;flex-direction:column;gap:2px;min-height:60px;padding:8px;border-radius:14px;border:2px solid var(--line);background:#fff;text-align:left}.sh-share-formats button.on{border-color:var(--violet);background:var(--violet-soft)}.sh-share-formats strong{font-size:13px}.sh-share-formats small{font-size:11px;color:var(--muted)}.sh-home{min-height:100%}.sh-home .sh-library{padding-bottom:calc(96px + var(--safe-bottom))}.sh-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:5;display:grid;grid-template-columns:1fr 1fr;padding:6px 12px calc(6px + var(--safe-bottom));background:#f3f2edf5;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.sh-tabbar button{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:52px;border:0;background:none;font-size:12px;font-weight:700;color:var(--muted);border-radius:14px}.sh-tabbar button.on{color:var(--violet);background:var(--violet-soft)}.sh-filter-row{display:flex;gap:8px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none}.sh-filter-row::-webkit-scrollbar{display:none}.sh-filter-row button{flex-shrink:0;min-height:40px;padding:6px 14px;border-radius:999px;border:2px solid var(--line);background:#fff;font-size:14px;font-weight:700;color:var(--ink)}.sh-filter-row.small button{min-height:34px;padding:4px 12px;font-size:13px}.sh-filter-row button.on{background:var(--ink);border-color:var(--ink);color:#fff}.sh-tile.wide{flex-direction:row;align-items:center}.sh-tile.wide img{width:42%}.sh-tile.wide .sh-tile-meta strong{font-family:var(--display);font-size:20px}.sh-new-dot{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:var(--vermilion);vertical-align:middle}.sh-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:40px 16px;margin-top:12px;border-radius:20px;background:#fff;color:var(--muted);text-align:center}.sh-empty strong{color:var(--ink);font-size:17px}.sh-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8;display:flex;flex-direction:column;max-width:720px;margin:0 auto;padding:calc(8px + var(--safe-top)) 16px calc(16px + var(--safe-bottom));background:var(--cream);overflow-y:auto}.sh-viewer-top{display:flex;align-items:center;justify-content:space-between;min-height:48px}.sh-viewer-art{display:flex;align-items:center;justify-content:center;margin-top:8px;border-radius:24px;background:#fff;box-shadow:0 6px 24px #23221f1a;overflow:hidden}.sh-viewer-art img{width:100%;aspect-ratio:1;object-fit:contain}.sh-viewer-details{margin:10px 0 0;text-align:center;font-size:13px;color:var(--muted)}.sh-viewer-actions{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:16px}.sh-viewer-actions .sh-cta{gap:8px}.sh-viewer-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sh-text-link.danger{color:#c92a2a}.sh-coloring .sh-chip-row{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.sh-coloring .sh-chip{flex-shrink:0}.sh-sheet .sh-text-link{display:block;margin:4px auto 0}.sh-families .sh-mine-tab{gap:4px;color:var(--violet);border-color:var(--violet-soft);background:var(--violet-soft)}.sh-families .sh-mine-tab.on{border-color:var(--violet)}.sh-mine-empty{align-self:center;flex-shrink:0;max-width:250px;font-size:12px;line-height:1.3;color:var(--muted);white-space:normal}.sh-save-color{flex-shrink:0;min-height:30px;padding:2px 10px;border-radius:999px;border:2px solid var(--line);background:#fff;font-size:12px;font-weight:800;color:var(--ink)}.sh-save-color.on{border-color:var(--gold);background:#fcf1d6;color:#8a5300}.sh-splash{display:flex;align-items:center;justify-content:center;min-height:100%;background:var(--cream)}.sh-tabbar.three{grid-template-columns:repeat(3,1fr)}.sh-avatar-btn{display:flex;align-items:center;justify-content:center;gap:6px;min-width:44px;height:44px;padding:0 10px;border:0;border-radius:999px;background:none;font-size:14px;font-weight:700;color:var(--violet)}.sh-avatar-btn img,.sh-avatar-btn span:only-child{width:36px;height:36px;border-radius:50%}.sh-avatar-btn span:only-child{display:flex;align-items:center;justify-content:center;background:var(--violet);color:#fff;font-family:var(--display);font-size:17px}.sh-greeting{margin-top:12px!important;font-size:28px!important}.sh-stats{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding:12px 14px;border-radius:18px;background:#fff;box-shadow:0 2px 10px #23221f0f}.sh-streak{display:flex;align-items:center;gap:10px;min-width:0}.sh-streak strong{display:block;font-size:16px}.sh-streak small{display:block;font-size:12px;color:var(--muted);line-height:1.3}.sh-flame{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border-radius:14px;background:var(--paper);color:#aeaaa0}.sh-flame.lit{background:#fff1e0;color:#e8590c}.sh-title-chip{display:flex;align-items:center;gap:5px;flex-shrink:0;min-height:40px;padding:6px 12px;border:0;border-radius:999px;background:var(--violet-soft);color:var(--violet);font-size:13px;font-weight:800}.sh-new-badge{display:flex;align-items:center;gap:12px;width:100%;margin-top:12px;padding:12px 14px;border:2px solid var(--gold);border-radius:18px;background:#fcf4df;text-align:left;color:#8a5300}.sh-new-badge strong{display:block;font-size:15px;color:var(--ink)}.sh-new-badge small{display:block;font-size:12px}.sh-continue{display:flex;align-items:center;gap:12px;width:100%;margin-top:14px;padding:10px;border:0;border-radius:20px;background:var(--ink);color:#fff;text-align:left}.sh-continue img{width:84px;height:84px;flex-shrink:0;border-radius:14px;background:#fff;object-fit:cover}.sh-continue-text{display:flex;flex-direction:column;gap:4px;flex-grow:1;min-width:0}.sh-continue-text strong{font-family:var(--display);font-size:19px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sh-continue-text small{font-size:12px;color:#c3c9df}.sh-progress.small{flex-grow:0;height:6px;background:#ffffff2e}.sh-progress.small span{display:block;height:100%;border-radius:3px;background:var(--gold)}.sh-continue-go{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border-radius:50%;background:var(--gold);color:var(--ink)}.sh-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.sh-actions button{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:96px;padding:12px;border:0;border-radius:18px;background:#fff;text-align:left;box-shadow:0 2px 10px #23221f0f;color:var(--violet)}.sh-actions strong{margin-top:4px;font-size:15px;color:var(--ink)}.sh-actions small{font-size:12px;color:var(--muted)}.sh-challenge{display:flex;flex-direction:column;gap:10px;margin-top:16px;padding:14px;border-radius:18px;background:var(--night);color:#fff}.sh-challenge strong{display:block;font-family:var(--display);font-size:18px}.sh-challenge small{display:block;margin-top:2px;font-size:13px;color:#cbd1e6}.sh-challenge .sh-cta{min-height:46px;background:var(--gold);color:var(--ink)}.sh-dots{display:flex;gap:6px}.sh-dots span{flex:1;height:8px;border-radius:4px;background:#ffffff2e}.sh-dots span.on{background:var(--gold)}.sh-tile-new{position:absolute;left:8px;top:8px;padding:4px 8px;border-radius:999px;background:var(--vermilion);color:#fff;font-size:11px;font-weight:800;letter-spacing:.3px}.sh-badges-sheet,.sh-sheet{max-height:88vh;overflow-y:auto}.sh-badge-list{list-style:none;margin:12px 0;padding:0;display:flex;flex-direction:column;gap:8px}.sh-badge-list li{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:#fff;opacity:.55}.sh-badge-list li.on{opacity:1}.sh-badge-list strong{display:block;font-size:15px}.sh-badge-list small{display:block;font-size:12px;color:var(--muted)}.sh-badge-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border-radius:12px;background:var(--paper);color:#9c998f}.sh-badge-list li.on .sh-badge-icon{background:#fff1d6;color:#b7791f}.sh-switch{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px;font-weight:600}.sh-switch input{width:20px;height:20px;accent-color:var(--violet)}.sh-small-note{margin:0 0 12px;font-size:12px;color:var(--muted)}.sh-account-who{margin:0 0 6px}.sh-account-who strong{display:block;font-size:17px}.sh-account-who small{color:var(--muted)}.sh-confirm{margin-top:10px;padding:12px;border-radius:14px;background:#fff0f0}.sh-confirm p{margin:0 0 6px;font-size:14px}.sh-cta.danger{background:#c92a2a;color:#fff}.sh-sheet h3.sh-h2{margin-top:20px}body{background-color:var(--cream);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .14 0 0 0 0 .13 0 0 0 0 .12 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");font-size:15px;line-height:1.4}.sh-coloring{background:transparent}.sh-library h1,.sh-ob h1,.sh-welcome h1,.sh-signin-top h1,.sh-signin-card h2,.sh-sheet h2{font-weight:600;letter-spacing:-.012em}.sh-library h1{font-size:32px}.sh-greeting{font-style:italic;font-weight:500!important;font-size:32px!important;letter-spacing:-.015em}.sh-logo{font-weight:600;letter-spacing:-.01em}.sh-h2,.sh-kicker{font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}.sh-h2{margin:22px 0 10px}.sh-new-dot{width:7px;height:7px;border-radius:2px;background:var(--vermilion)}.sh-tile-meta small,.sh-topbar-title span,.sh-progress-row span,.sh-areas,.sh-viewer-details,.sh-count,.sh-caption,.sh-badge,.sh-hero-badge,.sh-hero-caption,.sh-tile-pct,.sh-tile-new{font-family:var(--mono);font-weight:500;letter-spacing:.02em}.sh-tile-meta small,.sh-topbar-title span{font-size:11px}.sh-audience-label{font-family:var(--mono);font-weight:500;letter-spacing:.1em;font-size:11px}.sh-cta{border-radius:10px;font-size:16px;letter-spacing:.01em}.sh-cta.secondary{background:transparent;box-shadow:inset 0 0 0 1.5px var(--violet)}.sh-text-link,.sh-link{text-underline-offset:3px;text-decoration-thickness:1px}.sh-tile,.sh-stats,.sh-actions button,.sh-empty,.sh-badge-list li,.sh-share-formats button,.sh-consent{border-radius:10px;border:1px solid var(--hair);box-shadow:0 1px #23221f0d}.sh-tile-meta{border-top:1px solid var(--hair)}.sh-tile.wide .sh-tile-meta{border-top:0;border-left:1px solid var(--hair);align-self:stretch;justify-content:center}.sh-tile.wide .sh-tile-meta strong{font-weight:600;letter-spacing:-.01em}.sh-tile-pct,.sh-tile-new,.sh-caption,.sh-badge,.sh-hero-badge,.sh-hero-caption{border-radius:4px;font-size:11px}.sh-tile-new{text-transform:uppercase;letter-spacing:.08em;font-size:10px}.sh-actions button{color:var(--violet)}.sh-actions button:active,.sh-tile:active{transform:translateY(1px)}.sh-empty{background:#fff}.sh-canvas-wrap{border-radius:4px;box-shadow:0 1px 2px #23221f14,0 14px 28px -16px #23221f73}.sh-canvas-wrap.sampling{box-shadow:0 0 0 3px var(--violet),0 14px 28px -16px #23221f73}.sh-viewer-art{border-radius:4px;box-shadow:0 1px 2px #23221f14,0 18px 36px -18px #23221f80}.sh-continue img,.sh-marquee-track img,.sh-theme img{border-radius:4px}.sh-hint{border-radius:8px}.sh-choice,.sh-comfort-grid button,.sh-sound-grid button{border-radius:10px;border-width:1px;border-color:var(--hair)}.sh-choice.on,.sh-comfort-grid button.on{border-color:var(--violet);box-shadow:inset 0 0 0 1px var(--violet)}.sh-pill-choice,.sh-chip,.sh-filter-row button,.sh-families button,.sh-save-color,.sh-title-chip{border-radius:8px;border-width:1px}.sh-chip,.sh-filter-row button,.sh-save-color{border-color:var(--hair)}.sh-chip.on{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.sh-families button{border:1px solid transparent;background:transparent}.sh-families button.on{border-color:var(--ink);background:#fff}.sh-families .sh-mine-tab{background:transparent;border-color:transparent}.sh-families .sh-mine-tab.on{border-color:var(--violet);background:#fff}.sh-title-chip{background:transparent;box-shadow:inset 0 0 0 1px var(--hair)}.sh-theme{border-radius:10px;border-width:2px;border-color:transparent;background:#fff;box-shadow:0 0 0 1px var(--hair)}.sh-theme.on{border-color:var(--violet);box-shadow:none}.sh-theme-check{border-radius:4px}.sh-radio{border-width:1.5px}.sh-swatch{width:36px;height:36px;border:0;border-radius:8px;box-shadow:inset 0 0 0 1px #0000001a,inset 0 -5px #0000001a,inset 0 5px 7px -3px #ffffff59;transition:transform .15s ease}.sh-swatch.on{transform:translateY(-3px);box-shadow:inset 0 0 0 1px #0000001a,inset 0 -5px #0000001a,0 0 0 2px var(--cream),0 0 0 3.5px var(--ink),0 6px 10px -4px #23221f66}.sh-swatches{padding:6px 4px 4px}.sh-current,.sh-fam-dot{border-radius:3px;box-shadow:inset 0 0 0 1px #0000001f}.sh-color-name strong{font-family:var(--display);font-size:15px;font-weight:600}.sh-pencil-case{background:#e4e2da;border-radius:10px;padding:5px;gap:5px;box-shadow:inset 0 1px 2px #23221f1f}.sh-tool{border-radius:8px;border:0;background:#fafaf7;color:var(--soft)}.sh-tool.on{background:#fff;color:var(--ink);border:0;box-shadow:0 3px 8px -2px #23221f4d,inset 0 -4px 0 var(--current, var(--violet));transform:translateY(-2px)}.sh-history-btn{border-radius:8px;border-width:1.5px}.sh-wheel-btn,.sh-sampler-btn{border-radius:10px;border-width:1px}.sh-wheel-btn{border-color:var(--violet)}.sh-sampler-btn{border-color:var(--hair)}.sh-progress{height:6px;border-radius:3px;background:#dedcd4}.sh-progress div{border-radius:3px}.sh-stats{background:#fff}.sh-flame{border-radius:8px}.sh-flame.lit{background:#fcefcf;color:#c2410c}.sh-continue{border-radius:12px;background:var(--night)}.sh-continue-text strong{font-weight:600}.sh-challenge{border-radius:12px}.sh-challenge strong{font-weight:600}.sh-dots span{border-radius:2px}.sh-new-badge{border-radius:10px;border-width:1px}.sh-tabbar{border-top:1px solid var(--hair)}.sh-tabbar button{gap:3px;color:var(--muted);border-radius:0}.sh-tabbar button:before{content:"";width:20px;height:3px;border-radius:2px;background:transparent;margin-bottom:1px}.sh-tabbar button.on{background:none;color:var(--ink)}.sh-tabbar button svg{color:var(--tab-tint, currentColor);opacity:.55;transition:opacity .15s ease}.sh-tabbar button.on svg{opacity:1}.sh-tabbar button.on:before{background:var(--tab-tint, var(--violet))}.sh-sheet{border-radius:16px 16px 0 0;background-color:var(--cream)}.sh-signin-card{border-radius:20px 20px 0 0}.sh-google,.sh-apple{border-radius:10px}.sh-hero-card{border-radius:6px}.sh-showcase{border-radius:10px}.sh-picker-square,.sh-picker-preview{border-radius:8px}.sh-hex input{border-radius:8px;border-width:1px;font-family:var(--mono)}.sh-share-formats button.on{box-shadow:inset 0 0 0 1px var(--violet)}.sh-steps span{height:4px;border-radius:2px}.sh-tile.wide{width:100%;min-height:128px}.sh-challenge .sh-cta,.sh-challenge .sh-cta.secondary{background:var(--gold);color:var(--ink);box-shadow:none}.sh-scroll-arrow{width:28px;height:40px;margin-top:-20px;border-radius:8px;background:#fffffff5;color:var(--ink);font-size:20px;box-shadow:0 0 0 1px var(--hair),0 4px 10px -4px #23221f59}.sh-scroll-arrow.left{left:-4px}.sh-scroll-arrow.right{right:-4px}.sh-filter-row~.sh-scroll-arrow{margin-top:-25px}.sh-tile-meta strong{font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:-.01em}.sh-tile-meta small{font-size:10.5px;letter-spacing:0}.sh-filter-row button{font-weight:700;font-size:14px}.sh-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.sh-head-right{display:flex;align-items:center;gap:4px}.sh-streak-chip{display:inline-flex;align-items:center;gap:4px;height:36px;padding:0 10px;border:1px solid var(--hair);border-radius:8px;background:#fff;font-family:var(--mono);font-size:14px;font-weight:500;color:var(--muted)}.sh-streak-chip.lit{color:#c2410c}.sh-home .sh-lib-header{margin-bottom:6px}.sh-home .sh-continue{margin-top:4px}.sh-continue-text{gap:8px}.sh-new-badge{margin:0 0 10px;padding:10px 12px}.sh-new-badge strong{font-size:14px}.sh-tile.hero{width:100%;margin-top:12px}.sh-tile.hero img{aspect-ratio:1}.sh-tile.hero .sh-tile-meta{flex-direction:row;align-items:baseline;justify-content:space-between;padding:12px 14px}.sh-tile.hero .sh-tile-meta strong{font-size:22px}.sh-tile-tag{position:absolute;left:10px;top:10px;padding:4px 8px;border-radius:4px;background:var(--ink);color:#fff;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}.sh-quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:12px}.sh-quick button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border:1px solid var(--hair);border-radius:10px;background:#fff;font-size:15px;font-weight:700;color:var(--ink)}.sh-quick button svg{color:var(--violet)}.sh-challenge{margin-top:12px}.sh-home .sh-filter-row{padding-top:4px}.sh-coloring{padding-left:10px;padding-right:10px}.sh-topbar{padding:0 2px}.sh-topbar-title{min-width:0}.sh-topbar-title strong{max-width:52vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sh-topbar-actions{display:flex;align-items:center;gap:2px}.sh-sound-btn{color:var(--muted)}.sh-sound-btn.on{color:var(--violet)}.sh-done-btn{min-height:38px;padding:0 14px;border:0;border-radius:8px;background:var(--violet);color:#fff;font-size:15px;font-weight:700}.sh-progress.hairline{height:3px;margin:2px 2px 0;border-radius:2px}.sh-canvas-wrap{margin-top:8px}.sh-toast{position:absolute;left:50%;top:12px;transform:translate(-50%);z-index:3;max-width:88%;padding:8px 14px;border-radius:8px;background:#23221fe0;color:#fff;font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:sh-toast-in .35s ease;pointer-events:none}@keyframes sh-toast-in{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}.sh-drawer{margin-top:10px;border-radius:12px;background:#fff;border:1px solid var(--hair);box-shadow:0 -2px 14px -8px #23221f40}.sh-dock{display:flex;align-items:center;gap:6px;padding:6px}.sh-dock .sh-scrollrow-wrap{flex:1;min-width:0}.sh-dock .sh-swatches{margin-top:0;padding:7px 3px 4px}.sh-dock-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;flex-shrink:0;width:46px;height:52px;border:0;border-radius:8px;background:transparent;color:var(--ink);font-size:10.5px;font-weight:700}.sh-dock-btn:disabled{color:#aeaaa0}.sh-dock-btn.toggle{color:var(--violet)}.sh-dock-tool{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:56px;padding:0;border:0;border-radius:8px;background:#f1f0ea;box-shadow:inset 0 1px 2px #23221f1f}.sh-drawer-body{padding:4px 10px 12px;border-top:1px solid var(--hair)}.sh-drawer-body .sh-pencil-case{margin-top:8px}.sh-pencil-case .sh-tool{flex:0 0 66px;min-height:76px;justify-content:flex-end;padding:6px 0 5px;gap:4px}.sh-pencil-case .sh-tool span{font-size:10.5px}.sh-tool.on{box-shadow:0 3px 8px -2px #23221f4d}.sh-tool.on .sh-tool-art{transform:translateY(-4px);transition:transform .15s ease}.sh-drawer-body .sh-color-row{margin-top:10px}.sh-drawer-body .sh-families{margin-top:0}.sh-palette-label{margin:10px 0 4px;font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}.sh-drawer-body>.sh-scrollrow-wrap{margin-right:2px}.sh-families .sh-divider{flex-shrink:0;align-self:center;width:1px;height:18px;margin:0 2px;background:var(--hair)}.sh-families button.palette{gap:7px}.sh-pal-dots{display:inline-flex}.sh-pal-dots i{width:10px;height:14px;margin-right:-2px;border-radius:3px;box-shadow:0 0 0 1px #fff}.sh-drawer-body .sh-chip-row{margin-top:10px}.sh-scene-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 12px}.sh-scene-list button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:52px;padding:8px 12px;border:1px solid var(--hair);border-radius:10px;background:#fff;text-align:left;font-size:15px}.sh-scene-list button.on{border-color:var(--violet);box-shadow:inset 0 0 0 1px var(--violet)}.sh-scene-list small{font-family:var(--mono);font-size:10.5px;color:var(--green);letter-spacing:.04em}.sh-layers{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}.sh-layers li{display:flex;align-items:baseline;gap:10px;font-size:14px;color:var(--muted)}.sh-layers li span{flex:0 0 104px;font-family:var(--mono);font-size:11px;letter-spacing:.03em}.sh-layers li.on{color:var(--ink);font-weight:700}.sh-layers li.on span{color:var(--green)}.sh-volume{display:flex;align-items:center;gap:12px;margin-bottom:8px;font-size:13px;font-weight:700;color:var(--muted)}.sh-volume input{flex:1;accent-color:var(--violet)}.sh-living{display:block;width:100%;aspect-ratio:1;background:#fff}.sh-progress.hairline{flex:0 0 3px}.sh-dock-tool{width:44px;height:58px}.sh-home .sh-stats,.sh-home .sh-continue,.sh-today-card,.sh-home .sh-actions,.sh-home .sh-challenge,.sh-home .sh-new-badge{margin-top:12px}.sh-home .sh-stats{margin-top:6px;padding:12px 14px;border-radius:14px}.sh-flame{width:40px;height:40px;border-radius:10px}.sh-streak strong{font-size:15px}.sh-streak-num{font-family:var(--display);font-size:22px;font-weight:600;margin-right:2px}.sh-streak small{margin-top:1px}.sh-title-chip{min-height:36px;padding:0 12px;color:var(--violet);font-weight:700}.sh-eyebrow{display:block;font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--soft)}.sh-eyebrow.light{color:var(--gold)}.sh-continue{border-radius:14px;padding:10px 12px 10px 10px}.sh-continue img{width:76px;height:76px}.sh-today-card{display:grid;grid-template-columns:44% 1fr;width:100%;padding:0;border:1px solid var(--hair);border-radius:14px;overflow:hidden;background:#fff;text-align:left;box-shadow:0 1px #23221f0d;color:var(--ink)}.sh-today-art{display:block;aspect-ratio:1;border-right:1px solid var(--hair);background:#fff}.sh-today-art img,.sh-today-art .sh-living{width:100%;height:100%;object-fit:cover;display:block}.sh-today-text{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:14px;min-width:0}.sh-today-text strong{font-family:var(--display);font-size:22px;font-weight:600;line-height:1.1;letter-spacing:-.01em}.sh-today-meta{font-family:var(--mono);font-size:11px;color:var(--muted)}.sh-today-go{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:14px;font-weight:700;color:var(--violet)}.sh-home .sh-actions{gap:10px}.sh-home .sh-actions button{min-height:108px;padding:14px;border-radius:14px;gap:2px;background:#fff}.sh-action-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;margin-bottom:6px;border-radius:10px;background:var(--violet-soft);color:var(--violet)}.sh-home .sh-actions strong{margin-top:0;font-size:15px}.sh-home .sh-actions button:disabled{opacity:.55}.sh-home .sh-actions button:disabled .sh-action-icon{background:var(--paper);color:var(--muted)}.sh-home .sh-challenge{border-radius:14px;padding:16px;gap:12px}.sh-home .sh-challenge strong{margin-top:4px;font-size:19px}.sh-today-set{margin-top:14px}.sh-today-set h2{margin:0 0 8px}.sh-set-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.sh-set-row::-webkit-scrollbar{display:none}.sh-set-tile{position:relative;flex:0 0 104px;display:flex;flex-direction:column;gap:6px;padding:0;border:0;background:none;color:var(--ink);text-align:left;cursor:pointer}.sh-set-tile img{width:104px;height:104px;object-fit:cover;border:1px solid var(--hair);border-radius:10px;background:#fff}.sh-set-tile small{font-size:12px;line-height:1.25;color:var(--muted)}.sh-set-tile .sh-tile-pct{top:6px;right:6px}.sh-upload-photo .sh-upload-art{background:#fdf3d8;color:#8a5a00}.sh-upload-photo[aria-busy=true] .sh-upload-art svg{animation:sh-pulse 1.4s ease-in-out infinite}@keyframes sh-pulse{50%{transform:scale(1.18);opacity:.6}}@media(prefers-reduced-motion:reduce){.sh-upload-photo[aria-busy=true] .sh-upload-art svg{animation:none}}.sh-fine{margin:8px 0 0;font-size:12px;line-height:1.45;color:var(--soft)}.sh-tool.locked{opacity:.55}.sh-tool.locked svg{filter:saturate(.25)}.sh-tool-lock{position:absolute;top:2px;right:2px;display:grid;place-items:center;width:19px;height:19px;border-radius:999px;background:var(--gold);color:#3a2b00}.sh-tile.locked img{opacity:.5}.sh-tile-tag.lock{display:inline-flex;align-items:center;gap:4px;background:var(--gold);color:#3a2b00}.sh-set-tile.locked img{opacity:.55}.sh-set-lock{position:absolute;top:6px;left:6px;display:inline-flex;align-items:center;gap:3px;padding:2px 7px 2px 5px;border-radius:999px;background:var(--gold);color:#3a2b00;font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.sh-paywall h2{margin-bottom:2px}.sh-tiers{display:grid;gap:12px;margin:16px 0 4px}.sh-tier{padding:14px;border:1px solid var(--hair);border-radius:14px;background:#fff}.sh-tier.suggested{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-soft)}.sh-tier.have{opacity:.7}.sh-tier-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.sh-tier-head strong{font-family:var(--serif, inherit);font-size:17px}.sh-tier-price{font-size:19px;font-weight:700;white-space:nowrap}.sh-tier-price small{font-size:12px;font-weight:500;color:var(--muted)}.sh-tier-blurb{margin:2px 0 8px;font-size:13.5px;color:var(--muted)}.sh-tier-list{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:6px}.sh-tier-list li{display:flex;gap:7px;align-items:flex-start;font-size:13px;line-height:1.35}.sh-tier-list svg{flex:0 0 auto;margin-top:2px;color:var(--green)}.sh-tier-have{display:flex;align-items:center;gap:6px;margin:0;font-size:13px;font-weight:700;color:var(--green)}.sh-tier .sh-cta{width:100%;margin:0}.sh-paywall-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.sh-paywall-foot .sh-cta{margin:0}.sh-tool{position:relative}.sh-tier-badge{display:inline-block;margin-left:7px;padding:2px 7px;border-radius:999px;background:var(--gold);color:#3a2b00;font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;vertical-align:middle}.sh-compare{width:100%;margin:14px 0 6px;border-collapse:collapse;font-size:12.5px}.sh-compare th,.sh-compare td{padding:7px 2px;border-bottom:1px solid var(--hair);vertical-align:middle}.sh-compare thead th{padding-bottom:9px;border-bottom:1px solid var(--ink);text-align:center}.sh-compare thead th strong{display:block;font-size:12px}.sh-compare thead th small{display:block;font-family:var(--mono);font-size:9px;color:var(--muted);white-space:nowrap}.sh-compare tbody th{width:46%;font-weight:400;text-align:left;line-height:1.3;padding-right:8px}.sh-compare td{width:13.5%;text-align:center}.sh-compare td.yes{color:var(--green)}.sh-compare td.no{color:var(--soft)}.sh-compare td svg{display:inline-block;vertical-align:middle}.sh-compare-note{margin:2px 0 0;font-size:12.5px;color:var(--muted)}.sh-compare-note strong{color:var(--ink)}.sh-upgrade-row{display:flex;align-items:center;gap:11px;width:100%;margin:12px 0 4px;padding:11px 12px;border:1px solid var(--hair);border-radius:14px;background:#fdf8ec;text-align:left;cursor:pointer}.sh-upgrade-icon{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:999px;background:var(--gold);color:#3a2b00}.sh-upgrade-text{flex:1 1 auto;min-width:0}.sh-upgrade-text strong{display:block;font-size:14px}.sh-upgrade-text small{display:block;font-size:12px;line-height:1.3;color:var(--muted)}.sh-upgrade-go{flex:0 0 auto;padding:6px 12px;border-radius:999px;background:var(--violet);color:#fff;font-size:12.5px;font-weight:700}.sh-actions button.wide{grid-column:1 / -1}.sh-tool-unlock{display:flex;align-items:center;gap:10px;width:100%;margin:2px 0 10px;padding:9px 11px;border:1px solid var(--hair);border-radius:13px;background:#fdf8ec;text-align:left;cursor:pointer}.sh-tool-unlock-icon{display:grid;place-items:center;flex:0 0 26px;height:26px;border-radius:999px;background:var(--gold);color:#3a2b00}.sh-tool-unlock strong{display:block;font-size:13.5px}.sh-tool-unlock small{display:block;font-size:11.5px;line-height:1.3;color:var(--muted)}.sh-highlights{display:grid;gap:11px;margin:4px 0 6px;padding:13px;list-style:none;border:1px solid var(--hair);border-radius:16px;background:var(--violet-soft)}.sh-highlights li{display:flex;align-items:flex-start;gap:11px}.sh-highlight-icon{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:999px;background:#fff;color:var(--violet)}.sh-highlights strong{display:block;font-size:14px;line-height:1.3}.sh-highlights small{display:block;margin-top:2px;font-size:12.5px;line-height:1.42;color:var(--muted)}.sh-paywall{padding:0}.sh-pw-head{position:relative;padding:16px 18px 18px;color:#fff;background:linear-gradient(155deg,var(--night) 0%,var(--violet) 78%,#3B51C4 100%)}.sh-pw-head:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:14px;background:radial-gradient(12px 14px at 12px 0,transparent 97%,var(--cream) 100%) repeat-x;background-size:24px 14px}.sh-pw-head h2{margin:14px 0 2px;font-family:var(--display);font-size:25px;line-height:1.12;color:#fff}.sh-pw-sub{margin:0;font-size:13.5px;line-height:1.45;color:#ffffffd1}.sh-pw-strip{display:flex;gap:8px}.sh-pw-strip img{width:33%;aspect-ratio:1;object-fit:cover;border-radius:10px;background:#fff;border:2px solid rgba(255,255,255,.85);box-shadow:0 6px 18px #00000047}.sh-pw-strip img:nth-child(1){transform:rotate(-2.5deg)}.sh-pw-strip img:nth-child(3){transform:rotate(2.5deg)}.sh-pw-art{display:flex;align-items:center;gap:13px}.sh-pw-art img{width:96px;height:96px;flex:0 0 96px;object-fit:cover;border-radius:12px;background:#fff;border:2px solid rgba(255,255,255,.85);box-shadow:0 6px 18px #00000047}.sh-pw-art-meta{min-width:0}.sh-pw-art-meta strong{display:block;margin-top:6px;font-family:var(--display);font-size:19px;line-height:1.2}.sh-pw-art-meta small{display:block;margin-top:2px;font-size:12px;color:#ffffffbf}.sh-pw-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 6px;border-radius:999px;background:var(--gold);color:#3a2b00;font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.sh-pw-body{padding:16px 18px 18px}.sh-pw-single{margin:0 0 18px;padding:14px;border:2px solid var(--gold);border-radius:16px;background:linear-gradient(180deg,#fff9ec,#fdf3dc)}.sh-pw-single-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px}.sh-pw-single-top strong{display:block;font-family:var(--display);font-size:18px}.sh-pw-single-top small{display:block;margin-top:2px;font-size:12.5px;line-height:1.4;color:var(--soft)}.sh-pw-single-price{flex:0 0 auto;font-size:24px;font-weight:700;color:var(--ink);white-space:nowrap}.sh-pw-or{display:flex;align-items:center;gap:10px;margin:14px 0 0;font-size:12px;color:var(--muted)}.sh-pw-or:before,.sh-pw-or:after{content:"";flex:1;height:1px;background:#23221f29}.sh-pw-note{margin:10px 0 0;padding:10px 12px;border-radius:12px;background:var(--violet-soft);font-size:13px;line-height:1.45;color:var(--ink)}.sh-highlight-icon.c0{background:var(--violet-soft);color:var(--violet)}.sh-highlight-icon.c1{background:#fcf1d6;color:#8a5300}.sh-highlight-icon.c2{background:#dcefe7;color:var(--green)}.sh-highlight-icon.c3{background:#fbe3da;color:var(--vermilion)}.sh-compare-wrap{margin:16px 0 4px}.sh-compare-wrap summary{padding:11px 13px;border:1px solid var(--hair);border-radius:12px;background:#fff;font-size:13.5px;font-weight:700;cursor:pointer;list-style:none}.sh-compare-wrap summary::-webkit-details-marker{display:none}.sh-compare-wrap summary:after{content:" ▾";color:var(--muted)}.sh-compare-wrap[open] summary:after{content:" ▴"}.sh-compare-wrap[open] summary{border-radius:12px 12px 0 0;border-bottom:0}.sh-compare-wrap .sh-compare{margin-top:0;border:1px solid var(--hair);border-top:0;border-radius:0 0 12px 12px;padding:4px 10px 10px;background:#fff}.sh-tier.t-lifetime{border-color:var(--gold);box-shadow:0 0 0 3px #fcf1d6;background:linear-gradient(180deg,#fffdf7,#fff 60%)}.sh-tier.t-lifetime .sh-cta{background:var(--gold);color:var(--ink)}.sh-voucher{display:flex;gap:8px;align-items:stretch;margin:4px 0 2px}.sh-voucher input{flex:1 1 auto;min-width:0;padding:11px 13px;border:1px solid var(--hair);border-radius:12px;background:#fff;font-family:var(--mono);font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}.sh-voucher input:disabled{background:var(--paper);color:var(--muted)}.sh-voucher .sh-cta{flex:0 0 auto;width:auto;margin:0;padding:11px 16px}.sh-pw-signin{display:flex;align-items:flex-start;gap:11px;width:100%;margin:0 0 14px;padding:12px 13px;border:1.5px solid var(--violet);border-radius:14px;background:var(--violet-soft);text-align:left;cursor:pointer}.sh-pw-signin-icon{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:999px;background:var(--violet);color:#fff}.sh-pw-signin strong{display:block;font-size:14.5px;color:var(--violet)}.sh-pw-signin small{display:block;margin-top:2px;font-size:12.5px;line-height:1.4;color:var(--soft)}.sh-set-tile small em{display:block;font-style:normal;font-family:var(--mono);font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--soft)}.sh-surprise h2{margin-bottom:2px}.sh-surprise .sh-sub{margin:0 0 14px}.sh-surprise-pick{display:block;width:100%;margin:0 0 10px;padding:13px 14px;border:1px solid var(--hair);border-radius:14px;background:#fff;text-align:left;cursor:pointer}.sh-surprise-pick strong{display:block;font-family:var(--display);font-size:17px}.sh-surprise-pick small{display:block;margin-top:2px;font-size:12.5px;line-height:1.4;color:var(--muted)}.sh-surprise-pick:active{background:var(--violet-soft)}
