:root{--void:#05040c;--ink:#f6efe2;--mute:#f6efe294;--gold:#f0d7a3;--ice:#cfe6ff;--rose:#f3cfc4;--serif:"Cormorant Garamond", "Noto Serif SC", serif;--sans:"Outfit", "Noto Sans SC", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100%;margin:0}body{color:var(--ink);background:var(--void);font-family:var(--sans);overflow:hidden}a{color:inherit;text-decoration:none}.sky{isolation:isolate;background:radial-gradient(1200px 700px at 50% 48%,#3a2a5c59,#0000 58%),radial-gradient(900px 520px at 18% 78%,#1c305647,#0000 62%),radial-gradient(700px 420px at 86% 18%,#5c2e262e,#0000 60%),linear-gradient(#070612 0%,#0b0918 48%,#08060f 100%);width:100%;height:100svh;position:relative;overflow:hidden}.sky__nebula{pointer-events:none;z-index:0;filter:blur(8px);background:radial-gradient(circle,#ffe8c414,#0000 22%),radial-gradient(at 30% 40%,#785ab41f,#0000 42%),radial-gradient(at 70% 60%,#465aa01a,#0000 40%);animation:18s ease-in-out infinite nebula-breathe;position:absolute;inset:-12%}.starfield{pointer-events:none;z-index:1;position:absolute;inset:0}.sky__title{z-index:3;text-align:center;pointer-events:none;flex-direction:column;align-items:center;margin:0;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sky__name{font-family:var(--serif);letter-spacing:.04em;color:#fff8ea;text-shadow:0 0 28px #ffe4b073,0 0 80px #b48c5a47;font-size:clamp(3.4rem,9vw,7.2rem);font-style:italic;font-weight:500;line-height:.92}.sky__blog{letter-spacing:.62em;text-indent:.62em;color:var(--gold);margin-top:.35em;font-family:Noto Serif SC,serif;font-size:clamp(1.05rem,2.4vw,1.55rem);font-weight:400}.sky-star{--star:#fff4dc;z-index:4;cursor:pointer;width:44px;height:44px;display:block;position:absolute;transform:translate(-50%,-50%)}.sky-star--skill{--star:#e8f2ff}.sky-star--life{--star:#ffd89a}.sky-star--collect{--star:#f7ddd3}.sky-star--sm{--core:7px;--glow:28px}.sky-star--md{--core:9px;--glow:36px}.sky-star--lg{--core:11px;--glow:46px}.sky-star__core,.sky-star__glow,.sky-star__rays{pointer-events:none;position:absolute;top:50%;left:50%}.sky-star__core{width:var(--core);height:var(--core);box-shadow:0 0 10px 2px var(--star);background:#fff;border-radius:50%;animation:3.6s ease-in-out infinite twinkle;transform:translate(-50%,-50%)}.sky-star__glow{width:var(--glow);height:var(--glow);background:radial-gradient(circle, var(--star) 0%, transparent 68%);opacity:.55;border-radius:50%;animation:4.4s ease-in-out infinite pulse;transform:translate(-50%,-50%)}.sky-star__rays{width:calc(var(--core) * 3.2);opacity:.55;background:linear-gradient(90deg,#0000,#fff,#0000);height:1px;transform:translate(-50%,-50%)}.sky-star__rays:after{content:"";background:inherit;position:absolute;inset:0;transform:rotate(90deg)}.sky-star__caption{flex-direction:column;align-items:center;gap:2px;min-width:max-content;transition:transform .35s,opacity .35s;display:flex;position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%)}.sky-star__label{letter-spacing:.22em;text-indent:.22em;color:var(--ink);font-size:.92rem;font-weight:400}.sky-star__hint{letter-spacing:.12em;color:var(--mute);opacity:0;font-size:.72rem;transition:opacity .3s,transform .3s;transform:translateY(-4px)}.sky-star:hover .sky-star__core,.sky-star:focus-visible .sky-star__core{box-shadow:0 0 18px 6px var(--star);transform:translate(-50%,-50%)scale(1.35)}.sky-star:hover .sky-star__glow,.sky-star:focus-visible .sky-star__glow{opacity:.95;transform:translate(-50%,-50%)scale(1.25)}.sky-star:hover .sky-star__hint,.sky-star:focus-visible .sky-star__hint{opacity:1;transform:translateY(0)}.sky-star:focus-visible{outline:none}.sky--placeholder{place-items:center;display:grid}.placeholder{z-index:4;text-align:center;padding:24px;position:relative}.placeholder__back{letter-spacing:.16em;color:var(--mute);margin-bottom:28px;font-size:.85rem;display:inline-block}.placeholder__back:hover{color:var(--ink)}.placeholder__kicker{letter-spacing:.28em;color:var(--gold);margin:0 0 8px;font-size:.78rem}.placeholder__title{margin:0;font-family:Noto Serif SC,serif;font-size:clamp(2.4rem,6vw,4rem);font-weight:500}.placeholder__note{color:var(--mute);margin:16px 0 0}.sky--scroll{height:100svh;overflow:hidden auto}.sky--scroll .starfield,.sky--scroll .sky__nebula{position:fixed}.doc-page{background:#12131a;height:100svh;overflow:hidden auto}.quotes-page{z-index:4;width:min(680px,100% - 48px);margin:0 auto;padding:48px 0 88px;position:relative}.quotes-page__header{text-align:center;margin-bottom:56px}.quotes-page__count{letter-spacing:.22em;color:var(--mute);margin:12px 0 0;font-size:.78rem}.quote-list{flex-direction:column;gap:40px;display:flex}.quote-list__empty{text-align:center;color:var(--mute);margin:0}.quote-card{border-top:1px solid #f6efe21f;padding:28px 8px 8px}.quote-card__text{font-family:var(--serif);color:#fff8ea;text-wrap:pretty;margin:0;font-size:clamp(1.35rem,3.2vw,1.85rem);font-weight:500;line-height:1.7}.quote-card__meta{letter-spacing:.12em;color:var(--gold);flex-wrap:wrap;gap:8px 18px;margin-top:18px;font-size:.78rem;display:flex}.quote-card__meta time{color:var(--mute)}.quote-card__note{color:var(--mute);margin:12px 0 0;font-size:.88rem;line-height:1.6}.coding-page{z-index:4;width:min(880px,100% - 48px);margin:0 auto;padding:48px 0 88px;position:relative}.coding-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:14px;display:grid}.category-card{min-height:148px;color:inherit;text-align:left;background:#fff8e80a;border:1px solid #f6efe21f;border-radius:18px;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:8px;padding:22px 20px;transition:border-color .25s,background .25s,transform .25s;display:flex}.category-card:hover,.category-card:focus-visible{background:#fff8e817;border-color:#f0d7a373;outline:none;transform:translateY(-2px)}.category-card__label{font-family:var(--sans);letter-spacing:.08em;color:#fff8ea;font-size:1.2rem}.category-card__hint{letter-spacing:.08em;color:var(--mute);font-size:.78rem}.article-list{flex-direction:column;display:flex}.article-item{border-top:1px solid #f6efe21f;align-items:center;gap:12px;padding:22px 8px;transition:color .2s;display:flex}.article-item__main{flex:1;align-items:baseline;gap:8px;min-width:0;display:flex}.article-item:hover .article-item__title,.article-item:focus-visible .article-item__title{opacity:.88}.article-item:focus-visible{outline:none}.article-item__title{font-family:var(--serif);color:#fff8ea;margin:0;font-size:clamp(1.2rem,2.4vw,1.5rem);font-weight:500;line-height:1.5}.article-item__file{letter-spacing:.08em;color:var(--mute);margin:8px 0 0;font-size:.75rem}.coding-page--list .placeholder__back{margin-bottom:16px}.coding-page--list .quotes-page__header{margin-bottom:28px}.coding-page--list .placeholder__title{font-size:clamp(1.5rem,3.2vw,2rem)}.coding-page--list .quotes-page__count{margin-top:8px}.coding-page--list .article-item{padding:12px 6px}.coding-page--list .article-item__title{font-size:1.12rem;line-height:1.45}.article-item__mark{color:#f0a3a3;flex:none;font-size:.85rem}.article-item--1 .article-item__title{color:#fff8ea;font-weight:400}.article-item--2 .article-item__title{color:var(--gold)}.article-item--3 .article-item__title{color:#f0a3a3;font-weight:600}.article-item__video{letter-spacing:.12em;color:var(--mute);border:1px solid #f6efe233;border-radius:999px;flex:none;padding:3px 10px;font-size:.72rem}.article-item__video:hover,.article-item__video:focus-visible{color:var(--gold);border-color:#f0d7a38c;outline:none}.coding-page--article{width:min(760px,100% - 48px)}.markdown-body{color:var(--ink);font-size:1.02rem;line-height:1.85}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{font-family:var(--serif);color:#fff8ea;margin:1.6em 0 .7em;font-weight:500;line-height:1.35}.markdown-body h1{font-size:1.8rem}.markdown-body h2{font-size:1.4rem}.markdown-body h3{font-size:1.18rem}.markdown-body p,.markdown-body ul,.markdown-body ol,.markdown-body blockquote{margin:0 0 1em}.markdown-body ul,.markdown-body ol{padding-left:1.4em}.markdown-body li+li{margin-top:.35em}.markdown-body a{color:var(--gold);text-underline-offset:3px;text-decoration:underline}.markdown-body strong{color:#fff8ea;font-weight:600}.markdown-body blockquote{color:var(--mute);border-left:2px solid #f0d7a373;padding:4px 0 4px 16px}.markdown-body code{color:#ffe7b3;background:#fff8e814;border-radius:6px;padding:.12em .4em;font-family:ui-monospace,Consolas,monospace;font-size:.88em}.markdown-body pre{background:#080812b8;border:1px solid #f6efe21a;border-radius:12px;margin:0 0 1.2em;padding:16px 18px;overflow-x:auto}.markdown-body pre code{color:inherit;background:0 0;padding:0;font-size:.86rem;line-height:1.65}.markdown-body img{border-radius:10px;max-width:100%;height:auto;margin:1em 0;display:block}.markdown-body table{border-collapse:collapse;width:100%;margin:0 0 1.2em;font-size:.92rem}.markdown-body th,.markdown-body td{border:1px solid #f6efe224;padding:8px 10px}.markdown-body th{color:#fff8ea;text-align:left;background:#fff8e80a}@keyframes twinkle{0%,to{opacity:.7}50%{opacity:1}}@keyframes pulse{0%,to{opacity:.4;transform:translate(-50%,-50%)scale(.92)}50%{opacity:.7;transform:translate(-50%,-50%)scale(1.08)}}@keyframes nebula-breathe{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}@media (width<=720px){.sky-star__hint{opacity:.8;transform:none}.sky__blog{letter-spacing:.4em;text-indent:.4em}}@media (prefers-reduced-motion:reduce){.sky__nebula,.sky-star__core,.sky-star__glow{animation:none}}pre code.hljs{padding:1em;display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}
