code,pre{font-family:var(--font-mono)}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.boot-screen{width:100vw;height:100vh;font-family:var(--font-mono);z-index:99999;cursor:pointer;-webkit-user-select:none;user-select:none;background:#080706;flex-direction:column;justify-content:center;padding:80px;transition:opacity .28s,filter .28s;display:flex;position:fixed;top:0;left:0;overflow:hidden}.boot-screen.fade{opacity:0;filter:blur(2px);pointer-events:none}*,:before,:after{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0;padding:0}body{color:var(--text);background:radial-gradient(circle at top,#18110d 0%,#0b0908 55%,#080706 100%);overflow-x:hidden}button{font:inherit;cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}:root{--shell-width:1400px;--content-width:780px;--shell-margin:4px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--bg:#0b0908;--bg-secondary:#12100f;--surface:#171211;--surface-hover:#211816;--glass:#1b1412b8;--text:#ebe5df;--muted:#a88d79;--accent:#bf8d63;--accent-soft:#d8b18d;--border:#5f4534;--border-light:#8d654d;--font-heading:"JetBrains Mono","Fantasque Sans Mono","Noto Sans JP",ui-monospace,monospace;--font-body:"JetBrains Mono","Fantasque Sans Mono","Noto Sans JP",ui-monospace,monospace;--font-mono:"JetBrains Mono","Fantasque Sans Mono","Noto Sans JP",ui-monospace,monospace;--font-jp:"Noto Sans JP","JetBrains Mono",system-ui,sans-serif;--font-size-xs:.7rem;--font-size-sm:.85rem;--font-size-md:1rem;--font-size-lg:1.2rem;--font-size-xl:2rem;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--panel-blur:12px;--shadow:0 0 0 1px #ffffff05, 0 0 32px #bf8d6314;--shadow-soft:0 8px 30px #00000059;--control-height:36px;--waybar-gap:14px;--waybar-padding-x:26px;--waybar-radius-left:0 0 36px 0;--waybar-radius-center:60px 0 60px 0;--waybar-radius-right:36px 0 0 0;--waybar-center-width:min(560px,60vw);--hero-iem-height:380px;--hero-iem-height-mobile:220px;--desk-photo-height:420px;--ease-out:cubic-bezier(.16,1,.3,1);--ease-spring:cubic-bezier(.55,-.68,.48,1.682);--transition-fast:.18s;--transition:.3s;--transition-slow:.55s}::selection{background:var(--accent);color:var(--bg)}h1{font-family:var(--font-heading);font-size:5rem;font-weight:700;line-height:1}h2{font-size:3rem;font-weight:700}h3{font-size:2rem}p{color:var(--muted);line-height:1.8}small{color:var(--muted)}code,pre{font-family:var(--font-mono)}.fade-up{animation:.8s forwards fadeUp}.glass{-webkit-backdrop-filter:blur(var(--panel-blur));backdrop-filter:blur(var(--panel-blur));background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:var(--radius-lg)}.shell{background:0 0;flex-direction:column;min-height:100vh;display:flex}.topbar{width:100%;height:56px;margin-top:18px;position:relative}.shell.startup .topbar{opacity:1;transform:none}.waybar-module{--module-transform:none;justify-content:center;align-items:center;gap:var(--waybar-gap);height:var(--control-height);padding:0 var(--waybar-padding-x);box-sizing:border-box;border:2px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform:var(--module-transform) scaleY(.35);transform-origin:top;background:#12100fd1;transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .45s,background .25s,border-color .25s;display:flex}.shell.startup .waybar-module{transform:var(--module-transform) scaleY(1)}.waybar-module.left{left:var(--shell-margin);white-space:nowrap;border-radius:0 0 36px;width:fit-content;max-width:40vw;position:absolute;top:0}.waybar-module.center{--module-transform:translateX(-50%);border-radius:60px 0;justify-content:center;width:min(560px,60vw);position:absolute;top:0;left:50%}.waybar-module.right{right:var(--shell-margin);white-space:nowrap;border-radius:36px 0 0;width:fit-content;position:absolute;top:0}.lang{height:100%;color:var(--muted);border-radius:9px;justify-content:center;align-items:center;padding:0 10px;transition:all .3s cubic-bezier(.55,-.68,.48,1.682);display:flex}.lang.active{background:var(--accent);color:#111}.page-title{height:100%;color:var(--accent);letter-spacing:.15em;white-space:nowrap;justify-content:center;align-items:center;font-size:.95rem;font-weight:700;display:flex}.logo{color:var(--accent);letter-spacing:.25em;text-transform:uppercase;font-size:.85rem;font-weight:700}.nav{justify-content:center;align-items:stretch;gap:6px;width:100%;height:100%;display:flex}.nav a{height:100%;color:var(--muted);z-index:1;border-radius:9px;justify-content:center;align-items:center;padding:0 12px;text-decoration:none;transition:all .3s cubic-bezier(.55,-.68,.48,1.682);display:flex;position:relative;overflow:hidden}.nav a:before{content:"";background:var(--accent);opacity:0;z-index:-1;border-radius:9px;transition:opacity .25s,transform .25s;position:absolute;inset:2px;transform:scale(.9)}.nav a.active{color:#111}.nav a.active:before{opacity:1;transform:scale(1)}.desktop{flex:1;display:block;position:relative}.desktop:before{content:"";pointer-events:none;filter:blur(120px);z-index:0;background:radial-gradient(circle,#bf8d6321,#0000 70%);border-radius:50%;width:900px;height:900px;position:absolute;top:-120px;left:50%;transform:translate(-50%)}.statusbar{opacity:0;transform-origin:bottom;justify-content:center;align-items:center;gap:6px;padding:14px 0 22px;transition:all .3s cubic-bezier(.55,-.68,.48,1.682);display:flex;transform:scaleY(.35)}.shell.startup .statusbar{opacity:1;transition:opacity .16s steps(2,end),transform .22s cubic-bezier(.34,1.56,.64,1);transform:scaleY(1)}.workspace-tab{color:var(--muted);border-radius:8px;align-items:center;gap:8px;padding:6px 14px;font-size:.82rem;transition:all .2s;display:flex}.workspace-tab:hover{color:var(--text)}.workspace-tab.active{color:var(--accent);background:var(--surface)}.workspace-n{font-family:var(--font-mono);color:var(--border-light);border:1px solid var(--border);border-radius:4px;justify-content:center;align-items:center;width:16px;height:16px;font-size:.72rem;display:inline-flex}.workspace-tab.active .workspace-n{color:var(--accent);border-color:var(--accent-soft)}.page-title{color:var(--accent);letter-spacing:.15em;white-space:nowrap;margin:0;font-size:.95rem;font-weight:700}.route-loading{text-align:center;font-family:var(--font-mono);color:var(--border-light);padding:120px 24px;font-size:.8rem}.knowledge-page{width:100%;height:100%;min-height:calc(100vh - 140px);position:relative}.graph-canvas{z-index:0;position:absolute;inset:0}.graph-canvas-loading{background:radial-gradient(circle,#bf8d630f,#0000 60%)}.graph-settings{z-index:2;position:absolute;top:1.5rem;right:1.5rem}.graph-settings-toggle{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--muted);background:var(--glass);-webkit-backdrop-filter:blur(var(--panel-blur));backdrop-filter:blur(var(--panel-blur));border:1px solid var(--border);justify-content:center;align-items:center;transition:color .2s,border-color .2s;display:inline-flex}.graph-settings-toggle:hover{color:var(--accent);border-color:var(--accent-soft)}.graph-settings-panel{border-radius:var(--radius-md);background:var(--glass);width:220px;-webkit-backdrop-filter:blur(var(--panel-blur));backdrop-filter:blur(var(--panel-blur));border:1px solid var(--border);box-shadow:var(--shadow-soft);flex-direction:column;gap:14px;padding:16px;display:flex;position:absolute;top:40px;right:0}.graph-settings-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.15em;color:var(--border-light);margin:0;font-size:.68rem}.graph-settings-row{font-family:var(--font-mono);color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:.78rem;display:flex}.graph-settings-slider-row{flex-direction:column;align-items:stretch;gap:6px}.graph-settings-row input[type=range]{width:100%;accent-color:var(--accent)}.graph-settings-row input[type=checkbox]{accent-color:var(--accent)}.graph-settings-segmented{border:1px solid var(--border);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.graph-settings-segmented button{font-family:var(--font-mono);color:var(--muted);padding:3px 10px;font-size:.7rem;transition:color .2s,background .2s}.graph-settings-segmented button.active{background:var(--accent);color:var(--bg)}.graph-settings-note{color:var(--border-light);margin:0;font-size:.68rem;font-style:italic;line-height:1.5}@media (width<=860px){.graph-settings{top:auto;bottom:1.5rem;right:1rem}}.knowledge-loading,.knowledge-error{flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:calc(100vh - 140px);padding:24px;display:flex}.knowledge-error p{font-family:var(--font-mono);color:var(--border-light);text-align:center;max-width:28rem;font-size:.85rem}.skeleton-line{background:linear-gradient(90deg, var(--surface) 25%, var(--surface-hover) 50%, var(--surface) 75%);background-size:200% 100%;border-radius:4px;height:12px;animation:1.6s ease-in-out infinite shimmer;display:block}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.vault-explorer{z-index:1;border-radius:var(--radius-lg);background:var(--glass);width:min(880px,100vw - 4rem);height:min(600px,74vh);-webkit-backdrop-filter:blur(var(--panel-blur));backdrop-filter:blur(var(--panel-blur));border:1px solid var(--border);box-shadow:var(--shadow-soft);flex-direction:column;display:flex;position:absolute;top:50%;left:6rem;overflow:hidden;transform:translateY(-50%)}.vault-explorer-toolbar{border-bottom:1px solid var(--border);background:#0000001f;gap:6px;padding:10px 12px;display:flex}.vault-icon-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--muted);justify-content:center;align-items:center;transition:color .2s,background .2s;display:inline-flex}.vault-icon-btn:hover{color:var(--accent);background:var(--surface-hover)}.vault-explorer-body{flex:1;min-height:0;display:flex}.vault-reveal-btn{z-index:1;font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--glass);-webkit-backdrop-filter:blur(var(--panel-blur));backdrop-filter:blur(var(--panel-blur));padding:6px 12px;font-size:.72rem;transition:color .2s,border-color .2s;position:absolute;bottom:2rem;left:6rem}.vault-reveal-btn:hover{color:var(--accent);border-color:var(--accent-soft)}.vault-tree{border-right:1px solid var(--border);outline:none;flex-shrink:0;width:260px;padding:8px 0;overflow-y:auto}.tree-collapsed .vault-tree{display:none}.tree-row{font-family:var(--font-mono);color:var(--muted);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;padding:4px 10px 4px 0;font-size:.78rem;display:flex;overflow:hidden}.tree-row:hover{color:var(--text)}.tree-row.cursor{background:var(--surface-hover)}.tree-row.active-file{color:var(--accent)}.tree-chevron,.tree-icon{color:var(--border-light);flex-shrink:0}.tree-icon-file{margin-left:15px}.tree-label{text-overflow:ellipsis;overflow:hidden}.note-reader{min-width:0;color:var(--muted);flex:1;padding:24px 28px;font-size:.87rem;line-height:1.75;overflow-y:auto}.note-reader-empty,.note-reader-loading{color:var(--border-light);font-family:var(--font-mono);flex-direction:column;justify-content:center;gap:10px;height:100%;font-size:.78rem;display:flex}.note-reader h1,.note-reader h2,.note-reader h3{color:var(--text);margin:1.1em 0 .5em}.note-reader h1{font-size:1.4rem}.note-reader h2{font-size:1.15rem}.note-reader h3{font-size:1rem}.note-reader code{background:var(--surface);border-radius:4px;padding:1px 5px;font-size:.85em}.note-reader pre{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;overflow-x:auto}.note-reader pre code{background:0 0;padding:0}.note-reader a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.note-reader img{border-radius:var(--radius-sm);max-width:100%}.note-reader ul,.note-reader ol{padding-left:1.4em}.note-reader table{border-collapse:collapse;width:100%;font-size:.82rem}.note-reader th,.note-reader td{border:1px solid var(--border);text-align:left;padding:6px 10px}@media (width<=860px){.vault-explorer{width:calc(100vw - 2rem);height:60vh;top:auto;bottom:5rem;left:50%;transform:translate(-50%)}.vault-tree{width:200px}.vault-reveal-btn{bottom:1rem;left:50%;transform:translate(-50%)}}
