:root{--paper:#faf5ea;--paper-2:#f3ead6;--card:#fffdf8;--ink:#2a2622;--muted:#7a6f62;--line:#e2d4b4;--indigo:#1f3b73;--indigo-2:#2d4f93;--gold:#b8923a;--gold-soft:#efe3c3;--cinnabar:#b23a3a;--ok:#3f7a4a;--serif:"Noto Serif TC", "Songti TC", "PMingLiU", serif;--sans:"Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;--radius:4px;--meander:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12' viewBox='0 0 24 12'%3E%3Cpath d='M0 11h10V3H4v5h3V6' fill='none' stroke='%23b8923a' stroke-width='1.2'/%3E%3Cpath d='M12 11h10V3h-6v5h3V6' fill='none' stroke='%23b8923a' stroke-width='1.2'/%3E%3C/svg%3E")}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--sans);letter-spacing:.02em;background-image:radial-gradient(circle at 12% 8%,#b8923a12,#0000 40%),radial-gradient(circle at 88% 70%,#1f3b730d,#0000 45%);margin:0;font-size:16px;line-height:1.75}a{color:var(--indigo);text-decoration:none}a:hover{color:var(--cinnabar)}img{max-width:100%;display:block}h1,h2,h3{font-family:var(--serif);letter-spacing:.08em;color:var(--ink);font-weight:700;line-height:1.4}.container{max-width:1120px;margin:0 auto;padding:0 16px}.meander{background:var(--meander) repeat-x;opacity:.8;height:12px}.announce{background:var(--indigo);color:#f6ecd2;text-align:center;letter-spacing:.12em;padding:6px 12px;font-size:13px}.site-header{background:color-mix(in srgb, var(--paper) 94%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:20;border-bottom:1px solid var(--line);position:sticky;top:0}.site-header .bar{justify-content:space-between;align-items:center;gap:12px;height:68px;display:flex}.brand{color:var(--ink);align-items:center;gap:12px;display:flex}.seal{background:var(--cinnabar);color:#fff4e6;width:44px;height:44px;font-family:var(--serif);box-shadow:inset 0 0 0 2px var(--cinnabar), inset 0 0 0 3.5px #f3d9c9;border-radius:6px;flex-direction:column;flex:none;justify-content:center;align-items:center;font-size:15px;font-weight:700;line-height:1.05;display:flex}.brand-name{font-family:var(--serif);letter-spacing:.12em;font-size:20px;font-weight:700;line-height:1.2}.brand-sub{color:var(--muted);letter-spacing:.2em;font-size:11.5px}.nav{align-items:center;gap:4px;display:flex}.nav a{color:var(--ink);font-family:var(--serif);letter-spacing:.12em;border-radius:var(--radius);padding:8px 12px;position:relative}.nav a:hover{color:var(--cinnabar)}.cart-link{align-items:center;gap:6px;display:inline-flex}.badge{background:var(--cinnabar);color:#fff;min-width:18px;height:18px;font-size:11px;font-family:var(--sans);letter-spacing:0;border-radius:999px;place-items:center;padding:0 5px;display:inline-grid}@media (max-width:640px){.brand-sub{display:none}.brand{gap:8px}.brand-name{letter-spacing:.04em;white-space:nowrap;font-size:16px}.nav{gap:0}.nav a{letter-spacing:.02em;white-space:nowrap;padding:6px;font-size:14px}.seal{width:38px;height:38px;font-size:13px}}.hero{border-bottom:1px solid var(--line);background:linear-gradient(180deg, var(--paper-2), var(--paper));position:relative;overflow:hidden}.hero .inner{grid-template-columns:1fr auto;align-items:center;gap:32px;padding:64px 16px 56px;display:grid}.hero h1{color:var(--indigo);margin:0 0 12px;font-size:clamp(30px,5vw,52px)}.hero .lead{font-family:var(--serif);color:var(--muted);letter-spacing:.2em;margin:0 0 28px;font-size:clamp(15px,2vw,18px)}.hero .vertical{writing-mode:vertical-rl;font-family:var(--serif);letter-spacing:.5em;color:var(--gold);border-right:1px solid var(--gold);height:240px;padding-right:14px;font-size:22px}.hero .cloud{opacity:.08;pointer-events:none;width:320px;position:absolute;bottom:-40px;right:-60px}@media (max-width:720px){.hero .inner{grid-template-columns:1fr;padding:44px 16px 40px}.hero .vertical{display:none}}.btn{border-radius:var(--radius);border:1px solid var(--indigo);background:var(--indigo);color:#fbf3de;font-family:var(--serif);letter-spacing:.18em;cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:11px 26px;font-size:16px;transition:background .15s,color .15s,transform 50ms;display:inline-flex}.btn:hover{background:var(--indigo-2);color:#fff}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{color:var(--indigo);background:0 0}.btn.ghost:hover{background:var(--gold-soft)}.btn.red{background:var(--cinnabar);border-color:var(--cinnabar)}.btn.line{color:#fff;letter-spacing:.08em;background:#06c755;border-color:#06c755}.btn.small{letter-spacing:.08em;padding:6px 14px;font-size:14px}.btn.block{width:100%}.section{padding:48px 0}.section-title{text-align:center;margin:0 0 32px}.section-title h2{align-items:center;gap:16px;margin:0;font-size:26px;display:inline-flex}.section-title h2:before,.section-title h2:after{content:"";background:linear-gradient(90deg, transparent, var(--gold));width:48px;height:1px}.section-title h2:after{transform:scaleX(-1)}.section-title p{color:var(--muted);letter-spacing:.2em;margin:6px 0 0;font-size:14px}.page-title{padding:36px 0 8px}.page-title h1{margin:0;font-size:28px}.page-title h1 small{color:var(--gold);letter-spacing:.3em;margin-left:12px;font-size:14px;font-weight:400}.grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:22px;display:grid}@media (max-width:520px){.grid{grid-template-columns:repeat(2,1fr);gap:12px}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);flex-direction:column;transition:box-shadow .2s,transform .2s;display:flex;overflow:hidden}.card:hover{color:var(--ink);transform:translateY(-2px);box-shadow:0 10px 28px #503c141f}.card .thumb{aspect-ratio:1;background:var(--paper-2);position:relative}.card .thumb img{object-fit:cover;width:100%;height:100%}.card .body{flex-direction:column;flex:1;gap:4px;padding:12px 14px 16px;display:flex}.card .cat{color:var(--gold);letter-spacing:.2em;font-size:12px}.card .name{font-family:var(--serif);letter-spacing:.06em;font-size:16px;font-weight:600}.price{color:var(--cinnabar);font-family:var(--serif);letter-spacing:.04em;font-weight:700}.card .price{margin-top:auto;font-size:17px}.soldout{color:#fff;letter-spacing:.2em;background:#2a2622c7;border-radius:2px;padding:2px 10px;font-size:12px;position:absolute;top:10px;left:10px}.chips{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:28px;display:flex}.chip{border:1px solid var(--line);background:var(--card);color:var(--ink);letter-spacing:.12em;border-radius:999px;padding:5px 16px;font-size:14px}.chip.active,.chip:hover{background:var(--indigo);color:#fbf3de;border-color:var(--indigo)}.product{grid-template-columns:1.05fr 1fr;gap:40px;padding:28px 0 56px;display:grid}@media (max-width:800px){.product{grid-template-columns:1fr;gap:20px}}.gallery .main{aspect-ratio:1;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.gallery .main img{object-fit:cover;width:100%;height:100%}.gallery .thumbs{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.gallery .thumbs button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:3px;width:64px;height:64px;padding:0;overflow:hidden}.gallery .thumbs button.on{border-color:var(--cinnabar);box-shadow:0 0 0 1px var(--cinnabar)}.gallery .thumbs img{object-fit:cover;width:100%;height:100%}.product h1{margin:4px 0 8px;font-size:28px}.product .price{font-size:26px}.product .desc{white-space:pre-wrap;color:#4a433b;border-top:1px dashed var(--line);margin-top:18px;padding-top:16px}.opt-row{flex-wrap:wrap;gap:8px;margin:6px 0 18px;display:flex}.opt{border:1px solid var(--line);background:var(--card);cursor:pointer;color:var(--ink);border-radius:3px;padding:6px 16px;font-family:inherit;font-size:15px}.opt.on{border-color:var(--cinnabar);color:var(--cinnabar);box-shadow:inset 0 0 0 1px var(--cinnabar)}.qty{border:1px solid var(--line);background:var(--card);border-radius:3px;display:inline-flex;overflow:hidden}.qty button{background:var(--paper-2);cursor:pointer;width:36px;height:38px;color:var(--ink);border:0;font-size:18px}.qty input{text-align:center;background:0 0;border:0;width:52px;font-family:inherit;font-size:16px}.label{color:var(--muted);letter-spacing:.12em;margin-top:14px;font-size:14px}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;position:relative}.panel.framed:before{content:"";border:1px solid var(--gold-soft);pointer-events:none;border-radius:2px;position:absolute;inset:5px}.panel h2{margin:0 0 14px;font-size:19px}.field{flex-direction:column;gap:4px;margin-bottom:14px;display:flex}.field label{color:var(--muted);letter-spacing:.1em;font-size:14px}.field label .req{color:var(--cinnabar);margin-left:2px}input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],select,textarea{width:100%;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:3px;padding:10px 12px;font-family:inherit;font-size:16px}input:focus,select:focus,textarea:focus{border-color:var(--indigo);outline:2px solid #1f3b7340}textarea{resize:vertical;min-height:90px}.radio-list{gap:8px;display:grid}.radio{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:3px;align-items:center;gap:10px;padding:10px 12px;display:flex}.radio.on{border-color:var(--indigo);background:#f4f6fb}.radio input{accent-color:var(--indigo)}.radio .fee{color:var(--muted);margin-left:auto;font-size:14px}.two{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (max-width:560px){.two{grid-template-columns:1fr}}.error{color:var(--cinnabar);background:#fbeceb;border:1px solid #efc9c6;border-radius:3px;margin:10px 0;padding:10px 14px}.notice{background:var(--gold-soft);border:1px solid #e0cc98;border-radius:3px;padding:10px 14px;font-size:14px}.checkout{grid-template-columns:1fr 360px;align-items:start;gap:28px;padding:20px 0 64px;display:grid}@media (max-width:880px){.checkout{grid-template-columns:1fr}}.line-items{gap:0;display:grid}.line-item{border-bottom:1px dashed var(--line);grid-template-columns:76px 1fr auto;align-items:center;gap:14px;padding:14px 0;display:grid}.line-item:last-child{border-bottom:0}.line-item .ph{background:var(--paper-2);border:1px solid var(--line);border-radius:3px;width:76px;height:76px;overflow:hidden}.line-item .ph img{object-fit:cover;width:100%;height:100%}.line-item .nm{font-family:var(--serif);font-weight:600}.line-item .op{color:var(--muted);font-size:13px}.link-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit;font-size:13px;text-decoration:underline}.sum-row{justify-content:space-between;padding:6px 0;display:flex}.sum-row.total{border-top:1px solid var(--line);font-size:18px;font-family:var(--serif);margin-top:8px;padding-top:12px;font-weight:700}.empty{text-align:center;color:var(--muted);padding:64px 0}.empty .big{font-family:var(--serif);color:var(--ink);margin-bottom:8px;font-size:22px}.done{text-align:center;max-width:720px;margin:32px auto 64px}.done .stamp{border:3px solid var(--cinnabar);width:84px;height:84px;color:var(--cinnabar);font-family:var(--serif);letter-spacing:.1em;border-radius:50%;place-items:center;margin-bottom:8px;font-size:22px;font-weight:700;display:inline-grid;transform:rotate(-12deg)}.order-no{font-family:var(--serif);color:var(--indigo);letter-spacing:.12em;margin:4px 0 18px;font-size:26px}.qr{border:1px solid var(--line);background:#fff;border-radius:4px;width:220px;margin:12px auto;padding:10px}.steps{text-align:left;counter-reset:s;gap:10px;margin:18px 0;padding:0;list-style:none;display:grid}.steps li{counter-increment:s;grid-template-columns:30px 1fr;gap:10px;display:grid}.steps li:before{content:counter(s);background:var(--indigo);color:#fff;width:26px;height:26px;font-size:14px;font-family:var(--serif);border-radius:50%;place-items:center;display:grid}.order-card{text-align:left}.order-card .hd{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px;padding-bottom:10px;display:flex}.status{letter-spacing:.1em;border:1px solid;border-radius:999px;padding:2px 10px;font-size:13px;display:inline-block}.status.s-待付款{color:#9a6a12;background:#fbf2dc;border-color:#e3c47e}.status.s-已付款{color:var(--indigo);background:#eef2fa;border-color:#b6c3de}.status.s-已出貨{color:#6b4aa0;background:#f4effb;border-color:#cdbde6}.status.s-已完成{color:var(--ok);background:#edf6ee;border-color:#b9d6be}.status.s-已取消{color:#777;background:#f2f2f2;border-color:#ccc}.info-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.info-grid h3{color:var(--indigo);margin:0 0 8px;font-size:18px}.info-grid p{color:#4a433b;margin:0;font-size:15px}.features{text-align:center;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.feature{padding:22px 16px}.feature .ic{font-family:var(--serif);color:var(--cinnabar);border:1px solid var(--gold);border-radius:50%;place-items:center;width:56px;height:56px;margin:0 auto 10px;font-size:28px;display:grid}.feature h3{margin:0 0 4px;font-size:17px}.feature p{color:var(--muted);margin:0;font-size:14px}.site-footer{color:#d9d2c0;background:#26314a;margin-top:40px;font-size:14px}.site-footer .cols{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;padding:36px 16px;display:grid}.site-footer h4{font-family:var(--serif);color:#f0dfb4;letter-spacing:.2em;margin:0 0 10px;font-size:16px}.site-footer a{color:#f0dfb4}.site-footer p{margin:0 0 6px}.site-footer .copy{text-align:center;color:#9c9788;letter-spacing:.12em;border-top:1px solid #ffffff1a;padding:14px;font-size:12px}.admin-bar{background:var(--indigo);color:#f6ecd2}.admin-bar .bar{align-items:center;gap:6px;height:56px;display:flex;overflow-x:auto}.admin-bar a,.admin-bar button{color:#f6ecd2;font-family:var(--serif);letter-spacing:.1em;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:3px;padding:6px 12px;font-size:15px}.admin-bar a:hover,.admin-bar button:hover{color:#fff;background:#ffffff1f}.admin-bar .ttl{letter-spacing:.2em;white-space:nowrap;font-weight:700;font-family:var(--serif);margin-right:12px}.table-wrap{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}table.tbl{border-collapse:collapse;width:100%;font-size:15px}.tbl th,.tbl td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:10px 12px}.tbl th{background:var(--paper-2);font-family:var(--serif);letter-spacing:.1em;white-space:nowrap;font-size:14px;font-weight:600}.tbl tr:last-child td{border-bottom:0}.tbl .mini{background:var(--paper-2);border:1px solid var(--line);border-radius:3px;width:52px;height:52px;overflow:hidden}.tbl .mini img{object-fit:cover;width:100%;height:100%}.tag{color:#666;background:#eee;border-radius:2px;padding:1px 8px;font-size:12px;display:inline-block}.tag.on{color:var(--ok);background:#edf6ee}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.img-edit{flex-wrap:wrap;gap:10px;display:flex}.img-edit>*{border:1px solid var(--line);cursor:pointer;border-radius:3px;width:96px;height:96px;position:relative;overflow:hidden}.img-edit img{object-fit:cover;width:100%;height:100%}.img-edit .x{color:#fff;text-align:center;background:#0009;justify-content:center;align-items:center;gap:4px;padding:2px;font-size:12px;display:flex;position:absolute;inset:auto 0 0}.muted{color:var(--muted)}.small{font-size:13px}.flex{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.between{justify-content:space-between}.mt{margin-top:16px}.mb{margin-bottom:16px}details.order summary{cursor:pointer;list-style:none}details.order summary::-webkit-details-marker{display:none}[data-theme=cute]{--paper:#fff7f8;--paper-2:#ffe9ee;--card:#fff;--ink:#4a3b45;--muted:#9a8290;--line:#f6d3dc;--indigo:#e8708f;--indigo-2:#d85c7d;--gold:#7aa7dc;--gold-soft:#fdeef2;--cinnabar:#e8708f;--serif:"Noto Sans TC", "PingFang TC", sans-serif;--radius:18px;--meander:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='12' viewBox='0 0 28 12'%3E%3Cpath d='M7 10.5C3 7.5 1.5 5.5 1.5 3.8 1.5 2.3 2.7 1.5 3.9 1.5c1.3 0 2.3.8 3.1 2 .8-1.2 1.8-2 3.1-2 1.2 0 2.4.8 2.4 2.3 0 1.7-1.5 3.7-5.5 6.7z' fill='%23f5b6c6'/%3E%3Ccircle cx='21' cy='6' r='1.6' fill='%237aa7dc'/%3E%3C/svg%3E")}[data-theme=cute] body{background-image:radial-gradient(#ffd9e2 1.2px,#0000 1.4px);background-size:22px 22px}[data-theme=cute] h1,[data-theme=cute] h2,[data-theme=cute] h3{letter-spacing:.04em}[data-theme=cute] .seal{background:#e8708f;border-radius:50%;box-shadow:0 0 0 3px #fff,0 0 0 5px #f6c3d0}[data-theme=cute] .btn{letter-spacing:.08em;border-radius:999px}[data-theme=cute] .hero{background:linear-gradient(135deg,#ffe3ea 0%,#fff4f6 55%,#e6f0fb 100%)}[data-theme=cute] .hero h1{color:#e8708f}[data-theme=cute] .hero .vertical{writing-mode:horizontal-tb;color:#7aa7dc;letter-spacing:.2em;background:#fff;border:0;border-radius:24px;height:auto;padding:22px 26px;font-size:18px;transform:rotate(3deg);box-shadow:0 8px 24px #e8708f2e}[data-theme=cute] .hero .cloud{opacity:.18}[data-theme=cute] .hero .cloud path{stroke:#e8708f}[data-theme=cute] .card{border-radius:18px}[data-theme=cute] .card:hover{box-shadow:0 10px 26px #e8708f33}[data-theme=cute] .feature .ic{background:#fff;border:2px dashed #f5b6c6}[data-theme=cute] .panel.framed:before{border:2px dashed #fbe0e7;border-radius:14px}[data-theme=cute] .announce{color:#fff;background:#e8708f}[data-theme=cute] .site-footer{background:#5b4a57}[data-theme=cute] .site-footer h4,[data-theme=cute] .site-footer a{color:#ffd3de}[data-theme=cute] .section-title h2:before,[data-theme=cute] .section-title h2:after{content:"♡";color:#f5b6c6;background:0 0;width:auto;height:auto;transform:none}[data-theme=cute] .chip,[data-theme=cute] .radio,[data-theme=cute] input,[data-theme=cute] select,[data-theme=cute] textarea{border-radius:12px}[data-theme=cute] .radio.on{background:#fff2f5}[data-theme=cute] .admin-bar{background:#e8708f}[data-theme=minimal]{--paper:#fff;--paper-2:#f5f3ef;--card:#fff;--ink:#1b1b1b;--muted:#8a8580;--line:#e7e3dc;--indigo:#1b1b1b;--indigo-2:#3a3a3a;--gold:#a88b5a;--gold-soft:#f5efe4;--cinnabar:#1b1b1b;--serif:"Noto Serif TC", serif;--radius:0px}[data-theme=minimal] body{background-image:none}[data-theme=minimal] .meander{display:none}[data-theme=minimal] .seal{box-shadow:none;background:#1b1b1b;border-radius:0}[data-theme=minimal] .btn{letter-spacing:.3em;padding:13px 30px;font-size:14px}[data-theme=minimal] .btn.red{background:#1b1b1b;border-color:#1b1b1b}[data-theme=minimal] .hero{background:#f5f3ef}[data-theme=minimal] .hero h1{color:#1b1b1b;letter-spacing:.18em;font-weight:500}[data-theme=minimal] .hero .vertical{color:var(--muted);border-color:var(--line);font-size:16px}[data-theme=minimal] .hero .cloud{display:none}[data-theme=minimal] .card{border-color:#0000}[data-theme=minimal] .card:hover{box-shadow:none;transform:none}[data-theme=minimal] .card .thumb{transition:opacity .2s}[data-theme=minimal] .card:hover .thumb{opacity:.85}[data-theme=minimal] .card .body{padding:12px 2px}[data-theme=minimal] .price{font-weight:500}[data-theme=minimal] .feature .ic{color:var(--gold);border-color:var(--line);border-radius:0;font-size:22px}[data-theme=minimal] .panel.framed:before{display:none}[data-theme=minimal] .section-title h2{letter-spacing:.3em;font-size:22px;font-weight:500}[data-theme=minimal] .section-title h2:before,[data-theme=minimal] .section-title h2:after{background:var(--line);width:32px}[data-theme=minimal] .announce{letter-spacing:.3em;background:#1b1b1b}[data-theme=minimal] .site-footer{color:#555;background:#f5f3ef}[data-theme=minimal] .site-footer h4,[data-theme=minimal] .site-footer a{color:#1b1b1b}[data-theme=minimal] .site-footer .copy{border-top-color:var(--line);color:var(--muted)}[data-theme=minimal] .btn.line{background:#06c755;border-color:#06c755}[data-theme=minimal] .done .stamp{border-color:var(--gold);color:var(--gold)}
