@tailwind base;@tailwind components;@tailwind utilities;:root{--bg-primary:#F7F6F3;--bg-secondary:#EFEEE9;--bg-card:#FFFFFF;--bg-card-hover:#FAFAF9;--bg-dark:#1C1917;--bg-dark-secondary:#292524;--text-primary:#1C1917;--text-secondary:#57534E;--text-muted:#78716C;--text-inverse:#FAFAF9;--accent:#9A3412;--accent-light:#C2410C;--accent-bg:#FFF1E8;--success:#166534;--success-bg:#DCFCE7;--danger:#9A3412;--danger-bg:#FEE2E2;--info:#1E40AF;--info-bg:#DBEAFE;--border:#E4E1DA;--border-strong:#CBC6BC;--seal-red:#DC2626;--ink-wash:#78716C;--shadow-color:rgba(12,10,9,0.08);--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--color-text:var(--text-primary);--color-text-muted:var(--text-secondary);--color-gold:var(--accent);--color-gold-light:var(--accent-light);--color-jade:var(--success);--color-cinnabar:var(--danger);--radius-md-legacy:8px}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{background:var(--bg-primary)}body{margin:0;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font:inherit}button{letter-spacing:0}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--ink-wash)}.card{box-shadow:0 1px 2px var(--shadow-color)}.card,.card-elevated{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary)}.card-elevated{box-shadow:0 4px 24px var(--shadow-color),0 1px 3px var(--shadow-color)}.sep{height:1px;background:var(--border);border:none;margin:0}.tag{display:inline-flex;align-items:center;padding:3px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:500;border:1px solid;white-space:nowrap}.tag-accent{color:var(--accent);border-color:rgba(180,83,9,.2);background:var(--accent-bg)}.tag-success{color:var(--success);border-color:rgba(22,101,52,.15);background:var(--success-bg)}.tag-danger{color:var(--danger);border-color:rgba(154,52,18,.15);background:var(--danger-bg)}.tag-info{color:var(--info);border-color:rgba(30,64,175,.15);background:var(--info-bg)}.tag-muted{color:var(--text-muted);border-color:var(--border);background:var(--bg-secondary)}.tag-gold{color:var(--accent);border-color:rgba(180,83,9,.2);background:var(--accent-bg)}.tag-red{color:var(--danger);border-color:rgba(154,52,18,.15);background:var(--danger-bg)}.tag-blue{color:var(--info);border-color:rgba(30,64,175,.15);background:var(--info-bg)}.tag-teal{color:var(--success);border-color:rgba(22,101,52,.15);background:var(--success-bg)}.app-shell{background:var(--bg-primary);min-height:100vh}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:70;min-height:64px;border-bottom:1px solid rgba(228,225,218,.9);background:rgba(247,246,243,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.site-header__inner{width:min(100% - 40px,1120px);min-height:64px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px}.site-brand{display:inline-flex;align-items:center;gap:10px;border:0;padding:0;color:var(--text-primary);background:transparent;cursor:pointer}.site-brand__mark{width:32px;height:32px;display:grid;place-items:center;border-radius:7px;color:#fff;background:var(--accent)}.site-brand__mark,.site-brand__name{font-family:"Noto Serif SC",serif;font-weight:700}.site-brand__name{font-size:17px}.app-container{position:relative;z-index:1;width:min(100% - 40px,720px);margin:0 auto;padding:48px 0 56px}.app-container--narrow{width:min(100% - 40px,600px)}.app-container--wide{width:min(100% - 40px,1080px)}.top-nav{justify-content:space-between;height:64px;padding:0 48px;width:100%}.top-nav,.top-tools{display:flex;align-items:center}.top-tools{gap:10px}.top-pill{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);font-size:13px;font-weight:600;cursor:pointer;box-shadow:none;transition:border-color .16s,background .16s}.top-pill:hover{border-color:var(--border-strong);background:#fff}.account-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:80;width:168px;padding:6px;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;box-shadow:0 14px 36px rgba(28,25,23,.12)}.account-menu button{width:100%;min-height:38px;display:flex;align-items:center;gap:9px;padding:8px 10px;border:0;border-radius:var(--radius-sm);color:var(--text-secondary);background:transparent;font-size:13px;text-align:left;cursor:pointer}.account-menu button:hover{color:var(--text-primary);background:var(--bg-secondary)}.account-menu .account-menu__danger{color:var(--danger)}.hero-block{text-align:center;margin-bottom:24px}.brand-mark{display:none}.hero-eyebrow{margin:0 0 10px;color:var(--accent);font-size:12px;font-weight:700}.hero-title{margin:0;color:var(--text-primary);font-family:"Noto Serif SC",serif;font-size:36px;line-height:1.25;font-weight:700}.hero-copy{max-width:500px;margin:12px auto 0;color:var(--text-secondary);font-size:15px;line-height:1.75}.guide-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin-bottom:16px}.guide-item{display:flex;align-items:flex-start;gap:10px;padding:13px 12px;background:rgba(255,255,255,.66);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 1px 4px rgba(12,10,9,.04)}.guide-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;color:var(--accent);background:var(--accent-bg)}.task-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 10px 28px rgba(28,25,23,.06)}.field-input,.task-panel{color:var(--text-primary)}.field-input{display:block;width:100%;max-width:100%;min-width:0;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);outline:none;font-size:15px;transition:border-color .2s,box-shadow .2s}.field-input::placeholder{color:var(--text-muted)}.field-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(154,52,18,.1)}.field-label{display:block;margin:0 0 6px;color:var(--text-primary);font-size:15px;font-weight:700}.field-help{margin:0 0 14px;color:var(--text-secondary);font-size:13px;line-height:1.6}.time-input{min-height:46px;padding:12px 14px;font-size:14px;line-height:1.4;-moz-appearance:none;appearance:none;-webkit-appearance:none}.time-input::-webkit-date-and-time-value{text-align:left}.time-input::-webkit-calendar-picker-indicator{flex-shrink:0;margin-left:6px}.segmented-control{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:4px;gap:4px;padding:4px;border-radius:var(--radius-md);background:var(--bg-secondary)}.segmented-control button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text-secondary);cursor:pointer;font-weight:500;transition:all .18s}.primary-action{display:block;width:100%;margin-top:14px;padding:14px 0;min-height:48px;border-radius:var(--radius-md);border:none;font-size:15px;font-weight:700;background:var(--bg-dark);color:var(--text-inverse);cursor:pointer;box-shadow:0 8px 18px rgba(28,25,23,.14);transition:background .18s,box-shadow .18s,opacity .18s}.primary-action:not(:disabled):hover{background:#0f0d0b;box-shadow:0 10px 22px rgba(28,25,23,.18)}.primary-action:disabled{background:#E4E1DA;color:#6F6961;cursor:not-allowed;box-shadow:none}.loading-spinner{width:16px;height:16px;flex:0 0 auto;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spinSlow .8s linear infinite}.chat-send-button{flex-shrink:0;min-width:84px;min-height:44px;padding:0 16px;border:none;border-radius:8px;background:var(--bg-dark);color:#fffaf0;font-size:13px;font-weight:800;cursor:pointer;box-shadow:0 6px 14px rgba(28,25,23,.18);transition:background .18s,color .18s,opacity .18s,box-shadow .18s;display:inline-flex;align-items:center;justify-content:center;gap:7px}.chat-send-button:hover:not(:disabled){background:#0f0d0b;box-shadow:0 8px 18px rgba(28,25,23,.22)}.chat-send-button:disabled{background:#e7e5e4;color:#78716c;border:1px solid #d6d3d1;cursor:not-allowed;box-shadow:none}.chat-login-prompt{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px;padding:20px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff}.chat-login-prompt h2{margin:0 0 5px;font-size:15px}.chat-login-prompt p{margin:0;color:var(--text-secondary);font-size:13px;line-height:1.65}.chat-panel{margin-top:16px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff}.chat-header{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px 10px 16px;border-bottom:1px solid var(--border)}.chat-header>div{display:grid;grid-gap:3px;gap:3px}.chat-header strong{color:var(--text-primary);font-size:14px}.chat-header span{color:var(--text-muted);font-size:11px}.chat-messages{min-height:150px;max-height:420px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:18px;background:var(--bg-primary)}.chat-empty{margin:auto;color:var(--text-muted);font-size:13px;line-height:1.65;text-align:center}.chat-message-row{display:flex;justify-content:flex-start}.chat-message-row--user{justify-content:flex-end}.chat-bubble{max-width:84%;padding:10px 13px;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);background:#fff;font-size:14px;line-height:1.7;white-space:pre-wrap}.chat-bubble--user{border-color:rgba(154,52,18,.22);background:var(--accent-bg)}.chat-composer{padding:12px;border-top:1px solid var(--border);background:#fff}.chat-composer .status-message,.chat-hints{margin-bottom:10px}.chat-hints{display:flex;flex-wrap:wrap;gap:6px}.chat-input-row{display:flex;align-items:flex-end;gap:8px}.chat-input{flex:1 1;min-height:44px;max-height:120px;padding:9px 11px;resize:vertical;line-height:1.55}.chat-fullscreen{position:fixed;inset:0;z-index:210;display:flex;justify-content:center;background:var(--bg-primary)}.chat-panel--fullscreen{width:min(100%,820px);height:100dvh;margin:0;display:flex;flex-direction:column;border-block:0;border-radius:0}.chat-panel--fullscreen .chat-messages{flex:1 1;max-height:none}.history-result-overlay{position:fixed;inset:0;z-index:190;overflow-y:auto;color:var(--text-primary);background:var(--bg-primary)}.history-result-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 20px;border-bottom:1px solid var(--border);background:rgba(247,246,243,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.history-result-content{width:min(100% - 40px,720px);margin:0 auto;padding:32px 0 64px}.share-page{min-height:100vh;padding:0 20px 64px;color:var(--text-primary);background:var(--bg-primary)}.share-header{width:min(100%,720px);min-height:64px;margin:0 auto 32px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border)}.share-header>span{color:var(--text-muted);font-size:11px}.share-content{width:min(100%,720px);margin:0 auto}.share-cta{margin-top:24px;padding-top:24px;border-top:1px solid var(--border);text-align:center}.share-cta p{margin:0 0 14px;color:var(--text-secondary);font-size:14px}.share-page--empty{display:grid;place-items:center;padding-block:64px;text-align:center}.share-page--empty h1{margin:0 0 10px;font-family:"Noto Serif SC",serif;font-size:28px}.share-page--empty p{margin:0 0 24px;color:var(--text-secondary);font-size:14px}.segmented-control button[aria-pressed=true]{background:#fff;border-color:var(--border);color:var(--accent);box-shadow:0 1px 3px rgba(28,25,23,.08)}.option-chip{padding:6px 12px;font-size:12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;transition:border-color .18s,color .18s}.option-chip:hover{border-color:var(--accent);color:var(--accent)}.coin-grid{display:grid;grid-template-columns:52px repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px;align-items:center}.coin-label{font-size:12px;font-weight:500;color:var(--text-muted)}.coin-option{min-height:36px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:transparent;color:var(--text-secondary);cursor:pointer;font-size:11px;transition:all .18s}.coin-option[aria-pressed=true]{background:var(--accent-bg);border-color:rgba(217,119,6,.3);color:var(--accent);font-weight:600}.result-kicker{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-full);background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);font-size:12px;font-weight:500}.result-column,.result-grid{display:flex;flex-direction:column;gap:16px}.result-column--sticky{position:static}.result-stack{display:flex;flex-direction:column;gap:16px}.result-summary{padding:24px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff}.result-summary__top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.result-verdict{flex:0 0 auto;font-family:"Noto Serif SC",serif;font-size:36px;line-height:1;font-weight:700}.result-section{padding:24px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff}.section-heading{margin:0 0 16px;color:var(--text-primary);font-size:16px;font-weight:700}.interpretation-list{display:grid;grid-gap:0;gap:0}.interpretation-item{padding:16px 0;border-top:1px solid var(--border)}.interpretation-item:first-child{border-top:0;padding-top:0}.interpretation-item:last-child{padding-bottom:0}.interpretation-label{margin-bottom:6px;color:var(--accent);font-size:12px;font-weight:700}.interpretation-copy{color:var(--text-secondary);font-size:14px;line-height:1.8}.evidence-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);background:#fff;cursor:pointer;list-style:none}.evidence-disclosure>summary::-webkit-details-marker{display:none}.evidence-disclosure>summary span{display:grid;grid-gap:3px;gap:3px}.evidence-disclosure>summary strong{font-size:14px}.evidence-disclosure>summary small{color:var(--text-muted);font-size:12px;font-weight:400}.evidence-disclosure>summary svg{transition:transform .18s}.evidence-disclosure[open]>summary svg{transform:rotate(180deg)}.evidence-disclosure__content{padding-top:12px}.status-message{display:flex;align-items:flex-start;gap:10px;padding:13px 14px;border:1px solid;border-radius:var(--radius-md);font-size:14px;line-height:1.55}.status-message--error{border-color:rgba(154,52,18,.22);color:var(--danger);background:var(--danger-bg)}.page-actions{display:flex;justify-content:space-between;gap:10px;margin:16px 0}.button-danger,.button-primary,.button-quiet,.button-secondary,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;transition:background .16s,border-color .16s,color .16s}.modal-backdrop{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px;background:rgba(28,25,23,.54);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-panel{width:100%;max-height:min(760px,calc(100dvh - 40px));overflow-y:auto;padding:24px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;box-shadow:0 24px 70px rgba(28,25,23,.22)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.modal-title{margin:0;color:var(--text-primary);font-family:"Noto Serif SC",serif;font-size:20px;line-height:1.35}.modal-description{margin:5px 0 0;color:var(--text-secondary);font-size:13px;line-height:1.6}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.button-secondary{padding:8px 14px;border:1px solid var(--border-strong);color:var(--text-primary);background:#fff}.button-secondary:hover{border-color:var(--accent);color:var(--accent)}.button-danger,.button-primary{padding:8px 16px;border:1px solid transparent;color:var(--text-inverse);background:var(--bg-dark)}.button-primary:hover{background:#0f0d0b}.button-danger{color:#fff;background:var(--danger)}.button-danger:hover{background:#7c2d12}.button-quiet{padding:8px 12px;border:1px solid transparent;color:var(--text-secondary);background:transparent}.button-quiet:hover{color:var(--text-primary);background:var(--bg-secondary)}.icon-button{width:40px;padding:0;border:1px solid var(--border);color:var(--text-secondary);background:#fff}.app-footer{margin-top:48px;color:var(--text-muted);font-size:12px;line-height:1.7;text-align:center}.skeleton-line{height:12px;border-radius:999px;margin-top:10px;background:linear-gradient(90deg,rgba(231,229,228,.7),rgba(255,255,255,.92),rgba(231,229,228,.7));background-size:220% 100%;animation:shimmer 1.4s ease-in-out infinite}.soft-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 2px 8px var(--shadow-color);color:var(--text-primary)}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width:900px){.app-container,.app-container--narrow,.app-container--wide{width:min(100% - 32px,640px);padding-top:36px}.top-nav{padding:0 16px;height:56px}.result-grid{grid-template-columns:1fr}.result-column--sticky{position:static}}@media (max-width:560px){.site-header__inner{width:min(100% - 24px,1120px)}.site-brand__name{display:none}.top-tools{margin-left:auto;gap:6px}.top-pill{min-height:34px;padding:6px 10px;font-size:12px}.hero-block{margin-bottom:18px}.hero-title{font-size:30px}.guide-strip{grid-template-columns:1fr}.segmented-control button{gap:5px;padding-inline:4px;font-size:12px!important}.coin-grid{grid-template-columns:1fr 1fr}.chat-send-button{min-width:44px;width:44px;padding:0}.chat-send-button span{display:none}.chat-login-prompt{align-items:stretch;flex-direction:column}.chat-login-prompt .button-primary{width:100%}.chat-bubble{max-width:92%}.coin-label{grid-column:1/-1;margin-top:6px}.app-container,.app-container--narrow,.app-container--wide{width:min(100% - 24px,640px);padding-top:28px}.task-panel{padding:18px!important}.result-summary__top{flex-direction:column-reverse;gap:14px}.result-section,.result-summary{padding:18px}.result-verdict{font-size:32px}.page-actions{align-items:stretch}.page-actions>*{flex:1 1}.hexagram-board{padding:16px!important;overflow:hidden}.hexagram-header{align-items:flex-start!important;flex-direction:column}.hexagram-meta{flex-wrap:wrap;gap:5px 10px!important}.hexagram-row{gap:6px!important;padding-inline:6px!important}.hexagram-yao{width:54px!important}.hexagram-element,.hexagram-spirit{display:none}.history-result-header{padding-inline:8px}.history-result-header>div>span{display:none}.history-result-content{width:min(100% - 24px,720px);padding-top:24px}.share-page{padding-inline:12px}.share-header{margin-bottom:24px}.share-header>span{max-width:150px;text-align:right}.modal-backdrop{padding:12px;align-items:end}.modal-panel{max-height:calc(100dvh - 24px);padding:20px;border-radius:12px 12px 8px 8px}.modal-actions{flex-direction:column-reverse}.modal-actions>*{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes spinSlow{to{transform:rotate(1turn)}}@keyframes shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@keyframes slideInRight{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.anim-up{animation:fadeUp .5s ease both}.anim-up-2{animation:fadeUp .5s ease .12s both}.anim-blink{animation:blink 1s step-end infinite}.anim-spin{animation:spinSlow 18s linear infinite}.anim-spin-fast{animation:spinSlow .8s linear infinite}.anim-slide-right{animation:slideInRight .25s ease both}