:root{--bg:#0c0e1e;--bg-2:#12142b;--card:#ffffff0f;--card-solid:#171a36;--line:#ffffff1c;--ink:#eeecfb;--muted:#9a9dc4;--gold:#e9c15c;--gold-dim:#e9c15c29;--calm:#7fe0ae;--warn:#f0b46a;--storm:#f08a9d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(1.5px 1.5px at 12% 10%, #fff6 40%, transparent 60%), radial-gradient(1px 1px at 70% 6%, #ffffff59 40%, transparent 60%), radial-gradient(1px 1px at 42% 20%, #ffffff40 40%, transparent 60%), radial-gradient(1.5px 1.5px at 88% 28%, #ffffff4d 40%, transparent 60%), radial-gradient(1px 1px at 22% 42%, #fff3 40%, transparent 60%), radial-gradient(1200px 700px at 50% -10%, #1b1e42 0%, var(--bg) 60%);background-color:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Sukhumvit Set,Thonburi,Noto Sans Thai,-apple-system,Segoe UI,sans-serif;line-height:1.7}#root{justify-content:center;display:flex}.app{width:100%;max-width:440px;min-height:100vh;padding:20px 18px 96px;position:relative}h1,h2,h3{text-wrap:balance;margin:0}p{margin:0}button{font-family:inherit}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.brand{align-items:center;gap:9px;display:flex}.brand-name{letter-spacing:.22em;color:var(--ink);font-family:Avenir Next,Sukhumvit Set,sans-serif;font-size:1.02rem;font-weight:800}.link-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:6px 0;font-size:.8rem}.link-btn:hover{color:var(--ink)}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;margin-bottom:12px;padding:16px}.card .tag{letter-spacing:.08em;color:var(--gold);text-transform:uppercase;font-size:.7rem;font-weight:700}.card h3{margin:2px 0 4px;font-size:.98rem}.card p{color:var(--muted);font-size:.86rem}.ring-wrap{justify-content:center;margin:10px 0 4px;display:flex}.ring-label{text-align:center;margin-top:4px;font-size:1.2rem;font-weight:800}.ring-sub{text-align:center;color:var(--muted);margin-bottom:14px;font-size:.82rem}.chips{gap:8px;margin:12px 0;display:flex}.chip{text-align:center;background:var(--card);border:1px solid var(--line);color:var(--muted);border-radius:14px;flex:1;padding:10px 4px;font-size:.72rem}.chip b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.05rem;display:block}.chip.good b{color:var(--calm)}.chip.bad b{color:var(--storm)}.aspect-row{border-top:1px solid var(--line);align-items:flex-start;gap:10px;padding:10px 0;display:flex}.aspect-row:first-child{border-top:0}.aspect-ico{padding-top:2px;font-size:1rem}.aspect-row b{font-size:.86rem;display:block}.aspect-row span{color:var(--muted);font-size:.78rem;line-height:1.55}.week{gap:6px;margin-bottom:14px;display:flex}.day{text-align:center;background:var(--card);border:1px solid var(--line);color:var(--muted);border-radius:13px;flex:1;padding:9px 2px;font-size:.66rem}.day .ico{margin:3px 0 1px;font-size:1rem;display:block}.day .sc{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:700}.day.today{background:var(--gold-dim);border-color:#e9c15c73}.event{border-top:1px solid var(--line);gap:10px;padding:11px 0;display:flex}.event:first-child{border-top:0}.e-date{color:var(--muted);font-variant-numeric:tabular-nums;flex:0 0 56px;padding-top:2px;font-size:.72rem}.e-body b{font-size:.84rem;display:block}.e-body span{color:var(--muted);font-size:.76rem;line-height:1.55;display:block}.sev{border-radius:50%;width:8px;height:8px;margin-right:7px;display:inline-block}.sev.calm{background:var(--calm)}.sev.warn{background:var(--warn)}.sev.storm{background:var(--storm)}.sev.mid{background:var(--muted)}.sys-row{border-top:1px solid var(--line);align-items:flex-start;gap:10px;padding:10px 0;display:flex}.sys-row:first-of-type{border-top:0}.sys-row>.sev{flex:0 0 8px;margin-top:7px}.sys-row b{font-size:.84rem;display:block}.sys-row span:not(.sev){color:var(--muted);font-size:.77rem;line-height:1.55;display:block}.pillars{grid-template-columns:repeat(2,1fr);gap:8px;margin:10px 0 12px;display:grid}.pillar{border:1px solid var(--line);color:var(--ink);background:#ffffff0d;border-radius:12px;padding:8px 12px;font-size:.8rem}.pillar small{color:var(--gold);letter-spacing:.08em;font-size:.66rem;display:block}.seg{gap:6px;margin-bottom:10px;display:flex}.seg button{cursor:pointer;background:var(--card-solid);border:1px solid var(--line);color:var(--muted);border-radius:12px;flex:1;padding:10px;font-size:.88rem}.seg button.on{background:var(--gold-dim);color:var(--gold);border-color:#e9c15c80;font-weight:700}.hint{color:var(--muted);margin-top:8px;font-size:.74rem;line-height:1.6}details.pos-detail{border-top:1px solid var(--line)}details.pos-detail:first-of-type{border-top:0}details.pos-detail summary{cursor:pointer;align-items:baseline;gap:10px;padding:9px 0;font-size:.88rem;list-style:none;display:flex}details.pos-detail summary::-webkit-details-marker{display:none}details.pos-detail[open] summary{padding-bottom:4px}details.pos-detail .expl{color:var(--muted);padding:0 0 12px 32px;font-size:.8rem;line-height:1.6}.pos-sym{color:var(--gold);text-align:center;flex:0 0 22px}.pos-name{flex:auto}.pos-val{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.82rem}.pos-r{color:var(--storm);margin-left:4px;font-size:.7rem}.tabbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);width:100%;max-width:440px;padding:8px 14px calc(10px + env(safe-area-inset-bottom));background:#0e1022eb;gap:4px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:12px;flex:1;padding:8px 2px 6px;font-size:.72rem}.tab .t-ico{margin-bottom:1px;font-size:1.15rem;display:block}.tab.active{color:var(--gold);background:var(--gold-dim)}.onboard h1{margin:26px 0 8px;font-size:1.7rem;font-weight:800;line-height:1.35}.onboard .lede{color:var(--muted);margin-bottom:26px;font-size:.92rem}.field{margin-bottom:16px}.field label{color:var(--muted);margin-bottom:6px;font-size:.8rem;display:block}.field input[type=text],.field select{background:var(--card-solid);border:1px solid var(--line);width:100%;color:var(--ink);appearance:none;border-radius:14px;padding:12px 14px;font-family:inherit;font-size:.95rem}.field input:focus,.field select:focus{outline:2px solid var(--gold);outline-offset:1px}.row-3{gap:8px;display:flex}.row-3>*{flex:1}.check{color:var(--muted);align-items:center;gap:8px;margin:4px 0 20px;font-size:.84rem;display:flex}.check input{width:17px;height:17px;accent-color:var(--gold)}.cta{background:var(--gold);color:#1a1502;cursor:pointer;border:none;border-radius:16px;width:100%;padding:15px;font-size:1rem;font-weight:800}.cta:hover{filter:brightness(1.06)}.privacy-note{text-align:center;color:var(--muted);margin-top:14px;font-size:.74rem;line-height:1.6}.section-title{margin:20px 0 10px;font-size:.95rem;font-weight:800}.greeting{color:var(--muted);font-size:.84rem}.date-line{margin-bottom:4px;font-size:1.15rem;font-weight:800}.time-note{color:var(--warn);background:#f0b46a1a;border:1px solid #f0b46a4d;border-radius:12px;margin-bottom:12px;padding:10px 14px;font-size:.76rem;line-height:1.6}.gates{grid-template-columns:repeat(6,1fr);gap:6px;margin-top:10px;display:grid}.gate{text-align:center;border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:10px;padding:6px 2px;font-size:.64rem;line-height:1.5}.gate b{color:var(--ink);font-size:.72rem;font-weight:700;display:block}.gate.g-good{background:#7fe0ae14;border-color:#7fe0ae73}.gate.g-good b{color:var(--calm)}.gate.g-caution{background:#f08a9d14;border-color:#f08a9d73}.gate.g-caution b{color:var(--storm)}.elem-bars{flex-direction:column;gap:6px;margin-top:10px;display:flex}.elem{align-items:center;gap:10px;font-size:.8rem;display:flex}.elem-name{color:var(--ink);flex:0 0 34px}.elem-bar{background:#ffffff14;border-radius:99px;flex:1;height:8px;overflow:hidden}.elem-bar i{background:linear-gradient(90deg, #e9c15c8c, var(--gold));border-radius:99px;height:100%;display:block}.elem-n{text-align:right;color:var(--muted);flex:0 0 16px;font-size:.74rem}.overlay{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#060712bf;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.overlay-card{background:var(--card-solid);border:1px solid var(--line);border-radius:20px;width:100%;max-width:400px;max-height:80vh;padding:24px;overflow-y:auto}.en-note{color:var(--warn);background:#f0b46a14;border:1px solid #f0b46a40;border-radius:10px;margin-bottom:14px;padding:8px 12px;font-size:.72rem;line-height:1.5}.bell{font-size:.95rem;position:relative}.bell-dot{background:var(--storm);border-radius:50%;width:7px;height:7px;position:absolute;top:2px;right:-3px}.feed-date{min-width:46px;color:var(--gold);margin-right:6px;font-size:.7rem;display:inline-block}.feed-personal{color:var(--calm);border:1px solid #7fe0ae66;border-radius:99px;margin-left:6px;padding:1px 7px;font-size:.62rem}.checkin-btns{gap:8px;display:flex}.checkin-btns button{cursor:pointer;background:var(--card-solid);border:1px solid var(--line);color:var(--ink);border-radius:14px;flex:1;padding:13px 6px;font-family:inherit;font-size:.95rem}.checkin-btns button:hover{border-color:var(--gold)}.share-btn{cursor:pointer;background:var(--gold-dim);width:100%;color:var(--gold);border:1px solid #e9c15c66;border-radius:12px;margin-top:12px;padding:10px;font-family:inherit;font-size:.86rem;font-weight:700}.date-input{background:var(--card-solid);border:1px solid var(--line);width:100%;color:var(--ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:14px;padding:12px 14px;font-family:inherit;font-size:.95rem}.field input[type=text]{background:var(--card-solid);border:1px solid var(--line);width:100%;color:var(--ink);border-radius:14px;padding:12px 14px;font-family:inherit;font-size:.95rem}.seo{margin-top:10px}.seo-item{border:1px solid var(--line);background:var(--card);border-radius:14px;margin-bottom:8px;overflow:hidden}.seo-item summary{cursor:pointer;padding:13px 16px;font-size:.88rem;font-weight:700;list-style:none;position:relative}.seo-item summary::-webkit-details-marker{display:none}.seo-item summary:after{content:"+";color:var(--gold);font-weight:800;position:absolute;right:16px}.seo-item[open] summary:after{content:"–"}.seo-item p{color:var(--muted);padding:0 16px 14px;font-size:.82rem;line-height:1.75}@media (prefers-reduced-motion:no-preference){.fade-in{animation:.5s ease-out both fade}@keyframes fade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}}
