:root { color-scheme:light; --ink:#17352a; --cream:#f7f3e9; --paper:#fffdf8; --rust:#b84d2c; --gold:#e6b85c; --sage:#dce5d4; --line:#17352a26; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; color:var(--ink); background:var(--cream); font-family:Arial,Helvetica,sans-serif; }
button,select { font:inherit; }
button:focus-visible,select:focus-visible { outline:3px solid var(--gold); outline-offset:3px; }
[hidden] { display:none !important; }
.gate { min-height:100vh; display:grid; place-items:center; padding:1.25rem; background:radial-gradient(circle at 50% 0,#efdcae,transparent 42%),var(--cream); }
.gate-card { width:min(100%,34rem); padding:clamp(2rem,7vw,4rem); text-align:center; background:var(--paper); border:1px solid var(--line); box-shadow:14px 14px 0 var(--sage); }
.eyebrow { margin:0 0 .7rem; color:var(--rust); font-size:.72rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.gate h1,.workspace h1,.workspace h2 { font-family:Georgia,serif; }
.gate h1 { margin:.4rem 0 1rem; font-size:clamp(3rem,10vw,5.5rem); }
.rail-mark { display:flex; justify-content:center; gap:.35rem; height:2rem; }
.rail-mark span { width:.35rem; background:var(--gold); transform:skewX(-18deg); }
.gate button,#start-sign-in { min-height:44px; border:0; border-radius:.35rem; padding:.8rem 1.2rem; color:white; background:var(--ink); font-weight:700; cursor:pointer; }
.console { min-height:100vh; display:grid; grid-template-columns:17rem 1fr; }
.sidebar { display:flex; flex-direction:column; min-height:100vh; padding:1.75rem; color:white; background:var(--ink); }
.brand { display:block; max-width:95%; color:white; text-decoration:none; white-space:nowrap; font:700 2.2rem/1 Georgia,serif; }.brand span { color:var(--gold); }.brand sup { font:.4em Arial; }
.console-name { margin:.55rem 0 2.5rem; color:#ffffffb8; font-size:.66rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.sidebar label { margin-bottom:.4rem; font-size:.76rem; font-weight:700; text-transform:uppercase; }
.sidebar select { width:100%; min-height:44px; padding:.65rem; border:1px solid #ffffff40; border-radius:.3rem; color:var(--ink); background:white; }
.sidebar nav { display:grid; gap:.3rem; margin-top:1.5rem; }
.sidebar nav button,.sign-out { min-height:44px; padding:.7rem .8rem; border:0; border-radius:.25rem; text-align:left; color:white; background:transparent; cursor:pointer; }
.sidebar nav button:hover,.sidebar nav button[aria-current="page"] { background:#ffffff18; }
.access-badge { display:block; margin-top:auto; padding:.5rem .75rem; border-radius:.25rem; color:var(--ink); background:var(--sage); font-size:.72rem; font-weight:700; text-align:center; }
.sign-out { margin-top:.75rem; border:1px solid #ffffff40; text-align:center; }
.workspace { padding:1.75rem clamp(1.5rem,4vw,4rem); overflow:visible; }
.module-panel { min-height:15rem; padding:2rem; background:white; border:1px solid var(--line); }
.module-panel h2 { margin-top:0; font-size:2rem; }
.module-panel:focus { outline:0; }
@media (max-width:760px) { .console { grid-template-columns:1fr; }.sidebar { min-height:auto; }.access-badge { margin-top:1.25rem; }.workspace { padding-top:1.5rem; } }
