.studio-page{background:radial-gradient(70% 40% at 85% 0%, #ecd5d659, transparent 60%), var(--ivory);min-height:100vh}.studio-head{text-align:center;padding:clamp(26px,4vw,54px) 24px 8px}.studio-title{margin:14px 0 0;font-size:clamp(32px,4.4vw,54px)}.studio{grid-template-columns:minmax(0,1fr) clamp(380px,36vw,500px);align-items:start;gap:clamp(24px,3.4vw,56px);width:min(1380px,100%);margin:0 auto;padding:clamp(28px,4vw,56px) clamp(18px,3.4vw,48px) 90px;display:grid}.studio-section{margin-bottom:clamp(38px,4.6vw,62px)}.section-rule{align-items:baseline;gap:14px;margin-bottom:24px;display:flex}.section-num{font-family:var(--sans);color:var(--gold);font-size:21px;font-style:italic}.section-name{font-family:var(--sans);white-space:nowrap;margin:0;font-size:clamp(24px,2.4vw,30px);font-weight:600}.rule-line{background:linear-gradient(90deg, var(--line), transparent);flex:1;height:1px;transform:translateY(-6px)}.field{flex:1;min-width:0;margin-bottom:18px}.field-row{flex-wrap:wrap;gap:16px;display:flex}.field-label{letter-spacing:.22em;text-transform:uppercase;color:var(--faded);margin-bottom:7px;font-size:12px;font-weight:600;display:block}.field-input{background:var(--paper);border:1px solid var(--line);width:100%;font-family:var(--sans);color:var(--ink);box-shadow:var(--shadow-sm);border-radius:3px;outline:none;padding:13px 16px;font-size:18px;transition:border-color .3s,box-shadow .3s}.field-input::placeholder{color:var(--faded);opacity:.8;font-style:italic}.field-input:focus{border-color:var(--rose);box-shadow:0 0 0 3px #c98a942e, var(--shadow-sm)}.field-textarea{resize:vertical;white-space:pre-wrap;word-wrap:break-word;background-image:repeating-linear-gradient(#0000 0 calc(1.7em - 1px),#c98a9429 calc(1.7em - 1px) 1.7em);background-position:0 13px;background-attachment:local;min-height:190px;line-height:1.7}.paper-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;display:grid}.paper-card,.hand-card,.seal-chip,.stamp-chip{border:1px solid var(--line);transition:transform .5s var(--ease-soft), box-shadow .5s var(--ease-soft), border-color .3s ease, background .3s ease;background:#fffdf699;border-radius:6px;flex-direction:column;align-items:center;gap:5px;padding:12px 10px;display:flex;position:relative}.paper-card:hover,.hand-card:hover,.seal-chip:hover,.stamp-chip:hover{box-shadow:var(--shadow-md);background:var(--paper);transform:translateY(-4px)}.paper-card.selected,.hand-card.selected,.seal-chip.selected,.stamp-chip.selected{border-color:var(--burgundy);box-shadow:0 0 0 1px var(--burgundy), var(--shadow-md);background:var(--paper)}.paper-card.selected:after,.hand-card.selected:after,.seal-chip.selected:after,.stamp-chip.selected:after,.liner-chip.selected:after{content:"❦";background:var(--burgundy);width:22px;height:22px;color:var(--ivory);text-align:center;box-shadow:var(--shadow-sm);border-radius:50%;font-size:11px;line-height:22px;position:absolute;top:-9px;right:-7px}.paper-thumb{aspect-ratio:3/3.7;pointer-events:none;border-radius:3px;width:100%;overflow:hidden}.paper-thumb .letter-sheet{height:100%;box-shadow:none;border:1px solid #2d24200f}.paper-thumb .letter-inner{font-size:8.2cqw}.card-name{font-family:var(--sans);letter-spacing:.04em;margin-top:4px;font-size:14.5px;font-weight:600}.card-note{font-family:var(--sans);color:var(--faded);font-size:12.5px;font-style:italic;line-height:1.3}.hand-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;display:grid}.hand-card{padding:18px 12px 14px}.hand-sample{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:26px;line-height:1.3;overflow:hidden}.picker-label{letter-spacing:.22em;text-transform:uppercase;color:var(--faded);margin:20px 0 12px;font-size:12px;font-weight:600}.picker-label:first-child{margin-top:0}.swatch-row{flex-wrap:wrap;gap:14px;display:flex}.swatch{width:52px;height:52px;box-shadow:inset 0 -6px 12px #00000014, var(--shadow-sm);transition:transform .4s var(--ease-soft), box-shadow .4s var(--ease-soft);border:1px solid #2d242029;border-radius:50%;position:relative}.swatch-sm{width:44px;height:44px}.swatch:hover{transform:translateY(-3px)scale(1.05)}.swatch.selected{box-shadow:0 0 0 2px var(--ivory), 0 0 0 4px var(--burgundy), var(--shadow-md)}.swatch-name{font-family:var(--sans);letter-spacing:.06em;color:var(--faded);white-space:nowrap;opacity:0;pointer-events:none;font-size:11.5px;transition:opacity .3s;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.swatch:hover .swatch-name,.swatch.selected .swatch-name{opacity:1}.swatch-row{padding-bottom:24px}.swatch-tooltip{background:var(--ink);width:240px;color:var(--ivory);font-family:var(--sans);box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:opacity .25s ease, transform .25s var(--ease-soft);z-index:100;text-align:left;white-space:normal;border-radius:6px;padding:10px 12px;font-size:12px;line-height:1.4;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)translateY(4px)}.swatch-tooltip:after{content:"";border-style:solid;border-width:5px;border-color:var(--ink) transparent transparent transparent;position:absolute;top:100%;left:50%;transform:translate(-50%)}.swatch-tooltip strong{color:var(--gold-soft);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-weight:600;display:block}.swatch-tooltip p{color:#faf6eee0;margin:0}.swatch:hover .swatch-tooltip{opacity:1;transform:translate(-50%)translateY(0)}.swatch:first-child .swatch-tooltip{left:-6px;transform:translateY(4px)}.swatch:first-child .swatch-tooltip:after{left:28px;transform:translate(-50%)}.swatch:first-child:hover .swatch-tooltip{transform:translateY(0)}.swatch:nth-child(2) .swatch-tooltip{left:-40px;transform:translateY(4px)}.swatch:nth-child(2) .swatch-tooltip:after{left:62px;transform:translate(-50%)}.swatch:nth-child(2):hover .swatch-tooltip{transform:translateY(0)}.swatch:nth-child(7) .swatch-tooltip{left:auto;right:-40px;transform:translateY(4px)}.swatch:nth-child(7) .swatch-tooltip:after{left:auto;right:62px;transform:translate(50%)}.swatch:nth-child(7):hover .swatch-tooltip{transform:translateY(0)}.swatch:last-child .swatch-tooltip{left:auto;right:-6px;transform:translateY(4px)}.swatch:last-child .swatch-tooltip:after{left:auto;right:28px;transform:translate(50%)}.swatch:last-child:hover .swatch-tooltip{transform:translateY(0)}.liner-row{flex-wrap:wrap;gap:12px;display:flex}.liner-chip{border:1px solid var(--line);width:92px;height:64px;box-shadow:var(--shadow-sm);transition:transform .4s var(--ease-soft), box-shadow .4s var(--ease-soft);border-radius:5px;position:relative;overflow:visible}.liner-chip:hover{transform:translateY(-3px)}.liner-chip.selected{box-shadow:0 0 0 1px var(--burgundy), var(--shadow-md);border-color:var(--burgundy)}.liner-name{text-align:center;font-family:var(--sans);letter-spacing:.08em;color:#fffdf6f2;text-shadow:0 1px 3px #00000073;font-size:11px;font-weight:600;position:absolute;bottom:6px;left:0;right:0}.seal-row,.stamp-row{flex-wrap:wrap;gap:14px;display:flex}.seal-chip{width:104px;padding-top:14px}.seal-chip-svg{width:62px;height:62px}.stamp-chip{width:104px;padding-top:14px}.stamp-chip-svg{filter:drop-shadow(0 1px 2px #00000024);width:58px}.controls-actions{flex-wrap:wrap;gap:14px;padding-top:8px;display:flex}@media (min-width:981px){.controls-actions{display:none}}.preview{flex-direction:column;gap:16px;max-height:calc(100vh - 104px);display:flex;position:sticky;top:86px}.preview-tabs{border:1px solid var(--line);background:#f3ead9bf;border-radius:999px;align-self:center;gap:6px;padding:5px;display:flex}.preview-tab{font-family:var(--sans);letter-spacing:.06em;color:var(--ink-soft);border-radius:999px;padding:8px 20px;font-size:14.5px;font-weight:600;transition:background .35s,color .35s,box-shadow .35s}.preview-tab:hover{color:var(--burgundy)}.preview-tab.active{background:var(--paper);color:var(--burgundy);box-shadow:var(--shadow-sm)}.preview-stage{scrollbar-width:thin;scrollbar-color:var(--rose) transparent;padding:10px 14px 22px;overflow:hidden auto}.preview-item{justify-content:center;display:flex}.preview-letter{max-width:440px}.preview-env{width:100%;max-width:440px}.preview-hint{text-align:center;color:var(--rose-deep);margin-top:-6px;font-size:21px}.preview-actions{flex-wrap:wrap;justify-content:center;gap:12px;padding-bottom:6px;display:flex}.toast{z-index:500;background:var(--ink);color:var(--ivory);font-family:var(--sans);box-shadow:var(--shadow-lg);white-space:nowrap;border-radius:999px;padding:14px 26px;font-size:16.5px;position:fixed;bottom:30px;left:50%;transform:translate(-50%)}.tier-chip{z-index:4;font-family:var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#4a3a1e;box-shadow:var(--shadow-sm);pointer-events:none;background:linear-gradient(135deg,#e6cf95,#cbaa5c);border-radius:999px;padding:2px 8px;font-size:10px;font-weight:600;position:absolute;top:-8px;right:-6px}.tier-chip-keepsake{color:#5a2530;background:linear-gradient(135deg,#e7c3cb,#c98a94)}.swatch .tier-chip{top:-10px;right:-12px}.preview-locked{text-align:center;color:var(--rose-deep);margin-top:-2px;font-size:15px}.preview-locked strong{color:var(--burgundy)}.free-counter{text-align:center;letter-spacing:.14em;text-transform:uppercase;color:var(--faded);margin-top:-6px;font-size:12.5px}.upsell-backdrop{z-index:600;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#2d24206b;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.upsell{background:var(--paper);border:1px solid var(--line);width:min(440px,100%);box-shadow:var(--shadow-lg);text-align:center;border-radius:10px;padding:clamp(28px,5vw,40px)}.upsell .eyebrow{margin-bottom:12px;display:block}.upsell-title{margin:0 0 14px;font-size:clamp(24px,3.4vw,32px);line-height:1.15}.upsell-sub{color:var(--ink-soft);margin-bottom:26px;font-size:16px;line-height:1.6}.upsell-cta{flex-direction:column;align-items:center;gap:12px;display:flex}.upsell-cta .btn{justify-content:center;width:100%}@media (max-width:980px){.studio{flex-direction:column;display:flex}.preview{-webkit-backdrop-filter:none;background:0 0;order:-1;gap:10px;max-height:none;margin-top:10px;padding-top:0;position:relative;top:auto}.preview:after{display:none}.preview-stage{padding:6px 10px 14px}.preview-letter,.preview-env{max-width:min(340px,82vw)}.preview-hint{margin-top:0;font-size:18px}.preview-actions{display:none}.field-row{flex-direction:column;gap:0}.field-textarea{min-height:220px}.field-input{padding:11px 14px}}@media (max-width:640px){.studio{padding:14px 16px 90px}.studio-head{padding:clamp(20px,3vw,40px) 16px 4px}.studio-title{font-size:clamp(26px,6vw,36px)}.studio-section{margin-bottom:28px}.preview-tab{padding:7px 12px;font-size:13.5px}.preview-letter,.preview-env{max-width:min(300px,78vw)}.paper-grid,.hand-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hand-sample{font-size:22px}.seal-row,.stamp-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.seal-chip,.stamp-chip{width:auto}.seal-chip-svg{width:54px;height:54px}.stamp-chip-svg{width:50px}.liner-chip{width:84px;height:58px}.field-textarea{min-height:240px}.field-label{margin-bottom:5px}.field{margin-bottom:14px}.swatch{width:44px;height:44px}.swatch-sm{width:38px;height:38px}.swatch-row{gap:10px;padding-bottom:20px}.controls-actions{z-index:80;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(transparent, var(--ivory) 20%);-webkit-backdrop-filter:blur(8px);flex-wrap:nowrap;justify-content:center;gap:10px;position:fixed;bottom:0;left:0;right:0}.controls-actions .btn{white-space:nowrap;flex:1;padding:.75em .5em;font-size:15px}.toast{white-space:normal;text-align:center;max-width:calc(100vw - 32px);bottom:calc(70px + env(safe-area-inset-bottom));border-radius:20px}.section-name{font-size:clamp(20px,4.5vw,26px)}.section-num{font-size:18px}}
