/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-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{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}.resize{resize:both}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}:root{--night:#04161c;--night-soft:#08242c;--teal:#123a40;--teal-bright:#2c7778;--plum:#6e425f;--cream:#f5ead4;--paper:#f8efd9;--gold:#d8a64a;--gold-light:#f4cf7c;--coral:#d46054;--ink:#2c2023;--line:#eacb882e}*{box-sizing:border-box}html,body{background:var(--night);width:100%;min-height:100%;color:var(--cream);margin:0;overflow:hidden}body{font-family:Noto Serif SC,Songti SC,STSong,Microsoft YaHei,serif}button,input{font:inherit}button{color:inherit}.game-root{isolation:isolate;background:radial-gradient(circle at 66% 40%, #2c77782e, transparent 34%), var(--night);width:100vw;height:100dvh;position:relative;overflow:hidden}.oracle-scene,.oracle-canvas{width:100%;height:100%;position:absolute;inset:0}.oracle-scene{z-index:0}.oracle-canvas{touch-action:none;display:block}.loading-curtain{z-index:100;background:var(--night);color:#f5ead4b8;letter-spacing:.32em;flex-direction:column;justify-content:center;align-items:center;gap:18px;font-size:12px;display:flex;position:absolute;inset:0}.loading-curtain img{border-radius:50%;width:84px;height:84px;animation:2.8s ease-in-out infinite loading-orbit;box-shadow:0 0 42px #d8a64a2e}.loading-curtain i{background:#ffffff1a;width:116px;height:1px;position:relative;overflow:hidden}.loading-curtain i:after{content:"";background:linear-gradient(90deg, transparent, var(--gold-light), transparent);animation:1.4s linear infinite loading-line;position:absolute;inset:0}.game-header{z-index:50;pointer-events:none;background:linear-gradient(#020e12b8,#0000);justify-content:space-between;align-items:center;height:78px;padding:0 28px;display:flex;position:absolute;top:0;left:0;right:0}.brand-lockup,.header-actions,.sound-button{pointer-events:auto}.brand-lockup{appearance:none;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:0;display:flex}.brand-lockup img{border-radius:50%;width:42px;height:42px;box-shadow:0 0 22px #d8a64a33}.brand-lockup span{flex-direction:column;gap:2px;display:flex}.brand-lockup strong{color:#fff5df;letter-spacing:.14em;font-size:16px}.brand-lockup small{color:#f4cf7c8f;letter-spacing:.25em;font-family:Arial,sans-serif;font-size:8px}.header-actions{align-items:center;gap:10px;display:flex}.local-badge{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#d7efe5b3;letter-spacing:.12em;background:#061f26a3;border:1px solid #7ecbc12e;border-radius:999px;align-items:center;gap:7px;height:30px;padding:0 12px;font-size:10px;display:inline-flex}.local-badge i{background:#78c5a7;border-radius:50%;width:6px;height:6px;box-shadow:0 0 10px #78c5a7}.sound-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:34px;height:34px;color:var(--gold-light);cursor:pointer;background:#05181eb8;border:1px solid #f4cf7c33;border-radius:50%;place-items:center;transition:transform .2s,background .2s;display:grid}.sound-button:hover{background:#254b4ed1;transform:rotate(-8deg)scale(1.06)}.intro-screen{z-index:30;opacity:1;visibility:visible;transition:opacity .95s,visibility .95s;position:absolute;inset:0}.intro-screen.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.intro-art{background-image:url(/art/start-screen-v2.webp);background-position:50%;background-size:cover;animation:14s ease-in-out infinite alternate intro-drift;position:absolute;inset:0;transform:scale(1.03)}.intro-vignette{background:radial-gradient(circle at 76% 52%,#0000 18%,#0310161f 48%,#020c118c 100%),linear-gradient(90deg,#02121af5 0%,#02131bc2 33%,#030f140d 64%),linear-gradient(#020d127a,#0000 20% 76%,#010a0eb8);position:absolute;inset:0}.intro-copy{z-index:2;width:min(470px,44vw);position:absolute;top:50%;left:clamp(28px,7vw,120px);transform:translateY(-47%)}.intro-kicker{color:#f4cf7cb8;letter-spacing:.34em;margin-bottom:24px;font-family:Arial,sans-serif;font-size:10px;font-weight:700}.intro-kicker span{color:var(--gold-light);margin:0 8px}.intro-copy h1{color:#fff6e3;letter-spacing:.08em;text-shadow:0 10px 50px #01080b80;margin:0;font-size:clamp(66px,8.5vw,126px);font-weight:700;line-height:.9}.intro-copy h1 em{color:var(--gold-light);letter-spacing:.2em;-webkit-text-fill-color:transparent;background:linear-gradient(#fff0bd,#d99b43);-webkit-background-clip:text;background-clip:text;margin-top:18px;font-size:.72em;font-style:normal;display:inline-block}.intro-copy>p{color:#f2e7d3c2;letter-spacing:.08em;margin:30px 0 0;font-size:15px;line-height:2}.primary-button{appearance:none;color:#fff6e2;background:linear-gradient(115deg, #de9c3df0, #b54b3df0), var(--coral);cursor:pointer;letter-spacing:.12em;border:1px solid #ffe3a038;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;min-height:54px;padding:0 15px 0 22px;font-weight:700;transition:transform .2s,filter .2s,box-shadow .2s;display:flex;box-shadow:0 14px 34px #7e323040,inset 0 1px #ffffff38}.primary-button:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-3px);box-shadow:0 18px 42px #7e323052,inset 0 1px #ffffff47}.primary-button:active:not(:disabled){transform:translateY(1px)scale(.99)}.primary-button:disabled{opacity:.62;cursor:wait}.intro-button{width:238px;margin-top:34px}.intro-button b,.again-button b{background:#ffffff24;border-radius:50%;place-items:center;width:32px;height:32px;font-size:18px;display:grid}.intro-disclaimer{color:#ece0cc6b;letter-spacing:.12em;margin-top:18px;font-size:10px;display:block}.intro-scroll-note{z-index:2;color:#f5ead485;letter-spacing:.26em;writing-mode:vertical-rl;align-items:center;gap:14px;font-family:Arial,sans-serif;font-size:9px;display:flex;position:absolute;bottom:34px;right:35px}.intro-scroll-note i{background:linear-gradient(var(--gold-light), transparent);width:1px;height:55px}.play-ui{z-index:10;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .8s .32s,visibility .8s .32s;position:absolute;inset:0}.play-ui.is-visible{opacity:1;visibility:visible}.control-panel{z-index:12;pointer-events:auto;scrollbar-width:thin;scrollbar-color:#d8a64a4d transparent;background:linear-gradient(155deg, #09272de8, #08171fe6), var(--night-soft);-webkit-backdrop-filter:blur(22px)saturate(1.15);backdrop-filter:blur(22px)saturate(1.15);border:1px solid #e1bd752e;border-radius:22px;width:min(382px,100vw - 48px);padding:28px 25px 22px;animation:.7s cubic-bezier(.2,.8,.2,1) .4s both panel-enter;position:absolute;top:86px;bottom:24px;left:24px;overflow:auto;transform:translate(-22px);box-shadow:0 22px 80px #00000052,inset 0 1px #ffffff0f}.control-panel:before,.fortune-card:before{content:"";pointer-events:none;border:1px solid #f4cf7c14;border-radius:16px;position:absolute;inset:8px}.panel-heading{position:relative}.panel-heading>span{color:var(--gold-light);letter-spacing:.3em;font-family:Arial,sans-serif;font-size:8px;font-weight:700}.panel-heading h2{color:#fff4dc;letter-spacing:.08em;margin:6px 0 0;font-size:22px}.panel-heading p{color:#ebe0cd75;letter-spacing:.06em;margin:8px 0 0;font-size:10px}.panel-heading.compact h2{font-size:19px}.cat-selector{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:20px;display:grid}.cat-option{--cat-accent:#d8a64a;appearance:none;cursor:pointer;text-align:center;background:#ffffff09;border:1px solid #ffffff14;border-radius:13px;min-width:0;padding:0 0 11px;transition:transform .24s,border-color .24s,background .24s,box-shadow .24s;position:relative;overflow:hidden}.cat-option:hover{background:#ffffff12;transform:translateY(-4px)}.cat-option.is-selected{border-color:var(--cat-accent)}@supports (color:color-mix(in lab, red, red)){.cat-option.is-selected{border-color:color-mix(in srgb, var(--cat-accent) 75%, white 10%)}}.cat-option.is-selected{background:var(--cat-accent)}@supports (color:color-mix(in lab, red, red)){.cat-option.is-selected{background:color-mix(in srgb, var(--cat-accent) 10%, #ffffff0a)}}.cat-option.is-selected{box-shadow:0 8px 26px var(--cat-accent)}@supports (color:color-mix(in lab, red, red)){.cat-option.is-selected{box-shadow:0 8px 26px color-mix(in srgb, var(--cat-accent) 18%, transparent)}}.cat-option.is-selected{transform:translateY(-3px)}.cat-portrait{aspect-ratio:1;background:#10171d;width:100%;display:block;position:relative;overflow:hidden}.cat-portrait:after{content:"";background:linear-gradient(#0000 55%,#05141ab8);position:absolute;inset:0}.cat-portrait img{object-fit:cover;width:100%;height:100%;transition:transform .45s;display:block}.cat-option:hover .cat-portrait img,.cat-option.is-selected .cat-portrait img{transform:scale(1.07)}.cat-option-copy{flex-direction:column;align-items:center;padding:9px 2px 0;display:flex}.cat-option-copy small{color:#f4cf7c8f;letter-spacing:.1em;font-size:7px}.cat-option-copy strong{color:#fff3dc;letter-spacing:.1em;margin-top:3px;font-size:16px}.cat-option-copy em{color:#e9decb70;margin-top:2px;font-size:8px;font-style:normal}.selection-ring{background:var(--cat-accent);color:#fff;opacity:0;border-radius:50%;place-items:center;width:19px;height:19px;font-family:Arial,sans-serif;font-size:10px;font-style:normal;transition:all .22s;display:grid;position:absolute;top:7px;right:7px;transform:scale(.55)rotate(-20deg);box-shadow:0 4px 12px #00000052}.cat-option.is-selected .selection-ring{opacity:1;transform:scale(1)rotate(0)}.active-cat-note{background:#ffffff09;border-radius:11px;grid-template-columns:4px 1fr;gap:12px;min-height:62px;margin-top:13px;padding:12px 13px;animation:.35s both note-enter;display:grid}.active-cat-note>span{border-radius:999px;width:4px;height:100%;min-height:36px}.active-cat-note strong{color:#fff1d3e0;letter-spacing:.1em;font-size:11px}.active-cat-note p{color:#ebe0cd73;margin:4px 0 0;font-size:9px;line-height:1.65}.panel-divider{color:#f4cf7c70;align-items:center;gap:12px;margin:22px 0 17px;font-size:9px;display:flex}.panel-divider:before,.panel-divider:after{content:"";background:linear-gradient(90deg,#0000,#f4cf7c2e);flex:1;height:1px}.panel-divider:after{transform:scaleX(-1)}.gua-slots{grid-template-columns:1fr 20px 1fr;align-items:center;gap:7px;margin-top:13px;display:grid}.gua-slots>i{color:#f4cf7c6b;text-align:center;font-size:9px;font-style:normal}.gua-slots button{color:#fff2d98c;cursor:pointer;background:#020f146b;border:1px solid #f3d69a1f;border-radius:10px;justify-content:space-between;align-items:center;min-width:0;height:46px;padding:5px 10px;transition:border-color .2s,background .2s,transform .2s;display:flex}.gua-slots button:hover:not(:disabled){transform:translateY(-2px)}.gua-slots button.is-picking{background:#d8a64a1a;border-color:#f4cf7c7a}.gua-slots button:disabled{cursor:not-allowed;opacity:.42}.gua-slots small{letter-spacing:.12em;font-size:8px}.gua-slots strong{color:#fff0d0;font-size:16px;font-weight:500}.trigram-grid{grid-template-columns:repeat(4,1fr);gap:6px;margin-top:9px;display:grid}.trigram-grid button{color:#fff2d99e;cursor:pointer;background:#ffffff06;border:1px solid #f3d69a1a;border-radius:9px;grid-template-rows:1fr 1fr;grid-template-columns:auto auto;place-content:center;column-gap:5px;min-width:0;height:56px;padding:5px 3px;transition:transform .18s,border-color .18s,background .18s;display:grid}.trigram-grid button:hover:not(:disabled){border-color:#f4cf7c4d;transform:translateY(-2px)}.trigram-grid button.is-selected{color:#fff4da;background:linear-gradient(145deg,#d8a64a33,#be594b17);border-color:#f4cf7cb8;box-shadow:0 5px 16px #00000029}.trigram-grid b{color:var(--gold-light);grid-row:1/3;align-self:center;font-size:25px;font-weight:400;line-height:1}.trigram-grid span{align-self:end;font-size:11px;font-weight:700}.trigram-grid small{color:#ebe0cd59;align-self:start;font-size:7px}.moving-picker{margin-top:13px;animation:.3s both note-enter;display:none}.moving-picker.is-visible{display:block}.moving-picker>span{color:#f4cf7c94;letter-spacing:.18em;font-family:Arial,sans-serif;font-size:8px;font-weight:700}.moving-picker>div{grid-template-columns:repeat(6,1fr);gap:5px;margin-top:7px;display:grid}.moving-picker button{color:#fff2d98c;cursor:pointer;background:#020f146b;border:1px solid #f3d69a1f;border-radius:8px;height:32px;font-size:10px;transition:all .18s}.moving-picker button:hover:not(:disabled),.moving-picker button.is-selected{color:#fff4da;background:#d8a64a29;border-color:#f4cf7ca8;transform:translateY(-2px)}.ritual-button{width:100%;min-height:50px;margin-top:17px;font-size:12px}.ritual-button img{border-radius:50%;width:34px;height:34px;box-shadow:0 0 18px #ffe4a03d}.form-error{text-align:center;color:#ebe0cd5c;letter-spacing:.06em;min-height:15px;margin:12px 0 0;font-size:8px}.form-error.is-visible{color:#f6a79d;animation:.34s error-shake}.scene-caption{z-index:8;pointer-events:none;text-shadow:0 3px 16px #0000008c;flex-direction:column;align-items:center;min-width:235px;display:flex;position:absolute;bottom:35px;left:calc(50% + 180px);transform:translate(-50%)}.scene-cat-name{color:#fff2d5;letter-spacing:.24em;margin-right:-.24em;font-size:30px;font-weight:700}.scene-caption>span:not(.scene-cat-name){color:var(--gold-light);letter-spacing:.2em;margin-top:2px;font-size:9px}.scene-caption>i{background:linear-gradient(90deg, transparent, var(--gold-light), transparent);width:52px;height:1px;margin:10px 0 8px}.scene-caption small{color:#eee2cb6b;letter-spacing:.1em;font-size:8px}.ritual-overlay{z-index:35;opacity:0;visibility:hidden;pointer-events:none;background:radial-gradient(circle at 60% 52%,#0b303414,#020e126b);flex-direction:column;justify-content:center;align-items:center;transition:opacity .45s,visibility .45s;display:flex;position:absolute;inset:0}.ritual-overlay.is-visible{opacity:1;visibility:visible}.ritual-overlay img{border-radius:50%;width:96px;height:96px;animation:3.2s ease-in-out infinite ritual-emblem;box-shadow:0 0 60px #f4cf7c47}.ritual-overlay>span{color:var(--gold-light);letter-spacing:.36em;margin-top:22px;font-family:Arial,sans-serif;font-size:9px;font-weight:700}.ritual-overlay h2{color:#fff4dc;letter-spacing:.12em;text-shadow:0 6px 28px #0000008c;margin:9px 0 22px;font-size:clamp(21px,3vw,32px)}.progress-track{background:#ffffff1a;border-radius:999px;width:min(280px,52vw);height:3px;overflow:hidden}.progress-track i{border-radius:inherit;background:linear-gradient(90deg, var(--coral), var(--gold-light));height:100%;box-shadow:0 0 18px var(--gold);transition:width .55s cubic-bezier(.2,.8,.2,1);display:block}.ritual-overlay>small{color:#f4e7cd6b;margin-top:8px;font-family:Arial,sans-serif;font-size:9px}.result-overlay{z-index:45;opacity:0;visibility:hidden;pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#010b0e94;place-items:center;padding:18px;transition:opacity .55s,visibility .55s;display:grid;position:absolute;inset:0}.result-overlay.is-visible{opacity:1;visibility:visible;pointer-events:auto}.fortune-card{width:min(680px,100vw - 36px);max-height:calc(100dvh - 36px);color:var(--ink);text-align:center;transform-origin:50% 70%;scrollbar-width:thin;scrollbar-color:#764a2d47 transparent;background:linear-gradient(90deg,#a26b3909 50%,#0000 50%) 0 0/28px 28px,linear-gradient(#faf1dc,#f1dfbd);border:1px solid #975e3b47;border-radius:22px;padding:42px 48px 38px;animation:.82s cubic-bezier(.17,.84,.25,1.08) both fortune-reveal;position:relative;overflow:auto;box-shadow:0 32px 120px #00000085,inset 0 1px #fff}.fortune-card:before{border-color:#7e4e2d1f;border-radius:14px;inset:10px}.result-close{color:#412823b3;cursor:pointer;background:#ffffff59;border:1px solid #53322929;border-radius:50%;place-items:center;width:30px;height:30px;font-family:Arial,sans-serif;font-size:20px;display:grid;position:absolute;top:19px;right:20px}.fortune-topline{color:#8d644d;letter-spacing:.2em;justify-content:center;align-items:center;gap:10px;font-size:10px;display:flex}.fortune-topline b{background:var(--coral);color:#fff5df;letter-spacing:.1em;border-radius:4px;padding:4px 8px;font-size:10px}.fortune-seal{background:#fff2d3;border:3px solid #a55545;border-radius:50%;width:84px;height:84px;margin:17px auto 12px;padding:4px;position:relative;box-shadow:0 8px #764a2d17}.fortune-seal img{object-fit:cover;filter:saturate(.9)sepia(.12);border-radius:50%;width:100%;height:100%}.fortune-seal span{color:#a64b42;background:#f8e7c6;border:2px solid #a64b42;border-radius:5px;place-items:center;width:38px;height:38px;font-size:13px;font-weight:700;display:grid;position:absolute;bottom:-4px;right:-18px;transform:rotate(7deg)}.fortune-card h2{color:#3f2a2b;letter-spacing:.16em;margin:12px -.16em 0 0;font-size:clamp(34px,5vw,50px)}.hexagram-full{color:#9a654e;letter-spacing:.14em;margin:5px 0 0;font-size:11px}.hexagram-reading{background:#fff3;border:1px solid #70432d1f;border-radius:12px;grid-template-columns:82px 1fr;align-items:center;gap:18px;width:min(500px,100%);margin:18px auto 0;padding:14px 18px;display:grid}.hexagram-lines{flex-direction:column;gap:5px;display:flex}.hexagram-lines>span{align-items:center;gap:7px;height:7px;display:flex;position:relative}.hexagram-lines i{background:#593d38;border-radius:1px;height:5px;display:block}.hexagram-lines .is-yang i{width:60px}.hexagram-lines .is-yin i{width:26px}.hexagram-lines small{color:#593d386b;font:7px Arial,sans-serif;position:absolute;left:68px}.hexagram-lines .is-moving i{background:#c4594f;box-shadow:0 0 0 2px #c4594f1a}.hexagram-lines .is-moving small{color:#b84d46;font-weight:700}.hexagram-change{grid-template-columns:1fr auto 1fr;align-items:center;gap:11px;min-width:0;display:grid}.hexagram-change>div{flex-direction:column;align-items:center;min-width:0;display:flex}.hexagram-change small{color:#50342d80;letter-spacing:.12em;font-size:8px}.hexagram-change strong{color:#49312f;letter-spacing:-.12em;margin:3px 0 1px;font-size:24px;font-weight:400}.hexagram-change span{color:#6d4b43;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;font-weight:700;overflow:hidden}.hexagram-change>b{color:#a15a4d;white-space:nowrap;font-size:9px;font-weight:500}.hexagram-change em{margin-top:3px;font-size:15px;font-style:normal;display:block}.fortune-poem{color:#9f674f;letter-spacing:.1em;margin:10px 0 0;font-size:14px}.fortune-rule{color:#a45448;align-items:center;gap:12px;width:76%;margin:22px auto;font-size:13px;display:flex}.fortune-rule i{background:linear-gradient(90deg,#0000,#7e4e2d47);flex:1;height:1px}.fortune-rule i:last-child{transform:scaleX(-1)}.fortune-message{color:#5b4340;letter-spacing:.055em;max-width:530px;margin:0 auto;font-size:14px;line-height:1.9}.keyword-row{justify-content:center;gap:8px;margin-top:18px;display:flex}.keyword-row span{color:#7d5b4c;letter-spacing:.12em;background:#ffffff3d;border:1px solid #7a4b3226;border-radius:999px;padding:5px 11px;font-size:9px}.fortune-card blockquote{color:#7d5047;background:#ac5d4914;border-radius:8px;margin:20px 0 0;padding:13px 17px;font-size:12px;line-height:1.7}.fortune-action small{color:#50342d85;letter-spacing:.13em;font-size:8px}.fortune-action{background:#5b5f4117;border-radius:9px;justify-content:center;align-items:center;gap:14px;margin-top:12px;padding:12px 15px;display:flex}.fortune-action strong{color:#4e4533;font-size:12px}.again-button{width:min(330px,100%);min-height:48px;margin:20px auto 0;font-size:11px}.edge-ornament{z-index:2;color:#f4cf7c24;pointer-events:none;text-shadow:0 0 28px #f4cf7c29;position:absolute}.edge-left{font-size:26px;animation:3s ease-in-out infinite twinkle;top:17%;left:46%}.edge-right{font-size:74px;animation:6s ease-in-out infinite float-moon;top:14%;right:4%;transform:rotate(-18deg)}button:focus-visible,input:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}@keyframes loading-orbit{0%,to{filter:brightness(.88);transform:translateY(0)rotate(-3deg)}50%{filter:brightness(1.12);transform:translateY(-8px)rotate(3deg)}}@keyframes loading-line{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes intro-drift{0%{transform:scale(1.03)translate(0)}to{transform:scale(1.07)translate(-.5%,-.6%)}}@keyframes panel-enter{0%{opacity:0;transform:translate(-28px)}to{opacity:1;transform:translate(0)}}@keyframes note-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes error-shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes ritual-emblem{0%,to{transform:translateY(0)rotate(-3deg)scale(1)}50%{transform:translateY(-12px)rotate(3deg)scale(1.06)}}@keyframes fortune-reveal{0%{opacity:0;transform:translateY(50px)rotateX(-9deg)scale(.94)}to{opacity:1;transform:translateY(0)rotateX(0)scale(1)}}@keyframes twinkle{0%,to{opacity:.16;transform:scale(.8)rotate(0)}50%{opacity:.5;transform:scale(1.22)rotate(20deg)}}@keyframes float-moon{0%,to{transform:translateY(0)rotate(-18deg)}50%{transform:translateY(-13px)rotate(-12deg)}}@media (width<=980px){.control-panel{border-radius:20px;width:auto;height:min(460px,52dvh);padding:20px 20px 18px;animation-name:panel-enter-mobile;inset:auto 14px 14px}.cat-selector{margin-top:14px}.cat-portrait{aspect-ratio:1.35}.cat-portrait img{object-position:center 27%}.active-cat-note{display:none}.panel-divider{margin:17px 0 13px}.scene-caption{bottom:calc(min(460px,52dvh) + 28px);left:50%}.edge-left{left:12%}.intro-copy{width:min(420px,54vw)}}@keyframes panel-enter-mobile{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (width<=680px){.game-header{height:64px;padding:0 14px}.brand-lockup img{width:36px;height:36px}.brand-lockup strong{font-size:13px}.brand-lockup small,.local-badge{display:none}.intro-art{background-position:66%}.intro-vignette{background:linear-gradient(#02101747,#02101729 40%,#020d12e6 78%),radial-gradient(circle at 66% 37%,#0000 20%,#020d1257 72%)}.intro-copy{text-align:center;width:auto;inset:auto 22px 54px;transform:none}.intro-kicker{margin-bottom:13px;font-size:8px}.intro-copy h1{font-size:clamp(52px,17vw,76px);line-height:.88}.intro-copy h1 em{margin-top:14px}.intro-copy>p{margin-top:18px;font-size:12px;line-height:1.8}.intro-button{width:min(280px,100%);margin:22px auto 0}.intro-scroll-note{display:none}.control-panel{border-radius:18px;height:58dvh;padding:18px 15px 16px;bottom:8px;left:8px;right:8px}.panel-heading h2{font-size:18px}.panel-heading p,.cat-option-copy small{display:none}.cat-option-copy strong{font-size:14px}.cat-option-copy em{font-size:7px}.gua-slots button{height:42px}.trigram-grid button{height:51px}.trigram-grid b{font-size:22px}.moving-picker{margin-top:10px}.ritual-button{margin-top:14px}.scene-caption{bottom:calc(58dvh + 18px)}.scene-cat-name{font-size:23px}.scene-caption small{display:none}.ritual-overlay{justify-content:flex-start;padding-top:19dvh}.ritual-overlay img{width:78px;height:78px}.fortune-card{border-radius:18px;padding:34px 20px 26px}.fortune-card h2{font-size:34px}.hexagram-reading{grid-template-columns:76px 1fr;gap:10px;padding:12px 10px}.hexagram-change{gap:6px}.hexagram-change strong{font-size:20px}.hexagram-change span,.hexagram-change>b{font-size:8px}.fortune-poem{font-size:12px;line-height:1.7}.fortune-message{font-size:12px}.fortune-action{flex-direction:column;gap:4px}.edge-right{font-size:58px;top:11%;right:-6%}}@media (height<=720px) and (width>=981px){.control-panel{padding-top:20px;top:76px;bottom:12px}.cat-portrait{aspect-ratio:1.35}.active-cat-note{display:none}.panel-divider{margin:15px 0 12px}.ritual-button{min-height:46px;margin-top:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
