/* The personal journal: same ink and blue, a more playful rhythm. */
nav a[aria-current=page]{color:var(--blue);font-weight:600}header nav{gap:28px}.about-hero,.blog-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:center;padding-block:90px 80px}.about-hero h1,.blog-hero h1{white-space:pre-line;font-family:"Noto Serif SC",Georgia,serif;font-size:clamp(2.4rem,4.5vw,4rem);line-height:1.45;font-weight:500;letter-spacing:-1.5px}.page-intro{margin-top:24px;font-size:1rem;color:var(--muted);max-width:650px;line-height:1.95}.about-traits,.blog-topics{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.about-traits span,.blog-topics span{font-size:.78rem;padding:7px 12px;border:1px solid var(--line);border-radius:30px;color:var(--blue);background:#f6f8fd}.text-link{display:inline-block;margin-top:28px;font-size:.85rem;color:var(--blue);border-bottom:1px solid var(--blue);padding-bottom:5px}.world-card{position:relative;height:410px;border-radius:50% 50% 8px 8px;background:radial-gradient(ellipse at 50% 35%,#235b9c,#12233d 70%);color:white;overflow:hidden;isolation:isolate;box-shadow:10px 10px 0 #e5ecfb}.world-card:before{content:'';position:absolute;inset:0;background-image:radial-gradient(#ffffff2b 1px,transparent 1px);background-size:20px 20px;mask-image:linear-gradient(transparent,#000)}.orbit-ring{position:absolute;inset:65px 60px;border:1px solid #9db4db50;border-radius:50%;transform:rotate(-25deg)}.ring2{inset:90px 22px;transform:rotate(35deg)}.ring3{inset:30px 95px;transform:rotate(-45deg)}.world-core{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:100px;font-family:Georgia,serif;font-style:italic;color:#d9e9ff;text-shadow:0 0 40px #4bb9ff66}.world-core span{font-family:ui-monospace,monospace;font-size:9px;font-style:normal;letter-spacing:3px;color:#8dc6ff;margin-top:4px}.orbit-place{position:absolute;font-family:ui-monospace,monospace;font-size:.75rem;letter-spacing:1px;background:#12233dcc;padding:9px 13px;border:1px solid #7089b060;border-radius:4px}.orbit-place:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#4bb9ff;margin-right:9px;box-shadow:0 0 14px #4bb9ff}.orbit-place small{display:block;font-size:.6rem;color:#a4bfdf;margin:5px 0 0 15px}.place1{left:25px;top:110px}.place2{right:22px;top:55px}.place3{right:35px;bottom:80px}.world-coordinate{position:absolute;bottom:20px;width:100%;text-align:center;font-size:9px;letter-spacing:2px;color:#9ab4d6}.journey-section{background:var(--wash);border-block:1px solid var(--line)}.journey-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 40px}.journey-filters button{border:1px solid #cad6e8;background:transparent;border-radius:30px;padding:9px 16px;color:var(--muted);font-size:.8rem;transition:background .2s}.journey-filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.life-timeline{position:relative;padding-block:15px}.life-timeline:before{content:'';position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(#b9cbea,#1748e5,#7aa6ff)}.life-event{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:65px;margin-bottom:35px;align-items:start;--event-color:#1748e5}.life-event.kind-life{--event-color:#bc6b35}.life-event.kind-study{--event-color:#008678}.life-event.kind-work{--event-color:#1748e5}.life-dot{position:absolute;left:calc(50% - 6px);top:21px;width:14px;height:14px;border-radius:50%;background:var(--event-color);border:3px solid var(--wash);box-shadow:0 0 0 2px var(--event-color)}.event-year{font-family:ui-monospace,monospace;color:var(--event-color);font-size:1.75rem;letter-spacing:-1px;text-align:right;padding-top:9px}.event-card{background:white;border:1px solid var(--line);border-radius:7px;padding:25px 28px;position:relative;box-shadow:0 8px 25px #12233d04;transition:transform .25s,box-shadow .25s}.event-card:hover{transform:translateY(-4px);box-shadow:0 14px 35px #12233d0d}.event-type{display:inline-block;font-size:.67rem;letter-spacing:.6px;color:var(--event-color);margin-bottom:10px;font-weight:600}.event-card h3{font-size:1.2rem;line-height:1.6}.event-card p{font-size:.91rem;color:var(--muted);margin-top:12px;line-height:1.9}.event-card aside{font-size:.79rem;color:var(--event-color);background:var(--wash);border-left:2px solid var(--event-color);padding:12px 15px;margin-top:18px;line-height:1.8}.life-event:nth-child(even) .event-year{grid-column:2;text-align:left;grid-row:1}.life-event:nth-child(even) .event-card{grid-column:1;grid-row:1}.current-event .event-card{background:var(--ink);color:white;border-color:var(--ink)}.current-event .event-card p{color:#bdcce2}.current-event .event-type{color:#6fc7ff}.current-event .event-card h3{color:white}.interest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.interest-card{border:1px solid var(--line);border-radius:7px;padding:28px;min-width:0;position:relative;overflow:hidden;transition:transform .25s,border-color .25s;background:linear-gradient(145deg,#fff,#f7f9fd)}.interest-card:hover{transform:translateY(-5px);border-color:#8cafef}.interest-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.interest-top svg{width:34px;height:34px;color:var(--blue)}.interest-top>span{font-family:ui-monospace,monospace;color:#9caec9;font-size:.8rem}.interest-card h3{font-size:1.15rem}.interest-card p{font-size:.9rem;color:var(--muted);margin-top:15px;line-height:1.9}.interest-card small{display:block;margin-top:22px;padding-top:15px;border-top:1px solid var(--line);font-size:.72rem;color:var(--blue);line-height:1.8}.personal-closing{background:var(--ink);color:white;padding-block:65px}.personal-closing .eyebrow{color:#80c8ff}.personal-closing h2{font-family:"Noto Serif SC",Georgia,serif;font-weight:500;font-size:2.1rem;line-height:1.7}.personal-closing p:not(.eyebrow){color:#becce0;margin-top:18px;max-width:800px}.personal-closing .button{margin-top:28px}.blog-hero{padding-bottom:65px}.notebook-art{border:1px solid #365479;background:var(--ink);color:white;border-radius:8px;min-height:310px;padding:30px;position:relative;box-shadow:10px 10px 0 #e5ecfb;overflow:hidden}.notebook-art:after{content:'';position:absolute;width:180px;height:180px;right:-50px;bottom:-50px;border:1px solid #4bb9ff77;border-radius:50%;box-shadow:0 0 0 25px #4bb9ff0c,0 0 0 50px #4bb9ff08}.notebook-art>span,.notebook-art>p{font-size:.65rem;letter-spacing:2px;color:#9bb4d8;font-family:ui-monospace,monospace}.notebook-line{height:1px;background:#496385;width:80%;margin-top:24px}.notebook-line.short{width:55%;margin-top:13px}.notebook-art b{display:block;font-size:55px;font-family:ui-monospace,monospace;line-height:1.1;font-weight:400;color:#89caff;margin:25px 0}.blog-content{padding-block:20px 90px}.blog-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:30px;margin-bottom:25px}.blog-toolbar h2{font-size:1.25rem}.blog-toolbar input{border:1px solid var(--line);padding:11px 15px;border-radius:5px;font:inherit;font-size:.9rem;background:var(--wash);color:var(--ink);width:min(330px,50%)}.blog-empty{background:var(--wash);border:1px solid var(--line);border-radius:8px;padding:55px}.empty-symbol{display:block;color:var(--blue);font-family:ui-monospace,monospace;font-size:55px;margin-bottom:28px}.blog-empty .eyebrow{font-size:.7rem;margin-bottom:13px}.blog-empty h2{font-family:"Noto Serif SC",Georgia,serif;font-size:2rem;font-weight:500}.blog-empty>p:not(.eyebrow){color:var(--muted);margin-top:15px}.empty-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:45px}.empty-columns article{border-top:1px solid #b8cce8;padding-top:16px}.empty-columns span{font-size:.7rem;font-family:ui-monospace,monospace;color:var(--blue)}.empty-columns p{font-size:.85rem;color:var(--muted);margin-top:10px}.blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.blog-card{border:1px solid var(--line);padding:27px;border-radius:7px;transition:transform .2s,box-shadow .2s}.blog-card:hover{transform:translateY(-3px);box-shadow:0 12px 25px #12233d0a}.blog-card h3{margin-block:14px;font-size:1.25rem}.blog-card p{font-size:.9rem;color:var(--muted)}.blog-meta{font-size:.73rem;color:var(--muted);display:flex;gap:12px}.blog-card .tags{margin-top:15px}.blog-card .text-link{margin-top:20px}.article-shell{max-width:820px;padding-block:60px 80px}.article-shell h1{font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.5;margin-block:20px;font-weight:600}.article-body{line-height:1.9;color:var(--ink);margin-top:40px}.article-body p{margin-block:18px}.article-body h2,.article-body h3{margin:34px 0 16px}.article-body ul,.article-body ol{padding-left:25px;line-height:1.9}.article-body pre{background:var(--ink);color:#d7e6fa;padding:22px;border-radius:5px;overflow-x:auto;font-size:.85rem}.article-body code{font-family:ui-monospace,monospace}.article-body :not(pre)>code{background:#eef2fa;padding:3px 6px;border-radius:3px}.article-body blockquote{border-left:3px solid var(--blue);padding:2px 20px;background:var(--wash);margin:24px 0;color:var(--muted)}.article-body a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.article-body img{max-width:100%;height:auto}.article-body table{display:block;overflow-x:auto;border-collapse:collapse;max-width:100%}.article-body td,.article-body th{padding:10px;border:1px solid var(--line)}
@media(max-width:1000px){.about-hero,.blog-hero{gap:35px;grid-template-columns:1.2fr 1fr}.world-card{height:350px}.world-core{font-size:80px}.interest-grid{grid-template-columns:repeat(2,1fr)}.life-event{gap:45px}.event-card{padding:22px}.orbit-ring{inset:60px 45px}.ring2{inset:90px 15px}.ring3{inset:30px 80px}.place1{left:15px}.place2{right:15px}.place3{right:20px}}
@media(max-width:780px){header nav{gap:12px;justify-content:flex-start}header nav a{font-size:.8rem;margin-right:14px}.about-hero,.blog-hero{display:block;padding-block:40px 45px}.about-hero h1,.blog-hero h1{font-size:clamp(2rem,7.5vw,2.9rem);letter-spacing:-.6px}.page-intro{font-size:.94rem;margin-top:18px}.world-card{height:310px;margin:35px auto 0;max-width:430px;border-radius:140px 140px 8px 8px;box-shadow:6px 6px 0 #e5ecfb}.world-core{font-size:85px}.place1{top:95px}.place2{top:45px;right:25px}.place3{bottom:65px}.ring1{inset:45px 70px}.ring2{inset:70px 20px}.ring3{inset:25px 95px}.about-traits span{font-size:.73rem}.journey-filters{gap:7px;margin-bottom:28px}.journey-filters button{font-size:.72rem;padding:9px 12px}.life-timeline:before{left:7px}.life-event{display:block;padding-left:34px;margin-bottom:28px}.life-dot{left:1px;top:10px}.event-year,.life-event:nth-child(even) .event-year{text-align:left;font-size:1.3rem;padding:0 0 10px}.event-card{padding:20px}.event-card h3{font-size:1.07rem}.event-card p{font-size:.875rem}.interest-grid{grid-template-columns:1fr}.interest-card{padding:24px}.interest-top{margin-bottom:20px}.personal-closing{padding-block:45px}.personal-closing h2{font-size:1.6rem}.notebook-art{margin-top:30px;min-height:260px}.blog-toolbar{align-items:flex-start;flex-direction:column}.blog-toolbar input{width:100%}.blog-empty{padding:30px 23px}.blog-empty h2{font-size:1.55rem}.empty-columns{grid-template-columns:1fr;gap:24px;margin-top:30px}.blog-grid{grid-template-columns:1fr}.article-shell{padding-block:35px 55px}.article-body{font-size:.94rem}.article-body pre{padding:16px}}
@media(prefers-reduced-motion:no-preference){.orbit-ring{animation:orbit-drift 12s ease-in-out infinite alternate}.ring2{animation-delay:-4s}.ring3{animation-delay:-8s}@keyframes orbit-drift{from{translate:0 -4px}to{translate:0 5px}}}
@media print{.world-card,.journey-filters,.notebook-art{display:none}.about-hero{display:block;padding-block:20px}.life-timeline:before{left:7px}.life-event{display:block;padding-left:30px;break-inside:avoid}.life-dot{left:1px}.event-year,.life-event:nth-child(even) .event-year{text-align:left}.interest-grid{grid-template-columns:repeat(2,1fr)}.interest-card{break-inside:avoid}.personal-closing{background:white;color:var(--ink)}.personal-closing p:not(.eyebrow){color:var(--muted)}}
/* Keep all route labels inside the rounded orbit panel. */
.place2{right:48px;top:90px}
@media(max-width:1000px){.place2{right:38px;top:80px}}
@media(max-width:780px){.place2{right:32px;top:75px}}
