:root{--accent: #00e5ff;--accent-dim: #00bcd4;--accent-glow: rgba(0, 229, 255, .25);--accent-faint: rgba(0, 229, 255, .08);--amber: #ff9800;--amber-glow: rgba(255, 152, 0, .25);--amber-faint: rgba(255, 152, 0, .08);--bg-deep: #08080f;--bg-base: #0d0d18;--bg-surface: #12121f;--bg-card: #151527;--bg-elevated: #1a1a30;--bg-hover: #1e1e38;--ink: #e8e8f0;--ink-dim: #b0b0c0;--ink-muted: #707088;--ink-faint: #484860;--border: #222240;--border-bright: #3a3a58;--border-glow: rgba(0, 229, 255, .4);--border-amber: rgba(255, 152, 0, .3);--danger: #ff4466;--success: #00e676;--radius-sm: 2px;--radius: 3px;--radius-md: 4px;--ease: cubic-bezier(.25, .1, .25, 1);--duration: .18s;--font: "Rajdhani", "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font);font-size:15px;font-weight:400;line-height:1.5;color:var(--ink-dim);background:var(--bg-deep);-webkit-font-smoothing:antialiased;min-height:100vh}a{color:var(--accent);text-decoration:none;transition:color var(--duration) var(--ease)}a:hover{color:var(--accent-dim);text-shadow:0 0 8px var(--accent-glow)}::selection{background:var(--accent-glow);color:var(--accent)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes clock-pulse{0%,to{opacity:1}50%{opacity:.05}}@keyframes scanline{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}@keyframes glow-pulse{0%,to{box-shadow:0 0 4px var(--accent-glow)}50%{box-shadow:0 0 12px var(--accent-glow),0 0 24px #00e5ff14}}header{position:sticky;top:0;z-index:100;background:#0c0c18eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}header:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-glow),transparent);opacity:.5}.header-inner{max-width:980px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;height:52px;padding:0 2rem}header h1{font-size:20px;font-weight:600;letter-spacing:.08em;color:var(--ink);text-transform:uppercase}header h1 a{color:var(--ink)}header h1 a:hover{color:var(--accent);text-shadow:0 0 12px var(--accent-glow)}header nav{display:flex;align-items:center;gap:0}header nav a,header nav button.nav-link{padding:.3rem .9rem;color:var(--ink-dim);font-size:13px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;transition:all var(--duration) var(--ease);text-decoration:none;background:none;border:1px solid transparent;cursor:pointer;font-family:inherit;position:relative}header nav a:hover,header nav button.nav-link:hover{color:var(--accent);background:var(--accent-faint);border-color:var(--border-glow)}header nav a:after,header nav button.nav-link:after{content:"";position:absolute;bottom:-1px;left:50%;transform:translate(-50%);width:0;height:1px;background:var(--accent);transition:width var(--duration)}header nav a:hover:after,header nav button.nav-link:hover:after{width:60%}.layout{max-width:780px;margin:2.5rem auto;padding:0 2rem;min-height:calc(100vh - 132px);animation:fadeIn .3s var(--ease)}.main-content{width:100%;min-width:0}.profile-card{padding:1.25rem 0;text-align:center;animation:fadeInUp .5s var(--ease)}.profile-avatar{width:80px;height:80px;margin:0 auto .75rem;overflow:hidden;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);position:relative}.profile-avatar:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);background:var(--accent);opacity:.4;z-index:-1}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar-fallback{width:100%;height:100%;background:var(--accent-faint);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:600}.profile-name{font-size:16px;font-weight:600;letter-spacing:.06em;color:var(--ink);margin-bottom:.2rem}.profile-bio{font-size:12px;color:var(--ink-muted);letter-spacing:.04em;margin-bottom:.5rem}.profile-mood{display:inline-block;margin-top:.25rem;font-size:12px;color:var(--accent);background:var(--accent-faint);border:1px solid var(--border-glow);padding:.2rem .6rem;letter-spacing:.04em}.profile-links{margin-top:.5rem}.profile-links a{display:inline-block;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:.25rem .75rem;background:var(--bg-surface);border:1px solid var(--border);color:var(--ink-dim);transition:all var(--duration) var(--ease)}.profile-links a:hover{background:var(--accent-faint);border-color:var(--border-glow);color:var(--accent)}.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.profile-stat{display:flex;flex-direction:column;align-items:center;gap:0;padding:.3rem 0;background:var(--bg-surface)}.stat-num{font-size:15px;font-weight:600;color:var(--accent)}.stat-label{font-size:9px;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.06em}.profile-tech{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.profile-contact{margin-top:.5rem}.profile-section-title{font-size:9px;font-weight:600;letter-spacing:.1em;color:var(--ink-muted);text-transform:uppercase;margin-bottom:.5rem;text-align:left}.tech-tags{display:flex;flex-wrap:wrap;gap:.3rem}.tech-tag{padding:.15rem .45rem;font-size:10px;font-weight:500;letter-spacing:.04em;background:var(--accent-faint);border:1px solid var(--border-glow);color:var(--accent);clip-path:polygon(2px 0,calc(100% - 2px) 0,100% 2px,100% calc(100% - 2px),calc(100% - 2px) 100%,2px 100%,0 calc(100% - 2px),0 2px)}.contact-item{padding:.2rem 0;font-size:11px;color:var(--ink-dim);letter-spacing:.04em;border-bottom:1px solid var(--border)}.contact-item:last-child{border-bottom:none}.contact-item a{color:var(--accent);word-break:break-all}.contact-item a:hover{text-shadow:0 0 6px var(--accent-glow)}footer{text-align:center;padding:2rem;color:var(--ink-muted);font-size:12px;letter-spacing:.06em;text-transform:uppercase;background:var(--bg-surface);border-top:1px solid var(--border)}.page-heading{font-size:22px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin-bottom:1.5rem;position:relative;padding-left:1rem;animation:fadeInUp .5s var(--ease)}.page-heading:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:18px;background:var(--accent);box-shadow:0 0 6px var(--accent-glow)}.post-card{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--accent);padding:1.25rem;margin-bottom:.75rem;animation:fadeInUp .3s var(--ease) both;transition:all var(--duration) var(--ease);position:relative}.post-card:nth-child(1){animation-delay:0s}.post-card:nth-child(2){animation-delay:.04s}.post-card:nth-child(3){animation-delay:.08s}.post-card:nth-child(4){animation-delay:.12s}.post-card:nth-child(5){animation-delay:.16s}.post-card:hover{border-color:var(--border-bright);background:var(--bg-elevated);box-shadow:inset 0 0 30px var(--accent-faint)}.post-card-cover{margin:-1.25rem -1.25rem .75rem;border-bottom:1px solid var(--border);overflow:hidden;height:160px;position:relative}.post-card-cover:after{content:"";position:absolute;bottom:0;left:0;right:0;height:40px;background:linear-gradient(to top,var(--bg-card),transparent)}.post-card-cover img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration) var(--ease)}.post-card:hover .post-card-cover img{transform:scale(1.03)}.post-card h2{font-size:16px;font-weight:600;letter-spacing:.04em;margin-bottom:.2rem}.post-card h2 a{color:var(--ink)}.post-card h2 a:hover{color:var(--accent);text-shadow:0 0 8px var(--accent-glow)}.post-card .meta{color:var(--ink-muted);font-size:11px;letter-spacing:.04em;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;text-transform:uppercase}.post-card .meta .dot{width:3px;height:3px;background:var(--ink-muted);transform:rotate(45deg)}.post-card .meta .badge{display:inline-flex;align-items:center;gap:.2rem;padding:.1rem .5rem;font-size:10px;font-weight:500;background:var(--bg-surface);border:1px solid var(--border);color:var(--ink-dim);letter-spacing:.04em}.post-card p{color:var(--ink-dim);font-size:13px;line-height:1.5}.post-detail{background:var(--bg-card);border:1px solid var(--border);padding:1.75rem;animation:fadeInUp .4s var(--ease);position:relative}.post-detail:before{content:"";position:absolute;top:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--accent-glow),transparent)}.post-cover{width:100%;max-height:320px;object-fit:cover;border:1px solid var(--border);margin-bottom:1.5rem}.post-detail h1{font-size:22px;font-weight:600;letter-spacing:.06em;color:var(--ink);margin-bottom:.5rem}.post-detail .meta{color:var(--ink-muted);font-size:11px;letter-spacing:.05em;text-transform:uppercase;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.post-detail img{max-width:100%;border:1px solid var(--border)}.post-detail code{background:var(--bg-surface);padding:.15rem .4rem;border:1px solid var(--border);font-family:var(--font-mono);font-size:.88em;color:var(--accent)}.post-detail pre{background:var(--bg-deep);color:var(--ink-dim);padding:1rem;border:1px solid var(--border);border-left:2px solid var(--accent);overflow-x:auto;margin:1.25rem 0;font-size:.85rem;line-height:1.6;position:relative}.post-detail pre:before{content:"CODE";position:absolute;top:-1px;right:0;font-size:9px;letter-spacing:.1em;color:var(--ink-faint);background:var(--bg-surface);padding:.1rem .6rem;border-left:1px solid var(--border);border-bottom:1px solid var(--border)}.post-detail pre code{background:none;border:none;padding:0;color:inherit}.post-detail h2{font-size:18px;font-weight:600;letter-spacing:.05em;color:var(--ink);margin-top:1.75rem;margin-bottom:.6rem;padding-left:.6rem;border-left:3px solid var(--accent)}.post-detail h3{font-size:15px;font-weight:600;letter-spacing:.04em;color:var(--ink-dim);margin-top:1.5rem;margin-bottom:.5rem}.post-detail p{margin-bottom:1rem}.post-detail ul,.post-detail ol{margin-left:1.5rem;margin-bottom:1rem}.post-detail li{margin-bottom:.3rem}.post-detail blockquote{padding:.75rem 1rem;margin:1.25rem 0;background:var(--accent-faint);border-left:3px solid var(--accent);color:var(--ink-dim);font-size:14px}.post-detail blockquote p{margin-bottom:0}.post-detail hr{border:none;height:1px;background:var(--border);margin:2rem 0}.post-detail table{width:100%;border-collapse:collapse;margin:1.25rem 0;font-size:13px}.post-detail th,.post-detail td{padding:.5rem .75rem;text-align:left;border:1px solid var(--border)}.post-detail th{background:var(--bg-surface);font-weight:600;color:var(--accent);letter-spacing:.04em;text-transform:uppercase;font-size:11px}.post-detail a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem}.pagination button{padding:.4rem 1rem;border:1px solid var(--border);background:var(--bg-surface);cursor:pointer;font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);font-family:inherit;transition:all var(--duration) var(--ease)}.pagination button:hover:not(:disabled){background:var(--accent-faint);border-color:var(--border-glow);color:var(--accent)}.pagination button:active:not(:disabled){transform:scale(.97)}.pagination button:disabled{opacity:.25;cursor:not-allowed}.pagination span{color:var(--ink-muted);font-size:12px;letter-spacing:.04em;padding:0 .5rem}.login-form{max-width:380px;margin:6rem auto;background:var(--bg-card);padding:2rem;border:1px solid var(--border);position:relative;animation:fadeInUp .4s var(--ease)}.login-form:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-glow),transparent)}.login-form h2{font-size:18px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);text-align:center;margin-bottom:1.5rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.3rem;color:var(--ink-muted);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.form-group input,.form-group textarea{width:100%;padding:.5rem .7rem;border:1px solid var(--border);font-size:15px;font-family:inherit;background:var(--bg-surface);color:var(--ink);transition:all var(--duration) var(--ease)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.form-group textarea{min-height:300px;font-family:var(--font-mono);font-size:14px;resize:vertical}.form-group input.error,.form-group textarea.error{border-color:var(--danger);box-shadow:0 0 8px #ff446640}.form-group input:disabled,.form-group textarea:disabled{opacity:.4;cursor:not-allowed}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;padding:.45rem 1.15rem;background:var(--accent-faint);color:var(--accent);border:1px solid var(--border-glow);cursor:pointer;font-size:13px;font-weight:500;font-family:inherit;letter-spacing:.06em;text-transform:uppercase;transition:all var(--duration) var(--ease);position:relative;clip-path:polygon(4px 0,calc(100% - 4px) 0,100% 4px,100% calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,0 calc(100% - 4px),0 4px)}.btn:hover{background:var(--accent);color:var(--bg-deep);border-color:var(--accent);box-shadow:0 0 16px var(--accent-glow)}.btn:active{transform:scale(.97)}.btn-sm{padding:.3rem .7rem;font-size:11px;clip-path:polygon(3px 0,calc(100% - 3px) 0,100% 3px,100% calc(100% - 3px),calc(100% - 3px) 100%,3px 100%,0 calc(100% - 3px),0 3px)}.btn-outline{background:transparent;color:var(--ink-dim);border-color:var(--border-bright)}.btn-outline:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-faint)}.btn-danger{background:#ff446614;color:var(--danger);border-color:#ff44664d}.btn-danger:hover{background:var(--danger);color:var(--bg-deep);border-color:var(--danger)}.btn-ghost{background:var(--bg-surface);color:var(--ink-dim);border-color:var(--border)}.btn-ghost:hover{background:var(--bg-elevated);color:var(--ink);border-color:var(--border-bright)}.btn:disabled{opacity:.3;cursor:not-allowed;transform:none!important;box-shadow:none!important}.error-msg{color:var(--danger);font-size:12px;font-weight:500;letter-spacing:.04em;margin-bottom:1rem;padding:.5rem .75rem;background:#ff44660f;border:1px solid rgba(255,68,102,.2);border-left:3px solid var(--danger)}.success-msg{color:var(--success);font-size:12px;font-weight:500;letter-spacing:.04em;margin-bottom:1rem;padding:.5rem .75rem;background:#00e6760f;border:1px solid rgba(0,230,118,.2);border-left:3px solid var(--success)}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.admin-header h2{font-size:18px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}.admin-actions{display:flex;gap:.5rem;margin-top:1rem}.post-card.admin-card{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;border-left-color:var(--border-bright)}.post-card.admin-card .admin-card-info{flex:1;min-width:0}.post-card.admin-card .admin-card-info h2{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.post-card.admin-card .admin-actions{flex-shrink:0;margin-top:0}.profile-edit-avatar{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.guestbook-textarea{min-height:120px!important;font-family:var(--font)!important}.guestbook-item{padding:1rem 1.25rem;margin-bottom:.5rem;background:var(--bg-card);border:1px solid var(--border);border-left:2px solid var(--amber);animation:fadeInUp .3s var(--ease) both}.guestbook-item:nth-child(1){animation-delay:0s}.guestbook-item:nth-child(2){animation-delay:.04s}.guestbook-item-header{display:flex;align-items:center;gap:.6rem;margin-bottom:.4rem}.guestbook-item-content{color:var(--ink-dim);font-size:13px;padding-left:2.5rem;word-break:break-word}.search-input-wrap{display:flex;gap:.5rem;align-items:center}.search-input{flex:1;padding:.5rem .8rem;border:1px solid var(--border);font-size:15px;font-family:inherit;background:var(--bg-surface);color:var(--ink);transition:all var(--duration) var(--ease)}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 10px var(--accent-glow)}.search-input::placeholder{color:var(--ink-muted)}.tag{display:inline-flex;padding:.1rem .5rem;font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;background:var(--accent-faint);border:1px solid var(--border-glow);color:var(--accent)!important;text-decoration:none!important;transition:all var(--duration) var(--ease);clip-path:polygon(3px 0,calc(100% - 3px) 0,100% 3px,100% calc(100% - 3px),calc(100% - 3px) 100%,3px 100%,0 calc(100% - 3px),0 3px)}.tag:hover{background:var(--accent);color:var(--bg-deep)!important;border-color:var(--accent)}.post-tags,.tag-filter-bar{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}.tag-filter-btn{padding:.25rem .7rem;border:1px solid var(--border);background:var(--bg-surface);color:var(--ink-dim);font-size:11px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;font-family:inherit;transition:all var(--duration) var(--ease);clip-path:polygon(2px 0,calc(100% - 2px) 0,100% 2px,100% calc(100% - 2px),calc(100% - 2px) 100%,2px 100%,0 calc(100% - 2px),0 2px)}.tag-filter-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-faint)}.tag-filter-btn.active{background:var(--accent);color:var(--bg-deep);border-color:var(--accent)}.post-masonry{column-count:2;column-gap:.75rem}.post-masonry .post-card{break-inside:avoid;margin-bottom:.75rem}.post-masonry .post-card.masonry-card{padding:1rem}.post-masonry .post-card.masonry-card h2{font-size:14px}.layout-toggle{display:flex;gap:.5rem}.layout-option{flex:1;display:flex;align-items:center;gap:.4rem;padding:.45rem .7rem;border:1px solid var(--border);cursor:pointer;transition:all var(--duration) var(--ease);background:var(--bg-surface);font-size:13px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-dim)}.layout-option input{display:none}.layout-option:hover,.layout-option.active{border-color:var(--accent);color:var(--accent);background:var(--accent-faint)}.empty-state{text-align:center;color:var(--ink-muted);padding:4rem 2rem;font-size:13px;background:var(--bg-card);border:1px solid var(--border);letter-spacing:.04em}.loading{text-align:center;color:var(--ink-muted);padding:4rem 2rem}.loading-spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);animation:spin .6s linear infinite;margin-bottom:.75rem;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%)}@keyframes spin{to{transform:rotate(360deg)}}.loading-skeleton{height:1em;background:linear-gradient(90deg,var(--bg-surface) 25%,var(--bg-elevated) 50%,var(--bg-surface) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.comment-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}.comment-section h3{font-size:15px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.comment-section h3 .count{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;padding:.05rem .4rem;font-size:11px;font-weight:500;background:var(--accent-faint);border:1px solid var(--border-glow);color:var(--accent)}.comment-form{background:var(--bg-surface);padding:1rem;margin-bottom:1.5rem;border:1px solid var(--border)}.comment-form:focus-within{border-color:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.comment-form .form-row{display:flex;gap:.75rem;margin-bottom:.5rem}.comment-form .form-row .form-group{flex:1;margin-bottom:0}.comment-form .form-group{margin-bottom:.5rem}.comment-form textarea{min-height:90px;resize:vertical;font-family:inherit}.comment-form .btn{margin-top:.25rem}.comment-item{padding:.85rem 0;border-bottom:1px solid var(--border)}.comment-item:last-child{border-bottom:none}.comment-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.comment-avatar{width:28px;height:28px;background:var(--accent-faint);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%)}.comment-delete{margin-left:auto;background:none;border:none;color:var(--ink-muted);font-size:1.2rem;cursor:pointer;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:all .15s}.comment-delete:hover{color:var(--danger)}.comment-author{font-weight:600;font-size:13px;color:var(--ink);letter-spacing:.04em}.comment-time{color:var(--ink-muted);font-size:10px;letter-spacing:.04em}.comment-content{color:var(--ink-dim);font-size:13px;padding-left:2.25rem}.comment-empty{text-align:center;color:var(--ink-muted);padding:2rem;font-size:13px;background:var(--bg-surface);border:1px dashed var(--border);letter-spacing:.04em}.home-dashboard{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 132px - 3rem);animation:fadeIn .5s var(--ease)}.home-clock{text-align:center;margin-bottom:2.5rem}.clock-wrap{display:inline-block;background:var(--bg-card);border:1px solid var(--border);padding:1.5rem 2.5rem;position:relative;transition:border-color var(--duration)}.clock-wrap:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-glow),transparent)}.clock-wrap:hover{border-color:var(--accent)}.clock-time{display:flex;align-items:baseline;justify-content:center}.clock-segment{font-family:var(--font-mono);font-size:5rem;font-weight:300;letter-spacing:.06em;color:var(--accent);line-height:1;text-shadow:0 0 20px var(--accent-glow)}.clock-seconds{font-size:2.5rem;font-weight:300;color:var(--ink-dim);align-self:flex-end;padding-bottom:.3rem;text-shadow:none}.clock-colon{font-family:var(--font-mono);font-size:4.5rem;font-weight:300;color:var(--ink-muted);opacity:.08;line-height:1;padding:0 .15rem}.clock-colon.blink{animation:clock-pulse 1s step-end infinite}.clock-date{font-size:12px;font-weight:500;letter-spacing:.1em;color:var(--ink-muted);text-transform:uppercase;margin-top:.5rem}.home-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;width:100%;max-width:900px}.home-card{background:var(--bg-card);border:1px solid var(--border);padding:1.5rem 1rem;text-align:center;cursor:pointer;transition:all var(--duration) var(--ease);animation:fadeInUp .4s var(--ease) both;position:relative}.home-card:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border:1px solid transparent;transition:all var(--duration)}.home-card:nth-child(1){animation-delay:.06s;border-left:2px solid var(--accent)}.home-card:nth-child(2){animation-delay:.12s;border-left:2px solid var(--amber)}.home-card:nth-child(3){animation-delay:.18s;border-left:2px solid var(--accent-dim)}.home-card:nth-child(4){animation-delay:.24s;border-left:2px solid var(--amber)}.home-card:hover{background:var(--bg-elevated);border-color:var(--accent);box-shadow:0 0 16px var(--accent-faint)}.home-card:active{transform:scale(.98)}.home-card-icon{font-size:1.8rem;margin-bottom:.5rem}.home-card-title{font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin-bottom:.15rem}.home-card-desc{font-size:11px;color:var(--ink-muted);letter-spacing:.04em}.link-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.link-card{display:block;background:var(--bg-card);border:1px solid var(--border);padding:1rem;transition:all var(--duration) var(--ease);text-decoration:none;animation:fadeInUp .3s var(--ease) both}.link-card:hover{background:var(--bg-elevated);border-color:var(--accent);box-shadow:0 0 12px var(--accent-faint)}.link-card-header{display:flex;align-items:flex-start;gap:.75rem}.link-favicon{width:32px;height:32px;border-radius:4px;flex-shrink:0;margin-top:2px}.link-card-info{flex:1;min-width:0}.link-card-title{font-size:14px;font-weight:600;letter-spacing:.04em;color:var(--ink);margin-bottom:.15rem}.link-card-desc{font-size:12px;color:var(--ink-muted);letter-spacing:.03em;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-list{display:flex;flex-direction:column;gap:.5rem}.project-card{display:block;background:var(--bg-card);border:1px solid var(--border);border-left:2px solid var(--accent);padding:.9rem 1rem;transition:all var(--duration) var(--ease);text-decoration:none;animation:fadeInUp .3s var(--ease) both}.project-card:hover{background:var(--bg-elevated);border-color:var(--accent);box-shadow:0 0 12px var(--accent-faint)}.project-card-title{font-size:14px;font-weight:600;letter-spacing:.04em;color:var(--ink);margin-bottom:.1rem}.project-card-url{font-size:11px;color:var(--ink-muted);letter-spacing:.04em;word-break:break-all}.link-type-badge{display:inline-block;padding:.05rem .4rem;font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;margin-left:.5rem;border:1px solid}.link-type-badge.friend{color:var(--accent);border-color:var(--border-glow);background:var(--accent-faint)}.link-type-badge.nav{color:var(--amber);border-color:var(--border-amber);background:var(--amber-faint)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}.photo-card{background:var(--bg-card);border:1px solid var(--border);overflow:hidden;cursor:pointer;transition:all var(--duration) var(--ease);animation:fadeInUp .4s var(--ease) both}.photo-card:hover{border-color:var(--accent);box-shadow:0 0 12px var(--accent-faint)}.photo-card img{width:100%;height:160px;object-fit:cover;display:block;transition:transform var(--duration) var(--ease)}.photo-card:hover img{transform:scale(1.03)}.photo-desc{padding:.4rem .6rem;font-size:11px;color:var(--ink-muted);letter-spacing:.04em}.photo-viewer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#04040cf2;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s var(--ease)}.photo-viewer{max-width:90vw;max-height:90vh;position:relative}.photo-viewer img{max-width:100%;max-height:80vh;border:1px solid var(--border);box-shadow:0 0 40px var(--accent-faint)}.photo-viewer-close{position:absolute;top:-2rem;right:0;background:none;border:none;color:var(--ink-dim);font-size:1.5rem;cursor:pointer;opacity:.6}.photo-viewer-close:hover{opacity:1;color:var(--accent)}.photo-viewer-desc{text-align:center;color:var(--ink-dim);font-size:12px;margin-top:.5rem}.archive-year{margin-bottom:1.5rem}.archive-year-header{font-size:18px;font-weight:600;letter-spacing:.06em;color:var(--accent);margin-bottom:.75rem;padding-bottom:.4rem;border-bottom:1px solid var(--border-glow);display:flex;align-items:center;gap:.5rem}.archive-year-header .year-count{font-size:11px;font-weight:500;color:var(--ink-muted);letter-spacing:.04em}.archive-month{margin-bottom:.75rem;position:relative;padding-left:1.25rem;border-left:1px solid var(--border)}.archive-month-title{font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--ink-muted);margin-bottom:.4rem}.archive-month-title:before{content:"◆";position:absolute;left:-5px;top:1px;font-size:8px;color:var(--accent)}.archive-post{display:flex;align-items:baseline;gap:.5rem;padding:.2rem 0;font-size:13px}.archive-post .archive-date{font-size:10px;color:var(--ink-muted);white-space:nowrap;min-width:2.2rem;letter-spacing:.04em}.archive-post a{color:var(--ink-dim);letter-spacing:.03em}.archive-post a:hover{color:var(--accent);text-shadow:0 0 8px var(--accent-glow)}.about-section{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--accent);padding:1.25rem;margin-bottom:.75rem;animation:fadeInUp .3s var(--ease) both}.about-section h2{font-size:15px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem}.tech-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.tech-tag{padding:.2rem .6rem;font-size:11px;font-weight:500;letter-spacing:.05em;background:var(--accent-faint);border:1px solid var(--border-glow);color:var(--accent);clip-path:polygon(2px 0,calc(100% - 2px) 0,100% 2px,100% calc(100% - 2px),calc(100% - 2px) 100%,2px 100%,0 calc(100% - 2px),0 2px)}.admin-nav{display:flex;gap:0;margin-bottom:1.5rem;border:1px solid var(--border);overflow:hidden}.admin-nav-link{padding:.4rem .9rem;color:var(--ink-dim);font-size:12px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;transition:all var(--duration) var(--ease);border-right:1px solid var(--border)}.admin-nav-link:last-child{border-right:none}.admin-nav-link:hover{color:var(--accent);background:var(--accent-faint)}.active-admin-nav,.admin-nav-link.active-admin-nav{background:var(--accent-faint);color:var(--accent);border-bottom:2px solid var(--accent)}.admin-form{background:var(--bg-surface);border:1px solid var(--border);padding:1rem}.admin-form input[type=text],.admin-form input[type=url],.admin-form input[type=file]{width:100%;padding:.5rem .7rem;border:1px solid var(--border);font-size:15px;font-family:inherit;background:var(--bg-card);color:var(--ink);transition:all var(--duration) var(--ease)}.admin-form input[type=text]:focus,.admin-form input[type=url]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.cover-preview{position:relative;width:100%;max-height:180px;overflow:hidden;cursor:pointer;border:1px solid var(--border);border-left:3px solid var(--accent);transition:border-color var(--duration)}.cover-preview:hover{border-color:var(--danger)}.cover-preview img{width:100%;max-height:180px;object-fit:cover;display:block}.cover-remove-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#000000b3;color:var(--danger);font-size:12px;letter-spacing:.06em;text-transform:uppercase;opacity:0;transition:opacity var(--duration)}.cover-preview:hover .cover-remove-hint{opacity:1}.post-layout{display:flex;gap:1.5rem}.post-toc{width:200px;flex-shrink:0;position:sticky;top:calc(52px + 2rem);align-self:flex-start;max-height:calc(100vh - 52px - 4rem);overflow-y:auto;font-size:11px;color:var(--ink-muted);padding:1rem;background:var(--bg-card);border:1px solid var(--border);border-left:2px solid var(--accent)}.toc-title{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem}.post-toc a{display:block;padding:.2rem 0;color:var(--ink-dim);font-size:11px;letter-spacing:.04em;border-bottom:1px solid var(--border);transition:all var(--duration)}.post-toc a:hover{color:var(--accent);text-shadow:0 0 6px var(--accent-glow)}.post-toc a.toc-h3{padding-left:.8rem;font-size:10px}.related-posts{margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--border)}.related-posts h3{font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem}.related-item{display:block;padding:.4rem 0;font-size:13px;color:var(--ink-dim);letter-spacing:.03em;border-bottom:1px solid var(--border)}.related-item:hover{color:var(--accent);text-shadow:0 0 6px var(--accent-glow)}.related-item .related-date{font-size:10px;color:var(--ink-muted);margin-left:.5rem;letter-spacing:.04em}.section-heading{font-size:15px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin:1.5rem 0 .75rem;padding-left:.6rem;border-left:3px solid var(--accent)}.section-heading:first-child{margin-top:0}.back-to-top{position:fixed;bottom:2rem;right:2rem;z-index:50;width:40px;height:40px;background:var(--bg-card);color:var(--ink-dim);border:1px solid var(--border);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2rem;transition:all var(--duration) var(--ease);opacity:0;pointer-events:none;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%)}.back-to-top.visible{opacity:1;pointer-events:auto}.back-to-top:hover{background:var(--accent);color:var(--bg-deep);border-color:var(--accent);box-shadow:0 0 16px var(--accent-glow)}#oml2d-stage{filter:drop-shadow(0 0 12px var(--accent-faint))}[data-theme=dark]{--bg-deep: #020208;--bg-base: #060612;--bg-surface: #0a0a18;--bg-card: #0d0d1f;--bg-elevated: #111127;--bg-hover: #151530;--border: #181840;--border-bright: #282850;--ink: #cccce0;--ink-dim: #9090a8;--ink-muted: #585878;--accent-glow: rgba(0, 229, 255, .35);--accent-faint: rgba(0, 229, 255, .06)}[data-theme=dark] .bg-overlay{background:linear-gradient(170deg,#020208f5,#060612d1 40%,#020208eb)!important}[data-theme=dark] .bg-pattern{opacity:.18!important}[data-theme=dark] header{background:#040410f0}[data-theme=dark] .clock-segment{text-shadow:0 0 30px var(--accent-glow),0 0 60px rgba(0,229,255,.1)}[data-theme=dark] .post-card:hover{box-shadow:inset 0 0 40px var(--accent-faint),0 0 8px var(--accent-glow)}[data-theme=dark] .home-card:hover{box-shadow:0 0 20px var(--accent-glow)}@media (max-width: 960px){.post-layout{flex-direction:column}.post-toc{width:100%;position:static;max-height:none;display:none}}@media (max-width: 768px){.home-cards{grid-template-columns:repeat(2,1fr)}.clock-segment{font-size:3rem}.clock-seconds{font-size:1.75rem}.clock-colon{font-size:2.8rem}}@media (max-width: 640px){.post-masonry{column-count:1}}@media (max-width: 768px){.header-inner{height:48px;padding:0 1rem}header h1{font-size:16px}.layout{padding:0 1rem;margin:1.5rem auto}.page-heading{font-size:18px}.post-detail{padding:1.25rem}.post-detail h1{font-size:18px}.post-card{padding:1rem}.post-card.admin-card{flex-direction:column;align-items:flex-start}.post-card.admin-card .admin-actions{margin-top:.5rem;width:100%}.post-card.admin-card .admin-actions .btn{flex:1;justify-content:center}.comment-form .form-row{flex-direction:column;gap:0}.comment-content,.guestbook-item-content{padding-left:0}.login-form{margin:3rem 1rem;padding:1.5rem}.search-input-wrap{flex-direction:column}.search-input-wrap .btn{width:100%;justify-content:center}.back-to-top{bottom:1.25rem;right:1.25rem;width:36px;height:36px}}@media (max-width: 480px){.page-heading,.post-detail h1{font-size:16px}header nav a,header nav button.nav-link{padding:.2rem .5rem;font-size:11px}.profile-edit-avatar{flex-direction:column;text-align:center}.home-cards{grid-template-columns:1fr}.clock-segment{font-size:2.2rem}.clock-seconds{font-size:1.25rem}.clock-colon{font-size:2rem}.clock-wrap{padding:1rem 1.25rem}}
