:root {
  --wb-ink: #f7f8ff;
  --wb-muted: rgba(247,248,255,.65);
  --wb-panel: rgba(16,21,36,.28);
  --wb-line: rgba(255,255,255,.12);
  --wb-shadow: 0 26px 90px rgba(0,0,0,.22);
}
* { box-sizing: border-box; }
html, body { margin: 0; width: 100%; min-height: 100%; background: #12182a; }
body {
  min-height: 100vh;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--wb-ink);
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 6%, rgba(107,121,246,.42), transparent 31%),
    radial-gradient(circle at 85% 15%, rgba(179,100,209,.28), transparent 31%),
    radial-gradient(circle at 65% 86%, rgba(63,157,138,.20), transparent 31%),
    linear-gradient(145deg, #151c31 0%, #121828 55%, #101522 100%);
}
body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(255,255,255,.02), transparent 30%, rgba(0,0,0,.10));
}
.wall-shell {
  width: 100vw;
  height: 100vh;
  padding: clamp(30px, 3.2vw, 64px) clamp(38px, 4vw, 78px);
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: clamp(20px, 2vw, 36px);
}
.wall-head { display: flex; justify-content: space-between; gap: 40px; align-items: flex-start; }
.wall-kicker { color: var(--wb-muted); font-weight: 800; text-transform: uppercase; letter-spacing: .18em; font-size: clamp(11px, .75vw, 17px); }
.wall-greeting { margin-top: 8px; font-size: clamp(40px, 4.15vw, 82px); font-weight: 760; letter-spacing: -.048em; line-height: .98; }
.wall-date { margin-top: 15px; color: var(--wb-muted); font-size: clamp(15px, 1.05vw, 23px); }
.wall-clock { text-align: right; font-size: clamp(38px, 3.5vw, 70px); font-weight: 700; letter-spacing: -.05em; }
.wall-sync { color: var(--wb-muted); font-size: clamp(11px, .75vw, 16px); margin-top: 7px; }
.wall-grid {
  display: grid;
  grid-template-columns: 1.07fr .93fr;
  grid-template-rows: minmax(0, 1.18fr) minmax(0, .82fr);
  gap: clamp(18px, 1.7vw, 30px);
  min-height: 0;
}
.wall-card {
  min-height: 0;
  border-radius: clamp(24px, 2vw, 40px);
  background: var(--wb-panel);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: var(--wb-shadow);
  backdrop-filter: blur(28px) saturate(120%);
  padding: clamp(22px, 2vw, 38px);
  overflow: hidden;
}
.wall-card-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: clamp(14px, 1.2vw, 24px); }
.wall-card-title { font-size: clamp(16px, 1.25vw, 27px); font-weight: 800; letter-spacing: -.02em; }
.wall-count { color: var(--wb-muted); font-size: clamp(11px, .78vw, 16px); }
.wall-list { display: grid; gap: clamp(10px, .9vw, 18px); }
.wall-task {
  display: grid;
  grid-template-columns: clamp(24px, 1.8vw, 35px) minmax(0,1fr) auto;
  gap: clamp(12px, 1vw, 19px);
  align-items: center;
}
.wall-check { width: clamp(22px, 1.5vw, 32px); height: clamp(22px, 1.5vw, 32px); border-radius: 50%; border: 2px solid rgba(255,255,255,.28); }
.wall-task-title { font-size: clamp(17px, 1.32vw, 29px); font-weight: 690; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wall-task-meta { margin-top: 5px; color: var(--wb-muted); font-size: clamp(10px, .7vw, 15px); display: flex; align-items: center; gap: 8px; }
.wall-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
.wall-time { color: var(--wb-muted); font-size: clamp(11px, .8vw, 17px); font-weight: 760; white-space: nowrap; }
.wall-event {
  display: grid;
  grid-template-columns: clamp(74px, 5.6vw, 112px) minmax(0,1fr);
  gap: clamp(14px, 1vw, 20px);
  padding: clamp(10px, .9vw, 18px) 0;
  border-bottom: 1px solid var(--wb-line);
}
.wall-event:last-child { border-bottom: 0; }
.wall-event-time { font-size: clamp(14px, 1.05vw, 22px); font-weight: 800; }
.wall-event-title { font-size: clamp(16px, 1.2vw, 26px); font-weight: 650; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wall-mini-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(22px, 2vw, 40px); }
.wall-mini-title { color: var(--wb-muted); font-size: clamp(11px, .78vw, 16px); text-transform: uppercase; letter-spacing: .12em; font-weight: 820; margin-bottom: clamp(12px, 1vw, 18px); }
.wall-mini-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: center; padding: clamp(7px, .65vw, 13px) 0; border-bottom: 1px solid var(--wb-line); }
.wall-mini-row:last-child { border-bottom: 0; }
.wall-mini-row strong { font-size: clamp(13px, .93vw, 20px); font-weight: 650; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wall-mini-row span { color: var(--wb-muted); font-size: clamp(10px, .68vw, 14px); white-space: nowrap; }
.wall-projects { display: flex; gap: clamp(8px, .75vw, 14px); flex-wrap: wrap; }
.wall-project {
  display: inline-flex; align-items: center; gap: 9px;
  padding: clamp(8px, .7vw, 13px) clamp(11px, .9vw, 17px);
  border-radius: 999px;
  border: 1px solid var(--wb-line);
  background: rgba(255,255,255,.05);
  font-size: clamp(11px, .75vw, 16px);
  font-weight: 720;
}
.wall-foot { display: flex; justify-content: space-between; align-items: center; gap: 20px; color: var(--wb-muted); font-size: clamp(11px, .74vw, 16px); }
.wall-foot strong { color: var(--wb-ink); }
.wall-placeholder { color: var(--wb-muted); font-size: clamp(14px, 1vw, 21px); line-height: 1.5; padding: 10px 0; }
.privacy .private-text { filter: blur(9px); opacity: .72; user-select: none; }
.privacy-badge { display: none; }
.privacy .privacy-badge { display: inline-flex; padding: 6px 10px; border-radius: 999px; background: rgba(255,255,255,.08); font-size: 12px; color: var(--wb-muted); }
.wall-celebrate {
  position: fixed; inset: 0; z-index: 50;
  display: grid; place-items: center;
  background: rgba(11,16,29,.38);
  backdrop-filter: blur(22px);
  opacity: 0; pointer-events: none;
  transition: opacity .28s ease;
}
.wall-celebrate.show { opacity: 1; }
.wall-celebrate-card { text-align: center; transform: translateY(10px) scale(.97); transition: transform .3s ease; }
.wall-celebrate.show .wall-celebrate-card { transform: translateY(0) scale(1); }
.wall-celebrate-check { width: clamp(90px, 8vw, 150px); height: clamp(90px, 8vw, 150px); border-radius: 50%; display: grid; place-items: center; margin: 0 auto 26px; background: linear-gradient(135deg, #5fc099, #7082f7); font-size: clamp(45px, 4vw, 76px); box-shadow: 0 28px 80px rgba(62,190,146,.25); }
.wall-celebrate-title { font-size: clamp(34px, 3.3vw, 68px); font-weight: 780; letter-spacing: -.04em; }
.wall-celebrate-sub { margin-top: 12px; color: var(--wb-muted); font-size: clamp(14px, 1.2vw, 24px); }
@media (max-aspect-ratio: 4/3) {
  body { overflow: auto; }
  .wall-shell { height: auto; min-height: 100vh; }
  .wall-grid { grid-template-columns: 1fr; grid-template-rows: auto; }
}

/* =========================================================
   Large-screen notebook / dispatch aesthetic
   ========================================================= */
:root {
  --wb-paper: #f3ead2;
  --wb-paper-2: #fff9e9;
  --wb-ink: #172b3a;
  --wb-muted: #6f756f;
  --wb-blue: #2b78b9;
  --wb-orange: #ef7a3a;
  --wb-yellow: #f3c54b;
  --wb-green: #78a46e;
  --wb-red: #d95d62;
  --wb-panel: rgba(255,249,233,.95);
  --wb-line: rgba(23,43,58,.18);
  --wb-shadow: 8px 9px 0 rgba(23,43,58,.09), 0 18px 44px rgba(55,42,24,.06);
  --wb-font: "Trebuchet MS", "Aptos", "Segoe UI", sans-serif;
  --wb-hand: "Segoe Print", "Bradley Hand", "Comic Sans MS", cursive;
}
html, body { background: var(--wb-paper); }
body {
  color: var(--wb-ink);
  font-family: var(--wb-font);
  background-color: var(--wb-paper);
  background-image:
    radial-gradient(circle at 10% 15%, rgba(43,120,185,.07) 0 3px, transparent 3.5px),
    radial-gradient(circle at 88% 70%, rgba(239,122,58,.06) 0 2.5px, transparent 3px),
    repeating-linear-gradient(0deg, transparent 0 43px, rgba(73,118,150,.06) 44px, transparent 45px),
    linear-gradient(104deg, rgba(255,255,255,.32), transparent 27%, rgba(255,255,255,.10) 72%, transparent),
    var(--wb-paper);
  background-size: 175px 175px, 145px 145px, auto, auto, auto;
}
body::before {
  content: "";
  position: fixed;
  left: -22px;
  top: 18%;
  width: 145px;
  height: 38px;
  background: repeating-linear-gradient(12deg, rgba(43,120,185,.28) 0 5px, transparent 5px 11px);
  transform: rotate(-8deg);
  pointer-events: none;
}
body::after {
  content: "";
  position: fixed;
  right: -38px;
  bottom: 15%;
  width: 120px;
  height: 120px;
  border: 8px solid rgba(243,197,75,.30);
  border-radius: 50% 45% 52% 47%;
  pointer-events: none;
  background: transparent;
}
.wall-shell {
  padding: clamp(28px, 2.7vw, 55px) clamp(34px, 3.3vw, 66px);
  gap: clamp(18px, 1.55vw, 29px);
}
.wall-head {
  position: relative;
  min-height: clamp(116px, 10vw, 172px);
  align-items: flex-start;
  padding: clamp(19px, 1.55vw, 30px) clamp(23px, 1.9vw, 38px);
  border: 2.4px solid var(--wb-ink);
  border-radius: 29px 36px 27px 34px;
  background: rgba(255,249,233,.93);
  box-shadow: var(--wb-shadow);
}
.wall-head::before {
  content: "";
  position: absolute;
  width: clamp(82px, 6vw, 120px);
  height: clamp(17px, 1.3vw, 25px);
  left: clamp(36px, 3vw, 62px);
  top: clamp(-13px, -.8vw, -8px);
  background: rgba(102,146,184,.34);
  transform: rotate(-2deg);
}
.wall-head::after {
  content: "*";
  position: absolute;
  right: clamp(250px, 21vw, 410px);
  top: clamp(21px, 1.5vw, 30px);
  width: clamp(34px, 2.5vw, 51px);
  height: clamp(34px, 2.5vw, 51px);
  border: 2px solid var(--wb-ink);
  border-radius: 50% 45% 52% 47%;
  display: grid;
  place-items: center;
  color: var(--wb-orange);
  background: #fff4bf;
  font-family: var(--wb-hand);
  font-size: clamp(20px, 1.5vw, 31px);
}
.wall-kicker { color: var(--wb-orange); font-size: clamp(10px, .72vw, 15px); }
.wall-greeting {
  color: var(--wb-ink);
  font-size: clamp(44px, 4.1vw, 80px);
  font-weight: 900;
  letter-spacing: -.055em;
}
.wall-date { color: var(--wb-muted); font-weight: 700; }
.wall-timebox { min-width: clamp(150px, 13vw, 250px); text-align: right; }
.wall-clock { color: var(--wb-ink); font-weight: 850; }
.wall-sync { color: var(--wb-muted); }
.wall-note {
  position: absolute;
  right: clamp(190px, 16vw, 315px);
  bottom: clamp(16px, 1.2vw, 24px);
  width: clamp(190px, 15vw, 290px);
  padding: clamp(10px, .8vw, 15px) clamp(13px, 1vw, 19px);
  background: #f7d760;
  border: 2px solid var(--wb-ink);
  border-radius: 3px 7px 4px 6px;
  box-shadow: 4px 5px 0 rgba(23,43,58,.10);
  transform: rotate(1.3deg);
  font-family: var(--wb-hand);
  text-align: left;
  color: #25333b;
}
.wall-note::before {
  content: "";
  position: absolute;
  width: 52px;
  height: 14px;
  left: 50%;
  top: -8px;
  transform: translateX(-50%) rotate(-2deg);
  background: rgba(255,249,220,.72);
}
.wall-note span { display: block; font-size: clamp(8px, .55vw, 12px); opacity: .62; }
.wall-note strong { display: block; margin-top: 2px; font-size: clamp(12px, .9vw, 18px); font-weight: 700; }

.wall-grid {
  gap: clamp(16px, 1.45vw, 27px);
}
.wall-card {
  position: relative;
  border: 2.2px solid var(--wb-ink);
  border-radius: clamp(20px, 1.65vw, 33px) clamp(24px, 1.9vw, 38px) clamp(21px, 1.7vw, 34px) clamp(23px, 1.8vw, 36px);
  background: var(--wb-panel);
  box-shadow: var(--wb-shadow);
  backdrop-filter: none;
}
.wall-card:nth-child(1)::before,
.wall-card:nth-child(2)::before,
.wall-card:nth-child(3)::before,
.wall-card:nth-child(4)::before {
  content: "";
  position: absolute;
  top: -10px;
  left: clamp(32px, 3vw, 54px);
  width: clamp(62px, 5vw, 96px);
  height: clamp(16px, 1.1vw, 21px);
  background: rgba(243,197,75,.44);
  transform: rotate(-2deg);
}
.wall-card:nth-child(2)::before { left: auto; right: clamp(34px, 3vw, 58px); background: rgba(94,154,194,.34); transform: rotate(2deg); }
.wall-card:nth-child(3)::before { background: rgba(239,122,58,.27); transform: rotate(1deg); }
.wall-card:nth-child(4)::before { left: auto; right: clamp(42px, 3vw, 62px); background: rgba(120,164,110,.34); transform: rotate(-1deg); }
.wall-card:nth-child(1) { transform: rotate(-.08deg); }
.wall-card:nth-child(2) { transform: rotate(.07deg); }
.wall-card-title { color: var(--wb-ink); font-weight: 900; }
.wall-card-title::before {
  content: "#";
  display: inline-block;
  margin-right: .45em;
  color: var(--wb-orange);
  font-family: var(--wb-hand);
  transform: rotate(-5deg);
}
.wall-count { color: var(--wb-muted); }
.wall-task { padding: clamp(3px, .25vw, 5px) 0; }
.wall-check {
  border: 2px solid var(--wb-ink);
  border-radius: 50% 45% 52% 47%;
  background: rgba(255,255,255,.42);
}
.wall-task-title { color: var(--wb-ink); font-weight: 800; }
.wall-task-meta, .wall-time { color: var(--wb-muted); }
.wall-event { border-bottom: 1px dashed var(--wb-line); }
.wall-event-time { color: var(--wb-blue); }
.wall-event-title { color: var(--wb-ink); font-weight: 780; }
.wall-mini-title { color: var(--wb-orange); font-family: var(--wb-hand); letter-spacing: .04em; text-transform: lowercase; font-weight: 800; }
.wall-mini-row { border-bottom: 1px dashed var(--wb-line); }
.wall-mini-row strong { color: var(--wb-ink); font-weight: 800; }
.wall-mini-row span { color: var(--wb-muted); }
.wall-project {
  border: 1.7px solid var(--wb-ink);
  border-radius: 11px 15px 11px 14px;
  background: rgba(255,255,255,.48);
  color: var(--wb-ink);
  box-shadow: 3px 4px 0 rgba(23,43,58,.07);
}
.wall-project:nth-child(3n+1) { transform: rotate(-.35deg); }
.wall-project:nth-child(3n+2) { transform: rotate(.3deg); }
.wall-foot { color: var(--wb-muted); font-family: var(--wb-hand); }
.wall-foot strong { color: var(--wb-ink); font-family: var(--wb-font); }
.wall-foot-note { color: var(--wb-blue); transform: rotate(-.25deg); }
.wall-placeholder { color: var(--wb-muted); font-family: var(--wb-hand); }
.privacy .private-text { filter: blur(9px); opacity: .62; }
.privacy .privacy-badge { background: #ffe68a; color: var(--wb-ink); border: 1px solid var(--wb-ink); }

.wall-celebrate {
  background: rgba(243,234,210,.70);
  backdrop-filter: blur(7px);
}
.wall-celebrate-card {
  padding: clamp(28px, 3vw, 56px);
  background: #fff7d4;
  border: 3px solid var(--wb-ink);
  border-radius: 18px 28px 20px 25px;
  box-shadow: 11px 13px 0 rgba(23,43,58,.14);
  transform: translateY(10px) scale(.97) rotate(-.5deg);
}
.wall-celebrate.show .wall-celebrate-card { transform: translateY(0) scale(1) rotate(-.5deg); }
.wall-celebrate-check {
  background: #7eac73;
  color: white;
  border: 3px solid var(--wb-ink);
  box-shadow: 6px 7px 0 rgba(23,43,58,.12);
}
.wall-celebrate-title { color: var(--wb-ink); font-family: var(--wb-hand); font-weight: 800; }
.wall-celebrate-sub { color: var(--wb-muted); }

@media (max-width: 1280px) {
  .wall-note { display: none; }
  .wall-head::after { right: 210px; }
}
@media (max-aspect-ratio: 4/3) {
  .wall-note { display: none; }
  .wall-head::after { display: none; }
}

/* Interactive wallboard controls */
.wall-head-actions {
  position:absolute; right:clamp(34px,3vw,60px); bottom:clamp(16px,1.15vw,23px);
  display:flex; gap:9px; z-index:4;
}
.wall-dashboard-link, .wall-request-link, .wall-foot-link {
  color:var(--wb-ink); text-decoration:none; font-weight:850;
}
.wall-dashboard-link, .wall-request-link {
  padding:clamp(8px,.65vw,12px) clamp(12px,.9vw,18px); border:2px solid var(--wb-ink);
  border-radius:999px; background:#fff9e9; box-shadow:3px 4px 0 rgba(23,43,58,.09);
  font-size:clamp(10px,.68vw,14px);
}
.wall-request-link { background:#f7d760; transform:rotate(1deg); }
.wall-timebox { margin-right:clamp(0px,0vw,0px); }
.wall-task.wall-task-action { cursor:pointer; border-radius:12px; transition:transform .15s ease, background .15s ease; }
.wall-task.wall-task-action:hover { background:rgba(255,255,255,.5); transform:translateX(3px); }
.wall-check-button {
  width:clamp(22px,1.5vw,32px); height:clamp(22px,1.5vw,32px); border:2px solid var(--wb-ink);
  border-radius:50% 45% 52% 47%; background:rgba(255,255,255,.42); cursor:pointer; color:var(--wb-ink);
  font-size:clamp(12px,.8vw,17px); padding:0;
}
.wall-foot-link { border-bottom:1px dashed var(--wb-blue); }
.wall-action-backdrop {
  position:fixed; inset:0; z-index:70; background:rgba(23,43,58,.18); backdrop-filter:blur(3px);
  opacity:0; pointer-events:none; transition:opacity .18s ease;
}
.wall-action-backdrop.open { opacity:1; pointer-events:auto; }
.wall-action-sheet {
  position:fixed; z-index:71; left:50%; bottom:clamp(28px,3vw,58px); transform:translate(-50%, 30px) rotate(-.3deg);
  width:min(760px,86vw); padding:clamp(22px,2vw,34px); background:#fff7d4; border:3px solid var(--wb-ink);
  border-radius:22px 28px 20px 27px; box-shadow:10px 12px 0 rgba(23,43,58,.15);
  opacity:0; pointer-events:none; transition:opacity .2s ease, transform .2s ease;
}
.wall-action-sheet.open { opacity:1; pointer-events:auto; transform:translate(-50%,0) rotate(-.3deg); }
.wall-action-kicker { color:var(--wb-orange); font-family:var(--wb-hand); font-size:clamp(12px,.9vw,17px); }
.wall-action-title { margin-top:5px; color:var(--wb-ink); font-size:clamp(24px,2vw,39px); font-weight:900; line-height:1.1; }
.wall-action-buttons { display:flex; gap:10px; margin-top:20px; flex-wrap:wrap; }
.wall-action-buttons button, .wall-action-buttons a {
  appearance:none; border:2px solid var(--wb-ink); border-radius:999px; background:#fff9e9; color:var(--wb-ink);
  padding:clamp(10px,.8vw,14px) clamp(15px,1.2vw,23px); font:inherit; font-size:clamp(11px,.76vw,15px); font-weight:850;
  text-decoration:none; cursor:pointer; box-shadow:3px 4px 0 rgba(23,43,58,.08);
}
.wall-action-buttons button:first-child { background:#a8d39b; }
.wall-action-close { position:absolute; right:18px; top:16px; border:0; background:transparent; font-size:28px; color:var(--wb-ink); cursor:pointer; }
@media (max-width:1280px) {
  .wall-head-actions { right:200px; bottom:14px; }
}

/* v1.3 — playful ambient wallboard layer */
.wall-ambient { position:fixed; inset:0; pointer-events:none; overflow:hidden; z-index:0; }
.wall-shell { position:relative; z-index:1; }
.ambient-doodle {
  position:absolute; font-family:var(--wb-hand); font-weight:900; line-height:1; opacity:.18;
  color:var(--wb-blue); filter:drop-shadow(1px 1px 0 rgba(255,255,255,.4));
  animation:wallFloat 9s ease-in-out infinite alternate;
}
.ambient-doodle-a { left:3.5vw; top:7vh; font-size:clamp(28px,2.4vw,52px); transform:rotate(-10deg); }
.ambient-doodle-b { right:4.2vw; top:34vh; font-size:clamp(42px,3.5vw,76px); color:var(--wb-orange); animation-delay:-3s; }
.ambient-doodle-c { left:2.8vw; bottom:9vh; font-size:clamp(48px,4vw,86px); color:var(--wb-green); animation-delay:-5s; }
.ambient-doodle-d { right:16vw; bottom:3vh; font-size:clamp(30px,2.8vw,58px); color:var(--wb-yellow); animation-delay:-7s; }
@keyframes wallFloat { from { translate:0 0; rotate:-2deg; } to { translate:0 -12px; rotate:3deg; } }

body.wall-morning {
  --wb-paper:#f4ead1;
  background-image:
    radial-gradient(circle at 83% 9%, rgba(248,190,87,.22), transparent 16%),
    radial-gradient(circle at 10% 15%, rgba(43,120,185,.07) 0 3px, transparent 3.5px),
    repeating-linear-gradient(0deg, transparent 0 43px, rgba(73,118,150,.06) 44px, transparent 45px),
    var(--wb-paper);
}
body.wall-afternoon {
  --wb-paper:#f3ead2;
  background-image:
    radial-gradient(circle at 87% 11%, rgba(239,122,58,.13), transparent 18%),
    radial-gradient(circle at 10% 15%, rgba(43,120,185,.07) 0 3px, transparent 3.5px),
    repeating-linear-gradient(0deg, transparent 0 43px, rgba(73,118,150,.06) 44px, transparent 45px),
    var(--wb-paper);
}
body.wall-evening {
  --wb-paper:#e6ddca; --wb-paper-2:#f7f0df; --wb-panel:rgba(250,244,228,.95);
  background-image:
    radial-gradient(circle at 82% 8%, rgba(107,96,160,.14), transparent 20%),
    radial-gradient(circle at 8% 20%, rgba(43,120,185,.06) 0 3px, transparent 3.5px),
    repeating-linear-gradient(0deg, transparent 0 43px, rgba(73,118,150,.055) 44px, transparent 45px),
    var(--wb-paper);
}

.wall-note { transition:transform .35s ease, background .35s ease; }
.wall-note.mission-pop { animation:missionPop .55s ease; }
@keyframes missionPop { 0%{transform:rotate(1.3deg) scale(1)} 40%{transform:rotate(-1deg) scale(1.055)} 100%{transform:rotate(1.3deg) scale(1)} }
.wall-foot-note {
  padding:.45em .75em; border:1.6px solid var(--wb-ink); border-radius:999px; background:rgba(255,255,255,.42);
  box-shadow:2px 3px 0 rgba(23,43,58,.08); transition:transform .25s ease, background .25s ease;
}
.wall-foot-note:hover { transform:rotate(-1deg) translateY(-2px); background:#fff7d4; }

.wall-task.wall-task-action { position:relative; overflow:hidden; }
.wall-task.wall-task-action::after {
  content:""; position:absolute; left:-35%; right:110%; bottom:1px; height:2px; background:var(--wb-yellow);
  transition:left .25s ease,right .25s ease;
}
.wall-task.wall-task-action:hover::after { left:0; right:0; }
.wall-check-button:hover { transform:rotate(-8deg) scale(1.08); background:#fff4bf; }
.wall-check-button { transition:transform .15s ease, background .15s ease; }

.wall-confetti { position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.confetti-piece {
  position:absolute; left:50%; top:48%; width:clamp(9px,.7vw,14px); height:clamp(16px,1vw,22px);
  border:2px solid var(--wb-ink); border-radius:2px; opacity:0;
  animation:confettiBurst 1.45s cubic-bezier(.15,.75,.22,1) forwards;
}
@keyframes confettiBurst {
  0% { opacity:0; transform:translate(-50%,-50%) rotate(0deg) scale(.4); }
  12% { opacity:1; }
  100% { opacity:0; transform:translate(var(--tx),var(--ty)) rotate(var(--rot)) scale(1); }
}
.wall-celebrate-check { animation:none; }
.wall-celebrate.show .wall-celebrate-check { animation:checkBounce .58s cubic-bezier(.2,.85,.3,1.3); }
@keyframes checkBounce { 0%{transform:scale(.5) rotate(-14deg)} 68%{transform:scale(1.12) rotate(4deg)} 100%{transform:scale(1) rotate(0)} }
.wall-celebrate.show .wall-celebrate-title { animation:inkWiggle .55s ease .12s both; }
@keyframes inkWiggle { 0%{opacity:0; transform:translateY(10px) rotate(-1deg)} 100%{opacity:1; transform:translateY(0) rotate(0)} }

@media (prefers-reduced-motion: reduce) {
  .ambient-doodle, .wall-note.mission-pop, .wall-celebrate.show .wall-celebrate-check, .wall-celebrate.show .wall-celebrate-title, .confetti-piece { animation:none !important; }
}

/* v1.4 wallboard scenes */
.wall-scene{display:none;min-height:0;height:100%;animation:sceneIn .45s ease both}.wall-scene.active{display:block}.wall-scene[data-wall-scene="day"].active{display:block}.wall-scene[data-wall-scene="day"] .wall-grid{height:100%}
@keyframes sceneIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.scene-tabs{display:flex;gap:5px;padding:4px;border:1.5px solid var(--wb-ink);border-radius:999px;background:rgba(255,249,233,.78)}
.scene-tab{border:0;background:transparent;color:var(--wb-ink);font:inherit;font-size:clamp(9px,.62vw,13px);font-weight:850;padding:7px 11px;border-radius:999px;cursor:pointer}.scene-tab.active{background:var(--wb-ink);color:#fff9e9}.scene-tab:hover:not(.active){background:#f7d760}
.scene-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:clamp(14px,1.2vw,22px);padding:0 5px}.scene-heading span{display:block;color:var(--wb-orange);font-family:var(--wb-hand);font-size:clamp(12px,.82vw,17px)}.scene-heading strong{display:block;font-size:clamp(34px,3vw,58px);line-height:1;font-weight:950;letter-spacing:-.045em}.scene-note{font-family:var(--wb-hand);font-size:clamp(12px,.9vw,18px);color:var(--wb-blue);transform:rotate(-1deg)}
.wall-month-weekdays,.wall-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(5px,.5vw,10px)}.wall-month-weekdays{margin-bottom:7px}.wall-month-weekdays span{font-size:clamp(9px,.58vw,12px);font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:var(--wb-muted);padding:0 8px}.wall-month-day{height:clamp(82px,7.5vh,138px);border:1.8px solid var(--wb-ink);border-radius:12px 16px 13px 15px;background:rgba(255,249,233,.88);padding:clamp(6px,.5vw,10px);overflow:hidden;position:relative;box-shadow:3px 4px 0 rgba(23,43,58,.06)}.wall-month-day.outside{opacity:.28}.wall-month-day.today{background:#fff1a9;box-shadow:4px 5px 0 rgba(23,43,58,.09);transform:rotate(-.35deg)}.wall-month-number{font-weight:950;font-size:clamp(14px,1.05vw,22px);line-height:1}.wall-month-events{display:grid;gap:3px;margin-top:5px}.wall-month-event{font-size:clamp(8px,.55vw,12px);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--wb-ink);padding:3px 5px;border-radius:7px;background:rgba(43,120,185,.11);border-left:3px solid var(--wb-blue)}.wall-month-more{font-size:clamp(8px,.5vw,11px);color:var(--wb-muted);padding-left:4px}
.wall-news-stage{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1.42fr);gap:clamp(12px,1.15vw,24px);height:calc(100% - 135px);min-height:0}.wall-news-feature-wrap{min-width:0;min-height:0}.wall-news-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:clamp(9px,.75vw,15px);min-width:0;min-height:0}.wall-news-card{display:flex;flex-direction:column;position:relative;overflow:hidden;border:2.2px solid var(--wb-ink);border-radius:22px 29px 20px 27px;background:#fff9e9;color:var(--wb-ink);padding:clamp(16px,1.25vw,26px);text-decoration:none;box-shadow:6px 7px 0 rgba(23,43,58,.08);transition:transform .18s ease,box-shadow .18s ease}.wall-news-card:hover{transform:translateY(-3px) rotate(-.15deg);box-shadow:8px 10px 0 rgba(23,43,58,.11)}.wall-news-feature{height:100%;background:linear-gradient(145deg,#ffe89c,#fff9e9);transform:rotate(-.18deg);padding:clamp(22px,1.7vw,34px)}.wall-news-brief{min-height:0;border-radius:17px 22px 18px 20px;padding:clamp(12px,.9vw,18px)}.wall-news-brief:nth-child(3n+1){background:linear-gradient(145deg,#d8eaf8,#fff9e9);transform:rotate(.12deg)}.wall-news-brief:nth-child(3n+2){background:linear-gradient(145deg,#e5f0da,#fff9e9);transform:rotate(-.14deg)}.wall-news-brief:nth-child(3n){background:linear-gradient(145deg,#f7dfd2,#fff9e9);transform:rotate(.1deg)}.wall-news-brand{font-size:clamp(10px,.64vw,13px);font-weight:950;letter-spacing:.14em;color:#c62828}.wall-news-time{font-family:var(--wb-hand);color:var(--wb-muted);font-size:clamp(9px,.58vw,13px)}.wall-news-feature .wall-news-time{margin-top:7px}.wall-news-title{font-size:clamp(26px,2.1vw,43px);font-weight:950;letter-spacing:-.035em;line-height:1.04;margin-top:auto}.wall-news-brief .wall-news-title{font-size:clamp(15px,1.05vw,23px);line-height:1.08;margin-top:8px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.wall-news-brief-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.wall-news-number{font-family:var(--wb-hand);font-size:clamp(14px,.9vw,19px);font-weight:900;color:var(--wb-blue)}.wall-news-desc{font-size:clamp(10px,.72vw,15px);line-height:1.4;color:var(--wb-muted);margin-top:12px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.news-ticker{height:48px;margin-top:12px;border:2px solid var(--wb-ink);border-radius:999px;background:#172b3a;color:#fff9e9;display:flex;align-items:center;overflow:hidden;white-space:nowrap}.news-ticker-track{display:inline-flex;gap:42px;min-width:max-content;animation:tickerMove 55s linear infinite;padding-left:100%}.news-ticker a{color:inherit;text-decoration:none;font-size:clamp(11px,.75vw,16px);font-weight:800}.news-ticker a:before{content:'✦';color:#f3c54b;margin-right:12px}@keyframes tickerMove{to{transform:translateX(-100%)}}

.ambient-stage{height:100%;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(25px,3vw,60px);align-items:stretch}.ambient-art{position:relative;overflow:hidden;border:3px solid var(--wb-ink);border-radius:34px 46px 31px 41px;background:linear-gradient(#8bc3e9 0 55%,#f5ca65 55% 58%,#e7b65f 58%);box-shadow:10px 12px 0 rgba(23,43,58,.11)}.ambient-sun{position:absolute;width:clamp(100px,10vw,190px);height:clamp(100px,10vw,190px);border:3px solid var(--wb-ink);border-radius:50%;right:11%;top:10%;background:#fff1a6;box-shadow:0 0 0 22px rgba(255,241,166,.18);animation:sunPulse 8s ease-in-out infinite alternate}.ambient-hill{position:absolute;left:-8%;right:-8%;bottom:-27%;height:58%;border:3px solid var(--wb-ink);border-radius:50% 50% 0 0}.hill-a{background:#769a64;transform:rotate(5deg);left:-15%;right:28%;bottom:-22%}.hill-b{background:#456c59;transform:rotate(-4deg);left:31%;right:-18%;bottom:-25%}.ambient-paper-note{position:absolute;left:8%;top:11%;width:clamp(220px,19vw,390px);padding:clamp(16px,1.2vw,24px);background:#fff9e9;border:2px solid var(--wb-ink);box-shadow:6px 7px 0 rgba(23,43,58,.1);font-family:var(--wb-hand);font-size:clamp(16px,1.2vw,25px);transform:rotate(-2deg);z-index:2}.ambient-paper-note:before{content:'';position:absolute;left:28%;top:-11px;width:80px;height:22px;background:rgba(243,197,75,.62);transform:rotate(2deg)}.ambient-plane{position:absolute;left:18%;top:42%;font-size:clamp(30px,3vw,58px);color:#fff9e9;text-shadow:2px 2px 0 var(--wb-ink);animation:planeDrift 15s ease-in-out infinite alternate}.ambient-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(18px,2vw,35px)}.ambient-eyebrow{font-family:var(--wb-hand);color:var(--wb-orange);font-size:clamp(15px,1vw,22px)}.ambient-big-time{font-size:clamp(76px,8vw,160px);font-weight:950;letter-spacing:-.075em;line-height:.9;margin-top:12px}.ambient-date{font-size:clamp(20px,1.55vw,32px);font-weight:750;margin-top:20px}.ambient-next,.ambient-whatsapp{margin-top:clamp(18px,2vw,35px);padding:clamp(14px,1.1vw,21px);border:2px solid var(--wb-ink);border-radius:17px 23px 18px 21px;background:#fff9e9;box-shadow:5px 6px 0 rgba(23,43,58,.08);font-size:clamp(16px,1.15vw,24px);font-weight:820}.ambient-whatsapp{margin-top:12px;background:#dcf8c6}.ambient-whatsapp.not-connected{opacity:.55;background:#eee6d3;font-family:var(--wb-hand)}@keyframes sunPulse{to{transform:scale(1.05);box-shadow:0 0 0 34px rgba(255,241,166,.11)}}@keyframes planeDrift{to{transform:translate(38vw,-12vh) rotate(8deg)}}
@media (max-width:1500px){.wall-news-stage{grid-template-columns:minmax(0,.95fr) minmax(0,1.45fr)}.wall-news-list{gap:8px}.wall-news-brief{padding:10px}.wall-news-brief .wall-news-title{font-size:clamp(14px,1vw,19px);-webkit-line-clamp:3}.ambient-stage{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion:reduce){.wall-scene,.news-ticker-track,.ambient-sun,.ambient-plane{animation:none!important}}

/* v1.4 varied completion moments */
.wall-celebrate[data-style="stamp"] .wall-celebrate-card{transform:rotate(-2.2deg) scale(.96);background:#fff0b8}.wall-celebrate.show[data-style="stamp"] .wall-celebrate-card{transform:rotate(-2.2deg) scale(1)}.wall-celebrate[data-style="stamp"] .wall-celebrate-title{text-transform:uppercase;letter-spacing:.03em}.wall-celebrate[data-style="stamp"] .wall-celebrate-check{border-radius:18px;transform:rotate(-6deg);background:#d95d62}
.wall-celebrate[data-style="burst"] .wall-celebrate-card{background:#dff0d5}.wall-celebrate[data-style="burst"] .wall-celebrate-check{background:#f3c54b;color:var(--wb-ink);border-radius:50% 42% 48% 44%}.wall-celebrate[data-style="spark"] .wall-celebrate-card{background:#dbeaf6}.wall-celebrate[data-style="spark"] .wall-celebrate-check{background:#2b78b9}
.wall-message-pop{position:fixed;right:clamp(28px,3vw,60px);top:clamp(28px,3vw,58px);z-index:65;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;width:min(470px,38vw);padding:17px 20px;background:#dcf8c6;border:2.5px solid var(--wb-ink);border-radius:18px 25px 19px 23px;box-shadow:8px 9px 0 rgba(23,43,58,.13);opacity:0;pointer-events:none;transform:translateY(-18px) rotate(1deg);transition:.28s ease}.wall-message-pop.show{opacity:1;transform:translateY(0) rotate(1deg)}.wall-message-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:white;border:2px solid var(--wb-ink);font-weight:950;font-size:22px}.wall-message-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#52705a;font-weight:900}.wall-message-name{font-size:20px;font-weight:950;color:var(--wb-ink);margin-top:2px}.wall-message-preview{font-size:13px;color:#5f6e61;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}


/* v1.5 — wallboard navigation, calendar controls, resilient news and playful ambient */
.wall-head{position:relative;z-index:20}.wall-head-actions{position:relative;z-index:65}.scene-tabs{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:80;box-shadow:5px 6px 0 rgba(23,43,58,.10);backdrop-filter:blur(10px)}
.scene-tab{min-width:68px}.wall-scene{position:relative;z-index:2}.month-scene-heading,.news-scene-heading{align-items:center}.month-scene-actions{display:flex;gap:8px;align-items:center}.month-scene-actions button,.news-retry{border:1.8px solid var(--wb-ink);background:#fff9e9;color:var(--wb-ink);border-radius:999px;padding:8px 13px;font:inherit;font-size:clamp(10px,.65vw,14px);font-weight:900;cursor:pointer;box-shadow:2px 3px 0 rgba(23,43,58,.08)}.month-scene-actions button:hover,.news-retry:hover{background:#f7d760;transform:translateY(-1px)}.news-retry:disabled{opacity:.5;cursor:wait}.news-unavailable{grid-column:1/-1;align-self:center;justify-self:center;text-align:center;border:2px dashed rgba(23,43,58,.28);border-radius:20px;padding:28px 34px;background:#fff9e9;display:grid;gap:7px}.news-unavailable strong{font-size:clamp(24px,2vw,38px);color:var(--wb-ink)}

.ambient-cloud{position:absolute;width:130px;height:38px;border:2.5px solid var(--wb-ink);border-radius:999px;background:#fff9e9;opacity:.9;z-index:1;animation:cloudDrift 24s linear infinite}.ambient-cloud:before,.ambient-cloud:after{content:'';position:absolute;background:#fff9e9;border:2.5px solid var(--wb-ink);border-bottom:0;border-radius:50% 50% 0 0}.ambient-cloud:before{width:54px;height:36px;left:20px;top:-25px}.ambient-cloud:after{width:42px;height:28px;right:18px;top:-18px}.cloud-a{top:22%;left:-12%;animation-duration:30s}.cloud-b{top:10%;left:38%;transform:scale(.72);animation-duration:38s;animation-delay:-18s}.cloud-c{top:33%;left:72%;transform:scale(.55);animation-duration:28s;animation-delay:-9s}.ambient-birds{position:absolute;top:18%;left:63%;font-family:var(--wb-hand);font-size:clamp(26px,2.2vw,45px);color:var(--wb-ink);animation:birdsBob 5s ease-in-out infinite alternate;z-index:2}.ambient-kite{position:absolute;right:11%;top:42%;font-size:clamp(40px,4vw,78px);color:#ef7a3a;text-shadow:2px 2px 0 var(--wb-ink);z-index:3;animation:kiteFloat 4.8s ease-in-out infinite alternate}.ambient-kite span{display:block;position:absolute;width:2px;height:120px;background:repeating-linear-gradient(to bottom,var(--wb-ink) 0 8px,transparent 8px 15px);left:50%;top:75%;transform:rotate(12deg);transform-origin:top}.ambient-polaroid{position:absolute;width:clamp(105px,9vw,175px);padding:9px 9px 18px;background:#fff9e9;border:2px solid var(--wb-ink);box-shadow:6px 7px 0 rgba(23,43,58,.1);z-index:4;text-align:center}.ambient-polaroid small{font-family:var(--wb-hand);font-size:clamp(12px,.8vw,16px);color:var(--wb-ink)}.polaroid-a{right:6%;bottom:9%;transform:rotate(5deg);animation:polaroidA 7s ease-in-out infinite alternate}.polaroid-b{left:7%;bottom:8%;transform:rotate(-6deg);animation:polaroidB 8s ease-in-out infinite alternate}.mini-art{height:clamp(66px,6vw,115px);margin-bottom:8px;border:1.5px solid var(--wb-ink);overflow:hidden}.mini-art-sun{background:radial-gradient(circle at 68% 30%,#fff1a6 0 18%,transparent 19%),linear-gradient(#8bc3e9 0 58%,#78a46e 59%)}.mini-art-wave{background:repeating-radial-gradient(ellipse at 50% 120%,#2b78b9 0 10px,#d8eaf8 11px 20px,#fff9e9 21px 28px)}.ambient-sparkles{position:absolute;inset:0;pointer-events:none;z-index:5}.ambient-sparkles i{position:absolute;font-style:normal;color:#f3c54b;text-shadow:1px 1px 0 var(--wb-ink);animation:sparkle 2.8s ease-in-out infinite}.ambient-sparkles i:nth-child(1){left:42%;top:16%;font-size:34px}.ambient-sparkles i:nth-child(2){right:23%;top:31%;font-size:27px;animation-delay:-1s}.ambient-sparkles i:nth-child(3){left:28%;top:48%;font-size:22px;animation-delay:-1.8s}.ambient-sparkles i:nth-child(4){right:43%;bottom:20%;font-size:40px;animation-delay:-.6s}@keyframes cloudDrift{from{translate:-10vw 0}to{translate:112vw 0}}@keyframes birdsBob{to{transform:translate(20px,-12px) rotate(2deg)}}@keyframes kiteFloat{to{transform:translate(-18px,-20px) rotate(9deg)}}@keyframes polaroidA{to{transform:rotate(2deg) translateY(-12px)}}@keyframes polaroidB{to{transform:rotate(-3deg) translateY(-9px)}}@keyframes sparkle{0%,100%{opacity:.25;transform:scale(.75) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(20deg)}}
@media (max-width:1500px){.scene-tabs{display:flex;top:10px}.scene-tab{min-width:54px;padding:6px 8px;font-size:10px}.wall-head{padding-top:30px}.wall-news-stage{grid-template-columns:minmax(0,.95fr) minmax(0,1.45fr)}.wall-news-list{gap:8px}.wall-news-brief{padding:10px}.wall-news-brief .wall-news-title{font-size:clamp(14px,1vw,19px);-webkit-line-clamp:3}.ambient-stage{grid-template-columns:1fr 1fr}.scene-heading{padding-top:18px}}
@media (prefers-reduced-motion:reduce){.ambient-cloud,.ambient-birds,.ambient-kite,.ambient-polaroid,.ambient-sparkles i{animation:none!important}}


/* v1.7 — true multi-feed news board */
.wall-news-stage{display:block;height:calc(100% - 135px);min-height:0;overflow:hidden}
.wall-news-multigrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(12px,1vw,20px);height:calc(100% - 34px);min-height:0}
.wall-news-tile{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;border:2.2px solid var(--wb-ink);border-radius:20px 25px 19px 24px;padding:clamp(16px,1.1vw,24px);background:#fff9e9;color:var(--wb-ink);text-decoration:none;box-shadow:5px 6px 0 rgba(23,43,58,.08);transition:transform .18s ease,box-shadow .18s ease}
.wall-news-tile:hover{transform:translateY(-3px) rotate(-.12deg);box-shadow:7px 9px 0 rgba(23,43,58,.12)}
.wall-news-tile-1,.wall-news-tile-5{background:linear-gradient(145deg,#ffe69a,#fff9e9)}
.wall-news-tile-2,.wall-news-tile-6{background:linear-gradient(145deg,#d9ebf8,#fff9e9)}
.wall-news-tile-3,.wall-news-tile-7{background:linear-gradient(145deg,#e3f0d8,#fff9e9)}
.wall-news-tile-4,.wall-news-tile-8{background:linear-gradient(145deg,#f5ddd2,#fff9e9)}
.wall-news-tile-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.wall-news-section{display:inline-flex;align-items:center;padding:5px 9px;border:1.7px solid var(--wb-ink);border-radius:999px;background:rgba(255,255,255,.55);font-family:var(--wb-hand);font-size:clamp(11px,.72vw,15px);font-weight:950;line-height:1}
.wall-news-tile-title{margin-top:auto;font-size:clamp(18px,1.35vw,29px);font-weight:950;letter-spacing:-.03em;line-height:1.06;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.wall-news-source{margin-top:10px;font-size:clamp(9px,.58vw,12px);font-weight:900;letter-spacing:.12em;color:#c62828}
.wall-news-feedline{height:28px;display:flex;align-items:flex-end;font-family:var(--wb-hand);font-size:clamp(10px,.7vw,14px);color:var(--wb-muted);padding-left:4px}
@media(max-width:1500px){.wall-news-multigrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.wall-news-tile{padding:12px}.wall-news-tile-title{font-size:clamp(15px,1.15vw,21px);-webkit-line-clamp:4}.wall-news-section{font-size:10px;padding:4px 7px}}


/* v1.8 — wallboard News now mirrors dashboard News */
.wall-news-stage{display:block;height:calc(100% - 120px);min-height:0;overflow:auto;padding-right:4px}.wall-news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1vw,18px);padding-bottom:12px}.wall-news-card{position:relative;display:flex;flex-direction:column;min-height:clamp(150px,17vh,235px);padding:clamp(17px,1.25vw,26px);border:2px solid var(--wb-ink);border-radius:22px 28px 20px 25px;background:linear-gradient(145deg,#fffdf4,#fff2c8);color:var(--wb-ink);box-shadow:5px 6px 0 rgba(23,43,58,.08);font:inherit;text-align:left;cursor:pointer;transition:.18s ease}.wall-news-card:nth-child(4n+2){background:linear-gradient(145deg,#e7f2fb,#fffdf4)}.wall-news-card:nth-child(4n+3){background:linear-gradient(145deg,#e7f0df,#fffdf4)}.wall-news-card:nth-child(4n+4){background:linear-gradient(145deg,#f7e2d8,#fffdf4)}.wall-news-card:hover{transform:translateY(-3px);box-shadow:7px 9px 0 rgba(23,43,58,.11)}.wall-news-time{font-size:clamp(10px,.65vw,14px);color:var(--wb-muted);margin-bottom:10px}.wall-news-title{font-family:Georgia, "Times New Roman", serif;font-size:clamp(20px,1.55vw,32px);font-weight:800;line-height:1.08;letter-spacing:-.025em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.wall-news-desc{font-size:clamp(11px,.75vw,15px);line-height:1.45;color:var(--wb-muted);margin-top:auto;padding-top:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.wall-news-read{margin-top:10px;font-family:var(--wb-hand);font-size:clamp(11px,.72vw,15px);font-weight:900;color:#cf5b32}.news-ticker button{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:0}.wall-news-reader-backdrop{position:fixed;inset:0;z-index:110;background:rgba(23,43,58,.38);backdrop-filter:blur(12px);opacity:0;pointer-events:none;transition:.22s ease}.wall-news-reader-backdrop.open{opacity:1;pointer-events:auto}.wall-news-reader{position:fixed;z-index:120;left:50%;top:50%;width:min(1050px,82vw);max-height:82vh;overflow:auto;transform:translate(-50%,-47%) scale(.98);opacity:0;pointer-events:none;background:#fff9e9;border:3px solid var(--wb-ink);border-radius:30px 38px 31px 35px;padding:clamp(36px,4vw,70px);box-shadow:16px 18px 0 rgba(23,43,58,.15);transition:.24s ease}.wall-news-reader.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.wall-news-reader-close{position:absolute;right:24px;top:20px;width:54px;height:54px;border:2px solid var(--wb-ink);border-radius:50%;background:#fffdf4;color:var(--wb-ink);font:inherit;font-size:34px;cursor:pointer}.wall-news-reader-kicker{font-size:clamp(11px,.72vw,15px);font-weight:950;letter-spacing:.14em;text-transform:uppercase;color:#c62828}.wall-news-reader h2{font-family:Georgia, "Times New Roman", serif;font-size:clamp(38px,4vw,68px);line-height:1.02;letter-spacing:-.035em;margin:16px 70px 12px 0}.wall-news-reader-meta{color:var(--wb-muted);font-size:clamp(12px,.8vw,16px);margin-bottom:26px}.wall-news-reader-body{border-top:2px solid rgba(23,43,58,.14);padding:28px 0 34px;font-size:clamp(18px,1.3vw,25px);line-height:1.65;white-space:pre-wrap}.wall-news-reader-original{display:inline-flex;padding:12px 18px;border:2px solid var(--wb-ink);border-radius:999px;background:#f7d760;color:var(--wb-ink);font-weight:950;text-decoration:none;box-shadow:3px 4px 0 rgba(23,43,58,.12)}
@media(max-width:1500px){.wall-news-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.wall-news-card{min-height:150px;padding:13px}.wall-news-title{font-size:clamp(17px,1.25vw,23px)}.wall-news-desc{font-size:11px}}

.news-ticker button:before{content:'✦';color:#f3c54b;margin-right:12px}.news-ticker button{font-size:clamp(11px,.75vw,16px);font-weight:800}
