*{box-sizing:border-box}html{background:#02070c;color:#f5f8fb;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}body{margin:0;background:radial-gradient(circle at 50% 0,#071827 0,#02070c 42%);min-height:100vh}.app{width:min(760px,100%);margin:auto;padding:0 16px 40px}.brand{display:block;width:100%;max-height:300px;object-fit:contain;background:#000;border-radius:0 0 18px 18px}.progressline{height:5px;background:#12202c;margin:14px 0 12px;border-radius:99px;overflow:hidden}.progressline div{height:100%;background:#00a7fa;width:0}.meta{display:grid;grid-template-columns:1fr auto;gap:4px 14px;margin-bottom:18px}.meta strong{font-size:1.45rem}.meta span{color:#9db0c0;font-weight:700}.meta span:last-child{grid-column:1/-1;color:#00a7fa}.card{background:#07111a;border:1px solid #132b3d;border-radius:16px;padding:18px;margin:12px 0;box-shadow:0 8px 30px #0006}.eyebrow{font-size:.78rem;letter-spacing:.14em;color:#00a7fa;font-weight:900;margin:0 0 8px}h1{font-size:1.45rem;margin:0 0 8px}h2{font-size:1.05rem;margin:0 0 10px}p{line-height:1.5;color:#d7e0e7}.orient{border-color:#087eb5}.move{padding:14px 0;border-top:1px solid #173044}.move:first-child{border-top:0}.move h3{margin:0 0 5px;font-size:1.02rem}.rx{color:#b9c7d1;margin:0 0 10px}.guide,.ref{background:#0a1b27;color:#eaf8ff;border:1px solid #168cc3;border-radius:10px;padding:10px 13px;font-weight:800}.primary{width:100%;background:#00a7fa;color:#00131f;border:0;border-radius:14px;padding:17px;font-size:1rem;font-weight:950;margin:8px 0 12px}nav{display:grid;grid-template-columns:1fr 1fr;gap:8px}nav button{background:#08141e;color:#e6eef4;border:1px solid #193246;border-radius:12px;padding:13px 8px;font-weight:800}nav #today{grid-column:1/-1;grid-row:2}details{margin-top:18px;color:#a9bbc8}summary{padding:14px 0;font-weight:800}.details{padding:0 0 15px}.danger{background:transparent;color:#e3a6a6;border:1px solid #6b3030;border-radius:10px;padding:10px;margin-top:14px}.modal{position:fixed;inset:0;background:#000e;z-index:20;display:none;padding:54px 8px 12px;overflow:auto}.modal.open{display:block}.modal #close{position:fixed;right:12px;top:10px;width:40px;height:40px;border-radius:50%;border:1px solid #4c6476;background:#06121b;color:#fff;font-size:28px;z-index:22}.zoomwrap{overflow:auto;touch-action:pinch-zoom}.modal img{display:block;width:max(100%,900px);height:auto;margin:auto}.empty{color:#9eb0bd;font-style:italic}@media(min-width:700px){.app{padding-left:24px;padding-right:24px}.modal{padding:60px 24px 24px}.modal img{width:min(1536px,100%)}}
/* Rebuilt mobile guide viewer: full reference card fits inside the phone first. */
body.modal-open{overflow:hidden}.modal{padding:56px 10px max(10px,env(safe-area-inset-bottom));overflow:hidden;align-items:center;justify-content:center}.modal.open{display:flex}.zoomwrap{width:100%;height:calc(100dvh - 76px);display:flex;align-items:center;justify-content:center;overflow:auto;overscroll-behavior:contain;touch-action:pinch-zoom}.modal img{display:block;width:auto;max-width:100%;height:auto;max-height:100%;object-fit:contain;margin:auto}.modal #close{top:max(8px,env(safe-area-inset-top));right:12px}.orient p:last-child{margin-bottom:0}
@media(min-width:700px){.modal{padding:60px 24px 24px}.zoomwrap{height:calc(100dvh - 84px)}.modal img{width:auto;max-width:100%;max-height:100%}}

.guide-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.download{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:#07131d;color:#eaf8ff;border:1px solid #168cc3;border-radius:10px;padding:10px 13px;font-weight:800;font-size:.82rem}.reference-library{margin-top:12px}.refrow{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid #173044}.refrow>span{font-weight:750;color:#d7e0e7;line-height:1.3}.refrow .guide-actions{justify-content:flex-end;flex-shrink:0}@media(max-width:460px){.refrow{align-items:flex-start;flex-direction:column}.refrow .guide-actions{width:100%}.refrow .guide-actions>*{flex:1}}

/* Intro landing screen — program UI below remains unchanged. */
.intro-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:max(18px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 0,#0a2133 0,#02070c 48%);}
.intro-inner{width:min(680px,100%);text-align:center}.intro-brand{display:block;width:100%;max-height:360px;object-fit:contain;background:#000;border-radius:18px;border:1px solid #132b3d;box-shadow:0 12px 42px #0008}.intro-copy{padding:24px 8px 4px}.intro-kicker{margin:0 0 10px;color:#00a7fa;font-size:.8rem;font-weight:950;letter-spacing:.16em}.intro-copy h1{font-size:clamp(1.55rem,7vw,2.35rem);line-height:1.12;margin:0 auto 14px;max-width:620px}.intro-copy>p:not(.intro-kicker):not(.intro-path){max-width:590px;margin:0 auto 18px;color:#cbd8e1}.intro-path{color:#00a7fa;font-weight:900;letter-spacing:.05em;margin:0 0 22px}.intro-enter{max-width:440px;margin-inline:auto}.program-hidden{display:none}.intro-screen.hidden{display:none}
