/* ==========================================================================
   欢乐影院 · foundation（重置 + 设计令牌 + 基础排版）
   --------------------------------------------------------------------------
   设计语系：奶油米白 / 珊瑚橙 / 明黄薄荷糖果色 / 圆体标题 / 大圆角。
   ⚠️ 与站内其它模板的分界（改样式前先看这几条，避免不知不觉「长回现款」）：
     · 底色是**奶油米白**（带一点橘调，不是宣纸黄也不是冷白）
     · 强调色是**珊瑚橙**，配明黄 / 薄荷 / 晴空蓝三枚糖果辅色与彩虹渐变
     · 标题一律**圆体**（--jo-serif 为幼圆系回退），正文/界面用无衬线（--jo-sans）
     · 圆角走**拱弧 + 大圆角**（最多 26px），阴影用彩色硬投影，靠糖果棚布分面
   ========================================================================== */

*, *::before, *::after { box-sizing: border-box; }

html {
    min-width: 320px;
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
    scroll-padding-top: var(--jo-anchor-offset, 80px);
}

body {
    margin: 0;
    background-color: var(--jo-paper);
    background-image:
        radial-gradient(circle at 12% 18%, rgba(255, 95, 77, .05) 0 6px, transparent 7px),
        radial-gradient(circle at 78% 8%, rgba(255, 201, 60, .09) 0 4px, transparent 5px),
        radial-gradient(circle at 62% 64%, rgba(46, 196, 182, .05) 0 3px, transparent 4px),
        radial-gradient(circle at 28% 82%, rgba(255, 201, 60, .07) 0 5px, transparent 6px);
    background-size: 420px 420px, 360px 360px, 300px 300px, 480px 480px;
    background-attachment: fixed;
    color: var(--jo-ink);
    font: var(--jo-fs-base)/var(--jo-lh) var(--jo-sans);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5 { margin: 0; font-weight: 700; line-height: var(--jo-lh-tight); color: var(--jo-ink); }
h1 { font-size: var(--jo-fs-h1); font-family: var(--jo-serif); }
h2 { font-size: var(--jo-fs-lg); font-family: var(--jo-serif); }
h3 { font-size: var(--jo-fs-md); font-family: var(--jo-serif); }
h4 { font-size: var(--jo-fs-base); }
p, dl, dd, figure, blockquote { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
img, svg, video { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }
button { background: none; border: 0; padding: 0; cursor: pointer; }
table { border-collapse: collapse; width: 100%; }
details > summary { list-style: none; }
details > summary::-webkit-details-marker { display: none; }
::selection { background: var(--jo-accent-soft); color: var(--jo-ink); }

/* 键盘可达性：只在键盘导航时出焦点环（鼠标点击不出，保证「纸面」干净） */
:focus-visible {
    outline: 2px solid var(--jo-accent);
    outline-offset: 2px;
    border-radius: var(--jo-r-xs);
}

/* 视觉隐藏但保留语义（页头 h1 / 表格说明等） */
.jo-sr-only {
    position: absolute;
    width: 1px; height: 1px;
    margin: -1px; padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

/* 图片/区块的骨架底色：加载期间不该是刺眼的纯白 */
.jo-ph { background: var(--jo-surface-3); }
