:root{color-scheme:dark;--bg:#080d1c;--panel:#10192b;--ink:#f1f5ff;--muted:#aebbd0;--line:#293348;--mint:#a0f7de;--violet:#c6b3ff;--font:'Hoshi Gothic','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;--display:'Hoshi Space',var(--font)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait}a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--mint);outline-offset:5px}::selection{background:var(--mint);color:var(--bg)}.wrap{width:min(1200px,calc(100% - 80px));margin-inline:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;line-height:1.5;letter-spacing:-.025em}h1{font-size:clamp(2rem,3.5vw,3.6rem)}h2{font-size:clamp(1.6rem,2.6vw,2.2rem)}h3{font-size:1.18rem}p{color:var(--muted)}.skip{position:absolute;left:16px;top:-100px;background:var(--mint);color:var(--bg);padding:10px 20px;z-index:100}.skip:focus{top:12px}.site-header{display:flex;align-items:center;gap:32px;min-height:100px;border-bottom:1px solid var(--line);position:relative;z-index:2}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--display);font-size:1.3rem;font-weight:600;letter-spacing:.075em;white-space:nowrap}.brand-light{font-weight:400;color:var(--muted);margin-left:5px}.site-header nav{display:flex;gap:32px;margin-left:auto;font-size:.875rem}.site-header nav a{text-decoration:none;color:#c4ccdc}.site-header nav a:hover{color:var(--mint)}.language{border:1px solid var(--line);padding:5px 14px;border-radius:99px;font-size:.875rem;text-decoration:none}.hero{position:relative;min-height:448px;display:flex;align-items:center;isolation:isolate}.hero-copy{padding:52px 0 64px;z-index:1;max-width:650px}.eyebrow{font-family:var(--display);font-size:.78rem;letter-spacing:.16em;color:var(--mint);margin-bottom:20px;font-weight:500}.hero h1{font-size:clamp(2.5rem,4.5vw,4.5rem);line-height:1.4;letter-spacing:.02em}.hero h1 span{color:var(--mint)}.hero-copy>p:not(.eyebrow){margin:20px 0 24px;font-size:1rem;line-height:2}.hero-art{position:absolute;right:-40px;top:0;width:66%;height:100%;object-fit:cover;object-position:center;z-index:-2;opacity:.88;mask-image:linear-gradient(to right,transparent,#000 36%,#000 90%,transparent)}.hero-coordinate{position:absolute;right:0;bottom:30px;font-family:var(--display);font-size:.75rem;letter-spacing:.12em;color:var(--muted)}.hero-coordinate span{display:block;text-align:right;color:var(--mint);font-size:.75rem}.text-link{text-decoration:none;font-size:.94rem;display:inline-block;color:var(--mint)}.text-link:hover{text-decoration:underline}.text-link span{margin-left:14px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}.section-heading .eyebrow{margin-bottom:10px}.tag{font-family:var(--display);font-size:.75rem;letter-spacing:.05em;color:var(--mint);white-space:nowrap;padding-bottom:6px}.reading-section{padding-top:20px}.reading-layout{display:grid;grid-template-columns:1fr 340px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(120deg,#131e32,#0c1425);overflow:hidden;box-shadow:0 12px 60px #0002}.sign-panel{padding:32px}.sign-panel fieldset,.day-field{border:0;padding:0;margin:0;min-width:0}.sign-panel legend{font-size:.875rem;margin-bottom:20px;color:var(--muted)}.sign-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.sign-choice{position:relative;cursor:pointer}.sign-choice input{position:absolute;opacity:0;width:1px;height:1px}.sign-box{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:15px 5px 13px;border:1px solid var(--line);border-radius:10px;min-height:112px;gap:2px;line-height:1.65;font-size:.95rem;transition:background .15s,border-color .15s;position:relative}.sign-box small{font-family:var(--display);font-size:.72rem;color:#aab7cd;font-variant-numeric:tabular-nums;letter-spacing:.02em}.glyph{font-family:'Segoe UI Symbol','Apple Symbols',sans-serif;font-size:1.65rem;line-height:1.2;color:var(--violet);margin-bottom:5px}.sign-choice input:checked+.sign-box{border-color:var(--mint);background:#a0f7de0c;box-shadow:inset 0 0 24px #a0f7de06}.sign-choice input:checked+.sign-box .glyph{color:var(--mint)}.sign-choice input:focus-visible+.sign-box{outline:2px solid var(--mint);outline-offset:4px}.sign-box:hover{background:#ffffff05;border-color:#64758f}.subtle-link{display:inline-block;font-size:.875rem;color:var(--muted);margin-top:22px;text-decoration:none}.subtle-link:hover{color:var(--mint)}.calendar-panel{padding:32px;border-left:1px solid var(--line);background:#0c1322a6}.day-field legend{font-size:.875rem;color:var(--muted);margin-bottom:16px}.day-toggle{display:flex;background:#080d1c;border:1px solid var(--line);border-radius:8px;padding:4px}.day-toggle label{position:relative;flex:1;cursor:pointer}.day-toggle input{position:absolute;opacity:0;width:1px;height:1px}.day-toggle span{display:block;text-align:center;padding:6px 5px;border-radius:5px;font-size:.9rem}.day-toggle input:checked+span{background:#26334a;color:var(--mint)}.day-toggle input:focus-visible+span{outline:2px solid var(--mint)}.calendar-heading{display:flex;justify-content:space-between;align-items:center;margin:23px 0 13px;font-family:var(--display)}.calendar-heading h3{font-size:1.15rem;letter-spacing:.04em}.calendar-heading>span{font-size:.72rem;color:var(--muted)}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;font-family:var(--display)}.calendar .weekday{font-size:.7rem;color:var(--muted);text-align:center;padding:3px 0}.calendar button,.calendar .date-cell{aspect-ratio:1;display:grid;place-items:center;border:1px solid transparent;border-radius:6px;background:none;color:#627087;font-size:.82rem;padding:0}.calendar button{color:var(--ink);border-color:#4b5d76;cursor:pointer}.calendar button[aria-pressed=true]{background:var(--mint);color:#08151a;border-color:var(--mint);font-weight:600;box-shadow:0 0 18px #a0f7de20}.calendar-note{min-height:24px;font-size:.75rem;margin-top:12px;color:var(--muted);text-align:center}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;border:1px solid transparent;border-radius:7px;padding:13px 24px;background:var(--mint);color:#08201c;text-decoration:none;font-size:.9rem;font-weight:500;line-height:1.6;transition:background .15s}.button:hover{background:#c9ffef}.button:disabled{opacity:.65}.generate{width:100%;margin-top:16px;justify-content:space-between;padding-inline:15px}.form-note{font-size:.73rem;line-height:1.8;margin-top:14px}.form-note a{color:#ccd4e4;white-space:nowrap}.reading-result{margin-top:22px;border-left:2px solid #506781;padding:16px 24px;scroll-margin-top:24px}.result-placeholder{font-size:.9rem}.reading-result.has-result{border:1px solid #50736f;border-radius:14px;padding:34px;background:#101d2b}.result-heading{display:flex;gap:20px;align-items:center;margin-bottom:24px}.result-heading .glyph{font-size:3.5rem;color:var(--mint)}.result-heading h3{font-size:1.8rem}.result-heading p{font-size:.85rem}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:24px}.result-grid section{border-top:1px solid var(--line);padding-top:20px}.result-grid h4{font-weight:500;font-size:.9rem;color:var(--mint);margin:0 0 10px}.result-grid p{line-height:2}.result-grid .full{grid-column:1/-1}.result-meta{font-size:.75rem;margin-top:24px}.notice{padding:20px;border:1px solid var(--line);border-radius:8px;margin-top:18px}.editorial-section{padding-block:90px 70px;border-bottom:1px solid var(--line)}.editorial-columns{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:32px}.editorial-columns h3{margin-bottom:16px;color:#edf2ff}.editorial-columns p{line-height:2.15;font-size:.96rem}.topics-section{padding-block:64px}.topics-section h2{margin-bottom:32px}.topic-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.topic-card{display:block;min-height:190px;padding:26px 24px;border:1px solid var(--line);border-radius:10px;text-decoration:none;position:relative;background:#10192b}.topic-card:hover{border-color:var(--violet);background:#171e33}.topic-card>span:first-child{font-size:1.3rem}.topic-card p{font-size:.9rem;line-height:1.8;margin-top:15px;max-width:90%}.card-arrow{position:absolute;right:22px;bottom:17px;color:var(--violet);font-size:1.2rem}.guide-section{padding-block:20px 70px}.section-intro{max-width:800px;line-height:2;margin-bottom:32px}.guide-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.sign-link{text-decoration:none;background:#10192b}.guide-grid .sign-box{min-height:132px}.faq-section{padding-block:50px 90px;border-top:1px solid var(--line);max-width:900px}.faq-section h2{margin-bottom:28px}.faq-section details{border-bottom:1px solid var(--line);padding:18px 0}.faq-section summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;font-size:1rem}.faq-section summary::-webkit-details-marker{display:none}.faq-section summary:after{content:'+';color:var(--mint);font-size:1.2rem;flex:none}.faq-section details[open] summary:after{content:'−'}.faq-section details p{margin-top:16px;max-width:800px;font-size:.95rem;line-height:2}.faq-section>.text-link{margin-top:28px}.site-footer{border-top:1px solid var(--line);padding-top:36px;padding-bottom:24px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-top p{font-size:.9rem}.site-footer nav{display:flex;flex-wrap:wrap;gap:10px 28px;margin:30px 0;font-size:.85rem}.site-footer nav a{color:var(--muted);text-decoration:none}.site-footer nav a:hover{color:var(--mint)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:20px;border-top:1px solid var(--line);color:#97a6be}.footer-bottom small{font-size:.73rem}.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:.78rem;color:#acb9cd;margin:25px 0}.breadcrumbs a{color:var(--mint);text-decoration:none}.breadcrumbs>span:last-child{max-width:100%;overflow-wrap:anywhere}.article{max-width:900px;padding-top:38px;padding-bottom:70px}.article h1{line-height:1.5;max-width:100%}.lead{font-size:1.15rem;line-height:2;margin:24px 0 38px;color:#c5d0e4}.article>section,.article>h2{margin-top:42px}.article h2{font-size:1.55rem;margin-bottom:16px}.article p{line-height:2.15}.article>.guide-grid{margin:36px 0}.article .guide-grid{grid-template-columns:repeat(4,1fr)}.element-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}.element-card{border:1px solid var(--line);padding:20px;border-radius:8px;background:var(--panel)}.element-card h3{color:var(--mint);margin-bottom:8px}.element-card p{font-size:.9rem}.sign-article-heading{display:flex;justify-content:space-between;gap:25px;align-items:center}.large-glyph{font-family:'Apple Symbols','Segoe UI Symbol',sans-serif;font-size:8rem;line-height:1;color:var(--mint);text-shadow:0 0 50px #a0f7de20;flex:none}.sign-facts{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:10px;margin:0 0 12px;background:var(--panel)}.sign-facts div{padding:20px}.sign-facts dt{font-size:.8rem;color:var(--muted);margin-bottom:8px}.sign-facts dd{margin:0;font-family:var(--display);font-size:1.2rem}.article .small-note{font-size:.8rem}.small-note a{color:var(--mint)}.article-callout{padding:30px;background:#132a30;border:1px solid #355b59;border-radius:12px;margin:44px 0 30px}.article-callout h2{margin:0 0 12px}.article-callout .button{margin-top:22px}.related{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;padding-bottom:64px;color:var(--mint);font-size:.9rem}.related a{text-decoration:none}.tool-panel{padding:28px;border:1px solid #4a686d;border-radius:12px;background:#101f2d;margin:35px 0}.form-row{display:flex;gap:18px;align-items:end;flex-wrap:wrap}.form-row label{display:flex;flex-direction:column;gap:7px;flex:1;min-width:130px;font-size:.85rem;color:var(--muted)}select{width:100%;padding:12px;border:1px solid #50617b;border-radius:6px;background:#0b1425;color:var(--ink);font-size:1rem;min-height:49px}.tool-panel>p{margin-top:20px;font-size:.9rem;color:#c7d5e8}.tool-panel a{color:var(--mint)}.table-wrap{overflow-x:auto;margin:36px 0}table{width:100%;border-collapse:collapse;text-align:left;font-size:.95rem}caption{text-align:left;margin-bottom:16px;font-size:1.1rem;color:var(--ink)}th,td{padding:13px 16px;border-bottom:1px solid var(--line);font-weight:400;white-space:nowrap}thead th{color:var(--mint);background:#142032}td{color:var(--muted)}tbody a{text-decoration:none}tbody a:hover{color:var(--mint)}.error-page{min-height:60vh}.error-page p{margin:20px 0}.error-page .button{margin-top:20px}body[data-lang=en] h1,body[data-lang=en] h2,body[data-lang=en] h3{font-family:var(--display);letter-spacing:-.045em}body[data-lang=en] .hero h1{line-height:1.12;font-size:clamp(2.8rem,5vw,4.8rem)}
@media(min-width:1450px){.hero-art{right:-70px;width:70%}.hero{min-height:480px}}
@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.site-header{gap:20px}.site-header nav{gap:20px}.brand{font-size:1.1rem}.reading-layout{grid-template-columns:1fr 295px}.sign-panel,.calendar-panel{padding:24px}.sign-grid{gap:8px}.sign-box{min-height:106px;font-size:.83rem}.sign-box small{font-size:.64rem}.hero-art{right:-24px}.hero{min-height:430px}.hero-copy{max-width:560px}.topic-grid{grid-template-columns:1fr 1fr}.topic-card{min-height:150px}.guide-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.site-header{min-height:82px;flex-wrap:wrap;padding-top:16px;padding-bottom:13px;gap:12px}.brand{font-size:1rem}.brand img{width:30px;height:30px}.site-header nav{order:3;width:100%;justify-content:space-between;gap:14px;font-size:.78rem}.language{margin-left:auto;font-size:.78rem;padding:3px 12px}.hero{min-height:380px;align-items:start}.hero-copy{padding:37px 0 42px;width:100%}.hero h1{font-size:2.65rem}.hero .eyebrow{font-size:.7rem;margin-bottom:17px}.hero-copy>p:not(.eyebrow){font-size:.91rem;max-width:80%;margin-top:18px}.hero-art{right:-18px;top:0;width:95%;object-position:65%;opacity:.45;mask-image:linear-gradient(to right,transparent,#000 65%)}.hero-coordinate{display:none}.hero .text-link{font-size:.85rem}.reading-section{padding-top:0}.section-heading{align-items:start;gap:12px;margin-bottom:20px}.section-heading h2{font-size:1.5rem}.section-heading .eyebrow{font-size:.65rem}.tag{font-size:.65rem;padding-top:29px}.reading-layout{grid-template-columns:1fr;border-radius:12px}.sign-panel{padding:20px}.sign-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sign-box{min-height:101px;font-size:.88rem}.sign-box small{font-size:.7rem}.glyph{font-size:1.55rem}.sign-panel legend{margin-bottom:14px}.subtle-link{font-size:.79rem;margin-top:16px}.calendar-panel{border-left:0;border-top:1px solid var(--line);padding:22px}.calendar-heading{margin-top:20px}.calendar{gap:6px;max-width:360px;margin-inline:auto}.calendar button,.calendar .date-cell{aspect-ratio:1.25;font-size:.9rem;min-height:34px}.calendar .weekday{font-size:.75rem}.calendar-note{font-size:.8rem}.generate{padding:14px 20px;font-size:1rem;min-height:50px}.form-note{font-size:.76rem}.reading-result{padding:12px 16px}.result-placeholder{font-size:.85rem}.reading-result.has-result{padding:22px}.result-heading h3{font-size:1.4rem}.result-grid{grid-template-columns:1fr;gap:20px}.editorial-section{padding-block:58px 45px}.editorial-columns{grid-template-columns:1fr;gap:30px;margin-top:22px}.editorial-columns p{font-size:.94rem}.topics-section{padding-block:42px}.topics-section h2{font-size:1.55rem}.topic-grid{gap:12px}.topic-card{padding:21px 17px;min-height:173px}.topic-card>span:first-child{font-size:1.13rem}.topic-card p{font-size:.8rem;max-width:100%;margin-top:10px}.guide-section{padding-bottom:48px}.guide-section .section-heading{display:block}.guide-section .text-link{margin-top:14px;font-size:.8rem}.guide-grid,.article .guide-grid{grid-template-columns:repeat(3,1fr);gap:10px}.guide-grid .sign-box{min-height:115px}.section-intro{font-size:.94rem;margin-bottom:24px}.faq-section{padding-block:35px 54px}.faq-section h2{font-size:1.5rem}.faq-section summary{font-size:.95rem}.faq-section details p{font-size:.9rem}.footer-top{align-items:start;flex-direction:column;gap:12px}.footer-top p{font-size:.84rem}.site-footer nav{gap:12px 22px;font-size:.79rem}.footer-bottom{flex-direction:column;gap:8px}.article{padding-top:20px;padding-bottom:42px}.article h1{font-size:1.95rem;line-height:1.55}.article h2{font-size:1.4rem}.lead{font-size:1rem;margin:20px 0 28px}.article>section{margin-top:32px}.article p{font-size:.96rem}.large-glyph{font-size:5rem}.sign-article-heading{gap:12px}.sign-article-heading h1{font-size:1.7rem}.sign-article-heading .lead{font-size:.93rem}.sign-facts{grid-template-columns:1fr}.sign-facts div{display:flex;justify-content:space-between;align-items:center;padding:13px 18px}.sign-facts div+div{border-top:1px solid var(--line)}.sign-facts dt{margin:0}.sign-facts dd{font-size:1rem}.article-callout{padding:24px}.element-grid{grid-template-columns:1fr}.tool-panel{padding:22px}.form-row{gap:12px}.form-row .button{width:100%;margin-top:5px}.form-row label{min-width:110px}.related{justify-content:start;gap:15px;font-size:.85rem;padding-bottom:40px}th,td{padding:11px 12px;font-size:.88rem}.breadcrumbs{font-size:.7rem;margin:20px 0;gap:8px}body[data-lang=en] .hero h1{font-size:2.85rem;line-height:1.15}body[data-lang=en] .hero .eyebrow{max-width:230px;line-height:1.8}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
