.ts-shell{min-height:calc(100vh - 48px)}.ts-shell.ts-dark{background:radial-gradient(135% 100% at 50% -8%,#241b50 0,#161039 44%,#0b0922 100%);--tuvi-bg-card:#1b1745;--tuvi-bg-paper:#15123a;--tuvi-border-light:hsla(40,59%,63%,.16);--tuvi-border-default:hsla(40,59%,63%,.32);--tuvi-text-heading:#e8cd8e;--tuvi-text-primary:#ece3d0;--tuvi-text-muted:#bcb2dc;--tuvi-text-faint:#a99fc6;--tuvi-text-inverse:#14122e;--tuvi-accent-primary:#d8b46a;--tuvi-accent-warm:#e7a77f;--tuvi-elem-kim:#e6dab0;--tuvi-elem-moc:#86c9a0;--tuvi-elem-thuy:#8fb4ea;--tuvi-elem-hoa:#e8917c;--tuvi-elem-tho:#d8b46a}.ts-shell.ts-light{background:radial-gradient(135% 100% at 50% -8%,#fdf8ec 0,#f6eed9 52%,#efe3c6 100%);--tuvi-bg-card:#fffdf6;--tuvi-bg-paper:#f7f0dd;--tuvi-border-light:rgba(150,110,40,.18);--tuvi-border-default:rgba(150,110,40,.34);--tuvi-text-heading:#6e4f1c;--tuvi-text-primary:#3b3322;--tuvi-text-muted:#7a6b4c;--tuvi-text-faint:#9c8e6e;--tuvi-text-inverse:#fffaf0;--tuvi-accent-primary:#b1842f;--tuvi-accent-warm:#b5683a;--tuvi-elem-kim:#8a7a3e;--tuvi-elem-moc:#3f8a5c;--tuvi-elem-thuy:#3f6bb0;--tuvi-elem-hoa:#c25a3e;--tuvi-elem-tho:#b1842f}.ts-shell.ts-dark .bazi-board,.ts-shell.ts-dark .kd-result{background:linear-gradient(135deg,#1d1948,#15123a);border-color:hsla(40,59%,63%,.18)}[data-theme] .ts-shell.ts-shell h1,[data-theme] .ts-shell.ts-shell h2,[data-theme] .ts-shell.ts-shell h3,[data-theme] .ts-shell.ts-shell h4{color:var(--tuvi-text-heading)!important}[data-theme] .ts-shell.ts-shell .ts-hub-title{color:#ecd293!important}[data-theme] .ts-shell.ts-dark .ts-subnav-link{color:#c7bce6}[data-theme] .ts-shell.ts-dark .ts-subnav-link:hover{color:#f2e6c8}[data-theme] .ts-shell.ts-dark .ts-subnav-link.is-active{color:#14122e}.ts-shell.ts-light .ts-subnav-brand{color:#8a6a1e}[data-theme] .ts-shell.ts-light .ts-subnav-link{color:#6b5e3f}[data-theme] .ts-shell.ts-light .ts-subnav-link:hover{color:#4a3d1f;background:rgba(160,120,40,.12)}[data-theme] .ts-shell.ts-light .ts-subnav-link.is-active{color:#3a2f12}.ts-shell.ts-dark input[type=date],.ts-shell.ts-dark input[type=time]{color-scheme:dark}.ts-shell input:not([type]),.ts-shell input[type=text],.ts-shell textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none}[data-theme] .ts-shell.ts-dark input:not([type]),[data-theme] .ts-shell.ts-dark input[type=date],[data-theme] .ts-shell.ts-dark input[type=email],[data-theme] .ts-shell.ts-dark input[type=number],[data-theme] .ts-shell.ts-dark input[type=text],[data-theme] .ts-shell.ts-dark input[type=time],[data-theme] .ts-shell.ts-dark select,[data-theme] .ts-shell.ts-dark textarea{background:var(--tuvi-bg-paper,#15123a)!important;border-color:var(--tuvi-border-default,hsla(40,59%,63%,.32))!important;color:var(--tuvi-text-primary,#ece3d0)!important}[data-theme] .ts-shell.ts-dark input::-moz-placeholder,[data-theme] .ts-shell.ts-dark textarea::-moz-placeholder{color:var(--tuvi-text-faint,#a99fc6)!important}[data-theme] .ts-shell.ts-dark input::placeholder,[data-theme] .ts-shell.ts-dark textarea::placeholder{color:var(--tuvi-text-faint,#a99fc6)!important}.ts-subnav{display:flex;align-items:center;gap:18px;padding:16px 26px 4px;background:transparent;flex-wrap:wrap}.ts-subnav-brand{font-family:var(--font-serif);font-size:15.5px;color:#e3c178;letter-spacing:1.5px;gap:9px}.ts-subnav-brand,.ts-subnav-brand:before{font-weight:700;display:inline-flex;align-items:center}.ts-subnav-brand:before{content:"術";font-size:13px;color:#100c2e;background:linear-gradient(180deg,#f2d999,#e3c178);border-radius:6px;width:22px;height:22px;justify-content:center}.ts-subnav-links{display:flex;gap:4px;flex-wrap:wrap}.ts-subnav-link{font-size:13.5px;text-decoration:none;color:#bcb0cf;padding:5px 14px;border-radius:8px;transition:background .18s,color .18s}.ts-subnav-link:hover{color:#f2e6c8;background:hsla(40,59%,63%,.12)}.ts-subnav-link.is-active{color:#14122e;background:linear-gradient(180deg,#f2d999,#e3c178);font-weight:600}.ts-theme-toggle{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;border:1px solid var(--tuvi-border-default,hsla(40,59%,63%,.34));background:transparent;color:var(--tuvi-accent-primary,#d8b46a);cursor:pointer;transition:background .18s,border-color .18s,color .18s}.ts-theme-toggle:hover{background:hsla(40,59%,63%,.12);border-color:var(--tuvi-accent-primary,#d8b46a)}.ts-shell-body{padding:22px 24px 48px}.ts-hub{position:relative;max-width:880px;margin:0 auto;padding:clamp(18px,4vw,40px) 6px 10px;text-align:center}.ts-hub-stars{inset:-20px 0 0;z-index:0;background-image:radial-gradient(1.5px 1.5px at 10% 12%,hsla(0,0%,100%,.65),transparent),radial-gradient(1px 1px at 26% 30%,hsla(0,0%,100%,.45),transparent),radial-gradient(1px 1px at 67% 26%,hsla(0,0%,100%,.45),transparent),radial-gradient(1px 1px at 14% 44%,hsla(0,0%,100%,.4),transparent),radial-gradient(1px 1px at 78% 48%,hsla(0,0%,100%,.4),transparent);animation:tsTwinkle 5.5s ease-in-out infinite alternate}.ts-hub-stars,.ts-hub-stars:after,.ts-hub-stars:before{position:absolute;pointer-events:none;background-repeat:no-repeat}.ts-hub-stars:after,.ts-hub-stars:before{content:"";inset:0}.ts-hub-stars:before{background-image:radial-gradient(1px 1px at 33% 18%,hsla(0,0%,100%,.55),transparent),radial-gradient(1px 1px at 55% 38%,hsla(0,0%,100%,.4),transparent),radial-gradient(1.5px 1.5px at 72% 10%,hsla(0,0%,100%,.6),transparent),radial-gradient(1px 1px at 88% 30%,hsla(0,0%,100%,.45),transparent),radial-gradient(1px 1px at 20% 56%,hsla(0,0%,100%,.4),transparent),radial-gradient(1px 1px at 61% 60%,hsla(0,0%,100%,.4),transparent);animation:tsTwinkle 3.6s ease-in-out -1.4s infinite alternate}.ts-hub-stars:after{background-image:radial-gradient(1.5px 1.5px at 47% 8%,hsla(43,77%,77%,.85),transparent),radial-gradient(1.5px 1.5px at 84% 14%,hsla(43,77%,77%,.7),transparent),radial-gradient(1.5px 1.5px at 92% 40%,hsla(41,66%,68%,.7),transparent),radial-gradient(2px 2px at 38% 52%,hsla(43,77%,77%,.6),transparent);animation:tsSparkle 4.8s ease-in-out -2.6s infinite}@keyframes tsTwinkle{0%{opacity:.35}to{opacity:.95}}@keyframes tsSparkle{0%,to{opacity:.4}45%{opacity:1}62%{opacity:.65}}.ts-hub-hero{position:relative;z-index:1;margin-bottom:clamp(22px,3.5vw,38px)}.ts-compass{display:flex;justify-content:center;margin-bottom:14px;filter:drop-shadow(0 6px 26px rgba(216,180,106,.18))}.ts-compass-svg{width:clamp(190px,26vw,240px);height:auto}.ts-compass-spin{transform-origin:120px 120px;animation:tsSpin 90s linear infinite}@keyframes tsSpin{to{transform:rotate(1turn)}}.ts-hub-seal{display:inline-block;font-size:14px;letter-spacing:7px;color:#e3c178;opacity:.9;border:1px solid hsla(40,59%,63%,.4);border-radius:7px;padding:4px 8px 4px 15px}.ts-hub-seal,.ts-hub-title{font-family:var(--font-serif)}.ts-hub-title{font-size:clamp(34px,5.5vw,54px);font-weight:600;letter-spacing:2px;margin:12px 0;color:#ecd293;text-shadow:0 2px 30px hsla(40,59%,63%,.25)}.ts-hub-sub{max-width:520px;margin:0 auto;font-size:clamp(13px,1.6vw,15px);line-height:1.75;color:#c4b8d6}.ts-hub-gates{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:clamp(13px,2vw,20px);text-align:left}.ts-gate{position:relative;overflow:hidden;display:flex;align-items:flex-start;gap:15px;padding:clamp(17px,2vw,24px);border-radius:15px;text-decoration:none;background:linear-gradient(165deg,hsla(0,0%,100%,.055),hsla(0,0%,100%,.018));border:1px solid hsla(40,59%,63%,.26);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.05),0 12px 32px rgba(6,4,18,.4);transition:transform .25s,border-color .25s,box-shadow .25s}.ts-gate:hover{transform:translateY(-4px);border-color:hsla(43,77%,77%,.6);box-shadow:0 20px 46px rgba(6,4,18,.55),0 0 0 1px hsla(43,77%,77%,.2)}.ts-gate-aura{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .25s;background:radial-gradient(70% 60% at 22% 0,hsla(40,59%,63%,.16),transparent 62%)}.ts-gate--dich .ts-gate-aura{background:radial-gradient(70% 60% at 22% 0,rgba(201,90,71,.2),transparent 62%)}.ts-gate:hover .ts-gate-aura{opacity:1}.ts-gate-body{flex:1;min-width:0}.ts-gate-han{display:block;font-family:var(--font-serif);font-size:23px;font-weight:700;letter-spacing:3px;color:#f2d999;margin-bottom:6px}.ts-gate--dich .ts-gate-han{color:#e7a78f}.ts-gate-han em{font-style:normal;font-weight:400;font-size:13px;letter-spacing:0;color:#b3a9d4;margin-left:6px}.ts-gate-desc{display:block;font-size:12.6px;line-height:1.6;color:#b3a9d4}.ts-gate-go{flex:none;align-self:center;font-size:17px;color:#d8b46a;transition:transform .25s}.ts-gate:hover .ts-gate-go{transform:translateX(4px)}.ts-emblem{flex:none}.ts-emblem--pillars{display:flex;gap:5px;width:124px;justify-content:center}.ts-pillar{display:flex;flex-direction:column;gap:4px}.ts-pillar-tile{width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:15px;border-radius:6px;border:1px solid hsla(40,59%,63%,.4);background:hsla(40,59%,63%,.06);color:#f2d999;transition:border-color .25s,box-shadow .25s}.ts-pillar-chi{color:#e7c9a0;opacity:.85}.ts-gate--bazi:hover .ts-pillar-tile{border-color:hsla(43,77%,77%,.7);box-shadow:0 0 10px hsla(40,59%,63%,.22)}.ts-emblem--hex{display:flex;flex-direction:column;gap:4px;width:124px;align-items:center;padding-top:3px}.ts-hexline{display:flex;justify-content:center;gap:7px;height:8px}.ts-hexbar{display:block;height:8px;width:60px;border-radius:2px;background:#e7a78f;transition:box-shadow .25s}.ts-hexbar--half{width:26.5px}.ts-gate--dich:hover .ts-hexbar{box-shadow:0 0 12px hsla(16,65%,73%,.55)}.ts-hub-foot{position:relative;z-index:1;margin:clamp(24px,4vw,38px) auto 0;max-width:520px;font-size:11.5px;line-height:1.6;color:#8d82a3}@media (max-width:680px){.ts-hub-gates{grid-template-columns:1fr}.ts-subnav{padding:9px 16px 2px;gap:10px}.ts-subnav-brand-txt{display:none}.ts-subnav-link{padding:5px 11px}.ts-shell-body{padding:14px 16px 40px}}@media (prefers-reduced-motion:reduce){.ts-compass-spin,.ts-hub-stars,.ts-hub-stars:after,.ts-hub-stars:before{animation:none}}