/* BOF: pin -> meaning -> expression. The two supplied artworks stay uncropped. */
body.groovy-nfc-bof { --story-ink:#382215; --story-rust:#a64e29; }
.nfc-pin-intro { display:none; }
.groovy-nfc-bof #nfcMain { display:block; overflow:clip; }
.groovy-nfc-bof .nfc-story-nav {
  max-width:1060px; min-height:88px; padding:12px 24px 8px; margin:auto;
  display:flex; justify-content:center; align-items:center;
}
.groovy-nfc-bof .nfc-story-brand { display:flex; align-items:center; flex-shrink:0; text-decoration:none; }
.groovy-nfc-bof .nfc-story-brand img { display:block; width:110px; height:auto; mix-blend-mode:multiply; }
body.groovy-nfc-page.groovy-nfc-bof .nfc-story-hero {
  width:100%; max-width:1020px; margin:0 auto; padding:52px 46px 60px; border-radius:0;
  display:grid; grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr); align-items:center; gap:60px; overflow:visible;
}
.groovy-nfc-bof .nfc-hero-art { margin:0 auto; width:100%; max-width:340px; padding:9px; background:#fff6e6; border:1px solid #ceb38d90; border-radius:27px; transform:rotate(-2deg); box-shadow:0 5px 0 #d8bd9270, 0 18px 34px -22px #5b361f99; }
.groovy-nfc-bof .nfc-hero-art img { display:block; width:100%; height:auto; border-radius:19px; }
.groovy-nfc-bof .nfc-story-eyebrow { display:block; font:700 12px/1.5 'Barlow Condensed',sans-serif; letter-spacing:.16em; text-transform:uppercase; color:#856245; margin-bottom:14px; }
.groovy-nfc-bof .nfc-hero-copy h1 { margin:0; color:var(--story-ink); font:900 clamp(38px,4.7vw,57px)/1.1 'Fraunces',Georgia,serif; letter-spacing:-.05em; }
.groovy-nfc-bof .nfc-hero-copy h1 em { font:inherit; color:var(--story-rust); }
.groovy-nfc-bof .nfc-hero-copy > p { font:500 21px/1.5 'Barlow Condensed',sans-serif; color:#735239; margin:22px 0 26px; }
.groovy-nfc-bof .nfc-hero-actions { display:flex; align-items:flex-start; flex-direction:column; gap:11px; }
body.groovy-nfc-page.groovy-nfc-bof .nfc-story-cta { display:inline-flex; gap:13px; align-items:center; justify-content:center; min-height:50px; padding:13px 21px; border:1.5px solid #4b2c19; border-radius:999px; background:#f7c455; color:#382215; text-decoration:none; font:700 18px/1.2 'Barlow Condensed',sans-serif; box-shadow:0 3px 0 #6e472a; transition:background .18s,box-shadow .18s,translate .18s; }
.groovy-nfc-bof .nfc-story-cta svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.groovy-nfc-bof .nfc-story-cta:hover { background:#ffd470; box-shadow:0 4px 0 #6e472a; translate:0 -1px; }
.groovy-nfc-bof .nfc-story-cta:active { translate:0 2px; box-shadow:0 1px 0 #6e472a; }
.groovy-nfc-bof .nfc-story-skip { padding:10px 2px; min-height:44px; font:600 16px/1.3 'Barlow Condensed',sans-serif; color:#715137; text-underline-offset:4px; }
body.groovy-nfc-page.groovy-nfc-bof .nfc-story-reveal { max-width:1000px; margin:0 auto; padding:0 24px; scroll-margin-top:22px; }
body.groovy-nfc-page.groovy-nfc-bof .nfc-story-reveal .nfc-bof-bonus {
  display:grid; grid-template-columns:minmax(0,1fr) 280px; align-items:center; gap:48px;
  position:relative; isolation:isolate; padding:44px 55px; margin:0; border:1px solid #cfb58d99; border-radius:32px;
  background:linear-gradient(120deg,#fffaf0dd,#f6e8cfb8),url('/assets/groovy/cream-paper-v2.webp') center/450px;
  box-shadow:0 5px 0 #b7996425; text-align:left;
}
.groovy-nfc-bof .nfc-reveal-copy { max-width:410px; }
.groovy-nfc-bof .nfc-reveal-copy .nfc-story-eyebrow { color:#896747; }
body.groovy-nfc-page.groovy-nfc-bof .nfc-reveal-copy h2 { font:900 clamp(29px,3.4vw,40px)/1.16 'Fraunces',Georgia,serif; letter-spacing:-.04em; color:#563a25; margin:0 0 20px; max-width:none; }
.groovy-nfc-bof .nfc-reveal-copy > p { color:#795e43; font:500 21px/1.5 'Barlow Condensed',sans-serif; margin:0 0 26px; }
.groovy-nfc-bof .nfc-reveal-instruction { display:flex; align-items:center; gap:11px; max-width:280px; font:600 17px/1.4 'Barlow Condensed',sans-serif; color:#795532; }
.groovy-nfc-bof .nfc-reveal-instruction svg { width:28px; height:28px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.groovy-nfc-bof .nfc-reveal-next { display:inline-flex; align-items:center; gap:12px; margin-top:28px; min-height:44px; color:#795532; font:600 17px/1.2 'Barlow Condensed',sans-serif; text-underline-offset:5px; }
.groovy-nfc-bof .nfc-reveal-next span { text-decoration:none; }
.groovy-nfc-bof .nfc-reveal-card { text-align:center; min-width:0; }
body.groovy-nfc-page.groovy-nfc-bof .nfc-bof-flip { width:100%; max-width:280px; margin:0 auto; border-radius:18px; transform:rotate(2deg); filter:drop-shadow(5px 13px 10px #69452524); }
body.groovy-nfc-page.groovy-nfc-bof .nfc-bof-flip-core { aspect-ratio:2/3; transition:transform 1.2s cubic-bezier(.45,0,.35,1); }
body.groovy-nfc-page.groovy-nfc-bof .nfc-bof-face { border:1px solid #bda47f; border-radius:18px; box-shadow:none; }
body.groovy-nfc-page.groovy-nfc-bof .nfc-bof-photo img { object-fit:contain; object-position:center; }
body.groovy-nfc-page.groovy-nfc-bof .nfc-bof-turn { padding:10px 15px; font-size:14px; text-transform:none; letter-spacing:0; border-width:1.5px; bottom:18px; background:#ffcd62; box-shadow:0 3px 0 #563821; }
.groovy-nfc-bof .nfc-bof-turn svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
body.groovy-nfc-page.groovy-nfc-bof .nfc-bof-message { padding:20px 23px 64px; background:#fff3d8 url('/assets/groovy/cream-paper-v2.webp') center/450px; border-color:#bfa275; box-shadow:inset 0 0 0 7px #fff3d8,inset 0 0 0 8px #cdb28a; }
.groovy-nfc-bof .nfc-message-sun svg { width:66px; height:66px; fill:#f3bc47; stroke:#b27b2e; stroke-width:2; stroke-linecap:round; }
body.groovy-nfc-page.groovy-nfc-bof .nfc-bof-message-quote { font:500 22px/1.45 'Barlow Condensed',sans-serif; color:#64462c; }
.groovy-nfc-bof .nfc-bof-message-quote strong { display:block; font:900 25px/1.25 'Fraunces',Georgia,serif; letter-spacing:-.035em; color:#49311f; margin-top:12px; }
.groovy-nfc-bof .nfc-message-return { position:absolute; bottom:47px; font:500 12px/1.4 'Barlow Condensed',sans-serif; color:#816449; }
body.groovy-nfc-page.groovy-nfc-bof .nfc-bof-message-number { bottom:22px; font-size:10px; }
.groovy-nfc-bof .nfc-reveal-caption { font:500 13px/1.4 'Barlow Condensed',sans-serif; color:#896c4b; margin:17px 0 0; }
body.groovy-nfc-page.groovy-nfc-bof .nfc-story-compose { padding-top:52px; padding-bottom:10px; max-width:610px; scroll-margin-top:24px; }
.groovy-nfc-bof .nfc-compose-eyebrow { display:block; font:700 12px/1.5 'Barlow Condensed',sans-serif; letter-spacing:.16em; text-transform:uppercase; color:#896449; margin:0 0 10px; }
body.groovy-nfc-page.groovy-nfc-bof .nfc-story-compose .chien-block { margin:0 0 28px; }
body.groovy-nfc-page.groovy-nfc-bof .nfc-story-compose .chien-bubble { background:#fff6e6a0; box-shadow:none; border-color:#d9c09a; padding:12px 17px; }
body.groovy-nfc-page.groovy-nfc-bof .write-question { font-size:clamp(25px,3vw,33px); line-height:1.22; max-width:500px; margin-bottom:22px; }
body.groovy-nfc-page.groovy-nfc-bof .write-card { border-color:#cbb084; background:#fff7e7a8; box-shadow:0 4px 0 #d8bc8f66; }
body.groovy-nfc-page.groovy-nfc-bof .write-textarea { min-height:145px; font-size:20px; }
body.groovy-nfc-page.groovy-nfc-bof .btn-poser { animation:none; }
body.groovy-nfc-page.groovy-nfc-bof .nfc-story-community { max-width:610px; padding-top:30px; padding-bottom:20px; }
.groovy-nfc-bof .community-heading { border-top:1px solid #cdb38b80; padding-top:28px; }
.groovy-nfc-bof .community-heading h2 { font-size:clamp(26px,3vw,33px); }
.groovy-nfc-bof .bof-card { transition:border-color .2s,box-shadow .2s; }
.groovy-nfc-bof .bof-card:hover { border-color:#c3a374; box-shadow:0 4px 12px #896e4110; }
body.groovy-nfc-page.groovy-nfc-bof .bof-like-btn { border-radius:999px; }
.groovy-nfc-bof .nfc-empty { border-style:solid; border-color:#dbc5a4; background:#fff7e79c; }
body.groovy-nfc-page.groovy-nfc-bof .fin-block { max-width:610px; padding-top:16px; padding-bottom:48px; }
.groovy-nfc-bof .fin-phrase { display:none; }
body.groovy-nfc-page.groovy-nfc-bof .btn-assume { animation:none; box-shadow:none; background:transparent; font-size:16px; border-color:#c5a67b; margin:10px auto 0; }
.groovy-nfc-bof .fin-scan { font-size:10px; opacity:.8; }
.groovy-nfc-bof .nfc-story-in { scroll-margin-top:24px; }
.groovy-nfc-bof.nfc-story-ready .nfc-story-in { transition:opacity .55s ease,translate .55s cubic-bezier(.2,.6,.3,1); }
.groovy-nfc-bof.nfc-story-ready .nfc-story-in:not(.is-visible) { opacity:0; translate:0 16px; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .groovy-nfc-bof .nfc-hero-art { transition:transform .35s ease,box-shadow .35s ease; }
  .groovy-nfc-bof .nfc-hero-art:hover { transform:rotate(0deg) translateY(-3px); box-shadow:0 7px 0 #d8bd9240,0 24px 36px -22px #5b361f99; }
  .groovy-nfc-bof .nfc-bof-flip:hover { filter:drop-shadow(5px 15px 13px #69452535); }
}
@media(max-width:760px) {
  .groovy-nfc-bof .nfc-story-nav { min-height:88px; padding:12px 20px 6px; }
  body.groovy-nfc-page.groovy-nfc-bof .nfc-story-hero { position:relative; padding:0; height:0; min-height:0; gap:0; }
  .groovy-nfc-bof .nfc-hero-art { display:none; }
  .groovy-nfc-bof .nfc-hero-art img { border-radius:16px; }
  /* The artwork already introduces the pin. Keep the page heading accessible,
     without repeating the introduction or making the visitor click to see the card. */
  .groovy-nfc-bof .nfc-hero-copy { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .groovy-nfc-bof .nfc-hero-copy .nfc-story-eyebrow,
  .groovy-nfc-bof .nfc-hero-copy > p,
  .groovy-nfc-bof .nfc-hero-actions { display:none; }
  body.groovy-nfc-page.groovy-nfc-bof .nfc-story-cta { font-size:16px; min-height:46px; padding:11px 16px; gap:9px; }
  .groovy-nfc-bof .nfc-story-skip { font-size:15px; }
  body.groovy-nfc-page.groovy-nfc-bof .nfc-story-reveal { padding:18px 14px 0; }
  body.groovy-nfc-page.groovy-nfc-bof .nfc-story-reveal .nfc-bof-bonus { grid-template-columns:1fr; gap:18px; padding:20px 24px 18px; border-radius:25px; }
  .groovy-nfc-bof .nfc-reveal-copy { text-align:center; margin:auto; }
  body.groovy-nfc-page.groovy-nfc-bof .nfc-reveal-copy h2 { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .groovy-nfc-bof .nfc-reveal-copy .nfc-story-eyebrow { display:block; font-size:11px; margin:0; letter-spacing:.16em; }
  .groovy-nfc-bof .nfc-reveal-copy > p,
  .groovy-nfc-bof .nfc-reveal-instruction { display:none; }
  .groovy-nfc-bof .nfc-reveal-next { display:none; }
  body.groovy-nfc-page.groovy-nfc-bof .nfc-bof-flip { max-width:280px; transform:rotate(1.4deg); }
  .groovy-nfc-bof .nfc-reveal-caption { margin-top:13px; }
  /* The main illustration should never wait for a scroll-triggered entrance. */
  .groovy-nfc-bof.nfc-story-ready .nfc-story-reveal .nfc-story-in { opacity:1; translate:none; }
  body.groovy-nfc-page.groovy-nfc-bof .nfc-story-compose { padding-top:34px; }
  body.groovy-nfc-page.groovy-nfc-bof .nfc-story-compose .chien-block { margin-bottom:24px; }
  body.groovy-nfc-page.groovy-nfc-bof .write-question { font-size:27px; }
}
@media(max-width:360px) {
  body.groovy-nfc-page.groovy-nfc-bof .nfc-bof-flip { max-width:240px; }
  .groovy-nfc-bof .nfc-story-nav { padding-left:16px; padding-right:16px; }
  body.groovy-nfc-page.groovy-nfc-bof .nfc-story-reveal .nfc-bof-bonus { padding:18px 19px; }
  body.groovy-nfc-page.groovy-nfc-bof .nfc-reveal-copy h2 { font-size:25px; }
}
@media(max-width:760px) and (max-height:720px) {
  body.groovy-nfc-page.groovy-nfc-bof .nfc-bof-flip { max-width:250px; }
  body.groovy-nfc-page.groovy-nfc-bof .nfc-bof-message { padding:17px 19px 64px; }
  .groovy-nfc-bof .nfc-message-sun svg { width:48px; height:48px; }
  body.groovy-nfc-page.groovy-nfc-bof .nfc-bof-message-quote { font-size:19px; }
  .groovy-nfc-bof .nfc-bof-message-quote strong { font-size:22px; margin-top:8px; }
}
@media(max-width:760px) and (prefers-reduced-motion:no-preference) {
  .groovy-nfc-bof .nfc-pin-intro:not([hidden]) {
    position:fixed; inset:0; z-index:10020; display:flex; flex-direction:column;
    align-items:center; justify-content:center; width:100%; height:100%; margin:0; padding:28px;
    border:0; border-radius:0; color:#382215; cursor:pointer;
    background:#fff2d6ad; -webkit-backdrop-filter:blur(13px); backdrop-filter:blur(13px);
    animation:nfc-intro-curtain 3.4s cubic-bezier(.4,0,.2,1) both;
  }
  .nfc-intro-scene { display:flex; align-items:center; flex-direction:column; position:relative; }
  .nfc-intro-scene::before { content:''; position:absolute; width:270px; height:270px; top:16px; border-radius:50%; background:radial-gradient(circle,#ffda7999,transparent 70%); pointer-events:none; }
  .nfc-intro-collection { font:700 12px/1.4 'Barlow Condensed',sans-serif; letter-spacing:.2em; text-transform:uppercase; margin-bottom:24px; }
  .nfc-intro-scene img { position:relative; width:min(58vw,230px); height:auto; aspect-ratio:1; object-fit:contain; filter:drop-shadow(0 18px 12px #4d351f30); animation:nfc-pin-hello 1.8s cubic-bezier(.2,.65,.25,1) both; }
  .nfc-intro-name { font:900 58px/1 'Fraunces',Georgia,serif; letter-spacing:-.06em; margin-top:23px; }
  .nfc-intro-skip { position:absolute; bottom:max(32px,env(safe-area-inset-bottom)); font:500 14px/1.4 'Barlow Condensed',sans-serif; color:#73583f; }
}
@keyframes nfc-pin-hello {
  0% { opacity:0; transform:translateY(16px) scale(.88) rotate(-9deg); }
  25% { opacity:1; transform:translateY(0) scale(1.03) rotate(5deg); }
  60% { transform:translateY(-5px) scale(1) rotate(-3deg); }
  100% { opacity:1; transform:translateY(0) scale(1) rotate(0); }
}
@keyframes nfc-intro-curtain {
  0%,66% { opacity:1; visibility:visible; }
  100% { opacity:0; visibility:hidden; }
}
@media(prefers-reduced-motion:reduce) {
  .groovy-nfc-bof.nfc-story-ready .nfc-story-in:not(.is-visible) { opacity:1; translate:none; }
  .groovy-nfc-bof .nfc-hero-art { transform:none; }
  body.groovy-nfc-page.groovy-nfc-bof .nfc-bof-flip { transform:none; }
}

/* Writing and hearts use the same warm paper, generous touch targets and quiet motion. */
body.groovy-nfc-page.groovy-nfc-bof .nfc-story-compose { padding-top:32px; }
body.groovy-nfc-page.groovy-nfc-bof .nfc-story-compose .chien-block { display:none; }
.groovy-nfc-bof .nfc-compose-eyebrow { font-size:11px; letter-spacing:.15em; margin-bottom:9px; }
body.groovy-nfc-page.groovy-nfc-bof .write-question { font-size:29px; line-height:1.2; margin:0 0 19px; }
body.groovy-nfc-page.groovy-nfc-bof .write-card { padding:19px 18px 16px; border:1px solid #cfb58d; border-radius:24px; background:linear-gradient(130deg,#fffaf1ef,#fff5e3cd); box-shadow:0 4px 0 #b7996417; transition:border-color .25s,box-shadow .25s; }
body.groovy-nfc-page.groovy-nfc-bof .write-card:focus-within { border-color:#a86c36; box-shadow:0 0 0 3px #cb9b5033,0 4px 0 #b7996417; }
.groovy-nfc-bof .nfc-compose-label { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.groovy-nfc-bof .nfc-compose-label label { font:600 15px/1.4 'Barlow Condensed',sans-serif; color:#795735; }
body.groovy-nfc-page.groovy-nfc-bof .write-hint { position:static; font:500 13px/1.4 'Barlow Condensed',sans-serif; color:#896747; letter-spacing:0; font-variant-numeric:tabular-nums; text-transform:none; }
body.groovy-nfc-page.groovy-nfc-bof .write-hint.warn { color:#9c4028; }
body.groovy-nfc-page.groovy-nfc-bof .write-textarea { min-height:140px; max-height:240px; overflow-y:auto; padding:13px 0 10px; margin:6px 0 0; border-radius:0; resize:none; font:500 20px/1.5 'Barlow Condensed',sans-serif; letter-spacing:0; color:#482f20; caret-color:#9c5028; }
body.groovy-nfc-page.groovy-nfc-bof .write-textarea:focus-visible { outline:none; }
body.groovy-nfc-page.groovy-nfc-bof .write-textarea::placeholder { color:#9b8062; opacity:1; }
body.groovy-nfc-page.groovy-nfc-bof .write-footer { margin-top:10px; display:block; }
body.groovy-nfc-page.groovy-nfc-bof .btn-poser { position:static; width:100%; min-height:50px; justify-content:center; border:1px solid #7d512d; border-radius:999px; padding:12px 18px; background:#ffd174; color:#482d1a; font:700 18px/1.3 'Barlow Condensed',sans-serif; text-transform:none; letter-spacing:0; box-shadow:0 3px 0 #8e653c; transition:background .2s,translate .2s,box-shadow .2s; }
body.groovy-nfc-page.groovy-nfc-bof .btn-poser:hover:not(:disabled) { background:#ffdc91; }
body.groovy-nfc-page.groovy-nfc-bof .btn-poser:active:not(:disabled) { transform:none; translate:0 2px; box-shadow:0 1px 0 #8e653c; }
body.groovy-nfc-page.groovy-nfc-bof .btn-poser:disabled { opacity:1; color:#987b59; background:#eddfc6; border-color:#cfb996; box-shadow:none; }
.groovy-nfc-bof .nfc-publish-note { display:flex; justify-content:center; align-items:center; gap:6px; margin:15px 0 0; font:500 12px/1.4 'Barlow Condensed',sans-serif; color:#816446; text-align:center; }
.groovy-nfc-bof .nfc-publish-note svg { flex-shrink:0; width:14px; height:14px; }
body.groovy-nfc-page.groovy-nfc-bof .connected-note { margin:12px 2px 0; color:#876b4e; font-size:13px; }
.groovy-nfc-bof .session-ready svg { color:#8a632b; }
body.groovy-nfc-page.groovy-nfc-bof .ack-wrap { border:1px solid #d5b783; background:#fff1d2; border-radius:20px; padding:18px; }
body.groovy-nfc-page.groovy-nfc-bof .ack-msg { color:#624526; }
body.groovy-nfc-page.groovy-nfc-bof .ack-dot { background:#ad7a2e; }
body.groovy-nfc-page.groovy-nfc-bof .nfc-story-community { padding-top:28px; }
.groovy-nfc-bof .community-heading { padding-top:0; border-top:0; margin:0 0 18px; }
body.groovy-nfc-page.groovy-nfc-bof .nfc-story-community > .counter-block { justify-content:flex-start; margin:0 0 12px; }
.groovy-nfc-bof .community-eyebrow { display:none; }
.groovy-nfc-bof .community-heading h2 { font-size:28px; margin:0 0 9px; }
.groovy-nfc-bof .community-heading p { font-size:17px; color:#82603e; }
.groovy-nfc-bof .nfc-tabs { gap:4px; padding:4px; border-color:#d3b994; background:#eddfc54d; margin-bottom:16px; }
.groovy-nfc-bof .nfc-tabs [role=tab] { min-height:46px; font-size:16px; color:#7c5a38; transition:background .2s,color .2s; }
.groovy-nfc-bof .nfc-tabs [aria-selected=true] { background:#ffefd0; color:#57361f; box-shadow:0 1px 4px #6f492a24,inset 0 0 0 1px #cdaa72; }
.groovy-nfc-bof #likeFeedback:not(.is-error) { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.groovy-nfc-bof #likeFeedback.is-error { padding:12px 15px; background:#fff0df; border:1px solid #ca9874; border-radius:14px; color:#8a4028; }
body.groovy-nfc-page.groovy-nfc-bof .bof-card { gap:15px; padding:19px 18px 9px; margin-bottom:14px; border-color:#d7bd96; border-radius:22px; background:linear-gradient(135deg,#fffaf0e8,#fff4dfb8); box-shadow:0 3px 0 #b7996417; }
body.groovy-nfc-page.groovy-nfc-bof .bof-quote { font-size:20px; line-height:1.45; white-space:pre-wrap; overflow-wrap:anywhere; }
.groovy-nfc-bof .bof-quote::before { content:'“'; display:block; height:23px; margin-bottom:5px; color:#bd9356; font:900 44px/1 'Fraunces',Georgia,serif; }
.groovy-nfc-bof .bof-quote::after { content:none; }
.groovy-nfc-bof .bof-card-footer { border-top:1px solid #d5b98c66; padding-top:7px; }
body.groovy-nfc-page.groovy-nfc-bof .bof-like-btn { width:100%; min-height:48px; border:0; border-radius:13px; padding:9px 11px; background:transparent; color:#836343; gap:9px; font-size:16px; transition:background .25s,color .25s; touch-action:manipulation; }
body.groovy-nfc-page.groovy-nfc-bof .bof-like-btn svg { width:22px; height:22px; flex-shrink:0; }
body.groovy-nfc-page.groovy-nfc-bof .bof-like-btn strong { margin-left:auto; border:0; padding:4px 9px; min-width:30px; border-radius:999px; background:#e9d5b44d; font-variant-numeric:tabular-nums; }
body.groovy-nfc-page.groovy-nfc-bof .bof-like-btn:hover { background:#f5e6cc; }
body.groovy-nfc-page.groovy-nfc-bof .bof-like-btn.liked { background:#f8e4d3; color:#a24d32; }
body.groovy-nfc-page.groovy-nfc-bof .bof-like-btn.liked strong { background:#e9bea94d; }
body.groovy-nfc-page.groovy-nfc-bof .bof-like-btn.liked svg { animation:none; }
body.groovy-nfc-page.groovy-nfc-bof .bof-like-btn[aria-disabled=true] { opacity:1; cursor:wait; }
body.groovy-nfc-page.groovy-nfc-bof :is(button,a,[role=tabpanel]):focus-visible { outline:3px solid #a96832; outline-offset:4px; }
body.groovy-nfc-page.groovy-nfc-bof .voir-plus { width:100%; min-height:46px; border:1px solid #d3b994; border-radius:999px; background:#fff5e488; text-decoration:none; }
body.groovy-nfc-page.groovy-nfc-bof .nfc-empty { border:1px solid #d7bd96; border-radius:22px; background:#fff7e7b8; padding:24px 18px 14px; }
.groovy-nfc-bof .bof-status[data-status=approved] { background:#f1dfb7; color:#775525; }
body.groovy-nfc-page.groovy-nfc-bof .my-bof-card { border-radius:20px; padding:17px 18px; background:#fff3d8b8; }
.groovy-nfc-bof .my-bof-text { overflow-wrap:anywhere; white-space:pre-wrap; }
@media(max-width:760px) {
  body.groovy-nfc-page.groovy-nfc-bof .nfc-story-compose,
  body.groovy-nfc-page.groovy-nfc-bof .nfc-story-community { padding-left:20px; padding-right:20px; }
  body.groovy-nfc-page.groovy-nfc-bof .write-question { font-size:27px; }
  .groovy-nfc-bof .community-heading h2 { font-size:27px; }
}
@media(max-width:360px) {
  body.groovy-nfc-page.groovy-nfc-bof .write-question,
  .groovy-nfc-bof .community-heading h2 { font-size:24px; }
  .groovy-nfc-bof .nfc-publish-note { font-size:11px; gap:4px; }
}
@media(prefers-reduced-motion:no-preference) {
  body.groovy-nfc-page.groovy-nfc-bof .bof-like-btn.is-celebrating svg { animation:nfcHeart .4s cubic-bezier(.2,.6,.35,1); }
}
