:root{--bg:#e8f0f4;--ink:#1f2a2e;--muted:#4a5c63;--accent:#2f6f5e;--accent2:#c4a35a;--line:rgba(31,42,46,.12);--card:rgba(255,252,247,.9);--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--sans:"Segoe UI","Helvetica Neue",Arial,sans-serif}*{box-sizing:border-box}body,html{margin:0;min-height:100%;color:var(--ink);font-family:var(--sans);background-color:var(--bg)}body{background-image:linear-gradient(180deg,rgba(232,240,244,.35),rgba(255,252,247,.55) 40%,rgba(232,240,244,.72)),url(/art/oriental-mountains-bg.png);background-size:cover;background-attachment:fixed;background-position:top}.shell{max-width:760px;margin:0 auto;padding:2.5rem 1.25rem 4rem}.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(1.55rem,4vw,2.15rem);line-height:1.3;margin:.4rem 0 .8rem;color:#17343a}.eyebrow{letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;color:var(--accent);margin:0}.quota-banner{margin:1rem 0 0;padding:.9rem 1.1rem;border:1px solid var(--line);background:rgba(255,248,235,.9);text-align:center}.quota-banner-text{margin:0;color:var(--ink);font-size:.95rem;line-height:1.5}.quota-countdown{margin:.55rem 0 0;color:var(--muted);font-size:.9rem}.quota-timer{display:inline-block;-webkit-margin-start:.25rem;margin-inline-start:.25rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;color:var(--accent);letter-spacing:.04em}.fine,.hint,.note{color:var(--muted);font-size:.92rem;line-height:1.55}.lang-switch{display:flex;flex-direction:column;gap:.35rem;margin-top:1rem;font-size:.85rem;color:var(--muted)}.card-form button,.card-form input,.card-form select,.card-form textarea,.copy-btn,.gate button,.lang-switch select{width:100%;border-radius:12px;border:1px solid var(--line);background:#fffefb;color:var(--ink);padding:.75rem .9rem;font:inherit}.card-form,.gate,.report{margin-top:1.5rem;padding:1.35rem;border:1px solid var(--line);border-radius:18px;background:var(--card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 12px 40px rgba(23,52,58,.08)}.card-form{display:grid;grid-gap:1rem;gap:1rem}.card-form label{display:grid;grid-gap:.35rem;gap:.35rem;font-size:.92rem}.card-form .check{grid-template-columns:auto 1fr;align-items:center}.date-block,.gender-block,.place-block,.time-block{border:1px solid var(--line);border-radius:14px;padding:.9rem;background:hsla(0,0%,100%,.55)}.date-block legend,.gender-block legend,.time-block legend{padding:0 .35rem;font-weight:600}.gender-row{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:.35rem}.card-form .radio{display:inline-flex;align-items:center;gap:.4rem;font-size:.95rem;cursor:pointer}.card-form .radio input{width:auto;margin:0;accent-color:#2f6f5e}.date-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.55rem;gap:.55rem;margin-top:.35rem}.ornament{width:112px;height:112px;object-fit:cover;border-radius:50%;margin:.75rem 0;border:1px solid rgba(47,111,94,.15);background:#fff;box-shadow:0 8px 24px rgba(47,111,94,.12)}.time-row{display:grid;grid-template-columns:1fr auto 1fr auto;grid-gap:.5rem;gap:.5rem;align-items:end;margin:.5rem 0 .75rem}.time-row .colon{padding-bottom:.85rem;font-weight:700}.time-preview{padding-bottom:.85rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--accent);font-weight:700}.place-list{list-style:none;margin:.5rem 0 0;padding:0;max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}.place-list button{width:100%;text-align:left;border:none;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:.7rem .85rem;cursor:pointer}.place-list li:last-child button{border-bottom:none}.place-list button:hover{background:rgba(47,111,94,.08)}.place-selected{margin:.5rem 0 0;color:var(--accent);font-size:.9rem}.legal-notes{display:grid;grid-gap:.45rem;gap:.45rem;margin:.75rem 0 0;-webkit-padding-start:1.15rem;padding-inline-start:1.15rem;list-style:disc}.legal-notes .fine{margin:0}.generating-hint{margin:.35rem 0 0;text-align:center}.card-form>button[type=submit],.copy-btn,.gate button{background:linear-gradient(135deg,#3a8f78,#2f6f5e);border:none;color:#fff;cursor:pointer;font-weight:650}.card-form button:disabled{opacity:.6;cursor:wait}.error{color:#a33b2b}.ad-slot{margin:1rem 0 1.25rem;min-height:120px;border:1px dashed var(--line);border-radius:12px;display:grid;place-items:center;background:hsla(0,0%,100%,.5)}.ad-placeholder{opacity:.45;letter-spacing:.2em}.report-title{font-family:var(--serif);font-weight:560;line-height:1.3;margin:0 0 .75rem}.report .pillar{width:100%;border-radius:14px;margin:.5rem 0 1.25rem;display:block;box-shadow:0 10px 28px rgba(23,52,58,.12)}.report-body{line-height:1.7}.report-body .report-section,.report-body section{margin:0 0 1.35rem;padding:1rem 1rem .85rem;border-radius:14px;background:hsla(0,0%,100%,.55);border:1px solid rgba(47,111,94,.1)}.report-body .report-h,.report-body h2{font-family:var(--serif);font-size:1.2rem;margin:0 0 .65rem;color:#1d4a45;border-bottom:1px solid rgba(196,163,90,.45);padding-bottom:.35rem}.report-body h3{font-size:1rem;margin:.4rem 0 .45rem;color:#2f6f5e}.report-body .lead{font-size:1.05rem;color:#2b3f45}.report-body .energy-tags{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:.6rem 0 .9rem}.report-body .energy-tags .tag{display:inline-flex;flex-direction:column;gap:.15rem;min-width:5.5rem;padding:.55rem .7rem;border-radius:12px;background:linear-gradient(180deg,#f7fbf9,#eef6f2);border:1px solid rgba(47,111,94,.18)}.report-body .energy-tags .tag strong{color:#2f6f5e}.report-body .energy-tags .tag span{font-size:.82rem;color:var(--muted)}.report-body .split{display:grid;grid-gap:.85rem;gap:.85rem}@media (min-width:640px){.report-body .split{grid-template-columns:1fr 1fr}}.report-body .action-list{margin:.4rem 0 0;padding-left:1.2rem}.report-body .action-list li{margin-bottom:.75rem}.report-body .pull,.report-body blockquote{margin:.85rem 0;padding:.85rem 1rem;border-left:3px solid var(--accent2);background:rgba(196,163,90,.12);border-radius:0 12px 12px 0;font-family:var(--serif)}.report-body .disclaimer,.report-body aside.disclaimer{margin-top:1rem;padding:.9rem 1rem;border-radius:12px;background:rgba(47,111,94,.08);font-size:.9rem;color:var(--muted)}.report-body .teaser-more{margin:.5rem 0 0;color:var(--accent);font-weight:650;letter-spacing:.12em}.share-box{margin-top:1.5rem;padding-top:1.1rem;border-top:1px solid var(--line);display:grid;grid-gap:.65rem;gap:.65rem}.share-prompt{margin:0;font-weight:600}.share-url{margin:0;font-size:.85rem;word-break:break-all;color:var(--muted)}