:root{--ink:#203c32;--muted:#68756c;--paper:#f6f4ee;--line:#dfe4da;--forest:#294d3e;--gold:#bb8e58;--notice:#245748;--notice-soft:#edf5ef;--notice-ink:#193c32}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 system-ui,-apple-system,'Segoe UI',sans-serif}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}a{color:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bb8e58;outline-offset:4px}[hidden]{display:none!important}.cabinet-header{max-width:none;margin:0;padding:24px max(5vw,20px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fcfbf7;gap:24px}.wordmark{font-size:20px;font-weight:750;letter-spacing:2px;text-decoration:none}.wordmark span{font-weight:350}.header-tools{display:flex;align-items:center;gap:22px}.header-tools a{text-decoration:none;font-size:14px}.header-tools select{border:1px solid var(--line);padding:8px 12px;border-radius:20px;background:transparent;color:var(--ink)}.cabinet-main{max-width:1260px;margin:0 auto;padding:50px 30px 80px}.eyebrow{display:block;font-size:11px;letter-spacing:2.4px;font-weight:700;color:#738170;margin-bottom:16px}h1,h2,p{margin-top:0}h1{font-family:Georgia,serif;font-weight:400;letter-spacing:-1.8px;font-size:clamp(34px,4vw,56px);line-height:1.12;margin-bottom:20px}h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.4px;font-size:26px;line-height:1.25;margin-bottom:20px}.muted,.fine{color:var(--muted)}.fine{font-size:12px;line-height:1.7}.button-primary,.button-secondary{display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:15px 23px;border-radius:10px;border:1px solid var(--forest);font-weight:600;text-decoration:none;min-height:52px}.button-primary{background:var(--forest);color:white}.button-primary:hover{background:#19392c}.button-secondary{background:white;color:var(--forest);border-color:#b8c9bb}.quiet{border:0;background:transparent;color:var(--ink);padding:8px 0;text-decoration:underline;text-underline-offset:4px;font-size:13px}.danger{color:#9b4335}.cabinet-message{background:#e8eee3;border:1px solid #c9d7c4;padding:18px 22px;border-radius:12px;margin-bottom:28px;overflow-wrap:anywhere}.cabinet-message.is-error{background:#fff0e8;border-color:#e5bdab;color:#813f2e}.auth-layout{display:grid;grid-template-columns:1.1fr 1fr;max-width:1080px;margin:10px auto;min-height:600px;background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 16px 60px #263b3010}.auth-story{padding:52px 48px 30px;background:#e8ede1;position:relative;overflow:hidden}.auth-story h1{font-size:48px;max-width:390px}.auth-story p{font-size:17px;max-width:340px;color:#586b5b}.story-foot{font-size:10px;letter-spacing:1.7px;display:block;margin-top:30px}.tile-art{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;width:220px;height:150px;margin:38px 0;transform:rotate(-6deg)}.tile-art i{border-radius:5px;background:#748775}.tile-art i:nth-child(2n){background:#c8b592}.tile-art i:nth-child(3n){background:#b5c4a9}.tile-art i:nth-child(5){background:#355849}.tile-art i:nth-child(7){background:#e2d2bb}.auth-card{padding:46px 42px;display:flex;flex-direction:column;justify-content:center}.segmented{display:flex;background:#f0f2eb;border-radius:10px;padding:4px;margin-bottom:32px;gap:4px}.segmented button{flex:1;padding:10px;border:0;background:transparent;border-radius:7px;color:#617163}.segmented .active{background:white;color:var(--ink);box-shadow:0 1px 5px #0001;font-weight:650}.auth-card label,.project-details>label,.field-row label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;margin-bottom:20px}.auth-card input,.project-details input:not([type=checkbox]),.field-row select{padding:14px;border:1px solid #ccd7cc;border-radius:9px;background:#fafbf8;width:100%;color:var(--ink)}.auth-card small{font-weight:400;color:var(--muted);font-size:11px}.auth-card form>.button-primary{width:100%;margin-top:8px}.auth-links{display:flex;flex-wrap:wrap;gap:10px 20px;margin:14px 0 24px}.dashboard-heading{display:flex;justify-content:space-between;align-items:center;gap:35px}.dashboard-heading h1{max-width:720px}.dashboard-heading>.button-primary{white-space:nowrap}.dashboard-strip{display:flex;gap:34px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin:30px 0 34px;color:#64725f;font-size:13px}.dashboard-strip b{font-size:22px;color:var(--ink);margin-right:6px}.project-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.project-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;text-decoration:none;transition:transform .15s,box-shadow .15s}.project-card:hover{transform:translateY(-4px);box-shadow:0 15px 30px #2a45331a}.project-cover{height:240px;background:#e5eadd;overflow:hidden}.project-cover img{width:100%;height:100%;object-fit:cover}.project-cover.no-photo{display:grid;place-items:center;font-size:100px;font-weight:100;color:#97a68c;background:linear-gradient(120deg,#e2e8d9,#f1ecdd)}.project-card-body{padding:24px}.project-card-body h2{font-size:25px;margin:16px 0 10px;overflow-wrap:anywhere}.project-card-body p{font-size:13px;margin-bottom:12px}.status-pill{display:inline-block;background:#eaf0e4;color:#486046;border-radius:24px;padding:7px 12px;font-size:12px;font-weight:650;white-space:nowrap}.status-pill.ready{background:#d7e9df;color:#245b3d}.open-project{display:block;margin-top:22px;font-size:13px}.empty-projects{padding:65px 25px;text-align:center;border:1px dashed #b9c7b2;border-radius:18px;background:#fbfbf6}.empty-projects p{max-width:530px;margin:auto;color:var(--muted)}.empty-icon{font-size:65px;color:#779470}.cabinet-footer{border-top:1px solid var(--line);max-width:none;padding:24px 5vw;display:flex;gap:26px;justify-content:center;background:#fbfaf5;font-size:12px;color:#74816d}.cabinet-footer>span{letter-spacing:2px}.project-page .cabinet-main{max-width:1280px}.project-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:26px}.project-heading h1{font-size:42px;margin:18px 0 12px;overflow-wrap:anywhere}.back-link{font-size:13px;text-decoration:none;color:#6b7867}.project-toolbar{display:flex;gap:24px;align-items:center;border:1px solid #d9e2d2;background:#edf2e7;padding:12px 20px;border-radius:12px;margin-bottom:26px;flex-wrap:wrap}.project-toolbar>#saveState{flex:1;color:#597451;font-size:13px}.project-editor-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:24px;margin-bottom:24px}.workspace-card{padding:30px;background:#fff;border:1px solid var(--line);border-radius:16px}.file-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:26px;border:1px dashed #9fb598;border-radius:12px;background:#f4f7ef;cursor:pointer;font-size:14px;font-weight:600}.file-drop small{font-size:11px;font-weight:400;color:var(--muted)}.file-drop input{max-width:100%;font-size:12px}.project-page #mainCanvas{display:block;width:100%;max-height:470px;object-fit:contain;background:#edf0e8;border-radius:12px;margin-top:20px;touch-action:none}.project-page input[type=range]{width:100%;margin:20px 0;accent-color:var(--forest)}.field-row{display:flex;gap:16px}.field-row label{flex:1}.project-details>label.toggle-line,.toggle-line{display:flex;flex-direction:row;align-items:flex-start;gap:12px;font-size:13px;line-height:1.6;font-weight:400;margin:20px 0}.toggle-line input[type=checkbox]{accent-color:var(--forest);width:22px;height:22px;min-width:22px;margin:0}.retention-card{padding:22px;background:#f4f1e9;border-radius:12px;margin:25px 0;color:#72634c}.retention-card p{font-size:13px;margin:10px 0 0}.project-details>.button-secondary{width:100%;margin-bottom:14px}.collection-heading{display:flex;justify-content:space-between;gap:24px;align-items:center}.collection-heading h2{margin-bottom:8px}.file-button{position:relative;overflow:hidden;white-space:nowrap;cursor:pointer}.file-button input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.collection-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin:26px 0}.collection-photo{padding:8px;border:1px solid var(--line);border-radius:10px;min-width:0}.collection-photo img{width:100%;aspect-ratio:1;object-fit:cover;background:#eef0e8;border-radius:6px}.collection-photo>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.collection-photo small{display:block;font-size:10px;color:#6f8069}.collection-photo button{font-size:11px}.collection-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;align-items:center;gap:30px;justify-content:space-between}.upload-panel{border-radius:12px;padding:24px;background:#edf3e9;margin:20px 0}.upload-panel progress{display:block;width:100%;height:24px;margin:15px 0;accent-color:var(--forest)}.upload-panel p{font-size:13px;margin:0}.finished-card{text-align:center;padding:50px}.finished-card img{max-width:100%;max-height:620px;display:block;margin:25px auto}.finished-card p{max-width:600px;margin:20px auto}.project-page #photoReview{max-width:none;margin:0;border-radius:16px}.project-page .photo-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.project-page .photo-dialog{max-width:1100px;width:95vw}.project-page .photo-card{min-width:0}.project-page .photo-card canvas{max-width:100%}.project-page .primary{background:var(--forest);color:white;border:0;border-radius:9px;padding:14px 20px}.project-page .photo-card .text-button{font-size:12px}.project-page .photo-dialog::backdrop{background:#142c25bb}
@media(max-width:1000px){.project-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-story{padding:40px 30px}.auth-story h1{font-size:40px}.auth-card{padding:35px 28px}.collection-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.project-page .photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:700px){.cabinet-header{padding:18px;gap:12px}.wordmark{font-size:15px;letter-spacing:1px}.header-tools{gap:12px}.header-tools a{font-size:12px}.cabinet-main{padding:30px 16px 50px}.auth-layout{grid-template-columns:1fr}.auth-story{padding:28px}.auth-story h1{font-size:36px}.auth-story p{font-size:14px}.tile-art,.story-foot{display:none}.auth-card{padding:28px}.dashboard-heading{display:block}.dashboard-heading>.button-primary{margin-top:10px}.dashboard-strip{gap:14px;flex-wrap:wrap;font-size:12px}.project-cards{grid-template-columns:1fr}.project-cover{height:260px}.project-editor-grid{grid-template-columns:1fr}.workspace-card{padding:22px}.project-heading{align-items:flex-start;gap:12px}.project-heading h1{font-size:32px}.project-heading .status-pill{max-width:140px;white-space:normal;font-size:11px}.collection-heading,.collection-bottom{flex-direction:column;align-items:stretch}.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-page .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cabinet-footer{flex-wrap:wrap;gap:14px}.project-toolbar{gap:14px}.project-toolbar>#saveState{flex-basis:100%}.finished-card{padding:30px 18px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.orientation-buttons{display:flex;gap:8px}.orientation-buttons button{padding:12px 18px;border:1px solid #cbd6ce;border-radius:12px;background:#fff;color:#23493d}.orientation-buttons button[aria-pressed=true]{background:#214e40;color:white;border-color:#214e40}.project-page .review-help{padding:16px 20px}.project-page .status-card{padding:24px;border-radius:18px}.project-page #photoProgress{height:20px;width:100%;accent-color:#245e49}.project-page #photoStatus{font-size:18px}.ai-render-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.ai-render-card img{width:100%;max-height:340px;object-fit:contain;background:#f2f2ee;border-radius:12px}.ai-render-card button{width:100%}
/* Clear client hand-off: upload → cropping → confirmation. */
.project-page .preparation-progress{background:#fff;border:1px solid var(--line);padding:28px 30px;box-shadow:none;border-radius:20px}
.progress-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:16px;margin-bottom:12px}.progress-heading strong{font-weight:650}.progress-heading span{font-size:14px;font-weight:600;white-space:nowrap}.crop-heading{margin-top:26px}.project-page #preparationTitle{font-family:inherit;font-size:16px;margin:0;letter-spacing:0}.complete-label{color:#52715d}
.project-page progress{display:block;width:100%;height:14px;border:0;border-radius:20px;overflow:hidden;accent-color:var(--notice);background:#e9eee8}.project-page progress::-webkit-progress-bar{background:#e9eee8;border-radius:20px}.project-page progress::-webkit-progress-value{background:var(--notice);border-radius:20px;transition:width .4s}.project-page progress::-moz-progress-bar{background:var(--notice);border-radius:20px}.project-page #photoProgress{height:14px}.progress-caption{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:13px;margin:12px 0 0}.project-page #photoStatus{font-size:13px;margin:0}.project-page #cropETA{font-size:13px;color:var(--ink)}
.leave-notice{display:flex;align-items:flex-start;gap:22px;margin:24px 0;padding:30px;border-radius:20px;background:var(--notice-soft);border:1px solid color-mix(in srgb,var(--notice) 25%,white);color:var(--notice-ink)}.mail-symbol{display:grid;place-items:center;flex:0 0 56px;width:56px;height:56px;border-radius:18px;background:var(--notice);color:#fff;font-size:27px}.leave-notice h3{font:400 32px/1.15 Georgia,serif;letter-spacing:-.6px;margin:0 0 12px}.leave-notice p{font-size:17px;line-height:1.65;max-width:730px;margin:0 0 20px}.leave-notice small{display:block;font-size:13px;margin-top:14px;opacity:.85}.leave-notice .button-secondary{background:#fff;color:var(--notice-ink);border-color:transparent;box-shadow:0 3px 12px #183b3610}
.project-page .review-decision{background:transparent;border:0;border-top:1px solid var(--line);box-shadow:none;padding:24px 0;margin:18px 0;gap:20px;border-radius:0;display:flex;justify-content:space-between;align-items:center}.project-page #confirmReason{margin:0;font-size:17px;font-weight:500;color:var(--ink)}.project-page #confirmPhotos{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:18px 32px;min-height:58px;font:600 16px/1.2 system-ui,sans-serif;letter-spacing:.1px;background:var(--notice);color:white;border:1px solid transparent;box-shadow:0 5px 16px #173c3618;transition:transform .15s,box-shadow .15s}.project-page #confirmPhotos:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #173c3626}.project-page #confirmPhotos:disabled{opacity:.55;transform:none}.project-page #photoCount{display:block;margin-top:22px;font-weight:500;font-size:14px;color:var(--muted)}
.project-page .completion-card{max-width:100%;padding:56px 40px;text-align:center;background:linear-gradient(145deg,#ffffff,#f5f7f0);border:1px solid var(--line);border-radius:26px}.completion-art{width:88px;height:88px;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:0 auto 28px;transform:rotate(-7deg)}.completion-art i{background:#365c49;border-radius:5px}.completion-art i:nth-child(2n){background:#a8b99e}.completion-art i:nth-child(3n){background:#c2a478}.completion-art i:nth-child(5){background:#e3d6b9}.project-page .completion-card h2{font-size:clamp(30px,4vw,44px);max-width:700px;margin:10px auto 18px;line-height:1.15}.project-page #resultDescription{font-size:18px;line-height:1.7;max-width:650px;margin:0 auto 32px;color:#53675a}.creation-steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);padding:0;gap:14px;max-width:780px;margin:30px auto 32px;counter-reset:creation}.creation-steps li{counter-increment:creation;color:#7b857d;font-size:13px;padding:0 8px}.creation-steps li:before{content:counter(creation);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e7ece3;margin:0 auto 10px;font-weight:650}.creation-steps li.active{color:#244a37;font-weight:650}.creation-steps li.active:before{background:var(--notice);color:white;box-shadow:0 0 0 5px var(--notice-soft)}.creation-steps li.done:before{content:'✓';background:#dfeadd;color:#365c49}.completion-card #resultPreview{max-height:600px;max-width:100%;margin:0 auto 26px;border-radius:12px}.completion-card .button-secondary{background:#fff;border-color:#d9e1d5;border-radius:999px}.completion-card #downloadResult{margin:0 10px 20px;border-radius:999px}.project-page .upload-panel{padding:24px;border-radius:20px;border:1px solid var(--line);background:#f9fbf6}.upload-panel .progress-heading.muted{margin-top:24px}.project-page .review-help{display:none!important}
@media(max-width:650px){.leave-notice{padding:24px 20px;gap:14px}.mail-symbol{flex-basis:42px;width:42px;height:42px;font-size:23px;border-radius:13px}.leave-notice h3{font-size:28px}.leave-notice p{font-size:16px}.leave-notice .button-secondary{padding:13px 17px}.project-page .preparation-progress{padding:22px 20px}.project-page .review-decision{flex-direction:column;align-items:stretch}.project-page #confirmPhotos{width:100%}.project-page .completion-card{padding:38px 22px}.creation-steps{grid-template-columns:repeat(2,1fr);row-gap:24px}.progress-heading{font-size:14px}.progress-heading span{font-size:12px}}
