.nebula{position:relative;width:100vw;margin-left:calc(-50vw + 50%);height:100vh;overflow:hidden;--c-title: #ffffff;--c-sub: var(--text-tertiary);--c-tag: rgba(255,255,255,.6);--c-tag-hover: #fff;--c-tag-border: rgba(255,255,255,.09);--c-tag-hover-border: rgba(255,255,255,.25);--c-ghost: var(--text-tertiary);--c-card-bg: rgba(255,255,255,.04);--c-card-border: rgba(255,255,255,.07);--c-card-hover-bg: rgba(255,255,255,.07);--c-card-glow: rgba(120,130,255,.1);--c-accent-bar: .45;--c-bg-glow: rgba(120,130,255,.07);--c-star-bright: 1}[data-theme=light] .nebula{--c-title: #111;--c-tag: rgba(0,0,0,.45);--c-tag-hover: #000;--c-tag-border: rgba(0,0,0,.07);--c-tag-hover-border: rgba(0,0,0,.2);--c-card-bg: rgba(0,0,0,.03);--c-card-border: rgba(0,0,0,.06);--c-card-hover-bg: rgba(0,0,0,.055);--c-card-glow: rgba(100,110,230,.06);--c-accent-bar: .25;--c-bg-glow: rgba(100,110,230,.03);--c-star-bright: .12}.nebula-bg{position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse 50% 45% at 50% 50%,var(--c-bg-glow) 0%,transparent 100%),var(--bg)}.nebula-bg:before{content:"";position:absolute;inset:0;width:1px;height:1px;background:transparent;box-shadow:var(--stars);filter:brightness(var(--c-star-bright))}.n{position:absolute;transform:translate(-50%,-50%);z-index:1;text-decoration:none;color:inherit;animation:float var(--per, 5s) ease-in-out var(--del, 0s) infinite}@keyframes float{0%,to{transform:translate(calc(-50% + var(--ox, 0px)),calc(-50% + var(--oy, 0px) - var(--amp, 4px)))}50%{transform:translate(calc(-50% + var(--ox, 0px) + 1.5px),calc(-50% + var(--oy, 0px) + var(--amp, 4px)))}}.n-l1{cursor:pointer;text-decoration:none}.n-l1-inner{padding:.6rem .8rem;max-width:clamp(180px,16vw,280px);background:transparent;border:none;border-radius:0;position:relative;overflow:hidden;transition:transform .3s ease,color .3s ease,opacity .3s ease,filter .3s ease;text-align:center}.n-l1-fg{z-index:10}.n-l1-fg .n-l1-inner{text-shadow:0 0 30px rgba(140,160,255,.25),0 0 60px rgba(140,160,255,.1)}.n-l1-fg:hover .n-l1-inner{transform:scale(1.06)}.n-l1-fg .n-l1-title{max-width:10em;font-family:var(--font-serif);font-size:clamp(1.25rem,1.6vw,1.7rem);font-weight:800;line-height:1.3;color:var(--c-title);letter-spacing:-.02em;margin:0;transition:color .3s ease}.n-l1-fg:hover .n-l1-title{color:var(--accent)}.n-l1-mg{z-index:5;opacity:.82}.n-l1-mg .n-l1-inner{text-shadow:0 0 15px rgba(140,160,255,.1)}.n-l1-mg:hover{opacity:1}.n-l1-mg:hover .n-l1-inner{transform:scale(1.05)}.n-l1-mg .n-l1-title{max-width:10em;font-family:var(--font-serif);font-size:clamp(1rem,1.2vw,1.3rem);font-weight:700;line-height:1.3;color:var(--c-title);letter-spacing:-.01em;margin:0;transition:color .3s ease}.n-l1-mg:hover .n-l1-title{color:var(--accent)}.n-l1-bg{z-index:2;opacity:.58;filter:blur(.4px)}.n-l1-bg .n-l1-inner{text-shadow:0 0 8px rgba(140,160,255,.06)}.n-l1-bg:hover{opacity:1;filter:blur(0)}.n-l1-bg:hover .n-l1-inner{transform:scale(1.05)}.n-l1-bg .n-l1-title{max-width:10em;font-family:var(--font-serif);font-size:clamp(.85rem,1vw,1.1rem);font-weight:600;line-height:1.3;color:var(--c-title);letter-spacing:0;margin:0;transition:color .3s ease}.n-l1-bg:hover .n-l1-title{color:var(--accent)}.n-l2{z-index:2;padding:.3rem 0;font-size:clamp(.75rem,.9vw,.95rem);font-weight:500;white-space:normal;max-width:14em;text-align:center;color:var(--c-tag);opacity:.75;transition:transform .3s,color .3s,opacity .3s}.n-l2:hover{transform:translate(-50%,-50%) scale(1.2);color:var(--c-tag-hover)!important;opacity:1}.n-l3{z-index:1;font-size:clamp(.62rem,.68vw,.78rem);font-family:SF Mono,Fira Code,Courier New,monospace;letter-spacing:.04em;color:var(--c-ghost);opacity:.25;white-space:normal;max-width:14em;text-align:center;transition:opacity .3s,color .3s,transform .3s}.n-l3:hover{opacity:.7;color:var(--text-secondary);transform:translate(-50%,-50%) scale(1.15)}.nebula-scroll{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);z-index:4;text-decoration:none}.nebula-scroll span{font-size:1.25rem;color:var(--text-tertiary);opacity:.4;animation:bounce 2s ease-in-out infinite;line-height:1}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}@media(max-width:640px){.nebula{min-height:auto;padding:2rem 0;width:100%;margin-left:0}.n{position:static!important;transform:none!important;animation:none!important;display:block;margin:0 auto}.n-l1{margin-bottom:1rem;max-width:92vw}.n-l1:nth-of-type(1)~.n-l1{display:none}.n-l2{display:inline-block;margin:.2rem;opacity:1;text-align:center}.n-l2:nth-of-type(n+6){display:none}.n-l3{display:inline;margin:0 .4rem;opacity:.35;font-size:.7rem;text-align:center}.n-l3:nth-of-type(n+5){display:none}.nebula-scroll{display:none}}.signals{padding:1.5rem 0}.signals-title{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;margin-bottom:1.5rem;color:var(--text-primary)}.category-group{margin-bottom:1.75rem}.category-group:last-child{margin-bottom:0}.category-header{display:flex;align-items:center;gap:.5rem;padding-bottom:.625rem;border-bottom:2px solid;margin-bottom:0}.category-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.category-label{font-size:.9375rem;font-weight:700;letter-spacing:.04em}.category-count{font-size:.9375rem;color:var(--text-tertiary);margin-left:auto;font-weight:500}.signals-list{display:flex;flex-direction:column}.signal-card{padding:1.25rem 0;border-bottom:1px solid var(--border-light)}.signal-card:last-child{border-bottom:none}.signal-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.signal-importance{font-size:.9375rem;color:var(--text-tertiary);font-weight:500}.signal-title{display:block;font-family:var(--font-serif);font-size:1.25rem;font-weight:600;color:var(--text-primary);line-height:1.6;margin-bottom:.375rem;transition:color .2s}.signal-title:hover{color:var(--accent)}.signal-summary{font-size:.875rem;color:var(--text-secondary);line-height:1.7}.signal-analysis{margin-top:.75rem}.signal-analysis summary{font-size:.9375rem;color:var(--accent);cursor:pointer;font-weight:500;user-select:none}.signal-analysis summary:hover{color:#1d4ed8}.analysis-content{margin-top:.75rem;padding:.875rem 1rem;background:var(--accent-light);border-radius:var(--radius);font-size:1.25rem;line-height:1.8;color:var(--text-primary)}.signal-meta{display:flex;align-items:center;justify-content:space-between;margin-top:.625rem}.signal-source{font-size:.9375rem;color:var(--text-tertiary)}.signal-tags{display:flex;gap:.375rem;flex-wrap:wrap}.tag{font-size:.9375rem;color:var(--text-tertiary)}.view-all{display:block;text-align:center;padding:.625rem 0;margin-top:.25rem;font-size:.9375rem;font-weight:600;color:var(--accent);border:1px dashed var(--border);border-radius:6px;transition:background .2s,border-color .2s}.view-all:hover{background:var(--accent-light);border-color:var(--accent);color:var(--accent-hover)}.importance-5{border-left:3px solid #dc2626;padding-left:1rem}.importance-4{border-left:3px solid #f59e0b;padding-left:1rem}.nebula:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 65% 60% at 50% 48%,transparent 0%,transparent 25%,rgba(10,10,10,.45) 45%,rgba(10,10,10,.78) 65%,rgba(10,10,10,.95) 100%);pointer-events:none;z-index:50}[data-theme=light] .nebula:after{background:radial-gradient(ellipse 65% 60% at 50% 48%,transparent 0%,transparent 25%,rgba(250,250,250,.45) 45%,rgba(250,250,250,.78) 65%,rgba(250,250,250,.95) 100%)}@media(max-width:640px){.signal-meta{flex-direction:column;align-items:flex-start;gap:.375rem}}:root{--bg: #0a0a0a;--bg-white: #111111;--bg-card: #181818;--text-primary: #e5e5e5;--text-secondary: #888888;--text-tertiary: #555555;--accent: #818cf8;--accent-light: #1e1b4b;--accent-hover: #a5b4fc;--border: #222222;--border-light: #1a1a1a;--cat-technology: #818cf8;--cat-application: #22d3ee;--cat-hardware: #fbbf24;--cat-thought: #a78bfa;--radius: 8px;--max-width: 720px;--font-serif: "Noto Serif SC", "Georgia", serif;--font-sans: "Noto Sans SC", system-ui, sans-serif}[data-theme=light]{--bg: #fafafa;--bg-white: #ffffff;--bg-card: #ffffff;--text-primary: #1a1a1a;--text-secondary: #6b7280;--text-tertiary: #9ca3af;--accent: #4f46e5;--accent-light: #eef2ff;--accent-hover: #4338ca;--border: #e5e7eb;--border-light: #f3f4f6;--cat-technology: #6366f1;--cat-application: #06b6d4;--cat-hardware: #f59e0b;--cat-thought: #8b5cf6}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg);line-height:1.75;min-height:100vh}a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-hover)}.site-header{border-bottom:1px solid var(--border);background:var(--bg-white);position:sticky;top:0;z-index:100}.nav{max-width:var(--max-width);margin:0 auto;padding:0 1.25rem;height:56px;display:flex;align-items:center;justify-content:space-between}.logo{font-family:var(--font-serif);font-size:1.25rem;font-weight:900;color:var(--text-primary);letter-spacing:-.02em}.logo:hover{color:var(--text-primary)}.logo-dot{color:#ef4444}.nav-links{display:flex;align-items:center;gap:1.75rem}.nav-links a{font-size:.875rem;font-weight:500;color:var(--text-secondary);transition:color .2s}.nav-links a:hover,.nav-links a.active{color:var(--text-primary)}.theme-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:color .2s,border-color .2s;padding:0}.theme-toggle:hover{color:var(--text-primary);border-color:var(--text-tertiary)}.icon-sun{display:block}.icon-moon,[data-theme=light] .icon-sun{display:none}[data-theme=light] .icon-moon{display:block}main{max-width:var(--max-width);margin:0 auto;padding:0 1.25rem;min-height:calc(100vh - 176px)}.site-footer{border-top:1px solid var(--border);background:var(--bg-white);padding:2.5rem 0;margin-top:4rem}.footer-inner{max-width:var(--max-width);margin:0 auto;padding:0 1.25rem;text-align:center}.footer-inner p:first-child{font-family:var(--font-serif);font-weight:700;font-size:.875rem;color:var(--text-primary)}.footer-sub{font-size:.75rem;color:var(--text-tertiary);margin-top:.25rem}@media(max-width:640px){.nav-links{gap:1rem}.nav-links a{font-size:.8125rem}}
