:root{--green:#39421a;--gold:#a38a66;--gold-light:#c4a97d;--cream:#f5f2eb;--header:#1e2210;--line:#e4ddd1}*{box-sizing:border-box;margin:0;padding:0}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-thumb{background:var(--line)}body{background:var(--cream);color:var(--green);-webkit-font-smoothing:antialiased;font-family:Noto Serif TC,serif}.header{background:var(--header);color:var(--cream);justify-content:space-between;align-items:baseline;padding:18px 24px;display:flex}.header .brand{letter-spacing:3px;font-size:17px}.header .sub{color:var(--gold-light);letter-spacing:1px;font-family:system-ui,sans-serif;font-size:12px}.page{max-width:560px;margin:0 auto;padding:24px 16px 64px}.page.wide{max-width:1080px}.hero{text-align:center;background:#1e2210 url(/hero.jpg) 50%/cover no-repeat;padding:72px 24px 64px;position:relative}.hero:after{content:"";background:#1e22109e;position:absolute;inset:0}.hero>*{z-index:1;position:relative}.hero .kicker{color:var(--gold-light);letter-spacing:4px;margin-bottom:14px;font-family:system-ui,sans-serif;font-size:12px}.hero h1{color:var(--cream);letter-spacing:2px;font-size:24px;font-weight:400;line-height:1.6}.hero .divider{background:var(--gold);width:48px;height:1px;margin:22px auto}.hero .sub-line{color:#f5f2ebbf;letter-spacing:1px;font-size:13px}.card{border:1px solid var(--line);background:#fff;border-radius:11px;margin-bottom:16px;padding:20px}h2{letter-spacing:1px;margin-bottom:12px;font-size:16px;font-weight:500}.label{color:var(--gold);letter-spacing:1px;margin-bottom:4px;font-family:system-ui,sans-serif;font-size:11px}.muted{color:var(--gold);font-size:12px}.serif-num{font-variant-numeric:tabular-nums}button,.btn{cursor:pointer;letter-spacing:1px;background:var(--green);color:var(--cream);border:none;border-radius:7px;padding:11px 20px;font-family:Noto Serif TC,serif;font-size:14px}button:hover,.btn:hover{opacity:.82}button:disabled{opacity:.4;cursor:default}.btn-ghost{color:var(--green);border:1px solid var(--green);background:0 0}.btn-gold{background:var(--gold)}.btn-sm{padding:6px 12px;font-size:12px}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--green);background:#fff;border-radius:7px;padding:10px 12px;font-family:Noto Serif TC,serif;font-size:14px}input:focus,textarea:focus{outline:1px solid var(--gold-light)}.pill{border:1px solid var(--line);color:var(--gold);border-radius:20px;padding:3px 12px;font-family:system-ui,sans-serif;font-size:11px;display:inline-block}.pill.green{background:var(--green);color:var(--cream);border-color:var(--green)}.pill.gold{background:var(--gold);color:#fff;border-color:var(--gold)}.pill.warn{color:#b0563c;border-color:#b0563c}.passport{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.cell{aspect-ratio:1;border:1px solid var(--line);text-align:center;background:#fff;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:4px;display:flex;position:relative;overflow:hidden}.cell .no{color:var(--gold);font-family:system-ui,sans-serif;font-size:11px}.cell .mo{font-size:12px}.cell.shipped{background:var(--green);border-color:var(--green);color:var(--cream)}.cell.shipped .no{color:var(--gold-light)}.cell.current{border:1.5px solid var(--gold)}.cell.hidden-style{background:var(--green);border-color:var(--green);color:var(--gold-light)}.cell.hidden-style .owl{object-fit:contain;opacity:.95;width:42%;height:92%;position:absolute;inset:auto 6% -30% auto}.cell.hidden-style .hidden-label{letter-spacing:2px;color:var(--cream);font-size:12px;position:absolute;top:12px;left:14px}.cell img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.cell .cap{color:var(--cream);background:#1e2210d1;padding:3px;font-family:system-ui,sans-serif;font-size:10px;position:absolute;bottom:0;left:0;right:0}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spread{justify-content:space-between;align-items:baseline;display:flex}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:var(--gold);border-bottom:1px solid var(--line);padding:8px;font-family:system-ui,sans-serif;font-size:11px;font-weight:400}td{border-bottom:1px solid var(--line);vertical-align:top;padding:10px 8px}tr:hover td{background:var(--cream)}.timeline{color:var(--green);font-family:system-ui,sans-serif;font-size:12px}.timeline li{border-bottom:1px dashed var(--line);padding:5px 0;list-style:none}.timeline .t{color:var(--gold);margin-right:8px}.error{color:#b0563c;margin-top:8px;font-size:13px}.ok{color:var(--green);margin-top:8px;font-size:13px}.overlay{z-index:10;background:#1e221080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:11px;width:100%;max-width:420px;padding:24px}body.theme-dark{color:var(--cream);background:#1e2210}body.theme-dark .header{background:#14170b}body.theme-dark .card{background:#f5f2eb0d;border-color:#c4a97d38}body.theme-dark h2{color:var(--cream)}body.theme-dark .muted{color:var(--gold)}body.theme-dark .label{color:var(--gold-light)}body.theme-dark input,body.theme-dark textarea{color:var(--cream);background:#00000047;border-color:#c4a97d52}body.theme-dark button,body.theme-dark .btn{background:var(--gold);color:#1e2210}body.theme-dark .btn-ghost{color:var(--cream);background:0 0;border:1px solid #f5f2eb8c}body.theme-dark .cell{color:var(--cream);background:0 0;border-color:#c4a97d47}body.theme-dark .cell .no{color:var(--gold-light)}body.theme-dark .cell.shipped{background:var(--green);border-color:var(--gold)}body.theme-dark .cell.current{border-color:var(--gold-light)}body.theme-dark .cell.hidden-style{background:var(--green);border-color:var(--green)}body.theme-dark .pill{color:var(--gold-light);border-color:#c4a97d66}body.theme-dark .pill.gold{background:var(--gold);color:#1e2210;border-color:var(--gold)}body.theme-dark .timeline{color:var(--cream)}body.theme-dark .timeline li{border-bottom-color:#c4a97d40}body.theme-dark .modal{color:var(--cream);background:#262c14}body.theme-dark .error{color:#e0906d}body.theme-dark .ok{color:var(--gold-light)}body.theme-dark ::-webkit-scrollbar-thumb{background:#39421a}
