:root{--ink:#1f2b27;--ink-soft:#3b4944;--muted:#66756f;--paper:#f2f4f1;--paper-2:#e8ece8;--card:#fbfcfa;--line:#d6ddd8;--rouge:#a8325a;--rouge-ink:#8c2448;--leaf:#7fa394;--gold:#c4a468;--stage-top:#34493f;--stage-bot:#182420;--focus:#3f7cc4;--radius-s:6px;--radius-m:12px;--font-ui:"Noto Sans TC", system-ui, -apple-system, "PingFang TC", sans-serif;--font-hand:"LXGW WenKai TC", "Noto Serif TC", serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-ui);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.6}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}a{color:inherit}.studio{grid-template:"top top""stage panel"minmax(0,1fr)/minmax(0,1fr) 420px;height:100dvh;display:grid}.topbar{background:var(--stage-top);color:#eef2ee;grid-area:top;align-items:center;gap:24px;padding:10px 20px;display:flex}.brand{white-space:nowrap;align-items:baseline;gap:10px;text-decoration:none;display:flex}.brand-mark{font-family:var(--font-hand);letter-spacing:.08em;font-size:26px;font-weight:700;line-height:1}.brand-sub{opacity:.75;font-size:13px}.admin-link{opacity:.8;white-space:nowrap;margin-left:auto;font-size:13px;text-decoration:none}.admin-link:hover{opacity:1;text-decoration:underline}.steps{gap:4px;margin:0 auto;padding:0;list-style:none;display:flex}.step{color:#c9d4ce;background:0 0;border:0;border-radius:999px;align-items:center;gap:8px;padding:6px 12px 6px 6px;display:flex}.step:disabled{opacity:.4}.step:not(:disabled):hover{background:#ffffff12}.step-num{border:1px solid;border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;display:grid}.step.is-done .step-num{background:var(--leaf);border-color:var(--leaf);color:var(--stage-bot)}.step.is-current{color:var(--ink);background:#f2f4f1}.step.is-current .step-num{background:var(--rouge);border-color:var(--rouge);color:#fff}.step-label{font-size:14px}.stage{background:radial-gradient(ellipse 70% 55% at 50% 42%, #ffffff17, transparent 70%), linear-gradient(180deg, var(--stage-top), var(--stage-bot));touch-action:none;grid-area:stage;min-height:0;position:relative;overflow:hidden}.stage canvas{display:block}.stage-empty{text-align:center;color:#c9d4ce;place-content:center;padding:24px;display:grid;position:absolute;inset:0}.stage-empty-title{font-family:var(--font-hand);color:#f3f5f2;margin:0 0 4px;font-size:30px}.stage-empty p{max-width:28em;margin:0}.stage-tools{gap:8px;display:flex;position:absolute;top:14px;right:14px}.chip{color:#eef2ee;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#141e1a73;border:1px solid #ffffff40;border-radius:999px;padding:4px 14px;font-size:13px}.chip:disabled{opacity:.35}.chip[aria-pressed=true]{border-color:var(--gold);color:#f6e7c4}.stage-hint{color:#eef2ee8c;pointer-events:none;margin:0;font-size:12px;position:absolute;bottom:12px;right:16px}.meaning{width:min(340px,100% - 32px);color:var(--ink);border-top:3px solid var(--gold);background:#f8f6f0;border-radius:4px;position:absolute;bottom:16px;left:16px;box-shadow:0 10px 30px #00000059}.meaning-toggle{text-align:left;width:100%;font-family:var(--font-hand);background:0 0;border:0;padding:10px 14px 4px;font-size:17px;font-weight:700;display:block}.meaning.is-closed .meaning-toggle{padding-bottom:10px}.meaning-body{font-family:var(--font-hand);padding:0 14px 12px;font-size:14px;line-height:1.65}.meaning-more{color:var(--muted);margin:4px 0 0;font-size:12px}.meaning-toggle:after{content:"收合";float:right;font-family:var(--font-ui);color:var(--muted);margin-top:3px;font-size:12px;font-weight:400}.meaning.is-closed .meaning-toggle:after{content:"展開"}.meaning-story{color:var(--ink-soft);margin:0 0 6px}.meaning ul{margin:0;padding:0;list-style:none}.meaning li{text-indent:-1em;padding-left:1em}.meaning li:before{content:"✿ ";color:var(--rouge)}.panel{background:var(--paper);border-left:1px solid var(--line);flex-direction:column;grid-area:panel;min-height:0;display:flex}.panel-body{flex:1;padding:24px 24px 32px;overflow-y:auto}.panel-title{font-family:var(--font-hand);margin:0 0 6px;font-size:28px;font-weight:700;line-height:1.25}.panel-lead{color:var(--muted);margin:0 0 20px;font-size:14px}.panel-foot{border-top:1px solid var(--line);background:var(--card);justify-content:space-between;align-items:center;gap:12px;padding:14px 24px;display:flex}.price{flex-direction:column;line-height:1.2;display:flex}.price-label{color:var(--muted);font-size:12px}.price-value{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.nav{gap:8px;display:flex}.btn{border-radius:var(--radius-s);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-weight:500;text-decoration:none;display:inline-flex}.btn.primary{background:var(--rouge);color:#fff}.btn.primary:hover:not(:disabled){background:var(--rouge-ink)}.btn.primary:disabled{background:#c9b6bd}.btn.ghost{border-color:var(--line);color:var(--ink);background:0 0}.btn.ghost:hover:not(:disabled){border-color:var(--ink-soft)}.btn.wide{width:100%}.btn.danger,.link.danger{color:#a33a2a}.link{color:var(--rouge-ink);text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.link:disabled{color:var(--muted);text-decoration:none}.muted{color:var(--muted)}.small{font-size:12px}.cat-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.cat-card{text-align:left;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--card);flex-direction:column;align-items:flex-start;padding:10px 10px 12px;display:flex}.cat-card:hover{border-color:var(--ink-soft)}.cat-card.is-selected{border-color:var(--rouge);box-shadow:inset 0 0 0 1px var(--rouge)}.cat-cover{aspect-ratio:4/3;border-radius:var(--radius-s);background:var(--paper-2);width:100%;color:var(--leaf);place-items:center;margin-bottom:8px;display:grid;overflow:hidden}.cat-cover img{object-fit:cover;width:100%;height:100%}.cat-name{font-family:var(--font-hand);font-size:20px;font-weight:700}.cat-tag{color:var(--ink-soft);font-size:13px}.cat-meta{color:var(--muted);margin-top:4px;font-size:12px}.tpl-list{flex-direction:column;gap:10px;display:flex}.tpl-card{text-align:left;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--card);flex-direction:column;gap:4px;padding:14px 16px;display:flex}.tpl-card:hover{border-color:var(--ink-soft)}.tpl-card.is-selected{border-color:var(--rouge);box-shadow:inset 0 0 0 1px var(--rouge)}.tpl-card.blank{background:0 0;border-style:dashed}.tpl-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.tpl-name{font-family:var(--font-hand);font-size:22px;font-weight:700}.tpl-price{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.tpl-story{color:var(--ink-soft);font-size:14px}.swatches{gap:4px;margin-top:4px;display:flex}.swatches i{border-radius:50%;width:14px;height:14px;box-shadow:inset 0 0 0 1px #0000001f}.opt-group{border:0;margin:0 0 22px;padding:0}.opt-group legend{margin-bottom:8px;font-weight:700}.opt-row{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--card);cursor:pointer;align-items:center;gap:12px;margin-bottom:8px;padding:12px 14px;display:flex}.opt-row.is-selected{border-color:var(--rouge);box-shadow:inset 0 0 0 1px var(--rouge)}.opt-row input{accent-color:var(--rouge)}.opt-main{flex-direction:column;flex:1;display:flex}.opt-name{font-weight:500}.opt-desc{color:var(--muted);font-size:13px}.opt-price{font-variant-numeric:tabular-nums;font-size:14px}.swatch-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.swatch-opt{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--card);cursor:pointer;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;font-size:13px;display:flex;position:relative}.swatch-opt input{opacity:0;pointer-events:none;position:absolute}.swatch-opt:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.swatch-opt i{border-radius:50%;width:34px;height:34px;box-shadow:inset 0 0 0 1px #0000001f}.swatch-opt small{color:var(--muted);font-size:11px;position:absolute;top:4px;right:6px}.swatch-opt.is-selected{border-color:var(--rouge);box-shadow:inset 0 0 0 1px var(--rouge)}.slot-groups{flex-direction:column;gap:14px;margin-bottom:18px;display:flex}.slot-role{align-items:center;gap:8px;margin:0 0 6px;font-size:14px;display:flex}.slot-role:before{content:"";border-radius:50%;width:10px;height:10px}.role-focal:before{background:#f2b8c6}.role-filler:before{background:#e8e1d2;box-shadow:inset 0 0 0 1px #c5bcaa}.role-foliage:before{background:#a9c8a4}.role-accent:before{background:#e6cf95}.slot-role small{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:400}.slot-chips{flex-wrap:wrap;gap:6px;display:flex}.slot-chip{color:var(--muted);background:0 0;border:1px dashed #b9c3bd;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.slot-chip.is-filled{border-style:solid;border-color:var(--line);background:var(--card);color:var(--ink)}.slot-chip i{border-radius:50%;width:10px;height:10px;box-shadow:inset 0 0 0 1px #00000026}.slot-chip.is-selected{border-color:var(--rouge);color:var(--rouge-ink);box-shadow:inset 0 0 0 1px var(--rouge)}.slot-chip:disabled{opacity:.85}.lock{background:var(--gold);color:#fff;border-radius:4px;padding:0 6px;font-size:11px}.picker{border-top:1px solid var(--line);padding-top:16px}.picker-head{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.picker-head h2{font-family:var(--font-hand);margin:0;font-size:20px}.item-list{flex-direction:column;gap:6px;margin:0 0 12px;padding:0;list-style:none;display:flex}.item-row{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--card);grid-template-columns:1fr auto;align-items:center;gap:6px 10px;padding:10px 12px;display:grid}.item-row.is-selected{border-color:var(--rouge)}.item-info{flex-direction:column;display:flex}.item-name{font-weight:500}.item-meaning{color:var(--muted);font-size:13px;font-family:var(--font-hand)}.item-price{color:var(--muted);font-variant-numeric:tabular-nums;align-self:start;font-size:13px}.item-colors{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}.dot{border:0;border-radius:50%;width:30px;height:30px;transition:transform .12s;box-shadow:inset 0 0 0 1px #00000026}.dot:hover{transform:scale(1.1)}.dot.is-on{box-shadow:0 0 0 2px var(--card), 0 0 0 4px var(--rouge)}.bom{border-collapse:collapse;width:100%;margin-bottom:22px;font-size:14px}.bom caption{text-align:left;padding-bottom:6px;font-weight:700}.bom th,.bom td{border-bottom:1px solid var(--line);text-align:right;font-variant-numeric:tabular-nums;padding:7px 4px}.bom th{text-align:left;font-weight:400}.bom tfoot th,.bom tfoot td{border-bottom:0;font-weight:700}.bom-dot{vertical-align:0;border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block;box-shadow:inset 0 0 0 1px #00000026}.order-form{flex-direction:column;gap:12px;display:flex}.order-form label{flex-direction:column;gap:4px;font-size:14px;display:flex}.order-form label small{color:var(--muted);font-size:12px}.order-form input,.order-form textarea,.shop-tools input,.admin input:not([type=checkbox]):not([type=color]),.admin select,.admin textarea{border:1px solid var(--line);border-radius:var(--radius-s);background:#fff;width:100%;padding:7px 10px}.order-form textarea{resize:vertical;font-family:var(--font-hand);font-size:16px}.shop-tools{border-top:1px solid var(--line);margin-top:24px;padding-top:12px;font-size:14px}.shop-tools summary{cursor:pointer;color:var(--muted)}.shop-tools-body{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.shop-tools-body input{flex:1;min-width:160px}.placed{background:linear-gradient(180deg, var(--stage-top), var(--stage-bot));color:#eef2ee;place-items:center;min-height:100%;padding:32px 16px;display:grid}.placed-inner{text-align:center;max-width:760px}.placed-kicker{opacity:.7;font-variant-numeric:tabular-nums;margin:0}.placed h1{font-family:var(--font-hand);word-break:keep-all;margin:4px 0 8px;font-size:clamp(28px,7vw,40px);line-height:1.3}.placed-shots{grid-template-columns:repeat(4,1fr);gap:8px;margin:24px 0;display:grid}.placed-shots img{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-s);background:var(--stage-bot);width:100%}.placed-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.placed .btn.ghost{color:#eef2ee;border-color:#ffffff59}.admin{background:var(--paper);min-height:100%}.admin-top{background:var(--stage-top);color:#eef2ee;flex-wrap:wrap;align-items:center;gap:24px;padding:10px 20px;display:flex}.admin-tabs{flex-wrap:wrap;gap:2px;display:flex}.admin-tabs a{color:#c9d4ce;border-radius:999px;padding:6px 12px;font-size:14px;text-decoration:none}.admin-tabs a:hover{background:#ffffff12}.admin-tabs a.is-current{background:var(--paper);color:var(--ink)}.admin-main{max-width:1200px;margin:0 auto;padding:28px 20px 60px}.admin-head h1{font-family:var(--font-hand);margin:0;font-size:30px}.admin-head p{color:var(--muted);max-width:46em;margin:4px 0 18px}.admin-block h2{font-family:var(--font-hand);margin:22px 0 8px;font-size:22px}.admin-table{border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-m);width:100%;font-size:14px}.admin-table th,.admin-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:8px 10px}.admin-table thead th{color:var(--muted);background:var(--paper-2);font-size:13px;font-weight:500}.admin-table tr.is-off td,.admin-table tr.is-off th{opacity:.5}.admin-table tr.expand td{background:var(--paper)}.admin-table.matrix td{text-align:center}.admin-table.matrix input{width:18px;height:18px;accent-color:var(--rouge)}.admin .w-s{max-width:9em}.admin .w-n{max-width:6em}.checks{gap:10px;font-size:13px;display:flex}.checks.wrap{flex-wrap:wrap;align-items:center;margin-top:8px}.checks label{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.checks input,.toggle input{accent-color:var(--rouge)}.toggle,.num{white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.num input{width:6em!important}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.add-row{gap:8px;max-width:640px;margin-bottom:16px;display:flex}.add-row select{width:auto!important}.swatch-btn{border:1px solid var(--line);background:0 0;border-radius:999px;align-items:center;gap:3px;padding:3px 10px 3px 4px;font-size:12px;display:inline-flex}.swatch-btn i{border-radius:50%;width:14px;height:14px;box-shadow:inset 0 0 0 1px #0000001f}.swatch-btn span{color:var(--muted);margin-left:4px}.color-editor{flex-direction:column;gap:6px;padding:6px 0;display:flex}.color-row{align-items:center;gap:8px;display:flex}.color-row.is-off{opacity:.55}.color-row input[type=color]{border:1px solid var(--line);border-radius:var(--radius-s);background:0 0;flex:none;width:34px;height:30px;padding:0}.base-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-m);margin-bottom:10px;padding:12px 14px}.base-card.is-off{opacity:.6}.base-card-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;display:flex}.base-card-row>input:not(.w-s){flex:1;min-width:200px}.base-card textarea{font-family:var(--font-hand);font-size:15px}.empty{text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius-m);padding:40px}.data-actions{flex-wrap:wrap;gap:10px;display:flex}.sheet h1{font-family:var(--font-hand);margin:12px 0;font-size:30px}.sheet h2{margin:24px 0 8px;font-size:16px}.sheet-actions{align-items:center;gap:12px;display:flex}.sheet-actions select{width:auto!important}.sheet-meta{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 20px;margin:0;display:grid}.sheet-meta dt{color:var(--muted);font-size:12px}.sheet-meta dd{margin:0;font-weight:500}.sheet-shots{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px;display:grid}.sheet-shots figure{margin:0}.sheet-shots img{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-s);background:var(--stage-bot);width:100%}.sheet-shots figcaption{color:var(--muted);text-align:center;font-size:12px}.sheet-card{font-family:var(--font-hand);white-space:pre-wrap;border-left:3px solid var(--gold);background:#f8f6f0;padding:12px 16px;font-size:18px}@media print{.no-print,.admin-top{display:none!important}.admin,body{background:#fff}}@media (width<=900px){.studio{grid-template:"top""stage"46vh"panel"minmax(0,1fr)/1fr}.topbar{flex-wrap:wrap;gap:8px 16px;padding:8px 16px}.steps{order:3;justify-content:space-between;width:100%;margin:0}.step{flex-direction:column;gap:2px;padding:4px}.step-label{font-size:11px}.panel{border-left:0;border-top:1px solid var(--line)}.panel-body{padding:18px 16px 24px}.panel-foot{padding:10px 16px}.panel-title{font-size:24px}.meaning{width:min(300px,100% - 20px);bottom:10px;left:10px}.meaning-body{font-size:13px}.stage-hint{display:none}.admin-table{display:block;overflow-x:auto}.placed-shots,.sheet-shots{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.site{background:var(--paper);flex-direction:column;min-height:100%;display:flex}.site main{flex:1}.wrap{width:min(1180px,100% - 40px);margin-inline:auto}.center{text-align:center;margin-top:28px}.btn.lg{border-radius:999px;padding:13px 26px;font-size:16px}.btn.ghost-light{color:#eef2ee;background:0 0;border-color:#fff6}.btn.ghost-light:hover{border-color:#fff}.site-header{z-index:30;background:color-mix(in srgb, var(--stage-top) 94%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#eef2ee;align-items:center;gap:24px;padding:12px max(20px,50% - 590px);display:flex;position:sticky;top:0}.site-nav a{color:#d3ddd8;border-radius:999px;padding:6px 12px;font-size:14px;text-decoration:none}.site-nav a:hover{color:#fff;background:#ffffff12}.site-nav a[aria-current=page]{color:#fff;box-shadow:inset 0 -2px 0 var(--gold);border-radius:0}.site-nav .nav-cta{background:var(--rouge);color:#fff;margin-left:8px;padding:7px 18px}.nav-toggle{color:inherit;background:0 0;border:1px solid #ffffff59;border-radius:999px;margin-left:auto;padding:4px 14px;font-size:13px;display:none}.site-footer{background:var(--stage-bot);color:#c9d4ce;margin-top:80px;padding:48px 0 56px}.footer-inner{flex-wrap:wrap;justify-content:space-between;gap:40px;width:min(1180px,100% - 40px);margin:0 auto;display:flex}.footer-inner .brand-mark{color:#f3f5f2;margin:0 0 8px}.footer-cols{flex-wrap:wrap;gap:56px;display:flex}.footer-cols h3{color:var(--gold);margin:0 0 10px;font-size:13px;font-weight:500}.footer-cols a,.footer-cols p{color:#c9d4ce;margin:0 0 6px;font-size:14px;text-decoration:none;display:block}.page-head{padding:56px 0 28px}.page-head h1{font-family:var(--font-hand);margin:0 0 10px;font-size:clamp(34px,5vw,52px);line-height:1.15}.page-head p{color:var(--muted);max-width:40em;margin:0;font-size:16px}.section{padding:64px 0 0}.section-head{max-width:46em;margin-bottom:24px}.section-head.row{justify-content:space-between;align-items:end;gap:20px;max-width:none;display:flex}.section-head h2{font-family:var(--font-hand);margin:0 0 6px;font-size:clamp(28px,3.6vw,38px);line-height:1.2}.section-head p{color:var(--muted);margin:0}.chips{flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 18px;display:flex}.chip-btn{border:1px solid var(--line);background:var(--card);color:var(--ink-soft);border-radius:999px;padding:5px 14px;font-size:14px}.chip-btn:hover{border-color:var(--ink-soft)}.chip-btn[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.filters{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.filter-label{color:var(--muted);min-width:2.5em;margin-right:6px;font-size:13px}.coin{color:#5e4320;font-family:var(--font-hand);text-shadow:0 1px #fff0c8b3;background:radial-gradient(circle at 36% 30%,#f8e7b4,#d4ad5f 55%,#9c7634);border-radius:50%;flex:none;place-items:center;font-weight:700;line-height:1;display:inline-grid;box-shadow:inset 0 0 0 2px #6e501e59,inset 0 0 0 5px #fff0c840,0 2px 6px #3c280a40}.thumb{aspect-ratio:1;border-radius:var(--radius-m);background:linear-gradient(180deg, var(--stage-top), var(--stage-bot));display:block;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;transition:transform .6s;display:block}.thumb-wait{background:radial-gradient(circle at 50% 45%,#ffffff14,#0000 60%);width:100%;height:100%;animation:1.6s ease-in-out infinite breathe;display:block}@keyframes breathe{50%{opacity:.5}}.hero{background:radial-gradient(ellipse 60% 70% at 72% 50%, #ffffff14, transparent 70%), linear-gradient(180deg, var(--stage-top), var(--stage-bot));color:#eef2ee;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;min-height:min(88vh,820px);padding:0 max(20px,50% - 590px);display:grid;overflow:hidden}.hero-copy{z-index:1;padding:48px 0;position:relative}.hero-title{font-family:var(--font-hand);letter-spacing:.02em;margin:0 0 22px;font-size:clamp(44px,6.4vw,84px);font-weight:700;line-height:1.12}.hero-lead{color:#c9d4ce;max-width:30em;margin:0 0 30px;font-size:17px;line-height:1.8}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.hero-stage{height:min(80vh,760px);position:relative}.hero-caption{border-left:2px solid var(--gold);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);max-width:300px;font-family:var(--font-hand);color:#dfe6e2;background:#141e1a80;flex-direction:column;gap:2px;padding:12px 16px;font-size:14px;text-decoration:none;display:flex;position:absolute;bottom:28px;right:0}.hero-caption-name{color:#f6e7c4;font-size:18px}.band.today{background:var(--paper-2);border-bottom:1px solid var(--line);padding:18px 0}.today-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.today-card{align-items:center;gap:16px;padding:8px 4px;text-decoration:none;display:flex}.today-card>span:last-child{flex-direction:column;display:flex}.today-label{font-weight:700}.today-text{font-family:var(--font-hand);color:var(--ink-soft)}.today-card:hover .today-label{color:var(--rouge-ink)}.series-trio{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.series-card{background:var(--card);border:1px solid var(--line);border-radius:18px;flex-direction:column;gap:6px;padding:24px;text-decoration:none;transition:border-color .2s,transform .2s;display:flex}.series-card:hover{border-color:var(--gold);transform:translateY(-2px)}.series-coins{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.series-name{font-family:var(--font-hand);font-size:26px;font-weight:700}.series-desc{color:var(--muted);font-size:14px}.series-count{color:var(--rouge-ink);margin-top:auto;padding-top:8px;font-size:13px}.work-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px;display:grid}.work-card{text-align:left;background:0 0;border:0;flex-direction:column;gap:4px;padding:0;text-decoration:none;display:flex}.work-card:hover .thumb img{transform:scale(1.04)}.work-meta{color:var(--muted);justify-content:space-between;margin-top:8px;font-size:13px;display:flex}.work-name{font-family:var(--font-hand);font-size:24px;font-weight:700;line-height:1.2}.work-story{color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;display:-webkit-box;overflow:hidden}.empty-state{text-align:center;color:var(--muted);padding:48px}.teaser-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.teaser{flex-direction:column;gap:4px;text-decoration:none;display:flex}.teaser-name{font-family:var(--font-hand);margin-top:10px;font-size:22px;font-weight:700}.teaser-text{color:var(--muted);font-size:14px}.site-image{aspect-ratio:4/3;background:var(--paper-2);color:var(--leaf);border-radius:18px;place-items:center;display:grid;position:relative;overflow:hidden}.site-image img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .5s;position:absolute;inset:0}.site-image img[data-state=ok]{opacity:1}.site-image svg{width:55%}.how{counter-reset:how;grid-template-columns:repeat(4,1fr);gap:20px;margin:0;padding:0;list-style:none;display:grid}.how li{counter-increment:how;border-top:1px solid var(--ink);padding-top:16px}.how li:before{content:counter(how);font-family:var(--font-hand);color:var(--rouge);margin-bottom:8px;font-size:30px;line-height:1;display:block}.how h3{margin:0 0 4px;font-size:18px}.how p{color:var(--muted);margin:0;font-size:14px}.detail{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:40px;padding-top:32px;display:grid}.detail-stage{background:radial-gradient(ellipse 70% 55% at 50% 42%, #ffffff17, transparent 70%), linear-gradient(180deg, var(--stage-top), var(--stage-bot));border-radius:24px;height:min(78vh,720px);position:sticky;top:80px;overflow:hidden}.stage-tabs{flex-wrap:wrap;gap:6px;display:flex;position:absolute;top:14px;left:14px;right:14px}.stage-tabs .chip[aria-pressed=true]{color:var(--ink);background:#f2f4f1;border-color:#f2f4f1}.detail-info{padding:12px 0 40px}.detail-cat{color:var(--muted);margin:0 0 6px;font-size:14px}.detail-name{font-family:var(--font-hand);margin:0 0 12px;font-size:clamp(36px,4.4vw,54px);line-height:1.1}.detail-story{font-family:var(--font-hand);color:var(--ink-soft);margin:0 0 16px;font-size:19px;line-height:1.8}.detail-price{font-variant-numeric:tabular-nums;margin:18px 0 14px;font-size:26px;font-weight:700}.detail-price small{color:var(--muted);margin-left:6px;font-size:14px;font-weight:400}.detail-actions{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:28px;display:flex}.detail-info h2{margin:26px 0 8px;font-size:15px}.occasion-tags{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.occasion-tags li{background:var(--paper-2);color:var(--ink-soft);border-radius:999px;padding:2px 10px;font-size:13px}.meaning-list{font-family:var(--font-hand);margin:0;padding-left:1.2em;font-size:16px;line-height:1.8}.entry-title{align-items:center;gap:18px;display:flex}.entry-title .detail-name{margin:0}.lucky{align-items:center;gap:8px;display:flex}.lucky i{border-radius:50%;width:22px;height:22px;box-shadow:inset 0 0 0 1px #0000001f}.entry-nav{justify-content:space-between;margin-top:28px;display:flex}.sub-tabs{flex-wrap:wrap;gap:4px;margin-top:18px;display:flex}.sub-tabs a,.sub-tabs button{border:1px solid var(--line);background:var(--card);color:var(--ink-soft);border-radius:999px;padding:6px 14px;font-size:14px;text-decoration:none}.sub-tabs a[aria-current=page],.sub-tabs button[aria-selected=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.entry-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px;display:grid}.entry-card{flex-direction:column;gap:8px;text-decoration:none;display:flex}.entry-card:hover .thumb img{transform:scale(1.04)}.entry-head{align-items:center;gap:10px;display:flex}.entry-head>span:last-child{flex-direction:column;line-height:1.3;display:flex}.entry-name{font-family:var(--font-hand);font-size:22px;font-weight:700}.entry-note{color:var(--muted);font-size:12px}.entry-meaning{font-family:var(--font-hand);color:var(--ink-soft);font-size:15px}.feature{grid-template-columns:1fr 1fr;align-items:center;gap:48px;padding:32px 0;display:grid}.feature.reverse>:first-child{order:2}.feature h2{font-family:var(--font-hand);flex-wrap:wrap;align-items:baseline;gap:12px;margin:0 0 10px;font-size:34px;display:flex}.feature h2 small,.feature h3 small{font-family:var(--font-ui);color:var(--rouge-ink);font-size:15px;font-weight:500}.feature h3{align-items:baseline;gap:10px;margin:0 0 4px;display:flex}.feature-item{margin-bottom:16px}.feature p{color:var(--ink-soft)}.steps-list{padding-left:1.3em;line-height:1.9}.melody-box{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-top:18px;padding:18px}.melody-box h3{font-family:var(--font-hand);font-size:20px}.melody-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.melody-row input{border:1px solid var(--line);border-radius:var(--radius-s);background:#fff;flex:1;min-width:160px;padding:9px 12px}.svc-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.svc-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px}.svc-card h3{font-family:var(--font-hand);margin:0 0 4px;font-size:21px}.svc-card p{color:var(--ink-soft);margin:0;font-size:14px}.svc-card .svc-price{color:var(--ink);margin-top:10px;font-weight:700}.dict{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.dict-item{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 20px}.dict-item h2{font-family:var(--font-hand);justify-content:space-between;align-items:baseline;margin:0;font-size:26px;display:flex}.dict-item h2 small{font-family:var(--font-ui);color:var(--muted);font-size:12px;font-weight:400}.dict-meaning{font-family:var(--font-hand);color:var(--rouge-ink);margin:2px 0 10px;font-size:17px}.dict-item ul{flex-direction:column;gap:4px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.dict-item li{align-items:center;gap:8px;display:flex}.dict-item li i{border-radius:50%;width:14px;height:14px;box-shadow:inset 0 0 0 1px #0000001f}.count-list{columns:3 220px;font-family:var(--font-hand);padding-left:1.2em;font-size:18px;line-height:2}.faq details{border-bottom:1px solid var(--line);padding:14px 0}.faq summary{cursor:pointer;font-size:16px;font-weight:500}.faq p{color:var(--ink-soft);max-width:46em;margin:8px 0 0}.field{flex-direction:column;flex:1;gap:4px;min-width:0;font-size:14px;display:flex}.field input,.field textarea,.addon input,.addon textarea,.addon-body input{border:1px solid var(--line);border-radius:var(--radius-s);background:#fff;width:100%;padding:8px 10px}.field small{color:var(--muted);font-size:12px}.field-row{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.field-row>*{flex:140px}.opt-group legend small{color:var(--muted);margin-left:6px;font-size:12px;font-weight:400}.hand-line{font-family:var(--font-hand);color:var(--rouge-ink);margin:4px 0 0;font-size:17px}.small-tabs{margin:0 0 10px}.small-tabs button{padding:4px 12px;font-size:13px}.coin-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;display:grid}.coin-btn{color:var(--ink-soft);background:0 0;border:1px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:8px 2px;font-size:12px;display:flex}.coin-btn:hover{background:var(--card)}.coin-btn.is-selected{border-color:var(--gold);color:var(--ink);background:#fbf6ea}.entry-pick{border-left:2px solid var(--gold);background:#fbf8f0;margin-top:10px;padding:12px 14px}.entry-pick p{margin:0 0 4px}.stage-empty{justify-items:center;gap:12px}.tpl-card{flex-direction:row;align-items:stretch;gap:14px}.tpl-card .thumb{border-radius:10px;flex:none;width:92px}.tpl-text{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.tpl-card.series{border-color:var(--gold);background:#fbf8f0}.tpl-card.series.is-selected{box-shadow:inset 0 0 0 1px var(--gold)}.fit-tag{color:var(--rouge-ink);background:#f6e3ea;border-radius:999px;align-self:flex-start;padding:1px 8px;font-size:11px}.addon{border-top:1px solid var(--line);padding:16px 0}.addon:first-of-type{border-top:0;padding-top:0}.addon.featured{background:#fbf8f0;border:1px solid #eadfc4;border-radius:14px;margin:6px -12px;padding:16px 12px}.addon-title{margin:0 0 8px;font-size:15px}.addon-toggle{cursor:pointer;align-items:center;gap:10px;padding:4px 0;display:flex}.addon-toggle input{width:18px;height:18px;accent-color:var(--rouge)}.addon-name{flex:1;font-weight:700}.addon-price{color:var(--rouge-ink);font-variant-numeric:tabular-nums;font-size:13px}.addon-desc{color:var(--muted);margin:2px 0 8px 28px;font-size:13px}.addon-body{flex-direction:column;gap:10px;margin:8px 0 0 28px;display:flex}.hand-input{font-family:var(--font-hand);resize:vertical;line-height:1.7;background:#fffdf8!important;font-size:17px!important}.seg{border:1px solid var(--line);background:var(--card);border-radius:999px;gap:0;margin:6px 0 0 28px;padding:2px;display:inline-flex}.addon-body .seg{margin-left:0}.seg.wrap{border-radius:14px;flex-wrap:wrap}.seg button{color:var(--ink-soft);background:0 0;border:0;border-radius:999px;padding:4px 12px;font-size:13px}.seg button[aria-checked=true]{background:var(--ink);color:#fff}.check{align-items:center;gap:8px;font-size:14px;display:flex}.check input{accent-color:var(--rouge)}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px;display:grid}.photo{aspect-ratio:1;background:var(--paper-2);border-radius:8px;position:relative;overflow:hidden}.photo img{object-fit:cover;width:100%;height:100%}.photo.add{color:var(--muted);background:#fffdf8;border:1px dashed #c9bfa4;font-size:12px}.photo-x{color:#fff;background:#0000008c;border:0;border-radius:50%;width:22px;height:22px;line-height:1;position:absolute;top:3px;right:3px}.song-box{border-top:1px dashed #e2d6b8;padding-top:10px}.song-box h3{font-family:var(--font-hand);margin:0 0 4px;font-size:18px}.cert{text-align:center;background:#fffdf8;border:1px solid #e6dcc3;border-radius:4px;margin-bottom:18px;padding:22px 18px 18px;position:relative;box-shadow:0 0 0 4px #fffdf8,0 0 0 5px #e6dcc3}.cert-to{font-family:var(--font-hand);margin:0;font-size:26px}.cert-line{font-family:var(--font-hand);color:var(--ink-soft);margin:6px 0;font-size:16px}.cert-meta{color:var(--muted);margin:0;font-size:12px}.bom .svc-line th small{color:var(--muted);font-size:12px;display:block}.meaning-sign{text-align:right;color:var(--ink-soft);margin:6px 0 0}.seal-overlay{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#121c18d1;place-items:center;animation:.4s fade-in;display:grid;position:fixed;inset:0}.seal-card{text-align:center;background:#fffdf8;border-radius:4px;width:min(360px,86vw);padding:36px 24px 28px;animation:.6s cubic-bezier(.2,.8,.2,1) rise;box-shadow:0 30px 80px #00000073}.seal-to{font-family:var(--font-hand);margin:0 0 18px;font-size:30px}.seal-text{color:var(--muted);margin:18px 0 0;font-size:14px}.seal-stamp,.wax-seal{color:#f6d9e2;width:92px;height:92px;font-family:var(--font-hand);clip-path:polygon(50% 0,62% 4%,74% 2%,82% 12%,94% 18%,96% 30%,100% 42%,97% 55%,100% 67%,92% 78%,86% 90%,72% 94%,60% 100%,48% 96%,36% 100%,24% 93%,12% 88%,6% 76%,0 64%,3% 50%,0 37%,7% 25%,15% 12%,28% 6%,38% 1%);background:radial-gradient(circle at 38% 32%,#d0577a,#a8325a 55%,#7a1f3e);border-radius:50%;place-items:center;font-size:40px;font-weight:700;display:inline-grid;box-shadow:inset 0 0 0 6px #ffffff14,inset 0 -6px 12px #00000040,0 6px 16px #5a142d73}.seal-stamp{animation:.9s cubic-bezier(.3,1.6,.5,1) .5s both stamp}@keyframes stamp{0%{opacity:0;transform:scale(2.4)rotate(-18deg)}60%{opacity:1}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes fade-in{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(24px)}}.placed-note{opacity:.7;margin-top:18px;font-size:13px}.gift-shell{background:radial-gradient(ellipse 80% 60% at 50% 30%, #ffffff14, transparent 70%), linear-gradient(180deg, var(--stage-top), var(--stage-bot));color:#eef2ee;min-height:100%}.gift-loading,.gift-missing{text-align:center;place-content:center;min-height:100vh;padding:24px;display:grid}.envelope-scene{place-content:center;justify-items:center;gap:22px;min-height:100dvh;padding:24px;display:grid}.envelope-hint{font-family:var(--font-hand);color:#dfe6e2;margin:0;font-size:22px}.envelope-cta{color:#a9b8b1;margin:0;font-size:13px}.envelope{aspect-ratio:1.45;perspective:900px;background:0 0;border:0;width:min(340px,82vw);padding:0;position:relative}.envelope-back,.envelope-front,.envelope-flap{border-radius:6px;position:absolute;inset:0}.envelope-back{background:#efe6d6;box-shadow:0 24px 60px #00000073}.envelope-front{clip-path:polygon(0 34%,50% 66%,100% 34%,100% 100%,0 100%);z-index:3;background:linear-gradient(160deg,#f6eee0,#eadfca)}.envelope-flap{clip-path:polygon(0 0,100% 0,50% 62%);transform-origin:top;z-index:4;background:linear-gradient(#e9dcc4,#f3eadb);transition:transform .7s}.envelope-letter{z-index:2;background:#fffdf8;border-radius:3px;place-items:start center;padding-top:14%;transition:transform .8s cubic-bezier(.2,.8,.2,1) .5s;display:grid;position:absolute;inset:10% 7% 8%}.letter-to{font-family:var(--font-hand);color:var(--ink);font-size:26px}.wax-seal{z-index:5;width:64px;height:64px;font-size:28px;transition:transform .4s,opacity .4s;position:absolute;top:56%;left:50%;transform:translate(-50%,-50%)}.envelope:hover .wax-seal{transform:translate(-50%,-50%)scale(1.06)}.is-opening .wax-seal{opacity:0;transform:translate(-50%,-50%)scale(.6)}.is-opening .envelope-flap{z-index:1;transform:rotateX(180deg)}.is-opening .envelope-letter{transform:translateY(-46%)}.is-opening .envelope-hint,.is-opening .envelope-cta{opacity:0;transition:opacity .4s}.gift-content{max-width:720px;margin:0 auto;padding:56px 20px 40px;animation:1s fade-in}.gift-hero{text-align:center}.gift-occasion{font-family:var(--font-hand);color:#f6e7c4;margin:0;font-size:19px}.gift-hero h1{font-family:var(--font-hand);margin:8px 0 4px;font-size:clamp(46px,10vw,72px)}.gift-from{color:#c9d4ce;margin:0}.gift-stage{height:min(68vh,560px);margin:18px -20px 0}.gift-stage img{object-fit:contain;width:100%;height:100%}.gift-card{color:var(--ink);background:#fffdf8;border-radius:3px;margin:10px 0 0;padding:30px 28px;transform:rotate(-.6deg);box-shadow:0 20px 50px #00000059}.gift-letter{font-family:var(--font-hand);white-space:pre-wrap;min-height:3em;margin:0;font-size:21px;line-height:1.9}.caret{background:var(--rouge);vertical-align:-.12em;width:2px;height:1em;margin-left:2px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.gift-photos{margin-top:48px}.gift-photos h2,.gift-meanings h2{font-family:var(--font-hand);text-align:center;margin:0 0 18px;font-size:28px}.polaroids{flex-wrap:wrap;justify-content:center;gap:18px;display:flex}.polaroid{width:168px;transform:rotate(var(--r,0deg));background:#fffdf8;border:0;padding:10px 10px 34px;transition:transform .3s;display:block;box-shadow:0 14px 30px #00000059}.polaroid:hover{transform:rotate(0)scale(1.04)}.polaroid img,.polaroid-blank{aspect-ratio:1;object-fit:cover;color:#ffffffd9;place-items:center;width:100%;font-size:13px;display:grid}.gift-music{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-top:48px;display:grid}.song{background:#ffffff0a;border:1px solid #ffffff24;border-radius:14px;flex-direction:column;align-items:flex-start;gap:6px;padding:18px;display:flex}.song .muted{color:#a9b8b1;margin:0}.song-title{font-family:var(--font-hand);margin:0;font-size:24px}.gift-meanings{text-align:center;margin-top:48px}.gift-meanings ul{font-family:var(--font-hand);color:#dfe6e2;margin:0;padding:0;font-size:18px;line-height:2;list-style:none}.gift-entry{font-family:var(--font-hand);color:#f6e7c4;font-size:18px}.gift-cert{text-align:center;color:#a9b8b1;border-top:1px solid #ffffff1f;margin-top:56px;padding-top:22px;font-size:13px}.gift-cert p{margin:4px 0}.lightbox{z-index:60;background:#000000d9;place-items:center;gap:12px;padding:24px;display:grid;position:fixed;inset:0}.lightbox img{border:8px solid #fffdf8;max-width:100%;max-height:82vh}@media (width<=900px){.nav-toggle{display:block}.site-nav{background:var(--stage-top);flex-direction:column;align-items:stretch;padding:8px 16px 16px;display:none;position:absolute;top:100%;left:0;right:0}.site-nav.is-open{display:flex}.site-nav a{padding:10px 12px}.site-nav .nav-cta{text-align:center;margin:8px 0 0}.hero{grid-template-columns:1fr;min-height:0;padding-bottom:12px}.hero-copy{padding:40px 0 0}.hero-stage{height:56vh;margin:0 -20px}.hero-caption{max-width:none;bottom:12px;left:20px;right:20px}.today-grid,.series-trio,.teaser-grid,.how,.feature,.detail{grid-template-columns:1fr}.feature.reverse>:first-child{order:0}.detail-stage{border-radius:0;height:58vh;margin:0 -20px;position:relative;top:0}.section-head.row{flex-direction:column;align-items:flex-start}.page-head{padding-top:36px}}@media (prefers-reduced-motion:reduce){.thumb img,.series-card,.polaroid{transition:none}.seal-stamp,.gift-content,.seal-card{animation:none}}:root{--paper-tex:url(/assets/textures/paper-cotton.jpg)}.cert,.seal-card,.gift-card,.envelope-letter,.polaroid,.addon.featured,.entry-pick{background-image:linear-gradient(#fffdf88c, #fffdf88c), var(--paper-tex);background-size:auto,420px}.hand-input{background-image:linear-gradient(#fffdf8b3, #fffdf8b3), var(--paper-tex)!important;background-size:auto,420px!important}.atelier{background:#dfe3df;align-items:center;min-height:520px;margin-top:88px;display:grid;position:relative;overflow:hidden}.atelier img{object-fit:cover;object-position:30% 50%;width:100%;height:100%;position:absolute;inset:0}.atelier-copy{justify-self:end;width:min(440px,100% - 40px);margin-right:max(20px,50% - 590px);padding:32px 0;position:relative}.atelier-quote{font-family:var(--font-hand);color:var(--ink);margin:0 0 16px;font-size:clamp(28px,3.4vw,40px);line-height:1.45}.atelier-copy p{color:var(--ink-soft);line-height:1.8}.about-banner{margin:0 auto}.about-banner img{aspect-ratio:16/7;object-fit:cover;border-radius:18px;width:100%;display:block}.hero-line{animation:1s cubic-bezier(.2,.7,.2,1) both line-in;display:block}.hero-line:nth-child(2){animation-delay:.18s}.hero-lead{animation:1s cubic-bezier(.2,.7,.2,1) .4s both line-in}.hero-actions{animation:1s cubic-bezier(.2,.7,.2,1) .55s both line-in}.hero-stage{animation:1.6s .2s both stage-in}@keyframes line-in{0%{background:#b83b661f}to{background:0 0}}@keyframes stage-in{0%{opacity:0;filter:blur(12px);transform:scale(.96)}}@media (width<=900px){.atelier{background:var(--paper-2);min-height:0;display:block}.atelier img{aspect-ratio:4/3;object-position:20% 50%;height:auto;position:static}.atelier-copy{width:auto;margin:0 auto;padding:24px 20px 8px}.about-banner img{aspect-ratio:4/3;border-radius:12px}}@media (prefers-reduced-motion:reduce){.hero-line,.hero-lead,.hero-actions,.hero-stage{animation:none}}:root{--night:#0c1a1e;--night-2:#13272c;--moon:#ede8f3;--blush:#f4e6e8;--blush-2:#ead4d8;--rouge:#b83b66;--rouge-ink:#96294f;--gold:#d4b47a;--gold-soft:#d4b47a59;--font-serif:"Noto Serif TC", "Songti TC", serif;--ease-out:cubic-bezier(.22, 1, .36, 1)}.skip-link{z-index:100;color:var(--ink);background:#fff;border-radius:8px;padding:8px 14px;position:absolute;top:-60px;left:12px}.skip-link:focus{top:12px}.site-header{z-index:40;background:color-mix(in srgb, var(--night) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--moon);align-items:center;gap:20px;padding:14px max(20px,50% - 620px);transition:background .4s,color .4s,box-shadow .4s;display:flex;position:sticky;top:0}.site-header.tone-dark,.site-header.tone-light{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;position:fixed;left:0;right:0}.site-header.tone-dark.is-scrolled{background:color-mix(in srgb, var(--night) 78%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.site-header.tone-light{color:var(--ink)}.site-header.tone-light.is-scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbf7f4d1;box-shadow:0 1px #0000000f}.site-header .brand{color:inherit}.site-header .brand-mark{font-family:var(--font-serif);letter-spacing:.12em;font-size:24px;font-weight:900}.site-header .brand-sub{letter-spacing:.08em;opacity:.7;font-size:12px}.site-nav{align-items:center;gap:2px;margin-left:auto;display:flex}.site-nav a{color:inherit;opacity:.82;border-radius:999px;padding:6px 12px;font-size:14px;text-decoration:none}.site-nav a:hover{opacity:1;background:color-mix(in srgb, currentColor 9%, transparent)}.site-nav a[aria-current=page]{color:inherit;opacity:1;box-shadow:inset 0 -1px 0 var(--gold);border-radius:0}.site-nav .nav-cta{background:var(--rouge);color:#fff;opacity:1;margin-left:10px;padding:7px 18px}.site-nav .nav-cta:hover{background:var(--rouge-ink)}.cart-btn{border:1px solid color-mix(in srgb, currentColor 30%, transparent);width:40px;height:40px;color:inherit;background:0 0;border-radius:50%;place-items:center;display:grid;position:relative}.cart-btn:hover{border-color:currentColor}.cart-count{background:var(--rouge);color:#fff;text-align:center;border-radius:999px;min-width:19px;height:19px;padding:0 5px;font-size:11px;font-weight:700;line-height:19px;position:absolute;top:-4px;right:-4px}.nav-toggle{border-color:color-mix(in srgb, currentColor 35%, transparent);margin-left:0}@media (width<=980px){.nav-toggle{display:block}.site-header .brand-sub{display:none}.cart-btn{margin-left:auto}.site-nav{background:var(--night);color:var(--moon);flex-direction:column;align-items:stretch;padding:8px 16px 18px;display:none;position:absolute;top:100%;left:0;right:0}.site-header.tone-light .site-nav{color:var(--ink);background:#fbf7f4}.site-nav.is-open{display:flex}.site-nav a{padding:12px}.site-nav .nav-cta{text-align:center;margin:8px 0 0}.site-header.menu-open.tone-dark,.site-header.menu-open.tone-light{background:var(--night)}.site-header.menu-open.tone-light{background:#fbf7f4}}.site-footer{background:var(--night);color:color-mix(in srgb, var(--moon) 72%, transparent);border-top:1px solid var(--gold-soft);margin-top:0;padding:64px 0 72px}.site main{padding-bottom:96px}.site.no-pad main{padding-bottom:0}.footer-inner{width:min(1240px,100% - 40px)}.footer-brand .brand-mark{font-family:var(--font-serif);letter-spacing:.12em;color:var(--moon);font-size:30px;font-weight:900}.footer-brand p{margin:0 0 8px;font-size:14px;line-height:1.8}.footer-cols h3{color:var(--gold);letter-spacing:.08em}.footer-cols a,.footer-cols p{color:inherit}.footer-cols a:hover{color:var(--moon)}.btn{border-radius:999px;padding:10px 20px;transition:background .2s,border-color .2s,color .2s}.btn.ghost-moon{border-color:color-mix(in srgb, var(--moon) 45%, transparent);color:var(--moon);background:0 0}.btn.ghost-moon:hover{border-color:var(--moon);background:#ede8f30f}.btn.ink{background:var(--ink);color:#fff}.btn.ink:hover{background:#000}.link-btn{color:inherit;opacity:.7;text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.link-btn:hover{opacity:1}.qty{border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;display:inline-flex}.qty button{width:38px;height:38px;color:var(--ink);background:0 0;border:0;border-radius:999px;font-size:16px}.qty button:hover:not(:disabled){background:var(--paper-2)}.qty button:disabled{opacity:.3}.qty output{text-align:center;font-variant-numeric:tabular-nums;min-width:28px;font-weight:500}.qty.sm button{width:28px;height:28px;font-size:14px}.qty.sm output{min-width:22px;font-size:13px}.drawer-root{z-index:80;pointer-events:none;position:fixed;inset:0}.drawer-root.is-open{pointer-events:auto}.drawer-scrim{opacity:0;background:#080e1080;transition:opacity .3s;position:absolute;inset:0}.drawer-root.is-open .drawer-scrim{opacity:1}.drawer{width:min(420px,100%);color:var(--ink);transition:transform .45s var(--ease-out);background:#fbf7f6;flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0;transform:translate(102%);box-shadow:-20px 0 60px #0000002e}.drawer-root.is-open .drawer{transform:none}.drawer-root:not(.is-open) .drawer{visibility:hidden;transition:transform .45s var(--ease-out), visibility 0s .45s}.drawer-head{justify-content:space-between;align-items:center;padding:20px 22px 12px;display:flex}.drawer-head h2{font-family:var(--font-serif);margin:0;font-size:22px}.drawer-close{border:1px solid var(--line);background:0 0;border-radius:999px;padding:4px 14px;font-size:13px}.drawer-empty{text-align:center;color:var(--muted);padding:40px 22px}.drawer-ship{color:var(--ink-soft);margin:0 22px 8px;padding-bottom:10px;font-size:13px;position:relative}.drawer-ship:after{content:"";background:var(--blush-2);border-radius:3px;height:3px;position:absolute;bottom:0;left:0;right:0}.drawer-ship i{background:var(--rouge);z-index:1;height:3px;transition:width .5s var(--ease-out);border-radius:3px;position:absolute;bottom:0;left:0}.drawer-lines{flex:1;margin:0;padding:0 22px;list-style:none;overflow-y:auto}.drawer-lines li{border-bottom:1px solid var(--line);grid-template-columns:72px 1fr auto;align-items:start;gap:12px;padding:14px 0;display:grid}.drawer-lines li.is-new{animation:1.2s line-in}.dl-info{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;display:flex}.dl-name{font-weight:500}.dl-variant{color:var(--muted);font-size:12px}.dl-side{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.dl-price{font-variant-numeric:tabular-nums;font-weight:500}.drawer-foot{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding:16px 22px 22px;display:flex}.drawer-total{justify-content:space-between;margin:0 0 4px;font-size:16px;display:flex}.center-btn{align-self:center}.thumb.sm,.sm-wrap .thumb{border-radius:8px;width:72px}.sm-wrap{width:72px;display:block}@media (prefers-reduced-motion:reduce){.drawer,.drawer-scrim{transition:none}}.site.shop-page{background:#fbf7f6}.site:has(.shop-hero){background:#fbf7f6}.site:has(.pd){background:#fbf7f6}.site:has(.cart-page){background:#fbf7f6}.crumbs{color:var(--muted);flex-wrap:wrap;gap:8px;margin-bottom:10px;font-size:13px;display:flex}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--ink);text-decoration:underline}.shop-hero{background:var(--blush);border-bottom:1px solid var(--blush-2);padding:52px 0 40px}.shop-hero h1{font-family:var(--font-serif);letter-spacing:.06em;margin:0 0 8px;font-size:clamp(34px,5vw,56px);font-weight:900;line-height:1.15}.shop-hero p{color:var(--ink-soft);margin:0}.shop-layout{grid-template-columns:200px minmax(0,1fr);gap:48px;padding-top:36px;display:grid}.shop-side{flex-direction:column;align-self:start;gap:2px;display:flex;position:sticky;top:92px}.shop-side a{color:var(--ink-soft);border-left:2px solid #0000;padding:7px 0 7px 12px;font-size:15px;text-decoration:none;display:block}.shop-side a:hover{color:var(--ink)}.shop-side a[aria-current=page]{color:var(--rouge-ink);border-left-color:var(--rouge);font-weight:500}.side-group h2{letter-spacing:.12em;color:var(--muted);margin:18px 0 4px 14px;font-size:12px;font-weight:500}.shop-bar{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.shop-bar p{margin:0;font-size:14px}.sort{color:var(--muted);align-items:center;gap:8px;font-size:14px;display:flex}.sort select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:999px;padding:6px 12px}.p-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px;display:grid}.p-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.p-card{flex-direction:column;display:flex;position:relative}.p-link{color:inherit;flex-direction:column;gap:4px;text-decoration:none;display:flex}.p-media{margin-bottom:12px;position:relative}.p-media .thumb{border-radius:4px}.p-card:hover .thumb img{transform:scale(1.04)}.thumb.photo{background:var(--blush-2)}.p-name{font-family:var(--font-serif);letter-spacing:.04em;font-size:18px;font-weight:600}.p-link:hover .p-name{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.p-lead{color:var(--muted);font-size:13px}.p-price{font-variant-numeric:tabular-nums;margin-top:2px;font-size:15px}.p-price small{color:var(--muted);font-size:12px}.p-add{opacity:0;color:var(--ink);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fbf7f6f0;border:0;border-radius:999px;padding:10px;font-size:14px;font-weight:500;transition:opacity .25s;position:absolute;bottom:10px;left:10px;right:10px}.p-card:hover .p-add,.p-add:focus-visible{opacity:1}.p-add:hover{background:var(--rouge);color:#fff}.p-card.tone-dark .p-lead,.p-card.tone-dark .p-price small{color:color-mix(in srgb, var(--moon) 60%, transparent)}@media (hover:none){.p-add{opacity:1;padding:7px 12px;font-size:13px;bottom:8px;left:auto;right:8px}}.pd{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:56px;padding-top:40px;display:grid}.pd-stage{aspect-ratio:1;background:radial-gradient(circle at 50% 40%, #1f3a3f, var(--night) 70%);border-radius:6px;position:sticky;top:88px;overflow:hidden}.pd-stage.is-photo{background:var(--blush-2)}.pd-stage img{object-fit:cover;width:100%;height:100%;display:block}.pd-hint{text-align:center;color:#ede8f399;pointer-events:none;font-size:12px;position:absolute;bottom:14px;left:0;right:0}.pd-name{font-family:var(--font-serif);letter-spacing:.06em;margin:4px 0 2px;font-size:clamp(32px,4vw,46px);font-weight:900;line-height:1.2}.pd-lead{color:var(--muted);margin:0}.pd-price{font-variant-numeric:tabular-nums;margin:14px 0 12px;font-size:24px}.pd-story{font-family:var(--font-serif);max-width:30em;margin:0 0 14px;font-size:17px;line-height:1.9}.pd-lucky{color:var(--muted);align-items:center;gap:6px;margin:0 0 18px;font-size:13px;display:flex}.pd-lucky span{margin-right:4px}.pd-lucky i{border-radius:50%;width:18px;height:18px;box-shadow:inset 0 0 0 1px #0000001f}.pd-variants{border:0;margin:0 0 18px;padding:0}.pd-variants legend{color:var(--muted);margin-bottom:8px;padding:0;font-size:13px}.pd-variants div{flex-wrap:wrap;gap:8px;display:flex}.pd-variants .chip-btn{border-radius:10px;flex-direction:column;align-items:flex-start;gap:0;padding:8px 16px;display:inline-flex}.pd-variants .chip-btn small{opacity:.7;font-variant-numeric:tabular-nums;font-size:12px}.pd-buy{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pd-note{color:var(--muted);margin:12px 0 22px;font-size:13px}.pd-edit{text-align:left;border:1px dashed var(--gold);background:#d4b47a14;border-radius:10px;flex-direction:column;gap:2px;width:100%;margin-bottom:28px;padding:14px 18px;display:flex}.pd-edit strong{font-family:var(--font-serif);font-size:16px}.pd-edit span{color:var(--ink-soft);font-size:13px}.pd-edit:hover{background:#d4b47a29}.pd-h2{font-family:var(--font-serif);margin:0 0 12px;font-size:22px}.pd-meanings{border-top:1px solid var(--line);margin:0 0 20px;padding:0;list-style:none}.pd-meanings li{border-bottom:1px solid var(--line);grid-template-columns:14px 9em 1fr;align-items:baseline;gap:12px;padding:10px 0;font-size:14px;display:grid}.pd-meanings i{border-radius:50%;align-self:center;width:12px;height:12px;box-shadow:inset 0 0 0 1px #0000001f}.pm-name small{color:var(--muted);margin-left:4px}.pm-text{color:var(--ink-soft);font-family:var(--font-hand);font-size:15px}.pd-more{border-top:1px solid var(--line);color:var(--ink-soft);padding:12px 0;font-size:14px}.pd-more summary{cursor:pointer;color:var(--ink)}.pd-related{margin-top:80px}.cart-page{padding-top:44px}.cart-title{font-family:var(--font-serif);letter-spacing:.06em;margin:0 0 24px;font-size:clamp(32px,4vw,46px);font-weight:900}.cart-empty{padding:40px 0}.cart-grid{grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr);align-items:start;gap:48px;display:grid}.cart-lines{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.cart-lines li{border-bottom:1px solid var(--line);grid-template-columns:72px minmax(0,1fr) auto 7em auto;align-items:center;gap:16px;padding:16px 0;display:grid}.cl-info{flex-direction:column;gap:2px;min-width:0;display:flex}.cl-name{font-family:var(--font-serif);font-size:17px;font-weight:600;text-decoration:none}.cl-name:hover{text-decoration:underline}.cl-price{text-align:right;font-variant-numeric:tabular-nums}.cart-sum{max-width:320px;margin:20px 0 0 auto}.cart-sum div{justify-content:space-between;padding:6px 0;display:flex}.cart-sum dt{color:var(--muted)}.cart-sum dd{font-variant-numeric:tabular-nums;margin:0}.cart-sum .total{border-top:1px solid var(--ink);margin-top:6px;padding-top:12px;font-size:18px}.cart-sum .total dt{color:var(--ink)}.cart-sum p{text-align:right;margin:0}.checkout{border:1px solid var(--line);background:#fff;border-radius:14px;padding:24px;position:sticky;top:88px}.checkout h2{font-family:var(--font-serif);margin:0 0 16px;font-size:22px}.field{flex-direction:column;gap:4px;margin-bottom:14px;display:flex}.field label{color:var(--ink-soft);font-size:13px}.field input{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 12px}.field.has-error input{border-color:#b3261e}.field-error{color:#b3261e;margin:0;font-size:13px}.pay{border:0;flex-wrap:wrap;gap:8px;margin:4px 0 12px;padding:0;display:flex}.pay legend{color:var(--ink-soft);margin-bottom:6px;padding:0;font-size:13px}.pay label{border:1px solid var(--line);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:14px;display:flex}.pay label:has(input:checked){border-color:var(--ink);background:var(--ink);color:#fff}.pay input{accent-color:var(--rouge)}.cart-done{text-align:center;max-width:34em;padding:80px 0 40px}.cart-done h1{font-family:var(--font-serif);margin:10px 0;font-size:40px}.done-seal{background:var(--rouge);color:#fff;width:64px;height:64px;font-family:var(--font-serif);border-radius:8px;place-items:center;margin:0;font-size:34px;font-weight:900;display:inline-grid;transform:rotate(-6deg)}.done-actions{justify-content:center;gap:10px;margin-top:24px;display:flex}@media (width<=1000px){.p-grid,.p-grid.four{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}.pd,.cart-grid{grid-template-columns:1fr;gap:28px}.pd-stage,.checkout{position:static}}@media (width<=760px){.shop-layout{grid-template-columns:1fr;gap:16px;padding-top:16px}.shop-side{flex-direction:row;gap:6px;padding-bottom:6px;position:static;overflow-x:auto}.shop-side .side-group{display:contents}.side-group h2{display:none}.shop-side a{white-space:nowrap;border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:14px}.shop-side a[aria-current=page]{background:var(--ink);color:#fff;border-color:var(--ink)}.cart-lines li{grid-template-columns:64px minmax(0,1fr) auto;grid-template-areas:"t i p""t q r";row-gap:8px}.cart-lines li>:first-child{grid-area:t}.cart-lines li>:nth-child(2){grid-area:i}.cart-lines li>:nth-child(3){grid-area:q}.cart-lines li>:nth-child(4){grid-area:p}.cart-lines li>:nth-child(5){grid-area:r;justify-self:end}}.site.home{background:var(--night);color:var(--moon)}.site.home main{padding-bottom:0}.rail{z-index:30;color:var(--gold);position:fixed;top:50%;left:22px;transform:translateY(-50%)}.rail ol{flex-direction:column;gap:30px;margin:0;padding:0;list-style:none;display:flex;position:relative}.rail-stem{background:color-mix(in srgb, var(--gold) 30%, transparent);width:1px;position:absolute;top:10px;bottom:10px;left:10px}.rail-stem i{background:var(--gold);width:1px;transition:height .6s var(--ease-out);position:absolute;top:0;left:0}.rail a{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.rail svg{flex:none;width:21px;height:21px;overflow:visible}.rail svg ellipse{fill:none;stroke:currentColor;stroke-width:1.2px;transform-box:fill-box;transform-origin:50% 100%;transition:transform .5s var(--ease-out), opacity .4s}.rail svg circle{fill:currentColor}.rail li:not(.is-on) svg ellipse{opacity:0}.rail li:not(.is-on) svg circle{r:3px}.rail li.is-on svg ellipse{fill:color-mix(in srgb, var(--gold) 25%, transparent)}.rail span{letter-spacing:.1em;opacity:0;font-size:13px;font-family:var(--font-serif);transition:opacity .3s,transform .3s;transform:translate(-4px)}.rail li.is-on span,.rail a:hover span,.rail a:focus-visible span{opacity:1;transform:none}@media (width<=900px){.rail{display:none}}.room{--ring:min(68vh, 640px);background:radial-gradient(ellipse 70% 60% at 50% 72%, #17333a 0%, var(--night) 58%, #050c0e 100%);isolation:isolate;height:100svh;min-height:620px;position:relative;overflow:hidden}.room-sky{z-index:-1;opacity:.9;background-image:radial-gradient(1px 1px at 12% 18%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 28% 62%,#fff 50%,#0000 51%),radial-gradient(1.4px 1.4px at 71% 24%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 86% 70%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 44% 12%,#fff 50%,#0000 51%),radial-gradient(1.2px 1.2px at 92% 36%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 6% 82%,#fff 50%,#0000 51%),repeating-linear-gradient(90deg,#0000 0 11vw,#78c8d20d 11vw calc(11vw + 1px));position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0% 55%,#0000 90%);mask-image:linear-gradient(#000 0% 55%,#0000 90%)}.room-ring{width:var(--ring);aspect-ratio:1;z-index:-1;position:absolute;top:47%;left:50%;transform:translate(-50%,-50%)}.room-ring:before{content:"";background:radial-gradient(circle, transparent 56%, color-mix(in srgb, var(--glow) 40%, transparent) 62%, transparent 70%);filter:blur(14px);border-radius:50%;transition:background .8s;position:absolute;inset:-8%}.room-ring svg{position:absolute;inset:0;overflow:visible}.ring-base{fill:none;stroke:color-mix(in srgb, var(--moon) 14%, transparent);stroke-width:.25px}.ring-arc{fill:none;stroke:var(--glow);stroke-width:.45px;stroke-linecap:round;stroke-dasharray:.32 .68;filter:drop-shadow(0 0 1.2px var(--glow));transform-origin:50%;transition:stroke .8s;animation:14s linear infinite ring-spin}@keyframes ring-spin{to{transform:rotate(360deg)}}.room-canvas{position:absolute;inset:0}.room:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(90deg,#050c0eeb 0%,#050c0e99 30%,#0000 48%);position:absolute;inset:0}.room-copy{z-index:2;width:min(440px,40vw);position:absolute;top:50%;left:max(72px,50% - 620px);transform:translateY(-56%)}.room-copy h1{font-family:var(--font-serif);letter-spacing:.04em;margin:0 0 22px;font-size:clamp(40px,4.8vw,72px);font-weight:900;line-height:1.18}.room-copy h1 span{display:block}.room-copy p{color:color-mix(in srgb, var(--moon) 76%, transparent);max-width:26em;margin:0 0 28px;font-size:16px;line-height:1.9}.room-actions{flex-wrap:wrap;gap:10px;display:flex}.room-plate{z-index:2;text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute;bottom:7vh;left:50%;transform:translate(-50%)}.plate-count{letter-spacing:.2em;color:color-mix(in srgb, var(--moon) 55%, transparent);font-variant-numeric:tabular-nums;font-size:12px}.plate-name{font-family:var(--font-serif);letter-spacing:.1em;color:var(--moon);font-size:28px;font-weight:900;text-decoration:none}.plate-name:hover{text-decoration:underline;-webkit-text-decoration-color:var(--glow);text-decoration-color:var(--glow);text-underline-offset:6px;text-decoration-thickness:1px}.plate-cat{color:var(--glow);font-size:13px;transition:color .8s}.room-nav{z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid color-mix(in srgb, var(--glow) 60%, transparent);width:50px;height:50px;color:var(--glow);background:#0c1a1e73;border-radius:50%;place-items:center;transition:background .2s,color .8s,border-color .8s;display:grid;position:absolute;bottom:calc(7vh + 10px)}.room-nav:hover{background:color-mix(in srgb, var(--glow) 22%, #0c1a1e99)}.room-nav svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.room-nav.prev{left:calc(50% - 170px)}.room-nav.next{left:calc(50% + 120px)}.room-scroll{z-index:2;writing-mode:vertical-rl;letter-spacing:.3em;color:color-mix(in srgb, var(--moon) 50%, transparent);margin:0;font-size:12px;position:absolute;bottom:32px;right:30px}@media (width<=760px){.room{--ring:min(78vw, 46vh)}.room:after{background:linear-gradient(#050c0ed9 0%,#0000 42%)}.room-copy{width:auto;top:84px;left:16px;right:16px;transform:none}.room-copy h1{margin-bottom:10px;font-size:36px}.room-copy p{margin-bottom:14px;font-size:14px;line-height:1.7}.room-ring{top:62%}.room-nav{width:44px;height:44px;bottom:calc(5vh + 6px)}.room-nav.prev{left:16px}.room-nav.next{left:auto;right:16px}.room-plate{bottom:5vh}.room-scroll{display:none}}.sketch{background:var(--blush);height:380vh;color:var(--ink);position:relative}.sketch-stick{--g0:0;--g1:0;--g2:0;--g3:0;--g4:0;--lift:0;--real:0;height:100vh;position:sticky;top:0;overflow:hidden}.sketch-paper{background-image:linear-gradient(#96294f0f 1px,#0000 1px),linear-gradient(90deg,#96294f0f 1px,#0000 1px);background-position:50%;background-size:36px 36px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 60%,#000 40%,#0000 85%);mask-image:radial-gradient(at 60%,#000 40%,#0000 85%)}.sketch-art{transform-origin:50% 70%;transform:perspective(1500px) rotateX(calc(var(--lift) * 54deg)) rotateZ(calc(var(--lift) * -9deg)) translateY(calc(var(--lift) * 6vh)) scale(calc(1 - var(--lift) * .1));opacity:calc(1 - var(--real) * .7);place-items:center;display:grid;position:absolute;inset:9vh 3vw 5vh 30vw}.sketch-svg{width:100%;height:100%;overflow:visible}.sg path{fill:none;stroke:#2a2224;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--g))}.sg.rose path{stroke:#7f2346}.sg.fine path{stroke-width:1px}.sg.note path{stroke:#b0894a;stroke-width:1px}.sg text{font-family:var(--font-serif);fill:#2a2224;opacity:var(--g);font-size:15px}.sg text.sub{fill:#7a6a6c;font-size:12.5px;font-family:var(--font-hand);font-size:14px}.sg .dot{fill:var(--rouge);opacity:var(--g)}.sketch-real{opacity:var(--real);pointer-events:none;position:absolute;inset:6vh 3vw 3vh 30vw}.sketch-real.is-on{pointer-events:auto}.sketch-copy{width:min(25vw,400px);position:absolute;bottom:14vh;left:max(60px,50% - 580px)}.sketch-copy h2{font-family:var(--font-serif);letter-spacing:.03em;margin:0 0 14px;font-size:clamp(30px,3.4vw,48px);font-weight:900;line-height:1.25}.sketch-copy h2 span{display:block}.sketch-copy p{color:var(--ink-soft);margin:0;line-height:1.9}@media (width<=900px){.sketch-art,.sketch-real{inset:7vh 2vw 34vh}.sketch-copy{width:auto;bottom:6vh;left:20px;right:20px}.sketch-copy h2{font-size:28px}}.close{background:#070f12;position:relative}.close-stick{background:radial-gradient(at 60%,#13292e 0%,#070f12 70%);height:100vh;position:sticky;top:0;overflow:hidden}.close-canvas{position:absolute;inset:0}.close-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.close-lines line{stroke:var(--gold);stroke-width:1px;opacity:.8}.close-pin{border:1.5px solid var(--gold);pointer-events:none;border-radius:50%;width:18px;height:18px;margin:-9px 0 0 -9px;position:absolute;top:0;left:0;box-shadow:0 0 12px #d4b47ab3}.close-pin:after{content:"";background:var(--gold);border-radius:50%;position:absolute;inset:5px}.close-card{border-left:1px solid var(--gold);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:min(380px,80vw);animation:card-in .7s var(--ease-out);background:linear-gradient(90deg,#070f12d1,#070f1273);padding:22px 26px;position:absolute;top:22vh;left:max(64px,50% - 572px)}@keyframes card-in{0%{opacity:0;transform:translateY(10px)}}.cc-kicker{letter-spacing:.12em;color:color-mix(in srgb, var(--moon) 65%, transparent);gap:12px;margin:0 0 6px;font-size:13px;display:flex}.cc-kicker span{color:var(--gold);font-variant-numeric:tabular-nums}.close-card h2{font-family:var(--font-serif);letter-spacing:.04em;margin:0 0 4px;font-size:clamp(28px,2.8vw,40px);font-weight:900;line-height:1.25}.cc-sub{color:var(--gold);font-family:var(--font-hand);margin:0 0 12px;font-size:17px}.cc-body{color:color-mix(in srgb, var(--moon) 82%, transparent);margin:0;line-height:1.85}.close-stick:after{content:"";pointer-events:none;background:linear-gradient(270deg,#070f12d9,#0000);width:22vw;position:absolute;top:0;bottom:0;right:0}.close-index{z-index:2;text-align:right;position:absolute;top:50%;right:max(32px,50% - 620px);transform:translateY(-50%)}.close-index p{letter-spacing:.16em;color:color-mix(in srgb, var(--moon) 45%, transparent);margin:0 0 16px;font-size:12px}.close-index ol{border-right:1px solid color-mix(in srgb, var(--moon) 18%, transparent);flex-direction:column;gap:22px;margin:0;padding:0 18px 0 0;list-style:none;display:flex}.close-index li{position:relative}.close-index li:after{content:"";border:1px solid color-mix(in srgb, var(--moon) 35%, transparent);background:#070f12;border-radius:50%;width:7px;height:7px;margin-top:-3.5px;position:absolute;top:50%;right:-22px}.close-index li.is-past:after{background:color-mix(in srgb, var(--gold) 50%, #070f12);border-color:var(--gold)}.close-index li.is-on:after{background:var(--gold);border-color:var(--gold);box-shadow:0 0 10px var(--gold)}.close-index button{letter-spacing:.06em;color:color-mix(in srgb, var(--moon) 50%, transparent);background:0 0;border:0;padding:0;font-size:13px}.close-index li.is-on button,.close-index button:hover{color:var(--moon)}.close-buy{z-index:2;position:absolute;bottom:40px;right:max(32px,50% - 620px)}@media (width<=900px){.close-card{width:auto;padding:16px 18px;inset:auto 16px 84px}.close-lines,.close-index{display:none}.close-buy{bottom:24px;right:16px}}.portals{grid-template-columns:1fr 1fr;display:grid}.portal{isolation:isolate;flex-direction:column;justify-content:flex-end;min-height:88vh;padding:56px max(32px,5vw);text-decoration:none;display:flex;position:relative;overflow:hidden}.portal-art{z-index:-1;transition:transform 1.2s var(--ease-out);place-items:center;display:grid;position:absolute;inset:0 0 34%}.portal:hover .portal-art{transform:scale(1.05)}.portal-copy{flex-direction:column;gap:10px;max-width:30em;display:flex}.portal-title{font-family:var(--font-serif);letter-spacing:.08em;font-size:clamp(42px,5vw,80px);font-weight:900;line-height:1.1}.portal-text{opacity:.8;font-size:16px;line-height:1.85}.portal-go{border-bottom:1px solid;align-self:flex-start;margin-top:8px;padding-bottom:2px;font-size:15px}.portal.stars{color:var(--moon);background:radial-gradient(1px 1px at 20% 30%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 70% 15%,#fff 50%,#0000 51%),radial-gradient(1.4px 1.4px at 85% 45%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 40% 55%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 10% 70%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 55% 8%,#fff 50%,#0000 51%),radial-gradient(at 40% 25%,#283467 0%,#0b1026 70%)}.portal.stars .portal-art svg{width:min(70%,420px);height:auto}.portal.stars .portal-go{color:var(--gold)}.portal.paper{color:#2b2724;background:radial-gradient(at 70% 30%,#b5402e1a,#0000 55%),radial-gradient(at 20% 60%,#6f8e6b29,#0000 50%),#f4eee6}.portal.paper .portal-go{color:#9e3424}@media (width<=900px){.portals{grid-template-columns:1fr}.portal{min-height:76vh}}.picks{background:var(--blush);color:var(--ink);padding:104px 0 112px}.picks-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;margin-bottom:36px;display:flex}.picks-head h2{font-family:var(--font-serif);letter-spacing:.04em;margin:0;font-size:clamp(32px,4vw,56px);font-weight:900}.diy-band{color:#fff;isolation:isolate;background:#2b45d4;padding:120px 0;position:relative;overflow:hidden}.diy-band-inner{grid-template-columns:1.2fr 1fr;align-items:end;gap:48px;display:grid}.diy-band h2{font-family:var(--font-ui);white-space:nowrap;letter-spacing:-.01em;margin:0;font-size:clamp(44px,5.4vw,88px);font-weight:900;line-height:1.04}.diy-band p{color:#ffffffdb;margin:0 0 24px;font-size:17px;line-height:1.85}.btn.lemon{color:#172064;background:#f7dc4a;font-weight:700}.btn.lemon:hover{background:#fff07a}.blob{z-index:-1;border-radius:50%;animation:9s ease-in-out infinite float;position:absolute}.blob.b1{background:radial-gradient(circle at 35% 30%,#ff9cb8,#e5487a 55%,#a92655);width:220px;height:220px;top:-60px;right:8%}.blob.b2{background:radial-gradient(circle at 35% 30%,#fff6b0,#f7dc4a 55%,#c9a614);width:90px;height:90px;animation-delay:-3s;bottom:36px;right:5%}.blob.b3{background:radial-gradient(circle at 35% 30%,#fff,#e6e3f0 60%,#a9a4c0);width:54px;height:54px;animation-delay:-6s;top:70px;left:46%}@keyframes float{50%{transform:translateY(-16px)rotate(8deg)}}@media (width<=900px){.diy-band{padding:80px 0}.diy-band-inner{grid-template-columns:1fr;gap:24px}.diy-band h2{white-space:normal}}@media (prefers-reduced-motion:reduce){.ring-arc,.blob,.close-card{animation:none}}.site.stars-page{color:var(--moon);background:#0b1026}.site.stars-page main{padding-bottom:0}.constellation line{stroke:var(--gold);stroke-width:.7px;opacity:.75}.constellation circle{fill:#fff6df;filter:drop-shadow(0 0 1.5px #ffecbee6)}.sky{background:radial-gradient(80% 60% at 50% 40%,#222c5c 0%,#0b1026 70%);flex-direction:column;align-items:center;min-height:100vh;padding:120px 20px 56px;display:flex;position:relative;overflow:hidden}.sky-dust{pointer-events:none;opacity:.85;background-image:radial-gradient(1px 1px at 8% 14%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 22% 72%,#fff 50%,#0000 51%),radial-gradient(1.5px 1.5px at 34% 30%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 51% 84%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 63% 12%,#fff 50%,#0000 51%),radial-gradient(1.3px 1.3px at 77% 58%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 89% 22%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 94% 88%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 4% 48%,#fff 50%,#0000 51%),radial-gradient(1.2px 1.2px at 44% 56%,#fff 50%,#0000 51%);animation:6s ease-in-out infinite alternate twinkle;position:absolute;inset:0}@keyframes twinkle{to{opacity:.45}}.sky-title{z-index:2;text-align:center;font-family:var(--font-serif);letter-spacing:.06em;text-shadow:0 0 40px #0b1026cc;margin:0;font-size:clamp(38px,6.2vw,96px);font-weight:900;line-height:1.12;position:relative}.sky-title span{display:block}.sky-title span+span{padding-left:1.6em}.cloud{perspective:1500px;perspective-origin:50% 30%;width:100%;height:600px;margin-top:-60px;position:relative}.cloud-tilt{transform-style:preserve-3d;transform:rotateX(calc(-8deg + var(--tx,0deg))) rotateY(var(--ty,0deg));transition:transform .6s var(--ease-out);position:absolute;inset:0}.cloud-spin{transform-style:preserve-3d;animation:70s linear infinite cloud-spin;position:absolute;top:44%;left:50%}.cloud:hover .cloud-spin{animation-play-state:paused}@keyframes cloud-spin{0%{transform:rotateY(0)}to{transform:rotateY(-360deg)}}.s-card{--w:150px;--h:214px;--r:520px;left:calc(var(--w) / -2);top:calc(var(--h) / -2);width:var(--w);height:var(--h);color:var(--moon);transform-style:preserve-3d;transform:rotateY(calc(var(--i) * 30deg)) translateZ(var(--r)) translateY(var(--lift)) rotateZ(calc((var(--i) - 6) * .8deg));background:0 0;border:0;padding:0;position:absolute}.s-face{backface-visibility:hidden;border-radius:12px;position:absolute;inset:0}.s-face.front{text-align:left;background:linear-gradient(165deg, color-mix(in srgb, var(--c) 45%, #1a2150) 0%, #121839 62%);transition:box-shadow .3s, transform .3s var(--ease-out);flex-direction:column;padding:12px 12px 14px;display:flex;box-shadow:inset 0 0 0 1px #d4b47a73,0 18px 40px #00000073}.s-card:hover .s-face.front,.s-card:focus-visible .s-face.front{box-shadow:inset 0 0 0 1px var(--gold), 0 0 34px color-mix(in srgb, var(--c) 60%, transparent);transform:translateZ(20px)}.s-face.back{background:repeating-linear-gradient(45deg,#d4b47a1f 0 2px,#0000 2px 10px),#141a3c;place-items:center;display:grid;transform:rotateY(180deg);box-shadow:inset 0 0 0 1px #d4b47a59,inset 0 0 0 8px #141a3c,inset 0 0 0 9px #d4b47a4d}.s-face.back span{font-family:var(--font-serif);color:var(--gold);letter-spacing:.2em;writing-mode:vertical-rl;font-size:18px;font-weight:900}.s-top{justify-content:space-between;align-items:center;display:flex}.s-glyph{color:var(--gold);font-size:18px;line-height:1}.s-now{background:var(--rouge);color:#fff;border-radius:999px;padding:2px 8px;font-size:11px}.s-face .constellation{flex:1;width:100%;margin:6px 0}.s-name{font-family:var(--font-serif);letter-spacing:.08em;font-size:20px;font-weight:900}.s-date{opacity:.65;font-variant-numeric:tabular-nums;font-size:11px}.s-card.is-now .s-face.front{box-shadow:inset 0 0 0 1.5px var(--gold), 0 0 40px #d4b47a59}.sky-foot{z-index:2;text-align:center;max-width:36em;margin-top:8px;position:relative}.sky-foot p{color:color-mix(in srgb, var(--moon) 75%, transparent);margin:0 0 20px;line-height:1.85}.sky-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.finder{color:#251c3a;background:linear-gradient(#0b1026 0%,#3a2e5e 18%,#c9a9cf 52%,#efe1ef 100%);padding:140px 0 110px;position:relative;overflow:hidden}.finder-big{text-align:center;font-family:var(--font-serif);color:#ffffff47;white-space:nowrap;pointer-events:none;font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:0;font-size:clamp(80px,17vw,260px);font-weight:400;line-height:1;position:absolute;top:46%;left:0;right:0;transform:translateY(-50%)}.finder-grid{grid-template-columns:1fr minmax(240px,340px) 1fr;align-items:center;gap:40px;display:grid;position:relative}.finder-ask h2{font-family:var(--font-serif);color:#fff;text-shadow:0 1px 20px #3a2e5e66;margin:0 0 18px;font-size:clamp(28px,3vw,42px);font-weight:900;line-height:1.3}.finder-inputs{gap:10px;display:flex}.finder-inputs label{color:#fff;flex-direction:column;gap:4px;font-size:13px;display:flex}.finder-inputs select{appearance:none;color:#251c3a;background:#ffffffe6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23251c3a' stroke-width='1.5'/%3E%3C/svg%3E") right 14px center/12px no-repeat;border:0;border-radius:12px;padding:12px 36px 12px 16px;font-size:18px}.finder-hint{color:#ffffffd9;margin:12px 0 0;font-size:13px}.finder-card{animation:flip-in .8s var(--ease-out);background:#0f1530;border-radius:20px;padding:10px;position:relative;box-shadow:0 30px 70px #251c3a73,inset 0 0 0 1px #d4b47a80}.finder-card .thumb{border-radius:12px}@keyframes flip-in{0%{opacity:0;transform:perspective(900px)rotateY(-90deg)}}.fc-plate{white-space:nowrap;color:#251c3a;font-family:var(--font-serif);letter-spacing:.1em;background:#fff;border-radius:999px;align-items:center;gap:8px;padding:6px 18px;font-weight:900;display:flex;position:absolute;bottom:-16px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #251c3a33}.fc-plate .s-glyph{color:#9a7a3c}.finder-say h3{font-family:var(--font-serif);margin:0 0 10px;font-size:30px;font-weight:900}.finder-say p{margin:0 0 12px;line-height:1.85}.sr-meta{opacity:.85;flex-wrap:wrap;align-items:center;gap:10px;font-size:14px;display:flex}.sr-lucky{gap:4px;display:inline-flex}.sr-lucky i{border-radius:50%;width:14px;height:14px;box-shadow:inset 0 0 0 1px #00000026}.sr-buy{flex-wrap:wrap;align-items:center;gap:14px;margin-top:16px;display:flex}.sr-price{font-variant-numeric:tabular-nums;font-size:20px}.sign-rows{color:#1b1838;background:#f8f5fb;padding:100px 0 60px}.rows-title{font-family:var(--font-serif);letter-spacing:.04em;margin:0 0 40px;font-size:clamp(32px,4.4vw,60px);font-weight:900}.sign-row{border-top:1px solid #dcd5e6;grid-template-columns:1fr 240px 1fr;align-items:center;gap:48px;padding:34px 0;display:grid}.sr-for{color:#7a7290;margin:0 0 4px;font-size:14px}.sr-left h3{font-family:var(--font-serif);margin:0 0 20px;font-size:24px;font-weight:900;line-height:1.4}.sr-date{color:#7a7290;font-variant-numeric:tabular-nums;align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.sr-glyph{color:#9a7a3c;font-size:18px}.sr-thumb{background:0 0;border:0;border-radius:14px;padding:0;position:relative;overflow:hidden}.sr-thumb .thumb{border-radius:14px}.sr-lines{opacity:.8;pointer-events:none;width:34%;position:absolute;top:8px;right:8px}.sr-thumb:hover .thumb img{transform:scale(1.05)}.sr-right p{margin:0 0 10px;line-height:1.85}.sr-right .link-btn{color:#1b1838}@supports (animation-timeline:view()){.sign-row{animation:linear both row-in;animation-timeline:view();animation-range:entry cover 28%}@keyframes row-in{0%{opacity:.25;transform:scale(.94)}}}.stars-end{text-align:center;background:#0b1026;padding:96px 0}.stars-end p{font-family:var(--font-serif);margin:0 0 22px;font-size:clamp(26px,3vw,38px);font-weight:900}.sign-modal{z-index:90;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.sm-scrim{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#050816b8;position:absolute;inset:0}.sm-card{width:min(920px,100%);max-height:calc(100vh - 40px);color:var(--moon);background:linear-gradient(160deg, color-mix(in srgb, var(--c) 30%, #1a2150), #0f1530 60%);animation:flip-in .7s var(--ease-out);border-radius:22px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;padding:26px;display:grid;position:relative;overflow:auto;box-shadow:inset 0 0 0 1px #d4b47a80,0 40px 100px #0009}.sm-close{z-index:2;color:var(--moon);background:#0f153099;border:1px solid #ede8f34d;border-radius:999px;padding:4px 14px;font-size:13px;position:absolute;top:16px;right:16px}.sm-media{position:relative}.sm-media .thumb{border-radius:14px}.sm-lines{width:30%;position:absolute;top:10px;left:10px}.sm-info{flex-direction:column;justify-content:center;padding-right:10px;display:flex}.sm-head{opacity:.8;align-items:center;gap:10px;margin:0;font-size:13px;display:flex}.sm-info h2{font-family:var(--font-serif);letter-spacing:.1em;margin:4px 0 10px;font-size:48px;font-weight:900}.sm-meaning{margin:0 0 14px;line-height:1.9}.sm-forms{flex-wrap:wrap;gap:6px;margin-top:16px;display:flex}.sm-forms .chip-btn{color:var(--moon);background:0 0;border-color:#ede8f34d}.sm-forms .chip-btn[aria-pressed=true]{background:var(--moon);color:#0f1530;border-color:var(--moon)}@media (width<=900px){.sky-title{letter-spacing:.03em;font-size:clamp(28px,8.4vw,56px)}.sky-title span{white-space:nowrap}.sky-title span+span{padding-left:.8em}.cloud{height:400px;margin-top:-30px}.s-card{--w:104px;--h:150px;--r:300px}.s-name{font-size:15px}.s-date{display:none}.finder{padding:100px 0 90px}.finder-grid{grid-template-columns:1fr;gap:36px}.finder-card{max-width:320px;margin:0 auto}.sign-row{grid-template-columns:1fr;gap:16px}.sr-thumb{max-width:260px}.sm-card{grid-template-columns:1fr;gap:16px}.sm-info h2{font-size:36px}}@media (prefers-reduced-motion:reduce){.cloud-spin,.sky-dust,.finder-card,.sm-card{animation:none}}.site.fs-page{--paper-fs:#f4eee6;--ink-fs:#2b2724;--ink-soft-fs:#6e6560;--cinnabar:#b5402e;--lotus:#cdb4b6;background:var(--paper-fs);color:var(--ink-fs)}.site.fs-page main{padding-bottom:0}.site.fs-page .site-header .nav-cta{background:var(--cinnabar)}.petals{z-index:20;pointer-events:none;position:fixed;inset:0;overflow:hidden}.petals i{opacity:.75;background:radial-gradient(circle at 30% 30%,#fbe9ec,#e8b4c0);border-radius:70% 0;animation:linear infinite petal-fall;position:absolute;top:-20px}@keyframes petal-fall{0%{transform:translateY(-5vh)rotate(0)}50%{transform:translate(6vw,50vh)rotate(200deg)}to{transform:translate(-3vw,110vh)rotate(420deg)}}.bagua{aspect-ratio:1;max-width:100%;position:relative}.bagua-svg{width:100%;height:100%;display:block;overflow:visible}.bagua-turn{transform:rotate(var(--turn,0deg));transition:transform 1.1s var(--ease-out)}.bg-line{fill:none;stroke:currentColor;stroke-width:.6px}.bg-line.thin{stroke-width:.3px}.bg-tick{stroke:currentColor;stroke-width:.35px}.bg-sector path{fill:#0000;stroke:currentColor;stroke-width:.35px;transition:fill .4s}.bg-tri{fill:currentColor;text-anchor:middle;dominant-baseline:central;font-size:15px;font-family:var(--font-serif)}.bg-dir{fill:currentColor;text-anchor:middle;dominant-baseline:central;font-size:7.5px;font-family:var(--font-serif);letter-spacing:.1em}.bagua.is-live .bg-sector{cursor:pointer;outline:none}.bagua.is-live .bg-sector:hover path{fill:#b5402e12}.bagua.is-live .bg-sector:focus-visible path{stroke:var(--focus);stroke-width:1px}.bagua.is-live .bg-sector.is-on path{fill:var(--cinnabar);stroke:var(--cinnabar)}.bagua.is-live .bg-sector.is-on text{fill:#fff8f0}.taiji .tj-w{fill:#f8f3ec;stroke:currentColor;stroke-width:.6px}.taiji .tj-b{fill:currentColor}.taiji{transform-origin:0 0;animation:40s linear infinite taiji}@keyframes taiji{to{transform:rotate(360deg)}}.bagua-center{border-radius:50%;position:absolute;inset:28.5%;overflow:hidden}.bagua-north{color:var(--cinnabar);font-size:12px;position:absolute;top:-18px;left:50%;transform:translate(-50%)}.fs-hero{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.fs-ink{color:#3a3330;isolation:isolate;background:#efe6da;position:relative;overflow:hidden}.wash{filter:blur(40px);opacity:.55;z-index:-1;border-radius:50%;position:absolute}.wash.w1{background:#6f8e6b;width:60%;height:50%;top:6%;left:-10%}.wash.w2{background:#c97a86;width:50%;height:44%;top:40%;right:-8%}.wash.w3{background:#d8b46a;width:46%;height:40%;bottom:-12%;left:20%}.fs-ink:after{content:"";mix-blend-mode:overlay;background:repeating-radial-gradient(circle at 30% 20%,#ffffff0d 0 2px,#0000 2px 5px);position:absolute;inset:0}.fs-ink-ring{opacity:.78;width:min(120%,760px);position:absolute;top:52%;left:50%;transform:translate(-50%,-50%)}.fs-ink-ring .bagua{width:100%!important}.fs-ink-ring .bagua-turn{animation:120s linear infinite slow-turn}@keyframes slow-turn{to{transform:rotate(360deg)}}.fs-hero-copy{flex-direction:column;justify-content:center;padding:120px max(32px,6vw) 80px;display:flex;position:relative}.seal{background:var(--cinnabar);color:#fbefe6;width:64px;height:64px;font-family:var(--font-serif);letter-spacing:.1em;box-shadow:inset 0 0 0 3px var(--cinnabar), inset 0 0 0 4px #fbefe699;border-radius:4px;place-items:center;font-size:15px;font-weight:900;line-height:1.15;display:grid;position:absolute;top:120px;right:max(32px,6vw);transform:rotate(4deg)}.fs-hero-copy h1{font-family:var(--font-serif);letter-spacing:.05em;margin:0 0 24px;font-size:clamp(34px,3.9vw,62px);font-weight:900;line-height:1.25}.fs-hero-copy h1 span{white-space:nowrap;display:block}.fs-hero-copy h1 span+span{color:var(--cinnabar)}.fs-hero-copy p{color:var(--ink-soft-fs);max-width:28em;margin:0 0 30px;font-size:16px;line-height:2}.fs-actions{flex-wrap:wrap;gap:10px;display:flex}.fs-page .btn.ink{background:var(--ink-fs)}.fs-page .btn.ghost{border-color:#2b27244d}.fs-compass{background:var(--paper-fs);padding:120px 0}.fs-compass-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:64px;display:grid}.fs-ring-wrap{color:var(--ink-fs);place-items:center;display:grid}.fs-ring-wrap .bagua{width:min(520px,100%)!important}.fs-center{width:100%;height:100%;animation:ink-in .8s var(--ease-out);display:block}.fs-center .thumb{border-radius:50%;height:100%}@keyframes ink-in{0%{opacity:0;filter:blur(6px);transform:scale(.9)}}.fs-panel{animation:ink-in .6s var(--ease-out)}.fs-dir{color:var(--cinnabar);font-family:var(--font-serif);letter-spacing:.08em;align-items:center;gap:10px;margin:0 0 6px;display:flex}.fs-tri{font-size:26px;line-height:1}.fs-panel h2{font-family:var(--font-serif);letter-spacing:.1em;margin:0 0 12px;font-size:clamp(44px,5vw,72px);font-weight:900;line-height:1.1}.fs-meaning{font-family:var(--font-serif);margin:0 0 20px;font-size:17px;line-height:2}.fs-facts{border-top:1px solid #2b27242e;margin:0 0 8px}.fs-facts div{border-bottom:1px solid #2b27242e;grid-template-columns:5em 1fr;gap:12px;padding:12px 0;display:grid}.fs-facts dt{color:var(--ink-soft-fs);font-size:14px}.fs-facts dd{margin:0;font-size:15px;line-height:1.7}.fs-colors{align-items:center;gap:6px;display:flex}.fs-colors i{border-radius:50%;width:20px;height:20px;box-shadow:inset 0 0 0 1px #00000026}.fs-panel .sr-price small{color:var(--ink-soft-fs);margin-left:4px;font-size:13px}.fs-panel .btn.primary{background:var(--cinnabar)}.fs-panel .btn.primary:hover{background:#95301f}.fs-three{background:linear-gradient(180deg, var(--paper-fs), #ebe1d8);padding:40px 0 140px}.fs-three h2,.fs-shop-head h2{font-family:var(--font-serif);letter-spacing:.08em;margin:0 0 40px;font-size:clamp(32px,4vw,54px);font-weight:900}.fs-cards{grid-template-columns:repeat(3,1fr);align-items:start;gap:28px;display:grid}.fs-card{background:#fbf7f1;border:1px solid #2b27241f;padding:0 0 26px;box-shadow:0 20px 40px #3c281e14}.fs-card:nth-child(2){margin-top:56px}.fs-card:nth-child(3){margin-top:18px}.fs-card svg{fill:none;width:100%;height:170px;stroke:var(--ink-fs);stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round;border-bottom:1px solid #2b27241f;padding:24px 30px 18px;display:block}.fs-card h3{font-family:var(--font-serif);margin:20px 26px 8px;font-size:24px;font-weight:900}.fs-card p{color:var(--ink-soft-fs);margin:0 26px;line-height:1.9}.fs-shop{background:var(--lotus);padding:70px 0 110px;position:relative}.torn{width:100%;height:40px;position:absolute;top:-38px;left:0;right:0}.torn path{fill:var(--lotus)}.fs-shop-head{grid-template-columns:auto 1fr;align-items:end;gap:40px;margin-bottom:36px;display:grid}.fs-shop-head h2{margin:0}.fs-shop-head p{color:#4a3d3e;max-width:30em;margin:0}.fs-shop .p-lead,.fs-shop .p-price small{color:#5e4f50}.fs-shop .p-add:hover{background:var(--cinnabar)}.fs-note{color:#4a3d3e;max-width:40em;margin:48px 0 0;font-size:14px}@media (width<=900px){.fs-hero{grid-template-columns:1fr}.fs-ink{order:2;height:52vh}.fs-hero-copy{padding:100px 20px 48px}.seal{width:52px;height:52px;font-size:12px;top:92px;right:20px}.fs-compass{padding:72px 0}.fs-compass-grid{grid-template-columns:1fr;gap:40px}.fs-cards{grid-template-columns:1fr}.fs-card:nth-child(n){margin-top:0}.fs-shop-head{grid-template-columns:1fr;gap:10px}}@media (prefers-reduced-motion:reduce){.petals{display:none}.taiji,.fs-ink-ring .bagua-turn{animation:none}.bagua-turn{transition:none}}.site.diy-page{color:#fff;background:#2b45d4}.site.diy-page main{padding-bottom:0}.site.diy-page .site-header.tone-dark.is-scrolled{background:#172064cc}.site.diy-page .site-nav .nav-cta{color:#172064;background:#f7dc4a}.btn.ghost-white{color:#fff;background:0 0;border-color:#fff9}.btn.ghost-white:hover{background:#ffffff14;border-color:#fff}.diy-h2{font-family:var(--font-ui);letter-spacing:-.01em;margin:0;font-size:clamp(40px,6vw,92px);font-weight:900;line-height:1.05}.clay-stage{background:#2b45d4;position:relative}.clay-canvas{z-index:0;height:100vh;position:sticky;top:0}.clay-hero,.clay-manifesto{z-index:1;height:100vh;min-height:600px;position:relative}.clay-hero{pointer-events:none;align-items:center;margin-top:-100vh;display:flex}.clay-hero-copy{pointer-events:auto;width:min(620px,52vw);margin-left:max(24px,50% - 620px)}.clay-hero h1{font-family:var(--font-ui);letter-spacing:-.02em;margin:0 0 26px;font-size:clamp(54px,8.4vw,132px);font-weight:900;line-height:1.02}.clay-hero h1 span{display:block}.clay-hero p{color:#ffffffdb;max-width:26em;margin:0 0 28px;font-size:17px;line-height:1.8}.clay-manifesto{pointer-events:none;place-items:center;padding:0 24px;display:grid}.manifesto{text-align:center;max-width:15em;font-family:var(--font-ui);margin:0;font-size:clamp(34px,5vw,78px);font-weight:900;line-height:1.25}.manifesto span{color:#0000;-webkit-text-stroke:1.4px #ffffff80;transition:color .25s,-webkit-text-stroke-color .25s}.manifesto span.on{color:#fff;-webkit-text-stroke-color:#fff}.diy-steps{background:#e5487a;padding:110px 0 90px}.diy-steps .diy-h2{margin-bottom:44px}.step-track{scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#ffffff80 transparent;grid-auto-columns:minmax(260px,300px);grid-auto-flow:column;gap:20px;margin:0;padding:0 max(20px,50% - 620px) 24px;scroll-padding-inline:max(20px,50% - 620px);list-style:none;display:grid;overflow-x:auto}.step-card{scroll-snap-align:start;border:1.5px solid #ffffff8c;border-radius:22px;flex-direction:column;min-height:380px;padding:26px;display:flex;position:relative}.step-shape{filter:drop-shadow(0 14px 16px #500a284d);width:110px;height:110px;margin:0 auto 22px;display:block}.step-shape svg{width:100%;height:100%}.step-card:nth-child(odd) .step-shape{transform:rotate(-6deg)}.step-no{opacity:.8;font-variant-numeric:tabular-nums;font-size:15px;font-weight:900}.step-card h3{letter-spacing:.02em;margin:2px 0 10px;font-size:40px;font-weight:900}.step-card p{color:#ffffffe6;margin:0;line-height:1.75}.diy-forms{color:#172064;background:#f7efe6;padding:110px 0 100px}.forms-head{justify-content:space-between;align-items:end;gap:20px;margin-bottom:40px;display:flex}.forms-nav{align-items:center;gap:10px;display:flex}.forms-count{font-variant-numeric:tabular-nums;margin-right:8px;font-weight:900}.forms-nav button{color:#172064;background:0 0;border:1.5px solid #172064;border-radius:50%;width:48px;height:48px;font-size:24px;line-height:1}.forms-nav button:hover{color:#f7efe6;background:#172064}.forms-track{scroll-snap-type:x mandatory;scrollbar-width:none;gap:20px;padding:0 max(20px,50% - 620px);scroll-padding-inline:max(20px,50% - 620px);display:flex;overflow-x:auto}.forms-track::-webkit-scrollbar{display:none}.form-card{scroll-snap-align:start;background:var(--fc);border-radius:6px;flex:none;grid-template-columns:.85fr 1fr;width:min(760px,86vw);min-height:380px;display:grid;overflow:hidden}.form-card:nth-child(3) .form-side,.form-card:nth-child(4) .form-side{color:#172064}.form-side{color:#fff;flex-direction:column;padding:34px 30px;display:flex}.form-side h3{margin:0 0 14px;font-size:clamp(44px,5vw,72px);font-weight:900;line-height:1}.form-tag{margin:0 0 auto;font-size:17px}.form-size{opacity:.85;margin:20px 0 16px;font-size:13px;line-height:1.8}.form-go{color:inherit;background:0 0;border:1.5px solid;border-radius:4px;align-self:flex-start;padding:10px 16px;font-size:14px;font-weight:700}.form-go:hover{background:#ffffff2e}.form-card img{object-fit:cover;width:100%;height:100%;display:block}.forms-bar{background:#1720642e;height:2px;margin-top:34px;position:relative}.forms-bar i{transition:width .4s var(--ease-out);background:#172064;position:absolute;top:0;bottom:0;left:0}.diy-kits{color:#172064;background:#f7dc4a;padding:110px 0}.kits-head{grid-template-columns:1.2fr 1fr;align-items:end;gap:40px;margin-bottom:44px;display:grid}.kits-head p{margin:0;font-size:17px;line-height:1.8}.diy-kits .p-lead,.diy-kits .p-price small{color:#3a437f}.diy-kits .p-name{font-family:var(--font-ui);font-weight:900}.diy-kits .p-add:hover{background:#172064}.diy-final{text-align:center;background:#172064;padding:120px 0 130px}.diy-final h2{letter-spacing:-.02em;margin:0 0 12px;font-size:clamp(48px,8vw,120px);font-weight:900}.diy-final p{color:#fffc;margin:0 0 28px}@media (width<=900px){.clay-hero{align-items:flex-start;padding-top:110px}.clay-hero-copy{width:auto;margin:0 20px}.clay-hero h1{font-size:56px}.form-card{grid-template-columns:1fr}.form-card img{order:-1;height:220px}.kits-head{grid-template-columns:1fr;gap:14px}}@media (prefers-reduced-motion:reduce){.manifesto span{transition:none}}.studio2{--st-paper:#fbf8f6;--st-paper-2:#f3ece8;--st-line:#e6dcd6;background:var(--night);grid-template:"top top""stage panel"minmax(0,1fr)/minmax(0,1fr) 440px;height:100dvh;display:grid}.st-top{background:var(--night);color:var(--moon);border-bottom:1px solid #d4b47a2e;grid-area:top;align-items:center;gap:20px;padding:10px 20px;display:flex}.st-brand{color:inherit;white-space:nowrap;align-items:baseline;gap:10px;text-decoration:none;display:flex}.st-brand .brand-mark{font-family:var(--font-serif);letter-spacing:.12em;font-size:24px;font-weight:900}.st-brand-sub{opacity:.7;letter-spacing:.06em;text-overflow:ellipsis;max-width:14em;font-size:12px;overflow:hidden}.st-steps{counter-reset:st;align-items:center;margin:0 auto;padding:0;list-style:none;display:flex}.st-steps li{align-items:center;display:flex}.st-steps li+li:before{content:"";background:#d4b47a59;width:34px;height:1px;margin:0 4px}.st-step{color:#ede8f39e;text-align:left;background:0 0;border:0;border-radius:999px;align-items:center;gap:10px;padding:6px 12px 6px 6px;display:flex}.st-step:not(:disabled):hover{color:var(--moon);background:#ede8f312}.st-step:disabled{opacity:.35}.st-step-num{width:28px;height:28px;font-family:var(--font-serif);border:1px solid;border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.st-step-text{flex-direction:column;line-height:1.2;display:flex}.st-step-label{font-size:14px;font-weight:500}.st-step-hint{opacity:.65;font-size:11px}.st-step.is-done{color:var(--gold)}.st-step.is-done .st-step-num{background:#d4b47a26}.st-step.is-current{color:var(--moon)}.st-step.is-current .st-step-num{background:var(--rouge);border-color:var(--rouge);color:#fff;box-shadow:0 0 0 4px #b83b6640}.st-actions{align-items:center;gap:10px;display:flex}.st-top-link{color:inherit;white-space:nowrap;border:1px solid #ede8f338;border-radius:999px;padding:6px 12px;font-size:13px;text-decoration:none;position:relative}.st-top-link:hover{border-color:var(--moon)}.st-top-link.back{opacity:.7;border-color:#0000}.st-top-link.back:hover{opacity:1}.st-badge{background:var(--gold);min-width:18px;color:var(--night);text-align:center;border-radius:999px;margin-left:6px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px;display:inline-block}.st-top .cart-btn{color:var(--moon)}.st-stage{touch-action:none;background:radial-gradient(ellipse 46% 36% at 50% 88%, #d4b47a1f, transparent 70%), radial-gradient(ellipse 60% 58% at 50% 44%, #1e3a41 0%, #11252a 55%, var(--night) 100%);grid-area:stage;min-height:0;position:relative;overflow:hidden}.st-stage canvas{display:block}.st-empty{color:#ede8f399;place-items:center;display:grid;position:absolute;inset:0}.st-tools{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex;position:absolute;top:14px;right:14px}.st-chip{color:var(--moon);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0c1a1e8c;border:1px solid #ede8f340;border-radius:999px;padding:5px 14px;font-size:13px}.st-chip:hover:not(:disabled){border-color:var(--gold)}.st-chip:disabled{opacity:.35}.st-chip[aria-pressed=true]{border-color:var(--gold);color:#f6e7c4}.st-hint{color:#ede8f380;pointer-events:none;margin:0;font-size:12px;position:absolute;bottom:12px;right:16px}.st-editing{max-width:calc(100% - 220px);color:var(--night);background:var(--gold);border-radius:999px;margin:0;padding:7px 14px;font-size:13px;position:absolute;top:14px;left:16px;box-shadow:0 6px 18px #0000004d}.st-link{text-underline-offset:3px;color:inherit;background:0 0;border:0;margin-left:10px;padding:0;font-size:13px;text-decoration:underline}.studio2 .meaning{border-top-color:var(--gold);background:#fbf7f1}.st-panel{background:var(--st-paper);min-height:0;color:var(--ink);--line:var(--st-line);--card:#fff;flex-direction:column;grid-area:panel;display:flex}.st-sheet-handle{display:none}.st-panel-body{overscroll-behavior:contain;flex:1;padding:26px 26px 34px;overflow-y:auto}.st-title{font-family:var(--font-serif);letter-spacing:.04em;margin:0 0 6px;font-size:30px;font-weight:900;line-height:1.25}.st-lead{color:var(--muted);margin:0 0 20px;font-size:14px;line-height:1.75}.st-note{color:var(--muted);margin:10px 0 18px;font-size:13px;line-height:1.7}.st-h2{font-family:var(--font-serif);margin:22px 0 10px;font-size:18px;font-weight:700}.form-tabs{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.form-tab{border:1px solid var(--st-line);color:var(--ink-soft);background:#fff;border-radius:12px;flex-direction:column;align-items:center;gap:2px;min-width:0;padding:10px 2px 9px;display:flex}.form-tab svg{color:#8b7d76;width:34px;height:34px}.form-tab:hover{border-color:#c9b8b0}.form-tab[aria-checked=true]{background:var(--night);border-color:var(--night);color:var(--moon)}.form-tab[aria-checked=true] svg{color:var(--gold)}.form-tab-name{white-space:nowrap;font-size:13px;font-weight:500}.form-tab-price{opacity:.7;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:10.5px}.series-pick{border:1px solid var(--st-line);background:#fff;border-radius:12px;margin:4px 0 6px;padding:0 14px}.series-pick summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;font-size:14px;font-weight:500;list-style:none;display:flex}.series-pick summary::-webkit-details-marker{display:none}.series-pick summary:after{content:"＋";color:var(--muted);font-weight:400}.series-pick[open] summary:after{content:"－"}.series-pick summary small{color:var(--muted);margin-left:auto;font-weight:400}.series-pick-on{color:var(--rouge-ink);align-items:center;gap:6px;margin-left:auto;font-size:13px;display:inline-flex}.series-pick[open]{padding-bottom:14px}.start-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.start-card{text-align:left;border:1px solid var(--st-line);background:#fff;border-radius:14px;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:6px 6px 10px;display:flex}.start-card:hover{border-color:#c9b8b0}.start-card.is-selected{border-color:var(--rouge);box-shadow:0 0 0 1px var(--rouge)}.start-card .thumb,.start-card img{aspect-ratio:1;object-fit:cover;border-radius:10px;width:100%;display:block}.start-card>:first-child{width:100%;margin-bottom:6px}.start-name{font-family:var(--font-serif);padding:0 6px;font-size:16px;font-weight:700}.start-price{color:var(--muted);font-variant-numeric:tabular-nums;padding:0 6px;font-size:12px}.start-card.plain{text-align:center;background:0 0;border-style:dashed;justify-content:center;align-items:center;min-height:150px}.start-card.plain .start-icon{width:auto;color:var(--rouge);margin:0 0 6px}.tune-tabs{border-bottom:1px solid var(--st-line);gap:22px;margin:10px 0 18px;display:flex}.tune-tabs button{color:var(--muted);background:0 0;border:0;padding:8px 0 10px;font-size:15px;position:relative}.tune-tabs button[aria-selected=true]{color:var(--ink);font-weight:700}.tune-tabs button[aria-selected=true]:after{content:"";background:var(--rouge);height:2px;position:absolute;bottom:-1px;left:0;right:0}.st-panel .slot-chip{border-color:#d6c8c1}.st-panel .slot-chip.is-filled{background:#fff}.picker-head h2{font-family:var(--font-serif);align-items:baseline;gap:8px;font-weight:700;display:flex}.picker-head h2 small{font-family:var(--font-ui);color:var(--muted);font-size:12px;font-weight:400}.item-cards{grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}.item-card{border:1px solid var(--st-line);background:#fff;border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.item-card.is-selected{border-color:var(--rouge);box-shadow:0 0 0 1px var(--rouge)}.item-card-main{text-align:left;background:0 0;border:0;flex-direction:column;gap:2px;padding:0 0 8px;display:flex}.item-thumb{aspect-ratio:4/3;background:linear-gradient(#f7f2ec,#e9dfd4);place-items:center;margin-bottom:6px;display:grid;overflow:hidden}.item-thumb img{object-fit:cover;width:100%;height:100%}.item-thumb i{aspect-ratio:1;border-radius:50%;width:38%;box-shadow:inset 0 -6px 12px #0000001f}.item-card-name{justify-content:space-between;align-items:baseline;padding:0 10px;font-weight:500;display:flex}.item-card-name small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:400}.item-card-meaning{color:var(--muted);font-size:12px;font-family:var(--font-hand);padding:0 10px;line-height:1.45}.item-card-colors{flex-wrap:wrap;gap:6px;padding:0 10px 10px;display:flex}.dot.sm{width:22px;height:22px}.picker-more{flex-direction:column;gap:6px;display:flex}.flower-tab>.st-note{margin-top:0}.fl-group{border-top:1px solid var(--st-line);padding:14px 0 16px}.fl-group:first-of-type{border-top:0;padding-top:4px}.fl-group .slot-role{font-family:var(--font-serif);margin-bottom:10px;font-size:16px}.fl-group .slot-role small{font-family:var(--font-ui);margin-left:auto;font-size:12px}.fl-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.fl-row{border:1px solid var(--st-line);background:#fff;border-radius:14px;scroll-margin:12px;transition:border-color .15s,box-shadow .15s}.fl-row.is-open{border-color:var(--rouge);box-shadow:0 0 0 1px var(--rouge)}.fl-row-main{align-items:center;gap:8px;padding:6px 8px 6px 6px;display:flex}.fl-row-info{text-align:left;background:0 0;border:0;border-radius:10px;flex:1;align-items:center;gap:12px;min-width:0;padding:0;display:flex}.fl-thumb{background:linear-gradient(#f7f2ec,#e9dfd4);border-radius:10px;flex:none;place-items:center;width:52px;height:52px;display:grid;overflow:hidden}.fl-thumb img{object-fit:cover;width:100%;height:100%}.fl-thumb i{aspect-ratio:1;border-radius:50%;width:46%}.fl-name{flex-direction:column;gap:2px;min-width:0;font-size:15px;font-weight:500;display:flex}.fl-name small{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:400;display:flex}.fl-name small i{border-radius:50%;width:9px;height:9px;box-shadow:inset 0 0 0 1px #00000026}.fl-fixed{color:var(--muted);font-variant-numeric:tabular-nums;padding-right:8px;font-size:13px}.stepper{border:1px solid var(--st-line);background:#fbf8f6;border-radius:999px;flex:none;align-items:center;display:flex}.stepper button{width:34px;height:34px;color:var(--ink);background:0 0;border:0;border-radius:50%;font-size:17px;line-height:1}.stepper button:hover:not(:disabled){color:var(--rouge);background:#f1e6e9}.stepper button:disabled{color:#c9bfbb}.stepper output{text-align:center;font-variant-numeric:tabular-nums;min-width:22px;font-weight:700}.fl-swap,.fl-locked-note{border-top:1px dashed var(--st-line);margin:0 10px;padding:12px 0 2px}.fl-locked-note{color:var(--muted);padding-bottom:12px;font-size:13px}.fl-add-head{color:var(--muted);justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px;font-size:13px;display:flex}.fl-add-head .link{flex:none;font-size:13px}.fl-add{width:100%;color:var(--rouge);text-align:left;background:0 0;border:1px dashed #d6c8c1;border-radius:14px;margin-top:8px;padding:11px 14px;font-size:14px;transition:background .15s,border-color .15s}.fl-add:hover{border-color:var(--rouge);background:#fff}.fl-add-picker{border:1px solid var(--rouge);background:#fff;border-radius:14px;margin-top:8px;padding:12px}.fl-add-picker .item-cards,.fl-swap .item-cards{margin-bottom:8px}.palette-list{gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}.palette{border:1px solid var(--st-line);text-align:left;background:#fff;border-radius:14px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:14px;width:100%;padding:12px 14px;display:grid}.palette:hover{border-color:#c9b8b0}.palette.is-selected{border-color:var(--rouge);box-shadow:0 0 0 1px var(--rouge)}.palette-sw{grid-row:1/3;padding-bottom:8px;display:flex;position:relative}.palette-sw i{border-radius:50%;width:26px;height:26px;box-shadow:0 0 0 2px #fff,inset 0 0 0 1px #0000001a}.palette-sw i+i{margin-left:-8px}.palette-sw b{border-radius:3px;height:5px;position:absolute;bottom:0;left:4px;right:4px;box-shadow:inset 0 0 0 1px #0000001a}.palette-name{font-family:var(--font-serif);font-size:16px;font-weight:700}.palette-note{color:var(--muted);font-size:12px}.st-done-actions{flex-direction:column;align-items:stretch;gap:8px;margin:18px 0 22px;display:flex}.st-done-actions .link{align-self:center}.btn.lg{padding:12px 20px;font-size:15px}.keep{border-top:1px solid var(--st-line);flex-direction:column;gap:8px;margin-top:8px;padding-top:4px;display:flex}.keep .st-h2{margin-bottom:4px}.keep-row{gap:8px;display:flex}.keep-row input{border:1px solid var(--st-line);border-radius:var(--radius-s);background:#fff;flex:1;min-width:0;padding:8px 10px}.keep p{margin:0}.share-out{word-break:break-all}.st-foot{border-top:1px solid var(--st-line);background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:12px 22px;display:flex}.st-price{flex-direction:column;min-width:0;line-height:1.25;display:flex}.st-price-value{font-family:var(--font-serif);font-variant-numeric:tabular-nums;font-size:22px;font-weight:900}.st-price-parts{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11.5px}.st-free{color:#9a7a3c;font-size:11.5px}.st-nav{gap:8px;display:flex}.st-panel .btn.primary{background:var(--rouge)}.st-panel .btn.primary:hover:not(:disabled){background:var(--rouge-ink)}.custom-tag{vertical-align:1px;background:var(--night);color:var(--gold);border-radius:999px;margin-right:6px;padding:0 7px;font-size:11px;font-weight:500;line-height:18px;display:inline-block}.dl-edit{align-self:flex-start;font-size:12px}.cl-custom{color:var(--ink-soft);flex-wrap:wrap;gap:4px 10px;margin-top:4px;font-size:12px;display:flex}.cl-custom span{font-family:var(--font-hand)}.cl-acts{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.checkout textarea{border:1px solid var(--line);resize:vertical;font:inherit;background:#fff;border-radius:8px;padding:10px 12px}.done-serials{text-align:left;max-width:420px;margin:10px auto 16px;padding:0;list-style:none}.done-serials li{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:8px 0;font-size:14px;display:flex}.done-serials span{color:var(--muted);font-variant-numeric:tabular-nums}.works-btn{border:1px solid color-mix(in srgb, currentColor 30%, transparent);width:40px;height:40px;color:inherit;border-radius:50%;place-items:center;text-decoration:none;display:grid;position:relative}.works-btn:hover,.works-btn[aria-current=page]{border-color:currentColor}.works-btn .cart-count{background:var(--gold);color:var(--night)}.mine{padding:56px 0 90px}.mine-head h1{font-family:var(--font-serif);margin:0 0 8px;font-size:clamp(32px,4vw,48px);font-weight:900}.mine-head p{color:var(--muted);max-width:40em;margin:0 0 32px;line-height:1.8}.mine-empty{text-align:center;border:1px dashed var(--line);border-radius:18px;padding:70px 20px}.mine-empty h1{font-family:var(--font-serif)}.mine-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin:0;padding:0;list-style:none;display:grid}.mine-card{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.mine-thumb{background:var(--night);border:0;padding:0;display:block}.mine-thumb img,.mine-thumb .thumb{aspect-ratio:1;object-fit:cover;width:100%;display:block}.mine-body{padding:14px 16px 16px}.mine-name{width:100%;font-family:var(--font-serif);background:0 0;border:0;border-bottom:1px dashed #0000;padding:2px 0;font-size:19px;font-weight:700}.mine-name:hover,.mine-name:focus{border-bottom-color:var(--line);outline:none}.mine-body p{margin:4px 0 12px}.mine-acts{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.share-page{background:var(--night);color:var(--moon)}.share-hero{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;min-height:100vh;display:grid}.share-stage{background:radial-gradient(ellipse 60% 55% at 50% 48%, #1e3a41 0%, var(--night) 75%);height:100vh;min-height:520px}.share-copy{padding:120px max(28px,6vw) 80px 20px}.share-kicker{color:var(--gold);letter-spacing:.12em;margin:0 0 10px;font-size:13px}.share-copy h1{font-family:var(--font-serif);margin:0 0 22px;font-size:clamp(34px,4vw,56px);font-weight:900;line-height:1.2}.share-meanings{font-family:var(--font-hand);color:#ede8f3d9;margin:0 0 24px;padding:0;font-size:17px;line-height:1.9;list-style:none}.share-meanings li:before{content:"✿ ";color:var(--rouge)}.share-price{font-family:var(--font-serif);flex-direction:column;margin:0 0 22px;font-size:28px;font-weight:900;display:flex}.share-price small{font-family:var(--font-ui);opacity:.65;font-size:13px;font-weight:400}.share-acts{flex-wrap:wrap;gap:10px;display:flex}.share-note{opacity:.55;margin-top:18px;font-size:12px}@media (width<=1100px){.st-step-hint{display:none}.st-steps li+li:before{width:16px}.st-top-link.back{display:none}}@media (width<=900px){.studio2{transition:grid-template-rows .35s var(--ease-out);grid-template:"top""stage"minmax(0,1fr)"panel"46dvh/1fr}.studio2.sheet-open{grid-template-rows:auto minmax(0,1fr) 62dvh}.st-top{flex-wrap:wrap;gap:6px 12px;padding:8px 14px}.st-brand-sub{display:none}.st-steps{order:3;justify-content:space-between;width:100%;margin:0}.st-steps li{flex:1}.st-steps li+li:before{flex:1;width:auto;min-width:6px}.st-step{gap:6px;padding:4px}.st-step-num{width:24px;height:24px;font-size:12px}.st-step-label{font-size:13px}.st-actions{margin-left:auto}.st-top-link{padding:5px 10px;font-size:12px}.st-panel{z-index:2;border-radius:18px 18px 0 0;margin-top:-18px;position:relative;box-shadow:0 -10px 30px #00000059}.st-sheet-handle{color:var(--muted);background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;padding:8px 0 2px;font-size:11px;display:flex}.st-sheet-handle span{background:#d6c8c1;border-radius:2px;width:40px;height:4px}.st-panel-body{padding:10px 16px 24px}.st-title{font-size:24px}.st-foot{padding:10px 16px}.st-price-value{font-size:19px}.st-free,.st-price-parts,.st-hint{display:none}.st-editing{max-width:calc(100% - 28px);font-size:12px;top:auto;bottom:30px}.studio2 .meaning{display:none}.form-tabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.form-tab{padding:8px 0}.form-tab svg{width:26px;height:26px}.form-tab-price{display:none}.st-tools{top:10px;right:10px}.st-chip{padding:4px 11px;font-size:12px}.share-hero{grid-template-columns:1fr}.share-stage{height:58vh;min-height:360px}.share-copy{padding:24px 20px 60px}}@media (prefers-reduced-motion:reduce){.studio2{transition:none}}@media (width<=980px){.site-header .works-btn{margin-left:auto}.site-header .works-btn+.cart-btn{margin-left:0}}.ax-h2{font-family:var(--font-hand);margin:26px 0 10px;font-size:22px}.ax-occasions{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-m);padding:12px 14px}.ax-occasions summary{cursor:pointer;font-weight:700}.ax-occasions .admin-table{margin-top:6px}.ax-add{margin:12px 0 0}.admin-table td textarea{resize:vertical;min-width:260px}.slot-editor .admin-head h1{margin-top:6px}.se-layout{grid-template-columns:minmax(0,1fr) 420px;align-items:start;gap:16px;display:grid}.se-stage{border-radius:var(--radius-m);background:radial-gradient(ellipse 70% 55% at 50% 42%, #ffffff17, transparent 70%), linear-gradient(180deg, var(--stage-top), var(--stage-bot));height:min(72vh,680px);position:sticky;top:12px;overflow:hidden}.se-panel{flex-direction:column;gap:12px;display:flex}.se-tools{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.se-tools select{flex:1;width:auto!important}.se-selected{background:var(--card);border:1px solid var(--rouge);border-radius:var(--radius-m);padding:8px 12px}.se-selected h2{font-family:var(--font-hand);margin:0;font-size:20px}.se-selected p{font-variant-numeric:tabular-nums;margin:2px 0 0}.se-list{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--card);max-height:46vh;margin:0;padding:0;list-style:none;overflow-y:auto}.se-row{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:12px minmax(0,1fr) 76px 110px auto;align-items:center;gap:6px;padding:6px 10px;display:grid}.se-row:last-child{border-bottom:0}.se-row.is-selected{background:#f6e9ee}.se-row input:not([type=range]),.se-row select{font-size:13px;padding:4px 6px!important}.se-dot{border-radius:50%;width:12px;height:12px;box-shadow:inset 0 0 0 1px #00000026}.se-scale{align-items:center;gap:4px;display:flex}.se-scale input{width:70px;accent-color:var(--rouge)}.se-add,.se-actions{flex-wrap:wrap;gap:8px;display:flex}.se-add select{width:auto!important}.ax-serial{color:var(--muted);font-variant-numeric:tabular-nums;margin:-6px 0 14px}.ax-addon-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:12px;display:grid}.ax-addon{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-m);padding:10px 14px}.ax-addon h3{margin:0 0 4px;font-size:14px}.ax-addon p{margin:2px 0}.ax-tag{font-family:var(--font-hand);color:#8a6a2a;font-size:22px}.ax-nfc{flex-wrap:wrap;align-items:flex-start;gap:18px;display:flex}.ax-qr{border:1px solid var(--line);border-radius:var(--radius-s);background:#fff;width:140px;height:140px}.ax-nfc>div{flex:1;min-width:240px}.ax-nfc p{margin:2px 0 6px}.ax-url{word-break:break-all;font-size:13px}.ax-photos{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin-top:12px;display:grid}.ax-photos img{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-s);width:100%}.ax-song{margin-top:12px}@media (width<=900px){.se-layout{grid-template-columns:1fr}.se-stage{height:52vh;position:relative;top:0}.se-list{max-height:none}}@media print{.ax-photos{grid-template-columns:repeat(5,1fr)}}.recipe-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;padding:6px 0;display:grid}.recipe-cell{flex-direction:column;gap:4px;font-size:13px;display:flex}.recipe-cell select{width:100%}
