:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-grad:linear-gradient(160deg, #1a1033 0%, #171540 55%, #0f1b4d 100%);--bg-solid:#150f30;--ink:#f2f0ff;--muted:#e2deffa3;--line:#ffffff29;--accent:#a78bfa;--accent-2:#22d3ee;--accent-grad:linear-gradient(100deg, #a78bfa 0%, #7dd3fc 60%, #22d3ee 100%);--accent-ink:#0e0a24;--glass:#ffffff12;--glass-strong:#ffffff1c;--glass-border:#ffffff2e;--card-ink:#f4f2ff;--card-muted:#e6e2ffa8;--card-line:#ffffff29;--danger:#ff9b93}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg-solid) var(--bg-grad) fixed;color:var(--ink);-webkit-font-smoothing:antialiased;background-size:cover;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans CJK SC,sans-serif;font-size:16px;line-height:1.65}a{color:var(--accent)}.container{max-width:480px;margin:0 auto;padding:24px 20px 48px}.page-title{letter-spacing:.02em;background:var(--accent-grad);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;width:fit-content;margin:8px 0 4px;font-size:28px;line-height:1.3}.page-subtitle{color:var(--muted);margin:0 0 20px;font-size:15px}.section-label{color:var(--muted);margin:20px 0 8px;font-size:14px}.btn{border:1px solid var(--glass-border);background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:100%;min-height:48px;color:var(--ink);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:10px 20px;font-size:16px;text-decoration:none;display:flex}.btn-primary{background:var(--accent-grad);color:var(--accent-ink);border-color:#0000;font-weight:700;box-shadow:0 8px 24px #7a69fa59}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{border:1px dashed var(--line);color:var(--muted);box-shadow:none;background:0 0}.field{margin-bottom:16px}.field-label{margin-bottom:6px;font-size:15px;font-weight:600;display:block}.field-hint{color:var(--muted);margin-top:4px;font-size:13px}select,input[type=text]{border:1px solid var(--glass-border);background:var(--glass);width:100%;min-height:48px;color:var(--ink);border-radius:14px;padding:10px 12px;font-size:16px}select option{background:var(--bg-solid);color:var(--ink)}.select-row{gap:8px;display:flex}.select-row>select{flex:1;min-width:0}.segmented{gap:8px;display:flex}.segmented button{border:1px solid var(--glass-border);background:var(--glass);min-height:44px;color:var(--ink);cursor:pointer;border-radius:999px;flex:1;font-size:15px}.segmented button[aria-pressed=true]{border-color:var(--accent);color:#d6c8ff;background:#a78bfa2e;font-weight:600}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--glass-border);background:var(--glass);min-height:44px;color:var(--ink);cursor:pointer;border-radius:999px;padding:8px 16px;font-size:15px}.chip[aria-pressed=true]{border-color:var(--accent);color:#d6c8ff;background:#a78bfa2e;font-weight:600}.consent-row{border:1px solid var(--glass-border);background:var(--glass);border-radius:14px;align-items:flex-start;gap:10px;margin:20px 0 12px;padding:12px;display:flex}.consent-row input[type=checkbox]{width:22px;height:22px;accent-color:var(--accent);flex-shrink:0;margin:2px 0 0}.consent-row label{font-size:14px;line-height:1.55}.form-error{color:var(--danger);background:#ff8a801a;border:1px solid #ff8a804d;border-radius:10px;margin:12px 0;padding:10px 12px;font-size:14px}.mp-card{background:var(--glass);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);color:var(--card-ink);border:1px solid var(--glass-border);border-radius:24px;margin:16px 0;padding:26px 22px;box-shadow:0 12px 40px #0a062073}.mp-card-kicker{letter-spacing:.24em;color:var(--card-muted);text-transform:uppercase;font-size:13px}.mp-card-name{letter-spacing:.04em;background:var(--accent-grad);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;width:fit-content;margin:6px 0 2px;font-size:28px;font-weight:800}.mp-card-mouthpiece{letter-spacing:.02em;margin:10px 0 2px;font-size:22px;font-weight:700;line-height:1.5}.mp-pillars-line{color:var(--card-muted);border:1px solid var(--card-line);letter-spacing:.06em;white-space:nowrap;background:#ffffff14;border-radius:999px;margin:12px 0 2px;padding:5px 14px;font-size:13px;display:inline-block}.mp-card-reading{color:var(--card-ink);margin:14px 0 4px;font-size:15px;line-height:1.85}.mp-card-core{border-left:3px solid var(--accent);margin:14px 0;padding-left:12px;font-size:17px;font-weight:600;line-height:1.7}.mp-card-anchor{color:var(--card-muted);background:#ffffff0f;border-radius:14px;margin:14px 0;padding:12px 14px;font-size:14px;line-height:1.7}.mp-card-section{border-top:1px solid var(--card-line);padding:12px 0}.mp-card-section-title{color:#c0b3f5;letter-spacing:.1em;margin-bottom:4px;font-size:13px}.mp-card-section-body{font-size:15px;line-height:1.7}.mp-card-hit{font-weight:700}.mp-card-section-detail{color:var(--card-muted);margin:8px 0 0;font-size:14px;line-height:1.85}.mp-card-tags{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.mp-card-tag{color:#9fe8f5;background:#22d3ee14;border:1px solid #22d3ee59;border-radius:999px;padding:4px 12px;font-size:13px}.mp-card-badge{color:#d9c98a;border:1px solid #d9c98a80;border-radius:999px;margin-top:10px;padding:2px 10px;font-size:12px;display:inline-block}.pillar-value-unknown{color:var(--muted);letter-spacing:.02em;font-size:13px;font-weight:400;line-height:2}.mp-card-remark{color:var(--card-muted);border-top:1px dashed var(--card-line);letter-spacing:.02em;margin-top:14px;padding-top:10px;font-size:13px}.mp-elements-strength{float:right;opacity:.85;border:1px solid;border-radius:999px;padding:1px 8px;font-size:12px}.mp-elements-row{align-items:center;gap:8px;margin:6px 0;display:flex}.mp-elements-label{opacity:.8;width:1.2em;font-size:13px}.mp-elements-track{background:#ffffff1f;border-radius:999px;flex:1;height:8px;display:block;overflow:hidden}.mp-elements-fill{border-radius:999px;height:100%;display:block}.mp-elements-fill-wood{background:linear-gradient(90deg,#4ade80,#a3e635)}.mp-elements-fill-fire{background:linear-gradient(90deg,#fb7185,#fb923c)}.mp-elements-fill-earth{background:linear-gradient(90deg,#fbbf24,#fde047)}.mp-elements-fill-metal{background:linear-gradient(90deg,#cbd5e1,#f1f5f9)}.mp-elements-fill-water{background:linear-gradient(90deg,#60a5fa,#22d3ee)}.mp-elements-count{text-align:right;opacity:.7;font-variant-numeric:tabular-nums;width:1.4em;font-size:12px}.report{background:var(--glass);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border:1px solid var(--glass-border);border-radius:20px;margin:16px 0;padding:24px 20px}.report h2{margin:0 0 4px;font-size:20px}.report h3{border-bottom:1px solid var(--line);color:#c0b3f5;margin:22px 0 6px;padding-bottom:4px;font-size:16px}.report p{text-align:justify;margin:8px 0;font-size:15px;line-height:1.9}.report .report-meta{color:var(--muted);font-size:13px}.report .report-mouthpiece{margin:2px 0 8px;font-size:17px;font-weight:700}.report .report-remark{color:var(--muted);border-top:1px dashed var(--line);margin-top:18px;padding-top:10px;font-size:13px}.report .mp-card-section{border-top:none;padding:8px 0 4px}.pillars{grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0;display:grid}.pillar{text-align:center;border:1px solid var(--glass-border);background:#ffffff0f;border-radius:10px;padding:8px 4px}.pillar-label{color:var(--muted);font-size:12px}.pillar-value{letter-spacing:.1em;font-size:18px;font-weight:600}.owner-panel{margin-top:20px}.owner-links{gap:10px;display:grid}.owner-link{border:1px solid var(--glass-border);background:var(--glass);min-height:52px;color:var(--ink);border-radius:16px;justify-content:space-between;align-items:center;padding:10px 16px;font-size:15px;text-decoration:none;display:flex}.owner-link .arrow{color:var(--muted)}.feedback-bar{gap:8px;margin-top:10px;display:flex}.feedback-bar button{border:1px solid var(--glass-border);background:var(--glass);min-height:44px;color:var(--muted);border-radius:999px;flex:1;font-size:14px}.notice{color:var(--muted);background:var(--glass);border:1px solid var(--glass-border);border-radius:14px;margin:14px 0;padding:12px 14px;font-size:14px}.footnote{color:var(--muted);text-align:center;margin-top:24px;font-size:13px}.footnote a{color:var(--muted)}.generating{text-align:center;padding:64px 0}.generating-glyph{border:2px solid var(--line);border-top-color:var(--accent-2);border-radius:50%;width:56px;height:56px;margin:0 auto 20px;animation:1.2s linear infinite mp-spin}@keyframes mp-spin{to{transform:rotate(360deg)}}.generating-stage{margin-bottom:6px;font-size:17px;font-weight:600}.generating-hint{color:var(--muted);font-size:14px}.prose h1{font-size:22px}.prose h2{margin-top:24px;font-size:17px}.prose p,.prose li{font-size:15px;line-height:1.8}.back-link{font-size:14px;text-decoration:none}.branch-teaser{background:var(--glass-strong);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border:1px solid var(--glass-border);color:var(--card-ink);border-radius:20px;margin-top:16px;padding:20px}.branch-teaser h2{margin:0 0 8px;font-size:20px;line-height:1.4}.branch-teaser p{color:var(--card-muted);margin:0;font-size:15px}.paywall-panel{border:1px solid var(--glass-border);background:var(--glass);border-radius:16px;padding:16px}.paywall-price{margin:0 0 8px;font-size:22px;font-weight:700}.paywall-price span{color:var(--muted);margin-left:6px;font-size:13px;font-weight:400}.paywall-copy{color:var(--muted);margin:0 0 12px;font-size:14px}.text-input{border:1px solid var(--glass-border);background:var(--glass);width:100%;min-height:48px;color:var(--ink);border-radius:14px;margin-bottom:10px;padding:10px 12px;font-size:16px}.followup{margin-bottom:10px}.followup-q{color:var(--muted);margin:12px 0 4px;font-size:14px}.followup-details{border:1px solid var(--glass-border);background:var(--glass);border-radius:16px;margin-bottom:10px;padding:12px 16px}.followup-details summary{cursor:pointer;min-height:24px;font-size:15px}.followup-details p{color:var(--muted);margin:8px 0 0;font-size:14px}.modal-overlay{z-index:50;background:#080518a6;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{border:1px solid var(--glass-border);text-align:center;background:#1d1542;border-radius:20px;width:100%;max-width:320px;padding:24px 20px}.modal-title{margin:0 0 8px;font-size:18px;font-weight:600}.modal p{color:var(--muted);margin:0 0 16px;font-size:14px}.hook-grid{gap:12px;margin-top:8px;display:grid}.hook-card{border:1px solid var(--glass-border);background:var(--glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:var(--ink);border-radius:18px;flex-direction:column;gap:6px;padding:18px 18px 16px;text-decoration:none;display:flex}.hook-card-axis{color:#9fe8f5;background:#22d3ee14;border:1px solid #22d3ee59;border-radius:999px;align-self:flex-start;padding:2px 10px;font-size:12px}.hook-card-title{font-size:19px;font-weight:700;line-height:1.4}.hook-card-excerpt{color:var(--muted);font-size:14px;line-height:1.7}.hook-card-cta{color:var(--accent);margin-top:4px;font-size:14px;font-weight:600}.scene-script{border-left:3px solid var(--accent);margin:18px 0;padding:4px 0 4px 18px}.scene-kicker{letter-spacing:.22em;color:var(--accent-2);margin:10px 0 2px;font-size:13px}.scene-title{background:var(--accent-grad);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;width:fit-content;margin:6px 0 12px;font-size:26px;line-height:1.35}.scene-narrative{color:var(--ink);text-align:justify;margin:12px 0;font-size:17px;line-height:2}.scene-conflict{background:#a78bfa24;border:1px solid #a78bfa59;border-radius:12px;margin:16px 0;padding:12px 14px;font-size:19px;font-weight:700;line-height:1.6}.scene-cliffhanger{color:var(--muted);margin:14px 0 4px;font-size:15px;font-style:italic}.npc-card{border:1px solid var(--glass-border);background:var(--glass-strong);border-radius:16px;margin:14px 0;padding:14px 16px}.npc-name{color:var(--accent-2);margin:0 0 6px;font-size:15px;font-weight:700}.npc-role{color:var(--muted);margin-left:10px;font-size:12px;font-weight:400}.npc-line{margin:0;font-size:16px;line-height:1.7}.line-buttons{gap:10px;display:grid}.line-btn{border:1px solid var(--glass-border);background:var(--glass);width:100%;min-height:64px;color:var(--ink);cursor:pointer;text-align:left;border-radius:16px;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 18px;font-size:16px;display:flex}.line-btn-name{font-size:17px;font-weight:700}.line-btn-tagline{color:var(--muted);font-size:13px}.choice-list{gap:10px;display:grid}.choice-btn{width:100%;min-height:54px;color:var(--ink);cursor:pointer;text-align:left;background:#a78bfa1f;border:1px solid #a78bfa80;border-radius:999px;padding:12px 18px;font-size:16px;font-weight:600}.choice-echo{color:var(--accent-2);margin:16px 0 8px;font-size:14px}.upgrade-panel{background:var(--glass-strong);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid #22d3ee59;border-radius:20px;margin-top:18px;padding:20px 18px}.upgrade-title{background:var(--accent-grad);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;width:fit-content;margin:0 0 6px;font-size:21px}.upgrade-sub{color:var(--muted);margin:0 0 16px;font-size:14px;line-height:1.7}.protagonist-header{margin:18px 0 4px}.protagonist-kicker{letter-spacing:.22em;color:var(--muted);margin:0 0 4px;font-size:13px}.protagonist-title{background:var(--accent-grad);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;width:fit-content;margin:0;font-size:32px;font-weight:800;line-height:1.3}.teaser-block{text-align:center;background:#a78bfa14;border:1px dashed #a78bfa80;border-radius:20px;margin-top:22px;padding:24px 20px}.teaser-kicker{color:var(--accent-2);margin:0 0 8px;font-size:13px}.teaser-title{letter-spacing:.08em;margin:0 0 8px;font-size:24px}.teaser-sub{color:var(--muted);margin:0;font-size:14px;line-height:1.7}.share-cta{margin-top:16px}.share-cta-copy{color:var(--muted);text-align:center;margin:0 0 12px;font-size:14px;line-height:1.7}.dash-section{margin-top:28px}.dash-table-wrap{overflow-x:auto}.dash-table{border-collapse:collapse;width:100%;font-size:13px}.dash-table th,.dash-table td{text-align:left;vertical-align:top;border-bottom:1px solid #80808040;padding:8px 10px}.dash-note{color:var(--muted);max-width:420px;margin-top:4px;font-size:12px}.dash-badge{white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:12px;display:inline-block}.dash-badge-pass{color:#4ec97a;background:#2ea0432e}.dash-badge-fail{color:#ff7b72;background:#da363329}.dash-badge-gated{color:var(--muted);background:#8080802e}.dash-badge-warn,.dash-cell-warn,.dash-row-warn td{color:#e0b84c;background:#d4a72c29}.dash-warn{color:#e0b84c;font-size:13px}.dash-input{width:100%;color:inherit;background:0 0;border:1px solid #80808066;border-radius:10px;padding:10px 12px;font-size:15px}.dash-footer ul{color:var(--muted);padding-left:18px;font-size:13px;line-height:1.7}.pillars-footnote{text-align:center;letter-spacing:.06em;color:#ffffff6b;margin:.75rem auto 0;font-size:12px}.month-branches{margin-top:26px}.branch-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.branch-item{border:1px solid var(--glass-border);background:var(--glass-strong);border-radius:16px;padding:14px 16px}.branch-month{color:var(--accent-2);margin:0 0 6px;font-size:13px;font-weight:700}.branch-ganzhi{color:var(--muted);margin-left:8px;font-size:12px;font-weight:400}.branch-phrase{margin:0 0 6px;font-size:15px;line-height:1.7}.branch-hint{color:var(--muted);margin:0;font-size:12px}.deepen-entry{background:#7ee7f50f;border:1px dashed #7ee7f573;border-radius:20px;margin-top:22px;padding:18px}.deepen-summary{cursor:pointer;color:var(--accent-2);font-size:15px;font-weight:700}.deepen-sub{color:var(--muted);margin:10px 0 14px;font-size:14px;line-height:1.7}.npc-card-panel{margin-top:22px}.npc-tension{color:var(--accent-2);margin:0 0 8px;font-size:14px;font-weight:700;line-height:1.7}.map-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0;display:grid}.palace-cell{border:1px solid var(--glass-border);background:var(--glass);border-radius:16px;flex-direction:column;gap:6px;min-height:108px;padding:14px 14px 12px;display:flex}.palace-lit{background:var(--glass-strong);border-color:#a78bfa8c;box-shadow:0 0 22px #7a69fa47}.palace-unplayed{border-color:#22d3ee59}.palace-hidden{border-style:dashed;border-color:#e2deff59}.palace-dim{opacity:.5}.palace-name{color:var(--card-ink);margin:0;font-size:15px;font-weight:700}.palace-lit .palace-name{color:var(--accent-2)}.palace-line-tag{color:var(--muted);border:1px solid var(--line);border-radius:999px;margin-left:8px;padding:1px 8px;font-size:11px;font-weight:400}.palace-theme{color:var(--card-muted);flex:1;margin:0;font-size:13px;line-height:1.6}.palace-cta{color:var(--accent);font-size:13px;font-weight:600;text-decoration:none}.palace-locked-note{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.map-hint{color:var(--muted);margin:8px 0 0;font-size:12px}.unlock-wall{background:var(--glass-strong);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid #22d3ee59;border-radius:20px;margin-top:22px;padding:20px 18px}.unlock-title{background:var(--accent-grad);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;width:fit-content;margin:0 0 6px;font-size:21px}.unlock-sub{color:var(--muted);margin:0 0 16px;font-size:14px;line-height:1.7}.unlock-channels{gap:12px;display:grid}.unlock-channel{border:1px solid var(--glass-border);background:var(--glass);border-radius:16px;gap:10px;padding:14px;display:grid}.unlock-channel-label{letter-spacing:.18em;color:var(--accent-2);margin:0;font-size:13px}.unlock-channel-body{color:var(--card-ink);margin:0;font-size:14px;line-height:1.7}.unlock-note{color:var(--muted);margin:0;font-size:12px}.my-entries{gap:10px;display:grid}.my-entry{border:1px solid var(--glass-border);background:var(--glass);color:var(--ink);border-radius:16px;flex-direction:column;gap:3px;padding:14px 16px;text-decoration:none;display:flex}.my-entry-title{font-size:16px;font-weight:700}.my-entry-meta{color:var(--muted);font-size:13px}.my-entry-cta{color:var(--accent);margin-top:4px;font-size:13px;font-weight:600}.self-line-entry{background:#a78bfa1a;border:1px dashed #a78bfa8c;border-radius:16px;margin-top:20px;padding:14px 16px}.self-line-teaser{color:var(--card-ink);margin:0;font-size:14px;line-height:1.7}.self-line-locked-note{color:var(--muted);margin:18px 0 0;font-size:13px}.achievement-list{gap:8px;display:grid}.achievement-item{border:1px solid var(--glass-border);background:var(--glass);border-radius:14px;padding:12px 14px}.achievement-name{color:var(--accent-2);margin:0 0 2px;font-size:14px;font-weight:700}.achievement-caption{color:var(--muted);margin:0;font-size:13px}.my-npc-grid{gap:10px;display:grid}
