/* 移动端优先的经典拼贴首页：固定 940×1672 设计画布，桌面也按移动端比例显示。 */
@font-face {font-family:HomeHappy;src:url('/nihappy/public/assets/home-v2/ZCOOLKuaiLe-Regular.ttf') format('truetype');font-display:swap}
html:has(.scene-home),html:has(.scene-home) body {background:#ddd3f6;scrollbar-width:none}
html:has(.scene-home)::-webkit-scrollbar {display:none}
.scene-home {position:relative;min-height:100dvh;overflow-x:clip;padding-bottom:96px;color:#211b22;background:#ddd3f6;background-image:linear-gradient(130deg,#ece3fc55,#cabbea33),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.5' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.08' filter='url(%23n)'/%3E%3C/svg%3E")}
.scene-viewport {position:relative;margin:0 auto;overflow:visible}
.scene-design {position:relative;width:940px;height:1672px;transform-origin:top left;isolation:isolate}
.scene-layer {position:absolute;display:block;object-fit:fill;user-select:none;pointer-events:none;z-index:2}
.scene-logo,.scene-menu {z-index:20;object-fit:contain}
.scene-note,.scene-hero-tag,.scene-feature-tag,.scene-feature-decor {z-index:12}
.scene-hero-paper,.scene-feature-paper,.scene-feature-title,.scene-feature-copy,.scene-feature-button,.scene-more,.scene-recent {z-index:5}
.scene-duck,.scene-feature-character {z-index:13;object-fit:contain}
.scene-feature-character {object-position:center top}
.scene-feature-title {object-fit:contain}
.scene-hit {position:absolute;z-index:40;display:block;border:0;background:transparent;padding:0;margin:0;cursor:pointer;touch-action:manipulation;text-decoration:none;-webkit-tap-highlight-color:transparent}
.scene-hit:active {transform:translateY(3px) scale(.985)}
.scene-hit-feature-paper {z-index:35}
.scene-hit-testPaper,.scene-hit-musicPaper,.scene-hit-observePaper,.scene-hit-inspirePaper {z-index:40}
.scene-text {position:absolute;z-index:22;display:block;pointer-events:none;font-family:HomeHappy,"PingFang SC","Microsoft YaHei",sans-serif;color:#211b22;text-align:left}
.scene-category-label {font-size:27px;line-height:1;transform:rotate(-2deg);text-align:center;font-weight:700}
.scene-category-label b {font-family:system-ui,sans-serif;font-size:.8em}
.scene-card-kicker {font-size:17px;line-height:1.4;color:#8c7a71}
.scene-card-title {font-size:34px;line-height:1.15;font-weight:700}
.scene-card-title.muted {color:#736a68}
.scene-card-copy {font:16px/1.7 "PingFang SC","Microsoft YaHei",sans-serif;color:#85756e}
.scene-card-cta {padding:11px 15px;border:2px solid #2c2527;border-radius:999px;background:#ffe153;box-shadow:2px 3px 0 #2c2527;text-align:center;font:700 17px/1 "PingFang SC","Microsoft YaHei",sans-serif}
.scene-card-cta.muted {border-color:#aaa19b;background:#e3ded5;box-shadow:none;color:#827975}
/* 今日推荐的程序化文案（原来的图片字组已由 HOME_FEATURED 数据渲染，便于以后换成动态内容） */
.scene-feature-kicker {font:16px/1.4 HomeHappy,"PingFang SC",sans-serif;letter-spacing:.06em;color:#a38d70}
.scene-feature-title {font-family:HomeHappy,"PingFang SC","Microsoft YaHei",sans-serif;font-size:54px;line-height:1.05;font-weight:700;color:#2c2527}
.scene-feature-copy {font:17px/1.75 "PingFang SC","Microsoft YaHei",sans-serif;color:#7c6a61}
.scene-footer-copy {position:absolute;left:280px;top:1494px;width:380px;text-align:center;font:18px/1.4 HomeHappy;color:#6d5d73;transform:rotate(-2deg)}
.play-sr {position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.play-home .play-disclaimer {font-size:9px;color:#756780;line-height:1.7;text-align:center;margin:6px 5px 3px}
.play-home .play-license {font-size:9px;color:#6b5d75;line-height:1.7;text-align:center;margin:0 5px 10px}
.play-home .play-license a {color:inherit;text-decoration:underline;text-underline-offset:2px;padding:2px 3px}
.play-home .play-license-badge {display:inline-block;width:auto;height:12px;vertical-align:-.15em;margin-right:3px;pointer-events:auto}
.play-nav {position:fixed;z-index:50;bottom:0;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;max-width:480px;background:#fffaf1;box-shadow:0 -4px 16px #5e427b18;clip-path:polygon(0 9%,10% 3%,22% 6%,35% 1%,49% 4%,63% 0,76% 4%,88% 1%,100% 4%,100% 100%,0 100%);padding-bottom:env(safe-area-inset-bottom,0px)}
.play-nav>.play-control {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:66px;padding:9px 0 5px;border:0;background:transparent;text-decoration:none;font-size:11px;font-weight:500;color:#766580}
.play-nav svg {display:block;width:24px;height:24px}.play-nav>[aria-current="page"] {color:#302335;font-weight:700}.play-nav>[aria-current="page"] svg {fill:#ffe153;filter:drop-shadow(0 1px 0 #d4b63955)}.play-nav>[aria-current="page"] span {padding:0 6px;border-radius:4px;background:#ffe15388}
.play-dialog {width:calc(100% - 32px);max-width:420px;max-height:80dvh;margin:auto;padding:20px;border:0;border-radius:15px;color:#231c22;background:#fffaf0;box-shadow:0 20px 70px #28163855;overscroll-behavior:contain}.play-dialog::backdrop {background:#2d1e4e66}.play-dialog header {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.play-dialog h2 {font-size:19px;font-weight:800;line-height:1.4}.play-dialog-close {width:36px;height:36px;border:0;border-radius:50%;background:#efe6fa;font-size:25px;line-height:1}.play-dialog-content {display:grid;gap:10px}.play-list-card {position:relative;display:block;width:100%;padding:13px 36px 13px 14px;border:1px solid #e0ceb1;border-radius:9px;text-align:left;background:#fff1c4;color:#231c22;text-decoration:none}.play-list-card strong,.play-list-card small {display:block}.play-list-card small {margin-top:4px;color:#6b5b45}.play-list-card>span {position:absolute;right:14px;top:14px;font-size:20px}.play-preview p {margin-top:13px;font-size:17px;font-weight:700;line-height:1.6}.play-preview small {display:block;margin:11px 0 18px;font-size:13px;line-height:1.7;color:#7a6a76}.play-preview-status {display:inline-block;padding:4px 9px;background:#efdef7;border-radius:999px;font-size:11px;color:#735783}.play-sheet-button {display:block;width:100%;padding:11px 14px;border:2px solid #251e23;border-radius:999px;background:#ffe153;font-size:14px;font-weight:700}
.play-cats {display:grid;gap:10px}
.play-cat {position:relative;display:block;width:100%;padding:14px 48px 13px 15px;border:1px solid #dfcda9;border-radius:12px;background:#fff1c4;color:#2d2525;text-align:left;cursor:pointer}
.play-cat:nth-child(2) {background:#e9e6f9;border-color:#c9c0e8}
.play-cat:nth-child(3) {background:#fbe3c6;border-color:#e8bd87}
.play-cat:nth-child(4) {background:#dff0e5;border-color:#b8d8c1}
.play-cat strong,.play-cat small {display:block}
.play-cat strong {font-size:16px;line-height:1.4}
.play-cat small {margin-top:3px;color:#75675e;font-size:12px;line-height:1.5}
.play-cat-go {position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:12px;color:#806756}
.play-idea {position:relative;padding:17px 14px 15px;overflow:hidden;border:1px solid #d3b67b;border-radius:4px;background:#fff1bf;box-shadow:3px 4px 0 #d7b878;transform:rotate(-.6deg)}
.play-idea::before,.play-idea::after {content:"";position:absolute;pointer-events:none}
.play-idea::before {right:-28px;top:-34px;width:86px;height:86px;background:#efd98b;clip-path:polygon(0 0,100% 0,100% 100%)}
.play-idea::after {left:-22px;bottom:-35px;width:92px;height:92px;background:#f7dfa0;clip-path:polygon(0 100%,100% 100%,0 0)}
.play-idea-fold {position:absolute;right:0;top:0;width:44px;height:44px;background:#f8e5a8;clip-path:polygon(0 0,100% 0,100% 100%);opacity:.75}
.play-idea-lead {position:relative;z-index:1;margin:0 0 12px;font:16px/1.55 HomeHappy,"PingFang SC",sans-serif;color:#5b4935}
.play-idea-form,.play-idea-saved {position:relative;z-index:1}
.play-idea-input {display:block;width:100%;min-height:92px;padding:11px 12px;border:1.5px solid #b99a60;border-radius:3px;background:#fff9df;color:#40352a;resize:vertical;outline:none;font-size:14px;line-height:1.7}
.play-idea-input:focus {border-color:#80633b;box-shadow:0 0 0 3px #d7b87855}
.play-idea-error {margin:5px 0 0;color:#b04d37;font-size:12px}
.play-idea-hint {margin:7px 0;color:#8a7654;font-size:11px;line-height:1.5}
.play-idea-foot {display:flex;align-items:center;gap:8px}
.play-idea-count {margin-right:auto;color:#9b8358;font-size:11px}
.play-idea-save {padding:9px 12px;border:1.5px solid #4a392d;border-radius:999px;background:#f4c94f;color:#3f3026;font-size:13px;font-weight:700;cursor:pointer}
.play-idea-saved {margin-top:18px}
.play-idea-saved h3 {margin:0 0 7px;font-size:13px;color:#725b3f}
.play-idea-list {display:grid;gap:7px;padding:0;list-style:none}
.play-idea-list li {position:relative;padding:9px 30px 8px 10px;border-left:3px solid #dab46b;background:#fff9df;font-size:12px}
.play-idea-list li p {margin:0;white-space:pre-wrap;word-break:break-word;line-height:1.55}
.play-idea-list li span {display:block;margin-top:4px;color:#aa9167;font-size:10px}
.play-idea-del {position:absolute;right:6px;top:7px;border:0;background:transparent;color:#9d7652;font-size:18px;line-height:1;cursor:pointer}
.play-idea-none {padding:8px 0;color:#9b8358;font-size:12px}
.play-dialog-idea {border-radius:3px;background:#fbf4e3;border:1px solid #d9c8a4;box-shadow:5px 7px 0 #a7907140,0 20px 70px #28163855}
.play-idea-error.is-success {color:#37664b}
.play-idea-save:disabled {opacity:.65;cursor:wait}
.play-idea-input {font-size:16px}
.play-idea-hint {font-size:12px}
.play-idea-del {min-width:28px;min-height:30px}
.play-dialog button:focus-visible {outline:3px solid #8064a2;outline-offset:3px}
/* 文字层的字号一律由 home-scene-layout.json 的 fontSize 内联决定（编辑器可调），
   这里只留不随字号变化的结构性样式 */
.scene-category-label {white-space:nowrap}
@media (min-width:600px) {.scene-home {max-width:480px;margin:0 auto}.scene-viewport {margin-top:12px}}
@media (prefers-reduced-motion:reduce) {.scene-home * {animation:none!important;transition:none!important}}
