:root{--ink: #17211d;--paper: #f3efe4;--paper-light: #fffdf7;--red: #bd3427;--red-dark: #8f241b;--moss: #425b4c;--line: #c9c2b0;--muted: #6e716b;--shadow: 0 28px 70px rgb(35 39 31 / 15%);font-family:Microsoft YaHei,PingFang SC,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:360px;min-height:100dvh;background:var(--paper)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}h1,h2{font-family:STSong,Songti SC,serif;font-weight:700;margin:0;letter-spacing:-.035em}h1{font-size:clamp(2.4rem,6vw,5rem);line-height:.98}h2{font-size:clamp(1.8rem,3vw,2.8rem)}.eyebrow{color:var(--red);font-size:.72rem;font-weight:800;letter-spacing:.18em;margin:0 0 .8rem}.muted{color:var(--muted)}.mono{font-family:SFMono-Regular,Consolas,monospace}.nowrap{white-space:nowrap}.button{border:1px solid var(--ink);border-radius:0;min-height:48px;padding:.8rem 1.4rem;font-weight:800;letter-spacing:.04em;background:transparent;color:var(--ink);transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.button:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}.button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e5a744;outline-offset:2px}.button.primary{color:#fff;background:var(--red);border-color:var(--red-dark)}.button.outline{background:var(--paper-light)}.text-button{border:0;border-bottom:1px solid currentColor;background:none;padding:.25rem 0;color:inherit}label{display:grid;gap:.45rem;font-size:.86rem;font-weight:700}.field-label em{color:var(--muted);font-weight:400;font-style:normal}.field-label{display:inline-flex;align-items:baseline;gap:.3rem;width:fit-content;color:var(--ink)}.required-mark{color:var(--red)}input,select,textarea{width:100%;border:1px solid #a8a18f;border-radius:0;padding:.82rem .9rem;color:var(--ink);background:#fffef9;transition:border-color .15s,box-shadow .15s}input:hover,select:hover,textarea:hover{border-color:var(--ink)}input.invalid,textarea.invalid,select.invalid{border-color:var(--red);box-shadow:inset 4px 0 var(--red)}label small{min-height:1em;color:var(--red);font-weight:500}.field-error{color:var(--red)}.alert{border-left:5px solid var(--red);padding:.9rem 1rem;margin:1rem 0;color:var(--red-dark);background:#f9e6df}.visitor-shell{min-height:100dvh;position:relative;padding:clamp(1rem,4vw,3rem);background:linear-gradient(90deg,transparent 49.8%,rgba(23,33,29,.05) 50%,transparent 50.2%),radial-gradient(circle at 12% 8%,#fffdf7 0 18%,transparent 40%),var(--paper)}.visitor-shell:before{content:"";position:fixed;inset:0 auto 0 0;width:8px;background:var(--red)}.brand-mark{position:absolute;top:clamp(1.4rem,4vw,3rem);left:clamp(1.5rem,5vw,5rem);width:clamp(9rem,18vw,12rem);height:auto;mix-blend-mode:multiply;z-index:2}.visitor-card{width:min(860px,100%);margin:clamp(6.5rem,12vw,9.5rem) auto 2rem;padding:clamp(1.4rem,5vw,4.5rem);background:#fffdf7f0;box-shadow:var(--shadow);border:1px solid #ddd5c2;animation:rise .45s ease both}.visitor-header{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding-bottom:2.2rem;margin-bottom:2rem;border-bottom:1px solid var(--line)}.visitor-title{font-size:clamp(2rem,4.5vw,3.6rem)}.site-badge{border-left:4px solid var(--red);padding:.4rem 0 .4rem 1rem;display:grid;gap:.25rem;min-width:130px}.site-label{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted)}.site-label svg{width:1rem;height:1rem;fill:var(--red)}.site-badge small{color:var(--muted)}.site-badge strong{font-family:STSong,Songti SC,serif;font-size:1.35rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem 1.4rem}.form-grid .wide{grid-column:1/-1}.counter{text-align:right;color:var(--muted)}.submit-button{width:100%;min-height:58px;margin-top:2rem}.visitor-shell>footer{text-align:center;color:var(--muted);font-size:.72rem}.state-panel{min-height:430px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1rem}.state-panel h1{font-size:clamp(2.2rem,5vw,3.8rem);overflow-wrap:anywhere}.state-panel p{max-width:540px;line-height:1.7}.success-seal{display:grid;place-items:center;width:92px;height:92px;border:3px double var(--red);border-radius:50%;color:var(--red);font-family:STSong,serif;font-size:1.25rem;font-weight:800;transform:rotate(-7deg)}.success-time{padding:1rem 2rem;border-block:1px solid var(--line)}.success-actions{display:flex;justify-content:center;gap:.8rem;flex-wrap:wrap}.screenshot-error{margin:0;color:var(--red-dark)}.loader{width:34px;height:34px;border:3px solid var(--line);border-top-color:var(--red);border-radius:50%;animation:spin .8s linear infinite}.admin-auth-shell{min-height:100dvh;display:grid;grid-template-columns:minmax(320px,.9fr) minmax(430px,1.1fr);background:var(--ink)}.auth-intro{color:#fff;padding:clamp(3rem,8vw,8rem);display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,rgba(255,255,255,.04),transparent),repeating-linear-gradient(90deg,transparent 0 79px,rgba(255,255,255,.04) 80px)}.auth-intro h1{font-size:clamp(3.2rem,7vw,6.5rem)}.auth-intro>p:not(.eyebrow){max-width:430px;line-height:1.8;color:#c9d1ca;margin-top:2rem}.auth-rule{height:5px;width:80px;margin:3rem 0 1rem;background:var(--red)}.auth-intro small{color:#9ead9f}.auth-card{background:var(--paper-light);padding:clamp(2rem,9vw,9rem);display:flex;flex-direction:column;justify-content:center}.auth-card h2{margin-bottom:2rem;font-size:clamp(2.8rem,5vw,4.5rem)}.auth-card form{display:grid;gap:1.35rem;max-width:520px}.step-label{font-size:.7rem;letter-spacing:.15em;color:var(--red);font-weight:800}.auth-footnote,.password-rule{max-width:520px;color:var(--muted);font-size:.8rem;line-height:1.7;margin-top:1.5rem}.admin-shell{min-height:100dvh;padding:clamp(1.2rem,4vw,4rem);background:linear-gradient(135deg,#f7f3e9 0 55%,#e7e2d5)}.admin-header{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:3rem}.admin-header h1{font-size:clamp(3rem,7vw,6rem)}.admin-identity{display:flex;align-items:center;gap:1.6rem;padding:.8rem 0 .8rem 1.2rem;border-left:4px solid var(--red)}.admin-identity span{display:grid;font-weight:800}.admin-identity small{color:var(--muted);font-weight:400}.filter-panel,.results-panel{background:var(--paper-light);border:1px solid var(--line);padding:clamp(1.2rem,3vw,2.5rem);box-shadow:10px 10px #17211d12}.results-panel{margin-top:2rem}.section-heading{display:flex;align-items:center;gap:1rem}.section-heading>span{color:var(--red);font-family:Georgia,serif;font-size:2rem;font-style:italic}.section-heading .eyebrow{margin:0}.section-heading h2{font-size:2rem}.filter-grid{display:grid;grid-template-columns:minmax(140px,.7fr) 1fr 1fr auto;align-items:end;gap:1rem;margin-top:2rem}.filter-button{min-width:120px}.results-toolbar{display:flex;justify-content:space-between;gap:2rem;align-items:center}.export-controls{display:flex;align-items:end;gap:1rem}.export-controls fieldset{display:flex;gap:.8rem;border:0;padding:0}.export-controls legend{font-size:.72rem;color:var(--muted);margin-bottom:.25rem}.export-controls label{display:flex;align-items:center;gap:.25rem}.export-controls input{width:auto}.sensitive-warning{color:var(--red-dark);text-align:right;font-size:.8rem}.table-scroll{overflow:auto;margin-top:1.7rem;border:1px solid var(--line);max-height:58vh}table{border-collapse:collapse;width:100%;min-width:1350px;font-size:.82rem}th{position:sticky;top:0;z-index:1;background:var(--ink);color:#fff;text-align:left;letter-spacing:.04em}th,td{padding:.9rem .85rem;border-bottom:1px solid #ddd6c6;vertical-align:top}tbody tr:nth-child(2n){background:#f3efe5}tbody tr:hover{background:#ede3ce}.site-code{text-transform:uppercase;color:var(--red);font-weight:900;letter-spacing:.1em}.remark{display:block;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.load-more{display:block;margin:1.5rem auto 0}.empty-state{min-height:260px;margin-top:1.5rem;border:1px dashed var(--line);display:grid;place-content:center;text-align:center;color:var(--muted)}.empty-state strong{color:var(--ink);font-family:STSong,serif;font-size:1.8rem}.not-found{min-height:100dvh;display:grid;place-content:center;padding:2rem;text-align:center;background:var(--ink);color:#fff}.not-found p:last-child{color:#b6c0b8}@keyframes rise{0%{opacity:0;transform:translateY(16px)}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:800px){.visitor-card{padding:1.25rem}.visitor-header{align-items:start}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.success-actions{width:100%}.success-actions .button{flex:1 1 12rem}.admin-auth-shell{grid-template-columns:1fr}.auth-intro{min-height:38vh;padding:3rem 1.5rem}.auth-intro h1{font-size:3.4rem}.auth-card{min-height:62vh;padding:3rem 1.5rem}.admin-header,.results-toolbar{align-items:start;flex-direction:column}.filter-grid{grid-template-columns:1fr}.filter-button{width:100%}.export-controls{width:100%;justify-content:space-between;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
