/* astroyu.com shared visual tokens. All theme colors live here. */
@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/noto-serif-sc.woff2') format('woff2')}
:root{
 color-scheme:light dark;
 --bg:#f5f5f7;--paper:#ffffff;--ink:#1d1d1f;--muted:#86868b;--line:rgba(29,29,31,.1);--orange:#ff6241;
 --shadow:0 2px 8px rgba(0,0,0,.04),0 18px 40px -18px rgba(0,0,0,.16);
 --sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
 --song:"Songti SC","Noto Serif SC","STSong","Noto Serif CJK SC","Source Han Serif SC",serif;
 --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
 --body-size:15px;--body-leading:1.7;--display-size:clamp(20px,3.2vw,32px);--card-title-size:20px;--note-size:14px;--label-size:11px;--footer-size:12px;--brand-size:27px;--radius:14px;
 --surface:color-mix(in srgb,var(--paper) 60%,transparent);--subtle:color-mix(in srgb,var(--ink) 4%,var(--paper));--accent-soft:var(--subtle);--accent-ink:#a83e25;--on-accent:#1c1c1f;--inverse:#ffffff;--overlay:rgba(28,28,31,.38);--grain-opacity:0;
}
@media(prefers-color-scheme:dark){:root{--bg:#000000;--paper:#1c1c1e;--ink:#f5f5f7;--muted:#98989d;--line:rgba(255,255,255,.1);--shadow:0 1px 2px rgba(0,0,0,.4),0 18px 40px -18px rgba(0,0,0,.8);--accent-ink:#ff9279;--overlay:rgba(0,0,0,.65);--grain-opacity:0}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:var(--body-size);line-height:var(--body-leading);-webkit-font-smoothing:antialiased}
body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:var(--grain-opacity);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
button,input,select,textarea{font:inherit;color:var(--ink)}button{cursor:pointer;padding:10px 16px;border:1px solid var(--line);border-radius:8px;background:var(--paper);transition:background .2s,border-color .2s,color .2s}button:hover{background:var(--subtle);border-color:color-mix(in srgb,var(--orange) 40%,var(--line))}button:disabled{opacity:.6;cursor:wait}button.primary{background:var(--orange);border-color:var(--orange);color:var(--on-accent);font-weight:600}button.primary:hover{background:color-mix(in srgb,var(--orange) 85%,var(--paper))}button.ghost{background:transparent;border:0;padding:7px}button.danger{color:var(--accent-ink)}
input,select,textarea{min-width:0;max-width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);line-height:1.7}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:var(--muted)}input[type=number]{font-variant-numeric:tabular-nums}input:autofill{box-shadow:0 0 0 1000px var(--paper) inset;color:var(--ink)}input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--paper) inset;-webkit-text-fill-color:var(--ink);caret-color:var(--ink)}
a{color:inherit;text-decoration:none}a:hover{color:var(--orange)}:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--orange);outline-offset:3px}::selection{background:var(--orange);color:white}
h1,.display-title{font-family:var(--song);font-size:var(--display-size);font-weight:400;line-height:1.6;letter-spacing:.03em;margin:12px 0 8px}h2,.card-title{font-family:var(--sans);font-size:var(--card-title-size);font-weight:600;letter-spacing:-.02em;line-height:1.6;margin:0 0 5px}h3{font-family:var(--sans);font-size:var(--card-title-size);font-weight:600;letter-spacing:-.02em;line-height:1.6;margin:0}p{margin:5px 0}.muted,.sub{color:var(--muted)}.sub,.muted{font-size:var(--note-size)}.display-note{font-family:var(--song);font-size:var(--note-size);font-weight:400;letter-spacing:.08em;line-height:1.85}.eyebrow,.tag,.tiny,.meta,.label{font-family:var(--mono);font-size:var(--label-size);font-weight:400;letter-spacing:.14em;color:var(--muted)}.meta{letter-spacing:0}.brand{display:inline-flex;gap:0;align-items:baseline;font-family:var(--sans);font-size:var(--brand-size);font-weight:850;line-height:1;letter-spacing:-.1em;color:var(--ink)}.brand span{color:var(--orange)}.brand .brand-icon{width:34px;height:34px;flex:none;margin-right:10px;align-self:center;border-radius:8px}.link{padding:0;border:0;background:transparent;color:var(--accent-ink);font-size:var(--note-size)}.link:hover{background:transparent;color:var(--orange)}.hidden{display:none!important}.footer,.foot{font-family:var(--sans);font-size:var(--footer-size);color:var(--muted)}
@media(max-width:800px){:root{--card-title-size:18px}}
@media(max-width:700px){input,select,textarea{font-size:16px;min-height:44px}.brand .brand-icon{width:31px;height:31px}}
@media(max-width:480px){:root{--brand-size:24px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
