:root{
  --bg:#0f0f10;
  --bg2:#141416;
  --surface:#191a1e;
  --surface2:#0d0d0f;
  --border:#2a2c33;
  --border2:#3a3d47;
  --fg:#f3f1eb;
  --muted:#b8b2a8;
  --muted2:#8e889f;
  --accent:#d4a847;
  --accent2:#8b5e3c;
  --ok:#3ad29f;
  --bad:#ff5d6c;
  --shadow: 0 20px 50px rgba(0,0,0,.45);
  --radius:18px;
  --radius2:28px;
  --pad:24px;
  --pad2:40px;
  --ring: 0 0 0 3px rgba(212,168,71,.18);
  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --serif: "Fraunces", serif;
  --sans: "Commissioner", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

@media (prefers-color-scheme: light){
  :root{
    --bg:#f7f3ea;
    --bg2:#f2ede0;
    --surface:#ffffff;
    --surface2:#fffaf0;
    --border:#e1d7c6;
    --border2:#d4c8b3;
    --fg:#191713;
    --muted:#4f4a40;
    --muted2:#6a6356;
    --shadow: 0 18px 40px rgba(20,18,12,.12);
    --ring: 0 0 0 3px rgba(212,168,71,.22);
  }
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--sans);
  background:radial-gradient(900px 600px at 15% -10%, rgba(212,168,71,.12), transparent 55%),
             radial-gradient(700px 520px at 105% 0%, rgba(139,94,60,.12), transparent 50%),
             linear-gradient(180deg, var(--bg), var(--bg2));
  color:var(--fg);
}

a{color:inherit}
button,input{font:inherit}

.top{
  position:sticky;
  top:0;
  z-index:50;
  background:linear-gradient(180deg, rgba(10,10,10,.82), rgba(10,10,10,.55));
  backdrop-filter: blur(12px);
  border-bottom:1px solid rgba(255,255,255,.06);
}
@media (prefers-color-scheme: light){
  .top{background:linear-gradient(180deg, rgba(247,243,234,.92), rgba(247,243,234,.75)); border-bottom:1px solid rgba(25,23,19,.10)}
}

.top__rail{height:2px;background:linear-gradient(90deg, transparent, rgba(212,168,71,.7), transparent)}
.top__inner{max-width:1180px;margin:0 auto;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px}

.brand{display:flex;align-items:center;gap:14px;min-width:0}
.brand__mark{text-decoration:none;display:flex;align-items:baseline;gap:10px}
.brand__glyph{font-family:var(--serif);font-weight:700;font-size:22px;line-height:1;letter-spacing:-.03em}
.brand__word{font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;opacity:.88}
.brand__meta{display:flex;flex-direction:column;gap:3px;min-width:0}
.brand__place{font-weight:600;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand__date{font-size:12px;color:var(--muted);font-family:var(--mono)}

.nav{display:flex;align-items:center;gap:10px}
.nav__btn{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  color:var(--fg);
  cursor:pointer;
  transition:transform .28s ease, background .28s ease, border-color .28s ease;
}
@media (prefers-color-scheme: light){
  .nav__btn{background:rgba(25,23,19,.04);border:1px solid rgba(25,23,19,.10)}
}
.nav__btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.09);border-color:rgba(212,168,71,.35)}
.nav__btn:focus-visible{outline:none;box-shadow:var(--ring)}
.nav__btnIcon svg{width:18px;height:18px}
.nav__btnText{font-size:13px;font-weight:600;letter-spacing:-.01em}

.shell{max-width:1180px;margin:0 auto;padding:22px 18px 60px}

.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;align-items:start}
@media (max-width: 980px){
  .hero{grid-template-columns:1fr;gap:18px}
}

.hero__left{padding:18px 2px}
.hero__title{
  font-family:var(--serif);
  font-weight:700;
  letter-spacing:-.04em;
  line-height:1.02;
  font-size:clamp(34px, 4vw, 56px);
  margin:8px 0 12px;
}
.hero__lead{margin:0 0 16px;color:var(--muted);max-width:56ch;line-height:1.65}
.ink{color:var(--fg);text-decoration:underline;text-decoration-color:rgba(212,168,71,.55);text-underline-offset:4px}

.next{
  border-radius:var(--radius2);
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  padding:18px 18px 16px;
  box-shadow:var(--shadow);
}
@media (prefers-color-scheme: light){
  .next{border:1px solid rgba(25,23,19,.10); background:linear-gradient(180deg, rgba(255,255,255,.85), rgba(255,255,255,.65))}
}
.next__label{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted2)}
.next__row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:10px}
.next__name{font-weight:700;letter-spacing:-.02em;font-size:22px}
.next__time{font-family:var(--mono);font-size:16px;color:var(--fg);opacity:.95}
.next__count{font-family:var(--serif);font-size:36px;letter-spacing:-.04em;margin-top:8px}
.next__hint{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.5}

.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.chip{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:transparent;
  color:var(--fg);
  cursor:pointer;
  transition:transform .28s ease, border-color .28s ease, background .28s ease;
}
@media (prefers-color-scheme: light){
  .chip{border:1px solid rgba(25,23,19,.10)}
}
.chip:hover{transform:translateY(-1px);border-color:rgba(212,168,71,.40);background:rgba(255,255,255,.04)}
.chip:focus-visible{outline:none;box-shadow:var(--ring)}
.chip__ico svg{width:18px;height:18px}
.chip__txt{font-size:13px;font-weight:600}

.status{min-height:18px;margin-top:10px;font-size:12px;color:var(--muted)}
.status.ok{color:var(--ok)}
.status.bad{color:var(--bad)}

.card{
  border-radius:var(--radius2);
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(25,26,30,.78), rgba(25,26,30,.56));
  padding:18px;
  box-shadow:var(--shadow);
  overflow:hidden;
}
@media (prefers-color-scheme: light){
  .card{border:1px solid rgba(25,23,19,.10); background:linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,255,255,.72))}
}

.card__top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}
.card__kicker{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted2)}
.card__stamp{font-family:var(--mono);font-size:12px;color:var(--muted)}

.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width: 420px){
  .grid{grid-template-columns:1fr}
}
.item{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.10);
}
@media (prefers-color-scheme: light){
  .item{border:1px solid rgba(25,23,19,.10); background:rgba(25,23,19,.03)}
}
.item.is-next{border-color:rgba(212,168,71,.55); box-shadow:0 0 0 1px rgba(212,168,71,.18) inset}
.item__name{font-weight:700;letter-spacing:-.01em}
.item__time{font-family:var(--mono);font-size:13px;color:var(--fg);opacity:.92}

.card__bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}
@media (prefers-color-scheme: light){
  .card__bottom{border-top:1px solid rgba(25,23,19,.10)}
}
.mini{display:flex;flex-direction:column;gap:3px}
.mini__label{font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted2)}
.mini__value{font-size:12px;color:var(--muted)}
.mini__link{color:var(--fg);opacity:.92;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(212,168,71,.45)}

.note{
  margin-top:14px;
  border-radius:var(--radius);
  border:1px dashed rgba(212,168,71,.35);
  background:linear-gradient(180deg, rgba(212,168,71,.10), rgba(212,168,71,.04));
  padding:14px 14px;
  display:flex;gap:12px;align-items:flex-start;
}
.note__ico svg{width:18px;height:18px;color:var(--accent)}
.note__text{margin:0;color:var(--muted);line-height:1.55;font-size:13px}

.month{margin-top:26px}
.month__head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap}
.month__title{margin:0;font-family:var(--serif);letter-spacing:-.03em;font-size:26px}
.month__sub{margin-top:6px;color:var(--muted);font-size:13px}
.month__tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

.pill{
  display:inline-flex;align-items:center;gap:10px;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.06);
  color:var(--fg);
  cursor:pointer;
  transition:transform .28s ease, background .28s ease, border-color .28s ease;
}
@media (prefers-color-scheme: light){
  .pill{border:1px solid rgba(25,23,19,.10); background:rgba(25,23,19,.04)}
}
.pill:hover{transform:translateY(-1px);border-color:rgba(212,168,71,.35)}
.pill:focus-visible{outline:none;box-shadow:var(--ring)}
.pill--ghost{background:transparent}
.pill svg{width:18px;height:18px}

.tableWrap{
  margin-top:14px;
  border-radius:var(--radius2);
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(25,26,30,.56), rgba(25,26,30,.30));
  overflow:auto;
  box-shadow:var(--shadow);
}
@media (prefers-color-scheme: light){
  .tableWrap{border:1px solid rgba(25,23,19,.10); background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.70))}
}
.tbl{width:100%;border-collapse:collapse;min-width:860px}
.tbl th,.tbl td{padding:12px 14px;text-align:left;border-bottom:1px solid rgba(255,255,255,.08);font-size:13px}
@media (prefers-color-scheme: light){
  .tbl th,.tbl td{border-bottom:1px solid rgba(25,23,19,.10)}
}
.tbl th{position:sticky;top:0;background:rgba(15,15,16,.88);backdrop-filter:blur(10px);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;font-size:11px;color:var(--muted2)}
@media (prefers-color-scheme: light){
  .tbl th{background:rgba(247,243,234,.92)}
}
.tbl tbody tr:hover{background:rgba(212,168,71,.06)}
.tbl td{font-family:var(--mono)}
.tbl td:first-child{font-family:var(--sans);font-weight:700;letter-spacing:-.01em}
.trToday{background:rgba(212,168,71,.10)}

.foot{margin-top:22px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:13px}
.foot__left{display:flex;flex-direction:column;gap:6px}
.foot__right{display:flex;gap:12px}
.foot__link{text-decoration:none;border-bottom:1px solid rgba(212,168,71,.35);padding-bottom:2px}
.foot__link:hover{color:var(--fg)}

.overlay{
  position:fixed;inset:0;
  background:rgba(0,0,0,.55);
  backdrop-filter: blur(6px);
  z-index:80;
}

.panel{
  position:fixed;
  right:14px;
  top:14px;
  bottom:14px;
  width:min(520px, calc(100vw - 28px));
  z-index:90;
  border-radius:var(--radius2);
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg, rgba(15,15,16,.86), rgba(15,15,16,.62));
  box-shadow:var(--shadow);
  overflow:hidden;
}
@media (prefers-color-scheme: light){
  .panel{border:1px solid rgba(25,23,19,.14); background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.76))}
}

.panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 18px 14px;border-bottom:1px solid rgba(255,255,255,.08)}
@media (prefers-color-scheme: light){
  .panel__head{border-bottom:1px solid rgba(25,23,19,.10)}
}
.panel__title{font-family:var(--serif);font-weight:700;letter-spacing:-.03em;font-size:22px}
.panel__sub{color:var(--muted);font-size:13px;margin-top:4px;line-height:1.55}

.x{
  width:44px;height:44px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.06);
  color:var(--fg);
  cursor:pointer;
}
@media (prefers-color-scheme: light){
  .x{border:1px solid rgba(25,23,19,.10); background:rgba(25,23,19,.04)}
}
.x:hover{border-color:rgba(212,168,71,.35)}
.x:focus-visible{outline:none;box-shadow:var(--ring)}
.x svg{width:18px;height:18px}

.panel__body{padding:16px 18px 18px;overflow:auto;height:calc(100% - 86px)}

.field{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06)}
@media (prefers-color-scheme: light){
  .field{border-bottom:1px solid rgba(25,23,19,.08)}
}
.field:last-child{border-bottom:none}
.field__label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted2);margin-bottom:10px}
.field__row{display:flex;gap:10px;align-items:center}
.field__input{
  flex:1;
  padding:12px 12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.18);
  color:var(--fg);
  outline:none;
  transition:box-shadow .28s ease, border-color .28s ease;
}
@media (prefers-color-scheme: light){
  .field__input{border:1px solid rgba(25,23,19,.14); background:rgba(25,23,19,.03)}
}
.field__input:focus{box-shadow:var(--ring);border-color:rgba(212,168,71,.45)}

.field__btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:12px 12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:var(--fg);
  cursor:pointer;
  transition:transform .28s ease, border-color .28s ease;
  white-space:nowrap;
}
@media (prefers-color-scheme: light){
  .field__btn{border:1px solid rgba(25,23,19,.12); background:rgba(25,23,19,.04)}
}
.field__btn:hover{transform:translateY(-1px);border-color:rgba(212,168,71,.35)}
.field__btn:focus-visible{outline:none;box-shadow:var(--ring)}
.field__btn svg{width:18px;height:18px}

.field__help{margin-top:10px;color:var(--muted);font-size:12px;line-height:1.55}

.results{margin-top:12px;display:grid;gap:10px}
.result{
  padding:12px 12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.12);
  cursor:pointer;
  transition:transform .28s ease, border-color .28s ease, background .28s ease;
}
@media (prefers-color-scheme: light){
  .result{border:1px solid rgba(25,23,19,.10); background:rgba(25,23,19,.03)}
}
.result:hover{transform:translateY(-1px);border-color:rgba(212,168,71,.40);background:rgba(212,168,71,.06)}
.result:focus-visible{outline:none;box-shadow:var(--ring)}
.result__title{font-weight:700;letter-spacing:-.01em}
.result__meta{margin-top:4px;color:var(--muted);font-family:var(--mono);font-size:12px}

.toggle{display:flex;align-items:center;justify-content:space-between;gap:12px}
.toggle__title{font-weight:700;letter-spacing:-.01em}
.toggle__desc{margin-top:6px;color:var(--muted);font-size:12px;line-height:1.55}

.switch{
  width:56px;height:34px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  cursor:pointer;
  position:relative;
  transition:background .28s ease, border-color .28s ease;
  flex:0 0 auto;
}
@media (prefers-color-scheme: light){
  .switch{border:1px solid rgba(25,23,19,.14); background:rgba(25,23,19,.04)}
}
.switch__dot{
  position:absolute;top:50%;left:6px;transform:translateY(-50%);
  width:22px;height:22px;border-radius:999px;
  background:linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,255,255,.55));
  transition:left .28s ease, background .28s ease;
}
.switch.is-on{background:rgba(212,168,71,.18);border-color:rgba(212,168,71,.45)}
.switch.is-on .switch__dot{left:28px;background:linear-gradient(180deg, rgba(212,168,71,.95), rgba(212,168,71,.55))}
.switch:focus-visible{outline:none;box-shadow:var(--ring)}

.checks{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
@media (max-width: 420px){
  .checks{grid-template-columns:1fr}
}
.check{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:16px;border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.10)}
@media (prefers-color-scheme: light){
  .check{border:1px solid rgba(25,23,19,.10); background:rgba(25,23,19,.03)}
}
.check input{width:18px;height:18px;accent-color:var(--accent)}

.danger{
  width:100%;
  display:flex;align-items:center;justify-content:center;gap:10px;
  padding:12px 12px;
  border-radius:16px;
  border:1px solid rgba(255,93,108,.35);
  background:rgba(255,93,108,.10);
  color:var(--fg);
  cursor:pointer;
  transition:transform .28s ease, background .28s ease;
}
.danger:hover{transform:translateY(-1px);background:rgba(255,93,108,.14)}
.danger:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(255,93,108,.22)}
.danger svg{width:18px;height:18px}

@media (prefers-reduced-motion: reduce){
  *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
