:root{--bg:#f7f8f2;--ink:#20291d;--muted:#848c79;--border:#e0e5d7;--green:#d4eb95;--dark:#20291c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;-webkit-font-smoothing:antialiased}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:0}a{color:inherit;text-decoration:none}button:disabled{cursor:wait;opacity:.48}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #94aa62;outline-offset:4px}.site-shell{width:min(1140px,100%);min-height:100svh;padding:0 44px;margin:auto;display:flex;flex-direction:column}.site-header{height:114px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font-size:31px;letter-spacing:-1.6px;font-weight:750}.brand-mark{width:35px;height:35px;background:var(--dark);border-radius:10px;line-height:29px;text-align:center;color:var(--green);font-size:34px}.brand-mark>span{font-size:21px}.code-trigger{background:transparent;color:#727d64;font-size:12px;padding:10px 0 10px 12px}.code-trigger span{margin-left:10px;font-size:16px}.code-trigger.authenticated{color:#4c6535}main{flex:1;padding:50px 0 65px}.hero{border:1px solid #dee5d0;border-radius:19px;background:#edf2e1;padding:65px 48px;display:grid;grid-template-columns:1.65fr 1fr;gap:28px;align-items:center;min-height:360px}.hero h1{font-size:39px;font-weight:650;line-height:1.3;letter-spacing:-2px;margin:0 0 15px}.hero-copy>p:not(.quota-line){color:#7a856b;font-size:13px;margin:0 0 29px;line-height:1.7}.url-form{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #d8dfcc;border-radius:9px;padding:6px;max-width:580px;box-shadow:0 5px 20px #2a3b1703}.link-icon{font-size:23px;color:#899776;margin-left:10px}.url-form input{flex:1;min-width:0;border:0;background:transparent;outline:none;padding:11px 0;font-size:12px;color:var(--ink)}.url-form input::placeholder{color:#9aa18f}.url-form button{padding:14px 17px;white-space:nowrap;border-radius:6px;background:var(--green);color:#304020;font-size:12px;font-weight:650}.url-form button span{margin-left:9px}.quota-line{font-size:11px;color:#8a957b;line-height:1.7;min-height:19px;margin:13px 0 0}.record-art{display:flex;align-items:center;justify-content:center}.record{height:230px;width:230px;border-radius:50%;background:repeating-radial-gradient(circle at center,#232a20 0px,#232a20 2px,#373e31 3px,#20271e 4px);box-shadow:14px 18px 25px #20331b20;display:grid;place-items:center;transform:rotate(-16deg)}.record-label{width:85px;height:85px;border:13px solid #c7db91;border-radius:50%;background:#dceab8;display:flex;flex-direction:column;justify-content:center;text-align:center;font-size:25px;letter-spacing:-1.4px;font-weight:750;color:#384a29}.record-label span{font-size:10px;letter-spacing:0;margin-top:3px}.requests{margin-top:38px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}h2{font-size:16px;letter-spacing:-.4px;font-weight:650;margin:0}.request-row{display:flex;gap:16px;align-items:center;border-bottom:1px solid var(--border);padding:20px 4px}.request-row:last-child{border-bottom:0}.request-art{background:#e9edde;width:39px;height:39px;border-radius:7px;display:grid;place-items:center;color:#869574;flex:none;font-size:20px}.request-copy{flex:1;min-width:0}.request-copy strong{display:block;font-size:12px;font-weight:550;line-height:1.6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.request-copy small{display:block;font-size:10px;color:#8c957f;margin-top:5px;line-height:1.7;overflow-wrap:anywhere}.request-copy small.error{color:#aa6d52}.file-download,.row-button{flex:none;color:#577338;font-size:11px;white-space:nowrap;background:none;padding:10px 0 10px 10px}.file-download{text-decoration:underline;text-underline-offset:4px;font-weight:650}.request-status{font-size:10px;color:#899776;white-space:nowrap}.request-progress{width:110px;height:3px;display:block;appearance:none;border:0;border-radius:4px;overflow:hidden;margin-top:8px;background:#e0e7d4}.request-progress::-webkit-progress-bar{background:#e0e7d4}.request-progress::-webkit-progress-value{background:#9cb578}.request-progress::-moz-progress-bar{background:#9cb578}.notice{color:#927459;font-size:12px;line-height:1.8;margin:18px 4px 0}footer{border-top:1px solid var(--border);display:flex;justify-content:space-between;padding:24px 0 27px;color:#969e89;font-size:10px;letter-spacing:.2px}footer a:hover{color:#51663c}dialog{border:1px solid var(--border);padding:30px;border-radius:16px;background:var(--bg);color:var(--ink);width:min(420px,90vw);box-shadow:0 25px 100px #14200b20}dialog::backdrop{background:#202b1d60;backdrop-filter:blur(4px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center}.icon-button{background:none;color:#8b947f;font-size:25px;padding:0 0 0 10px}.dialog-heading h2{font-size:18px}dialog p{font-size:12px;color:#879178;line-height:1.8;margin:15px 0 22px}dialog label{display:block;font-size:11px;color:#78836a;margin-bottom:8px}dialog input{border:1px solid var(--border);background:#fff;padding:13px 12px;border-radius:7px;width:100%;font-size:13px;color:var(--ink)}dialog .form-error{color:#a56146;font-size:11px;min-height:17px;margin:12px 0}.dialog-actions{display:flex;gap:10px;justify-content:end;margin-top:20px}.primary,.secondary{border-radius:7px;padding:12px 20px;font-size:12px}.primary{background:var(--dark);color:#f2f6ec}.secondary{background:#e9edde;color:#6b785c}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);max-width:min(500px,90vw);padding:14px 21px;background:#293322;color:#f1f5eb;border-radius:9px;font-size:12px;line-height:1.8;z-index:20;box-shadow:0 5px 25px #18251020}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(max-width:900px){.site-shell{padding:0 30px}.hero{padding:45px 32px;grid-template-columns:1.8fr 1fr;gap:18px}.hero h1{font-size:32px}.record{width:180px;height:180px}.record-label{width:73px;height:73px;font-size:20px;border-width:11px}}@media(max-width:650px){.site-shell{padding:0 22px}.site-header{height:88px}.brand{font-size:28px}.brand-mark{width:31px;height:31px;font-size:30px;line-height:26px}.brand-mark>span{font-size:18px}.code-trigger{font-size:11px}main{padding:24px 0 45px}.hero{display:flex;flex-direction:column-reverse;align-items:stretch;padding:30px 22px;gap:32px;min-height:0;border-radius:15px}.record-art{justify-content:end;padding:0 14px}.record{height:144px;width:144px}.record-label{width:56px;height:56px;border-width:9px;font-size:17px}.record-label span{font-size:7px;margin-top:1px}.hero h1{font-size:30px;letter-spacing:-1.4px;margin-bottom:12px}.hero-copy>p:not(.quota-line){font-size:12px;margin-bottom:25px}.url-form{gap:7px}.link-icon{font-size:20px;margin-left:5px}.url-form input{font-size:10px}.url-form button{font-size:10px;padding:13px 10px}.url-form button span{margin-left:3px}.quota-line{font-size:10px}.requests{margin-top:30px}.request-row{gap:10px;padding:17px 0;flex-wrap:wrap}.request-art{width:32px;height:32px;font-size:17px}.request-copy strong{font-size:11px}.request-copy small{font-size:9px}.request-status{font-size:9px}.file-download,.row-button{font-size:10px}.request-progress{width:80px}footer{font-size:9px;padding:22px 0}dialog{padding:25px}.notice{font-size:11px}}@media(prefers-reduced-motion:no-preference){button,a{transition:color .15s,background .15s}button:hover:not(:disabled){filter:brightness(.97)}}

.admin-page main{max-width:700px;width:100%;margin:auto;padding-top:20px}.admin-page h1{font-size:26px;margin-bottom:22px}.admin-page main>p,.admin-page #settings-form>p:last-of-type{font-size:12px;color:#7b876b;line-height:1.9}.admin-page #settings-form{margin-top:30px}.admin-page #settings-form label{display:flex;flex-direction:column;gap:9px;font-size:12px;color:#6a775b}.admin-page #settings-form input:not([type=checkbox]){border:1px solid var(--border);border-radius:7px;padding:12px;background:white;font-size:14px;color:var(--ink);max-width:440px;width:100%;margin-bottom:9px}.admin-page #settings-form label:has([type=checkbox]){flex-direction:row;align-items:center}.admin-page details{padding:18px 0;margin:22px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.admin-page summary{cursor:pointer;font-size:13px}.admin-page details>p{font-size:11px;line-height:1.8;color:#7b876b}.admin-page #admin-message{margin-top:20px;color:#657d46;font-size:12px;line-height:1.8}

@keyframes record-spin{from{transform:rotate(-16deg)}to{transform:rotate(344deg)}}
@media(prefers-reduced-motion:no-preference){.record{animation:record-spin 14s linear infinite}}
