/* 纸本、朱砂与墨色：保留原有中式语汇，收敛装饰并统一阅读节奏。 */
:root{--paper:#f5f2e9;--card:#fcfaf4;--ink:#302b24;--muted:#746c5f;--line:#e0d8c8;--red:#a53b30;--red-dark:#8e3027;--gold:#80663d;--green:#416653;--serif:"Songti SC","STSong","SimSun",serif;--brush:"XuanBrush","Kaiti SC","STKaiti","KaiTi",serif;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}html{touch-action:manipulation;background:var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input,textarea,select{font:inherit;color:inherit}button{border:0;background:none;cursor:pointer;touch-action:manipulation}button:disabled{opacity:.5;cursor:default}button:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}input:focus,textarea:focus,select:focus{outline:2px solid #b8a47c;outline-offset:2px}button:active:not(:disabled){transform:translateY(1px)}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:600}h2{font-size:22px;line-height:1.4}h3{font-size:18px;line-height:1.5}p+p{margin-top:12px}
.app-shell{width:100%;max-width:576px;min-height:100vh;margin:auto;padding:0 22px 30px}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:68px;padding-top:env(safe-area-inset-top,0px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;min-height:44px;font-size:11px;letter-spacing:1.5px;color:#675d4c}.brand-wordmark{display:inline-block;margin-right:13px;color:var(--red);font-family:var(--brush);font-size:28px;font-weight:400;font-synthesis:none;line-height:1.25;letter-spacing:1px}.brand-subtitle{padding-left:13px;border-left:1px solid #d9cdb8;color:#756b59;font-size:10px;line-height:1.6;letter-spacing:1.2px}.session-clock{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.3px}
.hero{padding:33px 0 26px;text-align:center}.eyebrow{color:var(--gold);font-size:11px;letter-spacing:5px;margin-bottom:11px}.hero h1{font-family:var(--brush);font-size:36px;line-height:1.4;letter-spacing:2px;font-weight:400;font-synthesis:none}.hero-sub{margin-top:12px;color:var(--muted);font-family:var(--serif);font-size:14px;letter-spacing:2px}.intro{margin:0 0 27px;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;line-height:1.9;color:var(--muted);text-align:center}
.card{margin:18px 0;padding:22px 20px;background:var(--card);border:1px solid var(--line);border-radius:13px;box-shadow:0 3px 14px rgba(70,53,26,.025)}.card h2{margin-bottom:16px}.section{margin:27px 0}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-heading h2{font-size:21px;letter-spacing:1px}.step{margin-right:9px;font-family:Georgia,serif;font-size:11px;color:var(--gold);letter-spacing:1px}.hint{color:var(--muted);font-size:12px;line-height:1.8}.label{display:block;margin-bottom:9px;font-size:13px;font-weight:500;color:#5e5445}.optional{color:var(--muted);font-size:12px;font-weight:400}.field{margin-top:18px}
input[type=text],textarea,select{width:100%;min-height:48px;padding:12px 14px;border:1px solid #dcd1bb;border-radius:9px;background:#fffdf8;font-size:16px;line-height:1.6;-webkit-appearance:none;appearance:none}textarea{min-height:108px;resize:vertical}input::placeholder,textarea::placeholder{color:#8a8071;opacity:1}.code-input{font-family:var(--sans);letter-spacing:1px}.counter{margin-top:6px;text-align:right;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.check-row{display:flex;align-items:flex-start;margin:20px 0 12px;font-size:13px;line-height:1.85}.check-row input{flex-shrink:0;width:17px;height:17px;margin:4px 10px 0 0;accent-color:var(--red)}.notice{margin:14px 0;padding:12px 13px;border-left:2px solid #b69c6c;border-radius:0 7px 7px 0;background:#efe9db;color:#685738;font-size:13px;line-height:1.8}.notice.error{background:#f5e8e0;border-color:var(--red);color:#8c362b}.error-text{margin-top:10px;color:#922e25;font-size:13px;white-space:pre-wrap}.error-text:empty{margin-top:0}
.primary,.secondary{display:block;width:100%;min-height:50px;padding:12px 18px;border-radius:9px;text-align:center;font-size:16px;line-height:1.6}.primary{border:1px solid var(--red);background:var(--red);color:#fff9ec;box-shadow:0 3px 9px rgba(120,48,36,.08)}.primary:hover:not(:disabled){background:var(--red-dark);border-color:var(--red-dark)}.cast-submit{min-height:54px;font-family:var(--serif);font-size:20px;font-weight:600;letter-spacing:8px;text-indent:8px}.secondary{border:1px solid #cbbd9e;background:var(--card);color:var(--ink)}.secondary+.secondary{margin-top:10px}.quiet{display:block;min-height:44px;margin-left:auto;margin-right:auto;padding:10px 14px;color:var(--muted);font-size:12px}.link-button{min-height:44px;padding:7px 0;color:var(--red);text-decoration:underline;text-underline-offset:3px;font-size:13px}.center{text-align:center}.spaced{margin-top:18px}
.chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.chip{min-height:44px;padding:8px 4px;border:1px solid #ded3bf;border-radius:7px;background:rgba(252,250,244,.7);white-space:nowrap;font-size:14px}.chip.selected{border-color:var(--red);background:var(--red);color:#fff9ec}.category-note{margin-top:10px}.segmented{display:flex;padding:3px;border:1px solid #ded4c0;border-radius:9px;background:#ebe5d7;gap:3px}.segmented button{flex:1;min-height:44px;border-radius:6px;color:#6b604f;font-size:14px}.segmented .active{background:var(--card);color:var(--red);box-shadow:0 1px 4px rgba(68,49,24,.07);font-weight:600}.clock-panel{margin-top:14px;padding:23px 17px 18px;border:1px solid var(--line);border-radius:12px;background:var(--card);text-align:center}.clock{font-family:Georgia,var(--serif);font-size:41px;font-weight:400;letter-spacing:3px;line-height:1.3;font-variant-numeric:tabular-nums}.clock-caption{margin-top:9px;color:var(--muted);font-size:12px}.numbers{display:flex;margin:1px 0 15px;gap:16px}.number-field{flex:1;min-width:0;text-align:center}.number-field label{display:block;margin-bottom:5px;color:var(--muted);font-size:12px}.number-field input{min-height:56px;padding:5px;border:0;border-bottom:1px solid #c9b994;border-radius:0;background:transparent;text-align:center;font-family:Georgia,var(--serif);font-size:31px}.radio-row{display:flex;align-items:flex-start;margin:13px 0;font-size:14px}.radio-row input{flex-shrink:0;width:17px;height:17px;margin:5px 9px 0 0}
.ritual-note{margin:17px 0 19px;padding:0;text-align:center}.ritual-lead{color:var(--gold);font-size:11px;line-height:1.7;font-weight:500;letter-spacing:.3px}.ritual-verse{margin:6px auto 0;color:#786c59;font-family:var(--serif);font-size:clamp(11.5px,3.25vw,13px);line-height:1.85;letter-spacing:0}.ritual-verse>span{display:block;white-space:nowrap}
.result-title{text-align:center;padding:27px 0 19px}.result-title>p{font-size:10px;letter-spacing:3px;color:var(--gold)}.result-title h1{margin-top:7px;font-family:var(--brush);font-size:32px;font-weight:400;font-synthesis:none;letter-spacing:2px}.result-question{padding:15px 0 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}.result-question>span{color:var(--gold);font-size:11px;letter-spacing:1px}.result-question>p{margin-top:8px;font-family:var(--brush);font-size:20px;font-weight:400;font-synthesis:none;line-height:1.75;white-space:pre-wrap;word-break:break-word}.result-hero{padding:28px 0 8px;text-align:center}.verdict{display:flex;flex-direction:column;align-items:center;gap:6px;margin:0 auto 10px;color:var(--red)}.verdict-caption{color:var(--muted);font-family:var(--sans);font-size:10px;font-weight:400;line-height:1.6;letter-spacing:3px;text-indent:3px}.verdict-value{display:flex;align-items:center;justify-content:center;width:88px;height:88px;border:1px solid currentColor;border-radius:50%;background:#f7ede5;font-family:var(--brush);font-size:56px;font-weight:400;font-synthesis:none;line-height:1;letter-spacing:0;white-space:nowrap}.verdict.good{color:var(--green)}.verdict.good .verdict-value{background:#edf1e8}.verdict.pending{color:var(--gold)}.verdict.pending .verdict-value{background:#f0ebe0;font-size:22px;line-height:1.3;letter-spacing:0;text-indent:0}.result-label{font-family:var(--brush);font-size:27px;font-weight:400;font-synthesis:none;line-height:1.5;letter-spacing:1px}.result-label small{display:block;margin-top:8px;color:var(--muted);font-family:var(--sans);font-size:12px}.result-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:12px}.result-tag{display:inline-block;padding:3px 8px;border-radius:4px;background:#ece7db;color:#716855;font-size:11px;line-height:1.7}.good-text{color:var(--green)}.bad-text{color:var(--red)}
.palaces{display:flex;gap:9px;margin:24px 0 12px}.palace{flex:1;min-width:0;padding:18px 5px 17px;border:1px solid var(--line);border-radius:11px;background:var(--card);text-align:center}.palace.body{border-color:#d8b9a9;background:#faf3eb}.palace h3{font-size:17px;white-space:nowrap}.palace small{color:var(--muted);font-size:10px;white-space:nowrap}.branch{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:17px auto 12px;border:2px solid #b9ad95;border-radius:50%;background:#4c4233;color:#fff9ec;font-family:var(--serif);font-size:31px;line-height:1}.palace.body .branch{border-color:#ce9d8c;background:var(--red)}.star{font-family:var(--serif);font-size:20px;font-weight:600;line-height:1.5}.palace .meaning{min-height:20px;margin:4px 0 9px;color:var(--muted);font-size:11px;white-space:nowrap}.element{margin:7px 0;color:var(--muted);font-size:12px}.tag{display:inline-block;padding:3px 8px;border-radius:5px;background:#eee7d7;color:#7b643e;font-size:11px;line-height:1.6}.tag.red{background:#f1e1d9;color:#9a4034}.tag.green{background:#e6ece2;color:#3e644d}.palace-guide{margin:0 3px 20px;color:var(--muted);font-size:11px;line-height:1.85;text-align:center}
.trend-card{padding:19px 10px}.trend-grid{display:flex;margin:0;text-align:center}.trend-grid>div{flex:1;min-width:0;padding:0 4px}.trend-grid>div+div{border-left:1px solid var(--line)}.trend-grid small{display:block;margin-bottom:6px;color:var(--muted);font-size:11px}.trend-grid strong{font-family:var(--serif);font-size:21px;font-weight:600}.special-card{border:1px solid #dbc2b5;background:#f3e8df;box-shadow:none}.special-card h2{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#93483b;font-family:var(--sans);font-size:14px;font-weight:600;line-height:1.6}.special-badge{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;padding:2px 7px;border-radius:3px;background:#a14a3c;color:#fff8ed;font-size:10px;letter-spacing:1px}.special-text{color:#8d4d3e;font-size:14px;line-height:1.95;word-break:break-word}.special-text+.special-text{margin-top:9px}.judgment-card h2,.star-details>h2{font-size:22px;letter-spacing:1px}.judgment-text{font-size:15px;line-height:1.95;white-space:pre-wrap;word-break:break-word}.judgment-question{margin-top:17px;padding-top:12px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}
.star-details{padding-bottom:10px}.star-detail{padding:17px 0 18px;border-top:1px solid var(--line)}.star-detail:first-of-type{padding-top:2px;border-top:0}.star-detail-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 9px}.star-detail-head h3{flex-shrink:0;font-size:18px}.star-detail-head>span{color:var(--gold);font-size:11px;line-height:1.7}.star-detail>p{margin-top:9px;color:#5c5346;font-size:14px;line-height:1.95;word-break:break-word}.ai-card{border-top:2px solid #a68a5c}.ai-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.ai-heading h2{margin:0;font-size:23px;letter-spacing:1px}.ai-mark{color:var(--gold);font-size:11px;letter-spacing:1px}.ai-note{margin-top:13px}.ai-report-section{margin-top:25px}.ai-report-section h3{margin-bottom:12px;padding-bottom:9px;border-bottom:1px solid var(--line);font-size:18px;line-height:1.6}.report-summary{font-family:var(--serif);font-size:18px;line-height:1.9;white-space:pre-wrap;word-break:break-word}.body-text{font-size:15px;line-height:1.95;word-break:break-word;white-space:pre-wrap}.ai-paragraph{margin:10px 0 15px}.ai-label{color:#914338;font-weight:600}.ai-report-section ul{padding-left:20px;margin:6px 0}.ai-report-section li{margin:6px 0}.ai-limits{margin-top:20px;padding-top:13px;border-top:1px solid var(--line)}.visit-ending{display:flex;flex-direction:column;align-items:center;gap:0;margin:16px 0 8px}.visit-ending>.quiet{min-height:44px;margin:0;padding:8px 14px}.screenshot-reminder{margin:0;padding:0;text-align:center;color:var(--muted);font-size:12px;line-height:1.8;letter-spacing:.5px}
.question-card{font-family:var(--serif);font-size:19px;line-height:1.8;word-break:break-word;white-space:pre-wrap}.question-meta{margin-bottom:8px;color:var(--muted);font-family:var(--sans);font-size:12px;white-space:normal}.note-under{text-align:center;color:var(--muted);font-size:12px;line-height:1.8;margin:10px 0}.details{margin:18px 0 0;padding-top:10px;border-top:1px solid var(--line)}.details>summary,.help>summary{min-height:44px;padding:10px 0;cursor:pointer;font-size:13px;font-weight:500}.facts{margin:10px 0;padding:0;list-style:none;font-size:13px;color:var(--muted)}.facts li{padding:7px 0;border-bottom:1px solid var(--line);word-break:break-word}.facts b{color:var(--ink);font-weight:500}.report-section{margin-top:24px}.report-section h3{padding-bottom:8px;margin-bottom:10px;border-bottom:1px solid var(--line);font-size:18px}.report-section ul{padding-left:21px;margin:8px 0}.report-section li{margin:9px 0}.report-source{margin-top:5px;color:var(--gold);font-size:12px}.source-list{padding-left:20px;color:var(--muted);font-size:13px}.source-list li{margin-bottom:12px;white-space:pre-wrap;word-break:break-word}
.loading{padding:30px 14px;color:var(--muted);text-align:center;font-size:14px}.spinner{display:inline-block;width:16px;height:16px;margin-right:9px;border:2px solid #ddd1b9;border-top-color:var(--red);border-radius:50%;vertical-align:middle;animation:turn 1s linear infinite}@keyframes turn{to{transform:rotate(360deg)}}.receipt{margin-top:25px;padding:19px 0 0;border-top:1px solid var(--line)}.receipt-label{color:var(--muted);font-size:11px;letter-spacing:1px}.support-ref{margin-top:6px;color:#6c6457;font-family:var(--sans);font-size:11px;letter-spacing:.3px;overflow-wrap:anywhere;word-break:break-all;user-select:all}.receipt-meta{margin-top:5px;color:var(--muted);font-size:11px;line-height:1.8;white-space:pre-wrap}.help{margin-top:20px;padding-top:3px;border-top:1px solid var(--line)}.help p{margin:7px 0 13px;color:var(--muted);font-size:12px;line-height:1.9}.help .receipt{margin:8px 0 4px;padding:13px 0 0}.help .receipt p{margin:0;font-size:11px;line-height:1.8}.help .receipt .support-ref{margin-top:6px}.help .receipt .receipt-meta{margin-top:5px}.app-footer{margin-top:29px;padding-bottom:env(safe-area-inset-bottom,0px);text-align:center;font-family:var(--serif);font-size:12px;letter-spacing:2px;color:#7c725f}.app-footer span{display:inline-block;margin-top:4px;font-family:var(--sans);font-size:10px;letter-spacing:2px}.terminal{padding:30px 0 12px}.terminal h1{margin-bottom:18px;font-size:29px}.terminal .notice{margin:20px 0}.testing-banner{position:sticky;top:0;z-index:100;padding:8px 15px;border-bottom:1px solid #cfb66d;background:#f7edc2;color:#5f4b20;font-size:12px;line-height:1.7;font-weight:500;text-align:center}#toast{position:fixed;bottom:28px;left:50%;z-index:120;max-width:calc(100% - 40px);padding:12px 19px;border-radius:9px;background:#40382c;color:#fff8e8;font-size:13px;transform:translateX(-50%);box-shadow:0 5px 20px rgba(51,38,17,.15)}

/* v1.1.4 精致排版层：宋体标题、清晰黑体正文、双轨吉凶环与克制按钮反馈。 */
:root{
  --serif:"Songti SC","Noto Serif CJK SC","Source Han Serif SC","STSong","SimSun",serif;
  --brush:"Songti SC","Noto Serif CJK SC","Source Han Serif SC","STSong","SimSun",serif;
  --red-deep:#762c25;
}
body{letter-spacing:.015em}
h1,h2,h3{font-weight:600}
.brand-wordmark,.hero h1,.result-title h1,.result-question>p,.result-label,.verdict-value{
  font-family:var(--serif);
  font-synthesis:weight;
}
.brand-wordmark{font-size:26px;font-weight:600;letter-spacing:3px}
.brand-subtitle{font-size:10px;letter-spacing:1.6px}
.hero{padding-top:36px;padding-bottom:29px}
.hero h1{font-size:35px;font-weight:600;line-height:1.45;letter-spacing:4px;text-indent:4px}
.hero-sub{font-family:var(--sans);font-size:12px;letter-spacing:3px;text-indent:3px}
.eyebrow{font-size:10px;letter-spacing:4px;text-indent:4px}
.card{border-radius:10px;box-shadow:none}
.result-title h1{font-size:31px;font-weight:600;letter-spacing:4px;text-indent:4px}
.result-question>p{font-size:19px;font-weight:500;line-height:1.9;letter-spacing:.04em}
.result-label{font-size:25px;font-weight:600;letter-spacing:2px}
.verdict{gap:12px;margin-bottom:15px}
.verdict-caption{font-size:10px;letter-spacing:4px;text-indent:4px}
.verdict-value{
  --verdict-wash:#f7ede5;
  position:relative;
  isolation:isolate;
  width:112px;
  height:112px;
  border:0;
  background:var(--verdict-wash);
  font-size:50px;
  font-weight:600;
  line-height:1;
  text-indent:0;
}
.verdict-value::before,.verdict-value::after{
  content:"";
  position:absolute;
  border:1px solid currentColor;
  border-radius:50%;
  pointer-events:none;
}
.verdict-value::before{
  inset:0;
  opacity:.48;
  background:
    radial-gradient(circle at 50% 0,currentColor 0 1.6px,transparent 1.9px),
    radial-gradient(circle at 100% 50%,currentColor 0 1.6px,transparent 1.9px),
    radial-gradient(circle at 50% 100%,currentColor 0 1.6px,transparent 1.9px),
    radial-gradient(circle at 0 50%,currentColor 0 1.6px,transparent 1.9px);
}
.verdict-value::after{inset:9px;opacity:.3}
.verdict.good .verdict-value{--verdict-wash:#edf1e8;background:var(--verdict-wash)}
.verdict.pending .verdict-value{--verdict-wash:#f0ebe0;background:var(--verdict-wash);font-size:21px;font-weight:600;line-height:1.45;letter-spacing:1px}
.result-tag{padding:4px 10px;border-radius:999px;letter-spacing:.04em}
.primary,.secondary{
  position:relative;
  min-height:52px;
  border-radius:6px;
  font-weight:500;
  letter-spacing:1.5px;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.primary{
  border-color:var(--red);
  background:var(--red);
  box-shadow:inset 0 0 0 1px rgba(255,249,236,.1),0 2px 0 rgba(118,44,37,.2);
}
.primary:hover:not(:disabled){background:var(--red-dark);border-color:var(--red-dark)}
.primary:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 0 0 1px rgba(255,249,236,.08),0 0 0 rgba(118,44,37,0)}
.cast-submit{min-height:56px;font-family:var(--serif);font-size:19px;font-weight:600;letter-spacing:7px;text-indent:7px}
.secondary{border-color:#c8b996;background:transparent}
.secondary:hover:not(:disabled){border-color:var(--red);background:#f7ede5;color:var(--red-dark)}
.secondary:active:not(:disabled){transform:translateY(1px)}
.chip{
  border-radius:999px;
  background:transparent;
  font-size:13px;
  letter-spacing:.04em;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease;
}
.chip:hover:not(.selected){border-color:#b6967f;color:var(--red-dark)}
.chip.selected{box-shadow:inset 0 0 0 1px rgba(255,249,236,.12);font-weight:500}
.segmented button{transition:background-color .16s ease,color .16s ease,box-shadow .16s ease}
.quiet,.link-button{transition:color .16s ease}
.quiet:hover:not(:disabled),.link-button:hover:not(:disabled){color:var(--red-dark)}

/* v1.1.5 截图对齐：紧凑起卦区、实心吉凶圆章、独立天星卡与长文层级。 */
#cast-form .section:first-child{margin-bottom:0}
#cast-form .section+.section{margin-top:16px}
.neutral-text{color:var(--gold)}
.verdict-value{
  width:112px;
  height:112px;
  border:5px solid #e4cec2;
  background:var(--red);
  color:#fff9ec;
  box-shadow:0 0 0 1px rgba(78,52,34,.06);
  font-size:52px;
  font-weight:600;
}
.verdict-value::before,.verdict-value::after{display:none}
.verdict.good .verdict-value{border-color:#c7d3c4;background:var(--green);color:#fff9ec}
.verdict.pending .verdict-value{border-color:#ded2bd;background:var(--gold);color:#fff9ec}
.palaces{gap:10px;margin-top:26px}
.palace{
  padding:20px 5px 18px;
  border-radius:16px;
  background:#fffdf8;
  box-shadow:0 4px 14px rgba(70,53,26,.045);
}
.palace.body{border-color:var(--line);background:#fffdf8}
.palace h3{font-size:18px}
.palace small{font-size:11px}
.branch{
  width:56px;
  height:56px;
  margin:18px auto 12px;
  border:4px solid #c8c0af;
  background:#4c4233;
  font-size:32px;
}
.palace.body .branch{border-color:#d8a395;background:var(--red)}
.palace .star{font-size:22px}
.palace .tag{padding:4px 10px;border-radius:999px}
.star-details{padding:20px 18px 18px;border-radius:14px}
.star-details>h2{margin:0 4px 16px;font-size:22px}
.star-detail{
  margin:12px 0 0;
  padding:16px 16px 17px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fffdf8;
}
.star-detail:first-of-type{margin-top:0;padding:16px 16px 17px;border:1px solid var(--line)}
.star-detail-head{gap:4px 9px}
.star-detail-head h3{font-size:17px}
.star-detail-head>span{font-size:11px}
.star-detail>p{margin-top:10px;font-size:14px;line-height:1.95}
.ai-card{padding:22px 20px;border:1px solid var(--line);border-radius:14px}
.ai-report-section{margin-top:28px}
.ai-report-section h3{margin-bottom:14px;padding-bottom:0;border-bottom:0;font-size:20px;letter-spacing:.04em}
.report-summary{font-family:var(--sans);font-size:16px;line-height:2.05}
.ai-paragraph{margin:0 0 18px;font-size:15px;line-height:2.05}
.ai-paragraph:last-child{margin-bottom:0}
.ai-label{color:var(--red-dark);font-weight:600}
.ai-role{color:var(--ink);font-weight:400}

.admin-page .table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:14px}.admin-page table{width:100%;min-width:820px;border-collapse:collapse;font-size:12px}.admin-page th,.admin-page td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left;vertical-align:top;white-space:nowrap}.admin-page th{font-weight:600;color:var(--muted)}.admin-page td{max-width:240px;white-space:normal;word-break:break-word}.admin-page .inline-row,.admin-page .button-row{display:flex;align-items:flex-start}.admin-page .inline-row>*+*,.admin-page .button-row>*+*{margin-left:12px}.admin-page .flex-one,.admin-page .button-row>button{flex:1;min-width:0}.admin-page .button-row{margin-top:16px}.admin-page .button-row .secondary+.secondary{margin-top:0}.admin-page input[type=number],.admin-page input[type=password]{width:100%;min-height:46px;border:1px solid var(--line);border-radius:12px;background:var(--card);padding:12px 14px;font-size:16px;line-height:1.55;text-align:left}.admin-page textarea[readonly]{font-family:ui-monospace,monospace;font-size:14px;word-break:break-all}.admin-page main>section>h1{font-size:29px;margin-bottom:12px}
@media(min-width:650px){.app-shell{padding-left:36px;padding-right:36px}.hero{padding-top:40px}.hero h1{font-size:40px}.card{padding:25px}.palace{padding-top:22px;padding-bottom:21px}.branch{width:54px;height:54px;font-size:34px}.palace .meaning{font-size:12px}.palace small{font-size:11px}.star-details{padding-bottom:12px}.trend-card{padding:21px 12px}.ritual-note{margin-top:20px;margin-bottom:20px}}
@media(max-width:359px){.app-shell{padding-left:16px;padding-right:16px}.hero h1{font-size:32px;letter-spacing:1.5px}.hero-sub{font-size:13px}.card{padding:18px 16px}.chip{font-size:13px}.clock{font-size:36px}.palaces{gap:7px}.palace{padding:16px 3px}.palace h3{font-size:15px}.palace .meaning{font-size:10px}.palace small{font-size:9px}.branch{width:44px;height:44px;font-size:28px}.star{font-size:19px}.trend-grid small{font-size:10px}.trend-grid strong{font-size:19px}.trend-card{padding:18px 7px}.special-text{font-size:13px}.result-question>p{font-size:20px}.judgment-text{font-size:14px}.ritual-verse{font-size:11.5px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
