@import url(https://rsms.me/inter/inter.css);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary-dark:#0a192f;--primary-blue:#112240;--accent:#64ffda;--text-light:#ccd6f6;--text-secondary:#8892b0;--text-muted:#495670;--border-color:#233554;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}.App{background-color:#0a192f;background-color:var(--primary-dark);color:#ccd6f6;color:var(--text-light);display:flex;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-family);min-height:100vh;overflow-x:hidden;position:relative}.mouse-glow{background:radial-gradient(circle,#64ffda26 0,#64ffda0d 70%,#0000 100%);border-radius:50%;filter:blur(40px);height:300px;opacity:0;pointer-events:none;position:fixed;transform:translate(-50%,-50%);transition:opacity .3s ease-out;width:300px;z-index:1}.navbar{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0a192ff2;border-bottom:1px solid #233554;border-bottom:1px solid var(--border-color);padding:1.2rem 0;position:sticky;top:0;z-index:100}.navbar-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 2rem}.navbar-brand{color:#64ffda;color:var(--accent);font-size:1.25rem;font-weight:700;letter-spacing:.05em;text-decoration:none;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1)}.navbar-brand:hover{text-shadow:0 0 20px #64ffda66}.nav-menu{align-items:center;display:flex;gap:2.5rem;list-style:none}.nav-item,.nav-link{position:relative}.nav-link{background:none;border:none;color:#8892b0;color:var(--text-secondary);cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 0;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-link:after{background-color:#64ffda;background-color:var(--accent);bottom:-2px;content:"";height:2px;left:0;position:absolute;transition:width .3s cubic-bezier(.4,0,.2,1);width:0}.nav-link:hover{color:#64ffda;color:var(--accent)}.nav-link:hover:after{width:100%}.logout-btn{background:#0000;border:2px solid #64ffda;border:2px solid var(--accent);border-radius:4px;color:#64ffda;color:var(--accent);font-weight:600;padding:.6rem 1.2rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.logout-btn:hover{background:#64ffda1a;box-shadow:0 0 10px #64ffda4d}.main-content{flex:1 1;margin:0 auto;max-width:1200px;padding:3rem 2rem;width:100%}.footer{background-color:#11224080;border-top:1px solid #233554;border-top:1px solid var(--border-color);color:#8892b0;color:var(--text-secondary);font-size:.9rem;margin-top:auto;padding:2.5rem;text-align:center}.footer a{color:#64ffda;color:var(--accent);text-decoration:none;transition:all .3s}.footer a:hover{text-decoration:underline}.page-container{animation:fadeIn .6s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.card{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1122404d;border:1px solid #233554;border:1px solid var(--border-color);border-radius:8px;margin-bottom:1.5rem;padding:2rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.card:hover{background:#11224080;border-color:#64ffda;border-color:var(--accent);box-shadow:0 0 20px #64ffda1a;transform:translateY(-2px)}.btn{align-items:center;background:#0000;border:2px solid #64ffda;border:2px solid var(--accent);border-radius:4px;color:#64ffda;color:var(--accent);cursor:pointer;display:inline-block;display:inline-flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-family);font-size:.95rem;font-weight:600;gap:.5rem;padding:.75rem 1.8rem;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn:hover{background:#64ffda1a;box-shadow:0 0 20px #64ffda4d}.btn-primary{border-color:#64ffda;border-color:var(--accent);color:#64ffda;color:var(--accent)}.btn-primary:hover{background:#64ffda26}.btn-danger{border-color:#ff6b6b;color:#ff6b6b}.btn-danger:hover{background:#ff6b6b1a;box-shadow:0 0 20px #ff6b6b33}.btn-success{border-color:#51cf66;color:#51cf66}.btn-success:hover{background:#51cf661a;box-shadow:0 0 20px #51cf6633}h1,h2,h3,h4,h5,h6{color:#ccd6f6;color:var(--text-light);font-weight:700;margin-bottom:1rem}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.1rem}h6{font-size:1rem}a{color:#64ffda;color:var(--accent);text-decoration:none;transition:all .3s}a:hover{text-shadow:0 0 10px #64ffda66}input,select,textarea{background-color:#11224099;border:1px solid #233554;border:1px solid var(--border-color);border-radius:4px;color:#ccd6f6;color:var(--text-light);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-family);padding:.75rem;transition:all .3s}input:focus,select:focus,textarea:focus{background-color:#112240cc;border-color:#64ffda;border-color:var(--accent);box-shadow:0 0 10px #64ffda33;outline:none}.loading{color:#8892b0;color:var(--text-secondary);padding:3rem}.btn-success:hover{background-color:#40a916}.form-group{margin-bottom:1.5rem}.form-group label{color:#2c3e50;display:block;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #bdc3c7;border-radius:4px;font-family:inherit;font-size:1rem;padding:.75rem;width:100%}.form-group textarea{min-height:150px;resize:vertical}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.grid{grid-gap:2rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:2rem}.grid,.grid-2{display:grid;gap:2rem}.grid-2{grid-gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}@media (max-width:768px){.navbar-container{flex-direction:column;gap:1rem}.nav-menu{flex-wrap:wrap;gap:1rem;justify-content:center}.main-content{padding:1rem}.grid,.grid-2{grid-template-columns:1fr}}.success-message{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:4px;color:#155724;margin-bottom:1rem;padding:1rem}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;margin-bottom:1rem;padding:1rem}.loading{font-size:1.1rem;padding:2rem;text-align:center}.loading,.not-found{color:#7f8c8d}.home-page{animation:fadeIn .6s ease-in}.hero{margin-bottom:4rem;padding:6rem 2rem 4rem;text-align:center}.hero-content{margin:0 auto;max-width:800px}.hero-content h1{-webkit-text-fill-color:#0000;background:linear-gradient(to right,var(--text-light),var(--accent));-webkit-background-clip:text;background-clip:text;color:var(--text-light);font-size:3.5rem;font-weight:700;letter-spacing:-1px;line-height:1.2;margin-bottom:1.5rem}.tagline{color:var(--accent);font-size:1.5rem;font-weight:600;letter-spacing:.05em;margin-bottom:1.5rem}.bio{color:var(--text-secondary);font-size:1.1rem;line-height:1.8;margin-bottom:3rem;margin-left:auto;margin-right:auto;max-width:700px}.hero-buttons{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin-bottom:4rem}.btn-cta{font-size:1rem;font-weight:600;padding:1rem 2rem}.social-links{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin:3rem 0}.social-link{align-items:center;color:var(--text-secondary);display:inline-flex;font-weight:500;gap:.5rem;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.social-link:hover{color:var(--accent)}.featured-sections{grid-gap:2rem;border-top:1px solid var(--border-color);display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:4rem;padding-top:3rem}.featured-card{display:flex;flex-direction:column;padding:2rem}.featured-card h3{border-bottom:2px solid var(--accent);color:var(--accent);font-size:1.3rem;margin-bottom:1rem;margin-top:0;padding-bottom:.5rem}.featured-card p{color:var(--text-secondary);flex-grow:1;line-height:1.7;margin-bottom:1.5rem}.card-link{color:var(--accent);display:inline-block;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.card-link:hover{text-shadow:0 0 10px #64ffda66}@media (max-width:768px){.hero{padding:4rem 1rem 3rem}.hero-content h1{font-size:2.2rem}.tagline{font-size:1.2rem}.hero-buttons{align-items:center;flex-direction:column}.btn-cta{max-width:300px;width:100%}.social-links{gap:1rem}.featured-sections{grid-template-columns:1fr}}.cv-page{animation:fadeIn .6s ease-in}.cv-header{padding:3rem 0 2rem}.cv-name{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--text-light) 0,var(--text-secondary) 100%);-webkit-background-clip:text;background-clip:text;color:var(--text-light);font-size:clamp(2rem,5vw,2.8rem);letter-spacing:-1px;margin:0 0 .5rem}.cv-contact-line{color:var(--text-secondary);font-size:.95rem;margin:0}.cv-contact-line a{color:var(--accent);text-decoration:none}.cv-main-layout{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:1fr;padding:0 0 4rem}@media (min-width:768px){.cv-main-layout{gap:4rem;grid-template-columns:1fr 200px}}.cv-sidebar{order:2;position:relative}@media (min-width:768px){.cv-sidebar{align-self:start;height:fit-content;position:sticky;top:calc(100px + 2rem)}}.cv-nav{border-left:2px solid var(--border-color);display:flex;flex-direction:column;gap:1.2rem;margin-bottom:2rem;padding-left:1.2rem}.cv-nav-link{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1rem;font-weight:500;padding:0;text-align:left;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.cv-nav-link:hover{color:var(--accent)}.cv-nav-link.active{color:var(--accent);font-weight:700}.cv-download-btn{border-radius:6px;font-weight:600;justify-content:center;margin-top:2rem;padding:.85rem 1.5rem;text-align:center;width:100%}.cv-content{max-width:100%;order:1}.cv-bullets{display:flex;flex-direction:column;gap:.4rem;margin:.75rem 0 0;padding-left:1.2rem}.cv-bullets li{color:var(--text-secondary);font-size:.92rem;line-height:1.6}.cv-ref{color:var(--accent);font-size:.85rem;font-style:italic}.cv-misc-list{display:flex;flex-direction:column;gap:.6rem;margin:.5rem 0 1rem;padding-left:1.2rem}.cv-misc-list li{color:var(--text-secondary);font-size:.93rem;line-height:1.6}.pub-authors{color:var(--text-secondary);font-size:.88rem;line-height:1.5;margin:.3rem 0 0}.pub-star{color:var(--accent);font-size:.9rem}.pub-footnote{border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:.85rem;margin-top:1rem;padding-top:1rem}.publication-item.highlighted{background:#64ffda0a;border-color:#64ffda4d}.skills-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.cv-section{margin-bottom:3.5rem}.cv-section-title{border-bottom:1px solid var(--border-color);color:var(--text-light);font-size:1.5rem;font-weight:700;letter-spacing:-.5px;margin-bottom:2rem;padding-bottom:.75rem}.cv-item{margin-bottom:2.5rem;padding-left:2rem;position:relative}.cv-item:before{background:var(--accent);border-radius:50%;box-shadow:0 0 12px #64ffda66;content:"";height:13px;left:-.65rem;position:absolute;top:.6rem;width:13px;z-index:2}.cv-item:after{background:var(--border-color);bottom:-2.5rem;content:"";left:-.15rem;position:absolute;top:1.8rem;width:2px;z-index:1}.cv-item:last-child:after{display:none}.cv-date{color:var(--accent);font-size:.85rem;font-weight:700;letter-spacing:.08em;margin-bottom:.3rem;text-transform:uppercase}.cv-role{color:var(--text-light);font-size:1.15rem;font-weight:700;margin-bottom:.25rem}.cv-institution{color:var(--text-secondary);font-size:1rem;font-weight:500;margin-bottom:.75rem}.cv-description{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin:0}.cv-subsection-title{color:var(--text-light);font-size:1.1rem;font-weight:700;margin:2rem 0 1.2rem}.publication-list{display:flex;flex-direction:column;gap:1.3rem;list-style:none;margin:0;padding:0}.publication-item{background:#1122404d;border:1px solid var(--border-color);border-radius:8px;display:block;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.publication-item:hover{background:#11224080;border-color:var(--accent);box-shadow:0 0 20px #64ffda1a;transform:translateY(-3px)}.pub-title{color:var(--text-light);cursor:pointer;display:block;font-size:1.05rem;font-weight:700;margin-bottom:.5rem;text-decoration:none}.pub-meta,.publication-item:hover .pub-title{color:var(--accent)}.pub-meta{font-size:.85rem;font-weight:600;letter-spacing:.05em;margin-bottom:.75rem;text-transform:uppercase}.pub-description{font-size:.95rem;line-height:1.6;margin:0}.pub-description,.pub-note{color:var(--text-secondary)}.pub-note{border-top:1px solid var(--border-color);font-size:.9rem;margin-top:1.5rem;padding-top:1.5rem}.pub-note a{color:var(--accent);font-weight:600;text-decoration:none;transition:all .3s}.pub-note a:hover{text-shadow:0 0 10px #64ffda66}.skills-list{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.skill-group{background:#1122404d;border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.skill-group:hover{background:#11224080;border-color:var(--accent);transform:translateY(-2px)}.skill-category-name{border-bottom:2px solid var(--accent);color:var(--accent);font-size:1.1rem;font-weight:700;margin:0 0 1rem;padding-bottom:.75rem}.skill-items{display:flex;flex-direction:column;gap:.6rem;list-style:none;margin:0;padding:0}.skill-items li{align-items:center;color:var(--text-secondary);display:flex;font-size:.95rem;gap:.7rem;transition:all .3s}.skill-items li:hover{color:var(--text-light);transform:translateX(5px)}.skill-items li:before{color:var(--accent);content:"▸";font-size:1.1rem;font-weight:700}.cv-intro+.cv-section#intro .cv-description{color:var(--text-secondary);font-size:.95rem;line-height:1.7}@media (max-width:768px){.cv-header{padding:2rem 1.5rem}.cv-main-layout{gap:2rem;grid-template-columns:1fr;padding:0 1.5rem 3rem}.cv-sidebar{order:-1;position:relative;top:auto}.cv-nav{border-bottom:2px solid var(--border-color);border-left:none;flex-direction:row;flex-wrap:wrap;gap:1.2rem;margin-bottom:1.5rem;padding-bottom:1.5rem;padding-left:0}.cv-nav-link{font-size:.9rem}.cv-download-btn{margin-top:0;width:100%}.skills-grid{grid-template-columns:1fr}.cv-section-title{font-size:1.3rem}}.page-header{border-bottom:2px solid var(--border-color);margin-bottom:3rem;padding-bottom:2rem}.page-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(to right,var(--text-light),var(--accent));-webkit-background-clip:text;background-clip:text;color:var(--text-light);font-size:3rem;margin-bottom:.5rem}.page-subtitle{color:var(--text-secondary);font-size:1.2rem;margin:0}.page-content{margin:0 auto;max-width:900px}.research-box{margin-bottom:2rem}.research-box h2{border-bottom:2px solid var(--accent);color:var(--accent);font-size:1.3rem;margin-bottom:1rem;padding-bottom:.5rem}.method-list,.project-list{list-style:none;margin:0;padding:0}.method-list li,.project-list li{color:var(--text-secondary);padding:.8rem 0 .8rem 1.5rem;position:relative}.method-list li:before,.project-list li:before{color:var(--accent);content:"→";font-weight:700;left:0;position:absolute}.project-list strong{color:var(--text-light)}.projects-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:2rem}.project-card{display:flex;flex-direction:column}.project-card h3{color:var(--text-light);margin-top:0}.project-meta{color:var(--accent);font-size:.9rem;font-weight:500;margin:.5rem 0}.tech-tags{display:flex;flex-wrap:wrap;gap:.7rem;margin:1rem 0}.tech-tag{background:#64ffda1a;border:1px solid var(--accent);border-radius:4px;color:var(--accent);display:inline-block;font-size:.85rem;padding:.3rem .8rem}.experiments-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:2rem}.experiment-card{display:flex;flex-direction:column}.exp-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.exp-header h3{color:var(--text-light);margin:0}.exp-status{background:#64ffda1a;border:1px solid var(--accent);border-radius:4px;color:var(--accent);display:inline-block;font-size:.8rem;font-weight:500;padding:.3rem .8rem;white-space:nowrap}.exp-status.development{background:#ffb3471a;border-color:#ffb347;color:#ffb347}.exp-status.coming-soon{background:#8b45131a;border-color:#8b4513;color:#8b4513}.tools-list{background:#1122404d;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);padding:1.5rem}@media (max-width:768px){.page-header h1{font-size:2rem}.page-subtitle{font-size:1rem}.experiments-grid,.projects-grid{grid-template-columns:1fr}.exp-header{align-items:flex-start;flex-direction:column}.exp-status{align-self:flex-start}}.blog-page{margin:0 auto;max-width:900px}.blog-page .page-header{margin-bottom:3rem}.blog-list{max-width:100%}.blog-post{margin-bottom:2rem}.blog-post h2{color:var(--text-light);margin-bottom:.5rem;margin-top:0}.post-meta{color:var(--accent);font-size:.9rem;font-weight:500;margin-bottom:1rem}.post-excerpt{color:var(--text-secondary);font-style:italic;line-height:1.6;margin-bottom:1rem}.post-content{word-wrap:break-word;color:var(--text-secondary);line-height:1.8;white-space:pre-wrap}.post-tags{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}.tag{background:#64ffda1a;border:1px solid var(--accent);border-radius:4px;color:var(--accent);display:inline-block;font-size:.85rem;font-weight:500;padding:.4rem .9rem;transition:all .3s}.tag:hover{background:#64ffda33;box-shadow:0 0 10px #64ffda4d}.not-found{background:#1122404d;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);padding:2rem;text-align:center}@media (max-width:768px){.blog-list{max-width:100%}.blog-page .page-header h1{font-size:2rem}}.sandbox-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-top:2rem}.sandbox-card{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff14;border:1px solid var(--border-color,#ffffff14);border-radius:12px;color:#e8e8e8;color:var(--text-primary,#e8e8e8);display:flex;flex-direction:column;gap:.6rem;padding:2rem 1.5rem;text-decoration:none;transition:border-color .2s,transform .15s}.sandbox-card:hover{border-color:#7eb8f7;border-color:var(--accent-color,#7eb8f7);transform:translateY(-2px)}.sandbox-icon{font-size:2rem;line-height:1}.sandbox-card h3{color:#e8e8e8;color:var(--text-primary,#e8e8e8);font-size:1.05rem;margin:0}.sandbox-card p{color:#999;color:var(--text-secondary,#999);font-size:.83rem;line-height:1.55;margin:0}.admin-page{margin:0 auto;max-width:1000px}.login-container{margin:3rem auto;max-width:400px;padding:2rem}.login-container h1{color:#2c3e50;margin-bottom:2rem;text-align:center}.login-hint{color:#7f8c8d;font-size:.9rem;margin-top:1rem;text-align:center}.admin-tabs{border-bottom:2px solid #ecf0f1;display:flex;flex-wrap:wrap;gap:0;margin-bottom:2rem}.tab{background:none;border:none;border-bottom:3px solid #0000;color:#7f8c8d;cursor:pointer;font-size:1rem;padding:1rem 1.5rem;transition:all .3s}.tab.active,.tab:hover{color:#3498db}.tab.active{border-bottom-color:#3498db}.admin-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem;padding:2rem}.admin-section h2{border-bottom:2px solid #ecf0f1;color:#2c3e50;margin-bottom:1.5rem;padding-bottom:1rem}.admin-section form,.posts-list,.projects-list{display:flex;flex-direction:column;gap:1rem}.post-item,.project-item{background:#f8f9fa;border-left:4px solid #3498db;border-radius:4px;padding:1rem}.post-item h3,.project-item h3{color:#2c3e50;margin:0 0 .5rem}.post-item p,.project-item p{color:#7f8c8d;font-size:.95rem;margin:0 0 1rem}.post-item .btn,.project-item .btn{align-self:flex-start}@media (max-width:768px){.admin-tabs{gap:.5rem}.tab{font-size:.9rem;padding:.75rem 1rem}}.pomo-login-gate{align-items:center;display:flex;justify-content:center;min-height:60vh}.pomo-login-box{background:#11224099;border:1px solid var(--border-color);border-radius:12px;padding:2.5rem 3rem;text-align:center;width:320px}.pomo-login-box h2{color:var(--text-light);margin:0 0 .5rem}.pomo-login-box p{color:var(--text-secondary);font-size:.9rem;margin:0 0 1.5rem}.pomo-login-box input{background:#ffffff0d;border:1px solid var(--border-color);border-radius:6px;box-sizing:border-box;color:var(--text-light);font-size:1rem;margin-bottom:.75rem;padding:.7rem 1rem;width:100%}.pomo-login-box button{width:100%}.pomo-login-error{color:#ff6b6b;font-size:.85rem;margin:0 0 .75rem}.pomo-page{box-sizing:border-box;left:50%;padding:0 5rem 4rem;position:relative;transform:translateX(-50%);width:100vw}.pomo-main{align-items:flex-start;display:flex;gap:1.5rem}.pomo-board-wrap{flex:1 1;min-width:0;overflow:hidden}.pomo-board{grid-gap:1rem;align-items:flex-start;display:grid;gap:1rem;width:100%}.pomo-column{display:flex;flex-direction:column;gap:.5rem;min-width:0}.pomo-col-header{align-items:center;border-top:3px solid var(--accent);display:flex;justify-content:space-between;margin-bottom:.2rem;padding-top:.5rem}.pomo-col-title{color:var(--text-light);font-size:.85rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pomo-task-list{display:flex;flex-direction:column;gap:.4rem;max-height:600px;overflow-x:hidden;overflow-y:auto;padding-right:2px}.pomo-task-list::-webkit-scrollbar{width:3px}.pomo-task-list::-webkit-scrollbar-track{background:#ffffff08;border-radius:2px}.pomo-task-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.pomo-task-list::-webkit-scrollbar-thumb:hover{background:var(--accent)}.pomo-task{background:#11224080;border:1px solid var(--border-color);border-radius:7px;box-sizing:border-box;padding:.25rem .35rem;transition:all .2s}.pomo-task:hover{background:#112240cc}.pomo-task.status-done{opacity:.4}.pomo-task.status-in-progress{background:#64b4ff0a}.pomo-task.pending{border-width:2px}.pomo-task-top{align-items:flex-start;display:flex;gap:.15rem;margin-bottom:.1rem}.pomo-task-title{color:var(--text-light);flex:1 1;font-size:.75rem;line-height:1.4;word-break:break-word}.pomo-task.status-done .pomo-task-title{color:var(--text-secondary);text-decoration:line-through}.pomo-pending-dot{color:var(--accent);font-size:.5rem}.pomo-task-bottom{display:flex;justify-content:flex-end;margin-top:0}.pomo-status-btn{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;font-size:.85rem;justify-content:center;line-height:1;padding:0;transition:color .15s,transform .1s}.pomo-status-btn:hover{transform:scale(1.2)}.pomo-status-btn.s-todo{color:var(--text-secondary)}.pomo-status-btn.s-todo:hover{color:var(--text-light)}.pomo-status-btn.s-in-progress{color:var(--accent)}.pomo-status-btn.s-done{color:#6bcf8e}.pomo-add-task-form input{background:#0000;border:1px dashed var(--border-color);border-radius:6px;box-sizing:border-box;color:var(--text-secondary);font-size:.75rem;padding:.4rem .6rem;transition:all .2s;width:100%}.pomo-add-task-form input:focus{background:#11224066;border-color:var(--accent);color:var(--text-light);outline:none}.pomo-add-project-btn{background:#0000;border:1px dashed var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:.82rem;margin-top:calc(3px + .7rem);padding:.6rem;transition:all .2s;width:100%}.pomo-add-project-btn:hover{border-color:var(--accent);color:var(--accent)}.pomo-new-project-form{background:#11224099;border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;gap:.55rem;margin-top:calc(3px + .7rem);padding:.7rem}.pomo-new-project-form input{background:#ffffff0d;border:1px solid var(--border-color);border-radius:6px;color:var(--text-light);font-size:.85rem;padding:.4rem .6rem}.pomo-color-grid{grid-gap:.35rem;display:grid;gap:.35rem;grid-template-columns:repeat(6,1fr)}.pomo-color-dot{border:2px solid #0000;border-radius:50%;cursor:pointer;height:16px;transition:all .15s;width:16px}.pomo-color-dot.selected{border-color:#fff;transform:scale(1.25)}.pomo-timer-panel{align-items:center;background:#11224080;border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;flex-shrink:0;gap:.8rem;max-height:calc(100vh - 120px);overflow-y:auto;padding:1rem .9rem;position:sticky;top:calc(80px + 1rem);width:380px}.pomo-timer-panel::-webkit-scrollbar{width:3px}.pomo-timer-panel::-webkit-scrollbar-track{background:#0000}.pomo-timer-panel::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.pomo-panel-toprow{align-items:center;display:flex;justify-content:space-between;width:100%}.pomo-timer-title{color:var(--text-secondary);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.pomo-settings-toggle{background:#0000;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:.95rem;line-height:1;padding:.1rem .2rem;transition:all .2s}.pomo-settings-toggle.active,.pomo-settings-toggle:hover{color:var(--accent)}.pomo-settings-panel{background:#0003;border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;gap:.5rem;padding:.7rem;width:100%}.pomo-setting-row{align-items:center;color:var(--text-secondary);display:flex;font-size:.75rem;gap:.4rem}.pomo-setting-row label{flex:1 1}.pomo-setting-row input[type=number]{background:#ffffff12;border:1px solid var(--border-color);border-radius:4px;color:var(--text-light);font-size:.75rem;padding:.2rem .4rem;text-align:center;width:44px}.pomo-setting-row span{color:var(--text-secondary);font-size:.72rem}.pomo-setting-check{align-items:center;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.75rem;gap:.4rem}.pomo-setting-check input{accent-color:var(--accent);cursor:pointer}.pomo-setting-divider{border:none;border-top:1px solid var(--border-color);margin:.2rem 0}.pomo-setting-row select{background:#ffffff12;border:1px solid var(--border-color);border-radius:4px;color:var(--text-light);flex:1 1;font-size:.72rem;padding:.2rem .3rem}.pomo-volume-slider{accent-color:var(--accent);cursor:pointer;flex:1 1;height:3px}.pomo-ring-wrap{height:110px;position:relative;width:110px}.pomo-ring-svg{height:110px;transform:rotate(-90deg);width:110px}.pomo-ring-bg{fill:none;stroke:#ffffff12;stroke-width:8}.pomo-ring-fg{fill:none;stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset 1s linear,stroke .5s}.pomo-ring-time{font-feature-settings:"tnum";align-items:center;color:var(--text-light);display:flex;font-size:1.5rem;font-variant-numeric:tabular-nums;font-weight:700;inset:0;justify-content:center;position:absolute;transition:color .5s}.pomo-rest-controls{align-items:center;display:flex;flex-direction:column;gap:.5rem;width:100%}.pomo-rest-label{color:#ffab40;font-size:.82rem;font-weight:600;text-align:center}.pomo-duration-row{display:flex;flex-wrap:wrap;gap:.3rem;justify-content:center}.pomo-dur-btn{background:#0000;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:.7rem;padding:.18rem .4rem;transition:all .15s;white-space:nowrap}.pomo-dur-btn.active,.pomo-dur-btn:hover{border-color:var(--accent);color:var(--accent)}.pomo-selected-task{display:flex;flex-direction:column;gap:.15rem;min-height:2rem;text-align:center;width:100%}.pomo-sel-project{color:var(--accent);font-size:.65rem;font-weight:600;text-transform:uppercase}.pomo-sel-title{color:var(--text-light);font-size:.78rem;line-height:1.3}.pomo-no-task{color:var(--text-secondary);font-size:.72rem;font-style:italic}.pomo-timer-btns{display:flex;gap:.4rem;width:100%}.pomo-timer-btns .btn{flex:1 1;font-size:.8rem;justify-content:center;padding:.42rem .3rem;text-align:center}.pomo-inprogress-list{border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:.35rem;padding-top:.7rem;width:100%}.pomo-inprogress-label{color:var(--text-secondary);font-size:.68rem;font-weight:700;letter-spacing:.06em;margin-bottom:.15rem;text-transform:uppercase}.pomo-inprogress-empty{color:var(--text-secondary);font-size:.72rem;font-style:italic;padding:.4rem 0;text-align:center}.pomo-inprogress-item{background:#64b4ff12;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;display:flex;flex-direction:column;gap:.1rem;padding:.4rem .55rem;transition:all .15s}.pomo-inprogress-item:hover{background:#64b4ff26;border-color:var(--accent)}.pomo-inprogress-item.selected{background:#64ffda14;border-width:2px}.pomo-ip-proj{font-size:.62rem;font-weight:700;text-transform:uppercase}.pomo-ip-title{color:var(--text-light);font-size:.72rem;line-height:1.3;word-break:break-word}.pomo-icon-btn{background:#0000;border:none;color:var(--text-secondary);cursor:pointer;flex-shrink:0;font-size:.85rem;line-height:1;padding:0 .12rem;transition:color .15s}.pomo-icon-btn.danger:hover{color:#ff6b6b}.pomo-modal-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.pomo-modal{background:#0d1b2e;border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;gap:1rem;padding:2rem;width:360px}.pomo-modal h3{color:var(--text-light);margin:0}.pomo-modal textarea{background:#ffffff0d;border:1px solid var(--border-color);border-radius:6px;color:var(--text-light);font-family:inherit;font-size:.9rem;padding:.75rem;resize:vertical}.pomo-modal-actions{display:flex;gap:.5rem}.pomo-bottom{align-items:flex-start;border-top:1px solid var(--border-color);display:flex;gap:2rem;margin-top:2rem;padding-top:1.25rem}.pomo-history{flex:1 1;min-width:0}.pomo-history-title{color:var(--text-light);font-size:1rem;font-weight:700;margin:0 0 .85rem}.pomo-empty{color:var(--text-secondary);font-size:.88rem}.pomo-session-list{display:flex;flex-direction:column;gap:.5rem}.pomo-session{background:#11224066;border:1px solid var(--border-color);border-radius:8px;padding:.6rem .85rem;position:relative}.pomo-session.aborted{opacity:.6}.pomo-session-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:.3rem}.pomo-session-time{color:var(--text-secondary);font-size:.75rem}.pomo-session-task{color:var(--text-light);font-size:.83rem;font-weight:500}.pomo-session-dur{color:var(--accent);font-size:.75rem}.pomo-session-badge{background:#50c87833;border-radius:4px;color:#6bcf8e;font-size:.68rem;font-weight:600;padding:.1rem .4rem}.pomo-session-badge.aborted{background:#ff6b6b33;color:#ff6b6b}.pomo-session-notes{color:var(--text-secondary);cursor:pointer;font-size:.8rem;min-height:1.2rem;padding:.2rem 0}.pomo-session-notes:hover{color:var(--text-light)}.pomo-notes-placeholder{font-size:.75rem;font-style:italic;opacity:.45}.pomo-session-edit{align-items:center;display:flex;gap:.4rem;margin-top:.3rem}.pomo-session-edit input{background:#ffffff0d;border:1px solid var(--border-color);border-radius:5px;color:var(--text-light);flex:1 1;font-size:.8rem;padding:.28rem .5rem}.pomo-del-session{position:absolute;right:.65rem;top:.5rem}.pomo-stats{background:#1122404d;border:1px solid var(--border-color);border-radius:12px;flex-shrink:0;padding:1rem 1.2rem 1.4rem;width:380px}.pomo-stats-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.8rem}.pomo-stats-title{color:var(--text-light);font-size:.9rem;font-weight:700}.pomo-range-btns{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.6rem}.pomo-range-btn{background:#0000;border:1px solid var(--border-color);border-radius:5px;color:var(--text-secondary);cursor:pointer;font-size:.75rem;padding:.22rem .6rem;transition:border-color .15s,color .15s}.pomo-range-btn:hover{color:var(--text-light)}.pomo-range-btn.active{background:#64ffda0f;border-color:var(--accent-color);color:var(--accent-color)}.pomo-custom-range{align-items:center;display:flex;gap:.4rem;margin-bottom:.6rem}.pomo-custom-range input{background:#ffffff0d;border:1px solid var(--border-color);border-radius:5px;color:var(--text-light);flex:1 1;font-size:.75rem;padding:.28rem .45rem}.pomo-custom-range span{color:var(--text-secondary);font-size:.8rem}.pomo-stats-summary{display:flex;gap:.5rem;justify-content:space-around;margin:.7rem 0 .9rem}.pomo-stat-item{text-align:center}.pomo-stat-num{color:var(--accent-color);display:block;font-size:1.4rem;font-weight:700;line-height:1.2}.pomo-stat-label{color:var(--text-secondary);font-size:.68rem}.pomo-chart-label{color:var(--text-secondary);font-size:.72rem;letter-spacing:.04em;margin:.7rem 0 .3rem;text-transform:uppercase}.pomo-stats-empty{color:var(--text-secondary);font-size:.85rem;padding:1.5rem 0;text-align:center}.pomo-task-rank{gap:.5rem}.pomo-rank-item,.pomo-task-rank{display:flex;flex-direction:column}.pomo-rank-item{gap:.25rem}.pomo-rank-bar-wrap{background:#ffffff12;border-radius:3px;height:5px;overflow:hidden}.pomo-rank-bar{border-radius:3px;height:100%;transition:width .4s ease}.pomo-rank-info{align-items:baseline;display:flex;justify-content:space-between}.pomo-rank-name{font-size:.78rem;font-weight:500;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pomo-rank-min{color:var(--text-secondary);font-size:.7rem;white-space:nowrap}.pomo-manual-form{display:flex;flex-direction:column;gap:.6rem}.pomo-manual-row{align-items:center;display:flex;gap:.6rem}.pomo-manual-row label{color:var(--text-secondary);flex-shrink:0;font-size:.8rem;width:80px}.pomo-manual-row input,.pomo-manual-row select{background:#ffffff0f;border:1px solid var(--border-color);border-radius:6px;color:var(--text-light);flex:1 1;font-size:.82rem;padding:.3rem .55rem}.pomo-manual-row input:focus,.pomo-manual-row select:focus{border-color:var(--accent-color);outline:none}@media (max-width:768px){.pomo-page{padding:0 1rem 3rem}.pomo-main{flex-direction:column}.pomo-timer-panel{max-height:none;position:static;width:100%}.pomo-board{grid-template-columns:repeat(2,1fr)!important}.pomo-bottom{flex-direction:column}.pomo-stats{width:100%}}.notes-page{display:flex;flex-direction:column;height:calc(100vh - 80px);left:50%;overflow:hidden;position:relative;transform:translateX(-50%);width:100vw}.notes-toolbar{align-items:center;background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-color,#ffffff14);display:flex;flex-shrink:0;justify-content:space-between;padding:.5rem 2rem}.notes-title{font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.notes-save-status,.notes-title{color:#888;color:var(--text-secondary,#888)}.notes-save-status{font-size:.75rem;min-width:60px;text-align:right;transition:opacity .3s}.notes-save-status.saved{color:#7ec88c}.notes-save-status.error{color:#e07070}.notes-body{flex:1 1;overflow:hidden;position:relative}.notes-codemirror,.notes-codemirror .cm-editor{height:100%!important}.notes-codemirror .cm-scroller{overflow-y:auto;scrollbar-color:#ffffff1f #0000;scrollbar-width:thin}.notes-codemirror .cm-scroller::-webkit-scrollbar{width:6px}.notes-codemirror .cm-scroller::-webkit-scrollbar-track{background:#0000}.notes-codemirror .cm-scroller::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.notes-preview-full{box-sizing:border-box;color:#e8e8e8;color:var(--text-primary,#e8e8e8);height:100%;margin:0 auto;max-width:820px;overflow-y:auto;padding:2.5rem;scrollbar-color:#ffffff1f #0000;scrollbar-width:thin}.notes-preview-full::-webkit-scrollbar{width:6px}.notes-preview-full::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.notes-preview-full h1,.notes-preview-full h2,.notes-preview-full h3,.notes-preview-full h4,.notes-preview-full h5{color:#e8e8e8;color:var(--text-primary,#e8e8e8);line-height:1.3;margin-bottom:.4em;margin-top:1.5em}.notes-preview-full h1{border-bottom:1px solid #ffffff1a;font-size:1.7rem;padding-bottom:.3em}.notes-preview-full h2{font-size:1.35rem}.notes-preview-full h3{font-size:1.1rem}.notes-preview-full h4{font-size:.95rem}.notes-preview-full p{line-height:1.8;margin:.6em 0}.notes-preview-full a{color:#7eb8f7;color:var(--accent-color,#7eb8f7);text-decoration:none}.notes-preview-full a:hover{text-decoration:underline}.notes-preview-full code{background:#ffffff14;border-radius:3px;color:#b8d4f8;font-family:JetBrains Mono,Fira Code,monospace;font-size:.85em;padding:.1em .35em}.notes-preview-full pre{background:#ffffff0d;border:1px solid #ffffff14;border-radius:6px;margin:1em 0;overflow-x:auto;padding:1em 1.2em}.notes-preview-full pre code{background:none;padding:0}.notes-preview-full blockquote{background:#7eb8f70a;border-left:3px solid #7eb8f7;border-left:3px solid var(--accent-color,#7eb8f7);color:#aaa;color:var(--text-secondary,#aaa);margin:.8em 0;padding:.4em 1em}.notes-preview-full ol,.notes-preview-full ul{margin:.5em 0;padding-left:1.5em}.notes-preview-full li{line-height:1.7;margin:.2em 0}.notes-preview-full table{border-collapse:collapse;margin:1em 0;width:100%}.notes-preview-full td,.notes-preview-full th{border:1px solid #ffffff1f;padding:.45em .75em}.notes-preview-full th{background:#ffffff0f}.notes-preview-full hr{border:none;border-top:1px solid #ffffff1a;margin:1.5em 0}.notes-loading{align-items:center;color:#888;color:var(--text-secondary,#888);display:flex;font-size:.9rem;height:calc(100vh - 120px);justify-content:center}.notes-body .milkdown{background:#0f0f1a;background:var(--bg-primary,#0f0f1a);height:100%;overflow-y:auto;scrollbar-color:#ffffff1f #0000;scrollbar-width:thin}.notes-body .milkdown::-webkit-scrollbar{width:6px}.notes-body .milkdown::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.notes-body .milkdown .ProseMirror,.notes-body .milkdown .editor{caret-color:#7eb8f7;caret-color:var(--accent-color,#7eb8f7);color:#e8e8e8;color:var(--text-primary,#e8e8e8);font-size:.92rem;line-height:1.8;margin:0 auto;max-width:820px;outline:none;padding:2rem 2.5rem 4rem}.notes-body .milkdown h1,.notes-body .milkdown h2,.notes-body .milkdown h3,.notes-body .milkdown h4,.notes-body .milkdown h5{color:#e8e8e8;color:var(--text-primary,#e8e8e8);line-height:1.3;margin-bottom:.4em;margin-top:1.6em}.notes-body .milkdown h1{border-bottom:1px solid #ffffff1a;font-size:1.7rem;padding-bottom:.3em}.notes-body .milkdown h2{font-size:1.35rem}.notes-body .milkdown h3{font-size:1.1rem}.notes-body .milkdown h4{font-size:.95rem}.notes-body .milkdown p{line-height:1.8;margin:.5em 0}.notes-body .milkdown strong{color:#fff;font-weight:700}.notes-body .milkdown em{color:#d4c9f5;font-style:italic}.notes-body .milkdown a{color:#7eb8f7;color:var(--accent-color,#7eb8f7);text-decoration:none}.notes-body .milkdown a:hover{text-decoration:underline}.notes-body .milkdown code{background:#ffffff17;border-radius:3px;color:#b8d4f8;font-family:JetBrains Mono,Fira Code,monospace;font-size:.84em;padding:.1em .4em}.notes-body .milkdown pre{background:#00000059;border:1px solid #ffffff14;border-radius:8px;margin:1em 0;overflow-x:auto;padding:1em 1.25em}.notes-body .milkdown pre code{background:none;color:#cdd6f4;font-size:.86rem;line-height:1.65;padding:0}.notes-body .milkdown blockquote{background:#7eb8f70a;border-left:3px solid #7eb8f7;border-left:3px solid var(--accent-color,#7eb8f7);border-radius:0 6px 6px 0;color:#aaa;color:var(--text-secondary,#aaa);margin:.8em 0;padding:.4em 1em}.notes-body .milkdown ol,.notes-body .milkdown ul{margin:.5em 0;padding-left:1.5em}.notes-body .milkdown li{line-height:1.75;margin:.2em 0}.notes-body .milkdown hr{border:none;border-top:1px solid #ffffff1a;margin:1.5em 0}.notes-body .milkdown table{border-collapse:collapse;margin:1em 0;width:100%}.notes-body .milkdown td,.notes-body .milkdown th{border:1px solid #ffffff1f;padding:.45em .75em}.notes-body .milkdown th{background:#ffffff12}.notes-body .milkdown .ProseMirror-selectednode{outline:2px solid #7eb8f766}.notes-body .milkdown ::selection{background:#7eb8f733}.notes-mode-btn{align-items:center;background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1.5px solid #fff3;border-radius:50%;bottom:2rem;color:#888;color:var(--text-secondary,#888);cursor:pointer;display:flex;font-size:1rem;height:36px;justify-content:center;left:2rem;position:fixed;transition:border-color .2s,color .2s,background .2s;width:36px;z-index:100}.notes-mode-btn.preview,.notes-mode-btn.source,.notes-mode-btn:hover{border-color:#7eb8f7;border-color:var(--accent-color,#7eb8f7);color:#7eb8f7;color:var(--accent-color,#7eb8f7)}.notes-login{align-items:center;display:flex;height:calc(100vh - 120px);justify-content:center}.notes-login form{display:flex;flex-direction:column;gap:.8rem;width:240px}.notes-login h2{font-size:1.2rem;margin-bottom:.4rem;text-align:center}.notes-login h2,.notes-login input{color:#e8e8e8;color:var(--text-primary,#e8e8e8)}.notes-login input{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff1f;border:1px solid var(--border-color,#ffffff1f);border-radius:6px;font-size:.9rem;outline:none;padding:.55rem .8rem}.notes-login input:focus{border-color:#7eb8f7;border-color:var(--accent-color,#7eb8f7)}.notes-login button{background:#7eb8f7;background:var(--accent-color,#7eb8f7);border:none;border-radius:6px;color:#0f0f1a;cursor:pointer;font-size:.9rem;font-weight:600;padding:.55rem}.notes-login button:hover{opacity:.88}.notes-login-error{color:#e07070;font-size:.8rem;margin:0;text-align:center}
/*# sourceMappingURL=main.d65069e2.css.map*/