@font-face{font-family:Pacifico;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/pacifico-400.woff2) format("woff2")}@font-face{font-family:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/vt323-400.woff2) format("woff2")}:root{--text:#f6f1ea;--text-dim:rgba(246,241,234,.7);--glass:rgba(0,0,0,.25);--glass-hover:rgba(0,0,0,.4);--border:transparent;--radius:6px;--blur:blur(10px);--shadow:0 10px 30px rgba(0,0,0,.28);--font-hand:"Pacifico",cursive;--font-pixel:"VT323","Share Tech Mono",monospace;--font-base:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body{min-height:100%}body{font-family:var(--font-base);color:var(--text);background:#16121e;-webkit-font-smoothing:antialiased}ul{list-style:none}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;background-color:#16121e;background-position:center;background-size:cover;background-repeat:no-repeat}.bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 90% at 50% 42%,#08061000,#08061080),linear-gradient(180deg,#0a08126b,#0a081224 40%,#0806109e)}html[data-bg=green] .bg{background-image:url(/assets/img/bg/green.webp)}html[data-bg=blue] .bg{background-image:url(/assets/img/bg/blue.webp)}html[data-bg=purple] .bg{background-image:url(/assets/img/bg/purple.webp)}html[data-bg=green] .bg:after{background:radial-gradient(120% 90% at 50% 42%,#060e0800,#060e089e),linear-gradient(180deg,#08100a94,#08100a4d 40%,#060e08bd)}html[data-bg=blue] .bg:after{background:radial-gradient(120% 90% at 50% 42%,#040e1200,#040e129e),linear-gradient(180deg,#0610148f,#06101447 40%,#040e12bd)}html[data-bg=purple] .bg:after{background:radial-gradient(120% 90% at 50% 42%,#08061000,#08061080),linear-gradient(180deg,#0a081266,#0a08121f 40%,#0806109e)}.card{background:var(--glass);border:1px solid var(--border);border-radius:var(--radius);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:var(--shadow);transition:transform .25s ease,background .25s ease,box-shadow .25s ease}.footer{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;justify-content:space-between;padding:16px 28px;font-size:13px;color:var(--text-dim)}.footer a{display:inline-flex;align-items:center;gap:5px;transition:color .2s ease}.footer a:hover{color:var(--text)}.footer .badge{width:16px;height:16px}.footer .divider{opacity:.45}.page-main{min-height:calc(100vh - 56px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:88px 24px 40px;gap:18px;text-align:center}.page-head{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;padding:14px 22px;z-index:5}.back{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius);cursor:pointer;font-family:var(--font-base);font-size:14px;color:var(--text);background:var(--glass);border:1px solid var(--border);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);transition:background .2s ease,transform .2s ease}.back:hover{background:var(--glass-hover);transform:translate(-2px)}.stub-icon{width:72px;height:72px;fill:none;stroke:var(--text);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.stub-title{font-family:var(--font-hand);font-weight:400;font-size:2rem}.stub-text{color:var(--text-dim);font-size:15px;max-width:520px;line-height:1.9}@media (max-width:720px){.footer{flex-direction:column;justify-content:center;text-align:center;padding:14px 18px}.stub-icon{width:60px;height:60px}.stub-title{font-size:1.6rem}}.page-main .card{padding:20px;display:flex;flex-direction:column;align-items:center;gap:14px;max-width:600px}.login-form{display:flex;flex-direction:column;gap:14px;width:min(320px,80vw)}.login-input{width:100%;padding:12px 14px;border-radius:var(--radius);font-family:var(--font-base);font-size:15px;color:var(--text);background:#ffffff14;border:1px solid var(--border);outline:none;transition:border-color .2s ease,background .2s ease}.login-input:focus{border-color:#ffffff73;background:#ffffff24}.login-btn{padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;font-family:var(--font-base);font-size:15px;color:var(--text);background:linear-gradient(135deg,#ffffff38,#ffffff1a);transition:transform .2s ease,background .2s ease}.login-btn:hover{transform:translateY(-2px);background:linear-gradient(135deg,#ffffff52,#ffffff29)}.login-btn[disabled]{opacity:.6;cursor:not-allowed;transform:none}.login-msg{min-height:20px;font-size:13px;color:#ffb4a8}.stub-list{display:flex;flex-direction:column;gap:12px;width:min(600px,86vw)}.stub-item{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:var(--radius);text-align:left;background:var(--glass);border:1px solid var(--border);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}.stub-item strong{font-size:16px;font-weight:500}.stub-item span{font-size:13px;color:var(--text-dim)}.stub-go{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:var(--radius);background:linear-gradient(135deg,#ffffff42,#ffffff1f);border:1px solid var(--border);transition:transform .2s ease,background .2s ease}.stub-go:hover{transform:translateY(-2px);background:linear-gradient(135deg,#ffffff5c,#ffffff2e)}.works{display:grid;grid-template-columns:minmax(200px,260px) minmax(0,1fr);gap:20px;width:min(1040px,92vw);align-items:start}.work-picker{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:var(--radius);background:var(--glass);border:1px solid var(--border);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}.work-pick{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:var(--radius);cursor:pointer;text-align:left;background:transparent;border:1px solid transparent;color:var(--text);font-family:var(--font-base);font-size:15px;transition:background .2s ease,border-color .2s ease,transform .2s ease}.work-pick:hover{background:#ffffff14;transform:translate(2px)}.work-pick.is-active{background:#ffffff29;border-color:var(--border)}.work-pick i{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--radius);font-style:normal;background:linear-gradient(135deg,#ffffff47,#ffffff1a);font-size:15px}.work-detail{display:flex;flex-direction:column;gap:14px;padding:20px;min-height:240px}.work-title{font-family:var(--font-hand);font-weight:400;font-size:clamp(24px,2.6vw,36px)}.work-desc{color:var(--text-dim);line-height:1.9;font-size:15px}.work-tags{display:flex;flex-wrap:wrap;gap:8px}.work-tags span{padding:4px 10px;border-radius:var(--radius);font-size:12px;background:#ffffff1a;border:1px solid var(--border)}.work-enter{align-self:flex-start;margin-top:auto;padding:12px 24px;border-radius:var(--radius);background:linear-gradient(135deg,#ffffff42,#ffffff1f);border:1px solid var(--border);transition:transform .2s ease,background .2s ease}.work-enter:hover{transform:translateY(-2px);background:linear-gradient(135deg,#ffffff5c,#ffffff2e)}.work-enter.is-disabled{opacity:.45;pointer-events:none}@media (max-width:820px){.works{grid-template-columns:1fr}.work-picker{flex-direction:row;overflow-x:auto}}.work-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.work-state{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius);font-size:12px;color:var(--text-dim);background:#ffffff1a;border:1px solid var(--border)}.work-state i{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.55}.work-state.is-online{color:#d9ffe7}.work-state.is-online i{background:#7ee0a3;opacity:1}.work-stack{display:flex;flex-wrap:wrap;gap:8px}.work-stack li{padding:4px 10px;border-radius:var(--radius);font-size:12px;color:var(--text-dim);background:#ffffff0f;border:1px solid var(--border)}.work-points{display:flex;flex-direction:column;gap:8px;font-size:14px;line-height:1.8;color:var(--text-dim)}.work-points li{position:relative;padding-left:16px}.work-points li:before{content:"";position:absolute;left:0;top:.78em;width:5px;height:5px;border-radius:50%;background:#ffffff59}.page-main .blog-hero{max-width:720px}.blog-stack{justify-content:center}.blog-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:min(720px,86vw)}.blog-point{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:var(--radius);text-align:left;background:var(--glass);border:1px solid var(--border);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}.blog-point strong{font-size:15px;font-weight:500}.blog-point span{font-size:13px;line-height:1.75;color:var(--text-dim)}.blog-point-icon{width:22px;height:22px;fill:none;stroke:var(--text);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.85}@media (max-width:820px){.blog-points{grid-template-columns:1fr}}.home{padding:clamp(16px,2.5vw,40px) clamp(14px,2.5vw,44px) 0}.dock{position:fixed;top:clamp(14px,2vw,26px);right:clamp(14px,2vw,26px);z-index:20;display:flex;gap:10px}.dock-item{position:relative}.dock-btn{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;cursor:pointer;color:var(--text);background:var(--glass);border:1px solid var(--border);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:var(--shadow);transition:background .2s ease,transform .2s ease}.dock-btn:hover{background:var(--glass-hover);transform:translateY(-2px)}.dock-btn[aria-expanded=true]{background:var(--glass-hover)}.dock-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.dock-panel{position:absolute;top:calc(100% + 10px);right:0;width:236px;padding:12px;background:linear-gradient(#0000004d,#0000004d),var(--glass);border:1px solid var(--border);border-radius:var(--radius);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease,visibility .18s}.dock-panel.is-open{opacity:1;visibility:visible;transform:none}.dock-panel-title{padding:2px 6px 10px;font-size:14px;font-weight:500;color:var(--text);opacity:.85}.dock-option{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border-radius:var(--radius);font:inherit;font-size:14px;color:var(--text);text-align:left;cursor:pointer;background:transparent;border:0;transition:background .2s ease}.dock-option:hover,.dock-option[aria-checked=true]{background:var(--glass-hover)}.dock-option-text{display:flex;flex-direction:column;gap:2px;min-width:0}.dock-option-note{font-size:12px;color:var(--text-dim)}.dock-check{width:16px;height:16px;margin-left:auto;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:0}.dock-option[aria-checked=true] .dock-check{opacity:1}.dock-swatch{flex:0 0 auto;width:38px;height:26px;border-radius:6px;border:1px solid var(--border);box-shadow:inset 0 0 0 1px #ffffff14;background-position:center;background-size:cover;background-repeat:no-repeat}.swatch-auto{background-image:url(/assets/img/bg/green.webp),url(/assets/img/bg/blue.webp),url(/assets/img/bg/purple.webp);background-size:33.4% 100%;background-repeat:no-repeat;background-position:left center,center center,right center}.swatch-green{background-image:url(/assets/img/bg/green.webp)}.swatch-blue{background-image:url(/assets/img/bg/blue.webp)}.swatch-purple{background-image:url(/assets/img/bg/purple.webp)}.dock-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 8px 6px;text-align:center}.dock-empty svg{width:34px;height:34px;fill:none;stroke:var(--text);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;opacity:.75}.dock-empty-title{font-size:13px}.dock-empty-text{font-size:12px;color:var(--text-dim)}@media (max-width:640px){.dock{gap:8px}.dock-btn{width:38px;height:38px}.dock-panel{width:min(236px,72vw)}}.layout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(0,1fr);gap:clamp(18px,2vw,26px);align-items:center;max-width:1200px;margin:0 auto;min-height:calc(100vh - 60px)}.profile{display:flex;flex-direction:column;gap:clamp(16px,2vw,26px);align-items:center}.brand{display:flex;align-items:center;gap:22px}.avatar{width:clamp(88px,7vw,120px);height:clamp(88px,7vw,120px);border-radius:50%;box-shadow:0 8px 24px #00000059}.brand-name{font-family:var(--font-hand);font-weight:400;font-size:clamp(38px,4.4vw,80px);line-height:1;letter-spacing:1px;text-shadow:0 4px 16px rgba(0,0,0,.35)}.brand-dot{display:inline-block;width:.16em;height:.16em;margin-left:.06em;border-radius:50%;background:#ffffffb8;vertical-align:.24em}.intro-card{position:relative;width:100%;max-width:460px;padding:16px}.intro-title{font-family:var(--font-hand);font-weight:400;font-size:clamp(17px,1.3vw,20px);margin-bottom:6px}.intro-text{color:var(--text-dim);font-size:15px;line-height:1.9}.mark{position:absolute;font-size:26px;line-height:1;color:#ffffff80}.mark-open{top:8px;left:12px}.mark-close{bottom:4px;right:14px}.socials{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;max-width:460px}.socials a,.socials span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;transition:background .2s ease,transform .2s ease,opacity .2s ease}.socials a{background:var(--glass)}.socials a:hover{background:var(--glass-hover);transform:translateY(-2px)}.socials span{opacity:.35;cursor:default}.socials svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.panels{display:flex;flex-direction:column;gap:20px}.panel-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.quote-card{display:flex;flex-direction:column;justify-content:center;gap:10px;height:165px;padding:20px}.quote-text{font-size:1.1rem;line-height:1.7}.quote-from{text-align:right;font-size:.95rem;color:var(--text-dim)}.clock-card{display:flex;flex-direction:column;justify-content:center;gap:8px;height:165px;padding:20px;text-align:center}.clock-date{font-size:1.1rem;letter-spacing:.5px}.clock-time{font-family:var(--font-pixel);font-size:3.25rem;line-height:1.05;letter-spacing:2px}.section-title{display:flex;align-items:center;gap:8px;font-size:1.15rem;font-weight:500;margin:12px .25rem 0}.section-title svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.site-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.site-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:100px;padding:0 10px}.site-card:hover{transform:scale(1.02);background:#0006}.site-icon{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.site-name{font-size:1.1rem}.site-name-egg{font-weight:500;background:linear-gradient(90deg,#ff8a8a,#ffd479,#8ee08a,#7cc4ff,#c79bff,#ff8a8a);background-size:200% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;transition:background-position .6s ease}.site-card:hover .site-name-egg{background-position:100% 0}.intro-card{cursor:pointer;-webkit-user-select:none;user-select:none}.intro-card:hover{background:var(--glass-hover)}.intro-card.is-oops .intro-title{font-style:italic}.capsule-wrap,.oops .panels{display:none}.oops .capsule-wrap{display:block}.capsule-card{position:relative;display:flex;flex-direction:column;width:72%;margin:0 auto;padding:20px;min-height:clamp(340px,50vh,520px)}.capsule-title{display:flex;align-items:center;gap:10px;font-size:1.15rem;font-weight:500}.capsule-icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.capsule-list{display:flex;flex-direction:column;gap:clamp(14px,1.6vw,20px);margin-top:24px}.capsule-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 12px;margin-bottom:10px;font-size:1rem}.capsule-row b{font-weight:700}.capsule-rest{color:var(--text-dim);font-size:.85rem}.capsule-memo{margin:auto 0;text-align:center;color:var(--text-dim);font-size:.9rem}.progress{position:relative;display:flex;align-items:center;height:23px;border-radius:var(--radius)}.progress:before{content:"";position:absolute;left:0;right:0;top:4px;height:15px;border-radius:var(--radius);background:#ffffff21}.progress-fill{position:absolute;left:0;top:4px;height:15px;width:0;border-radius:var(--radius);background:#ffffffeb;transition:width .6s ease}.progress-text{position:relative;width:100%;text-align:center;font-size:.85rem;color:#fffffff5;text-shadow:0 1px 2px rgba(18,12,30,.85),0 0 6px rgba(18,12,30,.55)}.capsule-log-btn{position:absolute;top:clamp(14px,1.6vw,20px);right:clamp(14px,1.6vw,20px);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;cursor:pointer;color:var(--text);background:var(--glass);border:1px solid var(--border);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);opacity:0;transition:opacity .2s ease,background .2s ease,transform .2s ease}.capsule-card:hover .capsule-log-btn,.capsule-log-btn:focus-visible,.capsule-card.is-log .capsule-log-btn{opacity:1}.capsule-log-btn:hover{background:var(--glass-hover);transform:translateY(-2px)}.capsule-log-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.capsule-log-btn .icon-close,.capsule-card.is-log .icon-log{display:none}.capsule-card.is-log .icon-close{display:block}@media (hover:none){.capsule-log-btn{opacity:1}}.capsule-view{display:flex;flex-direction:column;flex:1;min-height:0}.capsule-view[hidden],.log-view[hidden]{display:none}.log-view{display:flex;flex-direction:column;flex:1;min-height:0;gap:clamp(10px,1.2vw,16px)}.log-brand{font-family:var(--font-hand);font-weight:400;font-size:clamp(26px,2.4vw,34px);line-height:1.15}.log-version{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--text-dim)}.log-version b{font-family:var(--font-pixel);font-size:1.15rem;font-weight:400;letter-spacing:1px;color:var(--text)}.log-version-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.log-panel{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;background:#ffffff12;border:1px solid var(--border);border-radius:var(--radius)}.log-panel-title{padding:10px 14px;font-size:1rem;font-weight:500;background:#ffffff0d;border-bottom:1px solid var(--border)}.log-list{flex:1;min-height:0;overflow-y:auto;padding:6px 0}.log-list::-webkit-scrollbar{width:6px}.log-list::-webkit-scrollbar-thumb{background:#ffffff52;border-radius:999px}.log-item{display:flex;gap:10px;padding:8px 14px;font-size:.95rem;line-height:1.6}.log-item-icon{flex:0 0 auto;width:18px;height:18px;margin-top:4px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.log-item-fix .log-item-icon{color:#ffb0a3}@media (max-width:1080px){.home{padding-top:64px}.layout{grid-template-columns:1fr;align-items:start;padding-top:8px}.profile{gap:16px}.capsule-card{min-height:0}}@media (max-width:640px){.panel-row{grid-template-columns:1fr}.site-list{grid-template-columns:repeat(2,minmax(0,1fr))}.site-card{height:88px}.socials{gap:10px}.capsule-card{width:100%}}@media (hover: hover) and (pointer: fine){html.has-custom-cursor,html.has-custom-cursor *{cursor:none!important}}.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;z-index:9999;border-radius:50%;pointer-events:none;opacity:0;will-change:transform}.cursor-dot{width:12.8px;height:12.8px;margin:-6.4px 0 0 -6.4px;background:#fff}.cursor-ring{width:25.6px;height:25.6px;margin:-12.8px 0 0 -12.8px;background:radial-gradient(circle at 50% 50%,#ffffff38,#ffffff29 55%,#ffffff12 78%,#fff0)}html.cursor-ready .cursor-dot,html.cursor-ready .cursor-ring{opacity:1}.layout{min-height:calc(100dvh - 60px)}.page-main{min-height:calc(100dvh - 56px)}html{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.page-head{padding-top:calc(14px + env(safe-area-inset-top))}.footer{padding-bottom:calc(16px + env(safe-area-inset-bottom))}@media (pointer:coarse){.dock-btn{width:46px;height:46px}.dock-option{min-height:52px}.socials a,.socials span,.capsule-log-btn{width:46px;height:46px}.back{min-height:44px;padding:10px 16px}.login-input,.login-btn{min-height:46px}.work-pick{min-height:52px}.stub-go{min-height:46px}}@media (max-width:768px){:root{--blur:blur(8px) saturate(140%)}}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){:root{--glass:rgba(0,0,0,.72);--glass-hover:rgba(0,0,0,.82)}}.dock-scrim{display:none}@media (max-width:640px){.dock-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:19;background:#08051080}.dock-panel{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;max-height:70dvh;overflow-y:auto;border-radius:var(--radius) var(--radius) 0 0;padding:18px 18px calc(18px + env(safe-area-inset-bottom));transform:translateY(16px)}.dock-panel.is-open{transform:none}.dock-option{padding:12px}.dock-swatch{width:44px;height:30px}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
