:root {
    --ink:#302d31; --muted:#706a72; --paper:#f5f0e6; --purple:#2f253b;
    --purple-soft:#4d4963; --gold:#c89c59; --green:#4f5d53; --white:#fffdf8;
    --danger:#8a3f44; --shadow:0 20px 50px rgba(47,37,59,.09);
}
*{box-sizing:border-box} html{background:var(--paper)}
body{margin:0;color:var(--ink);background:radial-gradient(circle at 85% 0%,rgba(214,168,159,.20),transparent 33rem),linear-gradient(180deg,var(--paper),#f8f4ec);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}
button,input,select{font:inherit}.shell{width:min(920px,calc(100% - 32px));margin:0 auto;min-height:100vh;display:flex;flex-direction:column}
.topbar{min-height:92px;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;gap:12px;align-items:center;color:inherit;text-decoration:none}
.brand-mark{width:42px;height:42px;border:1px solid rgba(47,37,59,.22);border-radius:50%;display:grid;place-items:center;color:var(--purple);font-family:Georgia,serif;font-size:14px}
.brand strong,.brand small{display:block}.brand strong{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:18px}.brand small{color:var(--muted);margin-top:2px;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
main{flex:1;padding:44px 0 64px}footer{padding:28px 0 36px;color:var(--muted);font-size:12px;text-align:center}
h1,h2{font-family:Georgia,"Times New Roman",serif;color:var(--purple);font-weight:500;margin:0}h1{font-size:clamp(38px,7vw,64px);line-height:1.04}h2{font-size:28px}
.eyebrow{color:var(--green);text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:700;margin:0 0 14px}.intro{max-width:650px;color:var(--muted);line-height:1.65;font-size:17px;margin:20px 0 0}.hero{margin-bottom:34px}
.card,.session-card{background:rgba(255,253,248,.86);border:1px solid rgba(47,37,59,.10);border-radius:22px;box-shadow:var(--shadow);backdrop-filter:blur(12px)}
.generator{padding:24px}.generator-form{display:flex;gap:18px;align-items:end}label{display:grid;gap:8px;color:var(--purple);font-size:13px;font-weight:650}.generator-form label{flex:1}
input,select{width:100%;min-height:48px;border:1px solid rgba(47,37,59,.18);border-radius:12px;background:var(--white);color:var(--ink);padding:0 14px;outline:none}
input:focus,select:focus{border-color:var(--purple-soft);box-shadow:0 0 0 3px rgba(77,73,99,.10)}
.primary-button{min-height:48px;border:0;border-radius:12px;background:var(--purple);color:var(--white);padding:0 20px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;font-weight:650;white-space:nowrap}
.quiet-button,.copy-button{min-height:40px;border:1px solid rgba(47,37,59,.16);border-radius:10px;background:transparent;color:var(--purple);padding:0 14px;cursor:pointer}
.copy-button.copied{border-color:var(--green);color:var(--green)}.privacy-note,.link-block small{color:var(--muted);line-height:1.5;font-size:12px}.privacy-note{margin:14px 0 0}
.sessions{margin-top:52px}.section-heading{margin-bottom:18px}.session-card{padding:24px;margin-bottom:16px}.session-meta{display:flex;align-items:center;gap:12px;margin-bottom:24px}
.session-meta strong,.session-meta small{display:block}.session-meta small{color:var(--muted);margin-top:4px}.status-dot{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(79,93,83,.10)}
.link-block{margin-top:20px}.copy-row{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:8px}.copy-row input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}
.host-actions{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap}.revoke-form{margin-top:24px;border-top:1px solid rgba(47,37,59,.08);padding-top:18px}
.danger-link{border:0;background:none;padding:0;color:var(--danger);cursor:pointer;font-size:12px}.revoked{opacity:.68}.revoked-message{color:var(--danger)}
.login-panel{width:min(440px,100%);margin:7vh auto 0;padding:34px}.login-panel h1{font-size:42px}.form-stack{display:grid;gap:18px;margin-top:28px}
.flash{border-radius:12px;padding:13px 15px;margin-bottom:20px;font-size:14px}.flash.error{background:rgba(138,63,68,.10);color:var(--danger)}.flash.success{background:rgba(79,93,83,.10);color:var(--green)}
@media(max-width:640px){.shell{width:min(100% - 22px,920px)}.topbar{min-height:76px}main{padding-top:28px}.generator-form{display:grid}.copy-row{grid-template-columns:1fr}.copy-row .copy-button{width:100%}.host-actions{display:grid}.login-panel{padding:26px 20px}}
