:root {
  color-scheme: light;
  font-family: Inter, ui-rounded, "SF Pro Rounded", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --bg: #f6f2ea;
  --surface: #fffdf8;
  --surface-2: #f0ebe2;
  --ink: #28231e;
  --muted: #756d64;
  --line: #ded6cb;
  --ember: #b44728;
  --ember-dark: #84341f;
  --ember-soft: #f6ded3;
  --gold: #a36c08;
  --success: #2d6a4f;
  --danger: #a12c2c;
  --warning: #8a5a00;
  --shadow: 0 12px 38px rgb(52 43 34 / 10%);
  --radius: 1.15rem;
  --tap: 3rem;
}
* { box-sizing: border-box; }
html, body { min-height: 100%; margin: 0; background: var(--bg); color: var(--ink); }
body { min-width: 320px; overflow-x: hidden; }
button, input, select, textarea { font: inherit; }
button { min-height: var(--tap); border: 1px solid var(--line); border-radius: .8rem; background: var(--surface); color: var(--ink); padding: .62rem .9rem; cursor: pointer; touch-action: manipulation; }
button:hover { border-color: #bda99a; background: #fff; }
button:active { transform: translateY(1px); }
button:disabled { opacity: .55; cursor: default; transform: none; }
button.primary, .button.primary { border-color: var(--ember); background: var(--ember); color: white; font-weight: 700; }
button.primary:hover, .button.primary:hover { background: var(--ember-dark); }
button.danger, .danger { color: var(--danger); }
.button { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; min-height: var(--tap); padding: .62rem .9rem; border: 1px solid var(--line); border-radius: .8rem; cursor: pointer; }
a { color: var(--ember-dark); }
input, select, textarea { width: 100%; min-height: var(--tap); border: 1px solid var(--line); border-radius: .75rem; background: #fff; color: var(--ink); padding: .65rem .75rem; }
textarea { min-height: 7.5rem; resize: vertical; }
input:focus-visible, select:focus-visible, textarea:focus-visible, button:focus-visible, a:focus-visible { outline: .2rem solid #4c82c3; outline-offset: .15rem; }
label { display: grid; gap: .35rem; font-weight: 650; color: var(--muted); }
label > input, label > select, label > textarea { color: var(--ink); font-weight: 450; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: .25rem; font-size: clamp(1.55rem, 2.4vw, 2.4rem); line-height: 1.1; letter-spacing: -.035em; }
h2 { margin-bottom: .7rem; font-size: clamp(1.05rem, 1.35vw, 1.35rem); }
p { line-height: 1.5; }
small, .muted { color: var(--muted); }
pre { max-width: 100%; overflow: auto; white-space: pre-wrap; word-break: break-word; background: #f5f2ec; border-radius: .75rem; padding: .8rem; }
.skip-link { position: fixed; z-index: 200; left: 1rem; top: -5rem; background: var(--ink); color: white; padding: .7rem 1rem; border-radius: .6rem; }
.skip-link:focus { top: 1rem; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.app-shell { min-height: 100dvh; }
.app-shell.is-offline::before { content: ""; position: fixed; inset: 0 0 auto; height: .25rem; background: var(--warning); z-index: 100; }
.topbar { position: sticky; top: 0; z-index: 40; min-height: 4.4rem; display: grid; grid-template-columns: minmax(10rem,1fr) auto minmax(10rem,1fr); align-items: center; gap: 1rem; padding: .65rem 1rem; background: rgb(255 253 248 / 92%); border-bottom: 1px solid var(--line); backdrop-filter: blur(18px); }
.brand { display: inline-flex; align-items: center; gap: .55rem; justify-self: start; border: 0; background: transparent; font-size: 1.2rem; font-weight: 850; padding-inline: .35rem; }
.ember { color: var(--ember); filter: drop-shadow(0 2px 3px rgb(180 71 40 / 25%)); }
.topbar-center { display: flex; align-items: baseline; gap: .8rem; white-space: nowrap; }
.topbar-center span { color: var(--muted); font-variant-numeric: tabular-nums; }
.status-cluster { justify-self: end; display: flex; align-items: center; justify-content: end; gap: .55rem; }
.status { min-height: 2.35rem; display: inline-flex; align-items: center; gap: .3rem; border-radius: 2rem; padding: .35rem .7rem; background: var(--surface-2); font-size: .87rem; }
.status.warning { color: var(--warning); }
.avatar-stack { display: flex; min-height: 2.5rem; border-radius: 2rem; padding: .2rem .35rem; }
.avatar-stack span { display: grid; place-items: center; width: 2rem; height: 2rem; margin-left: -.25rem; border: 2px solid var(--surface); border-radius: 50%; background: color-mix(in srgb, var(--profile) 25%, white); }
.avatar-stack span:first-child { margin-left: 0; }
.layout { display: grid; grid-template-columns: 7.4rem minmax(0, 1fr); min-height: calc(100dvh - 4.4rem); }
.sidebar { position: sticky; top: 4.4rem; height: calc(100dvh - 4.4rem); display: flex; flex-direction: column; gap: .25rem; padding: .7rem; border-right: 1px solid var(--line); background: rgb(246 242 234 / 85%); overflow-y: auto; }
.sidebar button, .bottom-nav button, .more-menu button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .28rem; min-height: 4rem; border-color: transparent; background: transparent; font-size: .77rem; font-weight: 680; }
.sidebar button > span:first-child, .bottom-nav button > span:first-child, .more-menu button > span:first-child { font-size: 1.25rem; }
.sidebar button.active, .bottom-nav button.active, .more-menu button.active { color: var(--ember-dark); background: var(--ember-soft); }
.nav-spacer { flex: 1; }
.content { width: 100%; max-width: 106rem; margin: 0 auto; padding: clamp(1rem, 2.5vw, 2.5rem); padding-bottom: 6.5rem; }
.bottom-nav { display: none; }
.page-header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.2rem; }
.page-header p { margin-bottom: 0; color: var(--muted); }
.page-actions, .button-row { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; }

.panel { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); padding: clamp(.9rem, 1.6vw, 1.35rem); box-shadow: 0 1px 0 rgb(255 255 255 / 70%); }
.panel-title { display: flex; align-items: center; justify-content: space-between; gap: .7rem; margin-bottom: .55rem; }
.panel-title h2 { margin: 0; }
.panel-title > button { min-height: 2.5rem; border: 0; background: transparent; color: var(--ember-dark); }
.dashboard-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.dashboard-grid .span-2 { grid-column: span 2; }
.card-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(17rem,1fr)); gap: 1rem; }
.empty { display: grid; place-items: center; text-align: center; min-height: 10rem; padding: 1rem; color: var(--muted); }
.empty h2 { color: var(--ink); margin-bottom: .25rem; }
.empty p { max-width: 30rem; margin-bottom: .6rem; }
.empty-flame { color: var(--ember); font-size: 2rem; }
.announcement-stack { display: grid; gap: .55rem; margin-bottom: 1rem; }
.announcement { display: flex; justify-content: space-between; gap: 1rem; align-items: start; border-left: .35rem solid var(--ember); border-radius: .85rem; background: var(--ember-soft); padding: .85rem 1rem; }
.announcement.urgent { border-color: var(--danger); }
.announcement p { margin: .2rem 0 0; }
.announcement button { min-width: 2.7rem; min-height: 2.7rem; padding: .2rem; border: 0; background: transparent; }

.event-card { width: 100%; display: grid; grid-template-columns: 5.3rem minmax(0,1fr) auto; align-items: center; gap: .65rem; min-height: 3.8rem; margin: .35rem 0; border: 0; border-left: .38rem solid var(--event); background: color-mix(in srgb, var(--event) 8%, var(--surface)); text-align: left; }
article.event-card { padding: .62rem .9rem; border-radius: .8rem; }
.event-card.compact { min-height: 3.25rem; }
.event-time { color: var(--muted); font-size: .88rem; font-variant-numeric: tabular-nums; }
.event-main { min-width: 0; display: grid; gap: .1rem; }
.event-main strong, .event-main small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.event-people { letter-spacing: -.2rem; }
.calendar-toolbar { display: flex; align-items: center; gap: .55rem; margin-bottom: .8rem; }
.calendar-toolbar h2 { flex: 1; margin: 0; text-align: center; }
.segmented { display: inline-grid; grid-auto-flow: column; border: 1px solid var(--line); border-radius: .9rem; padding: .2rem; background: var(--surface-2); }
.segmented button { min-height: 2.5rem; border: 0; background: transparent; text-transform: capitalize; }
.segmented button.active { background: var(--surface); color: var(--ember-dark); box-shadow: 0 1px 4px rgb(0 0 0 / 8%); }
.month { border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: var(--surface); }
.weekday-row, .month-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); }
.weekday-row { border-bottom: 1px solid var(--line); background: var(--surface-2); }
.weekday-row span { padding: .55rem; text-align: center; color: var(--muted); font-size: .78rem; font-weight: 750; text-transform: uppercase; }
.day-cell { min-width: 0; min-height: clamp(6.8rem, 10.5vw, 10rem); display: flex; flex-direction: column; align-items: stretch; border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); border-radius: 0; background: var(--surface); padding: .45rem; text-align: left; }
.day-cell:nth-child(7n) { border-right: 0; }
.day-cell.outside { background: #f2eee7; color: var(--muted); }
.day-cell.today .day-number { background: var(--ember); color: #fff; }
.day-cell.selected { box-shadow: inset 0 0 0 .18rem var(--ember); }
.day-number { align-self: start; display: grid; place-items: center; width: 1.8rem; height: 1.8rem; border-radius: 50%; font-weight: 750; }
.day-events { display: grid; gap: .2rem; min-width: 0; margin-top: .25rem; }
.day-events > span { display: block; overflow: hidden; border-left: .22rem solid var(--event); border-radius: .25rem; background: color-mix(in srgb, var(--event) 10%, white); padding: .15rem .25rem; text-overflow: ellipsis; white-space: nowrap; font-size: .72rem; }
.day-events > span b { font-weight: 600; }
.selected-day { margin-top: 1rem; }
.schedule { display: grid; gap: 1rem; }
.schedule > section { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); padding: 1rem; }
.schedule > section h2 { position: sticky; top: 4.4rem; z-index: 1; margin: -.2rem 0 .5rem; padding: .4rem 0; background: var(--surface); }

.balance-strip { display: flex; gap: .7rem; overflow-x: auto; padding-bottom: .8rem; }
.balance-strip > div { display: grid; grid-template-columns: auto auto; align-items: center; gap: .15rem .5rem; min-width: 9rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--surface); padding: .7rem; }
.balance-strip > div > span { grid-row: span 2; font-size: 1.55rem; }
.balance-strip b, .stars { color: var(--gold); }
.task-panel { padding-block: .5rem; }
.task-row { display: grid; grid-template-columns: auto auto minmax(0,1fr) auto; align-items: center; gap: .65rem; min-height: 4rem; padding: .45rem; border-bottom: 1px solid var(--line); }
.task-row:last-child { border-bottom: 0; }
.task-row.done { opacity: .65; }
.check { display: grid; place-items: center; min-width: 2.45rem; min-height: 2.45rem; padding: 0; border-radius: 50%; }
.task-row.done .check, .list-item.checked .check { background: var(--success); color: white; }
.task-icon { font-size: 1.35rem; }
.task-main { display: grid; gap: .12rem; }
.routine-card ol { padding-left: 1.3rem; line-height: 1.75; }

.list-columns { display: grid; grid-template-columns: repeat(auto-fit,minmax(20rem,1fr)); gap: 1rem; align-items: start; }
.inline-form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .5rem; margin-bottom: .6rem; }
.list-item { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: .55rem; min-height: 3.5rem; border-top: 1px solid var(--line); }
.list-item.checked > span { text-decoration: line-through; color: var(--muted); }
.icon-button { min-width: 2.6rem; min-height: 2.6rem; padding: .2rem; border: 0; background: transparent; }
.meal-grid { display: grid; grid-template-columns: repeat(7,minmax(9.5rem,1fr)); gap: .65rem; overflow-x: auto; padding-bottom: .4rem; }
.meal-day { padding: .8rem; }
.meal-day > button { width: 100%; display: grid; gap: .2rem; margin-top: .4rem; text-align: left; }
.meal-day > button span { color: var(--muted); }
.meal-line { display: grid; grid-template-columns: 2rem 1fr; gap: .5rem; padding: .4rem 0; }
.recipe-strip { margin-top: 1rem; }
.recipe-strip > div:last-child { display: flex; gap: .5rem; overflow-x: auto; }
.note-compose { margin-bottom: 1rem; }
.note-compose > div { display: grid; grid-template-columns: minmax(9rem,1fr) 4.2rem auto; gap: .55rem; margin-top: .55rem; }
.notes-wall { display: grid; grid-template-columns: repeat(auto-fit,minmax(15rem,1fr)); gap: 1rem; }
.family-note, .note-mini { position: relative; border-radius: .35rem 1rem 1rem .35rem; background: var(--note); padding: 1.2rem; box-shadow: 0 7px 17px rgb(80 64 30 / 10%); }
.family-note > button { position: absolute; top: .3rem; right: .3rem; min-width: 2.4rem; min-height: 2.4rem; border: 0; background: transparent; }
.family-note p { white-space: pre-wrap; }
.note-mini { padding: .7rem; box-shadow: none; }
.note-mini p { margin-bottom: .3rem; }
.photo-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(13rem,1fr)); gap: .75rem; }
.photo-grid figure { margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 1rem; background: var(--surface); }
.photo-grid img { width: 100%; aspect-ratio: 4/3; display: block; object-fit: cover; background: var(--surface-2); }
.photo-grid img.broken { opacity: .4; }
.photo-grid figcaption { padding: .45rem .65rem; color: var(--muted); font-size: .78rem; }
.sidekick-compose { display: grid; grid-template-columns: 10rem minmax(0,1fr) auto; gap: .65rem; align-items: end; margin-bottom: 1rem; }
.proposal-list { display: grid; gap: 1rem; }
.proposal { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 1rem; }
.eyebrow { color: var(--muted); font-size: .76rem; font-weight: 750; text-transform: uppercase; letter-spacing: .04em; }
.reward-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(13rem,1fr)); gap: .8rem; }
.reward { text-align: center; }
.reward .cost { color: var(--gold); font-size: 1.4rem; font-weight: 800; }
.timer-list { display: grid; gap: .5rem; }
.timer-row { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: .5rem; padding: .5rem; border-top: 1px solid var(--line); }
.timer-row [data-timer] { min-width: 4.5rem; font-variant-numeric: tabular-nums; font-size: 1.1rem; font-weight: 800; text-align: right; }

.settings-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(23rem,1fr)); gap: 1rem; align-items: start; }
.settings-grid .wide { grid-column: 1 / -1; }
.setting-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .6rem; min-height: 3.5rem; border-top: 1px solid var(--line); }
.setting-row:first-of-type { border-top: 0; }
.pair-code { display: grid; place-items: center; margin-top: .7rem; border: 2px dashed var(--ember); border-radius: 1rem; padding: 1rem; }
.pair-code strong { font-size: 2rem; letter-spacing: .15em; }

.modal-layer, .scrim { position: fixed; inset: 0; z-index: 90; background: rgb(33 27 22 / 48%); backdrop-filter: blur(3px); }
.modal-layer { display: grid; place-items: center; padding: 1rem; overflow-y: auto; }
.modal { width: min(42rem,100%); max-height: calc(100dvh - 2rem); overflow-y: auto; border: 1px solid var(--line); border-radius: 1.2rem; background: var(--surface); box-shadow: var(--shadow); padding: 1.2rem; }
.modal.wide { width: min(62rem,100%); }
.modal-header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.modal-header button { min-width: 2.6rem; min-height: 2.6rem; padding: .2rem; border: 0; background: transparent; font-size: 1.4rem; }
.modal form { display: grid; gap: .75rem; }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.checkbox { display: flex; align-items: center; gap: .55rem; min-height: var(--tap); }
.checkbox input { width: 1.2rem; min-height: 1.2rem; }

.back-float {
  position: fixed; bottom: 8rem; left: 1rem; z-index: 85;
  width: 3rem; height: 3rem; border-radius: 50%;
  background: rgba(32,23,15,.10); backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid var(--line);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; touch-action: manipulation;
  transition: opacity .35s, transform .15s;
  opacity: .35; color: var(--ink);
}
.back-float:hover, .back-float:active { opacity: .9; transform: scale(1.08); }
.back-float svg { flex-shrink: 0; }
.more-menu { position: fixed; z-index: 95; left: .75rem; right: .75rem; bottom: 5.2rem; max-height: calc(100dvh - 8rem); overflow-y: auto; display: grid; grid-template-columns: repeat(4,1fr); gap: .35rem; border: 1px solid var(--line); border-radius: 1.2rem; background: var(--surface); box-shadow: var(--shadow); padding: .6rem; }
.boot, .fatal, .clock-gate, .setup, .pair-screen, .guest-view, .center-screen { min-height: 100dvh; display: grid; place-items: center; padding: 2rem; }
.center-screen { overflow-y: auto; }
.welcome-card { width: min(35rem,100%); display: grid; gap: .85rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); padding: clamp(1.2rem,2.2vw,2rem); }
.welcome-card.wide { width: min(58rem,100%); }
.welcome-card form, .welcome-card fieldset { display: grid; gap: .75rem; }
.welcome-card fieldset { min-width: 0; border: 1px solid var(--line); border-radius: .9rem; padding: .85rem; }
.welcome-card legend { padding: 0 .35rem; font-weight: 800; }
.large-ember { color: var(--ember); font-size: 2.6rem; line-height: 1; filter: drop-shadow(0 4px 8px rgb(180 71 40 / 22%)); }
.boot, .clock-gate { align-content: center; text-align: center; }
.spinner { width: 3rem; height: 3rem; border: .3rem solid var(--line); border-top-color: var(--ember); border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.fatal > div, .clock-gate > div, .setup > form, .pair-screen > form { width: min(35rem,100%); border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); padding: 1.4rem; }
.guest-view { display: block; width: min(62rem,100%); margin: 0 auto; }
.guest-view > header { display: flex; justify-content: space-between; gap: 1rem; align-items: center; margin-bottom: 1rem; }
.toast-region { position: fixed; z-index: 120; right: 1rem; bottom: 1rem; display: grid; gap: .55rem; max-width: min(24rem,calc(100vw - 2rem)); }
.toast { border: 1px solid var(--line); border-left: .35rem solid #4c82c3; border-radius: .8rem; background: var(--surface); box-shadow: var(--shadow); padding: .85rem 1rem; }
.toast.success { border-left-color: var(--success); }
.toast.warn { border-left-color: var(--warning); }
.toast.error { border-left-color: var(--danger); }

@media (max-width: 899px) {
  .topbar { grid-template-columns: auto 1fr auto; min-height: 3.8rem; padding: .45rem .65rem; }
  .topbar-center { justify-self: center; }
  .topbar-center strong { display: none; }
  .brand > span:last-child { display: none; }
  .status-cluster .status:not(.warning) { display: none; }
  .layout { display: block; min-height: calc(100dvh - 3.8rem); }
  .sidebar { display: none; }
  .content { padding: 1rem; padding-bottom: 6.4rem; }
  .bottom-nav { position: fixed; z-index: 70; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: repeat(5,1fr); min-height: 4.7rem; border-top: 1px solid var(--line); background: rgb(255 253 248 / 96%); backdrop-filter: blur(16px); padding-bottom: env(safe-area-inset-bottom); }
  .bottom-nav button { min-height: 4.4rem; padding: .3rem; }
  .page-header { align-items: start; }
  .page-actions { justify-content: end; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .dashboard-grid .span-2 { grid-column: auto; }
  .month { overflow-x: auto; }
  .weekday-row, .month-grid { min-width: 46rem; }
  .day-cell { min-height: 7rem; }
  .selected-day { display: block; }
  .sidekick-compose { grid-template-columns: 1fr; }
  .proposal { grid-template-columns: 1fr; }
  .settings-grid { grid-template-columns: 1fr; }
  .settings-grid .wide { grid-column: auto; }
  .toast-region { bottom: calc(5.3rem + env(safe-area-inset-bottom)); }
}
@media (max-width: 560px) {
  :root { --tap: 2.8rem; }
  .page-header { display: grid; }
  .page-actions { justify-content: start; }
  .segmented { width: 100%; overflow-x: auto; }
  .calendar-toolbar { flex-wrap: wrap; }
  .calendar-toolbar h2 { order: -1; flex-basis: 100%; }
  .filter-button { margin-left: auto; }
  .list-columns { grid-template-columns: 1fr; }
  .note-compose > div, .form-grid { grid-template-columns: 1fr; }
  
.back-float {
  position: fixed; bottom: 8rem; left: 1rem; z-index: 85;
  width: 3rem; height: 3rem; border-radius: 50%;
  background: rgba(32,23,15,.10); backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid var(--line);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; touch-action: manipulation;
  transition: opacity .35s, transform .15s;
  opacity: .35; color: var(--ink);
}
.back-float:hover, .back-float:active { opacity: .9; transform: scale(1.08); }
.back-float svg { flex-shrink: 0; }
.more-menu { grid-template-columns: repeat(3,1fr); }
  .event-card { grid-template-columns: 4.6rem minmax(0,1fr); }
  .event-people { display: none; }
  .guest-view > header { display: grid; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
@media (prefers-contrast: more) { :root { --line: #776f66; } button, input, select, textarea, .panel { border-width: 2px; } }
@media print { .topbar, .sidebar, .bottom-nav, .page-actions, 
.back-float {
  position: fixed; bottom: 8rem; left: 1rem; z-index: 85;
  width: 3rem; height: 3rem; border-radius: 50%;
  background: rgba(32,23,15,.10); backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid var(--line);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; touch-action: manipulation;
  transition: opacity .35s, transform .15s;
  opacity: .35; color: var(--ink);
}
.back-float:hover, .back-float:active { opacity: .9; transform: scale(1.08); }
.back-float svg { flex-shrink: 0; }
.more-menu { display: none !important; } .layout { display: block; } .content { padding: 0; } body { background: white; } }
