@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(../media/dm-sans-latin-ext-wght-normal.0hiocdn10l05a.woff2)format("woff2-variations");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:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(../media/dm-sans-latin-wght-normal.0tm8u-h63rec8.woff2)format("woff2-variations");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}
:root{--canvas:#f5f5f0;--surface:#fff;--text:#202b27;--muted:#52605a;--line:#d9dfd8;--green:#315e51;--green-dark:#234b40;--green-soft:#eaf0eb;--red:#a2362e;--radius:8px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{min-height:100%;color:var(--text);background:var(--canvas);margin:0;font-family:DM Sans Variable,sans-serif;font-size:15px;line-height:1.5}body{caret-color:var(--green)}::selection{color:#193b2e;background:#d1e4d7}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}button{transition:background .15s ease-out,color .15s ease-out}a{color:inherit;text-underline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,iframe:focus-visible{outline-offset:3px;outline:3px solid #739e8d}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance;line-height:1.2}h1{letter-spacing:-.025em;font-size:32px;font-weight:650}h2{font-size:20px;font-weight:650}h3{font-size:16px;font-weight:650}input,textarea,select{color:var(--text);background:#fff;border:1px solid #aebbb2;border-radius:6px;min-width:0;padding:10px 12px}input::placeholder,textarea::placeholder{color:#637168}textarea{resize:vertical;min-height:100px;line-height:1.5}label{font-size:13px;font-weight:600;display:block}input,textarea{width:100%}svg{vertical-align:middle;flex-shrink:0}button{color:inherit;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;min-height:40px;font-weight:550;display:inline-flex}button.primary{background:var(--green);color:#fff;white-space:nowrap;border-radius:6px;padding:10px 16px}button.primary:hover:not(:disabled){background:var(--green-dark)}.full{width:100%}.icon-button{border-radius:6px;flex-shrink:0;width:38px;min-height:38px}.icon-button:hover:not(:disabled),.text-button:hover:not(:disabled){background:var(--green-soft)}.text-button{color:var(--green);white-space:nowrap;border-radius:6px;padding:6px 10px;font-size:13px}.muted{color:var(--muted)}.small{font-size:13px}.error{color:var(--red);font-size:13px;line-height:1.5}.error-row{background:#fff1ee;border-radius:6px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:12px 16px;display:flex}.global-error{color:var(--red);background:#fff1ee;padding:8px 24px}.stack{flex-direction:column;gap:12px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.form-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.loading{min-height:100dvh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex}.brand-icon{color:#fff;background:var(--green);border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.brand{letter-spacing:-.02em;align-items:center;gap:10px;font-size:17px;font-weight:650;text-decoration:none;display:flex}.app-header{background:var(--surface);border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;height:72px;padding:0 40px;display:flex}.header-actions{align-items:center;gap:20px;display:flex}.role-label{color:var(--muted);background:var(--canvas);border-radius:4px;padding:4px 9px;font-size:12px}.login-page{background:var(--canvas);flex-direction:column;align-items:center;min-height:100dvh;padding:40px 24px;display:flex}.login-brand{align-self:flex-start;align-items:center;gap:10px;margin-left:16px;font-size:19px;font-weight:650;display:flex}.login-form{width:min(100%,400px);margin:auto;padding:56px 0}.login-form h1{margin:24px 0 12px;font-size:30px}.login-form>.muted{max-width:36ch;line-height:1.65}.login-symbol{color:var(--green);background:#e7eee6;border-radius:12px;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.password-field{margin:8px 0 20px;position:relative}.password-field input{height:46px;padding-right:48px}.password-field button{position:absolute;top:4px;right:4px}.login-form .error{margin-bottom:16px}.login-form .primary{justify-content:space-between;min-height:46px}.login-footnote{text-align:center;color:var(--muted);margin-top:20px;font-size:12px}.login-footer{color:var(--muted);font-size:12px}.gallery{max-width:1328px;margin:auto;padding:52px 40px 80px}.gallery-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:36px;display:flex}.gallery-heading p{margin-top:8px}.gallery-tools{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;padding-bottom:16px;display:flex}.tabs{gap:8px;display:flex}.tabs button{color:var(--muted);border-radius:6px;padding:7px 12px;font-size:14px}.tabs button.active{background:var(--green-soft);color:var(--green)}.tabs span,.comments-heading h2 span{min-width:20px;height:20px;color:var(--green);background:#dbe6dc;border-radius:4px;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.search{width:260px;position:relative}.search svg{color:var(--muted);position:absolute;top:12px;left:12px}.search input{border-color:var(--line);background:var(--surface);padding-left:38px;font-size:13px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.project-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;transition:border-color .15s ease-out;overflow:hidden}.project-card:hover{border-color:#8caa98}.project-open{text-align:left;width:100%;padding:0;display:block}.project-cover{color:#4c6c54;background:#ebeee5;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:176px;margin:10px 10px 0;display:flex;position:relative}.project-card:nth-child(3n+2) .project-cover{color:#715b3c;background:#eeeae1}.project-card:nth-child(3n) .project-cover{color:#426467;background:#e5ecec}.project-cover>span{letter-spacing:.02em;font-size:11px}.cover-arrow{position:absolute;top:14px;right:14px}.project-meta{padding:20px 20px 14px}.project-meta h2{overflow-wrap:anywhere;text-wrap:initial;font-size:19px}.project-file{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:6px;font-size:12px;display:block;overflow:hidden}.project-bottom{color:var(--muted);border-top:1px solid #e9ede7;align-items:center;gap:12px;min-height:53px;margin:0 20px;padding:10px 0;font-size:11px;display:flex}.project-bottom>span:first-child{align-items:center;gap:5px;display:flex}.project-bottom>span:nth-child(2){margin-left:auto}.project-bottom .icon-button{width:30px;min-height:30px}.empty-state{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:12px;padding:76px 20px;display:flex}.empty-state h2{color:var(--text);font-size:20px}.empty-state p{max-width:45ch;font-size:14px}.upload-panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;max-width:650px;margin-bottom:32px;padding:24px}.upload-panel>.section-heading{margin-bottom:20px}.upload-panel h2{font-size:19px}.dropzone{text-align:center;cursor:pointer;color:var(--green);background:#f7f9f4;border:1px dashed #9caf9e;border-radius:8px;flex-direction:column;align-items:center;gap:8px;margin-top:8px;padding:28px 16px;display:flex;position:relative}.dropzone strong{overflow-wrap:anywhere;font-size:14px}.dropzone span{color:var(--muted);font-size:11px;font-weight:400}.dropzone input{opacity:0;cursor:pointer;position:absolute;inset:0}.dropzone:focus-within{outline-offset:3px;outline:3px solid #739e8d}.field-help{color:var(--muted);align-items:flex-start;gap:8px;font-size:12px;line-height:1.5;display:flex}.field-help svg{margin-top:2px}.progress{color:var(--green);font-size:13px}.review-app{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.review-app .app-header{height:60px;padding:0 24px}.review-workspace{flex-direction:column;flex:1;min-height:0;display:flex}.review-toolbar{border-bottom:1px solid var(--line);background:#fff;flex-shrink:0;align-items:center;gap:16px;min-height:76px;padding:12px 24px;display:flex}.review-title{min-width:0}.review-title h1{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;max-width:30vw;font-size:18px;overflow:hidden}.review-title>span{color:var(--muted);font-size:11px}.back-button{border:1px solid var(--line)}.preview-controls{align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.preview-controls select{border-color:var(--line);max-width:200px;min-height:38px;padding:8px 28px 8px 10px;font-size:12px}.mobile-feedback{display:none}.review-body{flex:1;min-height:0;display:flex;overflow:hidden}.preview-area{background:#e9ede7;flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.preview-scroll{flex:1;min-height:0;padding:24px;overflow:auto}.frame-shell{background:#fff;border:1px solid #d2dbd1;width:100%;min-width:0;height:100%;min-height:200px;margin:0 auto;overflow:hidden;box-shadow:0 4px 18px #1b322c0a}.frame-shell iframe{background:#fff;border:0;width:100%;height:100%;display:block}.preview-notice{z-index:5;background:#fff9e9;border:1px solid #dfcfa7;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;font-size:12px;display:flex;position:absolute;top:14px;left:24px;right:24px;box-shadow:0 3px 12px #29372c0d}.floating-comment{z-index:10;background:var(--green);color:#fff;border:1px solid #ffffff30;border-radius:28px;gap:10px;min-height:52px;padding:14px 20px;font-size:14px;position:absolute;bottom:28px;right:28px;box-shadow:0 5px 18px #18362b26}.floating-comment:hover:not(:disabled){background:var(--green-dark)}.floating-comment.selecting{color:var(--green);background:#fff;border-color:#8da696}.selection-hint{background:var(--green);color:#fff;border-radius:8px;align-items:center;gap:8px;max-width:calc(100% - 260px);min-height:52px;padding:13px 16px;font-size:12px;display:flex;position:absolute;bottom:28px;left:28px;box-shadow:0 3px 12px #18362b1a}.keyboard-hint{opacity:.85}.comments{background:var(--surface);border-left:1px solid var(--line);flex-direction:column;flex-shrink:0;width:360px;min-height:0;display:flex}.comments-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:72px;padding:20px 22px;display:flex}.comments-heading h2{align-items:center;gap:8px;font-size:16px;display:flex}.comments-heading select{background:var(--canvas);border:0;padding:6px 8px;font-size:11px}.comments-content{scrollbar-color:#b5c3b8 #f5f7f2;scrollbar-width:thin;padding:0 22px 32px;overflow:auto}.comments-content>.error{padding:16px 0}.feedback-empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:12px;padding:64px 12px;display:flex}.feedback-empty h3{color:var(--text);font-size:15px}.feedback-empty p{max-width:25ch;font-size:13px}.comment-composer{background:#f3f7f1;border:1px solid #bccdbd;border-radius:8px;flex-direction:column;gap:14px;margin:22px 0;padding:18px 14px;display:flex}.comment-composer h3{font-size:15px}.comment-composer .section-heading{gap:8px}.anchor-label,.comment-anchor{align-items:center;gap:7px;min-width:0;display:flex}.anchor-label>span,.comment-anchor>span{color:#345a49;background:#e1eadf;border-radius:3px;flex-shrink:0;padding:2px 5px;font-size:10px;font-weight:500}.anchor-label strong,.comment-anchor strong{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.anchor-page{color:var(--muted);overflow-wrap:anywhere;margin-top:-10px;font-size:10px}.comment{border-bottom:1px solid var(--line);padding:24px 0}.comment-author{align-items:center;gap:9px;display:flex}.avatar{width:30px;height:30px;color:var(--green);background:#ecece3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.comment-author strong{overflow-wrap:anywhere;font-size:12px;font-weight:600;display:block}.comment time{color:var(--muted);margin-top:1px;font-size:10px;display:block}.status{color:var(--green);white-space:nowrap;align-items:center;gap:3px;margin-left:auto;font-size:10px;display:flex}.comment-anchor{background:#f2f5ef;border-radius:4px;justify-content:flex-start;width:100%;max-width:100%;min-height:30px;margin:14px 0 10px;padding:5px 7px}.comment-anchor svg{margin-left:auto}.comment-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.65}.comment-actions{justify-content:space-between;align-items:center;margin-top:10px;display:flex}.comment-actions .text-button{padding-left:0;font-size:11px}.reply{border-left:1px solid #bac9bc;margin:12px 0 0 16px;padding-left:14px}.reply>strong{font-size:11px}.reply p{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0;font-size:13px}.reply-form{flex-direction:column;gap:12px;margin-top:16px;display:flex}.reply-form .primary{padding:8px 12px;font-size:12px}.comments-content>.small{margin-top:24px}@media (min-width:1500px){.comments{width:390px}.review-title h1{max-width:36vw}}@media (max-width:1100px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.comments{width:320px}.review-title h1{max-width:24vw}.keyboard-hint{display:none}.selection-hint{max-width:calc(100% - 245px);padding:10px;font-size:11px;bottom:24px;left:16px}.floating-comment{bottom:24px;right:18px}}@media (max-width:760px){.app-header{height:64px;padding:0 20px}.header-actions{gap:8px}.role-label{display:none}.gallery{padding:32px 20px 56px}.gallery-heading{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:24px}.gallery-heading h1{font-size:29px}.gallery-heading .primary{font-size:13px}.gallery-tools{flex-direction:column;align-items:stretch;gap:14px;margin-bottom:20px}.tabs{order:1}.search{width:100%}.project-grid{gap:18px}.project-cover{height:140px}.project-meta{padding:16px}.project-meta h2{font-size:17px}.project-bottom{gap:6px;margin:0 16px;font-size:10px}.project-bottom>span:nth-child(2){font-size:10px}.upload-panel{padding:18px}.review-app .app-header{height:56px;padding:0 16px}.brand{font-size:16px}.brand-icon{width:30px;height:30px}.review-toolbar{flex-wrap:wrap;gap:10px;min-height:100px;padding:10px 12px}.review-title{flex:1}.review-title h1{max-width:calc(100vw - 180px);font-size:16px}.preview-controls{flex-basis:100%;order:2;gap:8px;padding-left:46px}.preview-controls select{flex:1;max-width:calc(100vw - 120px);padding-top:6px;padding-bottom:6px;font-size:11px}.preview-controls .icon-button{height:30px;min-height:30px}.mobile-feedback{padding:6px;font-size:11px;display:inline-flex}.back-button{width:34px;min-height:34px}.review-body{position:relative}.preview-area{flex-shrink:0;width:100%}.comments{border-left:0;width:100%;display:none}.show-comments .preview-area{display:none}.show-comments .comments{display:flex}.comments-heading{min-height:60px;padding:16px 20px}.comments-content{padding:0 20px 28px}.preview-scroll{padding:12px}.frame-shell{min-width:0}.floating-comment{min-height:50px;padding:12px 18px;bottom:20px;right:20px}.selection-hint{max-width:calc(100% - 40px);min-height:36px;padding:8px 12px;bottom:80px;left:20px}.preview-notice{top:12px;left:12px;right:12px}.login-page{padding:24px}.login-brand{margin-left:0}.login-form{padding:48px 0}.login-form h1{font-size:28px}.feedback-empty{padding:48px 20px}}@media (max-width:450px){.project-grid{grid-template-columns:1fr}.project-cover{height:160px}.project-meta h2{font-size:19px}.project-bottom,.project-bottom>span:nth-child(2){font-size:11px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.login-form h1{margin-top:0}@media (max-width:760px){.review-toolbar .icon-button,.mobile-feedback{min-width:44px;min-height:44px}.preview-controls .icon-button{height:44px;min-height:44px}.preview-controls{padding-left:54px}}.login-name{margin-bottom:18px}.reauth-overlay{z-index:100;background:var(--canvas);position:fixed;inset:0;overflow:auto}.identity{text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:12px;overflow:hidden}.composer-identity{color:var(--muted);font-size:11px}@media (max-width:760px){.identity{max-width:70px}.header-actions{gap:8px}}.floating-comment.selecting:hover:not(:disabled){background:var(--green-soft);color:var(--green-dark)}.login-form form{margin-top:28px}.viewport-fields{border:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;min-width:0;margin:4px 0;padding:0;display:grid}.viewport-fields>.field:first-child{grid-column:1/-1}.viewport-fields select{width:100%}.custom-dimensions{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:12px;display:grid}.check-field{align-self:end;align-items:center;gap:8px;min-height:44px;font-weight:400;display:flex}.check-field input{width:18px;height:18px;accent-color:var(--green);flex-shrink:0}.viewport-size{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px}.frame-shell.fixed-viewport{border:0;outline:1px solid #d2dbd1;flex-shrink:0;min-height:0}.preview-controls .format-select{max-width:125px}.preview-theme{flex:none;position:relative}.preview-theme span{color:var(--muted);pointer-events:none;font-size:11px;line-height:1;position:absolute;top:3px;left:11px}.preview-controls .preview-theme select{padding-top:14px;padding-bottom:2px}@media (max-width:1100px){.viewport-size{display:none}}@media (max-width:760px){.preview-controls{flex-wrap:wrap;padding-left:0}.preview-controls .format-select{max-width:100px}.preview-controls select{min-height:44px;padding-right:8px}.preview-controls>select:first-child{flex:1;width:80px}.preview-controls .icon-button{width:36px;min-width:36px}}@media (max-width:420px){.viewport-fields{grid-template-columns:minmax(0,1fr)}}.dimension-help{grid-column:1/-1}@media (max-width:360px){.app-header .identity{display:none}}.gallery-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.access-panel{background:var(--surface,#fff);border:1px solid var(--line);border-radius:12px;max-width:700px;margin:24px 0;padding:24px}.access-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.access-heading h2{margin:0;font-size:20px}.access-panel select{width:100%;min-width:0}.access-users{scrollbar-color:var(--muted) var(--surface);max-height:360px;margin:16px 0 0;padding:0;list-style:none;overflow:auto}.access-users li+li{border-top:1px solid var(--line)}.access-users label{overflow-wrap:anywhere;align-items:center;gap:12px;padding:12px 0;display:flex}.access-users input{accent-color:#315e51;flex:none;width:18px;height:18px}.access-notice{color:#315e51;min-height:1.5em;margin:8px 0 0}@media (max-width:600px){.gallery-heading{flex-wrap:wrap;align-items:flex-start}.gallery-actions{width:100%}.access-panel{padding:16px}}.state-editor{border-top:1px solid var(--line);padding:12px 0}.state-editor summary{cursor:pointer;padding:6px 0;font-weight:600}.state-editor fieldset,.fig-import fieldset{border:0;min-width:0;margin:0;padding:0}.state-row{border-bottom:1px solid var(--line);padding:12px 0}.state-options{grid-template-columns:1fr 1fr;gap:12px;margin-top:8px;display:grid}.state-row input:not([type=checkbox]),.state-options select,.fig-import select,.fig-import input:not([type=checkbox]){width:100%;min-width:0}.state-options label,.fig-import label:not(.check-field){gap:4px;display:grid}.fig-import .frame-choices,.state-row .state-screen-list{border:1px solid var(--line);border-radius:6px;max-height:240px;margin:12px 0;padding:4px 12px;overflow:auto}.frame-choices small{color:var(--muted);white-space:nowrap}.frame-previews{grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:12px;display:grid}.frame-previews figure{min-width:0;margin:0}.frame-previews img{object-fit:contain;background:#eee;width:100%;height:92px;display:block}.frame-previews figcaption{overflow-wrap:anywhere;font-size:12px}.frame-previews p{grid-column:1/-1}.state-bar{z-index:2;border-bottom:1px solid var(--line);background:#fff;flex:none;gap:4px;max-width:100%;padding:6px 12px;display:flex;position:sticky;top:0;overflow-x:auto}.state-bar button{color:var(--muted);background:0 0;border:0;border-radius:6px;flex:none;padding:5px 12px;font-size:13px}.state-bar button[aria-pressed=true]{color:#234b40;background:#eaf0eb;font-weight:600}.screen-scroll{height:100%;overflow:auto}.screen-picture{width:100%;margin:0 auto;line-height:0;position:relative}.screen-picture>img{width:100%;height:auto;display:block}.pin-surface{cursor:crosshair;background:0 0;border:0;border-radius:0;width:100%;height:100%;position:absolute;inset:0}.screen-pin,.pin-target{color:#fff;background:#315e51;border:2px solid #fff;border-radius:100%;place-items:center;width:28px;height:28px;min-height:0;padding:0;font-size:13px;font-weight:700;line-height:1;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 4px #1e332b77}.screen-pin.resolved{background:#52605a}.pin-target{pointer-events:none;color:#315e51;background:#fff;border-color:#315e51}.comment:focus-visible{outline-offset:-3px}@media (max-width:560px){.state-options{grid-template-columns:1fr}.frame-choices .check-field,.state-row .check-field{min-height:40px}.state-bar button{min-height:38px}}.account-info{overflow-wrap:anywhere;flex-direction:column;min-width:0;display:flex}.account-info small{color:var(--muted);font-size:12px}.access-users li{justify-content:space-between;align-items:center;gap:16px;display:flex}.access-users li>label{min-width:0}.account-controls{flex-shrink:0;align-items:center;gap:10px;display:flex}.account-controls select{padding:7px 10px;font-size:13px}@media (max-width:600px){.access-users li{flex-direction:column;align-items:flex-start;gap:8px}.account-controls{margin-left:26px}}
