

/* v50: keep the 無添加 headline fully visible */
.side-left .side-poster-frame::before{
  min-height:11%;
  padding:.5% 2% 0;
  font-size:clamp(13px,1.35vw,22px);
}


/* v49: borderless side posters + localized Taiwanese copy */
.side-poster-frame::after{
  content:""!important;
  position:absolute;
  inset:0;
  z-index:4;
  display:block!important;
  pointer-events:none;
  box-shadow:inset 0 0 0 3px var(--ink-blue);
  background:linear-gradient(var(--ink-blue),var(--ink-blue)) center 4.1% / 100% .7% no-repeat;
}
.side-left .side-poster-frame::before{
  content:"不加有的沒的\A毛孩吃得安心又涮嘴"!important;
  position:absolute;
  z-index:5;
  left:10%;
  bottom:4.5%;
  width:80%;
  min-height:16%;
  padding:1.2% 2% 0;
  box-sizing:border-box;
  display:flex!important;
  align-items:center;
  justify-content:center;
  background:var(--ink-blue);
  color:var(--ink-yellow);
  font-family:"PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif;
  font-size:clamp(14px,1.55vw,24px);
  font-weight:800;
  line-height:1.45;
  letter-spacing:.035em;
  text-align:center;
  white-space:pre-line;
}
@font-face{font-family:SpaceMono Bold;src:url(./_nuxt/fonts/6202525.ttf)}
@font-face{font-family:SpaceMono BoldItalic;src:url(./_nuxt/fonts/599d113.ttf)}
@font-face{font-family:SpaceMono Italic;src:url(./_nuxt/fonts/2ae5486.ttf)}
@font-face{font-family:SpaceMono Regular;src:url(./_nuxt/fonts/49a79d6.ttf)}
@font-face{font-family:Andale Mono;src:url(./_nuxt/fonts/9faaf13.ttf)}
@font-face{font-family:Dominion Italic;src:url(./_nuxt/fonts/bf3afe6.ttf)}
@font-face{font-family:Dominion Regular;src:url(./_nuxt/fonts/2cc84b8.ttf)}

:root{
  --ink-blue:#1a42c2;
  --ink-yellow:#f7dc50;
  --ink-red:#c41230;
  --ink-deep:#011c91;
  --center-w:414px;
  --chat-media-width:86%;
  --chat-media-gutter:14%;
  --chat-photo-max:143px; /* customer-dog 286/2 — DPR2 safe; no higher-res source in repo */
  --scroll-y:0;
  --parallax:0;
  /* Classic IBM posters — DPR2 ceilings (side-dog-*-v3 source/2) */
  --side-poster-max-left:317px;
  --side-poster-max-right:313px;
  --side-pad-y:max(16px,clamp(16px,3.5vh,48px));
  --side-pad-x:max(16px,clamp(16px,2.8vw,48px));
  --product-max:511px; /* retained from PR #34 for any residual refs */
}

html{
  background:var(--ink-blue);
  font-family:SpaceMono Regular,Andale Mono,monospace;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
  box-sizing:border-box;
  overflow-x:hidden;
  /* body is the only scroll container — do not scroll html independently */
  overflow-y:visible;
  height:auto;
}
*,:after,:before{box-sizing:border-box;margin:0}
body{
  background:var(--ink-blue);
  color:#fff;
  min-height:100%;
  overflow-x:clip;
  /* Keep window as the only scroll container so position:sticky can track it. */
  overflow-y:visible;
  max-width:100%;
  /* unique document scroll */
  overscroll-behavior-y:auto;
}
a{color:inherit}
a.button,button{background:unset;border:0;cursor:pointer;font:inherit}
img,video{max-width:100%;height:auto;display:block}

.page-ready #SitePreloader{display:none}
#SitePreloader{background:#000;position:fixed;height:100%;width:100%;display:flex;align-items:center;justify-content:center;top:0;z-index:99}
#SitePreloader .gradient-background{background:linear-gradient(180deg,#18a7e5,#18a7e5 35%,#ff0400 60.5%,#ffc800 0,#ffc800);width:300%;height:300%;transition:all 1.5s;opacity:0;transform-origin:center center;position:absolute}
#SitePreloader .gradient-background.rotate{opacity:1;transform:rotate(180deg);transition-timing-function:ease-out}
#SitePreloader .loader-inner{background:#000;width:calc(100% - 22px);height:calc(100% - 22px);position:absolute;z-index:9;text-transform:uppercase;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#fff}
#SitePreloader .loader-inner .content-wrapper{text-align:center;width:70vw;max-width:100%}
#SitePreloader .loader-inner .content-wrapper h1,
#SitePreloader .loader-inner .content-wrapper h2,
#SitePreloader .loader-inner .content-wrapper h3{font-family:Andale Mono;line-height:1.75rem;font-size:1.5rem}
#SitePreloader .loader-inner .content-wrapper h1{color:#ff0400}
#SitePreloader .loader-inner .content-wrapper button.enter{margin-top:2rem;border:0;background:#fff;color:#000;padding:.85rem 1.5rem;text-transform:uppercase;font-family:Andale Mono,monospace;font-size:1rem;width:100%;max-width:280px}
#SitePreloader .loader-inner .content-wrapper button.enter:hover{background:#f7dc50;color:#ff4d4d}
#SitePreloader .loader-inner .content-wrapper button.enter:focus-visible{outline:3px solid #f9d844;outline-offset:4px}
#SitePreloader.is-exiting{pointer-events:auto}

/* Kill abandoned v13/v14/v15 CRT architectures */
.desktop-master,
.desktop-master-img,
.center-flow,
.center-spacer,
.mobile-hero-flow,
.master-hero-stage,
.master-hero-img,
.master-hero-img--desktop,
.master-hero-mobile,
.reference-shell,
.master-side,
.master-crop-img,
.center-rail,
.center-hero-window,
.chat-rail,
.columns.is-gapless .desktop-column,
.mobile-text,
.c2a-line-hero,
.interactive-hero,
.crt-frame,
.crt-bezel,
.crt-screen,
.crt-stand,
.side-dog,
.side-dog-body,
.side-dog-head-layer,
.side-dog-head,
.crt-scanlines,
.crt-noise,
.crt-flicker,
.hero-atmosphere,
.hero-sky,
.hero-perspective-grid,
.hero-copy,
.hero-product-stage,
.hero-product-float,
.hero-product,
.hero-hand,
.hero-feature{
  display:none!important;
  height:0!important;
  width:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  pointer-events:none!important;
  position:static!important;
}

/* ========== Shell (PR #34 geometry retained) ========== */
.site-mirror{width:100%;min-height:100%}
.experience-shell{
  position:relative;
  width:100%;
  min-height:100svh;
  margin:0;
  padding:0;
  background:transparent;
}

/* Center column — ONLY document-flow content; always precisely centered */
.center-column{
  position:relative;
  z-index:2;
  width:var(--center-w);
  max-width:100%;
  margin:0 auto;
  padding:0;
  background:var(--ink-yellow);
  display:flex;
  flex-direction:column;
  gap:0;
  /* never independent scroll */
  overflow:visible;
}

/*
  Fixed side panels — each half of remaining viewport beside 414 center.
  width: calc(50% - center/2) avoids 100vw scrollbar overlap/seam.
*/
.side-panel{
  position:fixed;
  top:0;
  height:100svh;
  width:calc(50% - (var(--center-w) / 2));
  max-width:calc(50% - (var(--center-w) / 2));
  z-index:1;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  overflow:hidden;
  pointer-events:none;
  box-sizing:border-box;
  padding-block:var(--side-pad-y);
  padding-inline:var(--side-pad-x);
  /* continuous blue — matches classic IBM poster wall */
  background:var(--ink-blue);
  border:0!important;
  outline:none!important;
  box-shadow:none!important;
}
.side-left{left:0;right:auto}
.side-right{right:0;left:auto}
.side-burst{
  position:absolute;
  z-index:3;
  top:39%;
  width:clamp(38px,5.8vw,76px);
  aspect-ratio:1;
  display:block;
  transform:translateY(-50%);
  background:#ffd75c;
  filter:drop-shadow(0 1px 0 rgba(0,0,0,.08));
}
.side-left .side-burst{left:clamp(18px,7.5%,72px)}
.side-right .side-burst{right:clamp(18px,7.5%,72px)}
.side-burst-round{
  clip-path:polygon(50% 0,56% 12%,65% 3%,68% 16%,80% 9%,79% 22%,93% 19%,87% 32%,100% 35%,89% 44%,100% 50%,88% 56%,98% 65%,85% 68%,91% 81%,77% 78%,78% 93%,65% 86%,61% 100%,52% 88%,44% 100%,39% 87%,27% 96%,26% 81%,12% 86%,17% 72%,3% 70%,13% 59%,0 52%,13% 45%,1% 37%,15% 32%,8% 19%,22% 22%,22% 8%,35% 16%,40% 2%);
}
.side-burst-sharp{
  clip-path:polygon(50% 0,57% 35%,72% 10%,68% 40%,96% 25%,74% 46%,100% 50%,74% 55%,94% 77%,67% 62%,72% 94%,56% 66%,49% 100%,43% 65%,25% 94%,33% 61%,4% 76%,27% 55%,0 49%,28% 44%,7% 23%,35% 38%);
}
.side-panel::before,
.side-panel::after{
  content:none!important;
  display:none!important;
  border:0!important;
  outline:none!important;
  box-shadow:none!important;
}

/* Classic IBM side posters — full CRT+keyboard via contain; no fade / crop */
.side-poster-wrap{
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  height:100%;
  max-height:calc(100svh - 2 * var(--side-pad-y));
  margin:0;
  padding:0;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  overflow:visible;
  transform:translate3d(0, calc(var(--parallax) * var(--side-dir, 1) * 1px), 0);
  will-change:transform;
  line-height:0;
  border:0!important;
  outline:none!important;
  box-shadow:none!important;
  background:transparent;
}
.side-poster-frame{
  position:relative;
  display:block;
  width:auto;
  max-width:100%;
  max-height:100%;
  margin:0;
  padding:0;
  line-height:0;
}
.side-left .side-poster-frame{max-width:min(100%, var(--side-poster-max-left))}
.side-right .side-poster-frame{max-width:min(100%, var(--side-poster-max-right))}
.side-copy-fix{display:none!important}
.side-poster-wrap::before,
.side-poster-wrap::after{
  content:none!important;
  display:none!important;
  border:0!important;
  outline:none!important;
  box-shadow:none!important;
}
.side-left .side-poster-wrap{--side-dir:1}
.side-right .side-poster-wrap{--side-dir:-1}
.side-poster{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  margin:0;
  padding:0;
  line-height:0;
  background:transparent;
  border:0!important;
  outline:none!important;
  box-shadow:none!important;
}
.side-poster::before,
.side-poster::after{
  content:none!important;
  display:none!important;
  border:0!important;
  outline:none!important;
  box-shadow:none!important;
}
.side-left .side-poster{max-width:min(100%, var(--side-poster-max-left))}
.side-right .side-poster{max-width:min(100%, var(--side-poster-max-right))}
.side-poster-img{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:calc(100svh - 2 * var(--side-pad-y));
  object-fit:contain;
  object-position:top center;
  margin:0 auto;
  background:var(--ink-blue);
  border:0!important;
  border-radius:0;
  outline:none!important;
  box-shadow:none!important;
  image-rendering:auto;
  -webkit-mask-image:none;
  mask-image:none;
  -webkit-mask-composite:unset;
  mask-composite:unset;
  clip-path:none;
  opacity:1;
  filter:none;
}
.side-poster-img::before,
.side-poster-img::after{
  content:none!important;
  display:none!important;
  border:0!important;
  outline:none!important;
  box-shadow:none!important;
}
.side-left .side-poster-img{aspect-ratio:634 / 1360}
.side-right .side-poster-img{aspect-ratio:627 / 1360}

/* ========== Scroll printer hero ========== */
.print-lab{
  --print-progress:0;
  position:relative;
  width:100%;
  height:285svh;
  min-height:1950px;
  margin:0;
  padding:0;
  background:#0758e7;
  flex:0 0 auto;
}
.print-lab-sticky{
  position:sticky;
  top:0;
  width:100%;
  height:auto;
  min-height:680px;
  overflow:hidden;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  background:#0758e7;
}
.print-lab-stage{
  position:relative;
  width:100%;
  aspect-ratio:941 / 2250;
  overflow:hidden;
  isolation:isolate;
  background:#0758e7;
}
.print-lab-stage::before,
.print-lab-stage::after{
  content:"";
  position:absolute;
  inset:0 0 auto;
  aspect-ratio:941 / 1671;
  z-index:2;
  pointer-events:none;
  background-color:#0758e7;
  background-image:url("./images/hero-factory-printer-front-v14-828.webp");
  background-position:center 3.2%;
  background-size:100% 100%;
  background-repeat:no-repeat;
}
.print-lab-stage::before{clip-path:polygon(0 75%,27% 75%,27% 100%,0 100%)}
.print-lab-stage::after{clip-path:polygon(73% 75%,100% 75%,100% 100%,73% 100%)}
.print-lab-machine-picture,
.print-lab-machine{
  position:absolute;
  inset:0;
  z-index:1;
  display:block;
  width:100%;
  height:auto;
}
.print-lab-machine{
  object-fit:contain;
  image-rendering:auto;
}
.process-label{
  position:absolute;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  color:#111;
  background:#fff;
  border:1.5px solid #111;
  border-radius:4px;
  font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;
  font-size:clamp(6px,1.7vw,8px);
  font-weight:900;
  line-height:1;
  white-space:nowrap;
  pointer-events:none;
}
.process-label-one{left:10.55%;top:20.9%;width:11.75%;height:1.55%}
.print-hero-title{
  position:absolute;
  z-index:5;
  left:0;
  top:1.9%;
  width:100%;
  margin:0;
  color:#8d160d;
  font-family:"PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif;
  font-size:clamp(45px,12.2vw,56px);
  font-weight:900;
  line-height:1;
  letter-spacing:.055em;
  text-align:center;
  white-space:nowrap;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:geometricPrecision;
}
.print-status{
  position:absolute;
  z-index:6;
  left:50%;
  top:50.85%;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:7px;
  padding:5px 9px;
  border:1px solid rgba(255,216,70,.78);
  background:#061d56;
  color:#ffdc46;
  font:700 9px/1 "Courier New",monospace;
  letter-spacing:.09em;
  white-space:nowrap;
  box-shadow:0 2px 0 #031333;
  transition:opacity .16s ease;
}
.print-status-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#ffdc46;
  box-shadow:0 0 0 2px rgba(255,220,70,.18);
}
.print-lab.is-printing .print-status-dot{animation:printerBlink .45s steps(1,end) infinite}
.print-lab.is-printed .print-status{opacity:0}
@keyframes printerBlink{50%{background:#ff4e42;box-shadow:0 0 8px #ff4e42}}
.print-paper-window{
  position:absolute;
  z-index:3;
  left:13.8%;
  top:38.4%;
  width:72.4%;
  height:61.6%;
  overflow:hidden;
  perspective:900px;
  pointer-events:none;
  transform:none;
  opacity:1;
  filter:drop-shadow(0 8px 8px rgba(0,0,0,.28));
}
.print-paper-window::before{
  content:"";
  position:absolute;
  z-index:4;
  left:0;
  top:0;
  width:100%;
  height:7px;
  background:linear-gradient(#040914,#16223d 45%,#02040a);
  box-shadow:0 3px 4px rgba(0,0,0,.55);
}
.print-paper{
  position:relative;
  z-index:2;
  width:100%;
  min-height:96%;
  box-sizing:border-box;
  margin:0;
  padding:0;
  transform:translate3d(0,calc(-101% + (var(--print-progress) * 101%)),0) rotateX(calc((1 - var(--print-progress)) * -3deg));
  transform-origin:top center;
  background:#fffdf3;
  color:#101b32;
  font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:geometricPrecision;
  line-height:1.25;
  box-shadow:0 8px 14px rgba(0,0,0,.35);
  will-change:transform;
  pointer-events:auto;
}
.print-paper picture,
.print-paper-receipt{display:block;width:100%;height:auto}
.print-paper-head{
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:3px 8px;
  color:#fff9dc;
  background:#083895;
  border-bottom:4px solid #f24c39;
}
.print-paper-head span{font-size:9px;font-weight:800;letter-spacing:.08em}
.print-paper-head strong{font-size:16px;letter-spacing:.04em}
.print-specs{margin:2px 0;border:2px solid #123d8e}
.print-specs div{display:grid;grid-template-columns:32% 1fr;border-bottom:1px solid #123d8e}
.print-specs div:last-child{border-bottom:0}
.print-specs dt,.print-specs dd{margin:0;padding:2.5px 5px;font-size:10px}
.print-specs dt{font-weight:800;color:#fff;background:#123d8e}
.print-specs dd{font-weight:700}
.print-nutrition{margin:0 0 2px}
.print-nutrition h3{margin:0 0 2px;color:#123d8e;font-size:12px;letter-spacing:.08em}
.print-nutrition p{display:flex;justify-content:space-between;margin:0;padding:1.5px 5px;border-bottom:1px solid rgba(18,61,142,.3);font-size:10px}
.print-details{margin:2px 0;border:2px solid #123d8e}
.print-details p{display:grid;grid-template-columns:27% 1fr;margin:0;border-bottom:1px solid rgba(18,61,142,.35);font-size:8px;line-height:1.25}
.print-details p:last-child{border-bottom:0}
.print-details b,.print-details span{padding:2px 4px}
.print-details b{color:#fff;background:#123d8e}
.print-details span{font-weight:700}
.print-features{margin:2px 0;color:#07338b}
.print-features h3{margin:0 0 2px;font-size:10px;letter-spacing:.08em}
.print-features div{display:flex;flex-wrap:wrap;gap:2px}
.print-features span{padding:2px 4px;border:1px solid #123d8e;background:#f9d844;font-size:7.25px;font-weight:800}
.print-covenant{
  display:flex;
  flex-direction:column;
  gap:1px;
  margin-top:4px;
  padding:4px 8px;
  border:2px solid #123d8e;
  background:#f9d844;
  color:#07338b;
  text-align:center;
}
.print-covenant span{font-size:8px;font-weight:900;letter-spacing:.08em}
.print-covenant strong{font-size:11px;letter-spacing:.04em}
.print-note{margin:3px 0 4px;color:#4e5563;font-size:7px;text-align:center}
.print-cta{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:1px;
  padding:5px 6px;
  border:2px solid #8d150d;
  border-radius:2px;
  background:#c92718;
  color:#fff!important;
  text-decoration:none!important;
  box-shadow:0 3px 0 #74130d;
}
.print-cta strong{font-size:12px;letter-spacing:.06em}
.print-cta span{font-size:8px;letter-spacing:.04em}
.print-cta:focus-visible{outline:3px solid #f9d844;outline-offset:2px}

/* ========== Chat — immediately under hero, no gap ========== */
.chat-stream{
  position:relative;
  z-index:2;
  width:100%;
  margin:0!important;
  padding:0!important;
  background:var(--ink-yellow);
  flex:0 0 auto;
}
.chat-stream .chat{
  margin:0;
  padding:16px 1rem 3rem;
  background:var(--ink-yellow);
  width:100%;
  box-sizing:border-box;
  font-family:Helvetica Neue,Arial,sans-serif;
  display:flex;
  flex-direction:column;
}
.messages{display:flex;flex-direction:column}
.message{
  border-radius:20px;
  padding:8px 15px;
  margin-top:5px;
  margin-bottom:5px;
  display:inline-block;
}
.message:not(:last-child){margin-bottom:0}
.yours{align-items:flex-start}
.yours .message{
  color:#1d1d1d;
  margin-right:25%;
  background-color:#e5e5ea;
  position:relative;
}
.yours .message.last:before{
  content:"";position:absolute;z-index:0;bottom:0;left:-7px;height:20px;width:20px;background:#e5e5ea;border-bottom-right-radius:15px;
}
.yours .message.last:after{
  content:"";position:absolute;z-index:1;bottom:0;left:-10px;width:10px;height:20px;background:var(--ink-yellow);border-bottom-right-radius:10px;
}
.mine{align-items:flex-end}
.mine .message{
  color:#fff;margin-left:25%;background:#3861d2;position:relative;
}
.mine .message.last:before{
  content:"";position:absolute;z-index:0;bottom:0;right:-8px;height:20px;width:20px;background:#3861d2;border-bottom-left-radius:15px;
}
.mine .message.last:after{
  content:"";position:absolute;z-index:1;bottom:0;right:-10px;width:10px;height:20px;background:var(--ink-yellow);border-bottom-left-radius:10px;
}
.yours .message.has-image{
  display:inline-block!important;
  width:auto!important;
  max-width:var(--chat-media-width)!important;
  margin-right:var(--chat-media-gutter)!important;
  margin-left:0!important;
  padding:10px;
  background-color:#e5e5ea;
  border-radius:20px;
  box-sizing:border-box;
}
.yours .message.has-image .chat-bubble-photo{
  display:block;
  width:auto;
  max-width:var(--chat-photo-max); /* 286 natural → ≤143 CSS px @ DPR2 */
  height:auto;
  object-fit:contain;
  object-position:center;
  image-rendering:auto;
  border-radius:14px;
  background:#e5e5ea;
}
.yours .message.has-video{position:relative;padding:0!important;background:#e5e5ea!important;width:var(--chat-media-width)!important;max-width:var(--chat-media-width)!important}
.chat-stream .chat .chat-product-video{
  display:block;width:100%!important;max-width:100%!important;height:auto;aspect-ratio:9/16;object-fit:cover;background:#111;border:0!important;margin:0!important;border-radius:20px;pointer-events:none;
}
.chat-stream .chat .chat-product-video::-webkit-media-controls,
.chat-stream .chat .chat-product-video::-webkit-media-controls-enclosure{display:none!important}
.chat-video-play{
  position:absolute;left:50%;top:50%;z-index:2;display:none;transform:translate(-50%,-50%);padding:.72rem 1rem!important;border:2px solid #fff!important;border-radius:999px!important;background:rgba(1,28,145,.9)!important;color:#fff!important;font-weight:700!important;box-shadow:0 3px 0 rgba(0,0,0,.28);white-space:nowrap;
}
.chat-video-play.is-visible{display:block}
.message.has-link-preview{
  width:86%;
  max-width:86%;
  margin-left:14%;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(5,30,102,.18);
  border-radius:20px;
  background:#fff;
  color:#132257;
  box-shadow:0 3px 0 rgba(5,30,102,.16);
}
.message.has-link-preview.last:before{background:#fff}
.yours .message.has-link-preview{margin-left:0;margin-right:14%}
.chat-preview-card{
  display:block;
  color:#132257!important;
  text-decoration:none!important;
  background:#fff;
}
.chat-preview-image{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1022 / 1602;
  object-fit:contain;
  object-position:center;
  background:#f3f1ec;
  border-bottom:1px solid rgba(5,30,102,.12);
}
.chat-preview-body{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:12px 13px 13px;
}
.chat-preview-eyebrow{
  color:#3158c4;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
}
.chat-preview-body strong{
  color:#111b3f;
  font-size:17px;
  line-height:1.25;
}
.chat-preview-description{
  color:#5a627a;
  font-size:13px;
  line-height:1.35;
}
.chat-preview-domain{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:5px;
  padding-top:9px;
  border-top:1px solid #e6e9f2;
  color:#6a7289;
  font-size:12px;
}
.chat-preview-domain b{color:#214ac1;font-size:12px;white-space:nowrap}
.chat-video-play:focus-visible,
a.chat-preview-card:focus-visible,
a.chat-link:focus-visible{
  outline:3px solid #1a42c2;
  outline-offset:3px;
}
.yours .message a.phone-link{color:var(--ink-blue);text-decoration:underline}
.message a.chat-link{color:var(--ink-blue);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.mine .message a.chat-link-light{color:#fff}
.message a.chat-link-url{overflow-wrap:anywhere;font-size:.9em}

/* Desktop ≥769 */
@media screen and (min-width:769px){
  .side-panel{
    display:flex;
    width:calc(50% - (var(--center-w) / 2));
    max-width:calc(50% - (var(--center-w) / 2));
  }
  .center-column{
    width:var(--center-w);
    margin-inline:auto;
  }
  .print-lab{
    position:relative;
    width:100%;
  }
}

/* Mobile ≤768: hide sides, full-width center, no gap */
@media screen and (max-width:768px){
  html,body{background:var(--ink-yellow)}
  .side-panel{
    display:none!important;
    visibility:hidden!important;
    width:0!important;
    height:0!important;
  }
  .center-column{
    width:100%;
    max-width:100%;
    margin:0;
  }
  .print-lab{
    width:100%;
  }
}

/* Reduced motion — kill big motions */
@media (prefers-reduced-motion:reduce){
  .side-poster-wrap{
    transform:none!important;
  }
  .print-lab{height:auto;min-height:0}
  .print-lab-sticky{position:relative;height:auto;min-height:0}
  .print-paper{transform:none!important}
  .print-paper-window{transform:none!important;opacity:1!important;filter:none!important}
  .print-status{display:none}
}

/* classic-ibm-hero-restore 20260807 */


/* v51 final copy placement */
.side-left .side-poster-frame::before{
  min-height:11%;
  padding:.5% 2% 0;
  font-size:clamp(13px,1.35vw,22px);
}

/* Each shared photo is a separate message in the conversation. */
.yours .message.has-shared-photo{width:286px;max-width:calc(100% - 24px);margin-right:0;padding:8px;background:#e5e5ea;min-width:0}
.has-shared-photo img{display:block;width:100%;height:auto;border-radius:14px}
