:root{font-family:Arial,Helvetica,sans-serif;font-size:16px;color:#171b1a;background:#fff;--text:#171b1a;--muted:#45524f;--line:#cbd5d1;--surface:#fff;--soft:#f4f7f5;--accent:#145f55;--accent-dark:#0c4941;--focus:#b05810}
*{box-sizing:border-box}
body{margin:0;min-width:0;background:#fff;color:var(--text);line-height:1.5}
a{color:#115d53;text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
button,input,select,textarea{font:inherit}
header{padding:14px max(20px,calc((100vw - 1100px)/2));display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:16px;background:#fff}
.brand{color:var(--text);text-decoration:none;font-weight:800;font-size:1.15rem;letter-spacing:.02em}
nav{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap}
nav a{color:var(--text)}
nav form{display:inline}
nav button{min-height:44px}
main{max-width:1100px;margin:auto;padding:24px 20px 88px;min-width:0}
.hero{padding:20px 0 26px}.hero.compact{padding:12px 0 22px}
.eyebrow{color:var(--accent-dark);font-size:.78rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
h1{font-size:clamp(1.85rem,4vw,2.8rem);line-height:1.16;letter-spacing:-.025em;margin:8px 0 14px}
h2{font-size:1.3rem;line-height:1.3;margin:0 0 16px}
h3{font-size:1.1rem}
p{line-height:1.5;color:var(--muted)}
.columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px;margin-bottom:18px;min-width:0}
.narrow{max-width:660px}
.row{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--line);padding:16px 0;min-width:0}
.row:first-of-type{border-top:0}
form p{display:flex;flex-direction:column;gap:7px}
label{font-weight:700}
input,select,textarea{width:100%;min-height:48px;padding:10px 12px;border-radius:9px;background:#fff;color:var(--text);border:1px solid #697b75}
input[type=checkbox]{width:22px;min-height:22px;height:22px}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
button,.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:10px 18px;border:1px solid var(--accent);border-radius:9px;cursor:pointer;font-weight:800;background:var(--accent);color:#fff;text-decoration:none}
button:hover,.button:hover{background:var(--accent-dark);color:#fff}
.secondary{border:1px solid var(--accent);background:#fff;color:var(--accent-dark)}
.secondary:hover{background:#e9f3f0;color:var(--accent-dark)}
.quiet{border:0;background:transparent;color:var(--accent-dark);padding:8px}
.quiet:hover{background:#e9f3f0;color:var(--accent-dark)}
.notice{padding:12px 16px;background:#e5f4ec;border:1px solid #8bbfa5;border-radius:9px;color:var(--text)}
.errorlist,[role=alert]{color:#8a241b}
small{color:var(--muted)}
button:disabled{opacity:.55;cursor:not-allowed}
.frame-picker{position:relative;max-width:720px;margin-bottom:18px}
.frame-picker img,.result-image{display:block;max-width:100%;height:auto}
.frame-picker img{cursor:crosshair}.result-image{margin:16px 0}
.selected-dot{position:absolute;width:16px;height:16px;transform:translate(-50%,-50%);border:3px solid #fff;background:#1687ff;border-radius:50%;pointer-events:none}
.task-intro{max-width:75ch}.primary-action{margin:16px 0 20px}.session-list .row{align-items:flex-start}.session-list .row>div{min-width:0}.session-list .row small{display:block}
.home-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.home-actions .card{margin:0}.home-actions .row{flex-wrap:wrap}.home-actions form{width:100%;max-width:320px}.home-actions form label{display:block;margin:8px 0}
.home-actions form button{margin-top:10px}.secondary-link{display:inline-flex;align-items:center;min-height:44px}
.history-list .row{flex-wrap:wrap}.history-list .row a{min-height:44px;display:inline-flex;align-items:center}
.history-filter{display:grid;gap:10px}.history-filter button{justify-self:start}
@media(max-width:760px){header{display:block}nav{margin-top:12px}.columns,.home-actions{grid-template-columns:1fr}.row{align-items:flex-start;flex-wrap:wrap}}
@media(max-width:420px){main{padding:18px 16px 72px}.card{padding:18px}nav{gap:4px 12px}nav a{min-height:40px;display:inline-flex;align-items:center}}
