:root{--accent:#a9566f;--second:#b48a4e;--bg:#fbf8f6;--card:#fff;--ink:#2b2226;--muted:#7a6d72;--line:#ece4e6;--danger:#b3261e;--ok:#2e7d4f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.pro{--bg:#15161a;--card:#1e2026;--ink:#ecebe8;--muted:#9a9ca3;--line:#2e3038;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{color:var(--ink);background:var(--bg);font-family:Noto Sans TC,system-ui,sans-serif;line-height:1.6}.shell{background:var(--bg);color:var(--ink);min-height:100vh}.wrap{max-width:960px;margin:0 auto;padding:0 16px}a{color:var(--accent)}h1,h2,h3{margin:0;line-height:1.3}.script{font-family:Great Vibes,cursive;font-weight:400}.muted{color:var(--muted)}.small{font-size:13px}.hero{text-align:center;padding:48px 0 28px}.hero .script{color:var(--accent);font-size:56px;display:block}.hero .kind{letter-spacing:.3em;color:var(--second);font-size:12px}.hero h1{margin-top:4px;font-size:22px}section.block{border-top:1px solid var(--line);padding:28px 0}section.block>h2{margin-bottom:16px;font-size:20px}.grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px}button.card{font:inherit;color:inherit;text-align:left;cursor:pointer}button.card[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset}.tag{color:var(--second);border:1px solid;border-radius:99px;padding:0 8px;font-size:12px;display:inline-block}.price{color:var(--accent);font-weight:700}.notice dt{font-weight:700}.notice dd{color:var(--muted);margin:2px 0 12px}.field{gap:4px;margin-bottom:14px;display:grid}.field label{font-size:14px;font-weight:500}input,select,textarea{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:8px;width:100%;padding:10px 12px}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.row{flex-wrap:wrap;gap:8px;display:flex}.chip{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:99px;padding:8px 12px}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.btn{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:10px;padding:12px 20px;font-weight:700}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{color:var(--accent);border:1px solid var(--accent);background:0 0}.btn.small{padding:6px 12px;font-size:13px}.error{color:var(--danger)}.success{color:var(--ok)}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 8px}th{color:var(--muted);font-weight:500}.table-scroll{overflow-x:auto}.status{background:var(--line);white-space:nowrap;border-radius:99px;padding:2px 8px;font-size:12px}.status.pending{color:#8a5a00;background:#fff1d6}.status.confirmed{color:#1f6b3e;background:#dcefe3}.status.cancelled{color:#8a1f1f;background:#f6dede}.pro .status.pending,.pro .status.confirmed,.pro .status.cancelled{background:var(--line);color:var(--ink)}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:16px 0;display:flex}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:20px 0;display:grid}.stats .num{color:var(--accent);font-size:26px;font-weight:700}.login{max-width:380px;margin:10vh auto}footer.foot{text-align:center;color:var(--muted);padding:32px 0;font-size:12px}
