*{box-sizing:border-box}:root{--color-bg: #e8e6e0;--color-ink: #0f1419;--color-cream: #f7f6f2;--color-ink-muted: rgba(15, 20, 25, .68);--color-heading: #1a2838;--color-accent: #2c4a6e;--font-display: "Prata", "Times New Roman", serif;--font-body: "Source Serif 4", Georgia, "Times New Roman", serif;--font-label: "Cinzel", Georgia, serif;font-family:var(--font-body);font-size:18px;line-height:1.58;color:var(--color-ink);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0}#root{min-height:100vh}button{font-family:var(--font-body)}code,.inline-code{font-family:ui-monospace,Cascadia Code,monospace}.app{--color-bg: #e8e6e0;--color-ink: #0f1419;--color-cream: #f7f6f2;--color-ink-muted: rgba(15, 20, 25, .68);--color-heading: #1a2838;--color-accent: #2c4a6e;--frame-radius: 28px;--frame-border: 2px solid var(--color-ink);position:relative;min-height:100vh;display:flex;flex-direction:column;color:var(--color-ink);background:var(--color-bg)}.wave-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:1}.wave-backdrop path{stroke:var(--color-ink);fill:none}.app-shade{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 85% 55% at 12% 8%,rgba(44,74,110,.07) 0%,transparent 58%),radial-gradient(ellipse 70% 60% at 88% 92%,rgba(15,20,25,.05) 0%,transparent 55%),radial-gradient(ellipse 50% 40% at 50% 45%,rgba(247,246,242,.4) 0%,transparent 65%)}.app-header{position:relative;z-index:1;padding:1.75rem 1.25rem 1.5rem;text-align:center;border-bottom:var(--frame-border);background:#f5f1e659;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.app-header h1{font-family:var(--font-display, "Prata", serif);font-size:clamp(2.1rem,5vw,3rem);font-weight:400;margin:0;color:var(--color-ink);letter-spacing:.06em;line-height:1.15}.subtitle{margin:.6rem 0 0;font-family:var(--font-label, "Cinzel", serif);font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);font-style:normal}.app-main{position:relative;z-index:1;flex:1;max-width:920px;margin:0 auto;padding:1.35rem 1.25rem 2.25rem;width:100%}.casting-row{display:grid;grid-template-columns:1fr minmax(200px,260px);gap:1.35rem;align-items:start;margin-bottom:1.65rem}@media (max-width: 768px){.casting-row{grid-template-columns:1fr}}.casting-panel{background:var(--color-cream);border:var(--frame-border);border-radius:var(--frame-radius);padding:1.35rem 1.4rem;box-shadow:4px 4px 0 var(--color-ink),8px 8px #1a1a1a12}.hex-panel{text-align:center}.hex-panel-label{margin:0 0 .55rem;font-family:var(--font-label, "Cinzel", serif);font-size:.72rem;font-weight:600;letter-spacing:.1em;color:var(--color-accent)}.hex-panel-note{margin:.85rem 0 0;font-size:.8rem;font-style:italic;color:var(--color-ink-muted)}.hexagram-panel-inline{display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:.85rem 0}.coin-input{text-align:left}.coin-instruction{margin:0 0 1rem;font-size:1.02rem;line-height:1.5;font-weight:500;color:var(--color-ink)}.coin-key{margin-bottom:1.15rem;padding:.75rem .85rem;background:#e8e2d4e6;border:1.5px dashed rgba(20,20,20,.22);border-radius:14px;font-size:.9rem;color:var(--color-heading)}.coin-key-row{display:flex;align-items:center;gap:.5rem;margin:.25rem 0}.coin-key-row.muted{margin-top:.55rem;opacity:.88}.coin-key-row.small{font-size:.82rem;flex-wrap:wrap}.coin-key-sample{display:inline-flex;width:1.5rem;justify-content:center;font-size:1rem;font-weight:700}.coin-key-sample.tails{color:var(--color-heading)}.coin-key-sample.heads{color:var(--color-ink)}.line-inputs{display:flex;flex-direction:column;gap:.6rem}.line-row{display:flex;align-items:center;gap:.75rem;padding:.45rem .55rem;background:#e8e2d4a6;border-radius:12px;border:1px solid rgba(26,26,26,.12)}.line-label{flex:0 0 2rem;font-family:var(--font-body);font-size:.82rem;font-weight:600;letter-spacing:.02em;color:var(--color-heading)}.three-coins{display:flex;gap:.45rem}.coin{width:2.1rem;height:2.1rem;border-radius:50%;border:2px solid var(--color-ink);background:var(--color-cream);color:var(--color-ink);font-size:1rem;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform .12s ease,background .15s,border-color .15s}@media (hover: hover) and (pointer: fine){.coin.tails:hover:not(:disabled){background:#fff;transform:translateY(-1px)}.coin.heads:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-1px)}}.coin.heads{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-cream)}.coin.tails{background:var(--color-cream)}.line-value{flex:1;text-align:right;font-weight:600;font-family:var(--font-body);font-size:1.05rem;color:var(--color-ink)}.hexagram-svg{width:200px;height:168px;color:var(--color-ink)}.hexagram-svg .hex-line-group{cursor:default}.hexagram-svg .hex-segment{pointer-events:stroke}.hexagram-unicode{font-family:var(--font-display);font-size:2.85rem;margin:0;color:var(--color-ink);line-height:1}.hex-panel-number{margin:.35rem 0 0;font-family:var(--font-body);font-size:.88rem;font-weight:600;letter-spacing:.04em;color:var(--color-heading)}.results-section{animation:fadeIn .55s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.interpretation{background:var(--color-cream);border:var(--frame-border);border-radius:var(--frame-radius);padding:1.5rem 1.55rem;margin-bottom:1.5rem;color:var(--color-ink);box-shadow:4px 4px 0 var(--color-ink),8px 8px #1a1a1a0f}.hexagram-number-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.65rem 1rem;margin:0 0 .75rem}.hexagram-number-badge{display:inline-block;font-family:var(--font-label);font-size:.95rem;font-weight:600;letter-spacing:.14em;color:var(--color-ink);padding:.35rem .65rem;border:2px solid var(--color-ink);border-radius:999px;background:#f5f1e6e6;box-shadow:2px 2px 0 var(--color-ink)}.hexagram-number-badge--sm{font-size:.78rem;padding:.25rem .5rem;box-shadow:1px 1px 0 var(--color-ink);margin-right:.15rem;vertical-align:middle}.hexagram-number-note{font-size:.78rem;font-style:italic;color:var(--color-ink-muted);max-width:20rem;line-height:1.35}.hexagram-header h2{font-family:var(--font-display);font-size:clamp(1.45rem,3.5vw,1.85rem);font-weight:400;margin:0 0 .3rem;color:var(--color-ink);letter-spacing:.04em;line-height:1.2}.chinese{margin:0 0 1.15rem;font-size:1.06rem;color:var(--color-ink);font-weight:500}.inline-code{font-size:.85em!important;background:#e8e2d4e6!important;border:1px solid rgba(26,26,26,.12)}.overview h3,.lines-section h3,.resulting-hexagram h3{font-family:var(--font-body);font-size:.92rem;font-weight:600;margin:1.25rem 0 .65rem;letter-spacing:.04em;color:var(--color-heading);text-transform:none;border-bottom:1px solid rgba(44,74,110,.18);padding-bottom:.35rem}.overview h3:first-child,.lines-section h3:first-child{margin-top:0}.overview p,.interpretation p{margin:0 0 .75rem;line-height:1.65;font-size:1.06rem;color:var(--color-ink)}.translation-stanza{margin:0 0 1rem}.translation-stanza:last-child{margin-bottom:0}.translation-source{margin:0 0 .4rem;font-family:var(--font-body);font-size:.8rem;font-weight:600;letter-spacing:.02em;color:var(--color-accent)}.translation-prose p{margin:0 0 .5rem}.translation-prose p:last-child{margin-bottom:0}.plain-read-card{background:var(--color-cream);border:1.5px solid rgba(44,74,110,.22);border-radius:16px;padding:1.05rem 1.2rem;margin:0 0 1.15rem;box-shadow:inset 0 1px #ffffffbf,3px 4px #0f14190f}.plain-read-card .sober-read{margin-bottom:0!important}.sober-read{font-style:normal!important;color:var(--color-ink)!important;border-left:3px solid var(--color-accent);padding-left:.9rem;margin-bottom:.95rem!important;font-size:1.05rem;line-height:1.68}.transformation-intro{margin:0 0 .75rem;font-size:1.02rem;color:var(--color-ink)}.transformation-subheading{font-family:var(--font-body);font-size:.92rem;font-weight:600;letter-spacing:.04em;color:var(--color-heading);margin:1.15rem 0 .5rem;text-transform:none;border-bottom:1px solid rgba(44,74,110,.15);padding-bottom:.3rem}.lines-hint{font-size:.92rem;font-style:normal;color:var(--color-ink-muted);line-height:1.5}.line-item{margin-top:.5rem;border:1.5px solid rgba(15,20,25,.12);border-radius:12px;overflow:hidden;background:#f7f6f2d9}.line-summary-label{font-weight:600;min-width:4.25rem}.line-summary{width:100%;display:flex;align-items:center;gap:.65rem;padding:.6rem .9rem;background:transparent;border:none;color:var(--color-ink);font-family:var(--font-body);font-size:1rem;cursor:pointer;text-align:left}.line-summary:hover{background:#e8e2d4e6}.line-type{flex:1;font-style:normal;color:var(--color-ink-muted);font-size:.95rem}.changing-badge{font-family:var(--font-body);font-size:.72rem;font-weight:600;letter-spacing:.04em;padding:.2rem .45rem;background:#1414140f;border:1px solid rgba(20,20,20,.14);border-radius:6px;text-transform:none;color:var(--color-heading)}.line-expanded{padding:.85rem .95rem 1rem;background:#e8e2d48c;border-top:1px solid rgba(20,20,20,.1)}.line-expanded .translation-stanza{margin-bottom:1.1rem}.line-expanded .translation-stanza:last-child{margin-bottom:0}.line-reading{font-style:normal;line-height:1.62;font-size:1.02rem;color:var(--color-ink);white-space:pre-wrap}.resulting-hexagram{margin-top:1.6rem;padding-top:1.35rem;border-top:1.5px solid rgba(26,26,26,.15)}.resulting-hexagram h4{font-family:var(--font-display);margin:.5rem 0;font-size:1.25rem;font-weight:400;letter-spacing:.03em;color:var(--color-ink);line-height:1.35}.cast-again{display:block;margin:0 auto;padding:.65rem 1.85rem;font-family:var(--font-label);font-size:.74rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;background:var(--color-cream);border:2px solid var(--color-ink);border-radius:999px;color:var(--color-ink);cursor:pointer;box-shadow:3px 3px 0 var(--color-ink),6px 6px #1a1a1a12;transition:transform .12s ease,box-shadow .12s ease}.cast-again:hover{transform:translate(1px,1px);box-shadow:2px 2px 0 var(--color-ink),4px 4px #1a1a1a12}.cast-again:active{transform:translate(3px,3px);box-shadow:none}.app-footer{position:relative;z-index:1;padding:1.15rem 1rem;text-align:center;font-family:var(--font-body);font-size:.88rem;font-style:italic;color:var(--color-ink-muted);border-top:var(--frame-border);background:#f5f1e659;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media (max-width: 480px){.app-header h1{font-size:1.95rem}.three-coins .coin{width:1.85rem;height:1.85rem;font-size:.9rem}.hexagram-svg{width:100%;max-width:180px;height:auto}}
