:root{color-scheme:light;--ink:#19352c;--paper:#f5f3ec;--gold:#a77720;--line:#d8ddd5;--muted:#57675e}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 system-ui,sans-serif}header{max-width:1120px;margin:auto;padding:24px 28px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);font-size:13px;line-height:1.3;letter-spacing:2px}.brand small{font-size:9px;letter-spacing:1px}.mark{font:36px Georgia;border:1px solid var(--gold);width:50px;height:54px;text-align:center;color:var(--gold)}main{max-width:1064px;margin:36px auto;padding:0 24px;min-height:70vh}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.15}h1{font-size:clamp(36px,5vw,62px);margin:14px 0 20px;letter-spacing:-1.5px}h2{font-size:32px;margin:12px 0 20px}h3{font-size:23px}.eyebrow{text-transform:uppercase;letter-spacing:2px;color:var(--gold);font-size:12px;font-weight:700}.muted{color:var(--muted)}.hero{background:var(--ink);color:#fff;padding:40px;border-radius:22px}.hero .muted{color:#d0d9d3}.hero .eyebrow{color:#e6c27d}.hero p{max-width:600px}.grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;margin:24px 0}.card{border:1px solid var(--line);background:#fffefa;padding:28px;border-radius:18px}.login{max-width:490px;margin:50px auto}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}.stat{padding:18px;background:#fffefa;border:1px solid var(--line);border-radius:14px}.stat strong{display:block;font-size:28px}.stat small{color:var(--muted)}button,.button{border:0;border-radius:10px;padding:14px 20px;background:var(--ink);color:white;font:600 15px system-ui;cursor:pointer;display:inline-block;text-decoration:none}button:hover,.button:hover{filter:brightness(1.15)}button:disabled{opacity:.45;cursor:not-allowed}.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.hero button{background:#e6c27d;color:#19352c}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.spread{justify-content:space-between}input,textarea,select{display:block;width:100%;padding:13px;border:1px solid #9faea2;border-radius:8px;font:16px system-ui;background:white;color:var(--ink);margin:6px 0 18px}input[type=checkbox]{display:inline;width:20px;margin:0 10px 0 0;accent-color:var(--ink)}label{display:block}audio,video{width:100%;margin:14px 0;border-radius:12px}video{background:#101712}.infographic{width:100%;display:block;border-radius:12px}.image-link{display:block;margin-top:12px}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.day-button{padding:12px 4px;color:var(--ink);background:#e9eee7;border:1px solid var(--line)}.day-button.done{background:var(--ink);color:white}.day-button.active{outline:2px solid var(--gold);outline-offset:2px}.badge{display:inline-block;background:#f2e5c8;color:#654709;padding:7px 12px;border-radius:30px;margin:4px;font-size:13px}.error{color:#9e2d2d}.success{color:#1c684d}progress{width:100%;height:10px;accent-color:var(--ink)}footer{max-width:1064px;padding:24px;margin:auto;color:var(--muted);font-size:12px;display:flex;justify-content:space-between;gap:20px}dialog{border:1px solid var(--line);border-radius:18px;padding:30px;max-width:430px}dialog::backdrop{background:#0008}.close-form{display:grid;gap:16px}.close-form label{line-height:1.5}.close-form textarea{margin-bottom:0}.no-margin{margin:0}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}table{width:100%;border-collapse:collapse;font-size:14px}td,th{text-align:left;border-bottom:1px solid var(--line);padding:10px}.table-wrap{overflow:auto}@media(max-width:700px){header{padding:18px 16px}.brand{font-size:11px}.brand small{font-size:8px}main{padding:0 16px;margin:22px auto}.hero{padding:26px}.grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.card{padding:22px}.days{grid-template-columns:repeat(7,1fr);gap:6px}.day-button{font-size:14px;padding:11px 2px}footer{padding:20px 16px}.mark{width:42px;height:46px;font-size:30px}}
