:root{
  --paper:#f2f2f7;
  --surface:#ffffff;
  --surface-2:#e9e9ee;
  --ink:#173653;
  --ink-dim:#636366;
  --ink-faint:#8e8e93;
  --line:rgba(60,60,67,.20);
  --line-soft:rgba(60,60,67,.12);
  --accent:#007aff;
  --accent-soft:#e5f1ff;
  --accent-ink:#ffffff;
  --hot:#ff453a;
  --hot-soft:#fff0ef;
  --warm:#9a6700;
  --warm-soft:#fff7db;
  --cool:#56616f;
  --cool-soft:#eef1f4;
  --shadow:0 16px 44px rgba(23,54,83,.16);
  --font-ui:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display",system-ui,sans-serif;
  --font-mono:"SFMono-Regular",ui-monospace,Menlo,monospace;
  --safe-l:max(16px, env(safe-area-inset-left));
  --safe-r:max(16px, env(safe-area-inset-right));
}
*{box-sizing:border-box;}
html{background:var(--paper);}
html{scrollbar-color:#aebdca var(--paper);}
::-webkit-scrollbar{width:8px;background:var(--paper);}
::-webkit-scrollbar-thumb{background:#aebdca;border:2px solid var(--paper);border-radius:999px;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-ui);
  font-size:15px;
  letter-spacing:-.01em;
  -webkit-font-smoothing:antialiased;
  overscroll-behavior-y:none;
}
h1,h2,p,figure{margin:0;}
button,a.btn{font-family:inherit;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}

/* ---- sign-in gate ---- */
.gate{
  position:fixed;
  inset:0;
  z-index:70;
  background:var(--paper);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px max(20px, env(safe-area-inset-left)) calc(24px + env(safe-area-inset-bottom));
}
.gate[hidden]{display:none;}
.gate-card{
  width:100%;
  max-width:360px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:16px;
  padding:24px 20px 20px;
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column;
  gap:12px;
}
.gate-mark{border-radius:12px; align-self:flex-start;}
.gate-card h2{font-size:20px; font-weight:700; font-stretch:115%; line-height:1.1;}
.gate-sub{font-family:var(--font-mono); font-size:11px; color:var(--ink-faint); margin-top:-9px;}
.gate-field{display:flex; flex-direction:column; gap:5px;}
.gate-field span{font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-faint);}
.gate-field input{
  border:1px solid var(--line);
  background:var(--paper);
  border-radius:9px;
  padding:12px 11px;
  font-family:inherit;
  font-size:16px; /* 16px stops iOS zooming the page on focus */
  color:var(--ink);
  min-height:46px;
}
.gate-remember{display:flex; align-items:center; gap:8px; font-size:12.5px; color:var(--ink-dim);}
.gate-remember input{width:17px; height:17px; accent-color:var(--accent);}
.gate-error{font-size:12.5px; color:var(--hot); font-weight:600;}
.gate-error[hidden]{display:none;}
.gate-note{font-size:11px; line-height:1.5; color:var(--ink-faint); border-top:1px solid var(--line-soft); padding-top:10px;}

/* notes preview */
.note-preview{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:10px;
  padding:12px 13px;
  font-size:12.5px;
  line-height:1.55;
  white-space:pre-wrap;
  max-height:220px;
  overflow-y:auto;
  color:var(--ink-dim);
}
.note-preview strong{color:var(--ink);}

/* pull-to-refresh */
.ptr{
  position:fixed;
  top:0; left:50%;
  transform:translate(-50%,-100%);
  z-index:30;
  margin-top:calc(env(safe-area-inset-top) + 6px);
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:999px;
  padding:7px 14px;
  font-size:11.5px;
  font-weight:650;
  color:var(--ink-dim);
  box-shadow:var(--shadow);
  pointer-events:none;
  opacity:0;
}
.ptr.show{transform:translate(-50%,0); opacity:1; transition:transform .16s ease, opacity .16s ease;}

.wrap{
  max-width:540px;
  margin:0 auto;
  min-height:100vh;
  min-height:100dvh;
  border-left:1px solid var(--line-soft);
  border-right:1px solid var(--line-soft);
  padding-bottom:calc(36px + env(safe-area-inset-bottom));
}

/* ---- masthead ---- */
.masthead{
  padding:calc(14px + env(safe-area-inset-top)) var(--safe-r) 12px var(--safe-l);
  border-bottom:1px solid var(--line);
  background:var(--surface);
  position:sticky;
  top:0;
  z-index:20;
}
.masthead-top{display:flex; align-items:flex-start; justify-content:space-between; gap:12px;}
.masthead-actions{display:flex; gap:7px; flex:none;}
h1{font-size:19px; font-weight:700; font-stretch:118%; letter-spacing:-.005em; line-height:1.1;}
.source-line{
  margin-top:4px;
  font-family:var(--font-mono);
  font-size:10.5px;
  color:var(--ink-faint);
  display:flex;
  align-items:center;
  gap:6px;
}
.live-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none;}
.live-dot.stale{background:var(--warm);}
.live-dot.down{background:var(--hot);}

.icon-btn{
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:9px;
  width:36px;height:36px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  padding:0;
  flex:none;
}
.icon-btn svg{width:16px;height:16px;}
.icon-btn:disabled{opacity:.45; cursor:default;}
.icon-slot{display:flex;}
.icon-slot.spin{animation:spin 1s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

.ledger{
  display:flex;
  margin-top:13px;
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
  background:var(--paper);
}
.ledger-cell{flex:1; padding:8px 9px; border-right:1px solid var(--line-soft); min-width:0;}
.ledger-cell:last-child{border-right:none;}
.ledger-cell b{
  display:block;
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
  font-size:17px;
  font-weight:500;
  line-height:1.1;
}
.ledger-cell b.hot{color:var(--hot);}
.ledger-cell span{
  display:block;
  font-size:9.5px;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--ink-faint);
  margin-top:3px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.search-row{
  margin-top:10px;
  display:flex;
  align-items:center;
  gap:8px;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:9px;
  padding:0 10px;
}
.search-icon{width:15px;height:15px;color:var(--ink-faint);flex:none;}
#search{
  border:none;
  background:none;
  padding:10px 0;
  font-family:inherit;
  font-size:14px;
  color:var(--ink);
  width:100%;
  min-height:24px;
}
#search:focus{outline:none;}
#search::-webkit-search-cancel-button{filter:grayscale(1) opacity(.5);}

/* ---- filters ---- */
.filters{
  display:flex;
  gap:6px;
  overflow-x:auto;
  padding:12px var(--safe-r) 12px var(--safe-l);
  scrollbar-width:none;
}
.filters::-webkit-scrollbar{display:none;}
.chip{
  flex:none;
  border:1px solid var(--line);
  background:var(--surface);
  border-radius:999px;
  padding:7px 13px;
  font-size:12.5px;
  font-weight:600;
  color:var(--ink-dim);
  cursor:pointer;
  white-space:nowrap;
  min-height:34px;
}
.chip.active{background:var(--ink); border-color:var(--ink); color:var(--paper);}
.chip .n{font-family:var(--font-mono); font-size:11px; opacity:.65; margin-left:4px;}

/* ---- list ---- */
.list{display:flex; flex-direction:column; gap:8px; padding:0 var(--safe-r) 0 var(--safe-l);}
.card{
  width:100%;
  text-align:left;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:12px;
  padding:13px 14px;
  cursor:pointer;
  display:grid;
  grid-template-columns:1fr auto;
  gap:4px 10px;
  box-shadow:0 1px 1px rgba(18,27,25,.03);
}
.card:hover{border-color:var(--ink-faint);}
.card.is-test{background:repeating-linear-gradient(135deg,var(--surface),var(--surface) 9px,var(--surface-2) 9px,var(--surface-2) 18px);}
.card-name{font-weight:700; font-size:15px; line-height:1.25; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.card-org{grid-column:1; font-size:12.5px; color:var(--ink-dim); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.card-meta{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  margin-top:6px;
  font-size:11.5px;
  color:var(--ink-dim);
}
.card-meta .mono{font-family:var(--font-mono); font-size:10.5px; color:var(--ink-faint);}
.sep{color:var(--ink-faint);}
.tier{
  grid-row:1 / span 2;
  grid-column:2;
  align-self:start;
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
  padding:4px 8px;
  border-radius:6px;
  white-space:nowrap;
}
.tier-priority{background:var(--hot-soft); color:var(--hot);}
.tier-nurture{background:var(--warm-soft); color:var(--warm);}
.tier-explore{background:var(--cool-soft); color:var(--cool);}
.tier-test{background:var(--surface-2); color:var(--ink-faint);}
.flagline{grid-column:1 / -1; font-size:11px; color:var(--hot); margin-top:5px; font-weight:600;}

.skel{
  height:86px;
  border-radius:12px;
  border:1px solid var(--line-soft);
  background:linear-gradient(90deg,var(--surface),var(--surface-2),var(--surface));
  background-size:200% 100%;
  animation:sweep 1.4s ease-in-out infinite;
}
@keyframes sweep{to{background-position:-200% 0;}}

.notice{
  margin:0 var(--safe-r) 0 var(--safe-l);
  padding:14px;
  border-radius:12px;
  border:1px solid var(--line);
  background:var(--surface);
  font-size:13.5px;
  line-height:1.55;
  color:var(--ink-dim);
}
.notice b{display:block; color:var(--ink); font-size:14px; margin-bottom:5px;}
.notice.warn{border-color:var(--hot); background:var(--hot-soft); color:var(--hot);}
.notice.warn b{color:var(--hot);}
.notice code{font-family:var(--font-mono); font-size:12px;}
.notice .btn{margin-top:12px;}

.bulk{padding:14px var(--safe-r) 0 var(--safe-l);}

/* ---- detail sheet ---- */
.sheet-scrim{
  position:fixed; inset:0;
  background:rgba(23,54,83,.38);
  z-index:40;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
}
.sheet-scrim.open{opacity:1; pointer-events:auto;}
.sheet{
  position:fixed;
  left:50%;
  bottom:0;
  transform:translate(-50%,100%);
  width:min(540px,100%);
  max-height:94dvh;
  background:var(--paper);
  border-radius:18px 18px 0 0;
  z-index:50;
  display:flex;
  flex-direction:column;
  transition:transform .22s cubic-bezier(.3,.8,.4,1);
  box-shadow:var(--shadow);
  visibility:hidden;
}
.sheet.open{transform:translate(-50%,0); visibility:visible;}
.sheet-head{
  padding:10px var(--safe-r) 12px var(--safe-l);
  border-bottom:1px solid var(--line);
  background:var(--surface);
  border-radius:18px 18px 0 0;
  flex:none;
}
.grabber{width:36px;height:4px;border-radius:3px;background:var(--line);margin:0 auto 10px;}
.sheet-body{overflow-y:auto; padding:0 var(--safe-r) calc(24px + env(safe-area-inset-bottom)) var(--safe-l); -webkit-overflow-scrolling:touch;}
.sheet-title{font-size:18px; font-weight:700; font-stretch:112%; line-height:1.2;}
.sheet-sub{font-size:12.5px; color:var(--ink-dim); margin-top:2px;}

.block{margin-top:16px;}
.block-label{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--ink-faint);
  font-weight:700;
  margin-bottom:7px;
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:10px;
}
.read{
  background:var(--surface);
  border:1px solid var(--line);
  border-left:3px solid var(--accent);
  border-radius:10px;
  padding:12px 13px;
  font-size:13.5px;
  line-height:1.55;
}
.read p + p{margin-top:8px;}
.factors{display:flex; flex-wrap:wrap; gap:5px; margin-top:10px;}
.factor{font-size:11px; font-family:var(--font-mono); background:var(--surface-2); border-radius:5px; padding:3px 7px; color:var(--ink-dim);}
.factor.plus{background:var(--accent-soft); color:var(--accent);}
.factor.minus{background:var(--cool-soft); color:var(--cool);}

dl.fields{margin:0; background:var(--surface); border:1px solid var(--line); border-radius:10px; overflow:hidden;}
.field-row{padding:10px 13px; border-bottom:1px solid var(--line-soft);}
.field-row:last-child{border-bottom:none;}
.field-row dt{
  font-size:11px;
  color:var(--ink-faint);
  margin-bottom:3px;
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:baseline;
}
.canon{font-family:var(--font-mono); font-size:9.5px; color:var(--ink-faint); opacity:.75; flex:none;}
.field-row dd{margin:0; font-size:13.5px; line-height:1.5; overflow-wrap:anywhere;}
.field-row dd.mono{font-family:var(--font-mono); font-size:12.5px;}
.field-row dd.empty{color:var(--ink-faint); font-style:italic;}

.actions{display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:12px;}
.btn{
  border:1px solid var(--line);
  background:var(--surface);
  border-radius:10px;
  padding:12px 10px;
  font-size:13px;
  font-weight:650;
  cursor:pointer;
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  text-align:center;
  text-decoration:none;
  color:var(--ink);
}
.btn svg{width:15px;height:15px;flex:none;}
.btn-primary{background:var(--accent); border-color:var(--accent); color:var(--accent-ink); grid-column:1 / -1;}
.btn-wide{width:100%;}
.btn.ok{border-color:var(--accent); color:var(--accent);}

.footnote{
  padding:20px var(--safe-r) 0 var(--safe-l);
  font-size:11px;
  line-height:1.6;
  color:var(--ink-faint);
}
.footnote code{font-family:var(--font-mono); font-size:10.5px;}
.linkish{
  background:none;
  border:none;
  padding:0;
  font:inherit;
  color:var(--ink-dim);
  text-decoration:underline;
  text-underline-offset:2px;
  cursor:pointer;
}

.toast{
  position:fixed;
  left:50%;
  bottom:calc(20px + env(safe-area-inset-bottom));
  transform:translateX(-50%);
  background:var(--ink);
  color:var(--paper);
  padding:10px 16px;
  border-radius:999px;
  font-size:13px;
  font-weight:600;
  z-index:60;
  box-shadow:var(--shadow);
  max-width:calc(100% - 32px);
}

/* ---- iOS daylight visual system ---- */
html,body{background:var(--paper);}
body{min-height:100dvh;}
button,input{font-family:var(--font-ui);}

.wrap{
  max-width:540px;
  border:0;
  background:var(--paper);
  padding-bottom:calc(40px + env(safe-area-inset-bottom));
}

.masthead{
  padding:calc(18px + env(safe-area-inset-top)) var(--safe-r) 12px var(--safe-l);
  border-bottom:0;
  background:rgba(242,242,247,.88);
  -webkit-backdrop-filter:saturate(180%) blur(22px);
  backdrop-filter:saturate(180%) blur(22px);
}
.masthead-top{align-items:center;}
h1{
  font-size:32px;
  font-weight:750;
  letter-spacing:-.035em;
  line-height:1.04;
  white-space:nowrap;
}
.source-line{
  margin-top:5px;
  font-family:var(--font-ui);
  font-size:12px;
  font-weight:500;
  color:var(--ink-faint);
  letter-spacing:0;
}
.live-dot{width:7px;height:7px;background:#34c759;box-shadow:0 0 0 3px rgba(52,199,89,.12);}
.live-dot.stale{background:#ff9f0a;box-shadow:0 0 0 3px rgba(255,159,10,.13);}
.live-dot.down{background:var(--hot);box-shadow:0 0 0 3px rgba(255,69,58,.12);}
.masthead-actions{gap:10px;}
.icon-btn{
  width:44px;
  height:44px;
  border:0;
  border-radius:50%;
  background:rgba(118,118,128,.12);
  color:var(--accent);
}
.icon-btn:active{background:rgba(118,118,128,.22);transform:scale(.96);}
.icon-btn svg{width:20px;height:20px;stroke-width:2.1;}

.ledger{
  margin-top:17px;
  border:0;
  border-radius:16px;
  background:var(--surface);
  box-shadow:0 .5px 0 var(--line),0 1px 3px rgba(23,54,83,.045);
}
.ledger-cell{padding:11px 7px 10px;text-align:center;border-color:var(--line-soft);}
.ledger-cell b{
  font-family:var(--font-ui);
  font-size:24px;
  font-weight:750;
  letter-spacing:-.03em;
}
.ledger-cell b.hot{color:var(--hot);}
.ledger-cell span{
  margin-top:2px;
  font-size:10px;
  font-weight:600;
  text-transform:none;
  letter-spacing:0;
  color:var(--ink-faint);
}

.search-row{
  margin-top:12px;
  gap:8px;
  height:42px;
  border:0;
  border-radius:12px;
  padding:0 12px;
  background:rgba(118,118,128,.12);
}
.search-icon{width:18px;height:18px;color:var(--ink-faint);stroke-width:2.3;}
#search{padding:9px 0;font-size:16px;letter-spacing:-.01em;}
#search::placeholder{color:var(--ink-faint);opacity:1;}

.filters{
  gap:2px;
  margin:8px var(--safe-r) 12px var(--safe-l);
  padding:3px;
  border-radius:11px;
  background:rgba(118,118,128,.12);
}
.chip{
  flex:1 0 auto;
  min-height:34px;
  padding:7px 10px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:var(--ink-dim);
  font-size:12px;
  font-weight:600;
}
.chip.active{
  background:var(--surface);
  color:var(--ink);
  box-shadow:0 1px 3px rgba(23,54,83,.16),0 0 0 .5px rgba(23,54,83,.06);
}
.chip .n{font-family:var(--font-ui);font-size:10px;font-weight:650;margin-left:3px;opacity:.55;}

.list{
  display:block;
  margin:0 var(--safe-r) 0 var(--safe-l);
  padding:0;
  overflow:hidden;
  border-radius:16px;
  background:var(--surface);
  box-shadow:0 .5px 0 var(--line),0 1px 3px rgba(23,54,83,.045);
}
.card{
  position:relative;
  width:100%;
  min-height:88px;
  padding:12px 38px 12px 12px;
  border:0;
  border-radius:0;
  background:var(--surface);
  box-shadow:none;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  align-items:center;
  gap:0 12px;
}
.card:not(:last-child)::after{
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  left:72px;
  height:.5px;
  background:var(--line);
}
.card:hover{border:0;background:#f7f7fa;}
.card:active{background:#e9e9ee;}
.card.is-test{background:var(--surface);}
.avatar{
  grid-column:1;
  width:48px;
  height:48px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  font-weight:750;
  letter-spacing:-.02em;
  color:var(--accent);
  background:var(--accent-soft);
}
.avatar-priority{color:#d9342b;background:#ffebe9;}
.avatar-nurture{color:#8a6200;background:#fff4cb;}
.avatar-explore{color:#137a45;background:#e5f7ed;}
.avatar-test{color:#7354c7;background:#f0ebff;}
.card-copy{grid-column:2;min-width:0;display:flex;flex-direction:column;align-items:stretch;}
.card-top{display:flex;align-items:center;gap:7px;min-width:0;}
.card-name{font-size:16px;font-weight:650;line-height:1.25;letter-spacing:-.015em;min-width:0;}
.card-org{font-size:13.5px;color:var(--ink-dim);line-height:1.3;margin-top:1px;}
.card-meta{
  display:flex;
  margin-top:5px;
  gap:5px;
  font-size:11.5px;
  color:var(--ink-faint);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.card-meta .mono{font-family:var(--font-ui);font-size:11.5px;color:var(--ink-faint);}
.tier{
  flex:none;
  font-size:10px;
  font-weight:700;
  text-transform:none;
  letter-spacing:0;
  padding:3px 7px;
  border-radius:999px;
}
.flagline{font-size:11px;color:var(--hot);margin-top:4px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.disclosure{
  position:absolute;
  right:14px;
  top:50%;
  width:7px;
  color:#c7c7cc;
  transform:translateY(-50%);
}
.disclosure svg{display:block;width:7px;height:12px;}

.bulk{padding:14px var(--safe-r) 0 var(--safe-l);}
.btn{
  border:0;
  border-radius:12px;
  background:var(--surface);
  color:var(--accent);
  font-size:15px;
  font-weight:600;
  min-height:46px;
  box-shadow:0 .5px 0 var(--line);
}
.btn:active{opacity:.72;}
.btn-primary{background:var(--accent);color:#fff;box-shadow:none;}
.btn svg{width:18px;height:18px;stroke-width:2.1;}

.gate{background:var(--paper);}
.gate-card{
  max-width:380px;
  border:0;
  border-radius:22px;
  padding:24px 20px 20px;
  box-shadow:0 18px 50px rgba(23,54,83,.12);
}
.gate-mark{border-radius:14px;align-self:center;width:60px;height:60px;}
.gate-card h2{text-align:center;font-size:28px;letter-spacing:-.03em;}
.gate-sub{text-align:center;font-family:var(--font-ui);font-size:13px;margin-top:-6px;}
.gate-field{gap:7px;}
.gate-field span{font-size:12px;text-transform:none;letter-spacing:0;color:var(--ink-dim);}
.gate-field input{border:0;background:var(--paper);border-radius:12px;padding:13px 14px;min-height:48px;}
.gate-note{text-align:center;}

.sheet-scrim{background:rgba(23,54,83,.26);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);}
.sheet{
  max-height:94dvh;
  background:var(--paper);
  border-radius:24px 24px 0 0;
  box-shadow:0 -8px 40px rgba(23,54,83,.20);
}
.sheet-head{
  padding:8px var(--safe-r) 12px var(--safe-l);
  border-color:var(--line-soft);
  border-radius:24px 24px 0 0;
  background:rgba(255,255,255,.92);
  -webkit-backdrop-filter:saturate(180%) blur(22px);
  backdrop-filter:saturate(180%) blur(22px);
}
.grabber{width:36px;height:5px;background:#c7c7cc;margin-bottom:10px;}
.sheet-title{font-size:22px;font-weight:720;letter-spacing:-.025em;}
.sheet-sub{font-size:13.5px;color:var(--ink-dim);margin-top:3px;}
.sheet-head .icon-btn{width:36px;height:36px;background:rgba(118,118,128,.12);color:var(--ink-dim);}
.sheet-head .icon-btn svg{width:16px;height:16px;}
.sheet-body{padding-bottom:calc(32px + env(safe-area-inset-bottom));}
.block{margin-top:18px;}
.block-label{font-size:12px;text-transform:none;letter-spacing:0;color:var(--ink-faint);font-weight:600;margin:0 4px 7px;}
.read{border:0;border-radius:16px;padding:14px;font-size:14px;line-height:1.5;background:var(--surface);box-shadow:0 .5px 0 var(--line);}
.factor{font-family:var(--font-ui);font-size:11px;border-radius:999px;padding:4px 8px;}
dl.fields{border:0;border-radius:16px;box-shadow:0 .5px 0 var(--line);}
.field-row{padding:11px 14px;border-color:var(--line-soft);}
.field-row dt{font-size:11.5px;margin-bottom:4px;}
.field-row dd{font-size:14px;}
.canon{font-size:9px;}
.note-preview{border:0;border-radius:16px;padding:14px;background:var(--surface);box-shadow:0 .5px 0 var(--line);}
.notice{border:0;border-radius:16px;box-shadow:0 .5px 0 var(--line);}
.footnote{padding-top:24px;text-align:center;}
.linkish{color:var(--accent);text-decoration:none;}
.toast{background:rgba(23,54,83,.94);color:#fff;border-radius:12px;box-shadow:0 8px 30px rgba(23,54,83,.24);}

@media (min-width:541px){
  .wrap{margin:18px auto;border-radius:24px;min-height:calc(100dvh - 36px);overflow:hidden;box-shadow:0 16px 50px rgba(23,54,83,.12);}
  .masthead{border-radius:24px 24px 0 0;}
  .sheet{bottom:18px;border-radius:24px;max-height:calc(100dvh - 36px);}
  .sheet-head{border-radius:24px 24px 0 0;}
}

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