.ui-panel{border:1px solid rgba(148,163,184,.28);border-radius:1rem;background:#ffffffe6;box-shadow:0 12px 30px #0f172a14;padding:1.25rem}.ui-button{border:0;border-radius:.75rem;cursor:pointer;font:inherit;font-weight:700;min-height:2.75rem;padding:.7rem 1rem;transition:transform .12s ease,opacity .12s ease}.ui-button:hover:not(:disabled){transform:translateY(-1px)}.ui-button:disabled{cursor:not-allowed;opacity:.45}.ui-button-primary{background:#0f766e;color:#fff}.ui-button-secondary{background:#e0f2fe;color:#075985}.ui-button-quiet{background:#f1f5f9;color:#334155}.ui-button-danger{background:#fee2e2;color:#991b1b}.locale-toggle{align-items:center;display:inline-flex;gap:.25rem}.locale-toggle button{background:transparent;border:1px solid transparent;border-radius:999px;color:inherit;cursor:pointer;font:inherit;padding:.35rem .65rem}.locale-toggle button.locale-active{background:#e2e8f0;border-color:#cbd5e1;font-weight:700}.qr-wrap{align-items:center;display:flex;flex-direction:column;gap:.65rem}.qr-placeholder{background:#fff;border:.5rem solid white;box-shadow:0 0 0 1px #cbd5e1;display:grid;height:15rem;overflow:hidden;place-items:center;width:15rem}.qr-cell{background:#fff}.qr-cell-filled{background:#0f172a}.qr-caption{color:#475569;font-size:.85rem}:root{color:#0f172a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f8fafc}*{box-sizing:border-box}body{margin:0;min-width:320px;overscroll-behavior-y:contain}button,input{font:inherit}.mobile-shell{margin:0 auto;max-width:62rem;min-height:100dvh;padding:clamp(1.25rem,5vw,3rem)}.mobile-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:2rem}.eyebrow{color:#0f766e;font-size:.75rem;font-weight:800;letter-spacing:.1em;margin:0 0 .4rem;text-transform:uppercase}h1,h2,p{margin-top:0}h1{font-size:clamp(1.8rem,5vw,2.7rem);margin-bottom:.5rem}h2{font-size:1.15rem;margin-bottom:1rem}.subtitle,.muted{color:#64748b}.subtitle{margin-bottom:0}.mobile-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-grid>:last-child{grid-column:1 / -1}.mobile-landing{display:grid;gap:.85rem;margin:0 auto;max-width:40rem}.connection-status{align-items:center;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;color:#9a3412;display:inline-flex;font-size:.85rem;gap:.5rem;justify-self:start;padding:.45rem .75rem}.connection-status.is-connected{background:#ecfdf5;border-color:#a7f3d0;color:#166534}.connection-dot{background:currentColor;border-radius:999px;height:.55rem;width:.55rem}.landing-step-panel{display:grid;gap:1rem}.step-heading{align-items:flex-start;display:flex;gap:.75rem}.step-heading h2,.step-heading p{margin-bottom:0}.step-number{align-items:center;background:#0f766e;border-radius:999px;color:#fff;display:inline-flex;flex:0 0 auto;font-size:.85rem;font-weight:900;height:1.75rem;justify-content:center;width:1.75rem}.mode-choice{align-items:flex-start;display:flex;flex-direction:column;gap:.2rem;min-height:4.25rem;text-align:left}.mode-choice span{font-size:.78rem;font-weight:500;opacity:.8}.upload-step:not(.is-enabled){background:#f8fafc}.upload-locked-hint{background:#f1f5f9;border-radius:.75rem;color:#64748b;margin:0;padding:1rem;text-align:center}.side-upload-grid{display:grid;gap:.75rem;grid-template-columns:1fr}.side-upload-grid.is-double{grid-template-columns:repeat(2,minmax(0,1fr))}.side-upload-card,.editor-upload-field{background:#f8fafc;border:2px dashed #94a3b8;border-radius:.9rem;cursor:pointer;display:flex;flex-direction:column;gap:.4rem;min-width:0;padding:.85rem;position:relative}.side-upload-card{min-height:9rem}.side-upload-card.is-selected,.editor-upload-field.is-selected{background:#f0fdfa;border-color:#14b8a6;border-style:solid}.side-upload-card input,.editor-upload-field input{height:1px;opacity:0;overflow:hidden;position:absolute;width:1px}.side-upload-badge{align-self:flex-start;background:#dbeafe;border-radius:999px;color:#1e40af;font-size:.72rem;font-weight:900;padding:.25rem .5rem}.side-upload-filename{color:#64748b;display:block;font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-upload-action{color:#0f766e;font-size:.8rem;font-weight:800;margin-top:auto}.landing-submit-bar{align-items:center;background:#f8fafcf0;display:grid;gap:.4rem;padding:.25rem 0}.landing-submit-bar p{font-size:.78rem;margin:0;text-align:center}.landing-next-button{min-height:3.25rem;width:100%}.landing-error{background:#fef2f2;border:1px solid #fecaca;border-radius:.75rem;color:#991b1b;font-size:.88rem;margin:0;padding:.75rem;text-align:center}.session-token{background:#f1f5f9;border-radius:.5rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;min-height:2.5rem;overflow-wrap:anywhere;padding:.75rem}.mode-grid{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.upload-field{align-items:center;border:1px dashed #94a3b8;border-radius:.75rem;cursor:pointer;display:flex;gap:.75rem;justify-content:space-between;padding:1rem}.upload-field input{max-width:55%}.mobile-footer{align-items:center;color:#475569;display:flex;justify-content:space-between;margin-top:1.25rem}.mobile-landing-grid>:last-child{display:grid;gap:1rem}.notice{background:#ecfeff;border-left:4px solid #0891b2;border-radius:.25rem;color:#155e75;font-size:.9rem;padding:.7rem .8rem}.warning{background:#fef3c7;border-radius:.5rem;color:#92400e;font-size:.85rem;padding:.7rem .8rem}.editor-layout{align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(18rem,.9fr) minmax(20rem,1.1fr)}.editor-toolbar-panel{display:grid;gap:.85rem}.editor-preview-panel{align-items:center;display:flex;flex-direction:column;gap:.75rem}.editor-heading{align-items:start;display:flex;justify-content:space-between}.editor-heading h2{margin-bottom:.2rem}.editor-upload-field{min-height:7.5rem}.session-state-pill{background:#dcfce7;border-radius:999px;color:#166534;font-size:.75rem;font-weight:800;padding:.35rem .6rem}.side-tabs{display:grid;gap:.5rem;grid-template-columns:1fr 1fr}.editor-actions{display:flex;flex-wrap:wrap;gap:.45rem}.editor-actions .ui-button{flex:1 1 auto;min-height:2.45rem;padding:.55rem .7rem}.undo-button.ui-button{background:#f97316;border-color:#ea580c;box-shadow:0 5px 14px #ea580c47;color:#fff;font-weight:900}.undo-button.ui-button:hover:not(:disabled){background:#ea580c}.undo-button.ui-button:disabled{box-shadow:none;opacity:.48}.decor-actions,.editor-submit-actions{border-top:1px solid #e2e8f0;padding-top:.8rem}.editor-submit-actions .ui-button:last-child{flex:2 1 12rem}.editor-canvas-wrap{background:#e2e8f0;border-radius:.75rem;max-height:78vh;max-width:min(100%,30rem);overflow:hidden;position:relative;touch-action:none;width:100%}.editor-canvas-wrap.is-portrait{aspect-ratio:2 / 3;width:min(100%,52vh)}.editor-canvas-wrap.is-landscape{aspect-ratio:3 / 2;width:min(100%,117vh)}.asset-picker{background:#f8fafc;border:2px solid #14b8a6;border-radius:.85rem;display:grid;gap:.65rem;padding:.7rem}.asset-picker-loading{color:#0f766e;min-height:5rem;place-items:center}.asset-picker-heading{align-items:center;display:flex;font-size:.9rem;justify-content:space-between}.asset-picker-close{align-items:center;background:#e2e8f0;border:0;border-radius:999px;color:#334155;cursor:pointer;display:inline-flex;font-size:1.25rem;height:2rem;justify-content:center;width:2rem}.asset-picker-grid{display:grid;gap:.5rem;grid-template-columns:repeat(5,minmax(0,1fr))}.asset-choice{align-items:stretch;background:#fff;border:1px solid #cbd5e1;border-radius:.65rem;color:#334155;cursor:pointer;display:flex;flex-direction:column;font-size:.64rem;font-weight:750;gap:.25rem;min-width:0;padding:.3rem;text-align:center}.asset-choice:active,.asset-choice:focus-visible{border-color:#0f766e;box-shadow:0 0 0 2px #14b8a640;outline:none}.asset-choice-preview{align-items:center;aspect-ratio:1;background:linear-gradient(45deg,#f1f5f9 25%,transparent 25%),linear-gradient(-45deg,#f1f5f9 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f1f5f9 75%),linear-gradient(-45deg,transparent 75%,#f1f5f9 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px;border-radius:.4rem;display:flex;justify-content:center;overflow:hidden}.asset-choice-preview img{height:100%;object-fit:contain;width:100%}.asset-choice>span:last-child{display:-webkit-box;line-height:1.15;min-height:2.3em;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.editor-loading{align-items:center;aspect-ratio:2 / 3;color:#475569;display:flex;justify-content:center;margin:0;min-height:22rem}.editor-canvas{display:block;height:100%;object-fit:contain;touch-action:none;width:100%}.safe-area-overlay{border:2px dashed rgba(220,38,38,.8);pointer-events:none;position:absolute}.safe-area-caption{align-items:center;color:#64748b;display:flex;font-size:.8rem;gap:.4rem}.safe-area-key{border:2px dashed rgba(220,38,38,.8);display:inline-block;height:.75rem;width:.75rem}.pinch-hint{color:#0f766e;font-size:.82rem;font-weight:750;margin:-.25rem 0 0;text-align:center}.crop-dialog-backdrop{align-items:center;background:#0f172ab8;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;overflow-y:auto;padding:1rem;position:fixed;z-index:20}.crop-dialog{background:#fff;border-radius:1rem;box-shadow:0 28px 70px #0f172a59;display:grid;gap:1rem;max-width:38rem;padding:clamp(1rem,3vw,1.5rem);width:min(100%,38rem)}.crop-dialog h2{margin-bottom:.35rem}.crop-dialog .muted{font-size:.88rem;margin-bottom:0}.crop-surface{background:#0f172a;border-radius:.75rem;height:clamp(30rem,70dvh,38rem);overflow:hidden;position:relative}.crop-surface .reactEasyCrop_CropArea{border:2px solid #ef4444}.crop-zoom-control{align-items:center;display:grid;font-size:.82rem;font-weight:750;gap:.45rem;grid-template-columns:auto 1fr}.crop-zoom-control input{accent-color:#0f766e;min-width:0}.complete-panel{margin-top:1rem;text-align:center}.claim-code{color:#0f766e;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(2.8rem,12vw,5.5rem);font-weight:900;letter-spacing:.15em;margin:1rem 0}.error-panel{background:#fef2f2;border-color:#fecaca;color:#991b1b;margin-top:1rem}@media(max-width:640px){.crop-dialog-backdrop{align-items:flex-start;padding:.5rem}.crop-dialog{gap:.75rem;padding:.75rem}.crop-surface{height:clamp(29rem,70dvh,36rem)}.mobile-shell{padding:.75rem .75rem calc(6.75rem + env(safe-area-inset-bottom))}.mobile-header{align-items:center;gap:.5rem;margin-bottom:.85rem}.mobile-header .eyebrow,.mobile-header .subtitle{display:none}.mobile-header h1{font-size:1.3rem;margin:0}.mobile-header .locale-toggle button{font-size:.75rem;padding:.3rem .45rem}.mobile-stage-editor .mobile-header,.mobile-stage-completing .mobile-header,.mobile-stage-landing .mobile-footer,.mobile-stage-starting .mobile-footer{display:none}.mobile-landing{gap:.65rem}.landing-step-panel{border-radius:.85rem;gap:.75rem;padding:.9rem}.step-heading{gap:.6rem}.step-heading h2{font-size:1rem;margin-bottom:.15rem}.step-heading p{font-size:.78rem}.step-number{height:1.55rem;width:1.55rem}.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-choice{min-height:3.85rem;padding:.55rem .65rem}.mode-choice strong{font-size:.88rem}.mode-choice span{font-size:.7rem}.notice{font-size:.78rem;margin-bottom:0;padding:.55rem .65rem}.side-upload-grid{gap:.55rem}.side-upload-card{min-height:7.75rem;padding:.65rem}.side-upload-card strong{font-size:.82rem}.side-upload-filename,.side-upload-action{font-size:.7rem}.landing-submit-bar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid #e2e8f0;bottom:0;box-shadow:0 -10px 28px #0f172a1a;left:50%;padding:.7rem .75rem calc(.65rem + env(safe-area-inset-bottom));position:fixed;transform:translate(-50%);width:min(100%,40rem);z-index:12}.mobile-grid{grid-template-columns:1fr}.mobile-grid>:last-child{grid-column:auto}.upload-field{align-items:flex-start;flex-direction:column}.upload-field input{max-width:100%}.editor-layout{gap:.65rem;grid-template-columns:1fr}.editor-preview-panel{order:-1;padding:.5rem}.editor-toolbar-panel{gap:.65rem;padding:.75rem}.editor-canvas-wrap{max-height:none}.editor-canvas-wrap.is-portrait{width:min(100%,32dvh)}.editor-canvas-wrap.is-landscape{width:min(100%,63dvh)}.editor-upload-field{align-items:center;display:grid;gap:.25rem .55rem;grid-template-columns:auto minmax(0,1fr) auto;min-height:0;padding:.55rem .65rem}.editor-upload-field .side-upload-badge{grid-row:1 / 3}.editor-upload-field strong{font-size:.8rem;grid-column:2}.editor-upload-field .side-upload-filename{grid-column:2}.editor-upload-field .side-upload-action{grid-column:3;grid-row:1 / 3;margin:0}.editor-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.editor-actions .ui-button{font-size:.78rem;min-width:0;padding-inline:.4rem}.asset-picker{bottom:calc(.5rem + env(safe-area-inset-bottom));box-shadow:0 18px 48px #0f172a52;left:.5rem;margin:0;max-height:55dvh;overflow-y:auto;padding:.55rem;position:fixed;right:.5rem;z-index:30}.asset-picker-grid{gap:.35rem}.editor-loading{min-height:18rem}.side-tabs{position:sticky;top:.5rem;z-index:5}.editor-submit-actions{position:sticky;bottom:.5rem;background:#fffffff5;border-radius:.75rem;box-shadow:0 8px 22px #0f172a1f;padding:.65rem;z-index:6}}
