@layer tokens{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page-gutter:20px;--color-brand-primary:#ff6310;--color-brand-hover:#fd7c47;--color-on-brand:#111518;--color-text:#111518;--color-muted:#687279;--color-border:#e9ebec;--color-border-strong:#cdd1d3;--color-frame:color-mix(in srgb, var(--color-text) 92%, white);--color-panel:#f4f5f6;--color-background:#f8f9fa;--color-surface:#fff;--color-brand-soft:color-mix(in srgb, var(--color-brand-primary) 9%, white);--color-brand-softer:color-mix(in srgb, var(--color-brand-primary) 4%, white);--color-brand-border:color-mix(in srgb, var(--color-brand-primary) 45%, white);--color-brand-accent:color-mix(in srgb, var(--color-brand-primary) 60%, white);--color-success:#39744d;--color-success-soft:#eaf2ed;--color-scrim:#1115187a;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--radius-control:14px;--radius-card:22px;--radius-hero:30px;--radius-sheet:24px;--target-size:44px;--shadow-card:0 14px 45px #1115180a;--shadow-sheet:0 18px 48px #11151824}}@layer reset{*,:before,:after{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}button,input,select,textarea{font:inherit}}@layer base{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-background);color:var(--color-text);font-family:Dana,system-ui,sans-serif}body{min-height:100vh;min-height:100dvh;line-height:1.6}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--color-text);outline-offset:3px}h1[tabindex="-1"]:focus{outline:none}::selection{background:var(--color-brand-hover);color:var(--color-text)}}@layer components{.app-shell{width:min(100%,1280px);min-height:100vh;min-height:100dvh;padding:max(12px, env(safe-area-inset-top)) max(var(--page-gutter), env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(var(--page-gutter), env(safe-area-inset-left));margin-inline:auto}.site-header,.workspace-header{justify-content:space-between;align-items:center;min-height:56px;display:flex}.wordmark{color:var(--color-text);align-items:center;gap:9px;font-size:16px;font-weight:750;text-decoration:none;display:inline-flex}.wordmark__mark{border-radius:var(--radius-control);background:var(--color-brand-primary);width:32px;height:32px;color:var(--color-on-brand);flex:none;place-items:center;font-size:17px;font-weight:850;line-height:1;display:inline-grid}.wordmark-logo{width:min(164px,45vw);height:auto;display:block}.home-page .site-header .wordmark-logo{object-fit:contain;width:min(72px,18vw);height:auto}.home-page .site-header{min-height:80px;position:relative}.home-page .site-header .wordmark{position:absolute;left:50%;transform:translate(-50%)}.workspace-brand-mark{object-fit:contain;flex:none;width:32px;height:32px;display:block}.button{min-height:var(--target-size);justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-control);cursor:pointer;touch-action:manipulation;border:0;text-decoration:none;transition:background-color .14s,transform .14s;display:inline-flex}.button>svg{flex-shrink:0}.button--secondary{border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);padding:0 16px;font-size:14px;font-weight:650}.button--secondary:hover{background:var(--color-panel)}.button--quiet{color:var(--color-muted);background:0 0;padding:0 14px;font-size:14px;font-weight:650}.button--quiet:hover{background:var(--color-border)}.home-main{width:min(100%,1040px);margin:clamp(26px,6vh,58px) auto 0}.home-hero{border:1px solid var(--color-border);border-radius:var(--radius-hero);background:var(--color-surface);min-height:340px;box-shadow:var(--shadow-card);grid-template-columns:minmax(0,1.1fr) minmax(220px,.9fr);align-items:center;padding:clamp(26px,5vw,56px);display:grid;position:relative;overflow:hidden}.hero-copy{z-index:1;max-width:550px;position:relative}.home-cta-group{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.video-guide-link{border-color:var(--color-border-strong);min-height:50px;color:var(--color-text);white-space:nowrap;background:#eef1f3;justify-content:center;align-items:center;gap:9px;text-decoration:none;display:inline-flex}.video-guide-link:hover{background:#e3e8eb}.onboarding-copy .video-guide-link{margin-top:10px}.eyebrow{color:var(--color-muted);letter-spacing:.01em;margin:0 0 8px;font-size:13px;font-weight:700}.home-hero h1,.guide-main h1{letter-spacing:-.035em;max-width:600px;margin:0;font-size:clamp(27px,4.3vw,42px);font-weight:780;line-height:1.3}.hero-description{max-width:470px;color:var(--color-muted);margin:13px 0 22px;font-size:15px}.button--primary{background:var(--color-brand-primary);min-height:50px;color:var(--color-on-brand);padding:0 20px;font-size:15px;font-weight:750}.button--primary:hover:not(:disabled){background:var(--color-brand-hover)}.button--primary:active:not(:disabled),.button--quiet:active{transform:scale(.98)}.button--primary:disabled{cursor:not-allowed;opacity:.7}.privacy-note{color:var(--color-muted);align-items:center;gap:8px;margin:17px 0 0;font-size:12px;display:flex}.privacy-settings-link{min-height:var(--target-size);color:var(--color-text);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;margin-block-start:2px;padding:0 8px;font-size:12px;font-weight:700;text-decoration:underline;display:inline-flex}.privacy-settings-link:hover{background:var(--color-brand-soft)}.privacy-note__dot{background:var(--color-success);width:8px;height:8px;box-shadow:0 0 0 4px var(--color-success-soft);border-radius:50%;flex:none}.hero-illustration{isolation:isolate;place-items:center;min-height:260px;display:grid;position:relative}.hero-illustration__image{object-fit:contain;width:min(100%,420px);max-height:420px;display:block}.recent-section{margin-top:clamp(32px,6vh,54px)}.section-heading{justify-content:space-between;align-items:end;gap:14px;margin-bottom:15px;display:flex}.section-heading .eyebrow{margin-bottom:2px}.section-heading h2{margin:0;font-size:20px;line-height:1.4}.local-label{background:var(--color-border);color:var(--color-text);white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:650}.empty-projects{border:1px dashed var(--color-border-strong);border-radius:var(--radius-card);text-align:center;background:#ffffffb3;align-content:center;justify-items:center;min-height:180px;padding:24px;display:grid}.empty-projects__icon{background:var(--color-brand-soft);width:48px;height:48px;color:var(--color-text);border-radius:16px;place-items:center;margin-bottom:8px;display:grid}.empty-projects__icon svg{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:30px;height:30px}.empty-projects h3{margin:0;font-size:15px}.empty-projects p{max-width:390px;color:var(--color-muted);margin:4px 0 0;font-size:13px}.recent-projects{min-height:180px}.project-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:14px;display:grid}.project-card{padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-card);padding-inline-end:62px;position:relative}.project-card__open{width:100%;min-height:104px;color:var(--color-text);text-align:start;cursor:pointer;background:0 0;border:0;border-radius:13px;grid-template-rows:minmax(0,1fr);grid-template-columns:84px minmax(0,1fr);align-items:center;gap:6px 12px;padding:4px;display:grid}.project-card__open:hover{background:var(--color-brand-softer)}.project-card__thumbnail{background:var(--color-panel);width:84px;height:84px;color:var(--color-muted);border-radius:13px;grid-row:1;place-items:center;display:grid;overflow:hidden}.project-card__thumbnail img{object-fit:contain;width:100%;height:100%}.project-card__details{align-content:center;gap:3px;min-width:0;display:grid}.project-card__title{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:750;overflow:hidden}.project-card__date{color:var(--color-muted);font-size:11px}.project-card__actions{z-index:1;position:absolute;inset-block-start:10px;inset-inline-end:10px}.project-card__menu{border:1px solid var(--color-border);background:var(--color-surface);width:152px;box-shadow:var(--shadow-sheet);border-radius:14px;padding:5px;display:grid;position:absolute;inset-block-start:48px;inset-inline-end:0}.project-card__menu[hidden]{display:none}.project-card__menu .button{text-align:start;justify-content:flex-start}.project-state{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);min-height:180px;color:var(--color-muted);text-align:center;align-content:center;justify-items:center;gap:10px;padding:20px;font-size:14px;display:grid}.project-state p{margin:0}.project-dialog__form{gap:9px;margin-top:16px;display:grid}.project-dialog__form label{font-size:13px;font-weight:700}.project-dialog__form input{width:100%;min-height:var(--target-size);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);border-radius:12px;padding:0 12px}.project-dialog__form input:focus-visible{outline:3px solid var(--color-text);outline-offset:2px}.project-dialog__error{color:#a02b22;margin:0;font-size:13px}.project-dialog__buttons{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.button--danger{color:#8e211a;border-color:#a02b22}.site-footer{width:min(100%,1040px);color:var(--color-muted);text-align:center;margin:30px auto 0;font-size:12px}.site-footer a{color:inherit;text-underline-offset:3px;font-weight:750;text-decoration:underline}.workspace-page{flex-direction:column;padding-block-end:max(12px, env(safe-area-inset-bottom));display:flex}.workspace-page--interactive{width:100%;max-width:none;height:100vh;height:100dvh;min-height:0;padding:max(8px, env(safe-area-inset-top)) 0 0;overflow:hidden}.workspace-page--interactive .workspace-header{margin-inline:max(var(--page-gutter), env(safe-area-inset-left)) max(var(--page-gutter), env(safe-area-inset-right));flex:none}.workspace-page:fullscreen{background:var(--color-background);width:100%;max-width:none;min-height:100%;margin:0}.workspace-header{z-index:1;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;display:grid;position:relative}.workspace-header-actions{flex:none;grid-area:1/3;justify-self:end;align-items:center;gap:6px;display:flex}.workspace-browser-controls{flex:none;position:relative}.workspace-display-tools{z-index:20;top:0;left:var(--page-gutter);width:min(288px, calc(100vw - var(--page-gutter) - var(--page-gutter)));max-height:calc(100dvh - var(--page-gutter) - var(--page-gutter));border:1px solid var(--color-border-strong);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card);gap:8px;padding:12px;display:grid;position:fixed;overflow:auto}.workspace-display-tools[hidden]{display:none}.workspace-display-tools__mode,.workspace-display-tools__offline,.workspace-display-tools__message,.workspace-display-tools__hint{color:var(--color-muted);margin:0;font-size:12px;line-height:1.6}.workspace-display-tools__mode{color:var(--color-text);font-weight:700}.workspace-display-tools__hint{border-top:1px solid var(--color-border);padding-top:6px}.workspace-display-tools .button{width:100%}.workspace-title{z-index:1;pointer-events:none;grid-area:1/2;justify-self:center;place-items:center;min-width:0;display:grid;position:relative}.workspace-brand-logo{object-fit:contain;width:64px;max-width:100%;height:64px;display:block}.workspace-title h1{margin:0}.back-button{place-self:center start;width:44px;min-width:44px;padding-inline:0}.back-button__arrow{transform:rotate(180deg)}.workspace-header-trace{min-height:var(--target-size);white-space:nowrap;padding-inline:12px}.workspace-page--trace .back-button{justify-content:center;width:44px;min-width:44px;padding-inline:0}.button--icon{width:var(--target-size);min-width:var(--target-size);border:1px solid var(--color-border);background:var(--color-surface);padding:0;font-size:19px}.button--icon:hover{background:var(--color-panel)}.workspace-main{flex:1;align-self:stretch;width:100%;max-width:none;padding-block:12px;display:flex;position:relative}.workspace-main--interactive{flex-direction:column;gap:0;min-height:0;padding:0;position:relative}.workspace-main--interactive .workspace-canvas{border-inline:0;border-radius:0;flex:auto;min-height:0}.workspace-canvas:focus-visible{outline:3px solid var(--color-text);outline-offset:3px}.workspace-canvas{border:1px solid var(--color-border);border-radius:var(--radius-card);background-color:var(--color-panel);background-image:radial-gradient(var(--color-border) .8px, transparent .8px);background-position:50%;background-size:19px 19px;place-items:center;width:100%;min-height:min(680px,100dvh - 112px);display:grid;position:relative;overflow:hidden}.stored-project-view{width:100%;height:100%;min-height:inherit;align-content:center;justify-items:center;padding:32px 24px;display:grid;overflow:hidden}.stored-project-view__image{object-fit:contain;transform-origin:50%;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;cursor:grab;max-width:min(92%,760px);max-height:min(78dvh,620px)}.stored-project-view__image:active{cursor:grabbing}.workspace-main--interactive .stored-project-view{width:auto;height:auto;min-height:0;padding:0;display:block;position:absolute;inset:0;overflow:hidden}.workspace-main--interactive .stored-project-view__image{object-fit:contain;width:100%;max-width:100%;height:100%;max-height:100%;position:absolute;inset:0}.workspace-main--interactive .image-metadata{z-index:1;background:color-mix(in srgb, var(--color-surface) 78%, transparent);border-radius:999px;margin:0;padding:3px 8px;position:absolute;inset-block-start:12px;inset-inline-start:12px}.workspace-page--trace .image-metadata{display:none}.workspace-transform-tools{z-index:5;inset-inline:0;width:960px;max-width:calc(100vw - var(--page-gutter) - var(--page-gutter));border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);gap:8px;margin-inline:auto;padding:8px;display:grid;position:absolute;bottom:calc(100% + 100px)}.workspace-transform-tools[hidden]{display:none}.workspace-toolbar-dock{z-index:6;inset-inline:max(var(--page-gutter), env(safe-area-inset-left)) max(var(--page-gutter), env(safe-area-inset-right));min-height:var(--target-size);direction:ltr;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;display:grid;position:absolute;bottom:8px}.workspace-toolbar-image-action{direction:rtl;grid-column:1;justify-self:start}.workspace-toolbar-utility-actions{direction:ltr;grid-column:3;justify-self:end;align-items:center;gap:8px;display:flex}.workspace-display-actions{flex:none;position:relative}.workspace-display-status{z-index:30;right:max(var(--page-gutter), env(safe-area-inset-right));bottom:calc(var(--target-size) + 20px + env(safe-area-inset-bottom));max-width:min(360px, calc(100vw - 2 * var(--page-gutter)));border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-muted);box-shadow:var(--shadow-card);margin:0;padding:10px 14px;font-size:12px;line-height:1.5;position:fixed}.workspace-toolbar-toggle{min-width:112px;min-height:var(--target-size);background:var(--color-surface);box-shadow:var(--shadow-card);grid-column:2;justify-self:center;padding-inline:16px}.workspace-trace-start{width:100%;min-height:var(--target-size)}.trace-exit-button{min-width:112px;min-height:var(--target-size)}.workspace-transform-tools__zoom,.workspace-transform-tools__zoom-row{justify-content:center;align-items:center;gap:8px;display:flex}.workspace-edit-toggle{min-width:56px;min-height:var(--target-size);padding-inline:8px;font-size:12px}.workspace-transform-tools__zoom .button--icon{flex:0 0 var(--target-size);font-size:23px;line-height:1}.workspace-zoom-value{min-width:68px;color:var(--color-muted);font-variant-numeric:tabular-nums;text-align:center;font-size:13px}.workspace-transform-tools__locks{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.workspace-transform-tools__locks .button{min-width:0;padding-inline:10px;font-size:12px}.workspace-movement-modes{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.workspace-movement-modes .button{gap:4px;min-width:0;padding-inline:6px;font-size:12px}.workspace-transform-tools .is-pressed{border:1px solid var(--color-brand-border);background:var(--color-brand-soft);color:var(--color-text);font-weight:750}.workspace-edit-panel{z-index:5;inset-inline:-1px;border:1px solid var(--color-border-strong);border-radius:var(--radius-card);background:var(--color-surface);max-height:min(55dvh,360px);box-shadow:var(--shadow-card);overscroll-behavior:contain;gap:6px;padding:8px;display:grid;position:absolute;bottom:calc(100% + 8px);overflow:auto}.workspace-edit-panel[hidden]{display:none}.workspace-edit-panel__header{justify-content:space-between;align-items:center;min-height:44px;display:flex}.workspace-edit-panel__header h2{margin:0;font-size:14px}.workspace-edit-panel__header .button{min-height:var(--target-size)}.workspace-edit-slider{min-height:44px;color:var(--color-text);grid-template-columns:62px minmax(0,1fr) 42px;align-items:center;gap:8px;font-size:12px;font-weight:650;display:grid}.workspace-edit-slider input{width:100%;min-width:0;min-height:var(--target-size);accent-color:var(--color-brand-primary)}.workspace-edit-slider output{color:var(--color-muted);font-variant-numeric:tabular-nums;text-align:end;font-size:11px}.workspace-edit-panel__actions{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;display:grid}.workspace-edit-panel__actions .button,.workspace-lightbox-toggle{min-width:0;min-height:var(--target-size);padding-inline:2px;font-size:11px}.workspace-canvas--lightbox{background-color:#fff;background-image:none}.workspace-project-state{color:var(--color-muted);text-align:center;justify-self:center;padding:24px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.workspace-image-limits{margin:14px 0 0!important;font-size:11px!important}.image-workspace-actions{z-index:1;inset-inline:var(--page-gutter);justify-content:center;gap:8px;display:flex;position:absolute;inset-block-end:calc(2 * var(--target-size) - 16px)}.image-workspace-actions[hidden]{display:none}.image-workspace-actions .button{flex:0 auto}.image-metadata{color:var(--color-muted);direction:ltr;unicode-bidi:plaintext;margin:12px 0 0;font-size:12px}.image-import-error,.image-save-message{z-index:2;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);max-width:580px;color:var(--color-text);box-shadow:var(--shadow-card);text-align:center;margin:0 auto;padding:8px 12px;font-size:12px;position:absolute;inset-block-end:82px;inset-inline:12px}.image-import-error{border-color:#bd5447}.image-consent-dialog{width:min(100% - 32px,520px)}@media (max-width:380px){:root{--page-gutter:14px}.image-workspace-actions{gap:6px}.image-workspace-actions .button{flex:1 1 0;padding-inline:10px;font-size:13px}.workspace-transform-tools__locks .button,.workspace-movement-modes .button{padding-inline:4px;font-size:11px}}.canvas-empty{text-align:center;justify-items:center;max-width:420px;padding:26px 20px;display:grid}.canvas-empty__icon{border:1px solid var(--color-brand-border);background:var(--color-brand-softer);width:68px;height:68px;color:var(--color-text);border-radius:21px;place-items:center;margin-bottom:14px;display:grid}.canvas-empty__icon svg{stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:42px;height:42px}.canvas-empty h2{margin:0;font-size:clamp(17px,3vw,21px)}.canvas-empty p{color:var(--color-muted);margin:6px 0 20px;font-size:13px}.coming-soon{background:#11151814;border-radius:999px;padding:3px 7px;font-size:10px}.canvas-caption{color:var(--color-muted);margin:0;font-size:11px;position:absolute;inset-block-end:8px;inset-inline-start:16px}.guide-main{width:min(100%,680px);margin:clamp(36px,8vh,82px) auto 0}.guide-main h1{font-size:clamp(25px,4.4vw,38px)}.guide-intro{color:var(--color-muted);margin:8px 0 28px}.guide-steps{gap:12px;margin:0;padding:0;list-style:none;display:grid}.guide-step{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);align-items:start;gap:16px;padding:18px;display:flex}.guide-step__number{background:var(--color-brand-soft);width:38px;height:38px;color:var(--color-text);border-radius:13px;flex:none;place-items:center;font-size:12px;font-weight:750;display:grid}.guide-step h2{margin:0;font-size:15px}.guide-step p{color:var(--color-muted);margin:3px 0 0;font-size:13px}.guide-privacy{border-inline-start:3px solid var(--color-brand-primary);background:var(--color-surface);color:var(--color-muted);border-radius:0 12px 12px 0;margin:20px 0;padding:13px 15px;font-size:12px}.guide-cta{min-width:180px}.header-spacer{width:46px}.onboarding-page{flex-direction:column;display:flex}.onboarding-header{justify-content:center;align-items:center;min-height:56px;display:flex;position:relative}.onboarding-header>.button{position:absolute;inset-inline-end:0}.onboarding-main{flex-direction:column;flex:1;justify-content:center;align-self:center;width:min(100%,820px);margin:clamp(16px,4vh,34px) auto 0;display:flex}.onboarding-card{border:1px solid var(--color-border);border-radius:var(--radius-hero);background:var(--color-surface);min-height:385px;box-shadow:var(--shadow-card);grid-template-columns:minmax(0,1fr) minmax(0,.95fr);align-items:center;display:grid;overflow:hidden}.onboarding-art{background:var(--color-surface);place-items:center;min-height:300px;padding:22px;display:grid}.guide-illustration{aspect-ratio:1;object-fit:contain;width:min(100%,400px);display:block}.onboarding-copy{padding:28px clamp(22px,4vw,46px)}.onboarding-copy h1{letter-spacing:-.03em;white-space:nowrap;margin:0;font-size:clamp(16px,1.8vw,25px);font-weight:780;line-height:1.35}.onboarding-copy>p:last-child{color:var(--color-muted);margin:12px 0 0;font-size:15px}.onboarding-progress{justify-content:center;align-items:center;gap:16px;margin:20px 2px 12px;display:flex}.onboarding-dots{align-items:center;gap:7px;margin:0;padding:0;list-style:none;display:flex}.onboarding-dot{background:var(--color-border-strong);border-radius:999px;width:8px;height:8px;transition:width .15s,background-color .15s;display:block}.onboarding-dot--active{background:var(--color-brand-primary);width:25px}.onboarding-controls{justify-content:space-between;align-items:center;gap:12px;display:flex}.onboarding-controls .button--secondary svg{transform:rotate(180deg)}.onboarding-controls .button:disabled{cursor:not-allowed;opacity:.45}.guide-skip{min-width:var(--target-size)}.help-dialog{inset:auto var(--page-gutter) max(var(--page-gutter), env(safe-area-inset-bottom));width:min(calc(100% - var(--page-gutter) - var(--page-gutter)), 520px);max-width:none;max-height:min(84dvh,760px);padding:22px 20px calc(20px + env(safe-area-inset-bottom));border:1px solid var(--color-border);border-radius:var(--radius-sheet);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sheet);margin:0 auto;position:fixed;overflow:auto}.help-dialog::backdrop{background:var(--color-scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.help-dialog:focus{outline:none}.help-dialog__header{justify-content:space-between;align-items:start;gap:16px;display:flex}.help-dialog__header .eyebrow{margin:0 0 2px}.help-dialog__header h2{margin:0;font-size:20px}.help-dialog__intro{color:var(--color-muted);margin:12px 0 16px;font-size:14px}.help-dialog__list{gap:10px;margin:0 0 20px;padding:0;list-style:none;display:grid}.help-dialog__list li{color:var(--color-text);align-items:start;gap:10px;font-size:13px;display:flex}.help-dialog__list li>span{background:var(--color-brand-soft);border-radius:9px;flex:none;place-items:center;width:25px;height:25px;font-size:12px;font-weight:700;display:grid}.help-dialog__actions{flex-wrap:wrap;gap:8px;display:flex}.help-dialog__actions>.button{flex:140px;justify-content:center;min-width:0;padding-inline:10px}.storage-dialog__message{background:var(--color-brand-softer);color:var(--color-text);border-radius:12px;margin:16px 0 0;padding:11px 12px;font-size:13px}.storage-consent-status{background:var(--color-background);min-height:44px;color:var(--color-text);border-radius:12px;align-items:center;gap:10px;padding:8px 12px;font-size:13px;font-weight:650;display:flex}.storage-consent-status__dot{background:var(--color-muted);border-radius:50%;flex:none;width:9px;height:9px}.storage-consent-status__dot--on{background:var(--color-success);box-shadow:0 0 0 4px var(--color-success-soft)}.storage-dialog__actions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}}@layer utilities{@media (min-width:720px){.help-dialog{border-radius:var(--radius-sheet);padding:24px;inset:50% auto auto 50%;transform:translate(-50%,-50%)}}@media (min-width:900px){:root{--page-gutter:48px}.app-shell:not(.workspace-page){padding-inline:var(--page-gutter)}}@media (max-width:700px){.home-hero{border-radius:var(--radius-hero);grid-template-columns:minmax(0,1fr);min-height:auto;padding:28px 23px 10px}.hero-description{font-size:14px}.hero-illustration{min-height:clamp(240px,70vw,340px);margin-top:6px}.hero-illustration__image{width:min(100%,340px);max-height:340px}.home-main{margin-top:24px}.recent-section{margin-top:30px}.workspace-canvas{border-radius:0;min-height:calc(100dvh - 92px)}.workspace-main--interactive .workspace-canvas{min-height:0}.workspace-toolbar-dock{inset-inline:max(var(--page-gutter), env(safe-area-inset-left)) max(var(--page-gutter), env(safe-area-inset-right));bottom:max(8px, env(safe-area-inset-bottom))}.workspace-transform-tools{width:100%;margin-inline:0;inset-inline:0}.workspace-edit-panel{width:auto;margin-inline:0;inset-inline:-1px}.workspace-display-tools{max-height:calc(100dvh - 104px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.guide-main{margin-top:42px}.onboarding-page{padding-inline:max(var(--page-gutter), env(safe-area-inset-left)) max(var(--page-gutter), env(safe-area-inset-right))}.onboarding-main{margin-top:18px}.onboarding-card{border-radius:var(--radius-card);grid-template-columns:minmax(0,1fr);min-height:0}.onboarding-art{min-height:208px;padding:16px}.guide-illustration{width:min(100%,340px)}.onboarding-copy{padding:20px 22px 24px}.onboarding-copy h1{letter-spacing:-.045em;font-size:clamp(15px,5vw,20px)}.onboarding-copy>p:last-child{margin-top:7px;font-size:14px}.onboarding-progress{margin-top:15px}}@media (max-height:700px){.workspace-main--interactive .stored-project-view{align-content:start}}@media (max-width:380px){.app-shell{padding-inline:max(14px, env(safe-area-inset-left)) max(14px, env(safe-area-inset-right))}.workspace-page--interactive{padding-inline:0}.workspace-brand-logo{width:56px;height:56px}.wordmark{gap:7px;font-size:15px}.button--quiet{padding-inline:10px}.home-hero{padding-inline:19px}.home-hero h1{font-size:27px}.empty-projects{padding-inline:16px}.onboarding-page{padding-inline:max(var(--page-gutter), env(safe-area-inset-left)) max(var(--page-gutter), env(safe-area-inset-right))}.onboarding-art{min-height:185px}.onboarding-copy{padding-inline:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}}@font-face{font-family:Dana;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dana-fanum-regular.woff2)format("woff2")}@font-face{font-family:Dana;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/dana-fanum-medium.woff2)format("woff2")}

@layer components{.home-hero__help{position:absolute;z-index:2;top:12px;right:clamp(12px,2vw,24px)}}@layer utilities{@media(max-width:700px){.home-hero .hero-copy{padding-top:40px}}}

@layer components{.onboarding-header .wordmark-logo{width:min(72px,18vw);height:auto;object-fit:contain}}

@layer utilities{@media(max-width:700px){.workspace-header{min-height:54px;padding-block:5px}.workspace-brand-logo{width:44px;height:44px}}@media(max-width:380px){.workspace-brand-logo{width:44px;height:44px}}}

@layer components{.workspace-header{min-height:74px}.workspace-brand-logo{margin-block:5px}.workspace-header-trace,.trace-exit-button,.workspace-toolbar-image-action .workspace-import-button,.workspace-toolbar-toggle{white-space:nowrap}.workspace-header-trace,.trace-exit-button,.workspace-toolbar-toggle,.workspace-toolbar-image-action .workspace-import-button{flex-shrink:0}.trace-exit-button{flex:none}}@layer utilities{@media(max-width:700px){.workspace-header{min-height:54px}.workspace-brand-logo{width:44px;height:44px}.workspace-toolbar-image-action .workspace-import-button{width:44px;min-width:44px;height:44px;min-height:44px;padding:0}.workspace-toolbar-image-action .workspace-import-button__label{display:none}}}

.workspace-transform-tools{bottom:calc(100% + 12px)}

.workspace-page--interactive {
  position: relative;
  padding-block-start: 0;
}
.workspace-page--interactive .workspace-header {
  position: absolute;
  z-index: 30;
  isolation: isolate;
  top: max(8px, env(safe-area-inset-top));
  inset-inline: 0;
  height: 74px;
  min-height: 74px;
  max-height: none;
  margin-inline: 0;
  padding-block: 0;
  padding-inline: max(var(--page-gutter), env(safe-area-inset-left)) max(var(--page-gutter), env(safe-area-inset-right));
  background: transparent;
  transition: none;
}
.workspace-page--interactive .workspace-header::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: calc(-1 * max(8px, env(safe-area-inset-top))) 0 0;
  background: var(--color-surface);
  opacity: 1;
  pointer-events: none;
  transition: opacity 320ms ease;
}
.workspace-page--trace .workspace-header::before { opacity: 0; }
.workspace-page--interactive .workspace-header > :not(.workspace-header-actions) {
  opacity: 1;
  visibility: visible;
  transform: none;
  transition: opacity 320ms ease, visibility 0s;
}
.workspace-page--trace .workspace-header > :not(.workspace-header-actions) {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 320ms ease, visibility 0s linear 320ms;
}
.workspace-header-actions { gap: 0; }
.workspace-transfer-button {
  position: relative;
  box-sizing: border-box;
  width: max-content;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0 12px;
  gap: 0;
  direction: ltr;
  justify-content: flex-start;
  overflow: hidden;
  white-space: nowrap;
  transition: background-color 140ms ease;
}
.workspace-transfer-button__label {
  flex: none;
  display: inline-block;
  max-width: 0;
  margin-left: 0;
  overflow: hidden;
  direction: rtl;
  white-space: nowrap;
  opacity: 0;
  transition: max-width 320ms ease, margin-left 320ms ease, opacity 320ms ease;
}
.workspace-page--trace .workspace-transfer-button {
  width: max-content;
  min-width: 44px;
}
.workspace-page--trace .workspace-transfer-button__label {
  max-width: 110px;
  margin-left: 8px;
  opacity: 1;
}
@media (max-width: 700px) {
  .workspace-page--interactive .workspace-header {
    height: 54px;
    min-height: 54px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .workspace-header::before, .workspace-transfer-button, .workspace-transfer-button__label {
    transition-duration: 0.01ms !important;
  }
}

  .workspace-page--trace .workspace-toolbar-image-action,
  .workspace-page--trace .workspace-toolbar-toggle {
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px) scale(.96);
    pointer-events: none;
    transition: opacity 220ms ease, transform 320ms ease, visibility 0s linear 320ms;
  }

  .workspace-transform-tools {
    transition: opacity 240ms ease, transform 320ms ease, visibility 0s linear 320ms;
  }

  .workspace-page--trace .workspace-transform-tools {
    opacity: 0;
    visibility: hidden;
    transform: translateY(16px) scale(.985);
    pointer-events: none;
    animation: maritrace-trace-tools-out 320ms ease both;
  }

  .workspace-page--trace .workspace-edit-panel {
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    pointer-events: none;
    transition: opacity 200ms ease, transform 260ms ease, visibility 0s linear 260ms;
  }

  .workspace-toolbar-utility-actions {
    transition: gap 280ms ease;
  }

  .workspace-page--trace .workspace-toolbar-utility-actions {
    position: fixed;
    z-index: 35;
    right: max(var(--page-gutter), env(safe-area-inset-right));
    bottom: max(8px, env(safe-area-inset-bottom));
    gap: 0;
  }

  .workspace-page--trace .workspace-toolbar-utility-actions > .button--icon[aria-label="راهنما"] {
    width: 0;
    min-width: 0;
    height: 0;
    min-height: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border-width: 0;
    opacity: 0;
    visibility: hidden;
    transform: scale(.7);
    pointer-events: none;
    transition: width 280ms ease, min-width 280ms ease, height 280ms ease, min-height 280ms ease,
      opacity 200ms ease, transform 280ms ease, visibility 0s linear 280ms, padding 280ms ease, border-width 280ms ease;
  }

  @keyframes maritrace-trace-enter {
    from { opacity: 0; transform: translateY(-10px) scale(.96); }
    to { opacity: 1; transform: translateY(0) scale(1); }
  }

  @keyframes maritrace-trace-tools-out {
    from { opacity: 1; transform: translateY(0) scale(1); }
    to { opacity: 0; transform: translateY(16px) scale(.985); }
  }

  @media (prefers-reduced-motion: reduce) {
    .workspace-header,
    .workspace-page--trace .workspace-header > :not(.workspace-header-actions),
    .workspace-page--trace .workspace-toolbar-image-action,
    .workspace-page--trace .workspace-toolbar-toggle,
    .workspace-transform-tools,
    .workspace-page--trace .workspace-edit-panel,
    .workspace-toolbar-utility-actions,
    .workspace-page--trace .workspace-toolbar-utility-actions > .button--icon[aria-label="راهنما"] {
      transition-duration: 0.01ms;
      animation-duration: 0.01ms;
    }
  }

/* Match Mariwork primary orange on touch devices without sticky hover. */
@media (hover: none) {
  .button--primary:hover:not(:disabled) {
    background: var(--color-brand-primary);
  }
}

/* Prevent document scrolling around the iPad workspace viewport. */
html.workspace-document,
html.workspace-document body,
html.workspace-document #root {
  height: 100%;
  min-height: 0;
  overflow: hidden;
  overscroll-behavior: none;
}
html.workspace-document .workspace-page {
  box-sizing: border-box;
  height: 100vh;
  height: 100dvh;
  min-height: 0;
  overflow: hidden;
}
/* Transfer mode leaves only the end-transfer button on screen. */
.workspace-page--trace .workspace-toolbar-utility-actions {
  display: none;
  transition: none;
  animation: none;
}

/* Keep workspace and its bottom controls inside the current visual viewport. */
html.workspace-document .workspace-page {
  position: fixed;
  inset: 0;
  height: var(--workspace-viewport-height, 100dvh);
  min-height: 0;
  max-height: var(--workspace-viewport-height, 100dvh);
}
.workspace-main--interactive { min-height: 0; }
.help-dialog {
  direction: rtl;
  text-align: right;
}

.workspace-header .back-button {
  width: var(--target-size);
  min-width: var(--target-size);
  height: var(--target-size);
  min-height: var(--target-size);
  padding: 0;
  justify-content: center;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  background: var(--color-surface);
  color: var(--color-text);
}
.workspace-header .back-button:hover {
  background: var(--color-panel);
}

.workspace-page--interactive .workspace-header::before {
  bottom: -3px;
}

.workspace-header .back-button {
  border-color: var(--color-border-strong);
}

.image-consent-dialog {
  position: fixed;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
  width: min(calc(100% - var(--page-gutter) - var(--page-gutter)), 440px);
  max-height: calc(100dvh - 2 * var(--page-gutter));
  margin: 0;
  direction: rtl;
  text-align: right;
}
.image-consent-dialog::backdrop {
  background: rgb(17 21 24 / 32%);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}
.image-consent-dialog .help-dialog__intro { line-height: 1.9; }
.image-consent-dialog .storage-dialog__actions { display: grid; gap: 12px; }
.image-consent-dialog .storage-dialog__actions .button { width: 100%; }
.image-consent-error { margin: 0; color: #a02b22; font-size: 13px; }

.image-consent-dialog .storage-dialog__actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.image-consent-dialog .storage-dialog__actions .button {
  min-width: 0;
  padding-inline: 8px;
  gap: 6px;
  font-size: 13px;
  white-space: nowrap;
}
.image-consent-error { grid-column: 1 / -1; }

.home-page .privacy-settings-link,
.home-page .home-hero__help > .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 5px 14px;
  gap: 6px;
  border: 1px solid var(--color-border-strong);
  border-radius: 999px;
  background: var(--color-surface);
  color: var(--color-text);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.6;
  text-decoration: none;
  white-space: nowrap;
}
.home-page .privacy-settings-link:hover,
.home-page .home-hero__help > .button:hover {
  background: var(--color-brand-soft);
}
.home-page .home-hero__help > .button > svg { width: 16px; height: 16px; }
.site-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  font-weight: 750;
}
.site-footer a,
.site-footer a:hover,
.site-footer a:focus-visible {
  font-weight: 750;
  text-decoration: none;
}
.site-footer__version { white-space: nowrap; }

.home-page .privacy-settings-link { margin-block-start: 5px; }
.home-page .privacy-settings-link > svg { flex: none; width: 16px; height: 16px; }

.home-page .local-storage-status { margin: 8px 0 0; font-size: 12px; }
.home-page .local-storage-status.is-inactive .privacy-note__dot {
  background: var(--color-muted);
  box-shadow: 0 0 0 4px var(--color-panel);
}

/* Keep the interface scale fixed; the image retains its own pointer-based zoom. */
html, body, #root { touch-action: pan-x pan-y; }

.home-page .privacy-settings-link {
  display: flex;
  width: fit-content;
  max-width: 100%;
  margin-block-start: 18px;
  margin-inline: 0 auto;
}
.home-page .local-storage-status {
  width: fit-content;
  max-width: calc(100% - 7px);
  margin-block-start: 8px;
  margin-inline: 7px 0;
  direction: rtl;
  text-align: right;
  justify-content: flex-start;
}
@media (pointer: coarse) {
  input, select, textarea { font-size: 16px; }
}

/* One clickable shape contains the storage action and its current permission. */
.home-page .privacy-settings-link {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  min-height: 0;
  margin: 23px 0 0;
  padding: 12px 14px;
  gap: 8px;
  direction: rtl;
  text-align: right;
  white-space: normal;
  border: 1px solid var(--color-border-strong);
  border-radius: 20px;
  background: var(--color-surface);
}
.home-page .local-storage-control__title {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
}
.home-page .local-storage-control__title > svg { flex: none; width: 16px; height: 16px; }
.home-page .privacy-settings-link .local-storage-status {
  width: auto;
  max-width: none;
  margin: 0;
  padding-inline-start: 7px;
  gap: 8px;
  color: var(--color-muted);
  font-size: 11px;
  font-weight: 400;
  line-height: 1.7;
}

.workspace-page:not(.workspace-page--interactive) .workspace-toolbar-utility-actions {
  display: none;
}

.workspace-page:not(.workspace-page--interactive) .workspace-canvas {
  border-radius: var(--radius-card);
}
