1 line
14 KiB
CSS
1 line
14 KiB
CSS
:root{--deck-bg: #f6f9f7;--deck-fg: #172621;--deck-fg-muted: #576b63;--deck-surface: rgba(20, 30, 25, .04);--deck-surface-2: rgba(20, 30, 25, .06);--deck-line: rgba(20, 30, 25, .12);--deck-line-2: rgba(20, 30, 25, .2);--deck-pine: #1f7a5f;--deck-indigo: #683ecc;--deck-rose: #d3224b;--deck-clay: #bf4622;--deck-amber: #b8610a;--deck-on-accent: #0f1411;--bg: var(--deck-bg);--fg: var(--deck-fg);--muted: var(--deck-fg-muted);--accent: var(--deck-pine);--accent-contrast: #f6f9f7;--accent-soft: rgba(31, 122, 95, .09);--surface: var(--deck-surface);--border: var(--deck-line);--border-accent: rgba(31, 122, 95, .32);--highlight-bg: rgba(184, 97, 10, .07);--highlight-border: rgba(184, 97, 10, .3);--chip-pink-bg: rgba(211, 34, 75, .08);--chip-pink-fg: #b5244a;--chip-green-bg: rgba(31, 122, 95, .09);--chip-green-fg: #1f7a5f;--chip-indigo-bg: rgba(104, 62, 204, .08);--chip-indigo-fg: #683ecc;--chip-amber-bg: rgba(184, 97, 10, .09);--chip-amber-fg: #96500a;--focus: var(--deck-pine);--emergency: #d3224b;--emergency-contrast: #ffffff;--font-display: Georgia, "Times New Roman", serif;--radius: 1rem;--radius-sm: .75rem;--nav-h: 64px;--header-h: 56px;--content-max: 48rem}@media(prefers-color-scheme:dark){:root{--deck-bg: #0b1411;--deck-fg: #ede9de;--deck-fg-muted: #96a69e;--deck-surface: rgba(255, 255, 255, .035);--deck-surface-2: rgba(255, 255, 255, .055);--deck-line: rgba(255, 255, 255, .1);--deck-line-2: rgba(255, 255, 255, .16);--deck-pine: #75c7a9;--deck-indigo: #af97f7;--deck-rose: #fc88ab;--deck-clay: #e47958;--deck-amber: #fcc669;--bg: var(--deck-bg);--fg: var(--deck-fg);--muted: var(--deck-fg-muted);--accent: var(--deck-pine);--accent-contrast: var(--deck-on-accent);--accent-soft: rgba(117, 199, 169, .12);--surface: var(--deck-surface);--border: var(--deck-line);--border-accent: rgba(117, 199, 169, .32);--highlight-bg: rgba(252, 198, 105, .07);--highlight-border: rgba(252, 198, 105, .3);--chip-pink-bg: rgba(252, 136, 171, .12);--chip-pink-fg: #fc88ab;--chip-green-bg: rgba(117, 199, 169, .12);--chip-green-fg: #75c7a9;--chip-indigo-bg: rgba(175, 151, 247, .12);--chip-indigo-fg: #af97f7;--chip-amber-bg: rgba(252, 198, 105, .12);--chip-amber-fg: #fcc669;--focus: var(--deck-pine);--emergency: #fc88ab;--emergency-contrast: var(--deck-on-accent)}}*{box-sizing:border-box}html{color-scheme:light dark;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--fg);line-height:1.6;-webkit-tap-highlight-color:transparent;background:radial-gradient(120% 80% at 80% -10%,rgba(188,230,217,.7),transparent 60%),radial-gradient(90% 70% at -10% 110%,rgba(249,219,184,.6),transparent 55%),var(--bg);background-attachment:fixed}@media(prefers-color-scheme:dark){body{background:radial-gradient(120% 80% at 80% -10%,rgba(14,57,44,.55),transparent 60%),radial-gradient(90% 70% at -10% 110%,rgba(83,48,9,.35),transparent 55%),var(--bg)}}a{color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}h1,h2,h3{font-family:var(--font-display);font-weight:700;line-height:1.15;letter-spacing:-.01em;text-wrap:balance}.eyebrow{display:block;text-transform:uppercase;letter-spacing:.25em;font-size:.75rem;font-weight:600;color:var(--muted);margin-bottom:.5rem}.summit-card{margin:1.5rem 0;padding:1.25rem;background:var(--surface);border:1px solid var(--border-accent);border-radius:var(--radius)}.summit-card a{color:var(--accent);font-weight:700}.summit-card img{display:block;width:100%;height:auto;margin-bottom:1.25rem;border-radius:var(--radius-sm)}.summit-card img[role=button]{cursor:zoom-in}.map-viewer{width:min(96vw,1100px);height:min(96vh,900px);padding:.75rem;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius)}.map-viewer::backdrop{background:#000c}.map-viewer__close{display:block;min-height:48px;margin-left:auto;padding:.5rem .75rem;color:var(--fg);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;font-weight:700}.map-viewer img{display:block;width:100%;height:calc(100% - 60px);margin-top:.75rem;object-fit:contain;overflow:auto;touch-action:pinch-zoom}.schedule-item+.schedule-item{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.schedule-item h2{margin:0;font-size:1.1rem}.schedule-item p{margin-bottom:0}.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;background:var(--bg);padding:.5rem .75rem;border:2px solid var(--focus);z-index:100}#app{min-height:100dvh;display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;height:var(--header-h);padding:0 max(1rem,env(safe-area-inset-right)) 0 max(1rem,env(safe-area-inset-left));background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.app-header__brand{display:inline-flex;align-items:center;gap:.5rem;min-height:40px;padding:.375rem .75rem;font-weight:800;letter-spacing:.14em;font-size:1rem;text-decoration:none;text-transform:uppercase;color:var(--fg);background:var(--surface);border:1px solid var(--border);border-radius:999px;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.app-header__icon{width:1.5rem;height:1.5rem;object-fit:contain;display:block}.app-header__brand:hover{background:var(--deck-surface-2);border-color:var(--deck-line-2)}.app-header__brand--back{color:var(--accent);border-color:var(--accent)}.app-header__brand--back:before{content:"←";font-weight:800;font-size:1.05em;line-height:1}.app-header__status{font-size:.8125rem;font-weight:600;letter-spacing:.08em;padding:.3125rem .625rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;font-family:inherit}.app-header__status--ready{background:var(--chip-green-bg);color:var(--chip-green-fg);border-color:var(--accent)}.app-header__status--partial{background:var(--chip-amber-bg);color:var(--chip-amber-fg);border-color:var(--highlight-border)}.app-header__status--recovery,.app-header__status--failed{background:var(--chip-pink-bg);color:var(--chip-pink-fg);border-color:var(--emergency)}.status-dialog{width:min(92vw,36rem);max-height:min(88dvh,56rem);overflow:auto;padding:1.25rem;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius)}.status-dialog::backdrop{background:#0000008c}.status-view h1{font-size:1.5rem;margin:0 0 .75rem}.status-view h2{font-size:1.125rem;margin:1rem 0 .5rem}.status-view p{margin:.375rem 0}.status-state{font-weight:800;letter-spacing:.08em}.status-checklist{list-style:none;margin:.5rem 0;padding:0}.status-check{display:flex;gap:.625rem;align-items:baseline;min-height:48px;padding:.625rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);margin-block:.375rem}.status-check--ok{border-color:var(--border-accent)}.status-check--missing{border-color:var(--highlight-border)}.status-check__mark{font-weight:800}.status-check--ok .status-check__mark{color:var(--chip-green-fg)}.status-check--missing .status-check__mark{color:var(--chip-pink-fg)}.status-actions{display:flex;flex-wrap:wrap;gap:.625rem;margin-top:1rem}.status-action{flex:1 1 12rem;min-height:48px;padding:.625rem 1rem;font:inherit;font-weight:700;color:var(--fg);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.status-action--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.app-main{flex:1;max-width:none;padding:1.5rem max(1rem,env(safe-area-inset-right)) 1.5rem max(1rem,env(safe-area-inset-left))}.app-main__icon{display:block;width:8rem;height:8rem;margin:5% auto -.5rem;object-fit:contain;filter:invert(1)}@media(prefers-color-scheme:dark){.app-main__icon{filter:none}}.app-main h1{font-size:2rem;margin:0 0 .875rem}.app-main p{max-width:36rem}.side-nav{position:fixed;inset:auto 0 0 0;z-index:10;display:flex;gap:.5rem;padding:.625rem max(1rem,env(safe-area-inset-right)) max(.625rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border)}.side-nav__link{flex:1;display:flex;align-items:center;justify-content:center;min-height:48px;text-decoration:none;color:var(--fg);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-weight:600;font-size:.8125rem;letter-spacing:.12em;text-transform:uppercase;text-align:center;padding:.75rem;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.side-nav__link[aria-current=page]{border-color:var(--accent);color:var(--accent)}.side-nav__link--emergency{background:var(--emergency);border-color:var(--emergency);color:var(--emergency-contrast)}.side-nav__link--emergency[aria-current=page]{color:var(--emergency-contrast)}@media(min-width:701px){.side-nav{inset:0 auto 0 0;width:240px;flex-direction:column;justify-content:space-evenly;padding:1rem;border-top:none;border-right:1px solid var(--border)}.side-nav__link{flex:none;min-height:64px;font-size:1rem}.app-main{margin-left:240px}}@media(max-width:700px){.app-main{padding-bottom:calc(var(--nav-h) + 1.5rem)}}@media(max-width:700px){.app-main{max-width:var(--content-max);width:100%;margin-right:auto}}.emergency-view section{margin-block:1.25rem}.emergency-view h2{font-size:1.375rem;margin:0 0 .625rem}.emergency-view h3{font-size:1.0625rem;margin:.75rem 0 .25rem}.emergency-view ul{margin:.25rem 0 0;padding-inline-start:1.25rem}.emergency-provenance{color:var(--muted);font-size:.875rem;font-weight:600}.emergency-alert{background:var(--emergency);border:1px solid var(--emergency);border-radius:var(--radius);color:var(--emergency-contrast);padding:1rem}.emergency-alert h2{margin-top:0}.emergency-service p{margin:0}.emergency-call{align-items:center;background:var(--emergency-contrast);border-radius:999px;color:var(--emergency);display:inline-flex;font-size:1.25rem;font-weight:800;justify-content:center;margin-top:.75rem;min-height:48px;padding:.625rem 1.25rem;text-decoration:none}.emergency-view>section{padding-bottom:1rem}.home-view{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100dvh - var(--header-h));transform:translateY(-25%);text-align:center}.home-view h1{font-size:2.5rem;margin:0 0 .25rem}.home-view__subtitle{color:var(--muted);margin:0 0 2rem}.home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;width:min(100%,28rem)}.home-tile{display:flex;align-items:center;justify-content:center;min-height:120px;padding:1.25rem;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-weight:700;font-size:1.0625rem;color:var(--fg);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:background-color .2s ease,border-color .2s ease,transform .2s ease,color .2s ease}.home-tile:hover{background:var(--deck-surface-2);border-color:var(--deck-line-2);transform:translateY(-2px)}.home-tile:focus-visible{outline-offset:3px}.home-tile--emergency{background:var(--emergency);border-color:var(--emergency);color:var(--emergency-contrast)}.home-tile--emergency:hover{background:var(--emergency);border-color:var(--emergency)}@media(max-width:700px){.home-tile{min-height:96px}}.schedule-view h1{margin-bottom:.5rem}.schedule-warning{background:var(--highlight-bg);border:1px solid var(--highlight-border);border-radius:var(--radius-sm);padding:.625rem .875rem;font-weight:600}.schedule-controls{display:flex;flex-direction:column;gap:.625rem;margin-block:1rem}.schedule-days,.schedule-tags{display:flex;flex-wrap:wrap;gap:.5rem}.schedule-day,.schedule-tag,.schedule-mine,.schedule-zone{min-height:48px;padding:.625rem .875rem;font:inherit;font-weight:600;color:var(--fg);background:var(--surface);border:1px solid var(--border);border-radius:999px;cursor:pointer}.schedule-day[aria-pressed=true],.schedule-tag[aria-pressed=true],.schedule-mine[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.schedule-controls select,.schedule-controls input[type=search]{min-height:48px;padding:.625rem .875rem;font:inherit;color:var(--fg);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.schedule-item{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 3.5rem 1rem 1.25rem;margin-block:.75rem}.schedule-item h2{margin:0 0 .25rem;font-size:1.125rem}.schedule-item p{margin:.25rem 0}.schedule-badge{display:inline-block;margin-top:.375rem;padding:.25rem .625rem;border-radius:999px;font-size:.8125rem;font-weight:700;letter-spacing:.04em}.schedule-badge--moved{background:var(--chip-amber-bg);color:var(--chip-amber-fg)}.schedule-badge--cancelled{background:var(--chip-pink-bg);color:var(--chip-pink-fg);text-decoration:line-through}.schedule-fav{position:absolute;top:.75rem;right:.75rem;width:48px;height:48px;font-size:1.5rem;line-height:1;color:var(--fg);background:transparent;border:1px solid var(--border);border-radius:50%;cursor:pointer}.schedule-fav[aria-pressed=true]{color:var(--chip-amber-fg);border-color:var(--highlight-border)}.schedule-conflicts{font-weight:700;color:var(--chip-amber-fg)}.schedule-conflicts:empty{display:none}.view-placeholder{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-block:1rem}.status-card{background:var(--highlight-bg);border:1px solid var(--highlight-border);border-radius:var(--radius);padding:.875rem 1rem;margin-block:1rem}.chip{display:inline-flex;align-items:center;gap:.375rem;border-radius:999px;padding:.25rem .75rem;font-size:.8125rem;font-weight:700;letter-spacing:.04em}.chip--pink{background:var(--chip-pink-bg);color:var(--chip-pink-fg)}.chip--green,.chip--blue{background:var(--chip-green-bg);color:var(--chip-green-fg)}.chip--indigo{background:var(--chip-indigo-bg);color:var(--chip-indigo-fg)}.chip--amber{background:var(--chip-amber-bg);color:var(--chip-amber-fg)}
|