*{box-sizing:border-box;margin:0;padding:0}:root{--ui-bg:#f7f4ef;--ui-surface:#fff;--ui-ink:#2c2621;--ui-muted:#8a7f73;--ui-accent:#b3502d;--ui-accent-dark:#93401f;--ui-accent-soft:#f6e3d7;--ui-border:#e5dccf;--ui-green:#4c7a43;--ui-radius:9px;--ui-shadow:0 2px 10px rgba(60,45,30,.07);--ui-shadow-lg:0 12px 40px rgba(60,45,30,.14)}body,html{height:100%}html{scroll-behavior:smooth}body{font-family:Karla,Helvetica Neue,Arial,sans-serif;background:var(--ui-bg);color:var(--ui-ink);-webkit-font-smoothing:antialiased;line-height:1.55}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;background-color:transparent;border:none}input,select,textarea{font:inherit;color:inherit}img{max-width:100%;display:block}.display,h1,h2,h3{font-family:Fraunces,Playfair Display,Georgia,serif;line-height:1.15}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes patternDrift{0%{background-position:0 0}to{background-position:260px 260px}}@keyframes glowPulse{0%,to{opacity:.55}50%{opacity:1}}@keyframes blobMorph{0%{border-radius:58% 42% 55% 45%/45% 58% 42% 55%;transform:translate(0) rotate(0deg) scale(1)}50%{border-radius:45% 55% 40% 60%/60% 40% 62% 38%;transform:translate(-10px,8px) rotate(10deg) scale(1.08)}to{border-radius:62% 38% 60% 40%/42% 60% 40% 58%;transform:translate(7px,-6px) rotate(-8deg) scale(.95)}}@keyframes floatBob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes blobDrift{0%{transform:translate(0) scale(1)}50%{transform:translate(-22px,16px) scale(1.14)}to{transform:translate(15px,-12px) scale(.92)}}.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}.themed{animation:fadeIn .55s ease both}.page-head,.studio-main .grid-2>*,.studio-main .grid-3>*{animation:fadeInUp .5s cubic-bezier(.2,.7,.2,1) both}.studio-main .grid-3>:nth-child(2){animation-delay:.06s}.studio-main .grid-3>:nth-child(3){animation-delay:.12s}.studio-main .grid-2>:nth-child(2){animation-delay:.08s}.studio-shell{display:flex;min-height:100vh}.studio-nav{width:232px;flex-shrink:0;background:#241d16;color:#f3ece1;padding:22px 14px;display:flex;flex-direction:column;gap:4px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.studio-nav .brand{font-family:Fraunces,Georgia,serif;font-size:21px;padding:4px 12px 18px;display:flex;align-items:center;gap:9px}.studio-nav a.nav-link{padding:9px 12px;border-radius:7px;font-size:14.5px;color:#d9cfc0;display:flex;gap:10px;align-items:center;transition:background .15s,transform .15s,color .15s}.studio-nav a.nav-link:hover{background:hsla(0,0%,100%,.08);color:#fff;transform:translateX(3px)}.studio-nav a.nav-link.active{background:var(--ui-accent);color:#fff}.studio-nav .nav-divider{height:1px;background:hsla(0,0%,100%,.12);margin:10px}.studio-nav .nav-footer{margin-top:auto;padding:12px;font-size:12.5px;color:#a3968a}.studio-nav .nav-footer .who{color:#e8dfd2;font-weight:700}.studio-main{flex:1 1;padding:34px 48px 80px;max-width:1480px;zoom:.75}.studio-main>header.page-head{margin-bottom:26px}.page-head h1{font-size:30px;margin-bottom:6px}.page-head p{color:var(--ui-muted);max-width:640px}.card{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow);padding:22px;transition:box-shadow .25s ease}.card:hover{box-shadow:var(--ui-shadow-lg)}.btn{display:inline-flex;align-items:center;gap:8px;border:none;background:var(--ui-accent);color:#fff;padding:10px 18px;border-radius:7px;font-weight:700;font-size:14.5px;transition:background .15s,transform .15s,box-shadow .15s}.btn:hover{background:var(--ui-accent-dark);transform:translateY(-1px);box-shadow:0 6px 16px rgba(60,45,30,.18)}.btn:active{transform:translateY(1px);box-shadow:none}.btn.secondary{background:transparent;color:var(--ui-ink);border:1.5px solid var(--ui-border)}.btn.secondary:hover{border-color:var(--ui-accent);color:var(--ui-accent);background:transparent}.btn.subtle{background:var(--ui-accent-soft);color:var(--ui-accent-dark)}.btn.subtle:hover{background:#efd5c2}.btn.danger{background:transparent;color:#a33;border:1.5px solid #dcb9b9}.btn.danger:hover{background:#fbeeee;border-color:#a33}.btn.small{padding:6px 12px;font-size:13px;border-radius:6px}.btn.big{padding:14px 26px;font-size:16px;border-radius:8px}.btn:disabled{opacity:.5;cursor:default}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-weight:700;font-size:13.5px;color:#5d5347}.field .hint{font-size:12.5px;color:var(--ui-muted)}input.text,select.text,textarea.text{border:1.5px solid var(--ui-border);border-radius:7px;padding:10px 13px;background:#fffdf9;font-size:15px;width:100%}input.text:focus,select.text:focus,textarea.text:focus{outline:none;border-color:var(--ui-accent);box-shadow:0 0 0 3px rgba(179,80,45,.13)}textarea.text{resize:vertical;min-height:90px;line-height:1.6}.pill{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--ui-accent-dark)}.pill.green{color:#3c6134}.pill.gray{color:var(--ui-muted)}.grid-2{grid-template-columns:1fr 1fr;grid-gap:20px}.grid-2,.grid-3{display:grid;gap:20px}.grid-3{grid-template-columns:repeat(3,1fr);grid-gap:20px}@media (max-width:900px){.grid-2,.grid-3{grid-template-columns:1fr}.studio-main{padding:24px}}.muted{color:var(--ui-muted)}.spread{justify-content:space-between;align-items:center;flex-wrap:wrap}.spread,.stack{display:flex;gap:14px}.stack{flex-direction:column}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.page-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:8px;gap:8px}.page-tile{border:1.5px solid var(--ui-border);background:#fffdf8;border-radius:7px;padding:9px 12px;font-size:13px;font-weight:700;color:var(--ui-ink);height:44px;display:flex;align-items:center;justify-content:space-between;gap:6px;transition:border-color .15s,transform .15s,box-shadow .15s}.page-tile:hover{border-color:var(--ui-accent);transform:translateY(-2px);box-shadow:var(--ui-shadow)}.page-tile.on{background:var(--ui-accent);border-color:var(--ui-accent);color:#fff}.page-tile.chapter{background:var(--ui-accent-soft);border-color:var(--ui-accent);color:var(--ui-accent-dark)}.page-tile span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-tile-badge{display:inline-flex;align-items:center;gap:3px;opacity:.6;font-size:12px;flex-shrink:0}.page-group{border:1px solid var(--ui-border);border-radius:12px;padding:14px 16px;background:#fdfbf7;margin-bottom:14px}.page-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap}.page-group-title{display:flex;align-items:center;gap:8px;font-weight:800;font-size:14.5px;color:var(--ui-ink)}.page-group-title svg{color:var(--ui-accent)}.reorder-list{display:grid;grid-gap:10px;gap:10px}.reorder-list.saving{opacity:.75}.recipe-row{display:flex;align-items:center;gap:12px;padding:14px 18px;transition:box-shadow .2s ease,opacity .2s ease,transform .2s ease}.recipe-row.dragging{opacity:.45;box-shadow:var(--ui-shadow-lg);transform:scale(.995)}.drag-grip{display:flex;align-items:center;flex-shrink:0;color:var(--ui-border);cursor:-webkit-grab;cursor:grab;padding:2px;transition:color .15s ease}.recipe-row:hover .drag-grip{color:var(--ui-muted)}.drag-grip:active{cursor:-webkit-grabbing;cursor:grabbing}.recipe-thumb{width:52px;height:52px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--ui-accent-dark)}.recipe-meta{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gap-tags{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin-top:4px}.gap-tag{font-family:Karla,Helvetica Neue,Arial,sans-serif;font-size:12.5px;font-weight:700;line-height:1.5;white-space:nowrap;color:#96631a}.gap-tag+.gap-tag:before{content:"·";margin-right:10px;color:var(--ui-border);font-weight:400}.gap-tag.soft{color:var(--ui-muted);font-weight:600}.char-count{font-weight:400;font-size:12px}.icon-btn:disabled{opacity:.3;cursor:not-allowed}@media (max-width:640px){.drag-grip{display:none}}:root{--ai-violet:#7857d8;--ai-blue:#3f74e6;--ai-deep:#4930a8}.ai-panel{position:relative;overflow:hidden;border-color:transparent;color:#fff;background:radial-gradient(1px 1px at 34px 24px,hsla(0,0%,100%,.55) 50%,transparent 0) 0 0 /173px 141px,radial-gradient(1px 1px at 118px 96px,hsla(0,0%,100%,.38) 50%,transparent 0) 0 0 /227px 191px,radial-gradient(at 10% 6%,rgba(157,78,221,.55) 0,transparent 55%),radial-gradient(at 92% 88%,rgba(63,116,230,.5) 0,transparent 55%),linear-gradient(134deg,#241367,#2d1d80 46%,#16307e);box-shadow:0 14px 40px rgba(36,19,103,.38)}.ai-panel:hover{box-shadow:0 20px 52px rgba(36,19,103,.46)}.ai-panel:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;padding:1.5px;background:linear-gradient(134deg,var(--ai-violet),var(--ai-blue) 55%,#9d6ae2);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.ai-panel>*{position:relative;z-index:1}.photo-import-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}.photo-import-head h2{display:flex;align-items:center;gap:8px;font-size:19px;color:#fff;text-shadow:0 2px 14px rgba(120,87,216,.55)}.photo-import-head h2 svg{color:#c9b6ff}.photo-import-lede{font-size:13.5px;line-height:1.6;margin-bottom:16px;max-width:640px;color:hsla(0,0%,100%,.8);text-align:center;margin-left:auto;margin-right:auto}.photo-import-head,.photo-import-head h2{justify-content:center}.lang-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:14px;font-size:15px}.lang-row,.lang-select{color:#fff;font-weight:700}.lang-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:8px 34px 8px 14px;border-radius:10px;border:1.5px solid hsla(0,0%,100%,.35);background:hsla(0,0%,100%,.1);font-size:14px;font-family:inherit;cursor:pointer;max-width:100%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 L6 6.5 L11 1.5' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;transition:border-color .2s ease,background-color .2s ease}.lang-select:hover:not(:disabled){border-color:hsla(0,0%,100%,.6);background-color:hsla(0,0%,100%,.16)}.lang-select:focus-visible{outline:2px solid #fff;outline-offset:2px}.lang-select:disabled{opacity:.55;cursor:not-allowed}.lang-select option{color:#1a1533;background:#fff}.lang-hint{margin:-6px 0 14px;font-size:12.5px;color:hsla(0,0%,100%,.66)}.photo-dropzone[hidden]{display:none}.photo-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;padding:32px 24px;cursor:pointer;border:2px dashed hsla(0,0%,100%,.32);border-radius:16px;background:hsla(0,0%,100%,.06);color:hsla(0,0%,100%,.74);transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}.photo-dropzone:focus-visible,.photo-dropzone:hover{border-color:hsla(0,0%,100%,.6);background:hsla(0,0%,100%,.11);box-shadow:0 8px 26px rgba(0,0,0,.22)}.photo-dropzone.over{border-color:#fff;background:hsla(0,0%,100%,.16);transform:scale(1.01);box-shadow:0 14px 36px rgba(0,0,0,.3)}.photo-dropzone.busy{cursor:progress;border-style:solid;border-color:hsla(0,0%,100%,.55)}.photo-dropzone.locked{cursor:not-allowed;opacity:.62;border-style:dotted}.photo-dropzone.locked:hover{border-color:hsla(0,0%,100%,.32);background:hsla(0,0%,100%,.06);box-shadow:none}.photo-dropzone.busy svg{animation:glowPulse 1.2s ease-in-out infinite}.photo-dropzone svg{color:#c9b6ff}.photo-dropzone strong{font-size:16.5px;color:#fff}.photo-dropzone span{font-size:13px;max-width:380px;line-height:1.55}.photo-dropzone-cta{margin-top:10px;padding:9px 22px;border-radius:99px;background:#fff;color:var(--ai-deep);font-weight:800;font-size:13.5px;box-shadow:0 6px 20px rgba(0,0,0,.28);transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease}.photo-dropzone:hover .photo-dropzone-cta{transform:translateY(-2px) scale(1.03);box-shadow:0 10px 26px rgba(0,0,0,.34)}.job-list{margin-top:16px;display:grid;grid-gap:8px;gap:8px}.job-list.running{margin-top:0;padding:18px;border:2px solid hsla(0,0%,100%,.3);border-radius:16px;background:hsla(0,0%,100%,.06)}.job-overall{display:flex;align-items:center;gap:12px;margin-bottom:4px;font-size:12.5px;font-weight:700;color:hsla(0,0%,100%,.82)}.job-overall-track{flex:1 1;height:5px;border-radius:99px;background:hsla(0,0%,100%,.16);overflow:hidden}.job-overall-fill{height:100%;background:#fff;border-radius:99px;transition:width .4s ease}.job-row{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;background:hsla(0,0%,100%,.07);border:1px solid hsla(0,0%,100%,.14)}.job-row.done{background:hsla(0,0%,100%,.13);border-color:hsla(0,0%,100%,.28)}.job-row.failed{background:hsla(4,100%,72%,.15);border-color:hsla(5,100%,75%,.35)}.job-thumb{width:44px;height:44px;flex-shrink:0;border-radius:8px;background-size:cover;background-position:50%;box-shadow:0 2px 8px rgba(0,0,0,.3)}.job-body{flex:1 1;min-width:0;display:grid;grid-gap:5px;gap:5px}.job-name{display:flex;flex-wrap:wrap;gap:4px 14px}.job-file{font-size:13px;color:hsla(0,0%,100%,.72);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-recipe{font-size:13.5px;font-weight:800;color:#fff;text-decoration:none}.job-recipe:hover{text-decoration:underline;text-underline-offset:2px}.job-recipe em{font-style:normal;font-weight:600;opacity:.62;margin-left:7px}.job-status{font-size:11.5px;color:hsla(0,0%,100%,.62)}.job-row.failed .job-status{color:#ffd2cd}.job-track{height:4px;border-radius:99px;background:hsla(0,0%,100%,.14);overflow:hidden}.job-fill{height:100%;border-radius:99px;width:0;transition:width .3s ease}.job-row.reading .job-fill{width:38%;background:#fff;animation:jobSlide 1.15s ease-in-out infinite}@keyframes jobSlide{0%{transform:translateX(-100%)}to{transform:translateX(365%)}}.job-row.done .job-fill{width:100%;background:#fff}.job-row.empty .job-fill{width:100%;background:hsla(0,0%,100%,.3)}.job-row.failed .job-fill{width:100%;background:#ff9c92}.photo-import-note{display:flex;gap:9px;align-items:flex-start;margin-top:14px;padding:11px 14px;border-radius:10px;background:rgba(255,205,110,.13);border:1px solid rgba(255,205,110,.32);font-size:12.8px;line-height:1.6;color:#ffe3ac}.photo-import-note b{color:#fff3d6}.photo-import-note svg{flex-shrink:0;margin-top:2px;color:#ffd48a}.photo-import-error{margin-top:12px;padding:11px 14px;border-radius:10px;background:hsla(4,100%,72%,.16);border:1px solid hsla(5,100%,75%,.38);color:#ffd2cd;font-size:13px;line-height:1.55}.photo-import-result{margin-top:14px;padding:14px 16px;border-radius:12px;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.22)}.photo-import-result h3{display:flex;align-items:center;gap:7px;font-size:15px;color:#fff;margin-bottom:10px}.photo-import-result li a{color:#fff;text-decoration:underline;text-underline-offset:2px}.photo-import-result .muted{color:hsla(0,0%,100%,.62)}.or-separator{display:flex;align-items:center;gap:14px;margin:26px 4px;color:var(--ui-muted);font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.or-separator:after,.or-separator:before{content:"";flex:1 1;height:1px;background:var(--ui-border)}.manual-recipe{margin-bottom:30px}.photo-import-result ul{list-style:none;display:grid;grid-gap:6px;gap:6px;margin-bottom:10px}.photo-import-result li{display:flex;align-items:baseline;gap:10px;font-size:13.5px;flex-wrap:wrap}.photo-import-result li a{font-weight:700}.photo-import-result li .muted{font-size:12px}.photo-import-result>.muted{font-size:12.5px}.landing{display:grid;grid-template-columns:1.15fr 1fr;align-items:start}.landing-left{min-width:0}.landing-art{min-height:100vh}.landing .auth-side{position:-webkit-sticky;position:sticky;top:0;height:100vh}.landing-art{position:relative;overflow:hidden;background:#241d16;display:flex;align-items:center}.landing-art-img,.landing-art-placeholder{position:absolute;inset:0;z-index:0}.landing-art-img{width:100%;height:100%;object-fit:cover}.landing-art-placeholder{background:repeating-linear-gradient(45deg,hsla(0,0%,100%,.022) 0 14px,transparent 14px 28px),radial-gradient(at 30% 25%,rgba(217,171,82,.1) 0,transparent 55%),radial-gradient(at 75% 80%,rgba(179,80,45,.12) 0,transparent 55%),#2c241b}.landing-art-hint{position:absolute;z-index:3;right:18px;bottom:16px;display:flex;align-items:center;gap:7px;font-size:11.5px;color:hsla(0,0%,100%,.42);background:rgba(0,0,0,.32);border:1px dashed hsla(0,0%,100%,.2);padding:7px 12px;border-radius:8px}.landing-art-hint code{color:hsla(0,0%,100%,.62)}.landing-art:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(105deg,rgba(20,15,10,.8),rgba(20,15,10,.58) 45%,rgba(20,15,10,.22))}.landing-pitch{position:relative;z-index:2;padding:56px 60px;color:#f6efe4;max-width:640px}.landing-eyebrow{font-size:12.5px;letter-spacing:2.4px;text-transform:uppercase;color:#d9ab52;font-weight:800;margin-bottom:18px}.landing-pitch h1{font-size:clamp(32px,3.7vw,50px);line-height:1.1;color:#fff;margin-bottom:18px}.landing-lede{font-size:17.5px;color:#d3c6b3;line-height:1.65;max-width:520px}.audience-cards{display:grid;grid-gap:14px;gap:14px;margin:30px 0 28px}.audience-card{background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.13);border-radius:14px;padding:16px 18px;transition:transform .28s cubic-bezier(.34,1.56,.64,1),background .28s ease}.audience-card:hover{transform:translateY(-3px);background:hsla(0,0%,100%,.09)}.audience-card h2{display:flex;align-items:center;gap:8px;font-size:15.5px;color:#fff}.audience-card h2 svg{color:#d9ab52;flex-shrink:0}.landing-steps{display:flex;flex-wrap:wrap;align-items:center;gap:10px;list-style:none}.landing-steps li{display:flex;align-items:center;gap:7px;font-size:12.8px;color:#bfae97;font-weight:700}.landing-steps li svg{color:#d9ab52}.landing-steps em{font-style:normal;opacity:.4;margin-left:4px}.landing .auth-side{display:flex;align-items:center;justify-content:center;padding:40px}.landing .auth-card{width:100%;max-width:400px;padding:30px}.landing .auth-card h2{font-size:25px;margin-bottom:8px}.auth-sub{margin-bottom:22px;font-size:14.5px}.auth-foot{margin-top:18px;font-size:12.5px;color:var(--ui-muted);text-align:center}.provider-stack{display:grid;grid-gap:9px;gap:9px}.provider-btn{display:flex;width:100%;align-items:center;justify-content:center;gap:10px;border:1.5px solid var(--ui-border);background:#fff;padding:12px;border-radius:10px;font-weight:700;font-size:14.5px;transition:border-color .15s,box-shadow .15s,transform .15s}.provider-btn:hover:not(:disabled){border-color:#b5aa99;box-shadow:var(--ui-shadow);transform:translateY(-1px)}.provider-btn:disabled{opacity:.5;cursor:not-allowed}.provider-note{font-size:11.8px;margin-top:10px;line-height:1.55}.or-rule{display:flex;align-items:center;gap:12px;color:var(--ui-muted);font-size:12.5px;margin:18px 0}.or-rule:after,.or-rule:before{content:"";flex:1 1;height:1px;background:var(--ui-border)}@media (max-width:980px){.landing{grid-template-columns:1fr}.landing-art{min-height:560px;flex-direction:column;justify-content:center;align-items:stretch}.landing-pitch{padding:44px 28px 0}.landing-art-hint{position:static;margin:26px 28px 34px;justify-content:center}.landing-art:after{background:linear-gradient(180deg,rgba(20,15,10,.66),rgba(20,15,10,.58) 55%,rgba(20,15,10,.74))}}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:20px;gap:20px}.theme-card{border:2px solid var(--ui-border);border-radius:var(--ui-radius);overflow:hidden;background:var(--ui-surface);text-align:left;transition:border-color .15s,box-shadow .3s ease,transform .5s cubic-bezier(.34,1.56,.64,1)}.theme-card:hover{box-shadow:0 22px 48px rgba(0,0,0,.18);transform:translateY(-6px) scale(1.015)}.theme-card.selected{border-color:var(--ui-accent);box-shadow:0 0 0 3px rgba(179,80,45,.15)}.theme-card .swatch{height:120px;position:relative;background-repeat:repeat;overflow:hidden}.theme-card .swatch:before{content:"";position:absolute;width:96px;height:96px;right:-20px;top:-24px;background:var(--sw-glow,#fff);opacity:.3;filter:blur(2px);pointer-events:none;animation:blobMorph 9s ease-in-out infinite alternate}.theme-card .swatch:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 30%,hsla(0,0%,100%,.35) 45%,transparent 60%);transform:translateX(-120%);transition:transform .6s ease}.theme-card:hover .swatch:after{transform:translateX(120%)}.theme-card .swatch .dish{position:absolute;left:14px;bottom:12px;z-index:2;font-size:13px;font-weight:800;background:rgba(24,19,14,.82);border-radius:8px;padding:5px 12px;color:#fff;letter-spacing:.2px;box-shadow:0 8px 20px rgba(0,0,0,.22);animation:floatBob 5s ease-in-out infinite}.theme-card .body{padding:16px 18px 18px}.theme-card .body h3{font-size:21px;font-weight:800;letter-spacing:-.2px;display:flex;align-items:center;gap:8px}.theme-card .body p{font-size:12.5px;color:var(--ui-muted);margin-top:5px}.theme-card:nth-child(2n) .swatch:before{animation-duration:11s;animation-delay:-3s}.theme-card:nth-child(3n) .swatch:before{animation-duration:8s;animation-delay:-5s}.theme-card:nth-child(2n) .swatch .dish{animation-delay:-2.2s}.theme-card:nth-child(3n) .swatch .dish{animation-delay:-3.8s}.style-row{display:flex;gap:8px;margin-top:13px;flex-wrap:wrap}.style-chip{border:1.5px solid var(--ui-border);background:#fffdf8;border-radius:7px;padding:5px 13px;font-size:12.5px;font-weight:700;transition:border-color .15s,transform .15s,background .15s,box-shadow .15s}.style-chip .dot{width:13px;height:13px;border-radius:50%;border:1px solid rgba(0,0,0,.15)}.style-chip:hover{border-color:var(--ui-accent);transform:translateY(-2px) scale(1.03);box-shadow:0 6px 14px rgba(0,0,0,.1)}.style-chip.selected{border-color:var(--ui-accent);background:var(--ui-accent-soft);color:var(--ui-accent-dark)}.editor-grid{display:grid;grid-template-columns:1.5fr 1fr;grid-gap:22px;gap:22px;align-items:start}@media (max-width:1000px){.editor-grid{grid-template-columns:1fr}}.list-editor{display:flex;flex-direction:column;gap:8px}.list-editor .line{display:flex;gap:8px;align-items:flex-start}.list-editor .line .num{flex-shrink:0;width:26px;height:26px;margin-top:8px;border-radius:50%;background:var(--ui-accent-soft);color:var(--ui-accent-dark);display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:800}.icon-btn{border:none;background:transparent;color:#b6a996;font-size:16px;padding:8px 6px;border-radius:8px;line-height:1}.icon-btn:hover{color:#a33;background:#fbeeee}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));grid-gap:10px;gap:10px}.photo-grid .ph{position:relative;border-radius:10px;overflow:hidden;border:1.5px solid var(--ui-border);aspect-ratio:1;background:#efe9df 50%/cover no-repeat}.photo-grid .ph .x{position:absolute;top:5px;right:5px;width:24px;height:24px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;border:none;font-size:13px;line-height:1}.photo-grid .ph .reframe{position:absolute;left:5px;right:5px;bottom:5px;display:flex;align-items:center;justify-content:center;gap:5px;padding:5px 6px;border-radius:7px;background:rgba(0,0,0,.58);color:#fff;font-size:11px;font-weight:700;letter-spacing:.01em;opacity:0;transition:opacity .15s ease,background .15s ease}.photo-grid .ph .reframe:focus-visible,.photo-grid .ph:hover .reframe{opacity:1}.photo-grid .ph .reframe:hover{background:rgba(0,0,0,.78)}@media (hover:none){.photo-grid .ph .reframe{opacity:1}}.framer-backdrop{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(28,22,16,.58);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeInUp .14s ease both}.framer-panel{width:min(640px,100%);max-height:92vh;overflow:auto;background:#fffdf8;color:var(--ui-ink);border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.34);cursor:default}.framer-head{display:flex;align-items:flex-start;gap:16px;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid var(--ui-border)}.framer-head h3{font-size:18px;font-weight:800}.framer-head p{font-size:12.5px;color:var(--ui-muted);margin-top:4px;max-width:56ch}.framer-close{width:28px;height:28px;border-radius:50%;flex-shrink:0;background:var(--ui-bg);color:var(--ui-muted);font-size:13px;line-height:1}.framer-close:hover{background:#f0e7d8;color:var(--ui-ink)}.framer-body{display:flex;justify-content:center;padding:18px 20px}.framer-stage{position:relative;display:inline-block;flex:0 1 auto;min-width:0;line-height:0;border-radius:10px;overflow:hidden;border:1px solid var(--ui-border);background:#efe9df;cursor:move;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.framer-stage img{max-width:100%;max-height:62vh;width:auto;display:block}.framer-crop{position:absolute;border:2px solid #fff;background:transparent;box-shadow:0 0 0 9999px rgba(20,16,12,.58),inset 0 0 0 1px rgba(0,0,0,.5);pointer-events:none}.framer-crop:after,.framer-crop:before{content:"";position:absolute;inset:0;pointer-events:none;background-repeat:no-repeat}.framer-crop:before{background-image:linear-gradient(90deg,hsla(0,0%,100%,.34) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.34) 1px,transparent 0);background-size:1px 100%,1px 100%;background-position:33.333% 0,66.667% 0}.framer-crop:after{background-image:linear-gradient(180deg,hsla(0,0%,100%,.34) 1px,transparent 0),linear-gradient(180deg,hsla(0,0%,100%,.34) 1px,transparent 0);background-size:100% 1px,100% 1px;background-position:0 33.333%,0 66.667%}.framer-crop:focus-visible{outline:3px solid var(--ui-accent);outline-offset:2px}.framer-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px 16px;border-top:1px solid var(--ui-border)}@media (max-width:720px){.framer-stage img{max-height:44vh}}.photo-grid .add-ph{border:2px dashed var(--ui-border);border-radius:10px;aspect-ratio:1;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;color:var(--ui-muted);font-size:12.5px;font-weight:700;background:transparent}.photo-grid .add-ph:hover{border-color:var(--ui-accent);color:var(--ui-accent)}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));grid-gap:10px;gap:10px}.asset-tile{border:1.5px solid var(--ui-border);border-radius:10px;background:#fffdf8;padding:8px;display:flex;flex-direction:column;gap:6px;align-items:center;font-size:11px;color:var(--ui-muted);font-weight:700;text-align:center}.asset-tile .svg-wrap,.asset-tile img{height:48px;width:100%;object-fit:contain;display:flex;align-items:center;justify-content:center}.asset-tile .svg-wrap svg{max-height:48px;max-width:100%}.asset-tile{transition:border-color .15s,transform .15s}.asset-tile:hover{border-color:var(--ui-accent);transform:translateY(-2px)}.asset-tile.selected{border-color:var(--ui-accent);background:var(--ui-accent-soft)}.decor-shell{gap:14px}.decor-shell,.decor-topbar{display:flex;flex-direction:column}.decor-topbar{gap:8px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:9px;padding:10px 14px;box-shadow:var(--ui-shadow);position:-webkit-sticky;position:sticky;top:10px;z-index:20}.topbar-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.topbar-row.selbar{border-top:1px dashed var(--ui-border);padding-top:8px;gap:16px}.sel-slider{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;color:var(--ui-muted)}.sel-slider input{width:110px}.tool-btn.small{padding:5px 9px;font-size:12.5px}.tool-btn.danger{color:#a33;border-color:#dcb9b9}.tool-btn.danger:hover{background:#fbeeee;border-color:#a33}.tool-group{display:flex;align-items:center;gap:6px}.tool-btn{display:inline-flex;align-items:center;gap:7px;border:1.5px solid var(--ui-border);background:#fffdf8;border-radius:7px;padding:7px 14px;font-weight:700;font-size:13.5px;color:var(--ui-ink);transition:all .12s}.tool-btn.on,.tool-btn:hover{border-color:var(--ui-accent)}.tool-btn.on{background:var(--ui-accent);color:#fff}.slider-group{gap:10px;padding:0 4px}.dot-preview{border-radius:50%;transition:all .1s;box-shadow:0 0 0 1px rgba(0,0,0,.1)}.swatches{margin-left:auto;flex-wrap:wrap}.swatch-btn{width:23px;height:23px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1.5px var(--ui-border);cursor:pointer;padding:0}.swatch-btn.selected{box-shadow:0 0 0 2.5px var(--ui-accent);transform:scale(1.12)}.swatch-btn.mixed{border-radius:6px}.swatch-btn.add-swatch{display:inline-flex;align-items:center;justify-content:center;background:#fffdf8;color:var(--ui-muted);cursor:pointer;position:relative;border:1.5px dashed var(--ui-border);box-shadow:none}.swatch-btn.add-swatch:hover{color:var(--ui-accent);border-color:var(--ui-accent)}.swatch-btn.add-swatch input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.decor-main{display:grid;grid-template-columns:1.6fr 1fr;grid-gap:18px;gap:18px;align-items:start}@media (max-width:1000px){.decor-main{grid-template-columns:1fr}}.decor-canvas{position:relative;border-radius:9px;overflow:hidden;border:1.5px solid var(--ui-border);background:var(--t-bg,#fdfaf4);touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;container-type:inline-size;box-shadow:var(--ui-shadow)}.decor-canvas.painting{cursor:crosshair}.decor-backdrop{position:absolute;inset:0;pointer-events:none;z-index:3}.decor-item{position:absolute;cursor:-webkit-grab;cursor:grab;z-index:2}.decor-item:active{cursor:-webkit-grabbing;cursor:grabbing}.decor-item img,.decor-item.inert{pointer-events:none}.decor-item img{width:100%;height:auto}.decor-item.selected{outline:2px dashed var(--ui-accent);outline-offset:3px}.live-stroke{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}.edit-panel{margin-top:12px;padding:14px 16px}.edit-sliders{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;margin-bottom:12px}@media (max-width:700px){.edit-sliders{grid-template-columns:1fr}}.edit-sliders label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:800;color:var(--ui-muted)}.edit-actions{display:flex;gap:8px;flex-wrap:wrap}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:5px;border-radius:3px;background:var(--ui-border);outline:none;width:100%;min-width:90px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:17px;height:17px;border-radius:50%;background:var(--ui-accent);border:2.5px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.25);cursor:pointer}.decor-drawer{padding:0;overflow:hidden;position:-webkit-sticky;position:sticky;top:70px}.drawer-tabs{display:flex;border-bottom:1px solid var(--ui-border)}.drawer-tab{flex:1 1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 6px;background:#f6f1e8;font-weight:700;font-size:12.5px;color:var(--ui-muted);border:none;border-bottom:2.5px solid transparent}.drawer-tab.on{background:var(--ui-surface);color:var(--ui-accent-dark);border-bottom-color:var(--ui-accent)}.drawer-body{padding:14px;max-height:440px;overflow-y:auto}.icon-picker{display:flex;flex-wrap:wrap;gap:6px}.icon-choice{width:40px;height:40px;border-radius:10px;border:1.5px solid var(--ui-border);background:#fffdf8;display:flex;align-items:center;justify-content:center;color:#7a6f60;transition:all .12s}.icon-choice:hover{border-color:var(--ui-accent);color:var(--ui-accent);transform:scale(1.08)}.icon-choice.selected{background:var(--ui-accent);border-color:var(--ui-accent);color:#fff}.cat-icon-badge{width:46px;height:46px;border-radius:12px;background:var(--ui-accent-soft);color:var(--ui-accent-dark);justify-content:center;flex-shrink:0}.cat-icon-badge,.cat-preview{display:flex;align-items:center}.cat-preview{gap:14px;border:1.5px dashed var(--ui-border);border-radius:10px;padding:12px 14px;background:#fbf8f2}.cat-preview-name{font-weight:800;font-size:15.5px}.themed{background-color:var(--t-bg);background-image:radial-gradient(at 12% 6%,color-mix(in srgb,var(--t-accent) 9%,transparent) 0,transparent 50%),radial-gradient(at 88% 28%,color-mix(in srgb,var(--t-accent-soft) 35%,transparent) 0,transparent 55%),radial-gradient(at 72% 96%,color-mix(in srgb,var(--t-accent) 7%,transparent) 0,transparent 50%);background-attachment:fixed;color:var(--t-ink);min-height:100vh;font-family:var(--t-font-body);position:relative;overflow-x:hidden}.page-blobs{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;--blob-depth:1.45}.page-blobs span{position:absolute;display:block;width:var(--blob-size);height:var(--blob-size);--a:calc(var(--blob-alpha) * var(--blob-depth));background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--blob-tint) var(--a),transparent) 0,color-mix(in srgb,var(--blob-tint) calc(var(--a) / 2),transparent) 38%,transparent 68%);filter:blur(26px);animation:blobDrift var(--blob-dur) ease-in-out var(--blob-delay) infinite alternate}.return-to-studio{position:fixed;right:20px;bottom:20px;z-index:40;display:inline-flex;align-items:center;gap:9px;padding:11px 18px;border-radius:var(--t-radius,99px);background:var(--t-btn,var(--t-accent));color:var(--t-btn-ink);font-family:var(--t-font-body);font-weight:800;font-size:13.5px;text-decoration:none;box-shadow:0 10px 26px rgba(0,0,0,.24);transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s ease}.return-to-studio:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 16px 34px rgba(0,0,0,.3)}.return-to-studio svg{flex-shrink:0}@media (max-width:640px){.return-to-studio{padding:13px;gap:0}.return-to-studio span{display:none}}.preview-banner{position:relative;z-index:3;background:#2c2621;color:#f3e8d5;text-align:center;padding:9px 16px;font-size:13.5px;font-family:Karla,sans-serif}.themed .t-display,.themed h1,.themed h2,.themed h3{font-family:var(--t-font-display)}.site-banner{position:relative;padding:32px 24px 22px;text-align:left}.banner-pattern{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.banner-pattern:before{content:"";position:absolute;inset:calc(-1 * var(--t-pattern-overhang, 2vw));background-image:var(--t-pattern);background-repeat:repeat;background-size:var(--t-pattern-size);transform:rotate(var(--t-pattern-angle,0deg))}.site-banner:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,color-mix(in srgb,var(--t-banner-bg,var(--t-bg)) 62%,transparent) 0,color-mix(in srgb,var(--t-banner-bg,var(--t-bg)) 55%,transparent) 32%,color-mix(in srgb,var(--t-banner-bg,var(--t-bg)) 22%,transparent) 72%,color-mix(in srgb,var(--t-banner-bg,var(--t-bg)) 12%,transparent) 100%)}.site-banner.no-pattern:before{display:none}.site-banner .inner{position:relative;z-index:2;max-width:760px;margin:0 auto 0 0}.site-banner .banner-link{display:inline-block;color:var(--t-ink)}.site-banner h1{font-size:clamp(30px,4.5vw,48px);font-weight:800;letter-spacing:-.5px;text-shadow:0 0 .3em color-mix(in srgb,var(--t-banner-scrim,#fff) 72%,transparent),0 0 .62em color-mix(in srgb,var(--t-banner-scrim,#fff) 45%,transparent)}.site-banner .sub{font-size:14.5px;opacity:.95;margin-top:6px;text-shadow:0 0 .48em color-mix(in srgb,var(--t-banner-scrim,#fff) 82%,transparent),0 0 1em color-mix(in srgb,var(--t-banner-scrim,#fff) 55%,transparent)}.site-banner.no-pattern .sub,.site-banner.no-pattern h1{text-shadow:none}.site-search{position:absolute;top:50%;right:24px;transform:translateY(-50%);z-index:3;display:flex;align-items:center;gap:8px;width:200px;background:var(--t-card-bg);color:var(--t-card-ink);border:1.5px solid var(--t-border);border-radius:var(--t-radius,99px);padding:9px 16px;box-shadow:0 2px 10px rgba(0,0,0,.08);transition:width .2s ease,box-shadow .2s ease,border-color .2s ease}.site-search:focus-within{width:250px;box-shadow:0 10px 24px rgba(0,0,0,.16);border-color:var(--t-accent)}.site-search-icon{opacity:.6;flex-shrink:0}.site-search-input{border:none;outline:none;background:transparent;color:inherit;width:100%;font-size:13.5px;font-family:var(--t-font-body)}.site-search-input::placeholder{color:inherit;opacity:.55}.site-search-results{position:absolute;top:calc(100% + 10px);right:0;width:280px;max-height:320px;overflow-y:auto;background:var(--t-surface);border:1px solid var(--t-border);border-radius:14px;box-shadow:0 16px 40px rgba(0,0,0,.18);padding:6px;text-align:left;animation:fadeInUp .15s cubic-bezier(.2,.7,.2,1) both}.site-search-item{display:flex;align-items:center;gap:9px;width:100%;padding:9px 11px;border-radius:9px;font-weight:700;font-size:13.5px;color:var(--t-ink);text-align:left;transition:background .12s,color .12s}.site-search-item:hover{background:color-mix(in srgb,var(--t-accent) 10%,transparent);color:var(--t-accent)}.site-search-item svg{color:var(--t-accent);flex-shrink:0}.site-search-empty{padding:12px;font-size:12.5px;opacity:.6;text-align:center}@media (max-width:640px){.site-search{position:static;transform:none;width:100%;max-width:320px;margin:16px auto 0}}.site-hero{position:relative;padding:40px 24px 36px;text-align:center}.site-hero .inner{position:relative;z-index:2;max-width:1600px;margin:0 auto}.section-head{text-align:center}.section-head-row{display:block}.section-head-row h2{font-size:clamp(25px,3.1vw,35px);font-weight:800;letter-spacing:-.4px;line-height:1.15}.section-orn{display:block;width:min(360px,68vw);height:34px;margin:0 auto 26px;background-repeat:no-repeat;background-position:50%;background-size:contain}.section-sub{margin:10px auto 0;max-width:520px;font-size:14.5px;opacity:.72;line-height:1.6}.site-hero .hero-desc{max-width:720px;margin:18px auto 0;font-size:21px;opacity:.78;line-height:1.8}.site-hero .section-head{animation:fadeInUp .55s cubic-bezier(.2,.7,.2,1) both}.site-hero .hero-desc{animation:fadeInUp .55s cubic-bezier(.2,.7,.2,1) .12s both}.story-intro{max-width:720px;margin:18px auto 14px}.story-intro,.story-row{position:relative;z-index:2;padding:0 24px}.story-row{max-width:1120px;margin:10px auto 30px;display:grid;grid-gap:20px;gap:20px;align-items:stretch}.story-row.cols-1{max-width:760px}.story-row.cols-2{max-width:940px;grid-template-columns:repeat(2,minmax(0,1fr))}.story-row.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.story-row>*{display:flex}.family-story{flex:1 1;padding:22px;border-radius:var(--t-object-radius,16px);display:flex;flex-direction:column;gap:16px;background:var(--t-story-bg);color:var(--t-story-ink);border:1px solid var(--t-story-border)}.family-story .story-photo{width:100%;height:190px;object-fit:cover;border-radius:var(--t-object-radius-inner,8px);border:1px solid var(--t-border);box-shadow:0 10px 26px rgba(0,0,0,.14)}.family-story .story-text h2{font-size:21px;font-weight:800;letter-spacing:-.2px;margin-bottom:8px;display:flex;align-items:center;gap:9px}.family-story .story-text h2 svg{color:var(--t-accent);flex-shrink:0}.family-story .story-text p{font-size:14.5px;line-height:1.7;opacity:.85;white-space:pre-line}@media (max-width:860px){.story-row.cols-2,.story-row.cols-3{grid-template-columns:1fr;max-width:620px}.family-story .story-photo{height:220px}}.favourites{position:relative;z-index:2;max-width:1020px;margin:0 auto 12px;padding:10px 24px 0;text-align:center}.favourites .section-head{margin-bottom:24px}.favourite-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:20px;gap:20px;text-align:left}@media (max-width:860px){.favourite-cards{grid-template-columns:1fr;max-width:420px;margin:0 auto}}.visitor-row{display:flex;justify-content:center;gap:10px;position:relative;z-index:2;margin-top:40px;padding-top:24px;border-top:1px solid var(--t-border)}.visitor-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 20px;border-radius:var(--t-radius,99px);border:1.5px solid var(--t-border);background:var(--t-surface);color:var(--t-ink);font-weight:700;font-size:14px;font-family:var(--t-font-body);transition:border-color .15s,background .15s,color .15s,transform .45s cubic-bezier(.34,1.56,.64,1),box-shadow .3s}.visitor-btn:hover{border-color:var(--t-accent);transform:translateY(-3px) scale(1.04);box-shadow:0 8px 18px rgba(0,0,0,.12)}.visitor-btn.like.on{background:var(--t-accent);color:var(--t-accent-ink);border-color:var(--t-accent);opacity:1}.visitor-btn:disabled{cursor:default}.visitor-btn .count{background:color-mix(in srgb,currentColor 14%,transparent);border-radius:99px;padding:1px 9px;font-size:12px}.score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:16px;gap:16px}.score-card{text-align:center;padding:24px 16px 20px}.score-icon{width:42px;height:42px;border-radius:50%;background:var(--ui-accent-soft);color:var(--ui-accent-dark);display:inline-flex;align-items:center;justify-content:center;margin-bottom:10px}.score-value{font-size:36px;font-weight:800;line-height:1.1;letter-spacing:-1px;font-feature-settings:"pnum";font-variant-numeric:proportional-nums}.score-label{font-weight:800;margin-top:2px;font-size:14px}.score-trend{font-size:12.5px;font-weight:700;margin-top:6px;color:var(--ui-muted)}.score-trend.up{color:var(--ui-green)}.score-trend.down{color:#a3603a}.insight-headline{font-size:18px;line-height:1.6;font-weight:600;max-width:640px;margin-bottom:20px}.insight-pair{align-items:stretch}.chart-card{display:flex;flex-direction:column}.chart-card .daybars{flex:1 1;min-height:120px}.daybars{display:flex;align-items:flex-end;gap:6px;height:120px}.daybar{flex:1 1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px}.daybar-value{font-size:11.5px;font-weight:800;color:var(--ui-ink);line-height:1}.daybar-fill{display:block;width:100%;max-width:20px;border-radius:4px 4px 0 0;background:var(--ui-accent)}.daybar-fill.empty{background:var(--ui-border);border-radius:2px}.daybars-axis{display:flex;justify-content:space-between;border-top:1px solid var(--ui-border);margin-top:6px;padding-top:6px;font-size:11.5px;color:var(--ui-muted)}.usage-row{display:block}.usage-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:5px}.usage-name{font-weight:700;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.usage-value{gap:10px;flex-shrink:0;font-weight:800;font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.usage-loves,.usage-value{display:inline-flex;align-items:center}.usage-loves{gap:3px;color:var(--ui-muted);font-weight:700}.usage-track{height:8px;border-radius:99px;background:var(--ui-bg);overflow:hidden}.usage-bar{display:block;height:100%;border-radius:99px;background:var(--ui-accent)}.usage-row:hover .usage-name{color:var(--ui-accent-dark)}.loved-row{display:flex;align-items:center;gap:12px}.loved-rank{flex:0 0 26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--ui-bg);color:var(--ui-muted);font-size:12.5px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.loved-rank.first{background:var(--ui-accent);color:#fff}.loved-list{display:flex;flex-direction:column}.loved-item{display:grid;grid-template-columns:26px minmax(0,1fr) auto auto;align-items:center;grid-gap:14px;gap:14px;padding:11px 4px;border-bottom:1px solid var(--ui-border)}.loved-item:last-child{border-bottom:none}.loved-item:hover .loved-name{color:var(--ui-accent-dark)}.loved-name{font-weight:700;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loved-pips{display:flex;align-items:center;gap:3px;flex-wrap:wrap;justify-content:flex-end}.loved-more,.loved-pips svg{color:#c2536b}.loved-more{font-size:12px;font-weight:800;margin-left:4px}.loved-count{font-size:13.5px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:74px;text-align:right}.loved-count .muted{font-weight:600}@media (max-width:620px){.loved-item{grid-template-columns:26px minmax(0,1fr) auto}.loved-pips{display:none}}.rank{width:24px;height:24px;border-radius:50%;background:var(--ui-accent-soft);color:var(--ui-accent-dark);font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.rank.gold{background:#f6d987;color:#7a5a12}.rank.silver{background:#dde2e6;color:#565f66}.rank.bronze{background:#e8c4a0;color:#7a4a20}.leaderboard-row{display:flex;align-items:center;gap:14px;padding:12px 10px;border-radius:10px;transition:background .15s}.leaderboard-row:hover{background:#faf6ee}.leaderboard-row.mine{background:var(--ui-accent-soft)}.leaderboard-go{flex-shrink:0;color:var(--ui-border);transform:rotate(180deg);transition:color .15s ease,transform .2s ease}.leaderboard-row:hover .leaderboard-go{color:var(--ui-accent);transform:rotate(180deg) translateX(-3px)}.leaderboard-stats{display:flex;gap:14px;font-size:13px;font-weight:700;color:var(--ui-muted);flex-shrink:0}.leaderboard-stats span{display:inline-flex;align-items:center;gap:4px}.option-row{display:flex;gap:8px;width:100%}.option-row .style-chip,.option-row>.btn{flex:1 1;justify-content:center;text-align:center}.btn.block{justify-content:center}.file-pick{position:relative;display:inline-flex}.file-pick>input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:0;z-index:5}.file-pick[aria-disabled=true]>input[type=file]{cursor:wait}.drop-ready{outline:2.5px dashed var(--ui-accent);outline-offset:4px;border-radius:10px}.builder-tabs{display:flex;gap:4px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:12px;padding:5px;box-shadow:var(--ui-shadow);margin-bottom:16px}.builder-tab{flex:1 1;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:14px 10px;border:none;border-radius:8px;background:transparent;font-weight:700;font-size:13.5px;color:var(--ui-muted);cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.builder-tab:hover{color:var(--ui-ink);background:#faf6ee}.builder-tab.on{box-shadow:0 2px 8px rgba(0,0,0,.14)}.builder-tab.on,.tab-count{color:#fff;background:var(--ui-accent)}.tab-count{border-radius:99px;font-size:10.5px;padding:0 7px;line-height:16px;font-weight:800}.preset-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin-bottom:16px}.preset-btn{border:1.5px solid var(--ui-border);border-radius:8px;background:#fffdf8;padding:8px 10px;display:flex;flex-direction:column;gap:6px;align-items:stretch;cursor:pointer;font-size:12px;font-weight:800;letter-spacing:.1px;color:var(--ui-ink);transition:border-color .15s,transform .45s cubic-bezier(.34,1.56,.64,1),box-shadow .3s}.preset-btn:hover{border-color:var(--ui-accent);transform:translateY(-3px) scale(1.03);box-shadow:0 10px 22px rgba(0,0,0,.12)}.preset-btn .mesh{display:block;height:34px;border-radius:6px;border:1px solid rgba(0,0,0,.08);position:relative;overflow:hidden}.preset-btn .mesh:after{content:"";position:absolute;width:30px;height:30px;right:-8px;top:-10px;background:hsla(0,0%,100%,.55);pointer-events:none;animation:blobMorph 7s ease-in-out infinite alternate}.preset-btn:nth-child(2n) .mesh:after{animation-duration:9s;animation-delay:-2.5s}.preset-btn:nth-child(3n) .mesh:after{animation-duration:6s;animation-delay:-4s}.t-divider{height:26px;background-position:50%;background-repeat:no-repeat;margin:8px auto 0}.site-body{max-width:1020px;margin:0 auto;padding:24px 24px 56px;position:relative;z-index:2}.cat-section{margin-bottom:40px}.cat-section>h2{font-size:33px;font-weight:800;letter-spacing:-.3px;display:flex;align-items:center;gap:12px;margin-bottom:6px}.cat-section>.cat-desc{opacity:.7;margin-bottom:20px}.recipe-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:20px;gap:20px;grid-auto-rows:1fr}.favourite-cards>*,.recipe-cards>*{display:flex}.recipe-card{background:var(--t-card-bg);color:var(--t-card-ink);border:1px solid var(--t-border);border-radius:var(--t-object-radius,16px);overflow:hidden;display:flex;flex-direction:column;flex:1 1;min-width:0;transition:transform .5s cubic-bezier(.34,1.56,.64,1),box-shadow .3s}.recipe-card:hover{transform:translateY(-5px) scale(1.012);box-shadow:0 18px 40px rgba(0,0,0,.16)}.recipe-card .thumb{height:170px;flex-shrink:0;background:var(--t-accent-soft) center/cover no-repeat;position:relative;transition:transform .5s ease}.recipe-card:hover .thumb{transform:scale(1.07)}.recipe-card .thumb.empty{display:flex;align-items:center;justify-content:center;font-size:40px}.recipe-card .body{padding:16px 18px 18px;flex:1 1;display:flex;flex-direction:column}.recipe-card .body h3{font-size:21px;font-weight:800;letter-spacing:-.2px}.recipe-card .body p{font-size:13.5px;opacity:.7;margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recipe-card .meta{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:auto;padding-top:12px;font-size:12px;font-weight:700;opacity:.75}.site-footer{text-align:center;padding:30px 26px;font-size:13.5px}.recipe-page,.site-footer{position:relative;z-index:2}.recipe-page{max-width:880px;margin:0 auto;padding:40px 24px 90px}.recipe-head{text-align:center;margin:22px 0 8px}.recipe-head h1{font-size:clamp(32px,4.5vw,48px)}.recipe-head .desc{max-width:620px;margin:14px auto 0;opacity:.8;font-size:16.5px;line-height:1.7}.recipe-story{display:flex;flex-direction:column;gap:18px;align-items:center;max-width:620px;margin:24px auto 0;text-align:center}.recipe-story img{width:100%;max-width:460px;height:280px;object-fit:cover;border-radius:16px;border:1px solid var(--t-border);box-shadow:0 12px 30px rgba(0,0,0,.14)}.recipe-story p{font-size:15.5px;line-height:1.75;opacity:.85;white-space:pre-line}@media (max-width:640px){.recipe-story img{height:220px}}.meta-strip{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:24px 0 8px}.meta-strip .m{background:var(--t-surface);border:1px solid var(--t-border);padding:9px 17px;border-radius:12px;font-size:13px;text-align:center;min-width:116px}.meta-strip .m b{display:block;font-size:14.5px}.recipe-photos{margin:26px 0}.photo-carousel{position:relative}.pc-viewport{overflow:hidden;border-radius:var(--t-object-radius,16px);border:1px solid var(--t-border)}.pc-track{display:flex;transition:transform .42s cubic-bezier(.22,.9,.26,1)}.pc-track img{flex:0 0 100%;width:100%;height:340px;object-fit:cover;display:block}.pc-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:none;background:hsla(0,0%,100%,.86);color:#24201c;box-shadow:0 4px 14px rgba(0,0,0,.28);opacity:.9;transition:opacity .15s ease,transform .15s ease,background .15s ease}.pc-nav:hover{opacity:1;background:#fff}.pc-nav.prev{left:10px}.pc-nav.next{right:10px}.pc-nav.next svg{transform:rotate(180deg)}.pc-nav:active{transform:translateY(-50%) scale(.94)}.pc-dots{display:flex;justify-content:center;gap:7px;margin-top:10px}.pc-dot{width:8px;height:8px;padding:0;border-radius:50%;border:none;background:var(--t-ink);opacity:.25;cursor:pointer;transition:opacity .15s ease,transform .15s ease}.pc-dot:hover{opacity:.5}.pc-dot.on{opacity:.85;transform:scale(1.25);background:var(--t-accent)}.ingredients-card .pc-track img{height:220px}.recipe-cols{display:grid;grid-template-columns:340px 1fr;grid-gap:30px;gap:30px;margin-top:30px;align-items:start}@media (max-width:820px){.recipe-cols{grid-template-columns:1fr}}.ingredients-card{background:var(--t-card-bg);color:var(--t-card-ink);border:1px solid var(--t-border);border-radius:var(--t-object-radius,16px);padding:24px;position:-webkit-sticky;position:sticky;top:20px}.ingredients-card h2{font-size:21px;margin-bottom:14px}.ingredients-card h4{margin:14px 0 6px;font-size:14px;text-transform:uppercase;letter-spacing:.6px;opacity:.7}.ingredients-card ul{list-style:none}.ingredients-card li{padding:7px 0;border-bottom:1px dashed var(--t-border);font-size:14.5px}.ingredients-card li:last-child{border-bottom:none}.steps h2{font-size:24px;margin-bottom:18px}.steps ol{list-style:none;counter-reset:step}.steps li{counter-increment:step;display:flex;gap:16px;margin-bottom:20px}.steps li:before{content:counter(step);flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--t-accent);color:var(--t-accent-ink);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:14.5px;font-family:var(--t-font-display)}.notes-card{margin-top:28px;border-radius:var(--t-object-radius,16px);padding:20px 24px;background:color-mix(in srgb,var(--t-accent) 11%,var(--t-bg));font-size:15px;border:1px dashed var(--t-accent);color:var(--t-ink)}.notes-card b{font-family:var(--t-font-display);font-size:16.5px}.cat-menu{position:relative;z-index:2;color:var(--t-ink);display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:9px;padding:14px 24px}.cat-menu-divider{height:3px;background:var(--t-accent);margin-bottom:26px;position:relative;z-index:2}.cat-menu-item{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;font-weight:800;font-size:14px;color:var(--t-card-ink);opacity:.78;background:var(--t-card-bg);border:1.5px solid var(--t-border);border-radius:var(--t-radius,99px);box-shadow:0 1px 4px rgba(0,0,0,.05);transition:opacity .15s,color .15s,border-color .15s,background .15s,transform .45s cubic-bezier(.34,1.56,.64,1),box-shadow .3s}.cat-menu-item:hover{opacity:1;border-color:var(--t-accent);transform:translateY(-3px) scale(1.05);box-shadow:0 8px 18px rgba(0,0,0,.12)}.cat-menu-item.active{opacity:1;color:var(--t-accent-ink);background:var(--t-accent);border-color:var(--t-accent)}.recipe-card .meta span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.site-mock{position:absolute;inset:0;font-family:var(--t-font-body);color:var(--t-ink)}.mock-banner{text-align:center;padding:6.5cqw 6cqw 4.5cqw}.mock-banner.align-left{text-align:left}.mock-banner.align-right{text-align:right}.mock-title{font-family:var(--t-font-display);font-size:6.4cqw;line-height:1.1}.mock-sub{font-size:2.3cqw;opacity:.7;margin-top:1.4cqw}.mock-nav{display:flex;justify-content:space-evenly;flex-wrap:wrap;padding:1cqw 3cqw;border-top:1px solid var(--t-border);border-bottom:1px solid var(--t-border)}.mock-nav-item{display:inline-flex;align-items:center;gap:.7cqw;padding:1.1cqw 1.6cqw;font-size:1.9cqw;font-weight:700;opacity:.8}.mock-nav-divider{height:.5cqw;background:var(--t-accent)}.mock-hero{text-align:center;padding:4.5cqw 6cqw 2.5cqw;position:relative}.mock-hero.patterned:before{content:"";position:absolute;inset:0;background-image:var(--t-pattern);background-repeat:repeat;background-size:var(--t-pattern-size);opacity:.5;pointer-events:none;mask-image:linear-gradient(#000 82%,transparent);-webkit-mask-image:linear-gradient(#000 82%,transparent)}.mock-hero>*{position:relative}.mock-byline{display:inline-block;padding:.9cqw 2.6cqw;border-radius:var(--t-radius,99px);background:var(--t-btn,var(--t-accent));color:var(--t-bg);font-weight:700;font-size:1.9cqw}.mock-desc{font-size:1.9cqw;opacity:.78;margin:1.6cqw auto 0;max-width:74%}.mock-desc.plated{padding:.8cqw 1.8cqw;border-radius:1.2cqw;display:inline-block}.mock-divider{height:3cqw;margin-top:1.6cqw;background-repeat:no-repeat;background-position:50%;background-size:30cqw auto}.mock-body{padding:0 6cqw}.mock-section{margin-bottom:3.5cqw}.mock-h2{font-family:var(--t-font-display);font-size:3.4cqw;display:flex;align-items:center;gap:1.2cqw;margin-bottom:1.6cqw}.mock-cards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:2cqw;gap:2cqw}.mock-card{background:var(--t-card-bg);border:1px solid var(--t-border);border-radius:1.6cqw;overflow:hidden;padding-bottom:1.4cqw}.mock-thumb{height:8.5cqw;background:var(--t-accent-soft);margin-bottom:1.2cqw}.mock-card-title{font-family:var(--t-font-display);font-size:2.1cqw;padding:0 1.4cqw}.mock-line{height:.8cqw;border-radius:1cqw;background:var(--t-border);margin:1cqw 1.4cqw 0}.mock-footer{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:1.8cqw;opacity:.6;padding:1.6cqw;border-top:1px dashed var(--t-border)}.recipe-mock{position:absolute;inset:0;font-family:var(--t-font-body);color:var(--t-ink);padding:4cqw 6cqw;overflow:hidden}.recipe-mock .rm-back{font-size:1.8cqw;opacity:.7;gap:.5cqw;margin-bottom:2.4cqw}.recipe-mock .rm-back,.recipe-mock .rm-cat{font-weight:700;display:flex;align-items:center}.recipe-mock .rm-cat{font-size:1.6cqw;opacity:.65;text-transform:uppercase;letter-spacing:.1cqw;text-align:center;justify-content:center;gap:.6cqw;margin-bottom:1cqw}.recipe-mock .rm-title{font-family:var(--t-font-display);font-size:5cqw;text-align:center;line-height:1.1}.recipe-mock .rm-desc{font-size:1.9cqw;opacity:.8;text-align:center;margin-top:1.4cqw}.recipe-mock .rm-divider{height:2.2cqw;margin:1.6cqw auto 0;background-position:50%;background-repeat:no-repeat;background-size:22cqw auto}.recipe-mock .rm-meta{display:flex;justify-content:center;gap:1.2cqw;margin-top:2.2cqw;flex-wrap:wrap}.recipe-mock .rm-meta span{background:var(--t-surface);border:1px solid var(--t-border);border-radius:1.2cqw;padding:.7cqw 1.6cqw;font-size:1.6cqw}.recipe-mock .rm-photos{display:flex;gap:1cqw;margin-top:2.2cqw}.recipe-mock .rm-photos img{flex:1 1;min-width:0;height:11cqw;object-fit:cover;border-radius:1.4cqw;border:1px solid var(--t-border)}.recipe-mock .rm-cols{display:flex;gap:3cqw;margin-top:2.8cqw}.recipe-mock .rm-ingredients{flex:0 0 32%;background:var(--t-card-bg);border:1px solid var(--t-border);border-radius:1.4cqw;padding:1.8cqw}.recipe-mock .rm-ingredients h4{font-family:var(--t-font-display);font-size:2.1cqw;margin-bottom:1cqw}.recipe-mock .rm-ingredients li{font-size:1.6cqw;padding:.55cqw 0;border-bottom:1px dashed var(--t-border);list-style:none}.recipe-mock .rm-steps{flex:1 1;min-width:0}.recipe-mock .rm-steps h4{font-family:var(--t-font-display);font-size:2.3cqw;margin-bottom:1.2cqw}.recipe-mock .rm-step{display:flex;gap:1cqw;margin-bottom:1.3cqw;font-size:1.6cqw;align-items:flex-start}.recipe-mock .rm-num{flex-shrink:0;width:2.5cqw;height:2.5cqw;border-radius:50%;background:var(--t-accent);color:var(--t-bg);display:flex;align-items:center;justify-content:center;font-size:1.4cqw;font-weight:800}.page-picker{display:flex;flex-direction:column;gap:14px;margin-bottom:20px}.page-chip{border:1.5px solid var(--ui-border);background:var(--ui-surface);border-radius:8px;padding:8px 15px;font-size:13.5px;font-weight:700;color:var(--ui-ink);display:inline-flex;align-items:center;gap:7px;white-space:nowrap;flex-shrink:0;transition:border-color .15s,transform .15s}.page-chip:hover{border-color:var(--ui-accent);transform:translateY(-2px)}.page-chip.on{background:var(--ui-accent);border-color:var(--ui-accent);color:#fff}.page-mock{position:absolute;inset:0;padding:8% 11%;font-family:var(--t-font-body);color:var(--t-ink);overflow:hidden}.pm-title{font-family:var(--t-font-display);font-size:6.2cqw;text-align:center}.pm-meta{text-align:center;font-size:2.1cqw;color:var(--t-accent);margin-top:1.2cqw;font-weight:700}.pm-rule{height:2.2cqw;margin:2cqw auto;background-position:50%;background-repeat:no-repeat;background-size:20cqw auto}.pm-desc{text-align:center;font-style:italic;font-size:2.2cqw;opacity:.75;margin-bottom:3cqw}.pm-label{font-size:2cqw;font-weight:800;letter-spacing:.2cqw;color:var(--t-accent);margin-bottom:1.6cqw}.pm-ingredients{list-style:none;margin-bottom:1.5cqw}.pm-ingredients li{font-size:1.9cqw;padding:.5cqw 0;border-bottom:1px dashed var(--t-border)}.pm-step{display:flex;gap:1.6cqw;margin-bottom:1.6cqw;align-items:flex-start}.pm-num{flex-shrink:0;width:3.4cqw;height:3.4cqw;border-radius:50%;background:var(--t-accent);color:var(--t-bg);font-size:1.9cqw;font-weight:800;display:flex;align-items:center;justify-content:center}.pm-step p{flex:1 1;padding-top:.6cqw;font-size:1.9cqw;line-height:1.4}.page-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.page-nav-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--ui-ink);max-width:220px;opacity:.85}.page-nav-link:hover{color:var(--ui-accent);opacity:1}.page-nav-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-nav-link.next{justify-content:flex-end;text-align:right;margin-left:auto}.page-nav-pos{font-size:12.5px;font-weight:800;color:var(--ui-muted);flex-shrink:0}.cover-mock{position:absolute;inset:0;font-family:var(--t-font-body);color:var(--t-ink)}.cover-frame{position:absolute;inset:4%;border:1px solid var(--t-accent);border-radius:2px}.cover-frame.inner{inset:5.5%;opacity:.55;border-width:.5px}.cover-content{position:absolute;inset:10% 12%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:3cqw}.cover-photo{width:62%;border:.8cqw solid #fff;box-shadow:0 2px 12px rgba(0,0,0,.22)}.cover-title{font-size:8cqw;line-height:1.1}.cover-sub,.cover-title{font-family:var(--t-font-display)}.cover-sub{font-style:italic;font-size:3.4cqw;color:var(--t-accent)}.cover-author{position:absolute;bottom:7%;left:0;right:0;text-align:center;font-size:2.6cqw;opacity:.85}.builder-grid{display:grid;grid-template-columns:1.6fr 1fr;grid-gap:30px;gap:30px;align-items:start}@media (max-width:1000px){.builder-grid{grid-template-columns:1fr}}.builder-h{font-size:17px;margin-bottom:12px;display:flex;align-items:center;gap:8px}.builder-h svg{color:var(--ui-accent)}.story-editor-card{border:1.5px solid var(--ui-border);border-radius:12px;padding:16px 18px;margin-bottom:14px;background:#fdfbf7}.story-editor-card .builder-h{margin-bottom:2px}.color-rows{display:flex;flex-direction:column;gap:10px}.color-row{display:flex;align-items:center;gap:12px;font-weight:700;font-size:14px}.color-row input[type=color]{width:44px;height:34px;border:1.5px solid var(--ui-border);border-radius:8px;padding:2px;background:#fff;cursor:pointer}.color-row code{margin-left:auto;font-size:12px;color:var(--ui-muted)}.pattern-family{margin-bottom:20px}.pattern-family-name{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--ui-muted);margin:0 0 8px}.pattern-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));grid-gap:10px;gap:10px}.pattern-tile{position:relative;aspect-ratio:1;border-radius:12px;border:2px solid var(--ui-border);background-repeat:repeat;cursor:pointer;overflow:hidden;display:block;transition:border-color .15s,transform .45s cubic-bezier(.34,1.56,.64,1),box-shadow .3s}.pattern-tile:hover{border-color:var(--ui-accent);transform:scale(1.06) rotate(-1.5deg);box-shadow:0 12px 26px rgba(0,0,0,.18);z-index:1}.pattern-tile.selected{border-color:var(--ui-accent);animation:selectedRing 2.4s ease-in-out infinite}.pattern-tile .pattern-name{position:absolute;left:0;right:0;bottom:0;padding:5px 7px;background:rgba(20,16,12,.78);color:#fff;font-size:10.5px;font-weight:700;line-height:1.25;text-align:center;opacity:0;transition:opacity .18s}.pattern-tile.selected .pattern-name,.pattern-tile:hover .pattern-name{opacity:1}.pattern-tile.none{aspect-ratio:auto;padding:12px 18px;margin-bottom:18px;background:#fffdf8;font-size:12.5px;font-weight:800;color:var(--ui-muted);width:auto}@keyframes selectedRing{0%,to{box-shadow:0 0 0 3px rgba(179,80,45,.18)}50%{box-shadow:0 0 0 6px rgba(179,80,45,.3)}}.divider-list{display:flex;flex-direction:column;gap:6px}.divider-option{border:2px solid var(--ui-border);border-radius:10px;background:#fffdf8;padding:6px;cursor:pointer}.divider-option.selected,.divider-option:hover{border-color:var(--ui-accent)}.divider-option.selected{background:var(--ui-accent-soft)}.divider-preview{display:block;height:22px;background-repeat:no-repeat;background-position:50%;background-size:200px auto}.builder-preview{position:-webkit-sticky;position:sticky;top:20px}.builder-preview-frame{position:relative;overflow:hidden;border-radius:16px;border:1px solid var(--ui-border);box-shadow:var(--ui-shadow-lg);background:#fff}.builder-preview-frame iframe{border:none;display:block;transform-origin:top left}.save-status{display:flex;align-items:center;gap:7px;margin-top:12px;font-size:13px;font-weight:700;color:var(--ui-muted);animation:fadeIn .2s ease}.save-status svg{flex-shrink:0}.save-status.saving{color:var(--ui-muted)}.save-status.saving svg{animation:glowPulse 1.1s ease-in-out infinite}.save-status.saved{color:var(--ui-green)}.save-status.error{color:#a33}.needs-review-mark{display:inline-block;margin-right:7px;font-weight:900;color:#b3521a;transform:translateY(-1px)}.recipe-with-reference{display:grid;grid-template-columns:minmax(560px,820px) minmax(300px,1fr);grid-gap:28px;gap:28px;align-items:start}.recipe-editor-main{min-width:0}.recipe-reference-inner{position:-webkit-sticky;position:sticky;top:16px;background:var(--ui-surface);border:1.5px solid var(--ui-border);border-radius:var(--ui-radius);padding:16px}.recipe-reference-frame{container-type:size;position:relative;width:100%;height:66vh;min-height:320px;overflow:hidden;border-radius:8px;border:1px solid var(--ui-border);background:var(--ui-bg)}.recipe-reference-img{position:absolute;top:50%;left:50%;max-width:100cqw;max-height:100cqh;cursor:zoom-in;transition:transform .25s cubic-bezier(.2,.7,.2,1)}.recipe-reference-frame.turned .recipe-reference-img{max-width:100cqh;max-height:100cqw}.recipe-reference-tools{display:flex;gap:8px;margin-top:10px}.recipe-reference-tools .btn{flex:1 1;justify-content:center}@media (max-width:975px){.recipe-with-reference{grid-template-columns:1fr}.recipe-reference{order:-1}.recipe-reference-inner{position:static}.recipe-reference-frame{height:46vh}}.pattern-colours{border-top:1px solid var(--ui-border);margin-top:20px;padding-top:16px}.builder-sub{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:800;margin-bottom:4px}.builder-sub svg{color:var(--ui-accent);flex-shrink:0}.angle-field{border-top:1px solid var(--ui-border);border-bottom:1px solid var(--ui-border);margin:18px 0;padding:16px 0 20px}.angle-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:99px;background:var(--ui-accent-soft);cursor:pointer}.angle-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--ui-accent);border:3px solid var(--ui-surface);box-shadow:0 2px 6px rgba(60,45,30,.3);cursor:-webkit-grab;cursor:grab}.angle-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;border:3px solid var(--ui-surface);background:var(--ui-accent);box-shadow:0 2px 6px rgba(60,45,30,.3);cursor:grab}.font-menu{max-height:300px;overflow-y:auto;border:1.5px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);padding:4px}.font-group-name{font-size:10.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--ui-muted);padding:10px 8px 4px}.font-option{display:block;width:100%;text-align:left;padding:7px 10px;border:none;border-radius:7px;background:none;font-size:16px;color:var(--ui-ink);line-height:1.3;transition:background .12s ease}.font-option:hover{background:var(--ui-bg)}.font-option.selected{background:var(--ui-accent-soft);color:var(--ui-accent-dark);font-weight:700}.custom-card .swatch{display:flex;align-items:flex-end}.style-chip{display:inline-flex;align-items:center;gap:7px}.btn,.divider-option,.drawer-tab,.icon-choice,.pattern-tile,.style-chip,.tool-btn{cursor:pointer}.book-pages{display:flex;flex-direction:column;gap:26px;align-items:center;padding:20px 0}.book-page{background:var(--t-surface);width:432px;height:648px;box-shadow:var(--ui-shadow-lg);border-radius:4px;position:relative;overflow:hidden;flex-shrink:0;color:var(--t-ink);font-family:var(--t-font-body);container-type:inline-size}.book-page.a5{width:420px;height:594px}.book-page-wrap{display:flex;flex-direction:column;align-items:center;gap:8px}.book-page-wrap .page-num{font-size:12px;font-weight:700;color:var(--ui-muted)}.spread-scroll{overflow-x:auto;padding:10px 4px 20px}.spread-row{display:flex;gap:22px}.titlepage-mock{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:10% 12%;gap:3cqw}.tp-title{font-size:8cqw;line-height:1.15}.tp-sub,.tp-title{font-family:var(--t-font-display)}.tp-sub{font-style:italic;font-size:3.2cqw;color:var(--t-accent)}.tp-author{font-size:2.6cqw;opacity:.8;margin-top:2cqw}.tp-dedication{font-family:var(--t-font-display);font-style:italic;font-size:4.2cqw;line-height:1.5;opacity:.9}.toc-mock{position:absolute;inset:0;padding:9% 11%;overflow:hidden}.toc-mock h3{font-family:var(--t-font-display);font-size:6cqw;text-align:center;margin-bottom:6cqw}.toc-chapter{margin-bottom:3.6cqw}.toc-chapter-name{display:flex;align-items:center;gap:1cqw;font-weight:700;font-size:2.6cqw;color:var(--t-accent);margin-bottom:1.2cqw}.toc-recipe{font-size:2.2cqw;padding:.5cqw 0 .5cqw 3.6cqw;opacity:.85;border-bottom:1px dotted var(--t-border)}.chapter-mock{position:absolute;inset:4%;border:1px solid var(--t-accent);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 12%}.ch-photo{width:40%;aspect-ratio:1;object-fit:cover;border-radius:2px;border:1px solid var(--t-accent);margin-bottom:3cqw}.ch-num{font-style:italic;font-size:2.6cqw;color:var(--t-accent);margin-bottom:1.4cqw}.ch-name,.ch-num{font-family:var(--t-font-display)}.ch-name{font-size:5.6cqw}.ch-desc{font-family:var(--t-font-display);font-style:italic;font-size:2.4cqw;opacity:.8;margin-top:2.4cqw}.account-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:18px 24px;gap:18px 24px}.account-label{display:block;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--ui-muted);margin-bottom:4px}.account-value{font-size:15px;font-weight:700;word-break:break-word}.account-section{font-size:20px;font-weight:800;margin:30px 0 12px}.billing-cycle{gap:4px;padding:4px;margin-bottom:16px;background:var(--ui-bg);border:1.5px solid var(--ui-border)}.billing-cycle,.cycle-btn{display:inline-flex;border-radius:99px}.cycle-btn{align-items:center;gap:8px;padding:8px 18px;font-size:13.5px;font-weight:700;color:var(--ui-muted);transition:background .15s,color .15s}.cycle-btn:hover{color:var(--ui-ink)}.cycle-btn.on{background:var(--ui-accent);color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.14)}.cycle-save{font-size:11px;font-weight:800;padding:2px 7px;border-radius:99px;background:hsla(0,0%,100%,.22)}.cycle-btn:not(.on) .cycle-save{background:var(--ui-accent-soft);color:var(--ui-accent-dark)}.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:18px;gap:18px;align-items:stretch}.plan-card{display:flex;flex-direction:column}.plan-card.current{border-color:var(--ui-accent);box-shadow:0 0 0 1px var(--ui-accent)}.plan-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.plan-head h3{font-size:20px;font-weight:800}.plan-badge{font-size:11px;font-weight:800;letter-spacing:.04em;padding:3px 9px;border-radius:99px;background:var(--ui-accent);color:#fff}.plan-tagline{font-size:13px;color:var(--ui-muted);margin-top:4px}.plan-price{font-size:34px;font-weight:800;letter-spacing:-.5px;margin:14px 0 2px}.plan-per{font-size:15px;font-weight:700;color:var(--ui-muted);margin-left:3px}.plan-features{list-style:none;margin:16px 0 18px;display:flex;flex-direction:column;gap:9px}.plan-features li{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;line-height:1.45}.plan-features li svg{color:var(--ui-accent);flex-shrink:0;margin-top:2px}.plan-features li.off{color:var(--ui-muted)}.plan-dash{width:14px;height:2px;border-radius:2px;background:currentColor;opacity:.45;flex-shrink:0;margin-top:9px}.plan-card>:last-child{margin-top:auto}.plan-current-note{font-size:12.5px;color:var(--ui-muted);padding-top:4px}.billing-note{display:flex;gap:12px;align-items:flex-start;margin-top:18px;background:var(--ui-accent-soft);border-color:transparent}.billing-note svg{color:var(--ui-accent-dark);flex-shrink:0;margin-top:1px}.billing-note p{font-size:13.5px;line-height:1.55}.close-account-card{border-color:var(--ui-border)}.close-confirm label{display:block;font-size:13px;margin-bottom:7px}.close-confirm input{width:100%;max-width:340px;padding:10px 12px;border-radius:9px;border:1.5px solid var(--ui-border);background:#fff}.close-confirm input:focus{outline:none;border-color:#a33}.close-error{color:#a33;font-size:12.5px;margin-top:8px;font-weight:700}.period-card{display:grid;grid-template-columns:minmax(0,260px) 1fr;grid-gap:28px;gap:28px;align-items:start}.period-main{border-right:1px solid var(--ui-border);padding-right:24px}.period-amount{font-size:32px;font-weight:800;letter-spacing:-.5px;margin:4px 0 2px}.period-card.empty .period-amount{font-size:24px;color:var(--ui-muted)}.period-when{font-size:13.5px;font-weight:700}.period-card.empty .period-when{font-weight:400;line-height:1.5}.period-detail{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:18px 24px;gap:18px 24px}@media (max-width:640px){.period-card{grid-template-columns:1fr;gap:20px}.period-main{border-right:none;border-bottom:1px solid var(--ui-border);padding:0 0 18px}}.demo-panel{padding:64px 60px 72px;border-top:1px solid hsla(0,0%,100%,.08);background:#241d16;color:#f6efe4}.demo-step{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#d9ab52;margin-bottom:10px}.demo-title{font-size:clamp(24px,2.6vw,32px);font-weight:800;letter-spacing:-.4px}.demo-blurb{font-size:15.5px;color:#c9bba6;line-height:1.6;max-width:460px;margin-top:8px}.demo-frame{margin-top:26px;border-radius:12px;overflow:hidden;background:#fffdf8;border:1px solid rgba(0,0,0,.2);box-shadow:0 24px 60px rgba(0,0,0,.45);max-width:760px}.mock{font-size:0}.demo-frame .mock b,.demo-frame .mock em,.demo-frame .mock i,.demo-frame .mock span{display:block;font-style:normal}.demo-frame .mock-studio{display:flex;align-items:stretch}.demo-frame .mock-nav{width:132px;background:#241d16;padding:14px 10px;flex-shrink:0;display:flex;flex-direction:column;justify-content:flex-start}.demo-frame .mock-brand{font-family:Fraunces,Georgia,serif;font-size:9px;color:#cbbca6;margin-bottom:12px;letter-spacing:.01em;line-height:1}.demo-frame .mock-navitem{display:flex!important;align-items:center;gap:5px;height:19px;padding:0 7px;border-radius:5px;margin-bottom:2px;color:#9c8d79;font-size:7.5px;font-weight:700;white-space:nowrap;line-height:1}.demo-frame .mock-navitem.on{background:#b3502d;color:#fff}.demo-frame .mock-navitem.outlined{border:1px dashed hsla(0,0%,100%,.25);margin-top:8px}.demo-frame .mock-main{flex:1 1;padding:14px 14px 16px;background:#faf6ee;min-width:0}.demo-frame .mock-h{font-family:Fraunces,Georgia,serif;font-size:15px;font-weight:800;color:#2a2018;margin-bottom:11px}.demo-frame .mock-rows{display:flex;flex-direction:column;gap:7px}.demo-frame .mock-row{display:flex!important;align-items:center;gap:9px;background:#fff;border:1px solid #e7dfd0;border-radius:7px;padding:8px}.demo-frame .mock-thumb{width:50px;height:50px;border-radius:6px;flex-shrink:0;background-size:cover;background-position:50%;background-color:#e8cdb4}.demo-frame .mock-row b{font-size:9.5px;font-weight:800;color:#2a2018}.demo-frame .mock-row em{font-size:8px;color:#9a8f80;margin-top:2px}.demo-frame .mock-site{padding-bottom:14px;background:#fffdf8}.demo-frame .mock-banner{height:56px;padding:12px 14px;background:linear-gradient(120deg,#c98b5e,#a9603a);position:relative;overflow:hidden}.demo-frame .mock-banner.patterned{background:url(/patterns/terracotta/clay-amphora.svg) repeat,#a9603a;background-size:46px 46px;text-align:left}.demo-frame .mock-banner.patterned:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(40,26,18,.82),rgba(40,26,18,.66) 42%,rgba(40,26,18,.18))}.demo-frame .mock-banner.patterned>*{position:relative;z-index:1}.demo-frame .mock-banner.slim{height:30px}.demo-frame .mock-sitetitle{font-family:Fraunces,Georgia,serif;font-size:15px;font-weight:800;color:#fff}.demo-frame .mock-sitesub{font-size:8px;color:hsla(0,0%,100%,.82);margin-top:2px}.demo-frame .mock-chips{display:flex;justify-content:center;gap:5px;padding:9px 14px;background:#f6efe4}.demo-frame .mock-chip{padding:4px 10px;border-radius:3px;background:#e9dece;font-size:8px;font-weight:700;color:#6d6152;white-space:nowrap}.demo-frame .mock-chip.on{background:#b3502d;color:#fff}.demo-frame .mock-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:9px;gap:9px;padding:12px 20px}.demo-frame .mock-recipecard{border:1px solid #e7dfd0;border-radius:7px;overflow:hidden;background:#fff}.demo-frame .mock-photo{aspect-ratio:3/2;background-size:cover;background-position:50%;background-color:#e8cdb4}.demo-frame .mock-recipecard b{font-size:8.5px;font-weight:800;color:#2a2018;margin:6px 7px 0}.demo-frame .mock-recipecard u{display:block;text-decoration:none;font-size:7px;line-height:1.5;color:#6d6152;margin:3px 7px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.demo-frame .mock-recipecard em{font-size:7.5px;color:#9a8f80;margin:5px 7px 8px}.demo-frame .mock-recipe{padding-bottom:6px;background:#fffdf8}.demo-frame .mock-recipebody{padding:12px 18px;text-align:center}.demo-frame .mock-eyebrow{font-size:7.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#b08a63;margin-bottom:3px}.demo-frame .mock-recipetitle{font-family:Fraunces,Georgia,serif;font-size:17px;font-weight:800;color:#2a2018}.demo-frame .mock-orn{height:3px;width:60px;margin:7px auto 9px;border-radius:3px;background:#d9ab52}.demo-frame .mock-recipedesc{font-size:8.5px;line-height:1.55;color:#6d6152;max-width:var(--mock-col);margin:0 auto 10px}.demo-frame .mock-recipe{--mock-col:300px}.demo-frame .mock-hero{aspect-ratio:16/9;max-width:var(--mock-col);margin:0 auto 10px;border-radius:7px;background-size:cover;background-position:50%;background-color:#e8cdb4}.demo-frame .mock-twocol{display:grid;grid-template-columns:1fr 1.3fr;grid-gap:13px;gap:13px;text-align:left;max-width:var(--mock-col);margin:0 auto}.demo-frame .mock-subhead{font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#b3502d;margin-bottom:6px}.demo-frame .mock-ing,.demo-frame .mock-step{display:flex!important;align-items:flex-start;gap:5px;margin-bottom:5px;font-size:8px;line-height:1.45;color:#4a4036}.demo-frame .mock-ing i{width:3px;height:3px;border-radius:50%;background:#d9ab52;flex-shrink:0;margin-top:4px}.demo-frame .mock-step i{width:11px;height:11px;border-radius:50%;background:#b3502d;color:#fff;font-size:6.5px;font-weight:800;line-height:11px;text-align:center;flex-shrink:0}.landing-scroll-cue{position:absolute;left:60px;bottom:28px;z-index:3;background:transparent;padding:6px 2px;cursor:pointer;display:flex;align-items:center;gap:9px;font-size:12.5px;font-weight:700;letter-spacing:.04em;color:#d9ab52;text-transform:uppercase}.landing-scroll-cue:hover{color:#f0c470}.landing-scroll-cue svg{animation:cue-drift 1.9s cubic-bezier(.4,0,.6,1) infinite}@keyframes cue-drift{0%,to{transform:translateY(0);opacity:.65}50%{transform:translateY(4px);opacity:1}}@media (prefers-reduced-motion:reduce){.landing-scroll-cue svg{animation:none;opacity:.9}}@media (max-width:900px){.landing{grid-template-columns:1fr}.landing .auth-side{position:static;height:auto;order:-1}.demo-panel{padding:48px 24px}.demo-frame{max-width:none}}.review-callout{display:flex;align-items:center;gap:14px;margin-bottom:18px;border-color:var(--ui-accent);text-decoration:none;color:inherit;transition:box-shadow .15s ease,transform .15s ease}.review-callout:hover{box-shadow:0 6px 20px rgba(0,0,0,.1);transform:translateY(-1px)}.review-callout-mark{flex:0 0 26px;height:26px;border-radius:50%;background:var(--ui-accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:15px}.review-callout-text{display:flex;flex-direction:column;gap:2px;flex:1 1;min-width:0}.review-callout-text b{font-size:15px}.review-callout-text .muted{font-size:12.5px}.review-bar{margin-bottom:18px}.review-bar-left{display:flex;align-items:center;gap:14px;margin-bottom:8px}.review-exit{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:700;color:var(--ui-muted);text-decoration:none}.review-exit:hover{color:var(--ui-accent-dark)}.review-count{font-size:15px;font-weight:800}.review-track{height:5px;border-radius:99px;background:var(--ui-border);overflow:hidden}.review-fill{display:block;height:100%;background:var(--ui-accent);border-radius:99px;transition:width .3s ease}.review-hint{font-size:12px;color:var(--ui-muted);margin-top:7px}.review-done{text-align:center;padding:40px 24px}.review-done-tick{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;margin-bottom:14px;background:#e7f3e7;color:#3f7d3f}.review-done h2{font-size:21px;font-weight:800;margin-bottom:6px}.review-done p{max-width:400px;margin:0 auto;font-size:13.5px;line-height:1.6}.btn.block{display:block;width:100%;text-align:center}.demo-frame .mock-theme{display:flex;height:520px;background:#faf6ee}.demo-frame .mock-themecol{flex:1.05 1;min-width:0;padding:12px;display:flex;flex-direction:column}.demo-frame .mock-themetabs{display:flex;gap:1px;background:#fff;border:1px solid #e7dfd0;border-radius:8px;padding:3px;margin-bottom:10px;overflow:hidden}.demo-frame .mock-themetab{display:flex!important;align-items:center;gap:2px;white-space:nowrap;padding:4px 5px;border-radius:6px;font-size:6px;font-weight:700;color:#8a7d6c;min-width:0;flex-shrink:0}.demo-frame .mock-themetab.on{background:#b3502d;color:#fff}.demo-frame .mock-themebody{flex:1 1;min-height:0;display:flex}.demo-frame .mock-themepicker{flex:1 1;background:#fff;border:1px solid #e7dfd0;border-radius:8px;padding:10px;display:flex;flex-direction:column;overflow:hidden}.demo-frame .mock-themeh{display:flex!important;align-items:center;gap:4px;font-family:Fraunces,Georgia,serif;font-size:10px;font-weight:800;color:#2a2018}.demo-frame .mock-themeh svg{color:#b3502d}.demo-frame .mock-themesub{font-size:7px;color:#9a8f80;margin:2px 0 7px}.demo-frame .mock-nopattern{align-self:flex-start;padding:4px 9px;border-radius:6px;border:1.5px solid #e7dfd0;font-size:7px;font-weight:700;color:#6d6152;margin-bottom:9px}.demo-frame .mock-slantrow{font-size:7px;font-weight:700;color:#4a4036}.demo-frame .mock-slantrow em{color:#9a8f80;font-weight:600}.demo-frame .mock-slider{height:3px;border-radius:2px;background:#e7dfd0;margin:6px 0 10px;position:relative}.demo-frame .mock-slider i{position:absolute;left:38%;top:50%;width:7px;height:7px;border-radius:50%;background:#b3502d;transform:translate(-50%,-50%)}.demo-frame .mock-family{font-size:6.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#b08a63;margin-bottom:5px}.demo-frame .mock-swatches{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:4px;gap:4px;align-content:start;padding:3px;overflow:visible;max-width:300px}.demo-frame .mock-swatch{aspect-ratio:1;border-radius:4px;border:1.25px solid transparent;background-size:22px 22px;background-repeat:repeat;background-color:#efe7db;transition:border-color .45s ease,box-shadow .45s ease,transform .45s cubic-bezier(.2,.8,.3,1)}.demo-frame .mock-swatch.on{border-color:var(--sw-accent,#b3502d);box-shadow:0 0 0 1.25px var(--sw-accent,#b3502d),0 2px 6px rgba(0,0,0,.16);transform:scale(1.09)}.demo-frame .mock-themepreview{flex:.95 1;margin:12px 12px 12px 0;min-width:0;background:var(--live-bg,#fdf7f1);border:1px solid #e7dfd0;border-radius:8px}.demo-frame .mock-previewbanner,.demo-frame .mock-themepreview{display:flex;flex-direction:column;overflow:hidden;transition:background-color .6s ease}.demo-frame .mock-previewbanner{height:34px;padding:0 8px;flex-shrink:0;justify-content:center;position:relative;background-image:var(--live-tile,url(/patterns/terracotta/clay-amphora.svg));background-repeat:repeat;background-size:30px 30px;background-color:var(--live-banner,#a9603a)}.demo-frame .mock-previewbanner:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(40,26,18,.84),rgba(40,26,18,.5) 60%,rgba(40,26,18,.1))}.demo-frame .mock-previewbanner b,.demo-frame .mock-previewbanner em{position:relative;z-index:1}.demo-frame .mock-previewbanner b{font-family:Fraunces,Georgia,serif;font-size:8.5px;color:#fff}.demo-frame .mock-previewbanner em{font-size:5.5px;color:hsla(0,0%,100%,.8);margin-top:1px}.demo-frame .mock-previewnav{display:flex!important;justify-content:center;gap:3px;padding:5px 0;flex-shrink:0;background:color-mix(in srgb,var(--live-banner,#a9603a) 12%,#fff);transition:background-color .6s ease}.demo-frame .mock-previewnav i{display:block;padding:2px 5px;border-radius:3px;font-size:5.5px;font-weight:700;color:#6d6152;background:color-mix(in srgb,var(--live-banner,#a9603a) 20%,#fff);transition:background-color .6s ease,color .6s ease}.demo-frame .mock-previewnav i.on{background:var(--live-accent,#b3502d);color:#fff}.demo-frame .mock-previewheading{font-family:Fraunces,Georgia,serif;font-size:8px;color:var(--live-ink,#2a2018);text-align:center;margin:8px 0 6px;line-height:1.3;transition:color .6s ease}.demo-frame .mock-previewcards{display:grid!important;grid-template-columns:repeat(2,1fr);grid-gap:5px;gap:5px;padding:0 8px;align-content:start}.demo-frame .mock-previewcards i{min-width:0;border-radius:4px;overflow:hidden;background:var(--live-card,#fffdf8);border:1px solid rgba(0,0,0,.08);transition:background-color .6s ease}.demo-frame .mock-previewcards u{display:block;text-decoration:none;aspect-ratio:8/5;background-size:cover;background-position:50%;background-color:#e8cdb4}.demo-frame .mock-previewcards b{font-family:Fraunces,Georgia,serif;font-size:7px;font-weight:800;color:var(--live-ink,#2a2018);margin:4px 5px 0;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .6s ease}.demo-frame .mock-previewcards em{font-size:6px;color:#9a8f80;margin:1px 5px;line-height:1.35}.demo-frame .mock-previewcards em:last-child{margin-bottom:4px}.demo-frame .mock-previewnote{margin-top:auto;padding:6px;text-align:center;font-size:5.5px;color:#9a8f80}.demo-frame .mock-ai{border-radius:8px;padding:10px;margin-bottom:9px;text-align:center;background:linear-gradient(135deg,#5b2fa8,#2f4fd0)}.demo-frame .mock-ai-h{font-family:Fraunces,Georgia,serif;font-size:10px;font-weight:800;color:#fff;display:flex!important;align-items:center;justify-content:center;gap:4px}.demo-frame .mock-ai-sub{font-size:6.5px;color:hsla(0,0%,100%,.78);margin:3px auto 8px;max-width:76%;line-height:1.5}.demo-frame .mock-ai-langs{display:flex!important;align-items:center;justify-content:center;gap:5px;font-size:6.5px;font-weight:700;color:hsla(0,0%,100%,.72);white-space:nowrap}.demo-frame .mock-ai-langs i{display:block;padding:3px 8px;border-radius:5px;font-size:7px;color:#fff;background:hsla(0,0%,100%,.16);border:1px solid hsla(0,0%,100%,.24)}.demo-frame .mock-ai-langs i.lang{animation:demo-lang-in .5s ease}.demo-frame .mock-ai-langs u{text-decoration:none;color:hsla(0,0%,100%,.6)}@keyframes demo-lang-in{0%{transform:translateY(-3px);background:hsla(0,0%,100%,.4)}to{transform:none}}.demo-frame .mock-trbody{display:grid;grid-template-columns:1fr 24px 1fr;grid-gap:6px;gap:6px;align-items:stretch}.demo-frame .mock-trcard,.demo-frame .mock-trout{background:#fff;border:1px solid #e7dfd0;border-radius:8px;padding:8px 9px;min-width:0}.demo-frame .mock-trlabel{display:flex!important;align-items:center;gap:3px;font-size:6px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#b08a63;margin-bottom:6px}.demo-frame .mock-trout .mock-trlabel svg{color:#3f7d3f}.demo-frame .mock-trhand{background:#fdf7ec;border-radius:5px;padding:7px 8px;background-image:linear-gradient(#efe3cf 1px,transparent 0);background-size:100% 15px;background-position:0 14px;transform:rotate(-.5deg)}.demo-frame .mock-trhand b,.demo-frame .mock-trhand em{font-family:Fraunces,Georgia,serif;font-style:italic;color:#4a4036;line-height:15px;height:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.demo-frame .mock-trhand b{font-size:9.5px;font-weight:800;color:#2a2018}.demo-frame .mock-trhand em{font-size:8.5px}.demo-frame .mock-trflow{display:flex!important;align-items:center;justify-content:center;gap:3px}.demo-frame .mock-trflow i{width:4px;height:4px;border-radius:50%;background:#e0d5c2}.demo-frame .mock-trflow.reading i{animation:demo-flow 1.05s ease-in-out infinite}.demo-frame .mock-trflow.reading i:nth-child(2){animation-delay:.13s}.demo-frame .mock-trflow.reading i:nth-child(3){animation-delay:.26s}@keyframes demo-flow{0%,to{background:#e0d5c2;transform:scale(1)}40%{background:#6b46c1;transform:scale(1.35)}}.demo-frame .mock-trtyped b,.demo-frame .mock-trtyped em{line-height:15px;height:15px;color:#4a4036;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transform:translateY(3px);transition:opacity .32s ease,transform .32s ease}.demo-frame .mock-trtyped b{font-family:Fraunces,Georgia,serif;font-size:9.5px;font-weight:800;color:#2a2018}.demo-frame .mock-trtyped em{font-size:8.5px}.demo-frame .mock-trtyped .in{opacity:1;transform:none}.demo-frame .mock-or{text-align:center;font-size:6px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#b0a493;margin-bottom:8px}.demo-frame .mock-cathead{display:flex!important;align-items:center;gap:5px;padding:10px 20px 0;font-family:Fraunces,Georgia,serif;font-size:13px;font-weight:800;color:#2a2018}.demo-frame .mock-cathead svg{color:#b3502d}.demo-frame .mock-meta{display:flex!important;gap:4px;margin:0 auto 11px;max-width:var(--mock-col)}.demo-frame .mock-meta i{flex:1 1;border:1px solid #e7dfd0;border-radius:6px;padding:5px 2px;text-align:center}.demo-frame .mock-meta u{display:block;text-decoration:none;font-family:Fraunces,Georgia,serif;font-size:6.5px;color:#9a8f80}.demo-frame .mock-meta b{font-family:Fraunces,Georgia,serif;font-size:8px;font-weight:800;color:#2a2018;margin-top:1px}.field.needs-check>.text,.field.needs-check>textarea.text{background:#fffaf0;border-color:#e0c48a}.field.needs-check>.text:focus{border-color:var(--ui-accent);background:#fff}.check-tag{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:99px;background:#f3e2bd;color:#7a5a12;font-size:10.5px;font-weight:800;letter-spacing:.01em;text-transform:none}