:root{color-scheme:light;--ink:#142c38;--muted:#4f6571;--line:#d6e1e6;--accent:#006b60;--accent-dark:#005047;--paper:#fff;--bg:#edf3f6;--focus:#1874b8}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.55}
button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}
button:focus-visible,a:focus-visible,input:focus-visible,section:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
a{color:var(--accent);text-underline-offset:3px}[hidden]{display:none!important}
.site-header{max-width:1040px;margin:0 auto;padding:28px 32px;display:flex;align-items:center;gap:16px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-size:24px;font-weight:760;line-height:1.05}
.brand-symbol{display:grid;place-items:center;background:var(--accent);color:white;width:45px;height:45px;border-radius:12px;font-weight:750;font-size:29px}
.brand-by{display:block;font-weight:450;font-size:13px;letter-spacing:.02em;margin-top:6px;color:var(--muted)}
.test-badge{margin-left:auto;border:1px solid #b9cbd5;border-radius:100px;padding:4px 12px;font-size:13px;font-weight:600;color:var(--muted)}
.logout{margin:0}.link-button{border:0;background:none;padding:0;color:var(--accent);text-decoration:underline;text-underline-offset:3px;font-size:14px;font-weight:650}
main{width:min(100% - 40px,600px);margin:26px auto 0}.page-intro{margin-bottom:28px}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-weight:750;font-size:12px;margin:0 0 9px}
h1{font-size:clamp(30px,5vw,40px);line-height:1.12;letter-spacing:-.035em;margin:0 0 16px;font-weight:740}
.intro{color:var(--muted);font-size:18px;line-height:1.5;margin:0}
.work-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 10px 32px #183c4e08}
.tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);padding:0 18px}
.tab{display:flex;justify-content:center;align-items:center;gap:9px;min-height:64px;padding:12px 3px;background:transparent;border:0;border-bottom:3px solid transparent;color:var(--muted);font-size:15px;font-weight:650}
.tab.active{color:var(--accent);border-bottom-color:var(--accent)}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.panel{padding:26px}form{margin:0}.image-stage{position:relative;display:grid;place-items:center;background:#f1f6f8;border:1px dashed #b2c8d1;border-radius:13px;min-height:215px;overflow:hidden;margin-bottom:14px}
.image-placeholder{text-align:center;padding:25px 12px;color:var(--muted)}.large-camera{width:48px;height:48px;color:var(--accent);stroke-width:1.25}.image-placeholder p{font-size:18px;font-weight:650;margin:10px 0 3px;color:var(--ink)}.image-placeholder span{font-size:14px}
#preview{width:100%;height:290px;object-fit:contain;background:#e5eef2}.remove-image{position:absolute;right:10px;bottom:10px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:14px;box-shadow:0 2px 12px #142c381f}
.image-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px}.secondary{background:#fff;color:var(--ink);border:1px solid #bccdd5;border-radius:10px;min-height:47px;font-size:15px;font-weight:650}
.secondary:hover{background:#eff6f7}.primary{display:block;width:100%;border:1px solid var(--accent);background:var(--accent);color:#fff;font-weight:680;border-radius:10px;min-height:52px;padding:12px 18px;margin-top:18px}.primary:hover:not(:disabled){background:var(--accent-dark)}
label{display:block;font-weight:650;font-size:15px;margin-bottom:8px}.optional{float:right;color:var(--muted);font-size:13px;font-weight:450}
input[type=text],input[type=search],input[type=password]{display:block;width:100%;border:1px solid #b8cbd4;border-radius:10px;background:#fff;color:var(--ink);min-height:50px;padding:12px 14px;font-size:16px}input::placeholder{color:#687c86}
.fine-print{font-size:13px;color:var(--muted);line-height:1.55;margin:13px 0 0}.setup-note{font-size:14px;background:#edf5fb;border:1px solid #c8dbea;border-radius:10px;padding:12px 14px;margin-top:16px}.setup-note .link-button{display:inline-block;margin-top:4px}
.progress{display:flex;align-items:center;gap:11px;padding:22px 4px;color:var(--muted)}.spinner{width:19px;height:19px;border:2px solid #a5c7c1;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.error-box{margin:20px 0;padding:16px 18px;border:1px solid #e3b9b4;background:#fff1ee;color:#8f2e25;border-radius:12px;font-size:15px}
.results{margin-top:26px;background:white;border:1px solid var(--line);padding:26px;border-radius:20px}.results:focus{outline:none}.results h2{margin:0 0 10px;font-size:25px;line-height:1.25;letter-spacing:-.025em;overflow-wrap:anywhere}.results p:not(.eyebrow){color:var(--muted);margin-top:8px}.question{background:#fff6dc;border:1px solid #e7d59c;border-radius:9px;padding:14px;font-weight:600;color:#664a0a!important}
.result-list{list-style:none;padding:0;margin:20px 0}.result-list li+li{margin-top:9px}.result-list a{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:10px;padding:15px 17px;color:var(--ink);text-decoration:none;transition:background .15s,border-color .15s}.result-list a:hover{background:#eef8f6;border-color:var(--accent)}.result-list strong{display:block;font-size:17px;font-weight:650}.result-list small{color:var(--muted);font-size:13px}.result-arrow{font-size:23px;color:var(--accent)}.portal-link{font-size:14px;font-weight:600}.login-card{background:#fff;border:1px solid var(--line);padding:30px;border-radius:20px;margin-top:52px}.login-form{margin-top:28px}
footer{text-align:center;padding:30px 20px 36px;color:var(--muted);font-size:13px}footer p{margin:0 0 9px}footer a{font-size:13px}
@media(max-width:480px){.site-header{padding:20px;gap:10px}.brand{font-size:21px}.brand-symbol{width:40px;height:40px}.brand-by{font-size:12px}.test-badge{padding:4px 9px;font-size:12px}main{width:calc(100% - 28px);margin-top:18px}.page-intro{padding:0 6px}.intro{font-size:16px}.panel,.results{padding:20px}.tabs{padding:0 12px}.tab{font-size:14px;gap:7px}.image-stage{min-height:190px}.login-card{padding:24px}.logout .link-button{font-size:12px}}
@media(prefers-reduced-motion:reduce){.spinner{animation:none}.result-list a{transition:none}}
