@font-face{font-family:SomarSans;src:url(/fonts/SomarSans-Thin.otf) format("opentype");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:SomarSans;src:url(/fonts/SomarSans-ThinItalic.otf) format("opentype");font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:SomarSans;src:url(/fonts/SomarSans-ExtraLight.otf) format("opentype");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:SomarSans;src:url(/fonts/SomarSans-ExtraLightItalic.otf) format("opentype");font-weight:200;font-style:italic;font-display:swap}@font-face{font-family:SomarSans;src:url(/fonts/SomarSans-Light.otf) format("opentype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:SomarSans;src:url(/fonts/SomarSans-LightItalic.otf) format("opentype");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:SomarSans;src:url(/fonts/SomarSans-Regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:SomarSans;src:url(/fonts/SomarSans-RegularItalic.otf) format("opentype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:SomarSans;src:url(/fonts/SomarSans-Medium.otf) format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:SomarSans;src:url(/fonts/SomarSans-MediumItalic.otf) format("opentype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:SomarSans;src:url(/fonts/SomarSans-SemiBold.otf) format("opentype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:SomarSans;src:url(/fonts/SomarSans-SemiBoldItalic.otf) format("opentype");font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:SomarSans;src:url(/fonts/SomarSans-Bold.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:SomarSans;src:url(/fonts/SomarSans-BoldItalic.otf) format("opentype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:SomarSans;src:url(/fonts/SomarSans-ExtraBold.otf) format("opentype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:SomarSans;src:url(/fonts/SomarSans-ExtraBoldItalic.otf) format("opentype");font-weight:800;font-style:italic;font-display:swap}@font-face{font-family:SomarSans;src:url(/fonts/SomarSans-Black.otf) format("opentype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:SomarSans;src:url(/fonts/SomarSans-BlackItalic.otf) format("opentype");font-weight:900;font-style:italic;font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;font-family:SomarSans,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html,body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none;background:#f5f5f2;touch-action:manipulation}#root{width:100%;height:100%;height:100dvh}canvas{display:block}button{cursor:pointer;border:none;background:none;font-family:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation}*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:38px;height:38px;border:3px solid #e0e0d8;border-top-color:#1a5c2e;border-radius:50%;animation:spin .8s linear infinite}:root{--bg: #f5f5f2;--bg-alpha: rgba(245, 245, 242, .97);--surface: #ffffff;--surface-alpha: rgba(255, 255, 255, .92);--surface-strip: rgba(245, 245, 242, .97);--text-primary: #1a1a1a;--text-secondary: #555555;--text-tertiary: #333333;--text-muted: #6A736E;--brand: #1a5c2e;--brand-dark: #0d3d1f;--brand-alpha: rgba(26, 92, 46, .08);--brand-alpha-md: rgba(26, 92, 46, .12);--brand-alpha-lg: rgba(26, 92, 46, .25);--border: rgba(0, 0, 0, .06);--border-md: rgba(0, 0, 0, .09);--border-lg: rgba(0, 0, 0, .15);--toggle-off-bg: rgba(0, 0, 0, .06);--toggle-off-bdr: rgba(0, 0, 0, .12);--chip-bg: #F5F6F6;--swatch-shadow: 0 2px 8px rgba(0,0,0,.22), 0 1px 3px rgba(0,0,0,.14);--swatch-selected-ring: #0B5D35;--card-placeholder-bg: #f0f0ee;--card-placeholder-color: #666;--back-btn-bg: #1a1a1a;--back-btn-color: #ffffff;--nav-btn-bg: #000000;--nav-btn-color: #ffffff;--swatch-bar-bg: #ffffff;--swatch-bar-shadow: none;--chip-grad-idle: linear-gradient(180deg, #F5F6F6 0%, #DADCDB 100%);--chip-grad-selected: linear-gradient(180deg, #3C7D5D 0%, #094A2A 100%)}body.dark-mode{--bg: #151b18;--bg-alpha: rgba(21, 27, 24, .97);--surface: #1f2923;--surface-alpha: rgba(31, 41, 35, .95);--surface-strip: rgba(21, 27, 24, .97);--text-primary: #e8f0ea;--text-secondary: #9db8a4;--text-tertiary: #c2d4c9;--text-muted: #ADB2B0;--brand: #2d8a4e;--brand-dark: #1f6638;--brand-alpha: rgba(45, 138, 78, .12);--brand-alpha-md: rgba(45, 138, 78, .2);--brand-alpha-lg: rgba(45, 138, 78, .35);--border: rgba(255, 255, 255, .06);--border-md: rgba(255, 255, 255, .1);--border-lg: rgba(255, 255, 255, .15);--toggle-off-bg: rgba(255, 255, 255, .08);--toggle-off-bdr: rgba(255, 255, 255, .14);--chip-bg: #253020;--swatch-shadow: 0 2px 10px rgba(255,255,255,.18), 0 1px 4px rgba(255,255,255,.1);--swatch-selected-ring: #4caf72;--card-placeholder-bg: #253020;--card-placeholder-color: #7a9f86;--back-btn-bg: #2d3b32;--back-btn-color: #e8f0ea;--nav-btn-bg: #ffffff;--nav-btn-color: #000000;--swatch-bar-bg: #252927;--swatch-bar-shadow: none;--chip-grad-idle: linear-gradient(180deg, rgba(255, 255, 255, .1) 0%, rgba(255, 255, 255, .2) 100%);--chip-grad-selected: linear-gradient(180deg, #3C7D5D 0%, #094A2A 100%)}body.dark-mode{background-color:var(--bg);color:var(--text-primary)}body.dark-mode canvas{filter:none}
