:root{--navy:#0b1f3a;--navy-2:#12294f;--blue:#1c4e9d;--ink:#14243c;--ink-2:#45546c;--ink-3:#5c6a80;--bg:#f4f6f9;--surface:#fff;--line:#d9dfe8;--good-ink:#166534;--good-bg:#e3f3e8;--warn-ink:#7c4a03;--warn-bg:#fdf0d8;--danger-ink:#8a1c14;--danger-bg:#fbe2df;--danger:#b3261e;--neutral-ink:#45546c;--neutral-bg:#eceff4;--gold:#c9a24b}@media (prefers-color-scheme:dark){:root{--ink:#eef1f6;--ink-2:#b8c2d4;--ink-3:#8b98af;--bg:#0b1220;--surface:#131c2e;--line:#223049;--good-bg:#132;--warn-bg:#3a2c0e;--danger-bg:#3a1613;--neutral-bg:#1c273b}}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;overscroll-behavior-y:contain;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}#root{min-height:100vh}button,input,select{font-family:inherit}.app{min-height:100vh;padding-bottom:calc(64px + env(safe-area-inset-bottom));flex-direction:column;display:flex}.app-header{background:var(--navy);color:#fff;padding:.85rem 1rem calc(.75rem + env(safe-area-inset-top));z-index:10;position:sticky;top:0}.header-top{align-items:center;gap:.6rem;display:flex}.brand-badge{background:var(--gold);width:36px;height:36px;color:var(--navy);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:800;display:inline-flex}.brand-badge.large{width:64px;height:64px;font-size:1.4rem}.header-top h1{margin:0;font-size:1.05rem;line-height:1.2}.header-top p{color:#c6d2e4;margin:.1rem 0 0;font-size:.75rem}.active-session-chip{color:#fff;background:#ffffff14;border:1px solid #ffffff26;border-radius:10px;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.6rem;padding:.5rem .7rem;font-size:.85rem;display:flex}.active-session-chip button{appearance:none;color:#fff;background:#ffffff24;border:none;border-radius:7px;padding:.35rem .6rem;font-size:.75rem;font-weight:600}main{flex:1;width:100%;max-width:640px;margin:0 auto;padding:1rem}.page-head h2{margin:0 0 .15rem;font-size:1.2rem}.page-head p{color:var(--ink-2);margin:0 0 1rem;font-size:.85rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:.85rem;padding:1rem 1.1rem}.card h3{margin:0 0 .5rem;font-size:.95rem}.tile-row{grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:1rem;display:grid}.tile{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:12px;padding:.75rem}.tile .num{font-size:1.4rem;font-weight:800;line-height:1.1}.tile .lbl{color:var(--ink-3);margin-top:.15rem;font-size:.7rem}.session-item{text-align:left;appearance:none;border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:.6rem;width:100%;margin-bottom:.6rem;padding:.75rem .9rem;display:flex}.session-item.active{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}.session-item .meta{min-width:0}.session-item .meta .sport{color:var(--ink-3);text-transform:uppercase;letter-spacing:.03em;font-size:.7rem}.session-item .meta .label{margin-top:.1rem;font-size:.95rem;font-weight:700}.session-item .meta .place{color:var(--ink-2);margin-top:.1rem;font-size:.78rem}.phase-badge{background:var(--neutral-bg);color:var(--neutral-ink);white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:.3rem;padding:.3rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.pill{border-radius:999px;align-items:center;gap:.3rem;padding:.25rem .55rem;font-size:.75rem;font-weight:700;display:inline-flex}.pill.good{background:var(--good-bg);color:var(--good-ink)}.pill.warn{background:var(--warn-bg);color:var(--warn-ink)}.pill.neutral{background:var(--neutral-bg);color:var(--neutral-ink)}.pill.danger{background:var(--danger-bg);color:var(--danger-ink)}.btn{appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:9px;min-height:44px;padding:.6rem .9rem;font-size:.85rem;font-weight:600}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.danger{background:var(--danger-bg);border-color:var(--danger);color:var(--danger-ink)}.btn.danger.active{background:var(--danger);color:#fff}.btn.ghost{background:0 0;border-color:#0000}.btn.block{width:100%}.bottom-nav{z-index:10;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{appearance:none;color:var(--ink-3);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:.15rem;min-height:56px;padding:.5rem .25rem .6rem;font-size:.68rem;font-weight:700;display:flex;position:relative}.bottom-nav button .icon{font-size:1.15rem}.bottom-nav button.active{color:var(--blue)}.admin-gate{justify-content:center;align-items:center;min-height:70vh;padding:1rem;display:flex}.gate-card{text-align:center;width:100%;max-width:340px}.gate-card form{gap:.5rem;margin:.75rem 0;display:flex}.gate-card input{border:1px solid var(--line);border-radius:9px;flex:1;min-width:0;padding:.6rem .7rem;font-size:1rem}.error-text{color:var(--danger);font-size:.85rem}.kill-screen{background:var(--navy);color:#fff;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.kill-card{text-align:center;max-width:360px}.kill-card h1{margin:.75rem 0 .4rem}.field-label{color:var(--ink-2);margin:.75rem 0 .4rem;font-size:.78rem;font-weight:700;display:block}.chip-row{flex-wrap:wrap;gap:.4rem;margin-bottom:.25rem;display:flex}.chip{appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;white-space:nowrap;border-radius:999px;padding:.4rem .7rem;font-size:.8rem;font-weight:600}.chip.active{background:var(--blue);border-color:var(--blue);color:#fff}.card input[type=text],.card textarea{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);resize:vertical;border-radius:9px;padding:.6rem .7rem;font-size:.95rem}.hint-text{color:var(--ink-3);background:var(--neutral-bg);border-radius:8px;margin:0 0 .5rem;padding:.5rem .65rem;font-size:.8rem}.form-actions{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.case-item{align-items:flex-start}.pill-row{flex-wrap:wrap;gap:.4rem;display:flex}.back-btn{margin-bottom:.4rem;padding-left:0}.detail-head{align-items:flex-start;gap:.6rem;margin-bottom:.6rem;display:flex}.detail-icon{font-size:1.6rem;line-height:1}.detail-actions{flex-direction:column;gap:.5rem;margin-top:.85rem;display:flex}.timeline{flex-direction:column;gap:.5rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.timeline li{gap:.6rem;font-size:.85rem;display:flex}.timeline-time{color:var(--ink-3);font-variant-numeric:tabular-nums;flex-shrink:0}.note-form{gap:.5rem;display:flex}.note-form input{flex:1}.chip.level-neutral.active,.chip.level-neutral:active{background:var(--neutral-bg)}.chip.level-warn{border-color:var(--warn-ink);color:var(--warn-ink);background:var(--warn-bg)}.chip.level-danger{border-color:var(--danger);color:var(--danger-ink);background:var(--danger-bg)}.feed-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.feed-item{background:var(--bg);border-radius:8px;align-items:baseline;gap:.5rem;padding:.4rem .5rem;font-size:.88rem;display:flex}.feed-item.level-warn{background:var(--warn-bg)}.feed-item.level-danger{background:var(--danger-bg)}.feed-text{flex:1}.handover-preview{white-space:pre-wrap;word-break:break-word;background:var(--bg);border:1px solid var(--line);border-radius:9px;max-height:50vh;margin:0;padding:.75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.5;overflow-y:auto}.nav-badge{background:var(--danger);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 3px;font-size:.62rem;font-weight:800;display:flex;position:absolute;top:2px;right:calc(50% - 20px)}.placeholder{border:1px dashed var(--line);text-align:center;color:var(--ink-3);border-radius:12px;padding:1.5rem 1rem;font-size:.88rem}.app-footer{justify-content:center;align-items:center;padding:1.25rem 1rem .5rem;display:flex}.footer-n3u-wrap{flex-direction:column;align-items:center;gap:.15rem;display:flex}.footer-n3u{color:var(--ink-3);align-items:center;gap:.35rem;font-size:.75rem;display:inline-flex}.footer-n3u .n3u-logo{width:auto;height:16px;display:block}.footer-tagline{color:var(--ink-3);text-align:center;font-size:.68rem}
