/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-blue-50:oklch(97% .014 254.604);--color-blue-700:oklch(48.8% .243 264.376);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-900:oklch(21% .034 264.665);--color-white:#fff;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--font-weight-semibold:600;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-diton-primary:var(--color-diton-primary);--color-diton-secondary:var(--color-diton-secondary);--color-diton-gradient:var(--color-diton-gradient);--color-gt-primary:var(--color-gt-primary);--color-gt-primary-dark:var(--color-gt-primary-dark);--color-gt-primary-light:var(--color-gt-primary-light);--color-gt-accent:var(--color-gt-accent)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.static{position:static}.sticky{position:sticky}.top-0{top:calc(var(--spacing) * 0)}.z-50{z-index:50}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-\[100dvh\]{height:100dvh}.min-h-0{min-height:calc(var(--spacing) * 0)}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-auto{width:auto}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-white{background-color:var(--color-white)}.px-3{padding-inline:calc(var(--spacing) * 3)}.py-1{padding-block:calc(var(--spacing) * 1)}.pt-\[calc\(env\(safe-area-inset-top\)_\+_0\.5rem\)\]{padding-top:calc(env(safe-area-inset-top) + .5rem)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-blue-700{color:var(--color-blue-700)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-900{color:var(--color-gray-900)}.shadow,.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-blue-700\/10{--tw-ring-color:#1447e61a}@supports (color:color-mix(in lab, red, red)){.ring-blue-700\/10{--tw-ring-color:color-mix(in oklab, var(--color-blue-700) 10%, transparent)}}.ring-gray-900\/5{--tw-ring-color:#1018280d}@supports (color:color-mix(in lab, red, red)){.ring-gray-900\/5{--tw-ring-color:color-mix(in oklab, var(--color-gray-900) 5%, transparent)}}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-gray-900:hover{color:var(--color-gray-900)}}@media (width>=40rem){.sm\:block{display:block}.sm\:inline-flex{display:inline-flex}.sm\:h-9{height:calc(var(--spacing) * 9)}.sm\:w-9{width:calc(var(--spacing) * 9)}.sm\:gap-3{gap:calc(var(--spacing) * 3)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:pt-\[calc\(env\(safe-area-inset-top\)_\+_0\.75rem\)\]{padding-top:calc(env(safe-area-inset-top) + .75rem)}.sm\:pb-3{padding-bottom:calc(var(--spacing) * 3)}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#888;border-radius:3px}:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Figtree,sans-serif;font-weight:400;line-height:1.5}#root{--color-diton-primary:#009aa6;--color-diton-secondary:#007b85;--color-diton-gradient:linear-gradient(135deg, var(--color-diton-primary) 0%, var(--color-diton-secondary) 100%);--color-gt-primary:#2c64bd;--color-gt-primary-dark:#2c64bd;--color-gt-primary-light:#c9deff;--color-gt-accent:#009aa6;width:100%;height:100svh}@font-face{font-family:Figtree;font-style:italic;font-weight:300 900;font-display:swap;src:url(/shared/fonts/figtree-italic-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:italic;font-weight:300 900;font-display:swap;src:url(/shared/fonts/figtree-italic-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(/shared/fonts/figtree-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(/shared/fonts/figtree-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.driver-popover{all:unset;font-family:var(--driver-popover-font-family,"Helvetica Neue", Inter, ui-sans-serif, "Apple Color Emoji", Helvetica, Arial, sans-serif);box-sizing:border-box;color:#2d2d2d;z-index:1000000000;background-color:#fff;border-radius:5px;min-width:250px;max-width:300px;margin:0;padding:15px;position:fixed;top:0;right:0;box-shadow:0 1px 10px #0006}.driver-popover-title{zoom:1;margin:0;font-size:19px;font-weight:700;line-height:1.5;display:block;position:relative}.driver-popover-close-btn{all:unset;cursor:pointer;color:#d2d2d2;z-index:1;text-align:center;width:32px;height:28px;font-size:18px;font-weight:500;transition:color .2s;position:absolute;top:0;right:0}.driver-popover-close-btn:hover,.driver-popover-close-btn:focus{color:#2d2d2d}.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{zoom:1;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.5}.driver-popover-footer{text-align:right;zoom:1;justify-content:space-between;align-items:center;margin-top:15px;display:flex}.driver-popover-progress-text{color:#727272;zoom:1;font-size:13px;font-weight:400}.driver-popover-footer-btn{all:unset;box-sizing:border-box;color:#2d2d2d;cursor:pointer;zoom:1;background-color:#fff;border:1px solid #ccc;border-radius:3px;outline:0;padding:3px 7px;font-size:12px;line-height:1.3;text-decoration:none;display:inline-block}.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}.driver-popover-footer-btn:hover,.driver-popover-footer-btn:focus{background-color:#f7f7f7}.driver-popover-navigation-btns{flex-grow:1;justify-content:flex-end;display:flex}.driver-popover-navigation-btns button+button{margin-left:4px}.driver-popover-arrow{content:"";border:5px solid #fff;position:absolute}.driver-popover-arrow-side-over{display:none}.driver-popover-arrow-side-left{border-top-color:#0000;border-bottom-color:#0000;border-right-color:#0000;left:100%}.driver-popover-arrow-side-right{border-top-color:#0000;border-bottom-color:#0000;border-left-color:#0000;right:100%}.driver-popover-arrow-side-top{border-bottom-color:#0000;border-left-color:#0000;border-right-color:#0000;top:100%}.driver-popover-arrow-side-bottom{border-top-color:#0000;border-left-color:#0000;border-right-color:#0000;bottom:100%}.driver-popover-arrow-side-center,.driver-popover-arrow-none{display:none}.driver-active .driver-overlay{pointer-events:none}.driver-active.driver-no-scroll{overflow:hidden}.driver-active *{pointer-events:none}.driver-active .driver-active-element,.driver-active .driver-active-element *,.driver-popover,.driver-popover *{pointer-events:auto}@keyframes animate-fade-in{0%{opacity:0}to{opacity:1}}.driver-fade .driver-overlay{animation:animate-fade-in var(--driver-animation-duration,.4s) ease-in-out}.driver-fade .driver-popover{animation:animate-fade-in var(--driver-animation-duration,.4s)}.driver-active-element-parent-no-scroll{overflow:hidden!important}.driver-no-interaction,.driver-no-interaction *{pointer-events:none!important}:root{--brand:#009aa6;--brand-dark:#007c85;--brand-050:#e6f5f6;--brand-100:#b1dce0;--cta:#f36f32;--cta-dark:#d9622a;--bg:#fafafa;--surface:#fff;--surface-2:#f4f4f4;--border:#e0e0e0;--text:#212121;--muted:#4a4a4a;--good:#009aa6;--warn:#f36f32;--bad:#d64545;--accent:var(--brand);--accent-2:var(--brand-dark);--panel:var(--surface);--panel-2:var(--surface-2);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.app{background:var(--bg);height:100%;color:var(--text);grid-template-rows:100%;grid-template-columns:minmax(0,1fr) clamp(300px,28vw,380px);font:14px/1.5 Figtree,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;display:grid;overflow:hidden}.app *,.app :before,.app :after{box-sizing:border-box}.gn-status{color:var(--muted);flex-direction:column;align-items:center;gap:12px;padding:80px 16px;display:flex}.gn-login{background:var(--brand);color:#fff;border-radius:8px;padding:8px 16px;font-weight:600;text-decoration:none}.gn-toasts{z-index:30;pointer-events:none;flex-direction:column;gap:8px;width:min(440px,100% - 24px);display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.gn-toast{border:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--text);pointer-events:auto;background:#fffffff7;border-radius:12px;align-items:flex-start;gap:9px;padding:10px 10px 10px 12px;font-size:13px;line-height:1.45;animation:.22s cubic-bezier(.16,1,.3,1) gn-toast-in;display:flex;box-shadow:0 10px 28px #0000002e}@keyframes gn-toast-in{0%{opacity:0;transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){.gn-toast{animation:none}}.gn-toast-icon{flex:none;margin-top:1px}.gn-toast-text{flex:1;min-width:0}.gn-toast-close{width:22px;height:22px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;place-items:center;padding:0;display:grid}.gn-toast-close:hover{background:var(--surface-2);color:var(--text)}.gn-toast.error{border-color:var(--bad);background:color-mix(in srgb, var(--bad) 10%, #fff);color:color-mix(in srgb, var(--bad) 82%, #000)}.gn-toast.error .gn-toast-icon{color:var(--bad)}.gn-toast.info{border-color:var(--brand-100);background:color-mix(in srgb, var(--brand-050) 92%, #fff);color:var(--brand-dark)}.gn-toast.info .gn-toast-icon{color:var(--brand)}.gn-toast.success .gn-toast-icon{color:var(--good)}.stage{background:radial-gradient(1200px 600px at 50% -10%, var(--brand-050) 0%, var(--bg) 60%);justify-content:center;align-items:center;min-width:0;min-height:0;padding:24px;display:flex;position:relative;overflow:hidden}.viewport{border:1px solid var(--border);background:var(--surface-2);border-radius:4px;max-width:100%;max-height:100%;transition:filter .2s;position:relative;box-shadow:0 8px 30px #0000001f}.viewport canvas{border-radius:inherit;width:100%;height:100%;display:block}.scene-scale{z-index:4;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:none;transform:translateY(var(--gn-shift-y));background:#ffffffe0;border:1px solid #ffffffb8;border-radius:6px;gap:3px;padding:4px 6px 5px;display:grid;position:absolute;bottom:10px;left:10px;overflow:hidden;box-shadow:0 2px 10px #00000029}.scene-scale.hoverable{pointer-events:auto;cursor:help}.scene-scale-label{color:var(--brand-dark);font-variant-numeric:tabular-nums;font-size:11px;font-weight:700;line-height:1}.scene-scale-rule{border:solid var(--brand);will-change:width;border-width:0 2px 2px;max-width:100%;height:8px;transition:width .12s ease-out;display:block;position:relative}.scene-scale-rule>span{background:var(--brand);width:2px;height:5px;position:absolute;bottom:-2px;left:50%}.scene-scale.below-photo .scene-scale-rule{border-width:2px 2px 0;order:-1}.scene-scale.below-photo .scene-scale-rule>span{top:0;bottom:auto}.analyzing{z-index:6;background:#ffffff8c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.gn-analyzing-card{border:1px solid var(--border);background:#fffffff0;border-radius:16px;flex-direction:column;align-items:center;gap:12px;width:min(300px,100% - 24px);padding:20px 26px 18px;display:flex;box-shadow:0 16px 40px #00000029}.gn-pave{display:block;overflow:visible}.gn-pave-tile{animation:3.2s infinite backwards gn-pave-lay;animation-delay:calc(var(--i) * .13s)}@keyframes gn-pave-lay{0%{opacity:0;animation-timing-function:ease-in;transform:translateY(-16px)}7%{opacity:1;animation-timing-function:ease-out;transform:translateY(1.6px)}10%{transform:translateY(0)}64%{opacity:1;animation-timing-function:ease-in;transform:translateY(0)}72%{opacity:0;transform:translateY(9px)}to{opacity:0;transform:translateY(-16px)}}.gn-pave-tile .gn-pave-top{fill:#e2e2e2}.gn-pave-tile .gn-pave-left{fill:#c4c4c4}.gn-pave-tile .gn-pave-right{fill:#b0b0b0}.gn-pave-tile.shade-1 .gn-pave-top{fill:#d7d7d7}.gn-pave-tile.shade-2 .gn-pave-top{fill:#ccc}.gn-pave-tile.accent .gn-pave-top{fill:var(--cta)}.gn-pave-tile.accent .gn-pave-left{fill:var(--cta-dark)}.gn-pave-tile.accent .gn-pave-right{fill:#b8511f}.gn-analyzing-progress{background:var(--surface-2);border-radius:999px;width:176px;height:4px;overflow:hidden}.gn-analyzing-progress span{border-radius:inherit;background:linear-gradient(90deg, var(--brand), var(--brand-dark));height:100%;transition:width .5s;display:block}.gn-analyzing-label{min-height:21px;color:var(--text);text-align:center;font-size:14px;font-weight:600}.gn-analyzing-label span{animation:.3s cubic-bezier(.16,1,.3,1) gn-label-in;display:inline-block}@keyframes gn-label-in{0%{opacity:0;transform:translateY(6px)}}.gn-analyzing-label .gn-dots i{opacity:0;font-style:normal;animation:none}.gn-analyzing-label .gn-dots i:first-child{animation-name:gn-dot-1}.gn-analyzing-label .gn-dots i:nth-child(2){animation-name:gn-dot-2}.gn-analyzing-label .gn-dots i:nth-child(3){animation-name:gn-dot-3}@keyframes gn-dot-1{0%,20%{opacity:0}25%,to{opacity:1}}@keyframes gn-dot-2{0%,45%{opacity:0}50%,to{opacity:1}}@keyframes gn-dot-3{0%,70%{opacity:0}75%,to{opacity:1}}@media (prefers-reduced-motion:reduce){.gn-pave-tile,.gn-analyzing-label span{animation:none}.gn-analyzing-label .gn-dots i{opacity:1;animation:none}}.spinner-sm{vertical-align:-1px;border:2px solid var(--brand-100);border-top-color:var(--brand);border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.mask-overlay{touch-action:none;z-index:1;width:100%;height:100%;position:absolute;inset:0}.quad-layer{z-index:2;pointer-events:none;position:absolute;inset:0}.quad-svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.quad-handle{pointer-events:auto;cursor:grab;touch-action:none;background:0 0;border:none;place-items:center;width:34px;height:34px;margin:-17px 0 0 -17px;padding:0;display:grid;position:absolute}.quad-handle:after{content:"";background:var(--brand);border:2px solid #fff;border-radius:50%;width:15px;height:15px;transition:transform .12s;box-shadow:0 1px 4px #00000059}.quad-handle:hover:after,.quad-handle:active:after{transform:scale(1.2)}.quad-handle:active{cursor:grabbing}.viewport{--gn-edge-gap:6px;--gn-shift-x:clamp(0px, calc(var(--gn-free-x,0px) - var(--gn-edge-gap)), calc(100% + 10px));--gn-shift-y:clamp(0px, calc(var(--gn-free-y,0px) - var(--gn-edge-gap)), calc(100% + 10px))}.stage-tools,.stage-actions,.stage-surface{z-index:5;border:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffffff0;border-radius:12px;flex-direction:column;align-items:center;gap:5px;max-width:calc(100% - 20px);padding:7px 10px 8px;transition:filter .2s;display:flex;position:absolute;box-shadow:0 4px 16px #00000024}.viewport.is-analyzing{filter:blur(3px);pointer-events:none}.viewport.is-analyzing .stage-tools,.viewport.is-analyzing .stage-actions,.viewport.is-analyzing .stage-surface,.viewport.is-analyzing .scene-scale{-webkit-backdrop-filter:none;backdrop-filter:none}.stage-actions{flex-direction:row;gap:4px;padding:4px}.tool-row{flex-wrap:wrap;align-items:center;gap:4px;min-width:0;max-width:100%;display:flex}.stage-tools{transform:translateY(calc(-1 * var(--gn-shift-y)));top:10px;left:10px}.stage-tools.vertical{max-width:none;transform:translateX(calc(-1 * var(--gn-shift-x)));max-height:calc(100% - 20px)}.stage-tools.vertical .tool-row{flex-direction:column;max-height:100%}.stage-actions{transform:translateY(var(--gn-shift-y));bottom:10px;right:10px}.stage-surface{transform:translate(-50%, calc(-1 * var(--gn-shift-y)));top:10px;left:50%}.stage-label{text-transform:uppercase;letter-spacing:.7px;color:var(--muted);font-size:11px;font-weight:600;line-height:1}.surface-seg{background:var(--surface-2);border-radius:9px;gap:3px;padding:3px;display:flex}.surface-opt{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;line-height:1;transition:background-color .12s,color .12s;display:inline-flex}.surface-opt:hover{color:var(--text)}.surface-opt.active{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 1px 4px #0000001f}.surface-opt.active:hover{background:var(--brand-dark);color:#fff}.tool-btn{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;place-items:center;padding:0;transition:background-color .12s,color .12s;display:grid}.tool-btn:hover{background:var(--surface-2);color:var(--text)}.tool-btn.active{background:var(--brand);border-color:var(--brand);color:#fff}.tool-btn.active:hover{background:var(--brand-dark)}.tool-sep{background:var(--border);align-self:stretch;width:1px;margin:3px 2px}.tool-pair{align-items:center;gap:4px;display:flex}.stage-tools.vertical .tool-sep{width:auto;height:1px;margin:2px 3px}.stage-tools.vertical .tool-pair{flex-direction:column}.stage-tools .tool-size{width:112px;min-width:44px;max-width:100%;margin:0 8px 0 4px}.stage-tools.vertical .tool-size{writing-mode:vertical-lr;background:linear-gradient(to top, var(--brand) 0 var(--fill,50%), var(--surface-2) var(--fill,50%) 100%);direction:rtl;width:6px;height:112px;margin:4px 0 6px}.panel{background:color-mix(in srgb, var(--surface-2) 38%, var(--surface));border-left:1px solid var(--border);overscroll-behavior:contain;min-height:0;padding:18px;overflow-y:auto}.section{margin-bottom:20px}.catalog-field+.catalog-field{margin-top:14px}.catalog-label{color:var(--muted);margin:0 0 6px;font-size:12px;font-weight:500;display:block}.catalog-combobox{position:relative}.catalog-search-icon{color:#758080;pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.catalog-input{background:var(--surface);width:100%;min-height:46px;color:var(--text);font:inherit;border:1px solid #d3dddd;border-radius:11px;padding:11px 42px 11px 38px;font-weight:500;transition:border-color .15s,box-shadow .15s;display:block}.catalog-input::placeholder{color:#758080;font-weight:400}.catalog-input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #009aa615}.catalog-input:disabled{cursor:wait;opacity:.55}.catalog-toggle{color:#526767;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:38px;display:grid;position:absolute;top:3px;bottom:3px;right:3px}.catalog-toggle:hover{background:var(--brand-050)}.catalog-toggle svg{transition:transform .18s}.catalog-toggle[data-open] svg{transform:rotate(180deg)}.catalog-options{box-sizing:border-box;width:var(--input-width);max-height:min(280px, var(--available-height,60dvh));overscroll-behavior:contain;z-index:80;color:var(--text);transform-origin:top;background:#fff;border:1px solid #dce5e5;border-radius:12px;padding:5px;font:14px/1.5 Figtree,system-ui,sans-serif;transition:opacity .16s,transform .16s;overflow-y:auto;box-shadow:0 12px 32px #143c3e1a,0 2px 6px #143c3e0a}.catalog-options[data-closed]{opacity:0;transform:translateY(-4px)scale(.98)}.catalog-options[data-leave]{transition-duration:.1s}.catalog-option{cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-height:43px;padding:9px 11px;display:flex}.catalog-option[data-focus]{background:#f0f7f7}.catalog-option[data-selected]{background:var(--brand-050);color:var(--brand-dark);font-weight:600}.catalog-option-check{visibility:hidden;flex:none}.catalog-option[data-selected] .catalog-option-check{visibility:visible}.catalog-empty{color:var(--muted);padding:16px 11px;font-size:13px}@media (prefers-reduced-motion:reduce){.catalog-options,.catalog-toggle svg,.catalog-input{transition:none}}.materials.color-options{grid-template-columns:repeat(3,minmax(0,1fr))}.color-options .swatch{height:42px}.paving-sample{isolation:isolate;aspect-ratio:1.6;border:1px solid var(--border);border-radius:8px;width:100%;position:relative;overflow:hidden}.paving-sample>div{background-repeat:repeat;position:absolute;inset:0}.paving-sample-relief{mix-blend-mode:multiply;opacity:.55}.catalog-sample-caption{color:var(--muted);margin:6px 0 0;font-size:11px;line-height:1.5}.section h2{text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin:0 0 10px;font-size:12px}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.section-heading h2{margin:0}.section-heading>span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.section-idle{opacity:.62}.section-note{border:1px dashed var(--border);background:var(--surface-2);color:var(--muted);border-radius:8px;margin:-2px 0 12px;padding:7px 10px;font-size:12px;line-height:1.4}.materials{grid-template-columns:1fr 1fr;gap:8px;display:grid}.material-btn{background:var(--surface);border:1px solid var(--border);cursor:pointer;min-width:0;color:var(--text);text-align:left;border-radius:10px;flex-direction:column;gap:6px;padding:7px;display:flex}.material-btn:hover{border-color:var(--brand-100)}.material-btn:focus-visible,.pattern-btn:focus-visible{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-050);outline:none}.material-btn.active{border-color:var(--brand);background:var(--brand-050);box-shadow:0 0 0 1px var(--brand) inset}.material-btn .swatch,.pattern-btn .swatch{background:var(--surface-2);border:1px solid var(--border);border-radius:7px;width:100%;height:58px;display:block;position:relative;overflow:hidden}.material-btn .swatch>img,.pattern-btn .swatch>img{object-fit:cover;width:100%;height:100%;display:block}.material-btn .swatch-check,.pattern-btn .swatch-check{background:var(--brand);color:#fff;border-radius:50%;place-items:center;width:18px;height:18px;display:grid;position:absolute;top:4px;right:4px;box-shadow:0 1px 3px #0000004d}.material-copy,.pattern-copy{flex-direction:column;gap:1px;min-width:0;padding:0 2px 2px;display:flex}.material-btn .material-name{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;line-height:1.25;overflow:hidden}.material-collection,.pattern-meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.25;overflow:hidden}.material-btn.active .material-name{color:var(--brand-dark)}.patterns{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.pattern-btn{background:var(--surface);border:1px solid var(--border);cursor:pointer;min-width:0;color:var(--text);text-align:left;border-radius:10px;flex-direction:column;gap:6px;padding:6px;display:flex}.pattern-btn:hover{border-color:var(--brand-100)}.pattern-btn.active{border-color:var(--brand);background:var(--brand-050);box-shadow:0 0 0 1px var(--brand) inset}.pattern-btn .swatch{aspect-ratio:5/2;height:auto}.pattern-swatch>img{object-fit:cover}.pattern-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:500;line-height:1.25;overflow:hidden}.pattern-meta{white-space:normal}.pattern-btn.active .pattern-name{color:var(--brand-dark)}.control{margin-bottom:14px}.control label{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;font-size:12px;display:flex}.control label>span:last-child:not(:only-child){background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-variant-numeric:tabular-nums;border-radius:999px;flex:none;padding:1px 7px;font-size:11px}input[type=range]{appearance:none;cursor:pointer;border:1px solid var(--border);background:linear-gradient(to right, var(--brand) 0 var(--fill,50%), var(--surface-2) var(--fill,50%) 100%);border-radius:999px;width:100%;height:6px}input[type=range]:disabled{cursor:not-allowed;opacity:.55}input[type=range]::-webkit-slider-runnable-track{background:0 0;border-radius:999px;height:6px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--brand);border:2px solid #fff;border-radius:50%;width:16px;height:16px;margin-top:-5px;box-shadow:0 1px 3px #00000040}input[type=range]::-moz-range-track{background:var(--surface-2);border-radius:999px;height:6px}input[type=range]::-moz-range-progress{background:var(--brand);border-radius:999px;height:6px}input[type=range]::-moz-range-thumb{background:var(--brand);border:2px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #00000040}input[type=range]:focus-visible{box-shadow:0 0 0 3px var(--brand-050);outline:none}.control input[type=range]:hover:not(:disabled)::-webkit-slider-thumb{background:var(--brand-dark)}.control input[type=range]:hover:not(:disabled)::-moz-range-thumb{background:var(--brand-dark)}.control input[type=range]:active:not(:disabled)::-webkit-slider-thumb{transform:scale(1.12)}.control input[type=range]:active:not(:disabled)::-moz-range-thumb{transform:scale(1.12)}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;display:inline-flex}.btn:hover{border-color:var(--brand)}.btn:disabled{opacity:.5;cursor:not-allowed;border-color:var(--border)}.panel-footer{border-top:1px solid var(--border);margin-top:4px;padding-top:14px}.btn-ghost{width:100%;color:var(--muted);background:0 0;border-style:dashed;justify-content:center;font-weight:500}.btn-ghost:hover{border-style:solid;border-color:var(--brand);background:var(--brand-050);color:var(--brand-dark)}.row-toggle{border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text);text-align:left;cursor:pointer;border-radius:8px;align-items:center;gap:8px;margin-top:4px;padding:9px 10px;font-size:13px;display:flex}.row-toggle:hover:not(:disabled){border-color:var(--brand)}.row-toggle:disabled{opacity:.5;cursor:not-allowed}.row-toggle svg{color:var(--muted);flex:none}.row-toggle-label{flex:1}.row-toggle.active{background:var(--brand-050);border-color:var(--brand);color:var(--brand-dark);font-weight:600}.row-toggle.active svg{color:var(--brand)}.switch{background:var(--border);border-radius:999px;flex:none;width:32px;height:18px;transition:background-color .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.row-toggle.active .switch{background:var(--brand)}.row-toggle.active .switch:after{transform:translate(14px)}.btn.active{background:var(--brand);border-color:var(--brand);color:#fff}.btn.active:hover{border-color:var(--brand-dark)}.badges{flex-wrap:wrap;gap:6px;font-size:11px;display:flex}.badge{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:3px 8px}.badge.good{color:var(--good);background:var(--brand-050);border-color:color-mix(in srgb, var(--good) 40%, var(--border))}.badge.warn{color:var(--cta-dark);background:color-mix(in srgb, var(--warn) 12%, var(--surface));border-color:color-mix(in srgb, var(--warn) 40%, var(--border))}.advanced{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;margin-top:8px;padding:4px 12px;display:none}.advanced>summary{cursor:pointer;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:8px 0;font-size:12px;display:flex}.advanced>summary::-webkit-details-marker{color:var(--brand)}.advanced[open]>summary{color:var(--brand)}.advanced .section{margin-bottom:12px}.busy-banner{background:var(--brand-050);border:1px solid var(--brand-100);color:var(--brand-dark);border-radius:8px;margin-bottom:12px;padding:8px 12px;font-size:13px}.uploader{aspect-ratio:16/10;text-align:center;border:2px dashed var(--brand-100);background:radial-gradient(120% 120% at 50% 0%, color-mix(in srgb, var(--brand-050) 70%, #fff) 0%, var(--surface) 62%);width:min(560px,100%);max-height:100%;color:var(--muted);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.uploader.drag{border-color:var(--brand);color:var(--text);box-shadow:0 0 0 6px var(--brand-050);border-style:solid;transform:scale(1.005)}.uploader.busy{border-style:solid}.uploader-icon{background:var(--brand-050);border:1px solid var(--brand-100);width:62px;height:62px;color:var(--brand);border-radius:50%;place-items:center;margin-bottom:2px;display:grid}.uploader-spin{animation:.9s linear infinite spin}.uploader strong{color:var(--text);letter-spacing:-.01em;font-size:19px;font-weight:600}.uploader-sub{max-width:40ch;margin:0;font-size:13.5px;line-height:1.5}.uploader-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:6px;display:flex}.uploader-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:10px;align-items:center;gap:7px;padding:11px 18px;font-family:inherit;font-size:14px;font-weight:500;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.uploader-btn:hover{border-color:var(--brand);color:var(--brand-dark)}.uploader-btn.primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 2px 10px color-mix(in srgb, var(--brand) 32%, transparent)}.uploader-btn.primary:hover{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}.uploader-btn:focus-visible{box-shadow:0 0 0 3px var(--brand-050);outline:none}.hint{color:var(--muted);margin-top:4px;font-size:12px}.mini-label{color:var(--muted);margin-bottom:5px;font-size:11px;display:block}.driver-popover.gn-tour{background:var(--surface);max-width:340px;box-shadow:0 18px 48px #00000038, 0 0 0 1px var(--border);color:var(--text);border-radius:14px;padding:18px 18px 14px;font-family:Figtree,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.driver-popover.gn-tour .driver-popover-title{letter-spacing:-.01em;color:var(--brand-dark);margin-bottom:6px;padding-right:18px;font-size:16px;font-weight:600;line-height:1.3}.driver-popover.gn-tour .driver-popover-description{color:var(--muted);margin-bottom:14px;font-size:13.5px;line-height:1.55}.driver-popover.gn-tour .gn-tour-keys{border-top:1px solid var(--border);opacity:.85;margin-top:8px;padding-top:8px;font-size:12.5px;display:block}.driver-popover.gn-tour .driver-popover-close-btn{width:24px;height:24px;color:var(--muted);font-size:22px;line-height:22px;transition:color .12s;top:10px;right:12px}.driver-popover.gn-tour .driver-popover-close-btn:hover{color:var(--text)}.driver-popover.gn-tour .driver-popover-footer{gap:10px;margin-top:0}.driver-popover.gn-tour .driver-popover-progress-text{color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.4px;font-size:11px}.driver-popover.gn-tour .driver-popover-navigation-btns{gap:6px}.driver-popover.gn-tour .driver-popover-footer-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);text-shadow:none;border-radius:8px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:background-color .12s,border-color .12s,color .12s}.driver-popover.gn-tour .driver-popover-footer-btn:hover{background:var(--surface-2);border-color:var(--brand-100)}.driver-popover.gn-tour .driver-popover-navigation-btns>button:last-child{background:var(--brand);border-color:var(--brand);color:#fff}.driver-popover.gn-tour .driver-popover-navigation-btns>button:last-child:hover{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}.driver-popover.gn-tour .driver-popover-btn-disabled{opacity:.45}.driver-popover.gn-tour .driver-popover-arrow{border-width:6px}.driver-popover.gn-tour .driver-popover-arrow-side-left{border-left-color:var(--surface)}.driver-popover.gn-tour .driver-popover-arrow-side-right{border-right-color:var(--surface)}.driver-popover.gn-tour .driver-popover-arrow-side-top{border-top-color:var(--surface)}.driver-popover.gn-tour .driver-popover-arrow-side-bottom{border-bottom-color:var(--surface)}@media (width<=860px){.app{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr)}.stage{padding:8px}.uploader{aspect-ratio:auto;gap:8px;width:100%;height:100%;padding:20px 16px}.uploader-icon{width:54px;height:54px}.uploader strong{font-size:17px}.uploader-sub{font-size:13px}.uploader-btn{padding:12px 16px}.gn-toasts{width:calc(100% - 16px);top:8px}.driver-popover.gn-tour{max-width:min(320px,100vw - 32px);padding:15px 15px 12px}.driver-popover.gn-tour .driver-popover-title{font-size:15px}.driver-popover.gn-tour .driver-popover-description{font-size:13px}.viewport{--gn-edge-gap:0px}.scene-scale{display:none}.panel{border-left:none;border-top:1px solid var(--border);max-height:35dvh;padding:12px}.section{margin-bottom:16px}.materials{scroll-snap-type:x proximity;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.material-btn{scroll-snap-align:start;flex:0 0 112px}.patterns{scroll-snap-type:x proximity;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.pattern-btn{scroll-snap-align:start;flex:0 0 156px}.tool-btn{border-radius:8px;width:32px;height:32px}.tool-btn svg{width:16px;height:16px}.stage-actions{border-radius:10px;gap:2px;padding:3px}.tool-row,.tool-pair{gap:2px}.stage-tools,.stage-surface{border-radius:10px;gap:3px;max-width:calc(100% - 12px);padding:5px 7px 6px;top:6px}.stage-tools{left:6px}.stage-actions{bottom:6px;right:6px}.stage-tools .tool-size{width:88px}.stage-tools.vertical .tool-size{width:6px;height:80px}.stage-label{letter-spacing:.5px;font-size:9px}.surface-seg{border-radius:8px;gap:2px;padding:2px}.surface-opt{border-radius:6px;gap:4px;padding:5px 9px;font-size:12px}.surface-opt svg{width:14px;height:14px}}@media (width<=860px) and (orientation:landscape){.app{grid-template-rows:100%;grid-template-columns:minmax(0,1fr) 260px}.panel{border-top:none;border-left:1px solid var(--border);max-height:none}.materials{grid-template-columns:1fr 1fr;display:grid;overflow:visible}.material-btn{flex:initial}.patterns{grid-template-columns:1fr 1fr;display:grid;overflow:visible}.pattern-btn{flex:initial}}@media (width<=860px) and (orientation:portrait){.app.has-photo{grid-template-rows:auto minmax(0,1fr)}.app.has-photo .stage{height:calc(clamp(34dvh, calc((100vw - 16px) / var(--gn-aspect,1.5) + 108px), 64dvh) * var(--gn-stage-shrink,1));padding:64px 8px 44px;transition:height .25s}.app.panel-expanded{--gn-stage-shrink:.9}.app.has-photo .panel{max-height:none}.app.has-photo.photo-portrait .stage{height:calc(clamp(34dvh, calc((100vw - 16px) / var(--gn-aspect,.75) + 16px), 70dvh) * var(--gn-stage-shrink,1));padding:8px}.app.photo-portrait .stage-tools{max-width:none;max-height:calc(100% - 12px);transform:translateX(calc(-1 * var(--gn-shift-x)));top:6px;left:6px}.app.photo-portrait .stage-tools .tool-row{flex-direction:column;max-height:100%}.app.photo-portrait .stage-tools .tool-sep{align-self:stretch;width:auto;height:1px;margin:2px 3px}.app.photo-portrait .stage-tools .tool-pair{flex-direction:column}.app.photo-portrait .stage-tools .tool-size{writing-mode:vertical-lr;background:linear-gradient(to top, var(--brand) 0 var(--fill,50%), var(--surface-2) var(--fill,50%) 100%);direction:rtl;width:6px;min-width:0;height:72px;margin:4px 0 6px}.app.photo-portrait .stage-surface{transform:translateX(var(--gn-shift-x));top:6px;left:auto;right:6px}.app.photo-portrait .stage-surface .stage-label{display:none}.app.photo-portrait .surface-seg{flex-direction:column}.app.photo-portrait .surface-opt .surface-opt-label{display:none}.app.photo-portrait .surface-opt{justify-content:center;padding:8px}.app.photo-portrait .stage-actions{transform:translateX(var(--gn-shift-x));flex-direction:column;bottom:6px;right:6px}.app.photo-portrait .stage-actions .tool-sep{align-self:stretch;width:auto;height:1px;margin:2px 3px}}.measure-layer{z-index:5;pointer-events:none;position:absolute;inset:0}.measure-svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.measure-line-halo{stroke:#ffffffe6;stroke-width:5px}.measure-line{stroke:var(--brand);stroke-width:2px}.measure-handle{z-index:2}.measure-handle:after{border:3px solid var(--brand);background:#ffffff59;width:17px;height:17px;box-shadow:0 1px 4px #00000059,inset 0 0 0 1px #fffc}.measure-card{z-index:1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto;background:#ffffffeb;border:1px solid #ffffffb8;border-radius:12px;gap:6px;width:max-content;max-width:calc(100% - 20px);padding:8px 10px;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 12px 30px #00000038}.measure-card-label{text-transform:uppercase;letter-spacing:.7px;color:var(--muted);font-size:10px;font-weight:600;line-height:1}.measure-card-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}@media (width<=860px){.measure-card{border-radius:10px;gap:5px;padding:6px 8px 7px}}.measure-input-wrap{border:1px solid var(--border);color:var(--muted);background:#fff;border-radius:8px;align-items:baseline;gap:3px;padding:4px 8px;font-size:14px;display:inline-flex}.measure-input-wrap:focus-within{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-050)}.measure-input-wrap input{width:44px;font:inherit;color:var(--text);font-variant-numeric:tabular-nums;appearance:textfield;background:0 0;border:none;outline:none;font-weight:700}.measure-input-wrap input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.measure-input-wrap input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.measure-preset{border:1px solid var(--border);color:var(--muted);cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:600}.measure-preset:hover{border-color:var(--brand-100);color:var(--brand-dark)}.measure-preset.active{border-color:var(--brand);background:var(--brand-050);color:var(--brand-dark)}.measure-card-actions{align-items:center;gap:6px;display:flex}.measure-confirm{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:5px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-flex}.measure-confirm:hover{background:var(--brand-dark)}.measure-cancel{border:1px solid var(--border);width:30px;height:30px;color:var(--muted);cursor:pointer;background:#fff;border-radius:8px;place-items:center;display:grid}.measure-cancel:hover{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 40%, var(--border))}.scene-scale{font:inherit;text-align:left}.scene-scale.hoverable{cursor:pointer}.scene-scale.hoverable:hover{border-color:var(--brand-100)}.scene-scale-label{align-items:center;gap:4px;display:flex}.scene-scale-hint{color:var(--muted);opacity:0;font-size:10px;font-weight:600;transition:opacity .12s}.scene-scale.hoverable:hover .scene-scale-hint{opacity:1}.scene-scale.calibrated{border-color:var(--brand-100)}.app.fullscreen .stage,.app.has-photo.fullscreen .stage,.app.has-photo.photo-portrait.fullscreen .stage{z-index:60;height:auto;padding:calc(env(safe-area-inset-top,0px) + 8px) calc(env(safe-area-inset-right,0px) + 8px) calc(env(safe-area-inset-bottom,0px) + 8px) calc(env(safe-area-inset-left,0px) + 8px);position:fixed;inset:0}.app.fullscreen .scene-scale{display:none}.stage-fullscreen-exit{top:calc(env(safe-area-inset-top,0px) + 10px);right:calc(env(safe-area-inset-right,0px) + 10px);z-index:70;border:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:38px;height:38px;color:var(--text);cursor:pointer;background:#fffffff0;border-radius:50%;place-items:center;padding:0;display:grid;position:fixed;box-shadow:0 4px 16px #0000002e}.stage-fullscreen-exit:hover{color:var(--brand-dark);background:#fff}@media (width<=860px) and (orientation:portrait){.app.photo-portrait.fullscreen .stage-surface{top:56px}}
