:root{--bg:#141414;--surface:#1c1c1c;--surface-2:#242424;--surface-3:#2f2f2f;--line:#2f2f2f;--line-strong:#3d3d3d;--ink:#e9e9e9;--ink-dim:#a1a1a1;--ink-faint:#6d6d6d;--accent:#13aff0;--accent-strong:#46c3f5;--accent-dim:#13aff024;--accent-ink:#04222e;--danger:#e0574a;--radius:4px;--radius-lg:6px;--topbar-h:56px;--pad:clamp(12px, 2.2vw, 64px);--gap:8px;--card-min:330px;--row-ratio:.75;--row-bias:1px;--font:"Helvetica Neue", Helvetica, Arial, "Segoe UI", "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif;--mono:ui-monospace, "SFMono-Regular", "Cascadia Mono", Consolas, monospace}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;margin:0;padding:0}body{font-family:var(--font);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overflow-x:hidden}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-strong)}button{color:inherit;font-family:inherit}img,video{max-width:100%;display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{opacity:0;transition:opacity .35s}.app.is-ready{opacity:1}.topbar{height:var(--topbar-h);z-index:40;padding:0 var(--pad);background:var(--surface);border-bottom:1px solid var(--line);align-items:stretch;gap:16px;transition:box-shadow .25s;display:flex;position:fixed;top:0;left:0;right:0}.topbar.is-scrolled{box-shadow:0 6px 18px -12px #000000e6}.brand{letter-spacing:.02em;color:#fff;white-space:nowrap;align-items:center;gap:9px;font-size:15px;font-weight:700;display:flex}.brand .brand-mark{color:var(--accent);font-size:17px;font-weight:800}.brand .brand-handle{color:var(--ink-faint);font-size:12px;font-weight:400}.topbar-spacer{flex:1}.tabs{align-items:stretch;gap:2px;display:flex}.tab{color:var(--ink-dim);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 16px;font-size:13.5px;transition:color .18s,border-color .18s,background .18s}.tab:hover{color:var(--ink);background:var(--surface-2)}.tab.is-active{color:#fff;border-bottom-color:var(--accent);font-weight:600}.icon-btn{color:var(--ink-dim);border-radius:var(--radius);cursor:pointer;background:0 0;border:1px solid #0000;align-self:center;place-items:center;width:36px;height:36px;transition:color .18s,background .18s,border-color .18s;display:grid}.icon-btn:hover{color:#fff;background:var(--surface-2);border-color:var(--line-strong)}.icon-btn.is-on{color:var(--accent)}main{padding-top:var(--topbar-h)}.view{display:none}.view.is-active{animation:.28s both viewIn;display:block}@keyframes viewIn{0%{opacity:0}}.profile{background:var(--surface);border-bottom:1px solid var(--line);padding:clamp(22px, 3.4vw, 40px) var(--pad)}.profile-inner{align-items:center;gap:20px;display:flex}.profile-meta h1{letter-spacing:-.01em;color:#fff;margin:0;font-size:clamp(22px,3vw,32px);font-weight:700;line-height:1.15}.profile-meta .handle{color:var(--ink-dim);margin-top:5px;font-size:13px}.profile-meta .tagline{color:var(--ink-dim);max-width:82ch;margin:10px 0 0;font-size:13.5px;line-height:1.7}.profile-tags{flex-wrap:wrap;align-items:flex-start;gap:8px;margin-top:16px;display:flex}.profile-tags.is-empty{display:none}.tag-group{border:1px solid var(--accent-dim);border-top-color:var(--accent);border-radius:var(--radius);background:#13aff00b;flex-direction:column;gap:7px;padding:9px 11px 10px;display:flex}.tag-group-name{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:700}.tag-group-list{flex-wrap:wrap;gap:6px;display:flex}.tag-stat{background:var(--surface-2);border-radius:var(--radius);color:var(--ink-dim);cursor:pointer;border:1px solid #0000;align-items:center;gap:6px;padding:5px 8px 5px 10px;font-family:inherit;font-size:12.5px;transition:color .18s,background .18s,border-color .18s;display:inline-flex}.tag-stat:hover{color:#fff;background:var(--surface-3)}.tag-stat.is-active{color:#04141c;background:var(--accent);border-color:var(--accent)}.tag-stat.is-active .tag-count{color:#04141c;background:#0000002e}.tag-clear{border-radius:var(--radius);color:var(--accent);cursor:pointer;background:0 0;border:1px dashed #13aff08c;align-items:center;gap:6px;padding:5px 10px;font-family:inherit;font-size:12.5px;transition:background .18s,color .18s;display:inline-flex}.tag-clear:hover{background:#13aff024}#categories.is-filtered .cat--filtered{margin-top:0}.tag-stat .tag-count{color:var(--ink-faint);font-variant-numeric:tabular-nums;background:#ffffff0f;border-radius:999px;padding:1px 6px;font-size:11px}.tag-stat:hover .tag-count{color:var(--accent)}.tag-stat.is-active:hover .tag-count{color:#04141c}.categories{padding:6px var(--pad) 70px}.section-head{margin:var(--gap) 0 var(--gap);align-items:baseline;gap:12px;display:flex}.section-head h2{letter-spacing:0;color:#fff;margin:0;font-size:17px;font-weight:700}.section-head .rule{background:var(--line);flex:1;height:1px}.section-head .count{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:12px}.cat-grid{grid-template-columns:repeat(auto-fill, minmax(min(var(--card-min), 100%), 1fr));grid-auto-rows:var(--row-h,240px);place-content:start;gap:var(--gap);grid-auto-flow:column dense;display:grid}.card--large{grid-area:span 2/span 2}.card--portrait{grid-row:span 2}.card--large .card-media,.card--portrait .card-media{height:100%}@media (max-width:760px){:root{--card-min:150px;--gap:6px}}@media (max-width:420px){:root{--card-min:128px}}.card{border-radius:var(--radius);background:var(--surface);cursor:pointer;transition:box-shadow .22s;position:relative;overflow:hidden}.card:hover{box-shadow:0 0 0 1px var(--line-strong), 0 14px 30px -18px #000000f2}.card:not(.card--large):not(.card--portrait){grid-area:span 1/span 1}.card-media{background:#0f0f0f;width:100%;height:100%;position:relative;overflow:hidden}.card-media img,.card-media video{object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.2,.7,.2,1),filter .4s}.card:hover .card-media img,.card:hover .card-media video{transform:scale(1.03)}.card-media.is-blurred img,.card-media.is-blurred video{filter:blur(20px)saturate(.5)brightness(.6);transform:scale(1.1)}.card-tags{z-index:3;flex-direction:column;align-items:flex-start;gap:4px;max-width:calc(100% - 16px);display:flex;position:absolute;top:8px;left:8px}.badge{letter-spacing:.08em;color:#ececec;-webkit-backdrop-filter:blur(6px);white-space:nowrap;cursor:pointer;background:#080808e0;border:1px solid #ffffff1f;border-radius:3px;padding:4px 7px;font-family:inherit;font-size:10px;transition:background .18s,color .18s,border-color .18s}.badge:hover,.badge:focus-visible{color:#04141c;background:#13aff0eb;border-color:#13aff0eb;outline:none}.badge.is-active{background:var(--accent);border-color:var(--accent);color:#04141c}.card-lock{color:#f2f2f2;-webkit-backdrop-filter:blur(6px);background:#0c0c0cb8;border:1px solid #ffffff29;border-radius:50%;place-items:center;width:32px;height:32px;transition:opacity .22s,color .2s,border-color .2s,background .2s;display:grid;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.card:hover .card-lock,.card:focus-visible .card-lock{opacity:0}.card.is-locked:hover .card-lock{color:var(--accent);border-color:#13aff08c}.card-label{color:#fff;-webkit-backdrop-filter:blur(4px);text-shadow:0 1px 2px #000000e6;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;z-index:2;background:#080808db;border-radius:3px;max-width:calc(100% - 18px);padding:3px 8px 4px;font-size:12.5px;font-weight:600;line-height:1.25;transition:opacity .2s;position:absolute;bottom:9px;left:9px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff29}.card:hover .card-label,.card:focus-within .card-label,.card.is-centered .card-label{opacity:0}.card.is-locked .card-label{bottom:12px}.card-overlay{opacity:0;pointer-events:none;z-index:2;background:linear-gradient(#0000,#080808eb 55%,#060606fa);padding:42px 12px 12px;transition:opacity .24s,transform .24s;position:absolute;inset:auto 0 0;transform:translateY(6px)}.card:hover .card-overlay,.card:focus-within .card-overlay,.card:focus-visible .card-overlay,.card.is-centered .card-overlay{opacity:1;transform:none}.card-title{color:#fff;margin:0;font-size:14px;font-weight:600}.card-overlay .card-year{box-shadow:none;-webkit-backdrop-filter:none;text-shadow:none;color:var(--ink-dim);letter-spacing:.06em;background:0 0;margin-top:4px;padding:0;font-size:11.5px;font-weight:600;display:inline-block;position:static}.card-desc{color:#c3c3c3;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin:5px 0 0;font-size:12px;line-height:1.55;display:-webkit-box;overflow:hidden}.sound-dot{color:#fff;opacity:0;pointer-events:none;background:#0c0c0cb8;border:1px solid #ffffff24;border-radius:50%;place-items:center;width:26px;height:26px;transition:opacity .24s,transform .24s,color .18s;display:grid;position:absolute;bottom:8px;right:8px;transform:scale(.85)}.card.is-audible .sound-dot{opacity:1;color:var(--accent);border-color:#13aff080;transform:none}.btn{border:1px solid var(--line-strong);background:var(--surface-2);color:var(--ink);border-radius:var(--radius);cursor:pointer;padding:9px 16px;font-size:13px;transition:background .18s,color .18s,border-color .18s}.btn:hover{background:var(--surface-3);color:#fff}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.btn.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--accent-ink)}.btn.ghost{color:var(--ink-dim);border-color:var(--line-strong);background:0 0}.btn.ghost:hover{color:#fff;background:var(--surface-2)}.btn.small{padding:6px 10px;font-size:12px}.pin-modal{z-index:95;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.pin-modal[hidden]{display:none}.pin-backdrop{background:#000000b8;animation:.2s both fadeIn;position:absolute;inset:0}.pin-card{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);width:min(400px,100%);padding:20px;animation:.22s both pinIn;position:relative;box-shadow:0 30px 70px -30px #000000f2}@keyframes pinIn{0%{opacity:0;transform:translateY(8px)}}@keyframes fadeIn{0%{opacity:0}}.pin-head{align-items:center;gap:10px;display:flex}.pin-lock{color:var(--accent);place-items:center;display:grid}.pin-title{color:#fff;margin:0;font-size:16px;font-weight:600}.pin-close{margin-left:auto}.pin-desc{color:var(--ink-dim);margin:12px 0 16px;font-size:13px;line-height:1.6}.pin-form{align-items:center;gap:8px;display:flex}.pin-input{letter-spacing:.5em;text-align:center;min-width:0;font-family:var(--mono);background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--ink);outline:none;flex:1;padding:10px 12px;font-size:15px;transition:border-color .18s,box-shadow .18s}.pin-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.pin-input.is-error{border-color:var(--danger);animation:.4s cubic-bezier(.36,.07,.19,.97) shake}@keyframes shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-6px)}40%,60%{transform:translate(6px)}}.resume{max-width:860px;padding:clamp(24px, 4vw, 48px) var(--pad) 90px;margin:0 auto}.markdown{color:#cfcfcf;font-size:15px;line-height:1.78}.markdown h1,.markdown h2,.markdown h3,.markdown h4{color:#fff;margin:1.9em 0 .6em;scroll-margin-top:80px;line-height:1.25}.markdown h1{border-bottom:1px solid var(--line);padding-bottom:.4em;font-size:30px}.markdown h2{border-bottom:1px solid var(--line);padding-bottom:.35em;font-size:22px}.markdown h2:before{content:"";vertical-align:-.08em;background:var(--accent);border-radius:2px;width:3px;height:.95em;margin-right:11px;display:inline-block}.markdown h3{font-size:17px}.markdown p{margin:.85em 0}.markdown ul,.markdown ol{margin:.7em 0;padding-left:1.35em}.markdown li{margin:.35em 0}.markdown li::marker{color:var(--ink-faint)}.markdown strong{color:#fff}.markdown em{color:var(--accent);font-style:normal}.markdown a{border-bottom:1px solid #13aff066}.markdown code{font-family:var(--mono);background:var(--surface-2);border:1px solid var(--line);color:#cfe9f7;border-radius:3px;padding:2px 6px;font-size:.88em}.markdown pre{border:1px solid var(--line);border-radius:var(--radius);background:#101010;padding:16px;overflow-x:auto}.markdown pre code{color:#d6d6d6;background:0 0;border:0;padding:0}.markdown hr{background:var(--line);border:0;height:1px;margin:2.2em 0}.markdown blockquote{border-left:2px solid var(--accent);color:var(--ink-dim);background:var(--accent-dim);margin:1.2em 0;padding:4px 18px}.markdown table{border-collapse:collapse;width:100%;margin:1.2em 0;font-size:14px}.markdown th,.markdown td{border:1px solid var(--line);text-align:left;padding:8px 12px}.markdown th{background:var(--surface);color:#fff}.lightbox{z-index:80;background:#0a0a0af5;display:none;position:fixed;inset:0}.lightbox.is-open{grid-template-rows:auto 1fr auto;animation:.2s both fadeIn;display:grid}.lb-head{background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 14px;display:flex}.lb-title{color:#fff;font-size:15px;font-weight:600}.lb-sub{color:var(--ink-faint);font-size:12px}.lb-head .spacer{flex:1}.lb-stage{place-items:center;padding:16px;display:grid;position:relative;overflow:hidden}.lb-stage img,.lb-stage video{border-radius:var(--radius);max-width:100%;max-height:100%}.lb-nav{border:1px solid var(--line-strong);width:42px;height:42px;color:var(--ink);cursor:pointer;background:#1c1c1cdb;border-radius:50%;place-items:center;transition:background .18s,color .18s,border-color .18s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.lb-nav:hover{background:var(--surface-3);color:var(--accent);border-color:#13aff080}.lb-nav.prev{left:clamp(8px,2vw,22px)}.lb-nav.next{right:clamp(8px,2vw,22px)}.lb-caption{border-top:1px solid var(--line);color:var(--ink-dim);text-align:center;max-width:900px;margin:0 auto;padding:12px 20px 16px;font-size:13.5px;line-height:1.6}.lb-caption .tags{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:8px;display:flex}.toast{z-index:100;background:var(--surface-2);border:1px solid var(--line-strong);color:var(--ink);border-radius:var(--radius);opacity:0;pointer-events:none;padding:10px 18px;font-size:13px;transition:opacity .24s,transform .24s;position:fixed;bottom:26px;left:50%;transform:translate(-50%,16px);box-shadow:0 18px 40px -22px #000000f2}.toast.is-visible{opacity:1;transform:translate(-50%)}.footer{border-top:1px solid var(--line);padding:22px var(--pad);color:var(--ink-faint);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;font-size:12px;display:flex}@media (max-width:640px){:root{--topbar-h:52px}.topbar{gap:8px}.brand{min-width:0;font-size:13px}.brand-handle{display:none}.tab{padding:0 10px;font-size:12.5px}.icon-btn{width:32px;height:32px}.profile-inner{gap:14px}}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
