*,*:before,*:after{box-sizing:border-box}*{margin:0}html,body,#root{height:100%}body{line-height:1.6;-webkit-font-smoothing:antialiased;color:#0f172a;background:#f8fafc}img,svg,video,canvas{display:block;max-width:100%}input,button,textarea,select{font:inherit}:root{--bg:#f8fafc;--card:#ffffff;--text:#f0f0f0;--muted:#334155;--primary:#0ea5e9;--link:#0369a1;--border:#e2e8f0}body{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,"Apple Color Emoji","Segoe UI Emoji";background:var(--bg)}.container{max-width:860px;margin:0 auto;padding:2rem 1rem 4rem;color:var(--text)}.site-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;margin-bottom:1.5rem;position:sticky;top:0;background:color-mix(in oklab,var(--bg) 85%,white 15%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--border);z-index:10}.brand{font-weight:700;letter-spacing:.2px;color:var(--text);text-decoration:none}.nav{display:flex;gap:.75rem}.nav-link{color:var(--muted);text-decoration:none;font-size:.95rem}.nav-link:hover{color:var(--link)}.markdown{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:2rem;box-shadow:0 4px 24px #0208170a}.markdown h1{font-size:clamp(1.8rem,3vw,2.4rem);line-height:1.2;margin-bottom:1rem}.markdown h2{font-size:clamp(1.25rem,2.2vw,1.6rem);line-height:1.25;margin-top:2rem;margin-bottom:.75rem}.markdown h3{font-size:1.1rem;margin-top:1.5rem;margin-bottom:.5rem}.markdown p{margin:.75rem 0;color:var(--text)}.markdown ul{padding-left:1.2rem;margin:.5rem 0 .75rem}.markdown li{margin:.3rem 0}.markdown hr{border:0;border-top:1px solid var(--border);margin:1.5rem 0}.markdown a{color:var(--link)}.site-footer{color:var(--muted);text-align:center;margin-top:2rem}.site-footer a{color:var(--link)}.site-footer h3{color:var(--text);margin-bottom:.75rem}.contact{max-width:720px;margin:0 auto;text-align:left}.contact .row{display:flex;gap:.75rem;flex-wrap:wrap}.contact label{display:block;color:var(--muted);font-size:.95rem;margin:.5rem 0}.contact input,.contact textarea{width:100%;border:1px solid var(--border);background:transparent;color:var(--text);border-radius:10px;padding:.6rem .8rem}.contact textarea{resize:vertical}.contact .actions{display:flex;align-items:center;gap:.6rem;margin-top:.5rem}.contact button{border:1px solid var(--border);background:var(--text);color:var(--bg);padding:.6rem .9rem;border-radius:10px;cursor:pointer}.contact button:disabled{opacity:.7;cursor:not-allowed}.contact .ok{color:#16a34a}.form-error{color:#ef4444}.hidden{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}@media (prefers-color-scheme: dark){:root{--bg:#0b1220;--card:#0f172a;--text:#e2e8f0;--muted:#94a3b8;--border:#1f2937;--link:#7dd3fc}.markdown{box-shadow:none}}.lock-wrap{min-height:100dvh;display:grid;place-items:center;padding:2rem}.lock-card{width:100%;max-width:400px;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:1.5rem;box-shadow:0 8px 32px #0208171f}.lock-title{font-size:1.5rem;font-weight:700}.lock-sub{color:var(--muted);margin-top:.25rem;margin-bottom:1rem}.lock-form{display:flex;gap:.5rem}.lock-input{flex:1;border:1px solid var(--border);background:transparent;color:var(--text);border-radius:10px;padding:.65rem .8rem}.lock-button{border:1px solid var(--border);background:var(--text);color:var(--bg);padding:.65rem .9rem;border-radius:10px;cursor:pointer}.lock-button:hover{opacity:.95}.lock-error{color:#ef4444;margin-top:.5rem}.lock-hint{color:var(--muted);margin-top:.75rem;font-size:.9rem}.lock-bar{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:color-mix(in oklab,var(--bg) 80%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--border);padding:.5rem 1rem;z-index:20}.lock-logout{border:1px solid var(--border);background:transparent;color:var(--muted);padding:.25rem .6rem;border-radius:8px;cursor:pointer}.lock-logout:hover{color:var(--text)}
