
:root{color-scheme:dark;--bg:#0f1218;--panel:#171b24;--panel2:#1f2530;--text:#eef2f7;--muted:#96a0af;--line:#2b3340;--accent:#43d9ad;--accent2:#68a9ff;--danger:#ff6b7a}
*{box-sizing:border-box}html{min-height:100%;background:#0b0d12}body{min-height:100vh;margin:0;background:linear-gradient(180deg,#10141c 0%,#0b0d12 420px) no-repeat fixed;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text)}
.shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:28px 0 56px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.topbar h1{margin:0;font-size:30px;letter-spacing:0}
.panel,.registered,.legend,.expedition,.expedition-picker,.status,.plan-actions{background:rgba(23,27,36,.88);border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 60px rgba(0,0,0,.28)}.auth{max-width:520px;margin:60px auto;padding:28px}.auth h2,.registered h2,.legend h2,.expedition h2,.expedition-picker h2{margin:0 0 14px}.auth p,.muted{color:var(--muted)}
.button,button{appearance:none;border:0;border-radius:8px;background:var(--accent);color:#07110e;font-weight:800;padding:12px 14px;text-decoration:none;cursor:pointer}button.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}
.login-form{display:grid;gap:14px}.login-form label,.day label{display:grid;gap:7px;color:var(--muted);font-size:13px}.confirm{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px!important}.confirm input{width:auto}input,select{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;background:#0e1117;color:var(--text);padding:10px 11px}
.notice{padding:13px 15px;border-radius:8px;margin-bottom:14px;transition:opacity .18s ease,transform .18s ease}.notice.hiding{opacity:0;transform:translateY(-4px)}.notice.error{background:rgba(255,107,122,.14);border:1px solid rgba(255,107,122,.42)}.notice.ok{background:rgba(67,217,173,.14);border:1px solid rgba(67,217,173,.42)}
.status{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;overflow:hidden;margin-bottom:10px}.status div{padding:16px;background:var(--panel)}.status span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase}.status strong{display:block;margin-top:5px}.plan-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;margin-bottom:18px}.plan-actions form{margin:0}.calendar-feed{display:grid;grid-template-columns:auto auto;align-items:center;gap:10px;min-width:0}.calendar-feed span{color:var(--muted);font-size:12px;text-transform:uppercase}.calendar-feed .button{padding:10px 12px}
.registered{padding:20px;margin:18px 0}.registered-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.registered-item{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:14px;display:grid;gap:12px}.registered-item span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase}.registered-item strong{display:block;margin-top:3px}
.legend{padding:20px;margin-bottom:18px}.legend-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.legend-grid div{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:12px}.legend-grid strong{display:block;margin:6px 0}.legend-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.35}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--accent2)}.dot.blank{background:#68a9ff}.dot.closed{background:#77808f}.dot.occupied{background:#ffb86c}
.expedition-picker{padding:20px;margin-bottom:18px}.expedition-buttons{display:flex;flex-wrap:wrap;gap:8px}.expedition-button{background:#10151e;color:var(--text);border:1px solid var(--line)}.expedition-button.active{background:var(--accent);border-color:var(--accent);color:#07110e}
.expedition{display:none;padding:20px;margin:18px 0}.expedition.active{display:block}.calendar{display:grid;grid-template-columns:repeat(7,minmax(132px,1fr));gap:10px}.day{min-height:118px;background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:12px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:10px;color:var(--text)}.day.blank{border-color:rgba(104,169,255,.42);background:linear-gradient(180deg,rgba(104,169,255,.12),rgba(31,37,48,.92))}.day.occupied{border-color:rgba(255,184,108,.52);background:linear-gradient(180deg,rgba(255,184,108,.14),rgba(31,37,48,.92))}.day.closed{opacity:.68}
.day-head{display:grid;gap:4px}.day-head span{color:var(--muted);font-size:12px}.day-head strong{font-size:15px}.badge{align-self:flex-start;border:1px solid var(--line);border-radius:999px;padding:5px 9px;color:var(--accent2);font-weight:800}.day-more{margin-top:auto;color:var(--muted);font-size:12px}.time-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.time-field{min-width:0}.day-modal form{display:grid;gap:12px;margin-top:14px}.native-time{display:none}.time-trigger{width:100%;background:#10151e;color:var(--text);border:1px solid var(--line);font-size:18px;letter-spacing:0}.modal-status{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:6px 10px;color:var(--accent2);font-weight:800}.day-modal[hidden],.time-modal[hidden]{display:none}.day-modal,.time-modal{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:rgba(4,7,12,.68);backdrop-filter:blur(8px);padding:18px;opacity:0;pointer-events:none;transition:opacity .18s ease}.day-modal.open,.time-modal.open{opacity:1;pointer-events:auto}.day-modal-card,.time-modal-card{width:min(430px,100%);background:#151a23;border:1px solid var(--line);border-radius:8px;box-shadow:0 26px 80px rgba(0,0,0,.48);padding:18px;transform:translateY(10px) scale(.98);transition:transform .18s ease}.day-modal.open .day-modal-card,.time-modal.open .time-modal-card{transform:translateY(0) scale(1)}.time-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.time-modal-head h2{margin:0;font-size:20px}.time-close{width:40px;height:40px;padding:0;background:#0e1117;color:var(--text);border:1px solid var(--line);font-size:24px;line-height:1}.time-columns{display:grid;grid-template-columns:1.25fr .75fr;gap:14px}.time-label{margin-bottom:8px;color:var(--muted);font-size:12px;text-transform:uppercase}.time-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.minute-options{grid-template-columns:1fr}.time-option{background:#0e1117;color:var(--text);border:1px solid var(--line);padding:12px 10px}.time-option.active{background:var(--accent);border-color:var(--accent);color:#07110e}.time-option:disabled,.time-option.disabled{opacity:.35;cursor:not-allowed}.time-apply{width:100%;margin-top:16px}
@media (max-width:980px){.calendar{grid-template-columns:repeat(2,minmax(0,1fr))}.status{grid-template-columns:1fr}.legend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.registered-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){body{background:#0b0d12}.shell{width:100%;padding:18px 14px 46px}.topbar{align-items:flex-start;flex-direction:column;margin-bottom:18px}.topbar h1{font-size:24px}.panel,.registered,.legend,.expedition,.expedition-picker,.status,.plan-actions{box-shadow:none}.auth{margin:22px auto;padding:20px}.notice{margin-bottom:14px}.status{gap:12px;background:transparent;border:0;margin-bottom:12px}.status div{border:1px solid var(--line);border-radius:8px;padding:14px}.plan-actions{display:grid;grid-template-columns:1fr;gap:12px;padding:14px;margin-bottom:18px}.plan-actions button,.calendar-feed .button{width:100%;min-height:46px;text-align:center}.calendar-feed{display:grid;grid-template-columns:1fr;gap:8px}.registered,.legend,.expedition-picker,.expedition{padding:18px;margin:18px 0}.registered h2,.legend h2,.expedition h2,.expedition-picker h2{font-size:22px;line-height:1.18;margin-bottom:18px}.registered-list,.legend-grid{grid-template-columns:1fr}.expedition-buttons{display:grid;grid-template-columns:1fr;gap:12px}.expedition-button{min-height:48px;padding:12px}.calendar{grid-template-columns:1fr;gap:12px}.day{min-height:0;padding:16px;gap:12px;overflow:hidden}.day-head{grid-template-columns:1fr;gap:8px}.day-head span{font-size:14px}.day-head strong{font-size:20px}.badge{font-size:13px}.day-modal form{gap:16px;min-width:0}.time-row{grid-template-columns:minmax(0,1fr);gap:14px;min-width:0}.time-field{width:100%;min-width:0}.native-time{display:block;inline-size:100%;max-inline-size:100%;min-inline-size:0;min-height:48px;font-size:17px;padding:11px 12px;-webkit-appearance:none;appearance:none;text-align:center}.time-trigger{display:none}.confirm{font-size:14px;line-height:1.35}.confirm input{width:28px;height:28px}.day-modal button[type=submit]{min-height:48px;font-size:15px}.time-modal{display:none!important}}@media (max-width:390px){.shell{padding-left:12px;padding-right:12px}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}.day-modal,.time-modal,.day-modal-card,.time-modal-card{transition:none!important;transform:none!important}}
