:root { color-scheme:light; --paper:#fbfbf8; --desk:#e8e1cf; --ink:#242321; --muted:#77736c; --line:#2423212e; --blue:#164ad8; --red:#9f4636; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--desk); font:15px/1.7 var(--archive-serif); font-synthesis:none; }
button,select,textarea { font:inherit; }a,button { -webkit-tap-highlight-color:transparent; }button { cursor:pointer; }a { color:inherit; text-decoration:none; }
a:focus-visible,button:focus-visible,textarea:focus-visible,select:focus-visible { outline:2px solid var(--blue); outline-offset:4px; }[hidden] { display:none!important; }
.home-shell { width:min(1180px,100%); margin:auto; padding:0 24px; }
.brand-bar { height:82px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid #2423211f; gap:12px; }
.brand { justify-self:start; line-height:1.4; }.brand strong { display:block; font-size:20px; letter-spacing:.14em; }.brand small { display:block; margin-top:3px; font:10px var(--archive-mono); letter-spacing:.08em; color:var(--muted); }
.account-link { grid-column:3; justify-self:end; font-size:13px; padding:12px 0; }.account-link span { margin-left:4px; }#page-back { grid-column:2; grid-row:1; background:none; border:0; padding:12px 0; font-size:12px; color:var(--muted); }
.home-account{grid-column:3;grid-row:1;justify-self:end;display:flex;align-items:center;gap:12px;position:relative;white-space:nowrap;font-size:13px}.home-account .account-link,.home-account .direct-chart-link,.home-account #home-logout{min-height:44px;padding:10px 0;font:inherit}.home-account .account-link{min-width:44px;display:grid;place-items:center}.direct-chart-link{color:var(--accent);border-bottom:1px solid transparent}.direct-chart-link:hover{border-color:var(--accent)}.direct-chart-link span{font-size:12px}.home-account #home-logout{border:0;background:none;color:var(--muted);white-space:nowrap}.home-account #home-logout:disabled{cursor:wait;opacity:.65}#home-auth-error{position:absolute;z-index:10;right:0;top:100%;width:230px;white-space:normal;font-size:13px;line-height:1.7;margin:0;padding:10px 14px;background:var(--paper);border:1px solid var(--line);color:var(--red)}
#page-home { padding-bottom:32px; }
.home-intro { position:relative; padding:42px 0 32px; }.home-intro h1 { font-size:42px; line-height:1.26; letter-spacing:-.03em; margin:0; font-weight:600; }.english-aside { position:absolute; right:0; top:48px; writing-mode:vertical-rl; white-space:nowrap; font:9px var(--archive-mono); letter-spacing:.15em; color:var(--muted); }
.entrance-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:26px; padding-bottom:26px; }
.entrance { display:block; position:relative; isolation:isolate; min-width:0; height:380px; padding:28px; overflow:hidden; background:var(--paper); box-shadow:0 2px 4px #40382a06,0 14px 22px -14px #40382a32; }
.entrance.timing { margin-top:26px; }.entrance.divination { margin-top:10px; }
.entry-number { position:absolute; right:26px; top:29px; color:#918c82; font:10px var(--archive-mono); }
.entry-copy { position:relative; z-index:2; display:block; }
.entry-copy small { font-size:11px; color:var(--muted); letter-spacing:1px; }
.entry-copy h2 { font-weight:500; font-size:30px; line-height:1.3; margin:14px 0 0; letter-spacing:1px; }
.entry-copy p { font-size:13px; line-height:1.8; color:var(--muted); margin:0; }
.entry-art { position:absolute; pointer-events:none; object-fit:contain; width:90%; height:210px; bottom:55px; right:1%; mix-blend-mode:multiply; filter:contrast(1.04); mask-image:radial-gradient(ellipse 50% 50% at center,#000 65%,transparent 100%); }
.question-art { width:82%; height:202px; right:7%; filter:none; }
.entry-action { display:flex; align-items:center; gap:8px; position:absolute; bottom:21px; left:28px; right:28px; z-index:3; border-top:1px solid #24232116; padding-top:13px; font-size:11px; color:#615d54; }
.entry-action b { margin-left:auto; font-size:19px; font-weight:400; color:var(--blue); line-height:1; }
.availability { font-style:normal; font-size:9px; white-space:nowrap; color:#8a8376; }
.availability::before { content:"·"; margin-right:5px; }
.divination .entry-action b { color:var(--red); }
.entrance:hover .entry-action { color:var(--ink); }.entrance:hover .entry-action b { transform:translate(2px,-2px); }.entry-action b { transition:transform .18s; }.site-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:6px 18px; border-top:1px solid var(--line); padding:22px 0 max(24px,env(safe-area-inset-bottom)); color:var(--muted); font-size:11px; }.site-footer small { flex:1 0 100%; font-size:10px; color:#847c6c; }.site-footer a { padding:6px; white-space:nowrap; }
.section-intro { padding:40px 0 30px; }.eyebrow { font-size:11px; letter-spacing:2px; color:var(--muted); margin:0 0 12px; }.section-intro h1 { font-size:36px; font-weight:500; line-height:1.4; letter-spacing:1px; margin:0; }.section-intro > p:last-child { color:var(--muted); font-size:14px; margin:12px 0 0; }
.reading-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-bottom:20px; align-items:start; }.reading-sheet { background:var(--paper); padding:26px; min-width:0; }.reading-sheet-heading small { font:9px var(--archive-mono); color:var(--muted); letter-spacing:.08em; }.reading-sheet h2 { font-weight:500; font-size:27px; line-height:1.4; margin:7px 0; }.reading-sheet-heading p { font-size:13px; color:var(--muted); margin:0; }.reading-art { display:block; width:100%; height:240px; object-fit:contain; mix-blend-mode:multiply; mask-image:radial-gradient(ellipse 80% 78% at center,#000 55%,transparent 100%); }.module-link { display:flex; gap:16px; align-items:center; padding:18px 0; border-top:1px solid var(--line); }.module-link > span { flex:1; }.module-link strong { display:block; font-size:19px; font-weight:500; }.module-link small { display:block; margin-top:5px; font-size:12px; color:var(--muted); }.module-link b { color:var(--blue); font-weight:400; }.chart-entry-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:26px;align-items:center;background:#ebe5d8;border:1px solid var(--line);padding:24px 26px;margin-bottom:36px}.chart-entry-card>div>small{font:9px var(--archive-mono);color:var(--muted);letter-spacing:.08em}.chart-entry-card h2{font-size:23px;font-weight:500;margin:8px 0}.chart-entry-card p{max-width:560px;color:var(--muted);font-size:13px;line-height:1.8;margin:0}.chart-entry-card .module-link{padding:13px 0;border-top:0;border-bottom:1px solid var(--line)}
.timing-layout { display:grid; grid-template-columns:1fr 1.1fr; align-items:center; gap:50px; margin:0 0 40px; }.timing-cover img { width:100%; max-height:300px; object-fit:contain; mix-blend-mode:multiply; }.timing-cover p { text-align:center; font-size:14px; color:var(--muted); }.timing-choices { background:var(--paper); padding:28px; }.status-note { font-size:12px; color:var(--muted); padding-bottom:18px; border-bottom:1px solid var(--line); }.timing-choice { display:flex; width:100%; align-items:center; gap:16px; text-align:left; border:0; border-bottom:1px solid var(--line); padding:24px 0; background:none; color:inherit; }.choice-index { font:10px var(--archive-mono); color:var(--muted); }.timing-choice strong { display:block; font-size:21px; font-weight:500; }.timing-choice small { display:block; margin-top:8px; font-size:12px; color:var(--muted); }.timing-choice b { margin-left:auto; font-weight:400; }.timing-scope { margin-top:24px; }.timing-scope h2 { font-size:18px; font-weight:500; }.timing-scope p { font-size:14px; line-height:1.9; }.timing-scope small { font-size:12px; color:var(--muted); }.timing-dependency{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.timing-dependency strong{display:block;font-size:15px;font-weight:500}.timing-dependency p{margin:8px 0 11px;color:var(--muted);font-size:12px;line-height:1.8}.timing-dependency a{color:var(--accent);font-size:12px}
.ask-layout { display:grid; grid-template-columns:1fr 1.1fr; gap:50px; align-items:center; margin-bottom:40px; }.ask-illustration { display:grid; place-items:center; position:relative; height:420px; }.ask-note { width:94%; max-height:360px; object-fit:contain; mix-blend-mode:multiply; mask-image:radial-gradient(ellipse 64% 64% at center,#000 55%,transparent 100%); }.ask-illustration p { position:absolute; top:0; right:3%; writing-mode:vertical-rl; color:#87775d; font-size:12px; letter-spacing:3px; line-height:2.2; }.question-form { background:var(--paper); padding:28px; }.question-form label { display:block; font-size:14px; margin-bottom:10px; }.question-form label span { margin-left:8px; font-size:11px; color:var(--muted); }.question-form textarea { width:100%; resize:vertical; min-height:116px; color:var(--ink); background:#f3f0e7; border:1px solid #84775f50; border-radius:0; padding:12px; font-size:16px; line-height:1.8; }.question-form textarea::placeholder { color:#918776; }.field-note { font-size:11px; color:var(--muted); margin:6px 0 22px; line-height:1.8; }.question-form select { width:100%; min-height:46px; padding:8px 12px; border:1px solid #84775f50; background:#f3f0e7; color:var(--ink); border-radius:0; font-size:16px; }.primary-action { display:flex; justify-content:space-between; align-items:center; width:100%; min-height:49px; background:#eadfc8; border:1px solid #97785b; padding:12px 18px; margin-top:24px; font-size:16px; letter-spacing:2px; color:#5b3927; }.ask-secondary { display:flex; justify-content:space-between; gap:16px; margin-top:12px; font-size:12px; color:#776750; }.ask-secondary a { padding:10px 0; }.preview-disclosure { border-top:1px solid #84775f25; padding-top:10px; margin:8px 0 0; color:#8a806f; font-size:10px; line-height:1.8; }
dialog { width:min(90%,420px); color:var(--ink); border:1px solid var(--line); padding:24px; background:var(--paper); }dialog::backdrop { background:#30291e70; }dialog h2 { font-size:22px; font-weight:500; }dialog p { font-size:14px; }dialog button,dialog>a { display:block; width:100%; margin-top:12px; padding:12px; background:none; border:1px solid var(--line); text-align:center; }

@media(max-width:759px) {
  .home-shell { padding-inline:20px; max-width:480px; }.brand-bar { height:68px; }.brand strong { font-size:20px; }.home-account { font-size:12px; }#page-back { font-size:11px; }
  .home-intro { padding:26px 0 22px; }.home-intro h1 { font-size:34px; line-height:1.22; }.english-aside { top:30px; font-size:8px; }
  .entrance-grid { grid-template-columns:1fr; gap:18px; padding-bottom:0; }
  .entrance { width:calc(100% - 14px); height:218px; padding:23px 22px; }
  .entrance.timing { margin:0 0 0 14px; }.entrance.divination { margin:0; }
  .entry-number { top:24px; right:21px; font-size:9px; }
  .entry-copy { max-width:59%; }.entry-copy small { font-size:10px; }
  .entry-copy h2 { font-size:28px; margin:8px 0 11px; }.entry-copy p { font-size:12px; line-height:1.8; }
  .entry-art { width:53%; height:160px; right:0; bottom:42px; }
  .question-art { width:50%; height:151px; right:1%; bottom:45px; }
  .entry-action { left:22px; right:22px; bottom:18px; padding-top:12px; font-size:10px; }
  .entry-action b { font-size:18px; }.availability { font-size:9px; }
  .site-footer { padding-top:18px; }
  .section-intro { padding:27px 0 24px; }.section-intro h1 { font-size:30px; }.section-intro>p:last-child { font-size:13px; }.reading-pair { grid-template-columns:1fr; gap:18px; }.reading-sheet { padding:22px; }.reading-sheet h2 { font-size:25px; }.reading-art { height:200px; }.reading-sheet-heading { position:relative; z-index:2; }.module-link strong { font-size:18px; }.chart-entry-card{grid-template-columns:1fr;gap:8px;padding:22px}.chart-entry-card .module-link{padding-top:16px}
  .timing-layout { grid-template-columns:1fr; gap:16px; }.timing-cover { display:flex; align-items:center; gap:25px; }.timing-cover img { width:52%; max-height:155px; }.timing-cover p { font-size:13px; text-align:left; }.timing-choices { padding:20px; }.timing-choice { gap:12px; padding:20px 0; }.timing-choice strong { font-size:20px; }.timing-choice small { font-size:12px; }
  .ask-layout { grid-template-columns:1fr; gap:20px; }.ask-illustration { height:140px; width:100%; }.ask-note { width:190px; height:155px; }.ask-illustration p { font-size:10px; top:12px; right:8px; }.question-form { padding:22px; }
}
@media(min-width:760px) and (max-width:1023px) { .entrance-grid { gap:18px; }.entrance { height:414px; padding:22px; }.entry-number { top:24px; right:18px; }.entry-copy h2 { font-size:27px; }.entry-art { height:213px; bottom:70px; }.entry-action { left:22px; right:22px; flex-wrap:wrap; gap:4px 8px; }.availability { order:3; flex-basis:100%; }.availability::before { content:none; } }
@media(max-width:360px) { .home-shell { padding-inline:16px; }.home-intro h1 { font-size:31px; }.entrance { height:212px; padding-inline:20px; }.entry-copy h2 { font-size:26px; }.entry-copy p { font-size:11px; }.entry-art { right:-2%; width:52%; }.question-art { right:0; }.entry-action { left:20px; right:20px; gap:5px; }.availability { font-size:8px; }.home-account { font-size:11px; } }
@media(prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; transition:none!important; } }

/* Ask preparation follows the user's order: scene, then question. */
.question-form #scene { margin-bottom:22px; }

/* The two question tools share one entrance level. */
.ask-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1080px;margin:0 auto 56px}.ask-tool{display:flex;align-items:center;gap:16px;padding:24px 18px;min-height:174px;background:var(--paper);color:var(--ink);text-decoration:none;border:1px solid var(--line)}.ask-tool svg{width:62px;flex:none;fill:none;stroke:#87775d;stroke-width:1.2}.ask-tool h2{margin:0 0 10px;font-size:28px;font-weight:500}.ask-tool small{color:var(--muted);font-size:13px}.ask-tool b{margin-left:auto;font-size:22px;font-weight:400}.ask-tool:hover{border-color:#87775d}.ask-tool:focus-visible{outline:2px solid #8c5235;outline-offset:4px}@media(max-width:759px){.ask-tools{grid-template-columns:1fr;gap:16px;margin-bottom:28px}.ask-tool{padding:22px 18px;min-height:136px;gap:20px}.ask-tool svg{width:66px}.ask-tool h2{font-size:25px}.ask-tool small{font-size:12px}}
@media(min-width:760px) and (max-width:1023px){.entrance{height:350px}.entry-art{height:182px;bottom:58px}.question-art{height:176px}}
@media(max-width:759px){.entrance-grid{gap:14px}.entrance{width:calc(100% - 18px);height:152px;padding:18px 20px;box-shadow:0 4px 12px #4c433507}.entrance.timing{margin-left:18px}.entry-number{top:17px}.entry-copy h2{font-size:26px;line-height:1.2;margin:12px 0 0}.entry-art{width:50%;height:112px;bottom:34px}.question-art{height:106px;bottom:34px}.entry-action{left:20px;right:20px;bottom:13px;padding-top:9px}.entry-copy small{font-size:10px}}

/* Keep the paper illustrations; clarify availability and shorten the path to tools. */
.entrance.timing{background:#f3f1e8;box-shadow:none;border:1px solid #24232120}
.entrance.timing .availability{position:absolute;right:22px;top:24px;z-index:3;padding:3px 8px;border:1px solid #80756155;color:#635c50;font-size:12px;line-height:1.5;background:#f3f1e8}
.entrance.timing .availability::before{content:none}
.timing-intro-link{margin-left:auto;white-space:nowrap;color:var(--muted)}
.entry-copy small,.entry-action{font-size:12px}
.home-account,.account-link,#page-back{font-size:14px}
.site-footer{font-size:12px}
.module-link small,.chart-entry-card p,.timing-choice small,.timing-dependency p{font-size:14px;line-height:1.8}
.module-link b{font-size:20px}
.ask-tool{transition:border-color .18s,background-color .18s}
.ask-tool:hover{background:#f7f5ee}
@media(max-width:759px){
 .brand-bar{height:auto;min-height:68px;grid-template-columns:auto minmax(0,1fr);gap:0 14px;padding-block:8px}
 .home-account{grid-column:2;gap:12px;font-size:13px}
 #page-back{grid-column:1/-1;grid-row:2;justify-self:start;min-height:40px;padding:4px 0;font-size:13px}
 .entry-copy small{font-size:11px;letter-spacing:.5px}
 .entry-action{font-size:11px;gap:6px}
 .entrance.timing .availability{top:13px;right:14px;font-size:11px;padding:2px 6px}
 .reading-sheet{display:grid;grid-template-columns:minmax(0,1fr) 112px;align-items:center;column-gap:12px;padding:20px}
 .reading-sheet-heading{grid-column:1;grid-row:1}
 .reading-sheet h2{font-size:24px}
 .reading-art{grid-column:2;grid-row:1;width:112px;height:124px;margin:0}
 .reading-sheet .module-link{grid-column:1/-1;padding-block:17px}
 .reading-sheet-heading p{font-size:14px}
 .chart-entry-card{padding:20px}
 .chart-entry-card p{font-size:14px}
 .ask-tools{gap:12px}
 .ask-tool{min-height:110px;padding:18px;gap:20px}
 .ask-tool svg{width:52px}
 .ask-tool h2{font-size:24px;margin-bottom:5px}
 .ask-tool small{font-size:13px}
}
