/* Small, shared scrapbook details. No new motion loops, media overlays or copy.
   Seasonal tokens supply ornament colours; existing ink/surface pairs stay intact. */
body{
 --playful-accent:var(--design-gold,var(--gold,#e7c77f));
 --playful-companion:var(--design-ink,var(--blue,#a8d4df));
 --playful-shadow:0 5px 0 #06172b24;
}
/* Soft postcard corners and a little paper depth, without tilting photographs or
   changing image crops, overflow, grid dimensions, or native media controls. */
body :is(.news-card,.app-news-card,.app-update-card,.app-settings-card,.pixie-recent-card){
 border-radius:18px 18px 8px 18px;
 box-shadow:var(--playful-shadow);
}
body :is(.resort-home-card,.resort-album,.our-story-album){
 box-shadow:0 5px 0 #06172b1c;
}
/* The little colour tabs live in copy, never on top of owner photos or video. */
body :is(.news-card-copy,.app-card-copy,.pixie-recent-copy)>.editorial-kicker,
body .app-card-copy>.app-source-badge{
 border-inline-start:3px solid var(--playful-accent);
 padding-inline-start:9px;
}
/* A hand-finished flourish under opening titles. Kept out of schedules,
   article subheadings, navigation and calendar day labels. Empty CSS content
   is decorative and does not add words to screen-reader announcements. */
body :is(.archive-title,.video-intro>h1,.resorts-opening>h1,.our-story-opening h1,.app-feed-heading h1,.pixie-app-settings>h1)::after{
 content:"";
 display:block;
 width:76px;
 height:7px;
 margin-block-start:17px;
 border-radius:10px 3px 10px 3px;
 background:linear-gradient(90deg,var(--playful-accent) 0 55%,transparent 55% 62%,var(--playful-companion) 62% 82%,transparent 82% 89%,var(--playful-accent) 89%);
}
/* Buttons feel like little invitation tickets. Explicit application classes
   exclude player controls, calendar controls and dialog dismissal buttons. */
body :is(.hero-actions>.button,.app-refresh,.app-install-banner-button,.archive-actions>button,.app-older-news-controls>button){
 min-height:44px;
 border-radius:14px 14px 14px 5px;
 box-shadow:0 3px 0 #06172b40;
 text-underline-offset:4px;
}
body :is(.hero-actions>.button,.app-refresh,.app-install-banner-button,.archive-actions>button,.app-older-news-controls>button):focus-visible{
 outline:2px solid currentColor;
 outline-offset:4px;
 box-shadow:0 0 0 3px #fff5dd,0 0 0 6px #142e49;
}
/* Two-colour focus ring works on light paper and deep seasonal panels. */
body :is(.news-card,.app-news-card,.app-update-card,.app-settings-card,.pixie-recent-card):focus-within{
 box-shadow:0 0 0 2px #fff5dd,0 0 0 4px #142e49;
}
/* Existing empty messages gain a postcard treatment without invented copy,
   generated announcements, a new CTA, or changed hidden/display semantics. */
body .journal .no-results,
body .live-empty{
 padding:25px 22px;
 border:1px dashed currentColor;
 border-radius:18px 18px 6px 18px;
 line-height:1.7;
 max-width:100%;
 box-sizing:border-box;
}
body .journal .no-results::before,
body .live-empty::before{
 content:"";
 display:block;
 width:26px;
 height:26px;
 margin-block-end:12px;
 background:currentColor;
 clip-path:polygon(50% 0,61% 37%,100% 50%,61% 63%,50% 100%,39% 63%,0 50%,39% 37%);
 opacity:.8;
 pointer-events:none;
}
/* A tactile selected-tab edge, with no change to app bar safe areas or sizing. */
html.is-app-shell .app-tabbar a[aria-current=page]{
 border-radius:14px 14px 5px 14px;
 box-shadow:inset 0 -3px 0 #06172b2b;
}
@media(hover:hover) and (pointer:fine){
 body :is(.news-card,.app-news-card,.pixie-recent-card):hover{
  box-shadow:0 6px 0 #06172b30,0 0 0 1px var(--playful-accent);
 }
 body :is(.hero-actions>.button,.app-refresh,.app-install-banner-button,.archive-actions>button,.app-older-news-controls>button):hover:not(:disabled):not([aria-disabled=true]){
  text-decoration:underline;
  text-decoration-thickness:2px;
 }
}
/* The design is intentionally static for everyone, including reduced motion. */
@media(prefers-reduced-motion:reduce){
 body :is(.news-card,.app-news-card,.app-update-card,.app-settings-card,.pixie-recent-card,.hero-actions>.button,.app-refresh,.app-install-banner-button,.archive-actions>button,.app-older-news-controls>button){
  transition:none;
 }
}
@media(forced-colors:active){
 body :is(.news-card,.app-news-card,.app-update-card,.app-settings-card,.pixie-recent-card){
  border:1px solid CanvasText;
  box-shadow:none;
 }
 body :is(.news-card,.app-news-card,.app-update-card,.app-settings-card,.pixie-recent-card):focus-within{
  outline:2px solid Highlight;
  outline-offset:3px;
 }
 body :is(.hero-actions>.button,.app-refresh,.app-install-banner-button,.archive-actions>button,.app-older-news-controls>button):focus-visible{
  outline-color:Highlight;
  box-shadow:none;
 }
}
