.snow-field{pointer-events:none;z-index:30;position:fixed;inset:0;overflow:hidden}.snow-flake{background:color-mix(in srgb, var(--ink) 75%, white);opacity:.55;border-radius:50%;animation-name:snowfall;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;top:-8px}@keyframes snowfall{0%{transform:translateY(-4vh)}to{transform:translate(12px,110vh)}}.account-page{gap:.85rem;display:grid}@media (width>=900px){.account-page{text-align:center;justify-items:center}.account-page .back-link{justify-self:start}.account-page .account-switch{justify-content:center}.account-page form,.account-page .account-orders,.account-page>.muted,.account-page>p{width:min(100%,26rem)}.account-page form{text-align:left}.account-page .account-head{text-align:left;width:min(100%,36rem)}.account-page .account-orders{text-align:left}.account-page h2{text-align:left;width:min(100%,36rem)}}.account-page .muted{color:var(--muted)}.account-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.account-switch{gap:.5rem;display:flex}.account-switch button{background:var(--surface);min-height:2.75rem;color:var(--ink);border-radius:999px;padding:.5rem 1rem}.account-switch button.is-on{background:var(--accent);color:var(--accent-ink)}.account-error{color:var(--danger)}.account-orders{gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.account-orders>li{background:var(--surface);border-radius:var(--radius);padding:1rem}.account-orders .row,.account-orders ul li{justify-content:space-between;gap:.75rem;display:flex}.account-orders ul{gap:.35rem;margin:.65rem 0 0;padding:0;list-style:none;display:grid}.cart-empty{background:var(--paper);border-radius:var(--radius);gap:.65rem;max-width:28rem;padding:1.25rem;display:grid}.cart-empty .btn{width:fit-content;margin-top:.4rem;text-decoration:none}.cart-layout{gap:1rem;display:grid}.cart-lines{gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.cart-lines li{background:var(--paper);border-radius:var(--radius);grid-template-columns:5.5rem 1fr;align-items:center;gap:.85rem;padding:.75rem;display:grid}.cart-photo{background:#04140c;border-radius:12px;width:5.5rem;height:5.5rem;display:block;overflow:hidden}.cart-photo img,.cart-photo .ornament-svg{object-fit:cover;object-position:center;width:100%;height:100%}.cart-head{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.cart-body .unit{font-size:var(--step-small);color:var(--muted);margin:.15rem 0 .55rem}.qty{align-items:center;gap:.55rem;display:flex}.qty button{background:var(--bg);min-width:2.6rem;min-height:2.6rem;color:var(--ink);border-radius:999px;font-size:1.15rem}.qty .remove{min-width:auto;font-size:var(--step-small);box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--ink) 55%, transparent);background:0 0;border-radius:999px;margin-left:auto;padding:0 .8rem}.cart-summary{background:var(--paper);border-radius:var(--radius);padding:1.1rem 1.15rem 1.2rem}.cart-summary h2{font-size:var(--step-lead);margin-bottom:.75rem}.cart-summary ul{font-size:var(--step-small);gap:.45rem;margin:0 0 .85rem;padding:0;list-style:none;display:grid}.cart-summary li,.summary-row{justify-content:space-between;gap:1rem;display:flex}.summary-row{font-size:var(--step-lead);padding-top:.75rem}.summary-note{font-size:var(--step-small);margin:.75rem 0 1rem}.checkout-cta{width:100%;text-decoration:none}@media (width>=900px){.cart-layout{grid-template-columns:1.4fr .8fr;align-items:start;gap:1.25rem}.cart-summary{position:sticky;top:5rem}.cart-lines li{grid-template-columns:7rem 1fr}.cart-photo{width:7rem;height:7rem}}.checkout-layout{gap:1rem;display:grid}.checkout-summary{background:var(--paper);border-radius:var(--radius);padding:1rem 1.05rem 1.15rem}.checkout-summary h2{font-size:var(--step-lead);margin-bottom:.75rem}.checkout-summary ul{gap:.65rem;margin:0 0 .8rem;padding:0;list-style:none;display:grid}.checkout-summary li{grid-template-columns:3.25rem 1fr auto;align-items:center;gap:.65rem;display:grid}.checkout-summary img,.checkout-summary .ornament-svg{object-fit:cover;object-position:center;background:#04140c;border-radius:10px;width:3.25rem;height:3.25rem;display:block}.summary-row{font-size:var(--step-lead);justify-content:space-between;gap:1rem;display:flex}@media (width>=900px){.checkout-layout{grid-template-columns:1.1fr .9fr;align-items:start}.checkout-summary{position:sticky;top:5rem}}.catalog-page .lede{max-width:34ch;margin:.4rem 0 1.4rem}.cat-chips{gap:.45rem;margin-bottom:1.25rem;padding-bottom:.4rem;display:flex;overflow-x:auto}.cat-chips button{min-height:2.6rem;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink);background:0 0;border-radius:999px;flex:none;padding:.45rem .95rem}.cat-chips button.is-on{background:var(--accent);color:var(--accent-ink);box-shadow:none}.product-grid{grid-template-columns:minmax(0,1fr);gap:1.75rem;margin:0;padding:0;list-style:none;display:grid}.product-grid a{gap:.65rem;min-width:0;text-decoration:none;display:grid}.product-grid img,.product-grid .ornament-svg{aspect-ratio:auto;object-fit:contain;object-position:center;border-radius:var(--radius);background:#04140c;width:100%;max-width:100%;height:auto;display:block}.product-grid .meta{font-size:var(--step-lead);justify-content:space-between;align-items:baseline;gap:.75rem;font-weight:500;display:flex}.product-grid .meta strong{font-weight:500}.product-grid em{font-style:italic;font-size:var(--step-small);color:var(--muted);margin-top:.15rem;font-weight:400;display:block}@media (width>=800px){.catalog-page .lede{max-width:62ch}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.35rem 1.1rem}.product-grid img,.product-grid .ornament-svg{aspect-ratio:4/5;object-fit:cover}.product-grid .meta{flex-direction:column;align-items:flex-start;gap:.1rem}.product-grid .meta strong{min-width:0}}.site-footer{padding-top:.5rem;padding-bottom:2.4rem}.footer-tag{background:var(--paper);border-radius:var(--radius);color:var(--ink);overflow:hidden}.footer-stripe{background:repeating-linear-gradient(90deg, var(--ink) 0 var(--stripe), var(--bg) var(--stripe) calc(var(--stripe) * 2));height:28px}.footer-body{gap:.7rem;padding:1.35rem 1.25rem 1.45rem;display:grid}.footer-mark{letter-spacing:-.03em;font-size:clamp(1.55rem,4.5vw,2.1rem);font-weight:600;line-height:1.05}.footer-line{max-width:28ch;color:var(--muted)}.footer-links{font-size:var(--step-small);flex-wrap:wrap;gap:.85rem 1.35rem;margin-top:.35rem;font-weight:600;display:flex}.footer-links a{border-bottom:1px solid color-mix(in srgb, var(--ink) 55%, transparent);padding-bottom:.05rem;text-decoration:none}.credits{font-size:var(--step-small);max-width:52ch;color:color-mix(in srgb, var(--muted) 78%, transparent);margin:.95rem 0 0}@media (width>=900px){.footer-stripe{height:36px}.footer-body{grid-template-columns:1.2fr .8fr;align-items:end;gap:1rem 2rem;padding:1.7rem 1.8rem 1.65rem}.footer-mark{grid-column:1}.footer-line{grid-column:1;max-width:34ch}.footer-links{grid-area:1/2/span 2;place-content:end;margin-top:0}}.section.product-page{grid-template-columns:minmax(0,1fr);gap:.85rem;max-width:100%;padding-top:.35rem;display:grid;overflow-x:clip}.product-media,.product-info{min-width:0;max-width:100%}.product-media{border-radius:var(--radius);background:#04140c;overflow:hidden}.product-media img,.product-media .ornament-svg{object-fit:contain;object-position:center;border-radius:var(--radius);width:100%;max-width:100%;height:auto;display:block}.product-info{background:var(--paper);border-radius:var(--radius);padding:1.25rem 1.15rem 1.4rem}.product-info h1{overflow-wrap:anywhere;margin-bottom:.35rem;font-size:clamp(1.65rem,6.5vw,3.4rem)}.product-info p{overflow-wrap:anywhere;word-break:break-word}.product-info .price{font-size:var(--step-lead);margin-bottom:.85rem}.personalize{margin-top:1.15rem}.personalize .btn{width:100%;margin-top:.35rem}.swatches{flex-wrap:wrap;gap:.55rem;display:flex}.swatch{border-radius:50%;width:2.75rem;height:2.75rem;box-shadow:inset 0 0 0 2px #00000040}.swatch.is-on{box-shadow:inset 0 0 0 2px #00000040, 0 0 0 3px var(--bg), 0 0 0 5px var(--ink)}.swatch-name{font-size:var(--step-small);color:var(--muted);margin:.15rem 0 0}.size-pills{gap:.45rem;display:flex}.size-pills button{min-width:3rem;min-height:3rem;box-shadow:inset 0 0 0 2px var(--ink);border-radius:999px}.size-pills button.is-on{background:var(--accent);color:var(--accent-ink);box-shadow:none}@media (width>=900px){.product-page{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start;gap:1.25rem;padding-top:.5rem}.product-page>.back-link{grid-column:1/-1}.product-info{position:sticky;top:5rem}}.admin-page{max-width:52rem}.admin-page .err{color:var(--danger)}.admin-kicker{font-size:var(--step-small);color:var(--muted);margin:0 0 .2rem}.admin-head{justify-content:space-between;align-items:start;gap:1rem;display:flex}.admin-head-actions{flex-wrap:wrap;gap:.5rem;display:flex}.admin-tabs{flex-wrap:wrap;gap:.5rem;margin:1rem 0 1.25rem;display:flex}.admin-tabs button{background:var(--surface);min-height:2.75rem;color:var(--ink);border-radius:999px;padding:.5rem 1rem}.admin-tabs button.is-on{background:var(--accent);color:var(--accent-ink)}.admin-login{background:var(--paper);border-radius:var(--radius);max-width:26rem;margin:1rem auto 0;overflow:hidden}.admin-login-stripe{background:repeating-linear-gradient(90deg, var(--ink) 0 var(--stripe), var(--bg) var(--stripe) calc(var(--stripe) * 2));height:28px}.admin-login-body{gap:.75rem;padding:1.4rem 1.25rem 1.5rem;display:grid}.admin-back{margin-top:.35rem}.admin-stack{gap:1rem;display:grid}.admin-toolbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.admin-card{background:var(--paper);border-radius:var(--radius);padding:1.15rem 1.1rem 1.25rem}.admin-card h2{font-size:var(--step-lead);margin:0}.admin-list{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.admin-list>li{background:var(--surface);border-radius:var(--radius);padding:1rem}.admin-empty{color:var(--muted)}.admin-list .row,.row-actions{justify-content:space-between;align-items:center;gap:1rem;display:flex}.admin-list .items{font-size:var(--step-small);margin:.5rem 0 .75rem;padding-left:1.1rem}.field-grid{gap:.85rem;margin-top:1rem;display:grid}.checks{flex-wrap:wrap;gap:.75rem 1.1rem;margin:1rem 0;display:flex}.check{font-size:var(--step-small);align-items:center;gap:.45rem;display:inline-flex}.editor-actions,.card-actions{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.btn-small{min-height:2.4rem;font-size:var(--step-small);padding:.4rem .9rem}.btn.danger,.danger{color:var(--danger);box-shadow:inset 0 0 0 2px var(--danger)}.upload-btn{min-height:3rem;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:.75rem 1.25rem;font-weight:600;display:inline-flex;position:relative}.upload-btn.btn-small{min-height:2.4rem;font-size:var(--step-small);padding:.4rem .9rem}.upload-btn input{opacity:0;cursor:pointer;position:absolute;inset:0}.editor-photos{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.75rem;margin:1rem 0 .25rem;display:grid}.editor-photos figure{gap:.45rem;margin:0;display:grid}.editor-photos img{aspect-ratio:4/5;object-fit:cover;background:#04140c;border-radius:12px;width:100%}.product-card{grid-template-columns:5.5rem 1fr;align-items:start;gap:.85rem;display:grid}.product-thumb{background:#04140c;border-radius:12px;width:5.5rem;height:5.5rem;padding:0;overflow:hidden}.product-thumb img{object-fit:cover;width:100%;height:100%}.thumb-empty{width:100%;height:100%;color:var(--muted);font-size:var(--step-small);text-align:center;place-items:center;padding:.4rem;display:grid}.product-copy{gap:.35rem;min-width:0;display:grid}.product-copy .row{margin-bottom:0}@media (width>=900px){.admin-page{margin-inline:auto}.field-grid{grid-template-columns:1fr 1fr}.field-span{grid-column:1/-1}.product-card{grid-template-columns:7rem 1fr}.product-thumb{width:7rem;height:7rem}}.admin-product-page .admin-media{gap:.75rem;display:grid}.admin-media-actions{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.media-upload{min-height:2.6rem}.media-hint{color:var(--muted);font-size:var(--step-small);margin:0}.admin-thumbs{flex-wrap:wrap;gap:.45rem;display:flex}.admin-thumbs button{width:3.4rem;height:3.4rem;box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--ink) 35%, transparent);border-radius:10px;padding:0;overflow:hidden}.admin-thumbs button.is-on{box-shadow:inset 0 0 0 2px var(--accent)}.admin-thumbs img{object-fit:cover;border-radius:0;width:100%;height:100%}.admin-info .title-input{letter-spacing:-.02em;min-height:3.4rem;font-size:clamp(1.6rem,5vw,2.4rem);font-weight:500;line-height:1.1}.admin-info .price-input{font-size:var(--step-lead);max-width:10rem;font-weight:600}.admin-info .personalize-opts{margin-top:-.35rem}.admin-info .ok{color:var(--accent);margin:0}.admin-info .editor-actions{margin-top:.35rem}.admin-info .editor-actions .btn{width:auto}:root{--bg:#062014;--surface:#0c3320;--ink:#fff4c2;--muted:#ffe7a1;--accent:#ffe14a;--accent-ink:#10210f;--danger:#c45c4a;--paper:#11462b;--radius:18px;--page-pad:clamp(12px, 3vw, 28px);--stripe:28px;--font:"Literata", Georgia, serif;--step-small:clamp(.8125rem, .79rem + .1vw, .875rem);--step-body:clamp(1.125rem, 1.05rem + .3vw, 1.3125rem);--step-lead:clamp(1.25rem, 1.1rem + .7vw, 1.625rem);--step-head:clamp(2rem, 1.3rem + 3.2vw, 4rem);--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--dur-fast:.16s;--dur-med:.32s}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100dvh;font-family:var(--font);font-size:var(--step-body);letter-spacing:0;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.6}body.lite-motion .lights{display:none!important}img{max-width:100%;height:auto;display:block}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease;background:0 0;border:0;border-radius:999px}button:active{transform:scale(.97)}h1,h2,h3{letter-spacing:-.02em;margin:0;font-weight:500;line-height:1.05}p{margin:0}.app-root{min-height:100dvh}.app-shell{max-width:100%;min-height:100dvh;padding-bottom:calc(1.25rem + env(safe-area-inset-bottom));position:relative;overflow-x:clip}::selection{background:var(--ink);color:var(--accent-ink)}.site-nav{z-index:20;padding:.85rem var(--page-pad);background:var(--bg);justify-content:space-between;align-items:center;gap:1rem;display:flex;position:sticky;top:0}.nav-actions{align-items:center;gap:.15rem;display:flex}.site-nav a.brand{font-size:var(--step-lead);font-weight:600;text-decoration:none}.cart-link{width:2.75rem;height:2.75rem;color:var(--ink);border-radius:999px;place-items:center;text-decoration:none;display:grid;position:relative}.cart-link svg{width:1.55rem;height:1.55rem}.cart-count{background:var(--accent);min-width:1.1rem;height:1.1rem;color:var(--accent-ink);text-align:center;border-radius:999px;padding:0 .25rem;font-size:.7rem;font-weight:600;line-height:1.1rem;position:absolute;top:.15rem;right:.05rem}.reveal{opacity:0;transition:opacity .48s var(--ease-out), transform .48s var(--ease-out);transform:translateY(16px)}.reveal[data-visible]{opacity:1;transform:translateY(0)}.btn{background:var(--accent);min-height:3rem;color:var(--accent-ink);transition:transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) ease;border-radius:999px;justify-content:center;align-items:center;padding:.75rem 1.25rem;font-weight:600;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.btn:hover{background:color-mix(in srgb, var(--accent) 88%, white)}}.btn:active{transform:scale(.97)}.btn:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.btn-ghost{color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink);background:0 0}.field{gap:.35rem;margin-bottom:1rem;display:grid}.field label{font-size:var(--step-small);color:var(--muted)}.field input,.field textarea,.field select{background:var(--bg);border:2px solid color-mix(in srgb, var(--ink) 78%, transparent);border-radius:14px;width:100%;min-height:3rem;padding:.75rem 1rem}.field textarea{resize:vertical;border-radius:16px}.field input::placeholder,.field textarea::placeholder{color:color-mix(in srgb, var(--ink) 62%, transparent)}.back-link{min-height:2.5rem;color:var(--ink);font-size:var(--step-small);align-items:center;gap:.2rem;margin-bottom:.65rem;font-weight:600;text-decoration:none;display:inline-flex}.back-link svg{width:1.35rem;height:1.35rem;transition:transform var(--dur-fast) var(--ease-out)}.back-link:active svg{transform:translate(-4px)}.back-link,.cart-link{transition:transform var(--dur-fast) var(--ease-out)}.back-link:active,.cart-link:active{transform:scale(.97)}.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.section{padding:1.15rem var(--page-pad) 2.5rem}@media (width>=900px){.site-nav{padding-inline:max(28px,50vw - 560px)}.section,.shop-window{width:min(1120px,100% - 56px);margin-inline:auto}}.section-title{font-size:var(--step-head);margin-bottom:.75rem}.muted{color:var(--muted)}.price{font-variant-numeric:tabular-nums;font-weight:600}::view-transition-old(root){animation:.26s var(--ease-out) both page-leave}::view-transition-new(root){animation:.32s var(--ease-out) both page-enter}@keyframes page-leave{to{opacity:0;transform:translateY(-10px)}}@keyframes page-enter{0%{opacity:0;transform:translateY(14px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}.reveal,.product-media,.product-info,.room-crossfade img{opacity:1;transition:none;transform:none}.room-crossfade img:not(.is-on){opacity:0}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
