@font-face{font-family:Newsreader;src:url(../fonts/Newsreader-Regular.ttf)format("truetype");font-style:normal;font-weight:200 800;font-display:swap}@font-face{font-family:Newsreader;src:url(../fonts/Newsreader-Italic.ttf)format("truetype");font-style:italic;font-weight:200 800;font-display:swap}:root{--paper:#f3eddf;--paper-raised:#f9f4e9;--paper-shadow:#ded4c3;--ink:#322824;--ink-muted:#6d6258;--oxblood:#7b293e;--rose:#c98799;--petal-blush:#ebc2c5;--petal-light:#f5dede;--sage:#77846a;--stem:#536249;--pollen:#bb8b42;--rule:#d8cdbb;--focus:#7b293e;--radius-control:0;--radius-sheet:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px}*{box-sizing:border-box}html{color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif}body{background:var(--paper) url(../textures/paper-grain.svg) repeat;min-width:320px;min-height:100vh;margin:0}button{font:inherit}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.diagnostic-shell{width:min(1360px,100% - 48px);min-height:100vh;margin:0 auto;padding:24px 0 28px}.diagnostic-header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:flex-start;min-height:66px;margin-bottom:24px;padding-bottom:18px;display:flex}.eyebrow{color:var(--oxblood);letter-spacing:.01em;margin:0 0 4px;font:italic 17px/22px Newsreader,Georgia,serif}h1,h2{margin:0;font-family:Newsreader,Georgia,serif;font-weight:400}h1{font-size:35px;line-height:40px}h2{font-size:25px;line-height:31px}.status-pill{border:1px solid var(--rule);min-height:32px;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;background:#fffaf1cc;border-radius:999px;padding:6px 12px;font:500 12px/18px ui-monospace,monospace}.status-running{color:var(--stem);border-color:var(--sage)}.status-error{color:var(--oxblood);border-color:var(--rose)}.diagnostic-grid{grid-template-columns:minmax(0,1.25fr) minmax(350px,.75fr);gap:24px;display:grid}.paper-card{border:1px solid var(--rule);border-radius:var(--radius-sheet);background:#fffaf1f0;min-width:0;padding:24px;box-shadow:5px 6px #7b293e0e}.card-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.card-heading>div{align-items:center;gap:12px;display:flex}.card-heading p{color:var(--ink-muted);text-align:right;margin:4px 0 0;font:12px/18px ui-monospace,monospace}.step-number{border:1px solid var(--rose);width:28px;height:28px;color:var(--oxblood);border-radius:50%;place-items:center;font:12px/1 ui-monospace,monospace;display:grid}.diagnostic-camera{aspect-ratio:4/3;border:1px solid var(--rule);background:#e9e0d2;width:100%;max-height:520px;position:relative;overflow:hidden}.diagnostic-camera:after{content:"";pointer-events:none;z-index:4;border:1px solid #7b293e7a;position:absolute;inset:10% 12%}.calibrated-video{position:absolute;inset:0;overflow:hidden}.calibrated-video video{object-fit:cover;opacity:.34;width:131.579%;height:125%;position:absolute;top:-12.5%;left:-15.7895%;transform:scaleX(-1)}.hand-overlay{z-index:3;width:100%;height:100%;position:absolute;inset:0}.camera-placeholder{z-index:2;text-align:center;color:var(--ink-muted);background:linear-gradient(150deg,#fffaf199,#ebc2c52e);place-content:center;padding:32px;display:grid;position:absolute;inset:0}.camera-placeholder span{color:var(--ink);font:italic 27px/34px Newsreader,Georgia,serif}.camera-placeholder small{margin-top:8px;font-size:13px}.camera-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.primary-button,.secondary-button{cursor:pointer;text-underline-offset:3px;background:0 0;border:0;border-radius:0;justify-content:flex-start;align-items:center;min-height:44px;padding:8px 2px;font-size:14px;text-decoration:underline;display:inline-flex}.primary-button{color:var(--oxblood);font-weight:700}.secondary-button{color:var(--ink);font-weight:400}.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled){background:#d8cdbb47}button:disabled{opacity:.48;cursor:not-allowed}.status-copy{min-height:48px;color:var(--ink-muted);margin:12px 0 4px;font-size:14px;line-height:22px}.metrics{border-top:1px solid var(--rule);border-left:1px solid var(--rule);grid-template-columns:repeat(4,minmax(0,1fr));margin:16px 0 0;display:grid}.metrics div{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);min-width:0;padding:10px 11px}.metrics dt{color:var(--ink-muted);font-size:11px;line-height:16px}.metrics dd{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;margin:3px 0 0;font:12px/18px ui-monospace,monospace;overflow:hidden}.cosmos-sheet{aspect-ratio:4/3;background:var(--paper);border:1px solid var(--rule);max-height:520px}.cosmos-preview{width:100%;height:100%;display:block}.geometry-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.check-pass{color:var(--stem)!important}.diagnostic-footer{border-top:1px solid var(--rule);color:var(--ink-muted);justify-content:space-between;gap:24px;margin-top:24px;padding:18px 2px 0;font-size:13px;line-height:20px;display:flex}.diagnostic-footer p{max-width:580px;margin:0}.diagnostic-footer strong{color:var(--ink)}@media (max-width:980px){.diagnostic-grid{grid-template-columns:1fr}.flower-card{grid-template-columns:1fr 1fr;gap:20px;display:grid}.flower-card .card-heading{grid-column:1/-1;margin-bottom:0}}@media (max-width:680px){.diagnostic-shell{width:min(100% - 24px,1360px);padding-top:14px}.diagnostic-header,.diagnostic-footer{flex-direction:column}h1{font-size:29px;line-height:34px}.paper-card{padding:16px}.card-heading{flex-direction:column}.card-heading p{text-align:left}.flower-card{display:block}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.product-shell{min-height:100vh;color:var(--ink)}.product-shell h1,.product-shell h2{font-family:Times New Roman,Times,serif}.visually-hidden{opacity:0;pointer-events:none;width:1px;height:1px;position:fixed}.text-button,.header-button,.wordmark,.footer-button,.back-button{color:var(--ink);cursor:pointer;background:0 0;border:0}.text-button{text-underline-offset:3px;min-height:40px;padding:8px 2px;font-size:14px;text-decoration:underline}.text-button:hover{color:var(--oxblood)}.landing-page{width:min(760px,100% - 40px);margin:0 auto;padding:70px 0 44px}.landing-content{text-align:center;flex-direction:column;align-items:center;display:flex}.landing-bouquet{width:min(330px,72vw);height:min(285px,35vh);margin:0 0 -24px;overflow:visible}.landing-content h1{letter-spacing:0;font:400 clamp(34px,3.7vw,39px)/1.14 Times New Roman,Times,serif}.landing-description{color:var(--ink-muted);margin:14px 0 18px;font-size:14px;line-height:21px}.landing-actions{gap:20px;display:flex}.landing-actions button{min-width:0}.landing-footer{color:var(--ink-muted);justify-content:center;align-items:center;gap:8px;margin-top:26px;padding:12px 0;font:11px/17px Arial,sans-serif;display:flex}.landing-footer span:first-child{color:var(--oxblood)}.landing-footer span+span:before{content:"·";color:var(--ink-muted);margin-right:8px}.setup-page{place-items:center;min-height:100vh;padding:28px;display:grid}.setup-card{text-align:left;width:min(590px,100%);padding:20px 24px 24px}.setup-card h1{margin-top:0;font:400 30px/37px Times New Roman,Times,serif}.setup-card>p:not(.eyebrow):not(.setup-status){color:var(--ink-muted);line-height:24px}.setup-preview-wrap{background:#e6ddcf;border:1px solid #9f9280;width:320px;height:240px;margin:20px 0 12px;position:relative;overflow:hidden}.setup-preview{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.active-region-guide{pointer-events:none;border:1px solid #fffaf1d9;position:absolute;inset:10% 12%;box-shadow:0 0 0 999px #32282421}.practice-seed{background:var(--pollen);border:1px solid var(--oxblood);border-radius:55% 45% 50% 50%;width:14px;height:20px;transition:transform .42s cubic-bezier(.2,.8,.2,1),background .2s;position:absolute;bottom:23px;left:calc(50% - 7px);transform:rotate(-10deg)}.practice-seed.is-awake{background:var(--petal-blush);transform:translateY(-13px)rotate(14deg)scale(1.12)}.setup-status{min-height:22px;color:var(--stem);margin:0;font-size:14px}.error-copy,.form-error{color:var(--oxblood)!important}.setup-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:18px;margin-top:18px;display:flex}.app-header{border-bottom:1px solid #b9ad9b;justify-content:space-between;align-items:center;height:62px;margin:0 28px;display:flex}.wordmark{color:var(--oxblood);padding:8px 0;font:700 17px/24px Times New Roman,Times,serif}.app-header nav{align-items:center;gap:14px;display:flex}.header-button{text-underline-offset:3px;min-height:44px;padding:8px 1px;font-size:13px;text-decoration:underline}.header-button:hover{color:var(--oxblood)}.save-indicator{min-width:52px;color:var(--ink-muted);font:11px/18px Arial,sans-serif}.camera-status,.camera-off-button{color:var(--ink-muted);align-items:center;gap:8px;font-size:13px;display:inline-flex}.camera-status span,.camera-off-button span,.mode-dot{border:1px solid var(--ink-muted);border-radius:50%;width:7px;height:7px}.camera-off-button{cursor:pointer;background:0 0;border:0;min-height:36px;padding:7px 0;text-decoration:underline}.camera-off-button span,.mode-dot.is-live{background:var(--sage);border-color:var(--sage)}.studio-main{grid-template-rows:minmax(0,1fr) 50px;gap:8px;height:calc(100vh - 62px);min-height:calc(100vh - 62px);padding:17px 28px 14px;display:grid;overflow:hidden}.studio-workarea{grid-template-columns:minmax(0,1fr) 272px;gap:20px;min-height:0;display:grid}.artwork-panel{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.stage-topline{min-height:32px;color:var(--ink-muted);justify-content:space-between;align-items:flex-start;font:12px/18px Arial,sans-serif;display:flex}.stage-topline>div:first-child{align-items:center;gap:7px;display:flex}.view-switch{background:0 0;display:flex}.view-switch button{min-height:30px;color:var(--ink-muted);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:3px 7px;font:12px/16px Arial,sans-serif;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.view-switch button[aria-pressed=true]{color:var(--oxblood);text-decoration-color:currentColor}.stage-frame{background:var(--paper-raised);border:1px solid #9f9280;flex:auto;min-height:460px;position:relative;overflow:hidden}.bouquet-stage{z-index:3;touch-action:none;cursor:crosshair;width:100%;height:100%;display:block;position:absolute;inset:0}.bouquet-stage:focus{outline:1px dashed var(--oxblood);outline-offset:-5px}.bouquet-stage .shape-entering[data-role*=\:stem]{stroke-dasharray:520;animation:.5s ease-out both stem-draw}.bouquet-stage .shape-entering[data-role*=":petal:"]{transform-box:fill-box;transform-origin:50%;animation:.62s cubic-bezier(.2,.75,.25,1) both petal-open;animation-delay:var(--petal-enter-delay,0s)}.bouquet-stage .shape-entering[data-role*=\:center],.bouquet-stage .shape-entering[data-role*=":pollen:"],.bouquet-stage .shape-entering[data-role*=":stamen:"]{animation:.3s ease-out .3s both center-in}@keyframes stem-draw{0%{stroke-dashoffset:520px;opacity:.25}to{stroke-dashoffset:0}}@keyframes petal-open{0%{opacity:.08;transform:scale(.12)rotate(-5deg)}to{transform:scale(1)rotate(0)}}@keyframes center-in{0%{opacity:0}}.camera-crop{opacity:0;z-index:1;pointer-events:none;transition:opacity .18s;position:absolute;inset:0;overflow:hidden}.camera-crop[data-visible=true]{opacity:.2}.camera-crop canvas{object-fit:contain;width:100%;height:100%;display:block}.stage-source-video{opacity:0;pointer-events:none;width:2px;height:2px;position:absolute}.stage-instruction{align-items:center;gap:7px;min-height:55px;padding:7px 1px;display:flex}.instruction-index{color:var(--oxblood);flex:none;font:600 13px/18px Arial,sans-serif}.stage-instruction strong,.stage-instruction small{display:block}.stage-instruction strong{font:600 14px/20px Arial,sans-serif}.stage-instruction small{color:var(--ink-muted);margin-top:1px;font-size:12px}.shape-actions{flex:none;gap:13px;margin-left:auto;display:flex}.shape-actions button{min-height:40px;color:var(--ink);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:6px 1px;font-size:12px;text-decoration:underline}.shape-actions button:last-child{color:var(--oxblood)}.overlap-nudge{z-index:6;border:1px solid var(--oxblood);background:var(--paper-raised);color:var(--oxblood);cursor:pointer;padding:8px 10px;position:absolute;bottom:64px;right:10px}.inspector{min-width:0;padding-right:2px;overflow-y:auto}.inspector-section{border-bottom:1px dotted #ad9f8c;margin-bottom:13px;padding:0 0 13px}.section-heading{color:var(--ink);justify-content:space-between;align-items:baseline;margin-bottom:6px;font:600 13px/18px Arial,sans-serif;display:flex}.section-heading span:last-child:not(:first-child){color:var(--ink-muted);font:11px/16px Arial,sans-serif}.species-grid{display:block}.species-card{width:100%;min-height:44px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;padding:7px 3px;font-size:13px;display:block}.species-card[aria-pressed=true]{color:var(--oxblood);text-underline-offset:3px;text-decoration:underline}.species-mark{vertical-align:0;border:1px solid;border-radius:50%;width:10px;height:10px;margin:0 9px 0 1px;display:inline-block}.species-card[aria-pressed=true] .species-mark{background:currentColor}.flower-list{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.flower-list button{min-height:34px;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;border-radius:0;padding:4px 5px;font-size:11px;text-decoration:underline}.flower-list button[aria-pressed=true]{color:var(--oxblood);border-color:var(--oxblood);background:var(--paper-raised)}.palette-list{gap:0;display:grid}.palette-list button,.input-mode-buttons button,.ordinary-controls button,.layer-controls button{min-height:44px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:0;padding:6px 3px;font-size:13px}.palette-list button[aria-pressed=true],.input-mode-buttons button[aria-pressed=true],.ordinary-controls button[aria-pressed=true]{color:var(--oxblood);text-underline-offset:3px;text-decoration:underline}.palette-swatch{vertical-align:-1px;border:1px solid #9f9280;border-radius:0;width:31px;height:11px;margin-right:8px;display:inline-block}.swatch-rose-letter{background:linear-gradient(90deg,#ebc2c5 0 33%,#c98799 33% 66%,#7b293e 66%)}.swatch-late-summer{background:linear-gradient(90deg,#f2d6a2 0 33%,#d5a2a5 33% 66%,#ad6d3a 66%)}.swatch-ink-garden{background:linear-gradient(90deg,#faf5eb 0 33%,#e5ded0 33% 66%,#4a3934 66%)}.selected-name{margin:0 0 7px;font:14px/21px Arial,sans-serif}.selected-name span{color:var(--ink-muted);font:11px Arial,sans-serif}.ordinary-controls{grid-template-columns:1fr 1fr;gap:6px;display:grid}.ordinary-controls button{text-underline-offset:3px;background:0 0;border:0;border-radius:0;min-height:44px;padding:8px 2px;font-size:12px;text-decoration:underline}.ordinary-controls label{background:var(--paper-raised);border:1px solid #b4a794;border-radius:0;grid-column:1/-1;grid-template-columns:44px 1fr;align-items:center;min-height:44px;padding:8px;font-size:12px;display:grid}.ordinary-controls input[type=range]{width:100%;accent-color:var(--oxblood)}.layer-controls{gap:5px;margin-top:6px;display:flex}.layer-controls button{text-underline-offset:3px;min-height:30px;padding:4px;font-size:11px;text-decoration:underline}.empty-selection{color:var(--ink-muted);margin:0;font-size:13px;line-height:20px}.input-mode-buttons{gap:10px;display:flex}.input-mode-buttons button{text-align:left;text-underline-offset:3px;padding:4px 1px;text-decoration:underline}.switch-label,.date-field{color:var(--ink-muted);align-items:center;gap:8px;margin-top:9px;flex-direction:row!important;font-size:12px!important;display:flex!important}.switch-label input,.date-field input{accent-color:var(--oxblood);height:16px;width:16px!important}.sensitivity-label{color:var(--ink-muted);justify-content:space-between;align-items:center;gap:8px;margin-top:9px;font-size:12px;display:flex}.sensitivity-label select{background:var(--paper-raised);min-height:34px;color:var(--ink);border:1px solid #a99c89;border-radius:0;padding:4px 24px 4px 8px}.recalibrate-button{width:auto;min-height:44px;color:var(--ink);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;border-radius:0;margin-top:7px;padding:6px 1px;text-decoration:underline}.full-button{width:auto;margin-top:9px}.dedication-fields{gap:13px;display:grid}.dedication-fields label{color:var(--ink-muted);gap:6px;font-size:13px;display:grid;position:relative}.field-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.dedication-fields input[type=text],.dedication-fields input:not([type]),.dedication-fields textarea{background:var(--paper-raised);width:100%;color:var(--ink);resize:vertical;border:1px solid #b4a794;border-radius:0;padding:8px 7px;font:15px/21px Arial,sans-serif}.dedication-fields textarea{padding-bottom:24px}.field-count{font:10px ui-monospace,monospace;position:absolute;bottom:7px;right:8px}.compact-fields{gap:8px}.compact-fields .field-row{grid-template-columns:1fr;gap:8px}.compact-fields input,.compact-fields textarea{padding:8px!important;font-size:12px!important}.compact-fields textarea{padding-bottom:20px!important}.geometry-drawer{z-index:8;background:var(--paper-raised);border:1px solid #9f9280;width:240px;padding:11px;font:11px/16px ui-monospace,monospace;position:absolute;top:36px;right:6px}.geometry-title{border-bottom:1px solid var(--rule);color:var(--oxblood);justify-content:space-between;padding-bottom:7px;display:flex}.geometry-title small{color:var(--ink-muted);font-size:9px}.geometry-drawer dl{margin:8px 0}.geometry-drawer dl div{justify-content:space-between;gap:8px;display:flex}.geometry-drawer dt{color:var(--ink-muted)}.geometry-drawer dd{margin:0}.geometry-drawer svg{border:1px solid var(--rule);width:100%;height:58px;overflow:visible}.geometry-drawer svg line{stroke:var(--rose);stroke-width:.7px;stroke-dasharray:3 2}.geometry-drawer svg path{fill:none;stroke:var(--oxblood);stroke-width:1.5px}.geometry-drawer p{color:var(--ink-muted);margin:4px 0 0;font-size:9px}.studio-footer{border-top:1px solid var(--rule);justify-content:space-between;align-items:center;padding-top:10px;display:flex}.studio-footer>div{gap:4px;display:flex}.footer-button{text-underline-offset:3px;min-height:40px;padding:7px 10px;text-decoration:underline}.save-recovery{z-index:20;width:min(560px,100% - 32px);color:var(--ink);background:var(--paper-raised);border:1px solid var(--oxblood);justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;font-size:13px;display:flex;position:fixed;bottom:20px;left:50%;translate:-50%}.save-recovery button{min-height:44px;color:var(--oxblood);cursor:pointer;background:0 0;border:0;flex:none;padding:6px 2px;text-decoration:underline}.camera-recovery{z-index:20;width:min(620px,100% - 32px);color:var(--ink);background:var(--paper-raised);border:1px solid var(--oxblood);justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;font-size:13px;display:flex;position:fixed;bottom:20px;left:50%;translate:-50%}.camera-recovery button{min-height:44px;color:var(--oxblood);cursor:pointer;background:0 0;border:0;flex:none;padding:6px 2px;text-decoration:underline}.sr-live{width:1px;height:1px;position:fixed;left:-9999px;overflow:hidden}.finish-page{grid-template-columns:minmax(490px,1fr) 400px;gap:42px;width:min(1110px,100% - 48px);min-height:calc(100vh - 62px);margin:0 auto;padding:26px 0 38px;display:grid}.finish-preview-column{min-width:0}.back-button{min-height:40px;color:var(--ink-muted);margin-bottom:7px;padding:6px 0}.print-mat{background:#e5dccd;border:1px solid #b4a794;width:min(500px,100%);margin:0;padding:9px}.print-preview{aspect-ratio:4/5;background:var(--paper);border:1px solid #cabfae;width:100%;display:block}.finish-panel{padding:46px 0 0}.finish-panel h1,.recipient-actions h1{margin:0 0 9px;font:400 31px/38px Times New Roman,Times,serif}.finish-intro{color:var(--ink-muted);margin:0 0 22px;line-height:24px}.export-actions{flex-wrap:wrap;align-items:center;gap:4px 20px;margin-top:15px;display:flex}.formula-toggle{width:100%;min-height:44px;color:var(--ink);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;border-bottom:1px dotted #ad9f8c;justify-content:space-between;align-items:center;margin-top:15px;padding:8px 1px;text-decoration:underline;display:flex}.formula-toggle span{color:var(--oxblood);font-size:20px}.formula-card{margin-top:7px;padding:8px 0;font:11px/17px ui-monospace,monospace}.formula-card p{white-space:pre-line;margin:2px 0}.formula-card p span{width:82px;color:var(--ink-muted);display:inline-block}.formula-card small,.svg-note{color:var(--ink-muted);font-size:10px;line-height:16px}.svg-note{margin-top:14px}.recipient-page{grid-template-columns:minmax(500px,1fr) 330px;align-items:center;gap:46px;width:min(1060px,100% - 48px);min-height:100vh;margin:0 auto;padding:28px 0;display:grid}.recipient-sheet{background:var(--paper-raised);opacity:0;border:1px solid #9f9280;grid-template-rows:28px 1fr auto;justify-self:end;width:min(570px,100%);min-height:740px;padding:28px 34px 24px;transition:opacity .18s,transform .18s;display:grid;transform:translateY(5px)}.recipient-sheet.is-revealed{opacity:1;transform:translateY(0)}.recipient-wordmark{color:var(--oxblood);margin:0;font:700 14px/22px Times New Roman,Times,serif}.recipient-art{min-height:0;overflow:hidden}.recipient-bouquet{width:100%;height:100%}.recipient-sheet.is-revealed .recipient-bouquet [data-role^=flower]{animation:recipient-reveal var(--flower-reveal-duration,1.2s) both;animation-delay:var(--flower-reveal-delay,0s)}.recipient-sheet.show-immediately .recipient-bouquet [data-role^=flower]{animation:none}@keyframes recipient-reveal{0%{opacity:0;stroke-dasharray:450;stroke-dashoffset:450px}45%{opacity:1}to{opacity:1;stroke-dashoffset:0}}.recipient-dedication{border-top:1px solid var(--rule);padding-top:18px}.recipient-to{color:var(--oxblood);margin:0 0 7px;font:italic 18px/26px Newsreader,Georgia,serif}.recipient-dedication blockquote{margin:0;font:24px/32px Times New Roman,Times,serif}.recipient-dedication>p:last-child{color:var(--ink-muted);text-align:right;font-size:12px}.recipient-actions{align-self:center;gap:7px;display:grid}.recipient-actions>button{justify-self:start}.recipient-actions .formula-toggle{justify-self:stretch}.recipient-privacy{color:var(--ink-muted);font-size:11px;line-height:17px}.archive-page{width:min(1120px,100% - 48px);margin:0 auto;padding:30px 0 58px}.archive-heading{border-bottom:1px dotted #ad9f8c;justify-content:space-between;align-items:flex-end;padding-bottom:18px;display:flex}.archive-heading h1{font:400 32px/39px Times New Roman,Times,serif}.archive-heading p:not(.eyebrow){color:var(--ink-muted);margin:5px 0 0}.archive-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-top:22px;display:grid}.archive-card{background:0 0;border:1px solid #a99c89;padding:9px}.archive-thumbnail{aspect-ratio:4/5;background:var(--paper);border-bottom:1px solid var(--rule);overflow:hidden}.archive-thumbnail svg{width:100%;height:100%}.archive-card-copy{min-height:119px;padding:13px 3px 10px}.archive-card h2{font:400 18px/25px Times New Roman,Times,serif}.archive-card-copy p{color:var(--ink-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:5px 0;font-size:13px;line-height:19px;display:-webkit-box;overflow:hidden}.archive-card time{color:var(--ink-muted);font:10px/16px ui-monospace,monospace}.archive-card-actions{border-top:1px dotted var(--rule);gap:12px;padding-top:8px;display:flex}.archive-card-actions button{color:var(--ink);cursor:pointer;background:0 0;border:0;padding:5px 1px;font-size:11px;text-decoration:underline}.archive-card-actions button:disabled{color:var(--ink-muted);cursor:not-allowed}.archive-card-actions button:last-child{color:var(--oxblood);border:0}.archive-empty{text-align:center;place-content:center;justify-items:center;min-height:520px;display:grid}.archive-empty svg{width:150px;height:150px}.archive-empty svg path{fill:none;stroke:var(--rose);stroke-width:1.3px}.archive-empty h2{margin-top:-7px}.archive-empty p{color:var(--ink-muted)}.dialog-backdrop{z-index:50;background:#3228243d;place-items:center;padding:24px;animation:.18s both dialog-in;display:grid;position:fixed;inset:0}.dialog{background:var(--paper-raised);border:1px solid #8f8170;width:min(460px,100%);padding:18px}.dialog-heading{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:12px;display:flex}.dialog-heading button{cursor:pointer;background:0 0;border:0;width:36px;height:36px;font-size:22px;text-decoration:underline}.dialog p,.help-list{color:var(--ink-muted);font-size:14px;line-height:22px}.help-list{padding-left:20px}.help-list li+li{margin-top:7px}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}.danger-button{min-height:44px;color:var(--oxblood);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:8px 2px;font-weight:700;text-decoration:underline}@keyframes dialog-in{0%{opacity:0}to{opacity:1}}@media (max-width:1119px){.app-header{margin-inline:24px}.studio-main{height:auto;padding-inline:24px;overflow:visible}.studio-workarea{display:block}.stage-frame{height:min(64vw,620px)}.inspector{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px;display:grid;overflow:visible}.inspector-section{background:0 0;border:0;border-bottom:1px dotted #ad9f8c;margin:0;padding:0 0 12px}.dedication-inspector{grid-column:1/-1}.finish-page{grid-template-columns:minmax(420px,1fr) 370px;gap:28px;padding-inline:30px}.recipient-page{gap:34px}}@media (max-width:820px){.landing-page{width:calc(100% - 32px)}.landing-bouquet{width:min(330px,80vw)}.landing-actions{flex-direction:column;gap:0;width:auto}.landing-actions button{width:auto}.app-header{flex-wrap:wrap;gap:5px 18px;height:auto;min-height:72px;padding:8px 0}.app-header nav{flex-wrap:wrap;justify-content:flex-end;gap:12px}.save-indicator{display:none}.studio-main{padding-top:16px}.stage-topline{flex-direction:column;gap:9px;height:auto;margin-bottom:9px}.stage-frame{height:68vw;min-height:360px}.inspector{grid-template-columns:1fr}.dedication-inspector{grid-column:auto}.finish-page,.recipient-page{width:auto;padding:24px;display:block}.finish-panel{padding-top:28px}.recipient-sheet{min-height:650px;margin:0 auto}.recipient-actions{max-width:500px;margin:34px auto 0}.archive-page{padding:28px 24px 50px}}@media (max-width:520px){.landing-footer,.archive-heading{flex-direction:column;justify-content:center;align-items:flex-start;gap:4px}.landing-content h1{font-size:40px}.setup-page{padding:14px}.setup-card{padding:12px 0 20px}.setup-preview-wrap{aspect-ratio:4/3;width:min(320px,100%);height:auto}.stage-frame{min-height:300px}.stage-instruction{flex-wrap:wrap;align-items:flex-start}.shape-actions{width:100%;margin-left:20px}.view-switch{width:100%}.view-switch button{flex:1}.studio-main{padding-inline:12px}.studio-footer{z-index:12;background:var(--paper);position:sticky;bottom:0}.geometry-drawer{width:auto;left:8px;right:8px}.print-mat{padding:10px}.finish-panel h1,.recipient-actions h1,.archive-heading h1{font-size:30px;line-height:37px}.recipient-sheet{min-height:570px;padding:24px}.recipient-dedication blockquote{font-size:23px;line-height:31px}.archive-heading{align-items:stretch}}@media (prefers-reduced-motion:reduce){.bouquet-stage .shape-entering,.recipient-sheet.is-revealed .recipient-bouquet [data-role^=flower]{animation:.12s ease-out both reduced-reveal!important;transform:none!important}@keyframes reduced-reveal{0%{opacity:0}to{opacity:1}}}
