*{box-sizing:border-box}html{background:#F1F0E8;color:#20221F;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}body{margin:0}button,input{font:inherit;border-radius:0}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #24609C;outline-offset:4px}button:disabled{cursor:wait}a{color:inherit;text-underline-offset:4px}h1,h2,h3,p{margin:0}audio{width:100%;margin:12px 0}progress{width:100%;height:8px;accent-color:#24609C}input:not([type=checkbox]):not([type=file]){width:100%;padding:16px 0;margin:14px 0 22px;border:0;border-bottom:1px solid #676960;background:transparent;min-height:48px;font-size:18px;color:inherit}input[type=checkbox]{accent-color:#20221F;width:21px;height:21px;min-width:21px;margin:0}.workshop{max-width:480px;margin:auto;padding-top:12px!important}nav{min-height:56px;margin-bottom:12px;display:flex;justify-content:flex-end}.workshop .home-return{display:flex;align-items:center;justify-content:center;gap:8px;background:none;color:#24609C;width:auto;min-height:44px;margin:0;padding:4px 0;font-size:12px}.home-return img{width:44px;height:44px;object-fit:contain}.workshop .sign{object-fit:contain;max-width:100%}footer{margin-top:40px;padding-top:20px;border-top:1px solid #C8CABF}.workshop .consent{display:flex;gap:10px;align-items:flex-start}.consent span{flex:1}.card-photo{display:block;width:100%;max-height:460px;object-fit:contain;margin:20px 0}.photo-empty{margin:16px 0;padding:24px 16px;border:1px dashed #C8CABF;color:#676960;font-size:13px;text-align:center}.photo-empty p{margin-top:12px}.photo-step{margin:24px 0}.workshop .photo-entry{display:flex;align-items:center;gap:16px;background:none;border:1px dashed #C8CABF;color:inherit;text-align:left}.camera{width:44px;height:44px;object-fit:contain}.photo-entry small{display:block;font-size:11px;color:#676960;margin-top:8px}.road-row{display:block;text-decoration:none;padding:24px 0;border-bottom:1px solid #C8CABF}.road-row h2{font-size:18px}.road-photo{width:100%;height:180px;object-fit:contain;margin:12px 0}.road-row p{margin-top:10px}.workshop .admin-entry{display:block;background:none;color:#676960;font-size:11px;min-height:44px;width:auto;padding:10px 0;opacity:.7}.admin-row,.batch article{padding:20px 0;border-bottom:1px solid #C8CABF}.admin-row h3{font-size:18px;margin-bottom:12px}.binding-code{display:block;font-variant-numeric:tabular-nums;letter-spacing:8px;font-size:32px;margin:12px 0}code{display:block;font-size:11px;overflow-wrap:anywhere}.batch{padding:16px;background:#E1E754;margin:24px 0}dialog{border:1px solid #C8CABF;border-radius:0;background:#F1F0E8;color:inherit;width:min(90vw,420px);padding:24px;max-height:88dvh;overflow:auto}dialog::backdrop{background:rgba(32,34,31,.45)}dialog h2{font-size:26px;line-height:1.35;margin:12px 0}dialog p{font-size:14px;line-height:1.65;margin:12px 0}dialog button{width:100%;padding:16px;margin-top:12px;background:#20221F;color:#F1F0E8;min-height:48px}dialog .secondary{background:transparent;color:#20221F;border:1px solid #C8CABF}.dialog-art{width:100%;height:130px;object-fit:contain}.terms-content h3{font-size:18px;margin:24px 0 10px}.terms-content p{line-height:1.8}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
.workshop { padding: 0 24.000px 37.440px; padding-bottom: calc(37.440px + env(safe-area-inset-bottom)); min-height: 100vh; box-sizing: border-box; }
.workshop .brand { margin: 0 0 12.480px; }
.brand-name { font-size: 29.000px; font-weight: 900; line-height: 1.3; }
.brand-caption,.station,.small { font-size: 11.000px; line-height: 1.4; font-weight: 500; color: #676960; }
.brand-caption { margin-top: 8.000px; }
.station { margin-bottom: 16.000px; overflow-wrap: anywhere; }
.workshop .title { font-size: 29.000px; font-weight: 900; line-height: 1.3; white-space: pre-line; margin: 16.000px 0; }
.workshop .body { font-size: 14.000px; line-height: 1.4; margin: 12.480px 0; }
.workshop button { background: #20221F; color: #F1F0E8; width: 100%; margin: 12.000px 0; padding: 11.440px 14.560px; min-height: 50.000px; font-size: 16.000px; line-height: 1.5; box-sizing: border-box; }
.workshop button.secondary { background: transparent; border: 0.520px solid #C8CABF; color: #20221F; }
.workshop .sign { display: block; width: 100%; height: 212.000px; }
.workshop .sound-control { display: flex; align-items: center; gap: 18.000px; margin: 12.000px 0; }
.workshop button.sound-button { width: 76.000px; height: 76.000px; min-height: 0; padding: 0; margin: 0; flex-shrink: 0; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.sound-icon { width: 28.000px; height: 28.000px; }
.sound-copy { min-width: 0; flex: 1; }
.sound-number { font-size: 52.000px; line-height: 1.3; font-weight: 700; font-variant-numeric: tabular-nums; }
.workshop .consent { font-size: 11.000px; line-height: 1.5; margin: 11.960px 0; color: #20221F; }
.consent label { display: flex; align-items: flex-start; gap: 5.200px; }
.consent input { flex-shrink: 0; transform: scale(0.7); transform-origin: top left; width: 20.800px; }
.workshop .agreement-link { display: block; font-size: 11.000px; line-height: 1.5; padding: 8.320px 0; }
.workshop .rule { height: 0.520px; background: #C8CABF; margin: 11.960px 0; }
.workshop .error { color: #D83935; padding: 10.400px; border: 0.520px solid #D83935; }
.workshop .text-action { background: transparent; color: #20221F; font-size: 11.000px; min-height: 31.200px; padding: 6.240px 0; text-align: left; }
.workshop .actions { margin-top: 15.600px; }

.workshop button::after { border: 0; }
.workshop button[disabled] { background: #C8CABF; color: #676960; }


.entry-qr{display:block;width:190px;max-width:100%;height:auto;image-rendering:pixelated;margin:18px auto;background:#fff}.batch .entry-qr{width:220px}

.local-note{margin-bottom:12px;color:#676960}

/* medical / home-ui-sync 6aaf97b: tap to reveal; six inward fingers. */
.home-page{padding-top:26px!important}
.home-page.is-collapsed{padding-top:max(26px,calc(50dvh - 244px))!important;min-height:100dvh}
.workshop button.home-art{position:relative;display:block;width:100%;height:auto;aspect-ratio:1;margin:0;padding:0;min-height:0;background:transparent;overflow:visible;color:inherit}
.home-sign{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.hand-orbit{position:absolute;inset:0;animation:home-clockwise 12s linear infinite;pointer-events:none}
.hand-position{position:absolute;width:10.065%;height:11.834%;margin-left:-5.0325%;margin-top:-5.917%}
.hand{display:block;width:100%;height:100%;object-fit:contain}
.finger-1{left:50%;top:5.848%}.finger-1 .hand{transform:rotate(180deg)}
.finger-2{left:88.2368%;top:27.924%}.finger-2 .hand{transform:rotate(240deg)}
.finger-3{left:88.2368%;top:72.076%}.finger-3 .hand{transform:rotate(300deg)}
.finger-4{left:50%;top:94.152%}.finger-4 .hand{transform:rotate(360deg)}
.finger-5{left:11.7632%;top:72.076%}.finger-5 .hand{transform:rotate(420deg)}
.finger-6{left:11.7632%;top:27.924%}.finger-6 .hand{transform:rotate(480deg)}
.letter-orbit{position:absolute;width:59.649%;height:50.877%;left:20.1755%;top:24.5615%;animation:home-counterclockwise 12s linear infinite;pointer-events:none}
.letter-position{position:absolute;width:47.059%;height:48.276%}
.letter-1,.letter-3{left:0}.letter-2,.letter-4{right:0}.letter-1,.letter-2{top:0}.letter-3,.letter-4{bottom:0}
.hero-letter{display:block;width:100%;height:100%;font-size:clamp(58px,19.5vw,91px);line-height:1.1;text-align:center;font-weight:900;color:#fff;animation:home-clockwise 12s linear infinite}
.workshop button.click-hint{position:relative;display:block;width:60px;height:60px;min-height:60px;margin:32px auto 0;padding:0;background:transparent}
.click-ring{position:absolute;width:32px;height:32px;left:14px;top:0;animation:home-tap 1s linear infinite}
.click-finger{position:absolute;width:30px;height:36px;left:15px;top:10px}
.home-content{animation:home-reveal .5s ease-out both}
.home-intro{font-size:12px;line-height:1.35;margin-top:14px}
.home-subtitle{display:flex;gap:24px;align-items:center;margin:14px 0;font-size:12px}
.home-subtitle span:first-child{width:100px;font-size:15px;text-align:center}
.home-page .title{font-size:27px;margin:14px 0}
.workshop button{touch-action:manipulation}.activation-input{font-size:24px!important;letter-spacing:8px;font-variant-numeric:tabular-nums}.activation-input::placeholder{font-size:16px;letter-spacing:1px}
.workshop .error:empty{display:none}.workshop .sound-number{font-size:clamp(38px,13vw,52px)}
.admin-row code,.batch code{display:block;overflow-wrap:anywhere;font-size:12px}
@keyframes home-clockwise{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes home-counterclockwise{from{transform:rotate(0deg)}to{transform:rotate(-360deg)}}
@keyframes home-tap{0%,100%{opacity:.85}50%{opacity:.15}}
@keyframes home-reveal{from{opacity:0}to{opacity:1}}
@media(min-width:700px){.workshop{border-left:1px solid #C8CABF;border-right:1px solid #C8CABF;min-height:100dvh}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}}

.photo-picker-label{display:block;line-height:1.65;margin:20px 0 12px;font-size:14px}
.photo-native-input{display:block;width:100%;min-height:50px;font:inherit;font-size:14px;color:#20221F;padding:10px 0;white-space:normal}
.photo-native-input::file-selector-button{border:0;border-radius:0;background:#20221F;color:#F1F0E8;padding:14px;margin-right:12px;min-height:48px;font:inherit;cursor:pointer}
.photo-native-input:focus-visible{outline:3px solid #24609C;outline-offset:4px}
