:root{--bg-primary:#dbecfb;--bg-secondary:#f5f5f5;--bg-tertiary:#e0e0e0;--btn-force:#dbecfb;--text-primary:#000000;--text-secondary:#333333;--text-muted:#666666;--text-info:#087FE7;--border-color:#d0d0d0;--shadow-color:rgba(0,0,0,0.1);--accent-color:#007bff;--accent-hover:#0056b3;--success-color:#28a745;--warning-color:#ffc107;--error-color:#dc3545;--card-bg:#ffffff;--input-bg:#ffffff;--input-border:#c0c0c0;--input-focus:#80bdff}[data-theme=dark]{--bg-primary:#000000;--bg-secondary:#1a1a1a;--bg-tertiary:#2a2a2a;--btn-force:#087FE7;--text-primary:#ffffff;--text-secondary:#e0e0e0;--text-muted:#b0b0b0;--text-info:#087FE7;--border-color:#404040;--shadow-color:rgba(0,0,0,0.3);--accent-color:#4dabf7;--accent-hover:#74c0fc;--success-color:#51cf66;--warning-color:#ffd43b;--error-color:#ff6b6b;--card-bg:#1a1a1a;--input-bg:#2a2a2a;--input-border:#505050;--input-focus:#4dabf7}*{box-sizing:border-box;margin:0;padding:0}html{font-size:14px;scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.4;background-color:var(--bg-primary);transition:background-color .3s ease,color .3s ease}body,h1,h2,h3,h4,h5,h6{color:var(--text-primary)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:.4rem}h1{font-size:2rem}h2{font-size:1.6rem}h3{font-size:1.4rem}h4{font-size:1.2rem}h5{font-size:1.1rem}h6,p{font-size:.9rem}p{color:var(--text-secondary)}a{color:var(--accent-color);text-decoration:none;transition:color .2s ease;font-size:.9rem}a:hover{color:var(--accent-hover)}button{background-color:var(--accent-color);color:#fff;border:none;padding:.4rem .8rem;cursor:pointer;font-size:.85rem;transition:background-color .2s ease,transform .1s ease}button:hover{background-color:var(--accent-hover);transform:translateY(-1px)}button:active{transform:translateY(0)}button:disabled{background-color:var(--text-muted);cursor:not-allowed;transform:none}input,select,textarea{background-color:var(--input-bg);color:var(--text-primary);border:1px solid var(--input-border);padding:.4rem .6rem;font-size:.85rem;transition:border-color .2s ease,box-shadow .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--input-focus);box-shadow:0 0 0 2px rgba(77,171,247,.1)}input::placeholder,select::placeholder,textarea::placeholder{color:var(--text-muted)}.card{background-color:var(--card-bg);border:1px solid var(--border-color);padding:1rem;box-shadow:0 1px 3px var(--shadow-color);transition:box-shadow .2s ease}.card:hover{box-shadow:0 2px 6px var(--shadow-color)}.container{max-width:1600px;margin:0 auto;padding:0 .8rem}.grid{display:grid;gap:.8rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.mt-1{margin-top:.2rem}.mt-2{margin-top:.4rem}.mt-4{margin-top:.8rem}.mt-8{margin-top:1.6rem}.mb-1{margin-bottom:.2rem}.mb-2{margin-bottom:.4rem}.mb-4{margin-bottom:.8rem}.mb-8{margin-bottom:1.6rem}.p-1{padding:.2rem}.p-2{padding:.4rem}.p-4{padding:.8rem}.p-8{padding:1.6rem}.w-full{width:100%}.w-auto{width:auto}.space-y-2>*+*{margin-top:.4rem}.space-y-4>*+*{margin-top:.8rem}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@media(min-width:768px){.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.bi{font-size:1.5rem}.theme-toggle{position:fixed;top:.8rem;right:.8rem;z-index:1000;background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);padding:.4rem;border-radius:50%;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.theme-toggle:hover{background-color:var(--bg-tertiary);transform:scale(1.1)}.theme-toggle svg{width:1.2rem;height:1.2rem}@media(max-width:768px){html{font-size:12px}.container{padding:0 .4rem}.theme-toggle{top:.4rem;right:.4rem;width:2rem;height:2rem}.theme-toggle svg{width:1rem;height:1rem}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background-color:var(--accent-color);color:#fff}:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.app-layout{height:100vh;display:flex;flex-direction:column;overflow:hidden}.main-content{flex:1;padding-top:60px;height:calc(100vh - 60px);overflow:hidden}.navigation{height:60px;position:fixed;top:0;left:0;right:0;background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);z-index:100;backdrop-filter:blur(10px)}.nav-content{justify-content:space-between;padding:.8rem 0}.nav-content,.nav-logo{display:flex;align-items:center}.nav-logo{gap:.5rem;font-weight:600;font-size:1.2rem;color:var(--text-primary);text-decoration:none}.logo-icon{font-size:1.5rem}.nav-menu{display:flex;list-style:none;gap:1rem;margin:0;padding:0}.nav-link{display:flex;align-items:center;gap:.3rem;padding:.5rem .8rem;color:var(--text-secondary);text-decoration:none;border-radius:.4rem;transition:all .2s ease;font-size:.9rem}.nav-link:hover{color:var(--text-primary)}.nav-link.active,.nav-link:hover{background-color:var(--bg-secondary)}.nav-link.active{color:var(--accent-color)}.nav-icon{font-size:1rem}.page-header{text-align:center;margin-bottom:2rem}.page-title{font-size:2.5rem;margin-bottom:.5rem;color:var(--text-primary)}.page-subtitle{font-size:1.1rem;color:var(--text-secondary)}.section-title{font-size:1.8rem;margin-bottom:1.5rem;color:var(--text-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1.2rem;border:none;border-radius:.4rem;font-size:.9rem;font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s ease}.btn.btn-primary{background-color:var(--accent-color);color:#fff}.btn.btn-primary:hover{background-color:var(--accent-hover);transform:translateY(-1px)}.btn.btn-secondary{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn.btn-secondary:hover{background-color:var(--bg-tertiary)}.btn.btn-outline{background-color:rgba(0,0,0,0);color:var(--accent-color);border:1px solid var(--accent-color)}.btn.btn-outline:hover{background-color:var(--accent-color);color:#fff}.btn.btn-outline:disabled{opacity:.5;cursor:not-allowed}.home-page .hero-section{padding:4rem 0;background:linear-gradient(135deg,var(--bg-primary) 0,var(--bg-secondary) 100%)}.home-page .hero-content{text-align:center;max-width:800px;margin:0 auto}.home-page .hero-title{font-size:3rem;margin-bottom:1rem;color:var(--text-primary)}.blog-page{padding:2rem 0}.blog-page .blog-filters{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.blog-page .filter-group{display:flex;align-items:center;gap:.5rem}.blog-page .filter-select{padding:.4rem .8rem;border:1px solid var(--border-color);border-radius:.4rem;background-color:var(--input-bg);color:var(--text-primary)}.blog-page .blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.blog-page .blog-card{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:.8rem;padding:1.5rem;transition:transform .2s ease}.blog-page .blog-card:hover{transform:translateY(-2px)}.blog-page .blog-card-header{display:flex;justify-content:space-between;margin-bottom:1rem}.blog-page .blog-category{background-color:var(--accent-color);color:#fff;padding:.2rem .6rem;border-radius:1rem;font-size:.8rem}.blog-page .blog-read-time{color:var(--text-muted);font-size:.8rem}.blog-page .blog-title{font-size:1.2rem;margin-bottom:.8rem;color:var(--text-primary)}.blog-page .blog-excerpt{color:var(--text-secondary);margin-bottom:1rem;line-height:1.5}.blog-page .blog-meta{display:flex;justify-content:space-between;margin-bottom:1rem;font-size:.8rem;color:var(--text-muted)}.blog-page .pagination{display:flex;align-items:center;justify-content:center;gap:1rem}.blog-page .page-info{color:var(--text-secondary)}.projects-page{padding:2rem 0}@media(max-width:768px){.nav-menu{display:none}.hero-title{font-size:2rem}.contact-content{gap:2rem}.about-intro,.contact-content,.content-grid,.form-row{grid-template-columns:1fr}.about-intro{text-align:center}.intro-stats{justify-content:center}.timeline{padding-left:1rem}.timeline-marker{left:-.5rem}}.not-found-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 0}.not-found-content{text-align:center;max-width:500px}.not-found-icon{font-size:6rem;margin-bottom:1rem}.not-found-title{font-size:4rem;font-weight:700;color:var(--accent-color);margin-bottom:.5rem}.not-found-subtitle{font-size:1.5rem;color:var(--text-primary);margin-bottom:1rem}.not-found-description{color:var(--text-secondary);margin-bottom:2rem;line-height:1.6}.not-found-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.work-page{width:100%;height:100%;margin:0;padding:0;background-color:var(--bg-primary);flex-direction:column;display:flex}.work-page .work-main-content{width:60%;padding:1rem 0}.white-voice-page,.work-page .work-main-content{flex:1;display:flex;margin:0 auto}.white-voice-page .white-voice-content{flex:1;border:1px solid var(--border-color);background-color:var(--bg-secondary);padding:1rem;height:100%}.white-voice-page .white-voice-list-name{font-size:1.2rem}.white-voice-page .white-voice-list{display:flex;flex-wrap:wrap;justify-content:center}.white-voice-page .white-voice-list li{padding:1rem;width:30%;height:100px;border:1px solid var(--border-color);margin-right:1rem;align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.white-voice-page .white-voice-list li .bi-soundwave{font-size:2.5rem}.white-voice-page .white-voice-list li .white-voice-list-btn{font-size:2rem;cursor:pointer;width:2rem;height:2rem;background-color:var(--bg-tertiary);border-radius:.5rem;display:flex;align-items:center;justify-content:center}.white-voice-page .white-voice-list li .white-voice-list-btn.active,.white-voice-page .white-voice-list li .white-voice-list-btn:hover{background-color:var(--btn-force)}.work-main-right{margin-left:2rem;width:30%;height:100%}.work-main-right .tomato-timer-page{border:1px solid var(--border-color);padding:1rem;background-color:var(--bg-secondary);height:fit-content}.work-main-right .tomato-timer-page .tomato-timer-content .timer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.work-main-right .tomato-timer-page .tomato-timer-content .timer-header .header-title{display:flex;align-items:center;gap:.5rem}.work-main-right .tomato-timer-page .tomato-timer-content .timer-header .header-title i{font-size:1.5rem}.work-main-right .tomato-timer-page .tomato-timer-content .timer-container{display:flex;flex-direction:column}.work-main-right .tomato-timer-page .tomato-timer-content .timer-container .timer-display{display:flex;flex-direction:column;align-items:center;margin-bottom:1rem}.work-main-right .tomato-timer-page .tomato-timer-content .timer-container .timer-display .timer-status{font-size:1.2rem;font-weight:700;color:var(--text-muted)}.work-main-right .tomato-timer-page .tomato-timer-content .timer-container .timer-display .timer-time{font-size:2rem;font-weight:700;color:var(--text-info)}.work-main-right .tomato-timer-page .tomato-timer-content .timer-container .timer-controls{display:flex;justify-content:center}.work-main-right .tomato-timer-page .tomato-timer-content .timer-container .timer-controls .bi{display:inline-block;background-color:var(--bg-tertiary);width:3rem;height:3rem;cursor:pointer;margin-right:1rem;line-height:3rem;text-align:center;border-radius:.5rem}.work-main-right .tomato-timer-page .tomato-timer-content .timer-container .timer-controls .bi:hover{background-color:var(--btn-force)}.time-plan{height:60px;display:flex;border-top:1px solid var(--border-color);background-color:var(--bg-secondary)}.time-plan ul li{border:1px solid #ccc;padding:.5rem;text-align:center;position:relative}.time-plan ul li .active{position:absolute;top:10px;right:10px;width:10px;height:10px;background-color:var(--accent-color);border-radius:50%;z-index:10}.record{position:fixed;height:32px;line-height:32px;bottom:0;right:0;background-color:rgba(0,0,0,.6);z-index:3000;padding:0 3px}body,h1{margin:0}ul li{list-style:none}div{box-sizing:border-box}