/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--spacing:.25rem;--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--background:#f6f1e7;--foreground:#1c1a17;--ink:#1c1a17;--muted:#746b5f;--paper:#fffaf0;--paper-strong:#fff4d9;--line:#d9c7a3;--red:#9b2f28;--green:#346b52;--blue:#264c73;--coin:#c9963b;--coin-dark:#80551d}*{box-sizing:border-box}body{background:radial-gradient(circle at 18% 12%, #9b2f281c, transparent 26rem), linear-gradient(135deg, #264c731f, transparent 34rem), var(--background);min-height:100vh;color:var(--foreground);margin:0;font-family:Arial,Helvetica,sans-serif}button,textarea{font:inherit}button{min-height:44px;color:var(--ink);cursor:pointer;background:#fffdf7;border:1px solid #1c1a172e;border-radius:8px;padding:0 18px;transition:transform .16s,box-shadow .16s,background .16s}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 22px #251d121f}button:disabled{cursor:not-allowed;opacity:.48}button.primary{border-color:var(--red);background:var(--red);color:#fff}button.ai-button{background:var(--blue);color:#fff;border-color:#264c7373}button.prompt-button{background:var(--green);color:#fff;border-color:#346b5273}.page-shell{width:100%;min-height:100vh;padding:36px 18px}.divination-board{width:min(1180px,100%);margin:0 auto}.intro{gap:12px;margin-bottom:28px;display:grid}.eyebrow{color:var(--red);margin:0;font-size:14px;font-weight:700}h1{color:var(--ink);margin:0;font-size:clamp(38px,7vw,78px);font-weight:800;line-height:.95}.lede{color:#53493e;max-width:780px;margin:0;font-size:18px;line-height:1.75}.casting-grid,.result-grid{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:18px;margin-top:18px;display:grid}.casting-card,.record-card,.hex-panel,.reading-strip,.ai-reading{background:#fffaf0e0;border:1px solid #6c573238;border-radius:8px;box-shadow:0 18px 44px #30220e17}.casting-card,.record-card,.hex-panel{padding:22px}label,.panel-heading span,.reading-strip span{color:var(--muted);font-size:13px;font-weight:700}textarea{resize:vertical;width:100%;min-height:112px;color:var(--ink);background:#fffdf7;border:1px solid #6c57323d;border-radius:8px;outline:none;margin-top:10px;padding:14px 16px;line-height:1.7}textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px #264c731f}.coins{justify-content:center;gap:18px;min-height:94px;padding:12px 0 14px;display:flex}.coin-legend{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px;display:flex}.coin-legend span{color:#6d5128;background:#fffdf7b8;border:1px solid #80551d3d;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:700}.coin{border:5px solid var(--coin-dark);background:radial-gradient(circle at 35% 30%, #ffe6a6, transparent 28px), linear-gradient(145deg, #dba84a, var(--coin));color:#5f3f13;border-radius:999px;align-content:center;place-items:center;gap:2px;width:68px;height:68px;font-weight:800;display:grid;box-shadow:inset 0 0 0 4px #fff6c373,0 12px 22px #52320c38}.coin strong{font-size:17px;line-height:1}.coin em{font-size:12px;font-style:normal;line-height:1}.coin.tail{color:#fff7ef;background:radial-gradient(circle at 35% 30%,#ffd8ce,#0000 28px),linear-gradient(145deg,#cf755e,#9b2f28);border-color:#6f2d26}.coin.empty{color:#746b5f;background:linear-gradient(145deg,#f3ead9,#ded0b7);border-color:#746b5f47}.coins.shaking .coin{animation:.42s flip}.coins.shaking .coin:nth-child(2){animation-delay:60ms}.coins.shaking .coin:nth-child(3){animation-delay:.12s}@keyframes flip{0%{transform:translateY(0)rotateY(0)}50%{transform:translateY(-14px)rotateY(180deg)}to{transform:translateY(0)rotateY(360deg)}}.actions{flex-wrap:wrap;gap:10px;display:flex}.progress{color:var(--muted);justify-content:space-between;align-items:center;gap:14px;margin-top:18px;font-size:14px;display:flex}.progress div{gap:6px;display:flex}.progress i{background:#746b5f38;border-radius:99px;width:28px;height:7px}.progress i.filled{background:var(--green)}.panel-heading{justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:16px;display:flex}.panel-heading strong{color:var(--ink);font-size:18px}.records{gap:8px;display:grid}.record{background:#ffffff7a;border:1px solid #6c57321f;border-radius:8px;grid-template-columns:70px minmax(110px,1fr) minmax(86px,auto);align-items:center;gap:12px;min-height:44px;padding:8px 10px;display:grid}.record span,.record em{color:var(--muted);font-size:13px;font-style:normal}.record strong{color:#8a8176;font-size:15px}.record.filled{background:#fffdf7}.record.filled strong{color:var(--ink)}.hex-panel{min-height:360px}.hex-lines{justify-items:center;gap:13px;padding:12px 0 20px;display:grid}.line-row{grid-template-columns:180px 18px;align-items:center;gap:12px;display:grid}.line{background:var(--ink);border-radius:99px;width:180px;height:14px;display:block;position:relative}.line.yin{background:linear-gradient(90deg, var(--ink) 0 42%, transparent 42% 58%, var(--ink) 58% 100%)}.line.yin span{display:none}.line.pending{background:#746b5f33}.moving-dot{background:0 0;border-radius:999px;width:10px;height:10px}.moving-dot.active{background:var(--red)}.trigram-pair{flex-wrap:wrap;gap:8px;margin:2px 0 14px;display:flex}.trigram-pair span{color:#2f5948;background:#346b521a;border-radius:999px;padding:6px 10px;font-size:13px}.hex-panel p{color:#53493e;min-height:54px;margin:0;font-size:16px;line-height:1.7}.reading-strip{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:1px;margin-top:18px;display:grid;overflow:hidden}.reading-strip div{background:#fffdf7bf;gap:8px;padding:18px 22px;display:grid}.reading-strip strong{color:var(--ink);font-size:19px}.ai-reading{margin-top:18px;padding:22px}.ai-empty,.ai-error,.ai-output p{color:#53493e;margin:0;font-size:16px;line-height:1.8}.ai-output{gap:10px;display:grid}.ai-output p:empty{display:none}.prompt-preview{white-space:pre-wrap;min-height:280px;margin-top:0;font-size:14px;line-height:1.75}.ai-error{color:var(--red);background:#9b2f2814;border:1px solid #9b2f283d;border-radius:8px;padding:12px 14px}@media (width<=860px){.page-shell{padding:24px 12px}.casting-grid,.result-grid,.reading-strip{grid-template-columns:1fr}.line-row{grid-template-columns:minmax(132px,168px) 18px}.line{width:100%}}@media (width<=540px){.casting-card,.record-card,.hex-panel{padding:16px}.coin{width:56px;height:56px}.record{grid-template-columns:58px 1fr}.record em{grid-column:2}}
