:root{--usafa-blue: #003594;--usafa-blue-dark: #002566;--accent: #4a90d9;--bg: #f4f6fb;--card: #ffffff;--text: #17233b;--muted: #5b6b85;--danger: #b3261e;--border: #d8e0ee;font-family:Segoe UI,system-ui,-apple-system,sans-serif}@media(prefers-color-scheme:dark){:root{--bg: #10182a;--card: #1a2540;--text: #e8edf7;--muted: #9fb0cc;--border: #2c3b60;--danger: #ff8a80}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);line-height:1.5}.page{max-width:860px;margin:0 auto;padding:1.5rem 1rem 3rem}.hero p{max-width:72ch}@media(max-width:1099.98px){.layout{display:flex;flex-direction:column}.col-main,.col-rail{display:contents}}@media(min-width:1100px){.page{max-width:1220px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:1.5rem;align-items:start}.col-rail{position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow-y:auto;scrollbar-width:thin;scrollbar-gutter:stable;padding:0 .5rem 1.25rem .25rem}.col-rail h2:first-of-type{margin-top:.25rem}}.hero h1{color:var(--usafa-blue);margin-bottom:.25rem}@media(prefers-color-scheme:dark){.hero h1{color:#8fb4ff}}.disclaimer{font-size:.9rem;color:var(--muted)}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.25rem;margin:1rem 0;box-shadow:0 1px 3px #0a193c14}.card>h2:first-child,.card>h3:first-child{margin-top:0}h2{font-size:1.15rem;margin-top:.5rem}.field-row{display:flex;flex-wrap:wrap;gap:1rem;margin:.75rem 0}.field-row label{display:flex;flex-direction:column;gap:.3rem;font-weight:600;flex:1 1 220px}input[type=text],select{padding:.55rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:1rem;font-weight:400}fieldset{border:none;margin:.9rem 0;padding:0}legend{font-weight:600;padding:0;margin-bottom:.45rem}.daytype{display:flex;flex-wrap:wrap;gap:.55rem 1.25rem;align-items:center;flex:1 1 220px;margin:0}.daytype legend{flex:0 0 100%;margin-bottom:0}.radio{display:flex;gap:.4rem;align-items:center;font-weight:500}.field-row .radio,.daytype .radio{flex-direction:row;font-weight:500;flex:0 0 auto}input[type=checkbox],input[type=radio]{accent-color:var(--usafa-blue)}.period-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}@media(min-width:640px){.period-grid{grid-template-columns:repeat(6,1fr)}}.period{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.1rem;border:1px solid var(--border);border-radius:10px;padding:1.1rem .3rem .6rem;cursor:pointer;position:relative;transition:background .12s ease,border-color .12s ease}.period:hover{border-color:var(--accent)}.period input{appearance:none;-webkit-appearance:none;position:absolute;top:.35rem;right:.35rem;width:15px;height:15px;margin:0;border:1.5px solid #9dafcc;border-radius:50%;background:transparent;cursor:pointer}@media(prefers-color-scheme:dark){.period input{border-color:#55688f}}.period input:checked{border-color:var(--usafa-blue);background:var(--usafa-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.5l2.5 2.5 4.5-5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 9px no-repeat}.period.selected{border-color:var(--usafa-blue);background:#4a90d91f}.period:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.period-name{font-weight:700;font-size:.95rem}.period-time{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.8rem;letter-spacing:.01em}button.primary{background:var(--usafa-blue);border:none;color:#fff;font-size:1rem;font-weight:600;border-radius:10px;padding:.7rem 1.2rem;cursor:pointer}button.primary:hover:not(:disabled){background:var(--usafa-blue-dark)}button.primary:disabled{background:#c3cfe4;color:#33456b;cursor:not-allowed}@media(prefers-color-scheme:dark){button.primary:disabled{background:#33415f;color:#a7b6d4}}button.link{background:none;border:none;color:var(--usafa-blue);cursor:pointer;font-size:.95rem;padding:.2rem .4rem;text-decoration:underline}@media(prefers-color-scheme:dark){button.link{color:#8fb4ff}}button.link.danger{color:var(--danger)}.cart-list{list-style:none;margin:0;padding:0}.cart-group h3{font-size:1.05rem;margin:0 0 .35rem}.turnstile-slot{min-height:65px}.nowrap{white-space:nowrap}.cart-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:.5rem;padding:.6rem 0;border-bottom:1px solid var(--border)}.cart-meta{grid-column:1 / -1;margin-top:.05rem}.cart-actions{display:flex;gap:.15rem;flex-shrink:0;white-space:nowrap}.cart-actions .link,.cart-actions .link.danger{font-size:.9rem;text-decoration:none;color:var(--muted);padding:.4rem .45rem}.cart-actions .link:hover,.cart-actions .link:focus-visible{text-decoration:underline;color:var(--usafa-blue)}.cart-actions .link.danger:hover,.cart-actions .link.danger:focus-visible{color:var(--danger)}@media(prefers-color-scheme:dark){.cart-actions .link:hover,.cart-actions .link:focus-visible{color:#8fb4ff}.cart-actions .link.danger:hover,.cart-actions .link.danger:focus-visible{color:var(--danger)}}.df-card{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.df-card button{flex-shrink:0}.help-callout{display:block;width:100%;text-align:left;margin-top:.75rem;padding:.7rem .9rem;border:1px solid var(--accent);border-radius:10px;background:transparent;color:var(--text);font-size:.95rem;cursor:pointer}.help-callout:hover{background:#4a90d91f}.help-dialog{border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--text);padding:0;max-width:min(680px,92vw);max-height:85vh}.help-dialog::backdrop{background:#0a142d8c}.help-dialog-body{padding:1.25rem 1.5rem}.help-dialog-header{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.help-dialog-header h2{margin:0}.help-dialog details{border:1px solid var(--border);border-radius:10px;padding:.6rem .9rem;margin:.6rem 0}.help-dialog summary{font-weight:600;cursor:pointer}.help-tip{border-left:4px solid var(--accent);background:#4a90d91a;border-radius:0 8px 8px 0;padding:.6rem .9rem;margin:.75rem 0}.checkbox-option{display:flex;align-items:baseline;gap:.5rem;margin:.75rem 0;cursor:pointer}@media(min-width:1100px){.rail-aside{padding:.8rem 1rem}.rail-aside h2{font-size:.95rem;color:var(--muted);margin:0 0 .35rem}}.import-app summary{cursor:pointer;font-weight:600;font-size:.9rem;padding:.35rem 0}.import-app summary:hover,.import-app summary:focus-visible{color:var(--usafa-blue)}.import-app+.import-app{border-top:1px solid var(--border)}.import-app p{margin:.15rem 0 .6rem;padding-left:1.1rem}@media(min-width:1100px){.rail-aside .help-callout{margin-top:.6rem;padding:.5rem .75rem;font-size:.85rem;color:var(--muted)}.rail-aside .help-callout:hover,.rail-aside .help-callout:focus-visible{color:var(--text)}}@media(prefers-color-scheme:dark){.import-app summary:hover,.import-app summary:focus-visible{color:#8fb4ff}}.muted{color:var(--muted)}.editing-badge{color:var(--usafa-blue);font-style:italic;font-size:.85rem}@media(prefers-color-scheme:dark){.editing-badge{color:#8fb4ff}}.small{font-size:.85rem}.error{color:var(--danger);font-weight:600}.turnstile-box{min-height:66px}.footer{margin-top:2rem;border-top:1px solid var(--border);padding-top:1rem}a{color:var(--usafa-blue)}@media(prefers-color-scheme:dark){a{color:#8fb4ff}}
