:root{--ink:#142a30;--accent:#b84d2d;--bg:#f5f7f8;--line:#d9e1e4}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Microsoft JhengHei",system-ui,sans-serif;font-size:18px;line-height:1.75}header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px max(5vw,20px);background:white;border-bottom:1px solid var(--line)}a{color:inherit}.brand{text-decoration:none;font-family:KaiTi,"DFKai-SB",serif;font-size:32px;font-weight:bold}.brand small{display:block;font:14px system-ui;letter-spacing:2px}nav{display:flex;flex-wrap:wrap;gap:8px}button,.button,.filebutton{cursor:pointer;border:0;border-radius:6px;background:var(--ink);color:white;padding:12px 20px;font:inherit;text-decoration:none;display:inline-block}nav button{background:transparent;color:var(--ink);padding:8px 12px}nav button.active{background:var(--ink);color:white}main{max-width:1120px;margin:auto;padding:22px}section{padding:38px 0}.hero{padding:64px 0 48px;border-bottom:4px solid var(--ink)}h1{font-size:clamp(30px,4.4vw,54px);line-height:1.35;margin:12px 0 22px}h2{font-size:28px;line-height:1.4}h3{font-size:22px}.lead{max-width:720px;font-size:22px}.eyebrow{font-size:15px;letter-spacing:2px;color:var(--accent);font-weight:700}.hero .button{background:var(--accent)}.herofoot{margin-top:30px;color:#50656b}.notice{background:#e9eff2;border-left:4px solid #477783;padding:12px 16px;font-size:16px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cards article{background:white;border:1px solid var(--line);padding:24px}.cards span{font-size:30px;color:var(--accent)}.dark{background:var(--ink);color:white;margin:20px -22px;padding:35px 32px}.dark button{background:white;color:var(--ink)}.dark .eyebrow{color:#f6ac87}.muted{color:#566a70;font-size:16px}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}label{display:block;font-weight:600}input,select,textarea{display:block;width:100%;padding:12px;margin-top:6px;border:1px solid #a8b9bf;border-radius:5px;font:inherit;background:white;color:var(--ink)}textarea{min-height:110px}label.wide{grid-column:1/-1}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.toolbar{display:flex;gap:12px;flex-wrap:wrap}.filebutton input{display:none}.summary{padding:20px;background:#e6eff0;margin:24px 0}.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.photo{background:white;padding:12px;border:1px solid var(--line)}.photo img{width:100%;height:170px;object-fit:contain}.photo button{padding:6px 12px;margin-top:8px}.secondary{margin-left:16px}#reportBody{background:white;padding:30px;border:1px solid var(--line)}.report-table{width:100%;border-collapse:collapse}.report-table td,.report-table th{padding:10px;border:1px solid var(--line);text-align:left;overflow-wrap:anywhere}.report-photos{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.report-photos img{max-width:100%;max-height:300px}figure{margin:0;break-inside:avoid}footer{text-align:center;padding:35px 20px;font-size:15px;color:#567}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:12px 22px;border-radius:5px;display:none;max-width:90vw}[hidden]{display:none!important}@media(max-width:650px){header{align-items:flex-start;flex-direction:column}.cards,.grid,.photos,.report-photos{grid-template-columns:1fr}main{padding:16px}.hero{padding:30px 0}.dark{margin:16px -16px;padding:25px 20px}.toolbar>*{width:100%;text-align:center}.sectionhead button{font-size:16px}#reportBody{padding:16px}}@media print{body{background:white;font-size:12pt}header,footer,.notice,#job,.sectionhead,#toast,#home,#settings{display:none!important}#work{display:block!important}#work>.sectionhead{display:none!important}#reportPanel{display:block!important;padding:0}main{padding:0}#reportBody{border:0;padding:0}h1{font-size:24pt}h2{font-size:18pt}.report-photos{grid-template-columns:repeat(2,1fr)}@page{size:A4;margin:15mm}}
.brand-logo{width:155px;height:95px;object-fit:contain;display:block}.brand small{font-family:system-ui;font-size:14px}nav a{text-decoration:none;font-size:17px;padding:8px 10px}.navphone{color:var(--accent);font-weight:bold}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:30px;align-items:center}.hero h1{font-size:clamp(28px,3.4vw,44px)}.hero-image img{width:100%;display:block;border-radius:6px}.hero-image figcaption{font-size:14px;color:#566a70;margin-top:8px}.booking{padding:32px;background:white;border:1px solid var(--line);margin:30px 0}.checks{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.checks label{display:flex;align-items:center;gap:8px;background:#eaf0f2;border-radius:5px;padding:10px 12px;font-weight:500;font-size:17px}.checks input{width:21px;height:21px;margin:0;flex-shrink:0}fieldset{border:1px solid var(--line);margin:24px 0;padding:15px}legend{font-weight:bold}#requestResult{margin-top:24px}#requestText{min-height:280px}#work~#home,#settings{display:none}#work textarea{min-height:80px}@media(max-width:650px){.hero{grid-template-columns:1fr}.hero-image{order:2}.hero-image img{max-height:260px;object-fit:cover;object-position:right}.brand-logo{width:145px;height:90px}header{gap:10px}.booking{padding:20px 16px}.secondary{display:block;margin:14px 0}nav{gap:3px}nav a{font-size:16px;padding:6px}.checks label{font-size:16px}.lead{font-size:20px}}@media print{.brand-logo{display:none}}
:root{--accent:#9d7028;--ink:#172a36;--bg:#e9eef2}body{background:radial-gradient(ellipse at 90% 0%,#c7d4dc88,transparent 50%),repeating-linear-gradient(135deg,transparent 0 46px,#17313b08 46px 47px),#e9eef2}header{background:#101b25;color:#f2dbab;border-bottom:2px solid #b8944b}.brand-logo{width:180px;height:105px;object-fit:cover;object-position:center 55%;border-radius:4px}.brand small{color:#e6d9bd}.navphone{color:#ead3a1}.hero{border-bottom:1px solid #b59c6b}.brand-panel{background:#030405;border:1px solid #b8944b55;padding:16px;text-align:center;box-shadow:14px 14px 0 #233b4912}.brand-panel img{width:100%;max-height:330px;object-fit:cover;object-position:center 60%}.brand-panel p{font-size:16px;color:#e5d1aa;letter-spacing:2px;margin:10px 0}.cards article{border-top:3px solid #b8944b;box-shadow:0 7px 20px #132b3510}.booking{border-left:4px solid #b8944b}.time-entry{padding:20px;background:white;border:1px solid var(--line);margin:16px 0;border-left:3px solid #b8944b}.time-entry .grid{grid-template-columns:repeat(3,1fr)}.time-entry .time-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.time-entry button{padding:8px 12px;font-size:16px}.time-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.time-metrics article{background:#142a36;color:white;padding:20px}.time-metrics strong{display:block;font-size:27px;color:#eed5a1}.time-warning{color:#9d3d21;padding:12px;background:#fff1e8}.manual-notice{font-size:15px;color:#566a70}.time-total{padding:20px;background:#e2e9ed}.time-toggle{display:flex;align-items:center;gap:10px}.time-toggle input{width:22px;height:22px;margin:0}.time-entry .span-all{grid-column:1/-1}@media(max-width:650px){.time-entry .grid,.time-metrics{grid-template-columns:1fr}.brand-logo{width:165px;height:96px}.brand-panel img{max-height:230px}}@media print{#timing{display:none!important}}

.internal #home,.internal #settings{display:none!important}
/* Touch controls and native scrolling wheels */
.tap-value{width:100%;min-height:48px;text-align:left;background:#10212d;color:#f8e2a4;border:1px solid #a68b50;border-radius:10px;margin-top:8px;padding:12px;cursor:pointer}
.internal input[hidden]{display:none!important}
.tap-dialog{color:#e8edf2;background:#10202c;border:1px solid #bd9d57;border-radius:24px;padding:24px;width:min(540px,calc(100% - 24px));max-height:90dvh;overflow:auto;box-sizing:border-box}
.tap-dialog::backdrop{background:rgba(0,0,0,.72)}
.tap-dialog h2{margin:0 0 12px}.picker-actions{display:flex;gap:12px;margin-top:24px}.picker-actions button{flex:1;min-height:48px}.picker-actions button:last-child{background:#ddc17c;color:#17212b}
.wheel-grid{display:flex;gap:12px}.wheel-column{flex:1;min-width:0;text-align:center}.wheel-column:first-child:nth-last-child(3){flex:2.6}.wheel-column strong{display:block;margin-bottom:12px;color:#d8c28e}
.wheel-frame{position:relative;height:240px;border-radius:14px;background:#07131c;overflow:hidden}.wheel-frame:after{content:'';position:absolute;left:0;right:0;top:96px;height:48px;border-top:1px solid #bfa66b;border-bottom:1px solid #bfa66b;background:rgba(219,192,128,.09);pointer-events:none}
.wheel-scroll{height:240px;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior:contain;padding:96px 0;box-sizing:border-box;scrollbar-width:none}.wheel-scroll::-webkit-scrollbar{display:none}.wheel-scroll button{display:block;width:100%;height:48px;min-height:48px;margin:0;padding:0 3px;border:0;background:transparent;color:#8c9da8;white-space:nowrap;scroll-snap-align:center;font-size:18px;border-radius:0}.wheel-scroll button.selected{color:#ffe9b5;font-weight:700}.wheel-column:first-child:nth-last-child(3) button{font-size:14px}
.money-display{display:block;text-align:right;font-size:32px;padding:18px;border-radius:12px;background:#07131c;margin-bottom:18px}.number-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.number-keys button{font-size:24px;min-height:56px;margin:0}
.internal details{margin:12px 0}.internal summary{cursor:pointer;color:#d5bc7c;min-height:36px;padding:8px 0}.internal details textarea{margin-top:8px}
@media(max-width:600px){.tap-dialog{position:fixed;top:auto;bottom:0;margin:0 auto;border-radius:24px 24px 0 0;width:100%;max-width:540px;padding:24px 16px max(24px,env(safe-area-inset-bottom))}.wheel-grid{gap:8px}}

/* Transparent vector brand: generous and centered on phones. */
header .brand-logo{width:205px;height:auto;aspect-ratio:1154/618;object-fit:contain;border-radius:0;background:transparent}header .brand{display:block;text-align:left}header .brand small{margin-top:8px}
@media(max-width:760px){header{flex-direction:column;align-items:center;gap:18px;padding:24px 20px 18px}header .brand{width:100%;text-align:center}header .brand-logo{width:min(320px,86vw);height:auto;margin:0 auto}header .brand small{font-size:14px;letter-spacing:2px;margin-top:13px}header nav{justify-content:center;width:100%}}
.line-button{background:#06b65b!important;color:white!important;border-radius:6px;text-decoration:none}.hero .line-button{padding:12px 18px;display:inline-block}.line-qr-panel{margin-top:20px;max-width:280px}.line-qr-panel summary{cursor:pointer;font-size:16px;color:#476469}.line-qr-panel img{display:block;width:200px;height:200px;margin:15px 0;border-radius:8px}.line-qr-panel p{font-size:13px;color:#627b84}.booking-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.booking-photo-card{padding:10px;background:#eef3f4;font-size:14px}.booking-photo-card img{width:100%;height:120px;object-fit:cover}.booking-photo-card button{padding:5px 12px;font-size:14px}.booking-consent{display:flex;gap:10px;align-items:flex-start;font-size:15px;margin:18px 0}.booking-consent input{width:22px;height:22px;flex-shrink:0}.honey{display:none!important}#submitStatus{font-size:16px;padding:12px 0;white-space:pre-line}button:disabled{opacity:.6;cursor:wait}@media(max-width:650px){.booking-photo-grid{grid-template-columns:repeat(2,1fr)}}
/* Contact information appears under the brand and again at the footer. */
.brand-block{display:flex;flex-direction:column;gap:14px}.brand-contact{display:flex;align-items:center;gap:16px}.brand-contact .line-button{font-size:15px;padding:7px 18px}.brand-phone{text-decoration:none;font-weight:600;color:#fff2cf;letter-spacing:1px;font-size:17px}.footer-contact{margin:15px 0}.footer-contact .line-button{display:inline-block;padding:8px 20px}footer .line-qr-panel{margin:15px auto}footer .line-qr-panel img{margin:14px auto}footer .line-qr-panel summary{color:#637e87}@media(max-width:760px){.brand-block{width:100%;align-items:center}.brand-contact{justify-content:center;width:100%;gap:24px}.brand-phone{font-size:20px}}

/* Public site: midnight blue surfaces, white text and the existing gold brand. */
body.pixel-site{--bg:#0b1520;--ink:#e5edf1;--accent:#e8bd66;--line:#344651;color-scheme:dark;color:var(--ink)}
.pixel-site header{background:#0d1823;color:#f2dbab}
.pixel-site .hero{border-bottom-color:#8d7647}
.pixel-site .eyebrow,.pixel-site .cards span{color:#e8bd66}
.pixel-site .lead{color:#d1dde4}
.pixel-site .herofoot,.pixel-site .muted,.pixel-site .line-qr-panel summary,.pixel-site .line-qr-panel p{color:#a9bdc8}
.pixel-site .notice{background:#172a37;border-left-color:#ba9a58;color:#d2e2e9}
.pixel-site .cards article,.pixel-site .booking{background:#132330;box-shadow:0 7px 20px #00000025}
.pixel-site .checks label,.pixel-site .booking-photo-card{background:#203440;color:#e5edf1}
.pixel-site input,.pixel-site select,.pixel-site textarea{background:#0d1c28;color:#e5edf1;border-color:#536977}
.pixel-site input::placeholder,.pixel-site textarea::placeholder{color:#a3b5c0;opacity:1}
.pixel-site input[type=checkbox]{accent-color:#e8bd66}
.pixel-site button,.pixel-site .button{background:#e8bd66;color:#142431}
.pixel-site .hero .button{background:#e8bd66;color:#142431}
.pixel-site footer{color:#b9cbd4;border-top:1px solid #344651;background:#0d1823}
.pixel-site footer .line-qr-panel summary{color:#b9cbd4}
.pixel-site #toast{background:#e8bd66;color:#142431}
.pixel-site a:focus-visible,.pixel-site button:focus-visible,.pixel-site input:focus-visible,.pixel-site select:focus-visible,.pixel-site textarea:focus-visible{outline:2px solid #f4d493;outline-offset:4px}
@media print{body.pixel-site{--ink:#142a30;--line:#d9e1e4;color-scheme:light;background:white;color:#142a30}}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.address-fields{grid-column:1/-1;max-width:560px;width:100%;margin:6px 0;min-width:0;padding:0;border:0}.address-fields legend{margin-bottom:8px}.address-fields legend small{font-size:13px;font-weight:400;color:#a3b5c0;margin-left:6px}.address-row{display:grid;gap:7px;align-items:center}.address-row-first{grid-template-columns:80px 76px minmax(0,1fr)}.address-row-last{grid-template-columns:96px minmax(0,1fr);margin-top:7px}.address-control,.street-field{min-width:0}.address-fields input,.address-fields select{margin:0;height:40px;min-height:40px;padding:6px;font-size:16px;line-height:1.4;border-radius:5px}.address-fields input:disabled,.address-fields select:disabled{opacity:.6}.address-section{display:flex;align-items:center;gap:4px;font-size:16px;font-weight:400}.address-section select{width:76px;min-width:0}.street-field{position:relative}#addressOptions{position:absolute;top:calc(100% + 4px);right:0;width:max(100%,250px);max-width:calc(100vw - 64px);z-index:20;background:#0d1c28;border:1px solid #536977;border-radius:6px;max-height:260px;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 8px 20px #0008}#addressOptions button{display:block;width:100%;text-align:left;color:#e5edf1;background:transparent;border-radius:0;padding:10px 12px;min-height:42px;font-size:16px;border-bottom:1px solid #304653}#addressOptions button:hover,#addressOptions button[aria-selected=true]{background:#304653;color:#ffe4a9}.address-source{font-size:11px;color:#a3b5c0;margin-top:4px;text-align:right;line-height:1.4}@media(max-width:380px){.address-row{gap:5px}.address-row-first{grid-template-columns:80px 76px minmax(0,1fr)}}

.address-fields #addressHint:not(.sr-only){font-size:13px;margin:4px 0;color:#a3b5c0}

@media(min-width:760px){.address-fields{max-width:800px}.address-layout{display:grid;grid-template-columns:80px 76px 156px 96px minmax(180px,1fr);gap:7px;align-items:center}.address-layout .address-row{display:contents}}
