.frame{background:var(--paper);border-radius:var(--radius-lg);width:920px;max-width:100%;height:min(80vh,680px);box-shadow:var(--shadow-lg);outline:none;flex-direction:column;display:flex;overflow:hidden}.frame .dlg__head{border-bottom:1px solid var(--border)}.frame__stage{background:var(--beige-50);flex:1;position:relative;overflow:hidden}.frame__loading{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.frame__iframe{border:0;width:100%;height:100%;display:block}.frame__foot{justify-content:flex-end;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border);flex-shrink:0;display:flex}.frame__cta{color:var(--brand);transition:color var(--duration-fast) var(--ease-out);flex-shrink:0;text-decoration:none}.frame__cta:hover{color:var(--brand-hover)}.frame__cta:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--radius-sm)}
.video-modal{background:var(--paper);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);outline:none;flex-direction:column;display:flex;overflow:hidden}.video-modal--horizontal{width:min(920px,92vw)}.video-modal--horizontal .video-modal__stage{aspect-ratio:16/9}.video-modal--vertical .video-modal__stage{aspect-ratio:9/16;height:min(80vh,720px)}.video-modal__stage{background:var(--beige-50);position:relative;overflow:hidden}.video-modal__iframe{border:0;width:100%;height:100%;display:block}.video-modal__loading,.video-modal__error{text-align:center;padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.video-modal .dlg__head{border-bottom:1px solid var(--border)}
.type-tile{min-width:0;height:100%;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--duration) var(--ease-out), background var(--duration) var(--ease-out), box-shadow var(--duration) var(--ease-out);background:0 0;flex-direction:column;align-items:stretch;font-family:inherit;display:flex;position:relative}.type-tile:hover:not(.type-tile--checked):not(.type-tile--disabled):not(.type-tile--blocked){border-color:var(--border-strong);background:var(--bg-alt)}.type-tile--checked{border-color:var(--brand);background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--brand)}.type-tile--disabled{cursor:not-allowed;opacity:.5}.type-tile--blocked{cursor:default;opacity:.4;filter:grayscale(.4)}.type-tile:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.type-tile__name{width:100%;height:calc(1em * var(--leading-snug) * 3);text-align:center;line-height:var(--leading-snug);color:var(--fg);white-space:pre-line;overflow-wrap:normal;word-break:keep-all;justify-content:center;align-items:center;margin:0;display:flex;overflow:hidden}.type-tile__more{width:100%;min-width:0;transition:grid-template-rows var(--duration) var(--ease-out);flex:auto;grid-template-rows:1fr;display:grid}.type-tile__more-inner{min-height:0;overflow:hidden}.type-tile-grid[data-features=collapsed] .type-tile__more{grid-template-rows:0fr}.type-tile-group__toggle{align-items:center;gap:var(--space-1);margin-top:var(--space-2);color:var(--fg-subtle);cursor:pointer;transition:color var(--duration) var(--ease-out);background:0 0;border:0;padding:0;font-family:inherit;display:inline-flex}.type-tile-group__toggle:hover{color:var(--fg-muted)}.type-tile-group__toggle:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.type-tile-group__toggle-icon{transition:transform var(--duration) var(--ease-out);display:inline-flex}.type-tile-group__toggle[aria-expanded=true] .type-tile-group__toggle-icon{transform:rotate(180deg)}.type-tile__divider{background:var(--border);width:100%;height:1px;margin:var(--space-3) 0 var(--space-3);display:block}.type-tile__features{gap:var(--space-1);text-align:left;flex-direction:column;width:100%;min-width:0;margin:0;padding:0;list-style:none;display:flex}.type-tile__feature{align-items:flex-start;gap:var(--space-1);min-width:0;display:flex}.type-tile__feature-icon{width:16px;height:16px;color:var(--brand);flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:inline-flex}.type-tile__feature-text{font-size:var(--text-xs);font-weight:var(--font-regular);line-height:var(--leading-snug);letter-spacing:var(--tracking-normal);color:var(--fg-muted);overflow-wrap:normal;word-break:keep-all;min-width:0}
.text-tile{min-width:0;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:border-color var(--duration) var(--ease-out), background var(--duration) var(--ease-out);background:0 0;flex-direction:column;align-items:stretch;font-family:inherit;display:flex;position:relative}.text-tile:hover:not(.text-tile--checked):not(.text-tile--blocked){border-color:var(--border-strong);background:var(--bg-alt)}.text-tile--checked{border-color:var(--brand);background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--brand)}.text-tile--blocked{cursor:default;opacity:.4;filter:grayscale(.4)}.text-tile:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.text-tile__name{width:100%;height:calc(1em * var(--leading-snug) * 3);text-align:center;line-height:var(--leading-snug);color:var(--fg);white-space:pre-line;overflow-wrap:normal;word-break:keep-all;justify-content:center;align-items:center;margin:0;display:flex;overflow:hidden}.text-tile__divider{background:var(--border);width:100%;height:1px;margin:var(--space-3) 0;display:block}.text-tile__desc{gap:var(--space-1);text-align:center;flex-direction:column;flex:auto;width:100%;min-width:0;display:flex}.text-tile__desc-line{font-size:var(--text-xs);font-weight:var(--font-regular);line-height:var(--leading-snug);letter-spacing:var(--tracking-normal);color:var(--fg-muted);overflow-wrap:normal;word-break:keep-all;min-width:0}
.color-picker-trigger__rainbow{background:conic-gradient(from 90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:50%;width:100%;height:100%;display:block}.color-picker-popover{gap:var(--space-3);padding:var(--space-3);background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000;flex-direction:column;width:220px;display:flex}.color-picker-popover .react-colorful{width:100%;height:180px}.color-picker-popover .react-colorful__saturation{border-radius:var(--radius-sm) var(--radius-sm) 0 0}.color-picker-popover .react-colorful__hue{border-radius:0 0 var(--radius-sm) var(--radius-sm);height:20px}.color-picker-popover__hex-row{align-items:center;gap:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);background:var(--bg-alt);display:flex}.color-picker-popover__hex-row:focus-within{border-color:var(--brand)}.color-picker-popover__hash{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-sm);color:var(--fg-subtle)}.color-picker-popover__hex-input{min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--fg);background:0 0;border:0;outline:none;flex:1}
.placement{align-items:center;gap:var(--space-7);margin-top:var(--space-2);flex-direction:column;display:flex}.placement__cover{background:var(--paper);border:1px solid var(--border-strong);width:210px;height:210px;position:relative}.placement--square .placement__cover{height:210px}.placement--portrait .placement__cover{height:280px}.placement--landscape .placement__cover{height:158px}.placement__spot{cursor:pointer;border-radius:var(--radius-pill);width:24px;height:24px;transition:transform var(--duration-fast) var(--ease-out);background:0 0;border:0;place-items:center;margin:-12px 0 0 -12px;padding:0;display:grid;position:absolute}.placement__spot:before{content:"";border-radius:var(--radius-pill);border:1.25px solid var(--border);transition:border-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);position:absolute;inset:3px}.placement__spot:after{content:"";border-radius:var(--radius-pill);background:var(--brand-hover);opacity:0;width:4px;height:4px;transition:opacity var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);transform:scale(.6)}.placement__spot:hover:before{border-color:var(--brand)}.placement__spot--active:before{border-color:var(--brand);border-width:1.75px;transform:scale(1.18)}.placement__spot--active:after{opacity:1;transform:scale(1)}.placement__spot:focus-visible{outline:2px solid var(--brand);outline-offset:4px}.placement__spot--disabled{opacity:.4;pointer-events:none;cursor:default}.placement__spot--disabled:before{border-color:var(--border-strong)}.placement__status{align-items:baseline;gap:var(--space-2);min-height:22px;display:flex}
.choice-btn{font-family:var(--font-sans);font-weight:var(--font-regular);color:var(--beige-800);border:1px solid var(--border);cursor:pointer;text-align:center;transition:background var(--duration) var(--ease-out), border-color var(--duration) var(--ease-out), color var(--duration) var(--ease-out), transform var(--duration-fast) var(--ease-out);background:0 0;justify-content:center;align-items:center;display:inline-flex}.choice-btn:hover{border-color:var(--beige-400);background:var(--beige-50)}.choice-btn:active{transform:translateY(1px)}.choice-btn:focus-visible{outline:2px solid var(--beige-400);outline-offset:2px}.choice-btn--selected{border:2px solid var(--border);background:var(--beige-100);font-weight:var(--font-medium);color:var(--beige-900)}.choice-btn--blocked{opacity:.4;filter:grayscale(.4);cursor:default}.choice-btn--blocked:hover{border-color:var(--border);background:0 0}.choice-btn--square{width:90px;height:90px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-none);font-size:var(--text-xs);line-height:var(--leading-snug);letter-spacing:var(--tracking-wide);white-space:normal;text-wrap:balance;overflow-wrap:normal;word-break:keep-all;flex:none}.choice-button-group{gap:var(--tile-gap);flex-wrap:wrap;justify-content:center;display:flex}
.option-badge{margin-top:var(--tile-label-gap);padding:0 var(--space-1);border-radius:var(--radius-sm);background:var(--badge-new-bg);color:var(--badge-new-fg);pointer-events:none;font-size:var(--text-2xs);font-weight:var(--font-medium);letter-spacing:var(--tracking-wide);line-height:var(--leading-snug);text-transform:uppercase;white-space:nowrap;flex:none;align-self:center;align-items:center;display:inline-flex}.option-badge--sm{letter-spacing:var(--tracking-normal);padding:0 2px;font-size:9px}.option-badge--on-photo{box-shadow:0 0 0 1px var(--badge-new-ring)}.option-pill>.option-badge{margin-top:0;vertical-align:middle;margin-inline-start:var(--space-1)}@media (prefers-reduced-motion:reduce){.option-badge{transition:none;animation:none}}
.shape-icon{aspect-ratio:1;width:100%;color:var(--brand);display:block}.shape-icon__book{fill:none;stroke:var(--border-strong);stroke-width:1.75px;transition:fill var(--duration-fast) var(--ease-out)}.shape-icon--selected .shape-icon__book{fill:var(--brand-soft)}.shape-icon__window{fill:none;stroke:currentColor;stroke-width:1.5px}
.shield-shape-icon{aspect-ratio:1;width:100%;display:block}.shield-shape-icon__body{fill:none}.shield-shape-icon--selected .shield-shape-icon__body{fill:var(--brand-soft)}.shield-shape-icon__ring{fill:var(--brand)}
.value-note{margin-top:var(--space-3);padding-left:var(--space-3);gap:var(--space-2);animation:value-note-in var(--duration) var(--ease-out);flex-direction:column;display:flex}.value-note__item{white-space:pre-line;margin:0}.value-note__label{color:var(--fg-muted);font-weight:var(--font-medium)}@keyframes value-note-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.value-note{animation:none}}
.processing-indicator{align-items:stretch;gap:var(--space-2);flex-direction:column;width:100%;display:flex}.processing-indicator__bar{border-radius:var(--radius-pill);background:var(--border);width:100%;height:4px;position:relative;overflow:hidden}.processing-indicator__bar:after{content:"";border-radius:inherit;background:var(--brand);width:40%;animation:processing-indicator-slide 1.4s var(--ease-in-out) infinite;position:absolute;top:0;bottom:0}@keyframes processing-indicator-slide{0%{left:-40%}to{left:100%}}.processing-indicator__phrase{text-align:center;animation:processing-indicator-fade var(--duration-slow) var(--ease-out)}@keyframes processing-indicator-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.processing-indicator__bar:after{animation:none;left:30%}.processing-indicator__phrase{animation:none}}
.loading{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-6);color:var(--fg-subtle);flex-direction:column;display:flex}.loading--full-page{width:100%;height:100%;min-height:60vh}.loading__spinner{width:var(--space-7);height:var(--space-7);border:2px solid var(--brand-soft);border-top-color:var(--brand);animation:loading-rotate var(--duration-slow) var(--ease-in-out) infinite;border-radius:50%}.loading__label{font-size:var(--text-sm,13px);color:var(--fg-subtle);letter-spacing:.02em}@keyframes loading-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading__spinner{animation:none}}
.upload-advice{font-size:var(--text-2xs);line-height:var(--leading-normal);color:var(--fg-subtle);margin-top:var(--space-2);max-width:480px;margin-left:auto;margin-right:auto}.upload-advice__autonote{justify-content:center;align-items:center;gap:var(--space-1);text-align:center;display:flex}.upload-advice__size{margin-top:var(--space-3);font-size:var(--text-2xs);line-height:var(--leading-normal);color:var(--fg-muted);text-align:center}.upload-advice__size:before{content:"";background:var(--border);width:48px;height:1px;margin:0 auto var(--space-3);display:block}.upload-advice__section{color:var(--fg-muted);font-weight:var(--font-medium)}.upload-advice__list{margin:var(--space-1) 0 var(--space-2) 18px;padding:0}.upload-advice__para{margin:var(--space-1) 0 var(--space-2)}.upload-advice__para:last-child{margin-bottom:0}.upload-advice__arlock{text-align:center;margin-top:var(--space-2)}
.priced-info-box{border:1px dashed var(--brand);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-5);color:var(--fg-muted);font-size:var(--text-sm);text-align:center;margin-bottom:var(--space-3)}.priced-info-box--plain{background:var(--beige-50);border:none}
.toast{top:var(--space-5);z-index:900;align-items:flex-start;gap:var(--space-3);max-width:420px;padding:var(--space-3) var(--space-4);background:var(--paper);color:var(--fg);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:toast-in var(--duration) var(--ease-out);display:flex;position:fixed;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translateX(-50%) translateY(calc(-1 * var(--space-3)))}to{opacity:1;transform:translate(-50%)translateY(0)}}.toast--top-right{left:auto;right:var(--space-4);top:calc(var(--topbar-h) + var(--space-2));max-width:min(420px, calc(100vw - 2 * var(--space-4)));animation:toast-in-right var(--duration) var(--ease-out);transform:none}@keyframes toast-in-right{0%{opacity:0;transform:translateX(var(--space-4))}to{opacity:1;transform:translate(0)}}.toast__text.toast__text{color:inherit;flex:auto}.toast__close{cursor:pointer;color:var(--fg-subtle);font-size:var(--text-xs);transition:color var(--duration-fast) var(--ease-out);background:0 0;border:none;flex:none;padding:0;line-height:1}.toast__close:hover{color:var(--fg-strong)}@media (prefers-reduced-motion:reduce){.toast{animation:none}}
.sf-share{gap:var(--space-3);flex-direction:column;width:100%;display:flex}.sf-share__url{width:100%;min-width:0;height:36px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--paper);color:var(--fg);font-family:inherit}.sf-share__buttons{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}
.revise-dialog{gap:var(--space-3);text-align:left;flex-direction:column;width:100%;display:flex}.revise-dialog p{margin:0}.revise-dialog__title{font-weight:var(--font-medium)}.revise-dialog__warning{color:var(--error-fg);background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}.revise-dialog__diff{padding-left:var(--space-4);max-height:40vh;margin:0;overflow-y:auto}.revise-dialog__label{color:var(--fg-muted)}.revise-dialog__prices{gap:var(--space-1);flex-direction:column;display:flex}.revise-dialog__files{color:var(--fg-muted)}.revise-dialog__reason{gap:var(--space-1);flex-direction:column;display:flex}.revise-dialog__reason textarea{box-sizing:border-box;width:100%;font:inherit;padding:var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);resize:vertical}.revise-dialog__error{color:var(--error-fg)}.revise-dialog__actions{justify-content:center;gap:var(--space-3);flex-wrap:wrap;display:flex}
