:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3eee6;--ink:#1c1916;--muted:#6f675d;--panel:#fffcf7eb;--line:#1c19161f;--accent:#c45c26;--shadow:0 10px 30px #281c1014;font-family:Avenir Next,Segoe UI,Helvetica Neue,sans-serif}*{box-sizing:border-box}html,body,#app{overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:radial-gradient(1200px 700px at 10% -10%, #fff8ee 0%, transparent 55%), radial-gradient(900px 600px at 100% 0%, #e7f0ea 0%, transparent 45%), var(--bg);width:100%;max-width:100%;height:100%;color:var(--ink);margin:0}html.is-coloring,html.is-coloring body,html.is-coloring #app{overflow:hidden}html.is-gallery,html.is-gallery body{-webkit-user-select:text;user-select:text;height:auto;min-height:100%;overflow:hidden auto}html.is-gallery #app{height:auto;min-height:100%;overflow:visible}.shell{grid-template-rows:auto 1fr auto;width:100%;min-width:0;max-width:100%;height:100dvh;display:grid;overflow:hidden}.topbar{min-width:0;padding:calc(10px + env(safe-area-inset-top,0px)) max(12px, env(safe-area-inset-right,0px)) 10px max(12px, env(safe-area-inset-left,0px));justify-content:space-between;align-items:center;gap:10px 12px;display:flex}.brand{letter-spacing:-.03em;white-space:nowrap;text-overflow:ellipsis;text-align:center;flex:auto;min-width:0;font-size:1.2rem;font-weight:700;overflow:hidden}.topbar__tools{flex:none;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.zoom-controls{flex:none;gap:6px;display:flex}.btn{appearance:none;border:1px solid var(--line);background:var(--panel);color:var(--ink);min-width:40px;height:36px;font:inherit;cursor:pointer;box-shadow:var(--shadow);border-radius:10px;flex:none;justify-content:center;align-items:center;padding:0 12px;font-weight:600;text-decoration:none;display:inline-flex}.btn:active{transform:translateY(1px)}.btn--back{white-space:nowrap;flex:none}.stage{min-width:0;min-height:0;margin:0 max(12px, env(safe-area-inset-right,0px)) 0 max(12px, env(safe-area-inset-left,0px));border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(#ffffff8c,#fff3),#efe8de;border-radius:18px;position:relative;overflow:hidden}.stage__canvas{cursor:crosshair;touch-action:none;width:100%;height:100%;display:block}.loader{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#f3eee6b8;place-items:center;display:grid;position:absolute;inset:0}.loader[hidden]{display:none}.loader__card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;justify-items:center;gap:12px;padding:22px 26px;display:grid}.loader__spinner{border:3px solid #1c19161f;border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}.loader__text{color:var(--muted);margin:0;font-size:.95rem}.loader--error .loader__spinner{display:none}.loader--error .loader__text{color:#b42318;text-align:center;max-width:280px}.loader--error .loader__text a{color:var(--accent);font-weight:600}.dock{min-width:0;padding:10px max(12px, env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(12px, env(safe-area-inset-left,0px))}.palette{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x;background:var(--panel);border:1px solid var(--line);max-width:100%;box-shadow:var(--shadow);scrollbar-width:thin;border-radius:18px;flex-wrap:nowrap;gap:10px;padding:10px 12px;display:flex;overflow-x:auto}.palette__swatch{appearance:none;background:var(--swatch);cursor:pointer;border:2px solid #1c19162e;border-radius:50%;flex:none;width:40px;height:40px;transition:transform .15s,box-shadow .15s}.palette__swatch--light{box-shadow:inset 0 0 0 1px #1c19161f}.palette__swatch.is-active{border-color:var(--ink);transform:scale(1.12);box-shadow:0 0 0 3px #1c19162e}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=899px){.topbar{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.brand{text-align:left;font-size:1.05rem}.btn{min-width:36px;height:34px;padding:0 10px}.btn--back{padding:0 10px;font-size:.9rem}.palette{gap:8px;padding:8px 10px}.palette__swatch{width:36px;height:36px}}@media (width>=900px){.shell{grid-template-rows:auto 1fr;grid-template-columns:1fr 92px}.topbar{flex-wrap:nowrap;grid-column:1/-1;padding:12px 16px;display:flex}.topbar__tools{justify-content:flex-end;min-width:7.5rem;display:flex}.btn--back{min-width:7.5rem}.stage{margin:0 0 12px 12px}.dock{align-items:stretch;padding:0 12px 12px 0;display:flex}.palette{overscroll-behavior-y:contain;touch-action:pan-y;flex-direction:column;align-items:center;height:100%;padding:14px 10px;overflow:hidden auto}}.gallery{max-width:1100px;padding:calc(20px + env(safe-area-inset-top,0px)) max(16px, env(safe-area-inset-right,0px)) calc(28px + env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));margin:0 auto}.gallery__header{gap:6px;margin-bottom:20px;display:grid}.gallery__header .brand{text-align:left;font-size:1.8rem}.gallery__lead{color:var(--muted);margin:0;font-size:1rem}.gallery__status{color:var(--muted);font-size:.95rem}.gallery__status--error{color:#b42318}.gallery__grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.gallery__tile{color:inherit;gap:8px;min-width:0;text-decoration:none;transition:transform .15s;display:grid}.gallery__tile:hover{transform:translateY(-2px)}.gallery__tile:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:14px}.gallery__thumb-wrap{aspect-ratio:1;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:14px;display:block;overflow:hidden}.gallery__thumb{object-fit:contain;background:linear-gradient(#fff,#f3eee6);width:100%;height:100%;display:block}.gallery__title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.9rem;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}@media (width<=900px){.gallery__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}@media (width<=520px){.gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery__header .brand{font-size:1.45rem}}
