*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--glass-bg:#ffffff0f;--glass-border:#ffffff2e;--glass-highlight:#ffffff59;--accent-cyan:#00f5ff;--accent-blue:#0057ff;--accent-purple:#7b2fff;--py-green:#00ff41;--bg-dark:#060b1a;--font-display:"Syne", sans-serif;--font-mono:"Space Mono", monospace}html{scrollbar-width:thin;scrollbar-color:#00f5ff59 transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:#00f5ff59;background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:#00f5ff8c;background-clip:padding-box}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-button{display:none}html,body{background:var(--bg-dark);width:100%;height:100%;font-family:var(--font-display);color:#fff;overflow:hidden}@media (max-height:600px){html,body{overflow-y:auto}.stage{height:auto;min-height:100vh}}.grid-overlay{z-index:1;background-image:linear-gradient(#00f5ff12 1px,#0000 1px),linear-gradient(90deg,#00f5ff12 1px,#0000 1px);background-size:60px 60px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(80% 80%,#000 30%,#0000 100%);mask-image:radial-gradient(80% 80%,#000 30%,#0000 100%)}.scanline{z-index:2;pointer-events:none;background:repeating-linear-gradient(0deg,#0000,#0000 3px,#00000014 3px 4px);animation:8s linear infinite scan;position:fixed;inset:0}@keyframes scan{0%{background-position:0 0}to{background-position:0 100px}}.particles{z-index:3;pointer-events:none;position:fixed;inset:0}.particle{background:var(--accent-cyan);opacity:0;border-radius:50%;width:2px;height:2px;animation:linear infinite floatUp;position:absolute}@keyframes floatUp{0%{opacity:0;transform:translateY(0)scale(0)}10%{opacity:.6}90%{opacity:.2}to{opacity:0;transform:translateY(-100vh)scale(1.5)}}.stage{z-index:10;flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100vh;padding:24px;display:flex;position:relative}.glass-card{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(40px)saturate(180%);width:min(580px,94vw);box-shadow:0 0 0 1px #ffffff0d inset, 0 2px 0 0 var(--glass-highlight) inset, 0 40px 80px #0009, 0 0 100px #0057ff26, 0 0 200px #7b2fff14;border-radius:28px;padding:52px 52px 44px;animation:1s cubic-bezier(.22,1,.36,1) both cardIn;position:relative;overflow:hidden}.glass-card:before{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 30%,#ffffff12 50%,#0000 70%);width:60%;height:100%;animation:5s ease-in-out infinite sweep;position:absolute;top:0;left:-100%}.glass-card:after{content:"";background:linear-gradient(90deg,#0000,#fff9,#0000);border-radius:50%;height:1px;position:absolute;top:0;left:10%;right:10%}@keyframes cardIn{0%{opacity:0;transform:translateY(40px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes sweep{0%{left:-100%}60%{left:160%}to{left:160%}}.corner{border-color:var(--accent-cyan);opacity:.7;border-style:solid;width:18px;height:18px;position:absolute}.corner-tl{border-width:2px 0 0 2px;border-radius:4px 0 0;top:14px;left:14px}.corner-tr{border-width:2px 2px 0 0;border-radius:0 4px 0 0;top:14px;right:14px}.corner-bl{border-width:0 0 2px 2px;border-radius:0 0 0 4px;bottom:14px;left:14px}.corner-br{border-width:0 2px 2px 0;border-radius:0 0 4px;bottom:14px;right:14px}.badge{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent-cyan);background:#00f5ff14;border:1px solid #00f5ff40;border-radius:100px;align-items:center;gap:7px;margin-bottom:28px;padding:5px 14px;font-size:10px;animation:.8s .2s both fadeUp;display:inline-flex}.badge-dot{background:var(--accent-cyan);width:6px;height:6px;box-shadow:0 0 8px var(--accent-cyan);border-radius:50%;animation:1.4s ease-in-out infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}.headline{letter-spacing:-.02em;margin-bottom:8px;font-size:clamp(2rem,5vw,3.2rem);font-weight:800;line-height:1.05;animation:.8s .35s both fadeUp}.headline span{background:linear-gradient(135deg, #fff 0%, var(--accent-cyan) 60%, var(--accent-blue) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.subline{color:#ffffff80;letter-spacing:.01em;margin-bottom:36px;font-size:clamp(1rem,2.5vw,1.25rem);font-weight:400;animation:.8s .45s both fadeUp}.divider{background:linear-gradient(90deg,#0000,#ffffff1a,#0000);width:100%;height:1px;margin-bottom:32px;animation:.8s .5s both fadeUp}.body-text{font-family:var(--font-mono);color:#ffffff9e;letter-spacing:.01em;margin-bottom:36px;font-size:13px;line-height:1.65;animation:.8s .55s both fadeUp}.body-text strong{color:#ffffffe6;font-weight:700}.btn-linkedin{color:#fff;font-family:var(--font-display);letter-spacing:.02em;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#0057ff40,#7b2fff33);border:1px solid #0057ff73;border-radius:14px;align-items:center;gap:11px;padding:15px 28px;font-size:15px;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;animation:.8s .65s both fadeUp;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 0 30px #0057ff33,inset 0 2px #ffffff14}.btn-linkedin:hover{border-color:#00f5ff99;transform:translateY(-2px)scale(1.02);box-shadow:0 0 40px #0057ff73,0 8px 32px #0000004d,inset 0 2px #ffffff1f}.btn-linkedin:active{transform:translateY(0)scale(.99)}.btn-linkedin:after{content:"";background:linear-gradient(90deg,#0000,#ffffff1f,#0000);width:50%;height:100%;transition:left .4s;position:absolute;top:0;left:-100%}.btn-linkedin:hover:after{left:150%}.li-icon{flex-shrink:0;width:22px;height:22px}.btn-arrow{opacity:.6;margin-left:auto;font-size:18px;transition:opacity .2s,transform .2s}.btn-linkedin:hover .btn-arrow{opacity:1;transform:translate(4px)}.meta{font-family:var(--font-mono);color:#fff3;letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:10px;margin-top:30px;font-size:10px;animation:.8s .75s both fadeUp;display:flex}.meta-line{background:#ffffff0f;flex:1;height:1px}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.btn-matrix{padding:7px 11px;font-size:10px;top:16px;right:16px}.portal-sidebar{z-index:20;width:260px;height:100%;transition:transform .25s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:0;overflow:hidden;transform:translate(0)}.portal-sidebar.collapsed{border-right:1px solid #00f5ff1a;width:260px;transform:translate(-100%)}.sidebar-backdrop{z-index:15;-webkit-backdrop-filter:blur(2px);background:#0009;display:block;position:absolute;inset:0}.portal-content{width:100%;padding:64px 16px 40px}.stage{padding:16px}.glass-card{border-radius:20px;width:min(480px,96vw);padding:32px 24px 28px}.headline{margin-bottom:6px;font-size:clamp(1.8rem,6vw,2.8rem)}.subline{margin-bottom:28px;font-size:clamp(.9rem,3vw,1.1rem)}.divider{margin-bottom:24px}.body-text{margin-bottom:28px;font-size:12px;line-height:1.6}.btn-linkedin{gap:9px;padding:14px 24px;font-size:14px}.li-icon{width:20px;height:20px}.btn-arrow{font-size:16px}.meta{margin-top:24px;font-size:9px}.badge{margin-bottom:24px;padding:4px 12px;font-size:9px}.corner{width:14px;height:14px}.corner-tl{top:10px;left:10px}.corner-tr{top:10px;right:10px}.corner-bl{bottom:10px;left:10px}.corner-br{bottom:10px;right:10px}}.btn-matrix{z-index:20;font-family:var(--font-mono);letter-spacing:.14em;color:#00ff41;background:#00ff410d;border:1px solid #00ff4159;border-radius:6px;align-items:center;padding:8px 14px;font-size:11px;text-decoration:none;transition:background .2s,border-color .2s,box-shadow .2s;display:inline-flex;position:fixed;top:24px;right:24px;box-shadow:0 0 8px #00ff411f}.btn-matrix:hover{background:#00ff411a;border-color:#00ff41bf;box-shadow:0 0 18px #00ff4159,0 0 40px #00ff411f}.btn-matrix:active{transform:scale(.97)}.portal-wrapper{z-index:10;display:flex;position:fixed;inset:0}.portal-sidebar{-webkit-backdrop-filter:blur(24px);background:#030711d9;border-right:1px solid #00f5ff1a;flex-direction:column;flex-shrink:0;width:220px;padding:28px 0 20px;transition:width .25s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.portal-sidebar.collapsed{border-right:none;width:0}.sidebar-brand{cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid #00f5ff14;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:16px;padding:0 20px 24px;display:flex}.sidebar-brand-main{flex-direction:column;gap:3px;display:flex}.sidebar-brand-close{font-family:var(--font-mono);color:#ffffff2e;flex-shrink:0;padding-top:3px;font-size:14px;line-height:1;transition:color .15s}.sidebar-brand:hover .sidebar-brand-close{color:var(--accent-cyan)}.sidebar-brand-text{font-family:var(--font-mono);color:var(--accent-cyan);letter-spacing:.1em;margin-bottom:3px;font-size:12px;display:block}.sidebar-brand-sub{font-family:var(--font-mono);color:#ffffff38;letter-spacing:.2em;text-transform:uppercase;font-size:9px;display:block}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:0 10px;display:flex}.sidebar-link{font-family:var(--font-mono);letter-spacing:.04em;color:#fff6;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:9px 12px;font-size:12px;text-decoration:none;transition:color .18s,background .18s,border-color .18s;display:flex}.sidebar-link-indicator{opacity:0;color:var(--accent-cyan);flex-shrink:0;font-size:15px;transition:opacity .18s}.sidebar-link:hover{color:#fffc;background:#00f5ff0a}.sidebar-link:hover .sidebar-link-indicator{opacity:.5}.sidebar-link.active{color:var(--accent-cyan);background:#00f5ff14;border-color:#00f5ff26}.sidebar-link.active .sidebar-link-indicator{opacity:1}.sidebar-footer{border-top:1px solid #00f5ff12;margin-top:8px;padding:16px 10px 0}.sidebar-signout{width:100%;font-family:var(--font-mono);letter-spacing:.06em;color:#ffffff38;cursor:pointer;text-align:left;background:0 0;border:1px solid #ffffff12;border-radius:6px;padding:8px 12px;font-size:11px;transition:color .18s,border-color .18s}.sidebar-signout:hover{color:#ff5a5acc;border-color:#ff5a5a4d}.portal-content{flex:1;padding:48px 44px;position:relative;overflow-y:auto}.sidebar-open-btn{z-index:50;font-family:var(--font-mono);color:#ffffff8c;cursor:pointer;-webkit-backdrop-filter:blur(12px);background:#030711e6;border:1px solid #00f5ff33;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;line-height:1;transition:color .15s,border-color .15s;display:flex;position:fixed;top:18px;left:16px}.sidebar-open-btn:hover{color:var(--accent-cyan);border-color:#00f5ff73}.sidebar-backdrop{display:none}.portal-page{max-width:800px}.portal-page-header{margin-bottom:32px}.portal-page-label{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:#00f5ff80;margin-bottom:10px;font-size:10px}.portal-page-title{font-family:var(--font-display);background:linear-gradient(135deg, #fff 0%, var(--accent-cyan) 60%, var(--accent-blue) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(2rem,4vw,3rem);font-weight:800;line-height:1.1}.portal-page-divider{background:linear-gradient(90deg, var(--accent-cyan), transparent);border-radius:1px;width:52px;height:2px;margin-top:14px}.portal-placeholder{font-family:var(--font-mono);color:#ffffff40;letter-spacing:.03em;background:#ffffff05;border:1px solid #ffffff0f;border-radius:12px;padding:32px;font-size:13px;line-height:1.6}.login-card{width:min(440px,94vw)}.login-headline{margin-bottom:6px!important;font-size:clamp(1.8rem,4vw,2.6rem)!important}.login-form{flex-direction:column;gap:18px;margin-bottom:28px;display:flex}.form-group{flex-direction:column;gap:7px;display:flex}.form-label{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:#ffffff52;font-size:9px}.form-input{font-family:var(--font-mono);color:#fff;letter-spacing:.03em;background:#ffffff0a;border:1px solid #00f5ff2e;border-radius:10px;outline:none;padding:12px 16px;font-size:13px;transition:border-color .2s,box-shadow .2s,background .2s}.form-input::placeholder{color:#ffffff2e;font-size:12px}.form-input:focus{background:#00f5ff0a;border-color:#00f5ff73;box-shadow:0 0 0 3px #00f5ff12,0 0 18px #00f5ff14}.form-error{font-family:var(--font-mono);color:#ff5050e6;letter-spacing:.03em;background:#ff505012;border:1px solid #ff505033;border-radius:8px;padding:10px 14px;font-size:11px}.btn-submit{font-family:var(--font-mono);letter-spacing:.08em;color:var(--accent-cyan);cursor:pointer;background:#00f5ff0f;border:1px solid #00f5ff47;border-radius:10px;margin-top:4px;padding:14px 24px;font-size:13px;transition:background .2s,border-color .2s,box-shadow .2s;box-shadow:0 0 16px #00f5ff12}.btn-submit:hover:not(:disabled){background:#00f5ff1a;border-color:#00f5ff8c;box-shadow:0 0 28px #00f5ff2e}.btn-submit:disabled{opacity:.45;cursor:not-allowed}.todo-wrap{flex-direction:column;gap:6px;max-width:600px;display:flex}.todo-add{gap:8px;margin:20px 0 8px;display:flex}.todo-input{font-family:var(--font-mono);color:#fff;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;outline:none;flex:1;padding:12px 16px;font-size:13px;transition:border-color .15s,background .15s}.todo-input::placeholder{color:#ffffff2e}.todo-input:focus{background:#00f5ff08;border-color:#00f5ff66}.todo-add-btn{font-family:var(--font-mono);letter-spacing:.06em;color:var(--accent-cyan);cursor:pointer;white-space:nowrap;background:#00f5ff12;border:1px solid #00f5ff40;border-radius:10px;padding:12px 20px;font-size:12px;transition:background .15s,border-color .15s}.todo-add-btn:hover:not(:disabled){background:#00f5ff1f;border-color:#00f5ff80}.todo-add-btn:disabled{opacity:.35;cursor:not-allowed}.todo-list{flex-direction:column;gap:4px;list-style:none;display:flex}.todo-list-done{margin-top:4px}.todo-item{background:#ffffff08;border:1px solid #ffffff0d;border-radius:10px;align-items:center;gap:12px;padding:11px 14px;transition:background .15s,border-color .15s;display:flex}.todo-item:hover{background:#ffffff0d;border-color:#ffffff14}.todo-item.done{opacity:.45}.todo-check{cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.todo-check-box{background:0 0;border:1px solid #00f5ff4d;border-radius:4px;width:16px;height:16px;transition:background .15s,border-color .15s;display:block;position:relative}.todo-check:hover .todo-check-box{background:#00f5ff0f;border-color:#00f5ffb3}.todo-check-box.checked{background:#00f5ff26;border-color:#00f5ff80}.todo-check-box.checked:after{content:"✓";color:var(--accent-cyan);justify-content:center;align-items:center;font-size:10px;display:flex;position:absolute;inset:0}.todo-text{font-family:var(--font-mono);color:#fffc;flex:1;font-size:13px;line-height:1.4}.todo-item.done .todo-text{-webkit-text-decoration:line-through #fff3;text-decoration:line-through #fff3}.todo-del{color:#ffffff26;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:18px;line-height:1;transition:color .15s}.todo-del:hover{color:#ff5050b3}.todo-empty{font-family:var(--font-mono);color:#fff3;letter-spacing:.04em;padding:28px 0 8px;font-size:12px}.todo-section-label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:#ffffff2e;margin-top:20px;margin-bottom:4px;padding-left:2px;font-size:9px}.work-wrap{flex-direction:column;gap:36px;max-width:900px;display:flex}.work-section-title{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:#ffffffa6;margin-bottom:4px;font-size:10px}.work-section-sub{font-family:var(--font-mono);color:#ffffff73;letter-spacing:.02em;margin-bottom:14px;font-size:10px}.work-section-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px;display:flex}.work-projects{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.work-project-card{background:#ffffff0f;border:1px solid #ffffff24;border-radius:12px;flex-direction:column;gap:9px;padding:18px 20px;display:flex}.work-project-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.work-project-name-row{align-items:center;gap:9px;min-width:0;display:flex}.work-status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.work-project-name{font-family:var(--font-display);color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.work-edit-btn{font-family:var(--font-mono);color:#ffffff80;cursor:pointer;background:0 0;border:1px solid #ffffff2e;border-radius:5px;flex-shrink:0;padding:4px 10px;font-size:10px;transition:color .15s,border-color .15s}.work-edit-btn:hover{color:#fff9;border-color:#ffffff2e}.work-status-badge{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;border:1px solid;border-radius:4px;align-self:flex-start;padding:2px 8px;font-size:9px;display:inline-block}.work-project-note{font-family:var(--font-mono);color:#ffffffc7;font-size:11px;line-height:1.55}.work-project-next{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:6px;align-items:baseline;gap:8px;padding:8px 10px;display:flex}.work-next-label{font-family:var(--font-mono);color:#ffffff7a;flex-shrink:0;font-size:9px}.work-next-text{font-family:var(--font-mono);color:#ffffffe0;font-size:11px;line-height:1.4}.work-project-updated{font-family:var(--font-mono);color:#ffffff61;letter-spacing:.04em;font-size:9px}.work-mid-row{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}.work-priorities-section,.work-decisions-section{flex-direction:column;display:flex}.work-priorities{flex-direction:column;gap:6px;display:flex}.work-priority-item{background:#ffffff0f;border:1px solid #ffffff21;border-radius:8px;align-items:center;gap:12px;padding:10px 14px;transition:border-color .15s;display:flex}.work-priority-item:focus-within{border-color:#00f5ff33}.work-priority-num{font-family:var(--font-mono);color:var(--accent-cyan);opacity:.75;flex-shrink:0;font-size:11px}.work-priority-input{font-family:var(--font-mono);color:#ffffffeb;background:0 0;border:none;outline:none;flex:1;font-size:12px}.work-priority-input::placeholder{color:#ffffff47}.work-save-btn{font-family:var(--font-mono);color:#00f5ff8c;cursor:pointer;background:0 0;border:1px solid #00f5ff2e;border-radius:5px;padding:4px 12px;font-size:10px;transition:all .15s}.work-save-btn:hover:not(:disabled){color:var(--accent-cyan);border-color:#00f5ff66}.work-save-btn.saved{color:#ffffff2e;cursor:default;border-color:#ffffff0f}.work-dec-add{gap:6px;margin-bottom:10px;display:flex}.work-dec-input{font-family:var(--font-mono);color:#fff;background:#ffffff12;border:1px solid #ffffff29;border-radius:8px;outline:none;flex:1;padding:9px 12px;font-size:12px;transition:border-color .15s}.work-dec-input:focus{border-color:#a78bfa59}.work-dec-input::placeholder{color:#ffffff52}.work-dec-add-btn{font-family:var(--font-mono);color:#a78bfab3;cursor:pointer;background:#a78bfa0f;border:1px solid #a78bfa2e;border-radius:8px;padding:8px 14px;font-size:16px;line-height:1;transition:all .15s}.work-dec-add-btn:hover:not(:disabled){background:#a78bfa1f;border-color:#a78bfa66}.work-dec-add-btn:disabled{opacity:.3;cursor:not-allowed}.work-decisions{flex-direction:column;gap:5px;display:flex}.work-decision-item{background:#a78bfa1a;border:1px solid #a78bfa3d;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;transition:opacity .2s;display:flex}.work-decision-item.resolved{opacity:.32}.work-dec-check{cursor:pointer;width:22px;height:22px;font-family:var(--font-mono);color:#0000;background:0 0;border:1.5px solid #a78bfa52;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:11px;transition:all .15s;display:flex}.work-dec-check:hover{color:#a78bfab3;border-color:#a78bfab3}.work-decision-item.resolved .work-dec-check{color:#a78bfa;background:#a78bfa26;border-color:#a78bfa}.work-dec-text{font-family:var(--font-mono);color:#ffffffe6;flex:1;font-size:11px;line-height:1.5}.work-decision-item.resolved .work-dec-text{-webkit-text-decoration:line-through #ffffff2e;text-decoration:line-through #ffffff2e}.work-dec-del{color:#ffffff4d;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 1px;font-size:16px;line-height:1;transition:color .15s}.work-dec-del:hover{color:#ff505099}.work-log-form{gap:10px;margin-bottom:12px;display:flex}.work-log-textarea{font-family:var(--font-mono);color:#fff;resize:none;background:#ffffff12;border:1px solid #ffffff29;border-radius:10px;outline:none;flex:1;padding:12px 14px;font-size:12px;line-height:1.55;transition:border-color .15s}.work-log-textarea:focus{border-color:#00f5ff47}.work-log-textarea::placeholder{color:#ffffff52}.work-log-btn{font-family:var(--font-mono);letter-spacing:.05em;color:var(--accent-cyan);cursor:pointer;white-space:nowrap;background:#00f5ff0f;border:1px solid #00f5ff33;border-radius:10px;align-self:stretch;padding:0 22px;font-size:11px;transition:all .15s}.work-log-btn:hover:not(:disabled){background:#00f5ff1c;border-color:#00f5ff6b}.work-log-btn:disabled{opacity:.35;cursor:not-allowed}.work-log-entries{flex-direction:column;gap:4px;max-height:320px;display:flex;overflow-y:auto}.work-log-entry{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;gap:16px;padding:9px 14px;display:flex}.work-log-date{font-family:var(--font-mono);color:#ffffff73;flex-shrink:0;min-width:72px;padding-top:1px;font-size:10px}.work-log-text{font-family:var(--font-mono);color:#ffffffd1;font-size:12px;line-height:1.5}.work-empty{font-family:var(--font-mono);color:#fff6;padding:8px 0;font-size:11px}.gym-wrap{flex-direction:column;gap:22px;max-width:960px;display:flex}.gym-tabs{border-bottom:1px solid #ffffff0f;gap:2px;display:flex}.gym-tab{font-family:var(--font-mono);letter-spacing:.08em;color:#ffffff4d;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 18px;font-size:11px;transition:color .15s,border-color .15s}.gym-tab:hover{color:#fff9}.gym-tab.active{color:#34d399;border-bottom-color:#34d399}.gym-info-banner{background:#34d3990a;border:1px solid #34d3991a;border-radius:10px;flex-wrap:wrap;gap:24px;padding:14px 20px;display:flex}.gym-info-item{flex-direction:column;gap:3px;display:flex}.gym-info-label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:#ffffff38;font-size:9px}.gym-info-value{font-family:var(--font-mono);color:#fff9;font-size:12px}.gym-cards{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.gym-card{background:#ffffff05;border:1px solid #ffffff0f;border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.gym-card-head{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:flex-start;gap:8px;padding:16px 18px 12px;display:flex}.gym-card-label{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:#34d399;margin-bottom:4px;font-size:9px;display:block}.gym-card-title{font-family:var(--font-display);color:#fff;font-size:13px;font-weight:700;line-height:1.3}.gym-card-duration{font-family:var(--font-mono);color:#ffffff38;margin-top:2px;font-size:9px}.gym-start-btn{font-family:var(--font-mono);letter-spacing:.06em;color:#34d399;cursor:pointer;white-space:nowrap;background:#34d39912;border:1px solid #34d39938;border-radius:6px;flex-shrink:0;padding:7px 12px;font-size:10px;transition:background .15s,border-color .15s}.gym-start-btn:hover{background:#34d39921;border-color:#34d39973}.gym-ex-table{flex:1;padding:8px 0}.gym-ex-row{justify-content:space-between;align-items:baseline;gap:8px;padding:5px 18px;display:flex}.gym-ex-row:hover{background:#ffffff05}.gym-ex-name{font-family:var(--font-mono);color:#fff9;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;overflow:hidden}.gym-ex-scheme{font-family:var(--font-mono);color:#ffffff38;flex-shrink:0;font-size:10px}.gym-card-footer{font-family:var(--font-mono);color:#fff3;border-top:1px solid #ffffff0a;padding:10px 18px;font-size:10px}.gym-workout-wrap{flex-direction:column;gap:16px;max-width:720px;display:flex}.gym-workout-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.gym-day-badge{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:#34d399;background:#34d3991a;border:1px solid #34d39940;border-radius:4px;margin-bottom:7px;padding:3px 10px;font-size:9px;display:inline-block}.gym-workout-title{font-family:var(--font-display);background:linear-gradient(135deg,#fff 0%,#34d399 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(1.3rem,2.5vw,1.9rem);font-weight:800}.gym-workout-actions{align-items:center;gap:8px;padding-top:4px;display:flex}.gym-progress-text{font-family:var(--font-mono);color:#ffffff47;font-size:11px}.gym-finish-btn{font-family:var(--font-mono);letter-spacing:.05em;color:#34d399;cursor:pointer;background:#34d39914;border:1px solid #34d39947;border-radius:8px;padding:9px 18px;font-size:11px;transition:background .15s,border-color .15s}.gym-finish-btn:hover:not(:disabled){background:#34d39924;border-color:#34d3998c}.gym-finish-btn:disabled{opacity:.45;cursor:not-allowed}.gym-cancel-btn{font-family:var(--font-mono);color:#ffffff40;cursor:pointer;background:0 0;border:1px solid #ffffff14;border-radius:8px;padding:9px 14px;font-size:11px;transition:color .15s,border-color .15s}.gym-cancel-btn:hover{color:#ffffff8c;border-color:#ffffff26}.gym-progress-bar-wrap{background:#ffffff0d;border-radius:1px;height:2px;overflow:hidden}.gym-progress-bar-fill{background:linear-gradient(90deg,#34d399,#5b9cf6);border-radius:1px;height:100%;transition:width .3s}.gym-ex-block{background:#ffffff05;border:1px solid #ffffff0f;border-radius:10px;transition:border-color .2s;overflow:hidden}.gym-ex-block.all-done{border-color:#34d39933}.gym-ex-block-head{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:baseline;gap:10px;padding:12px 16px 10px;display:flex}.gym-ex-block-name{font-family:var(--font-display);color:#fff;font-size:14px;font-weight:600}.gym-ex-block-target{font-family:var(--font-mono);color:#ffffff47;flex-shrink:0;font-size:10px}.gym-ex-block-notes{font-family:var(--font-mono);color:#fff3;border-bottom:1px solid #ffffff0a;padding:5px 16px 7px;font-size:10px}.gym-prev-hint{font-family:var(--font-mono);color:#34d39959;border-bottom:1px solid #ffffff08;padding:4px 16px 6px;font-size:10px}.gym-set-rows{padding:6px 0}.gym-set-row{align-items:center;gap:10px;padding:6px 16px;transition:background .1s;display:flex}.gym-set-row:hover{background:#ffffff05}.gym-set-row.done{opacity:.48}.gym-set-num{font-family:var(--font-mono);color:#fff3;flex-shrink:0;width:38px;font-size:10px}.gym-set-field{align-items:center;gap:5px;display:flex}.gym-set-input{font-family:var(--font-mono);color:#fff;text-align:center;-moz-appearance:textfield;background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;outline:none;padding:5px 8px;font-size:14px;transition:border-color .15s,background .15s}.gym-set-input::-webkit-outer-spin-button{-webkit-appearance:none}.gym-set-input::-webkit-inner-spin-button{-webkit-appearance:none}.gym-set-input:focus{background:#34d3990a;border-color:#34d39973}.gym-set-input.w{width:64px}.gym-set-input.r{width:50px}.gym-set-unit{font-family:var(--font-mono);color:#fff3;font-size:10px}.gym-set-sep{font-family:var(--font-mono);color:#ffffff1f;font-size:12px}.gym-set-check{cursor:pointer;color:#0000;background:0 0;border:1.5px solid #34d39940;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-left:auto;font-size:11px;transition:background .15s,border-color .15s,color .15s;display:flex}.gym-set-check:hover{color:#34d39999;border-color:#34d39999}.gym-set-check.done{color:#34d399;background:#34d39926;border-color:#34d399}.gym-history-list{flex-direction:column;gap:10px;max-width:720px;display:flex}.gym-history-session{background:#ffffff05;border:1px solid #ffffff0f;border-radius:10px;overflow:hidden}.gym-history-head{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;gap:10px;padding:12px 18px;display:flex}.gym-history-day{font-family:var(--font-display);color:#34d399;font-size:13px;font-weight:700}.gym-history-focus{font-family:var(--font-mono);color:#ffffff59;font-size:11px}.gym-history-date{font-family:var(--font-mono);color:#fff3;font-size:10px}.gym-history-body{padding:8px 0 4px}.gym-history-ex{align-items:baseline;gap:12px;padding:4px 18px;display:flex}.gym-history-ex-name{font-family:var(--font-mono);color:#ffffff6b;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;width:200px;font-size:11px;overflow:hidden}.gym-history-ex-sets{font-family:var(--font-mono);color:#ffffff3d;flex:1;font-size:10px}.gym-empty-state{font-family:var(--font-mono);color:#fff3;letter-spacing:.04em;padding:24px 0;font-size:12px}.cal-wrap{flex-direction:column;gap:20px;min-width:0;display:flex}.cal-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.cal-title{font-family:var(--font-display);background:linear-gradient(135deg, #fff 0%, var(--accent-cyan) 60%, var(--accent-blue) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800}.cal-subtitle{font-family:var(--font-mono);color:#ffffff40;letter-spacing:.1em;text-transform:uppercase;margin-top:5px;font-size:10px}.cal-nav{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cal-nav-btn{font-family:var(--font-mono);color:#ffffff73;cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:6px;padding:7px 13px;font-size:11px;transition:color .15s,border-color .15s,background .15s}.cal-nav-btn:hover{color:var(--accent-cyan);background:#00f5ff0d;border-color:#00f5ff4d}.cal-nav-btn.today{color:var(--accent-cyan);border-color:#00f5ff33}.cal-week-label{font-family:var(--font-mono);color:#ffffff59;letter-spacing:.04em;text-align:center;min-width:150px;padding:0 4px;font-size:11px}.cal-legend{background:#ffffff05;border:1px solid #ffffff0d;border-radius:8px;flex-wrap:wrap;gap:14px;padding:10px 16px;display:flex}.cal-leg{font-family:var(--font-mono);color:#ffffff52;letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:7px;font-size:10px;display:flex}.cal-leg-dot{border-radius:2px;flex-shrink:0;width:8px;height:8px}.cal-grid{gap:0;padding-bottom:8px;display:flex;overflow-x:auto}.cal-time-col{flex-shrink:0;width:52px;padding-top:54px}.cal-time-slot{height:60px;font-family:var(--font-mono);color:#ffffff2e;justify-content:flex-end;align-items:flex-start;padding-top:5px;padding-right:10px;font-size:10px;display:flex}.cal-days{flex:1;grid-template-columns:repeat(7,1fr);gap:2px;min-width:700px;display:grid}.cal-day-col{flex-direction:column;min-width:0;display:flex}.cal-day-header{background:#ffffff08;border-radius:6px 6px 0 0;flex-direction:column;justify-content:center;align-items:center;height:54px;margin-bottom:2px;padding:6px 4px;display:flex}.cal-day-header.today{background:#00f5ff0f;border-bottom:1px solid #00f5ff33}.cal-day-name{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:#ffffff61;font-size:11px;font-weight:700}.cal-day-date{font-family:var(--font-mono);color:#ffffff2e;margin-top:3px;font-size:10px}.cal-day-header.today .cal-day-name{color:var(--accent-cyan)}.cal-day-header.today .cal-day-date{color:#00f5ff80}.cal-day-body{flex:1;position:relative}.cal-slot{cursor:crosshair;border-top:1px solid #ffffff08;height:60px;transition:background .1s;position:absolute;left:0;right:0}.cal-slot:hover{background:#00f5ff08}.cal-event{cursor:pointer;z-index:1;border-left-style:solid;border-left-width:2px;border-radius:4px;padding:5px 7px;transition:filter .12s,transform .1s;position:absolute;left:2px;right:2px;overflow:hidden}.cal-event:hover{filter:brightness(1.3);z-index:2;transform:scale(1.015)}.cal-event-title{font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;line-height:1.2;overflow:hidden}.cal-event-sub{font-family:var(--font-mono);opacity:.6;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:9px;overflow:hidden}.cal-event.uni{color:#5b9cf6;background:#5b9cf626;border-color:#5b9cf6}.cal-event.gym{color:#34d399;background:#34d39926;border-color:#34d399}.cal-event.work{color:#fb923c;background:#fb923c26;border-color:#fb923c}.cal-event.social{color:#a78bfa;background:#a78bfa26;border-color:#a78bfa}.cal-event.study{color:#facc15;background:#facc1526;border-color:#facc15}.cal-event.guitar{color:#f472b6;background:#f472b626;border-color:#f472b6}.cal-event.walk{color:#64748b;background:#64748b26;border-color:#64748b}.cal-seed-banner{background:#00f5ff0a;border:1px solid #00f5ff1f;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.cal-seed-text{font-family:var(--font-mono);color:#fff6;font-size:11px}.cal-backdrop{-webkit-backdrop-filter:blur(4px);z-index:100;background:#000000a6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.cal-modal{background:#0a0a12fa;border:1px solid #00f5ff2e;border-radius:16px;width:min(480px,100%);box-shadow:0 0 60px #0009,0 0 80px #0057ff1a}.cal-modal-head{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.cal-modal-title{font-family:var(--font-display);color:#fff;font-size:1rem;font-weight:700}.cal-modal-close{color:#ffffff40;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:20px;line-height:1;transition:color .15s}.cal-modal-close:hover{color:#ffffffb3}.cal-modal-body{flex-direction:column;gap:14px;max-height:65vh;padding:20px 24px;display:flex;overflow-y:auto}.cal-modal-foot{border-top:1px solid #ffffff0f;justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}.cal-field{flex-direction:column;gap:6px;display:flex}.cal-label{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:#ffffff47;font-size:9px}.cal-input,.cal-select{font-family:var(--font-mono);color:#fff;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-size:12px;transition:border-color .15s,background .15s}.cal-input:focus,.cal-select:focus{background:#00f5ff08;border-color:#00f5ff66}.cal-select option{color:#e4e4f0;background:#0c0c14}.cal-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.cal-cats{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.cal-cat-btn{cursor:pointer;font-family:var(--font-mono);text-align:center;color:#ffffff59;letter-spacing:.03em;background:#ffffff08;border:1px solid #0000;border-radius:6px;padding:8px 4px;font-size:10px;transition:color .12s,border-color .12s,background .12s}.cal-cat-btn:hover,.cal-cat-btn.selected{background:#ffffff0f}.cal-btn{font-family:var(--font-mono);letter-spacing:.06em;cursor:pointer;border:1px solid;border-radius:7px;padding:9px 16px;font-size:11px;transition:background .15s,border-color .15s,box-shadow .15s}.cal-btn:disabled{opacity:.4;cursor:not-allowed}.cal-btn-primary{color:var(--accent-cyan);background:#00f5ff12;border-color:#00f5ff47}.cal-btn-primary:hover:not(:disabled){background:#00f5ff1f;border-color:#00f5ff80;box-shadow:0 0 20px #00f5ff26}.cal-btn-danger{color:#ff5050d9;background:#ff50500d;border-color:#ff505033;margin-right:auto}.cal-btn-danger:hover{background:#ff50501a;border-color:#ff505066}.cal-btn-ghost{color:#ffffff47;background:0 0;border-color:#ffffff14}.cal-btn-ghost:hover{color:#fff9;border-color:#ffffff26}.cal-notes{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.cal-note{background:#ffffff05;border:1px solid #ffffff0d;border-radius:10px;padding:16px 18px}.cal-note-title{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:700}.cal-note li{font-family:var(--font-mono);color:#ffffff52;margin-bottom:4px;padding-left:12px;font-size:10px;line-height:1.55;list-style:none;position:relative}.cal-note li:before{content:"·";color:#fff3;position:absolute;left:0}@media (max-width:480px){.stage{padding:12px}.glass-card{border-radius:16px;width:100%;max-width:100%;padding:28px 20px 24px}.headline{margin-bottom:4px;font-size:clamp(1.6rem,7vw,2.4rem)}.subline{margin-bottom:24px;font-size:clamp(.85rem,4vw,1rem)}.divider{margin-bottom:20px}.body-text{margin-bottom:24px;font-size:11px;line-height:1.55}.body-text br{display:none}.btn-linkedin{justify-content:center;gap:10px;width:100%;padding:16px 24px;font-size:15px}.btn-linkedin:hover{transform:scale(1)}.btn-linkedin:active{transform:scale(.98)}.li-icon{width:22px;height:22px}.btn-arrow{font-size:18px}.meta{margin-top:20px;font-size:8px}.badge{margin-bottom:20px;padding:3px 10px;font-size:8px}.corner{width:12px;height:12px}.corner-tl{top:8px;left:8px}.corner-tr{top:8px;right:8px}.corner-bl{bottom:8px;left:8px}.corner-br{bottom:8px;right:8px}}@media (max-width:768px){.portal-wrapper{flex-direction:column}.portal-page-title{font-size:clamp(1.6rem,7vw,2.4rem)}.todo-wrap{padding-bottom:40px}.work-wrap{gap:24px}.work-projects{grid-template-columns:1fr}.work-mid-row{grid-template-columns:1fr;gap:20px}.gym-wrap{gap:20px}.gym-cards{grid-template-columns:1fr;gap:10px}.gym-info-banner{grid-template-columns:1fr 1fr}.gym-workout-wrap{gap:12px}.gym-workout-actions{flex-wrap:wrap;gap:6px}.gym-set-row{gap:7px;padding:6px 12px}.gym-set-input.w{width:56px}.gym-set-input.r{width:44px}.cal-wrap{gap:14px}.cal-header{flex-direction:column;align-items:flex-start;gap:10px}.cal-legend{gap:10px;padding:8px 12px}.cal-leg{font-size:9px}.cal-grid{-webkit-overflow-scrolling:touch;overflow-x:auto}.cal-days{min-width:620px}.cal-time-col{width:40px}.cal-time-slot{padding-right:6px;font-size:9px}.cal-modal{width:min(96vw,440px);max-height:88vh;padding:20px 18px;overflow-y:auto}.login-card{width:min(96vw,400px);padding:28px 20px 24px}.cal-notes{grid-template-columns:1fr 1fr}}@media (max-width:420px){.portal-content{padding:60px 12px 36px}.work-section-title{font-size:9px}.work-project-name{font-size:13px}.work-priority-item{gap:9px;padding:9px 11px}.gym-info-banner{grid-template-columns:1fr}.gym-set-row{gap:5px;padding:5px 10px}.gym-set-input.w{width:50px;font-size:13px}.gym-set-input.r{width:40px;font-size:13px}.gym-set-num{width:30px;font-size:9px}.gym-finish-btn,.gym-cancel-btn{padding:8px 12px;font-size:10px}.cal-nav-btn{padding:6px 10px;font-size:10px}.cal-week-label{min-width:120px;font-size:10px}.todo-input{font-size:13px}.cal-notes{grid-template-columns:1fr}.portal-page-title{font-size:clamp(1.4rem,8vw,2rem)}}:root{--hp-bg1:#0d1117;--hp-bg2:#0a1020}.hp-loading{z-index:10;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;inset:0}.hp-loading-dot{background:var(--accent-cyan);border-radius:50%;width:12px;height:12px;animation:1s ease-in-out infinite alternate hpPulse}@keyframes hpPulse{0%{opacity:.3;transform:scale(.8)}to{opacity:1;transform:scale(1.2)}}.hp-reveal{opacity:0;transition:opacity .55s,transform .55s;transform:translateY(24px)}.hp-reveal.revealed{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.hp-reveal{opacity:1;transition:none;transform:none}}.a11y-reduce-motion .hp-reveal{opacity:1!important;transition:none!important;transform:none!important}.hp-nav{z-index:100;-webkit-backdrop-filter:blur(16px);background:#030711b3;border-bottom:1px solid #ffffff12;position:fixed;top:0;left:0;right:0}.hp-nav-inner{pointer-events:all;align-items:center;gap:24px;max-width:1200px;height:60px;margin:0 auto;padding:0 24px;display:flex}.hp-nav-brand{cursor:pointer;font-family:var(--font-display);color:#fff;letter-spacing:.02em;background:0 0;border:none;flex-shrink:0;font-size:1.05rem;font-weight:800}.hp-nav-links{flex:1;justify-content:center;gap:4px;display:flex}.hp-nav-link{cursor:pointer;font-family:var(--font-mono);color:#fff9;background:0 0;border:none;border-radius:6px;padding:6px 12px;font-size:.78rem;text-decoration:none;transition:color .2s,background .2s;display:inline-block}.hp-nav-link:hover{color:var(--accent-cyan);background:#00f5ff12}.hp-nav-right{flex-shrink:0;align-items:center;gap:12px;display:flex}.hp-nav-matrix{font-family:var(--font-mono);color:var(--accent-cyan);border:1px solid #00f5ff4d;border-radius:6px;padding:5px 12px;font-size:.78rem;text-decoration:none;transition:background .2s,border-color .2s}.hp-nav-matrix:hover{background:#00f5ff14;border-color:#00f5ff99}.hp-nav-toggle{cursor:pointer;color:#ffffffb3;background:0 0;border:none;padding:4px 8px;font-size:1.4rem;display:none}.hp-nav-mobile{pointer-events:all;background:#030711e6;border-top:1px solid #ffffff0f;flex-direction:column;padding:12px 24px 16px;display:none}.hp-nav-mobile .hp-nav-link{text-align:left;padding:10px 0}.hp-hero{background:var(--bg-dark);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hp-hero .grid-overlay{z-index:0;position:absolute;inset:0}.hp-hero-inner{z-index:1;align-items:center;gap:64px;width:100%;max-width:1100px;margin:0 auto;padding:100px 32px 60px;display:flex;position:relative}.hp-hero-text{flex:1;min-width:0}.hp-hero-subtitle{font-family:var(--font-mono);color:var(--accent-cyan);letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;font-size:.8rem}.hp-hero-name{font-family:var(--font-display);background:linear-gradient(135deg,#fff 0%,#ffffffb3 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:clamp(2.4rem,6vw,4rem);font-weight:800;line-height:1.05}.hp-hero-headline{font-family:var(--font-display);color:var(--accent-blue);margin-bottom:20px;font-size:clamp(1.1rem,2.5vw,1.6rem);font-weight:700}.hp-hero-intro{font-family:var(--font-display);color:#fff9;max-width:500px;margin-bottom:32px;font-size:1rem;line-height:1.7}.hp-hero-ctas{flex-wrap:wrap;gap:12px;display:flex}.hp-cta-primary{font-family:var(--font-mono);background:linear-gradient(135deg, var(--accent-blue), var(--accent-purple));color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px 28px;font-size:.85rem;text-decoration:none;transition:opacity .2s,transform .2s;display:inline-block}.hp-cta-primary:hover{opacity:.85;transform:translateY(-1px)}.hp-cta-ghost{font-family:var(--font-mono);color:#ffffffbf;cursor:pointer;background:0 0;border:1px solid #ffffff40;border-radius:8px;padding:12px 28px;font-size:.85rem;text-decoration:none;transition:border-color .2s,color .2s,transform .2s;display:inline-block}.hp-cta-ghost:hover{border-color:var(--accent-cyan);color:var(--accent-cyan);transform:translateY(-1px)}.hp-hero-image-wrap{flex-shrink:0}.hp-hero-img-ring{background:linear-gradient(135deg, var(--accent-blue), var(--accent-purple));border-radius:50%;justify-content:center;align-items:center;width:260px;height:260px;padding:3px;display:flex}.hp-hero-img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.hp-hero-avatar{background:var(--bg-dark);width:100%;height:100%;font-family:var(--font-display);color:var(--accent-cyan);letter-spacing:.05em;border-radius:50%;justify-content:center;align-items:center;font-size:2.5rem;font-weight:800;display:flex}.hp-scroll-hint{font-family:var(--font-mono);color:#ffffff4d;cursor:pointer;z-index:1;background:0 0;border:none;padding:8px;font-size:1.2rem;animation:2s ease-in-out infinite hpBounce;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}@keyframes hpBounce{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(6px)}}.hp-section{background:var(--hp-bg1);padding:80px 0}.hp-section--alt{background:var(--hp-bg2)}.hp-section-inner{max-width:1100px;margin:0 auto;padding:0 32px}.hp-section-label{font-family:var(--font-mono);color:var(--accent-cyan);letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px;font-size:.72rem}.hp-section-title{font-family:var(--font-display);color:#fff;margin-bottom:40px;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:800}.hp-about-text{max-width:720px}.hp-about-text p{color:#ffffffb3;margin-bottom:16px;font-size:1.02rem;line-height:1.8}.hp-about-text p:last-child{margin-bottom:0}.hp-projects-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.hp-project-card{background:#ffffff08;border:1px solid #ffffff12;border-radius:12px;transition:border-color .2s,transform .2s;overflow:hidden}.hp-project-card:hover{border-color:#00f5ff40;transform:translateY(-2px)}.hp-project-card.featured{border-color:#7b2fff59}.hp-project-img-wrap{width:100%;height:180px;overflow:hidden}.hp-project-img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.hp-project-card:hover .hp-project-img{transform:scale(1.04)}.hp-project-body{padding:20px}.hp-project-head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.hp-project-title{font-family:var(--font-display);color:#fff;font-size:1rem;font-weight:700}.hp-project-featured{font-family:var(--font-mono);color:var(--accent-purple);border:1px solid #7b2fff66;border-radius:4px;padding:2px 7px;font-size:.65rem}.hp-project-desc{color:#ffffff8c;margin-bottom:14px;font-size:.88rem;line-height:1.6}.hp-project-tags{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.hp-tag{font-family:var(--font-mono);color:var(--accent-cyan);background:#00f5ff14;border:1px solid #00f5ff33;border-radius:4px;padding:3px 8px;font-size:.68rem}.hp-project-link{font-family:var(--font-mono);color:var(--accent-blue);font-size:.78rem;text-decoration:none;transition:color .2s}.hp-project-link:hover{color:var(--accent-cyan)}.hp-exp-cols{grid-template-columns:repeat(2,1fr);gap:48px;display:grid}.hp-exp-col-title{font-family:var(--font-mono);color:#fff6;letter-spacing:.1em;text-transform:uppercase;margin-bottom:24px;font-size:.78rem}.hp-timeline{border-left:1px solid #ffffff1a;padding-left:20px;position:relative}.hp-timeline-item{margin-bottom:32px;position:relative}.hp-timeline-item:last-child{margin-bottom:0}.hp-timeline-dot{background:var(--accent-blue);border:2px solid var(--bg-dark);border-radius:50%;width:10px;height:10px;position:absolute;top:5px;left:-26px;box-shadow:0 0 8px #0057ff80}.hp-timeline-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px;display:flex}.hp-timeline-title{font-family:var(--font-display);color:#fff;font-size:.95rem;font-weight:700}.hp-timeline-period{font-family:var(--font-mono);color:#ffffff59;white-space:nowrap;font-size:.7rem}.hp-timeline-org{color:var(--accent-cyan);margin-bottom:6px;font-size:.85rem}.hp-timeline-desc{color:#ffffff80;font-size:.85rem;line-height:1.6}.hp-gallery{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.hp-gallery-item{cursor:pointer;background:#ffffff08;border:1px solid #ffffff0f;border-radius:10px;transition:transform .2s,border-color .2s;position:relative;overflow:hidden}.hp-gallery-item:hover{border-color:#00f5ff33;transform:scale(1.02)}.hp-gallery-img{object-fit:cover;width:100%;height:200px;display:block}.hp-gallery-caption{color:#ffffff80;font-size:.78rem;font-family:var(--font-mono);padding:8px 12px}.hp-lightbox{z-index:200;cursor:pointer;background:#000000e6;flex-direction:column;justify-content:center;align-items:center;padding:32px;display:flex;position:fixed;inset:0}.hp-lightbox-img{object-fit:contain;cursor:default;border-radius:8px;max-width:90vw;max-height:80vh;box-shadow:0 0 60px #000c}.hp-lightbox-close{color:#fff9;cursor:pointer;background:0 0;border:none;font-size:1.4rem;transition:color .2s;position:absolute;top:20px;right:24px}.hp-lightbox-close:hover{color:#fff}.hp-lightbox-caption{font-family:var(--font-mono);color:#ffffff80;cursor:default;margin-top:16px;font-size:.82rem}.hp-contact-inner{justify-content:center;display:flex}.hp-contact-links{flex-direction:column;align-items:flex-start;gap:16px;display:flex}.hp-contact-link{font-family:var(--font-mono);color:#ffffffb3;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:14px;min-width:260px;padding:12px 20px;font-size:.95rem;text-decoration:none;transition:border-color .2s,color .2s,background .2s;display:flex}.hp-contact-link:hover{color:var(--accent-cyan);background:#00f5ff0a;border-color:#00f5ff59}.hp-contact-icon{width:28px;height:28px;font-size:.8rem;font-family:var(--font-display);color:var(--accent-cyan);background:#ffffff12;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.hp-footer{background:var(--bg-dark);border-top:1px solid #ffffff0d;padding:24px 0}.hp-footer-inner{max-width:1100px;font-family:var(--font-mono);color:#ffffff40;justify-content:space-between;align-items:center;margin:0 auto;padding:0 32px;font-size:.78rem;display:flex}@media (max-width:768px){.hp-nav-links{display:none}.hp-nav-toggle,.hp-nav-mobile{display:flex}.hp-nav-matrix{display:none}.hp-hero-inner{text-align:center;flex-direction:column-reverse;align-items:center;gap:32px;padding:90px 20px 50px}.hp-hero-img-ring{width:180px;height:180px}.hp-hero-intro{max-width:100%}.hp-hero-ctas{justify-content:center}.hp-projects-grid{grid-template-columns:1fr}.hp-exp-cols{grid-template-columns:1fr;gap:32px}.hp-gallery{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.hp-section-inner{padding:0 16px}.hp-section{padding:56px 0}.hp-contact-links,.hp-contact-link{width:100%;min-width:0}}.lotr-ring-btn{cursor:pointer;opacity:.18;background:0 0;border:none;border-radius:50%;flex-shrink:0;padding:4px;line-height:0;transition:opacity .5s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1)}.lotr-ring-svg{will-change:filter;width:22px;height:22px;transition:filter .5s cubic-bezier(.4,0,.2,1);display:block}.lotr-ring-btn:hover{opacity:1;transform:scale(1.2)}.lotr-ring-btn:hover .lotr-ring-svg{filter:drop-shadow(0 0 4px #f0c83cf2)drop-shadow(0 0 12px #c9a84c8c)}.lotr-ring-btn.active{opacity:1}.lotr-ring-btn.active .lotr-ring-svg{animation:3.2s ease-in-out infinite lotr-ring-breathe}@keyframes lotr-ring-breathe{0%,to{filter:drop-shadow(0 0 4px #f0c83cd9)drop-shadow(0 0 14px #c9a84c73)drop-shadow(0 0 28px #b48c2833)}50%{filter:drop-shadow(0 0 10px #ffe450)drop-shadow(0 0 28px #f0b937cc)drop-shadow(0 0 55px #c9a84c73)}}.lotr-quote-banner{text-align:center;opacity:0;pointer-events:none;background:linear-gradient(135deg,#0c0600fa 0%,#140a02fa 100%);border-top:1px solid #c9a84c33;border-bottom:1px solid #c9a84c33;max-height:0;padding:0 32px;transition:max-height .55s,opacity .4s,padding .55s;position:relative;overflow:hidden}.lotr-mode .lotr-quote-banner{opacity:1;pointer-events:auto;max-height:400px;padding:36px 32px 28px}.lotr-quote-banner:before{content:"";pointer-events:none;background:radial-gradient(at 50% 0,#c9a84c0f 0%,#0000 65%);position:absolute;inset:0}.lotr-quote-banner-inner{flex-direction:column;align-items:center;gap:10px;max-width:680px;margin:0 auto;transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1);animation:.7s cubic-bezier(.16,1,.3,1) both lotr-quote-enter;display:flex}.lotr-quote-banner-inner.lotr-quote-fade-out{opacity:0;transform:translateY(-6px)}@keyframes lotr-quote-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.lotr-quote-banner-mark{color:#c9a84c59;font-family:Cinzel,Georgia,serif;font-size:2rem;line-height:1;display:block}.lotr-quote-banner-text{color:#e8d5a3;text-shadow:0 0 30px #c9a84c26;margin:0;font-family:IM Fell English,Georgia,serif;font-size:1.08rem;font-style:italic;line-height:1.75}.lotr-quote-banner-meta{flex-direction:column;align-items:center;gap:3px;margin-top:4px;display:flex}.lotr-quote-banner-author{color:#c9a84ccc;letter-spacing:.15em;text-transform:uppercase;font-family:Cinzel,Georgia,serif;font-size:.73rem}.lotr-quote-banner-source{font-family:var(--font-mono);color:#c9a84c59;letter-spacing:.05em;font-size:.65rem}.lotr-quote-dots{justify-content:center;gap:7px;margin-top:18px;display:flex}.lotr-quote-dot{cursor:pointer;background:#c9a84c40;border:none;border-radius:50%;width:6px;height:6px;padding:0;transition:background .3s,transform .2s}.lotr-quote-dot.active{background:#c9a84c;transform:scale(1.3)}.lotr-quote-dot:hover{background:#c9a84c99}.lotr-bg{z-index:2;pointer-events:none;position:fixed;inset:0;overflow:hidden}.lotr-bg:before{content:"";background:radial-gradient(at 25% 100%,#ff460038 0%,#0000 48%),radial-gradient(at 75% 100%,#c828002e 0%,#0000 45%),radial-gradient(at 50% 100%,#ff6e0024 0%,#0000 55%);height:65%;animation:5s ease-in-out infinite lotr-fire-breathe;position:absolute;bottom:-15%;left:-5%;right:-5%}.lotr-bg:after{content:"";filter:blur(38px);transform-origin:top;will-change:transform, opacity;background:linear-gradient(#0000 0%,#ff5a000a 15%,#ff460017 40%,#ff3c001c 50%,#ff460012 65%,#ff5a0008 85%,#0000 100%);width:160px;height:110%;animation:8s ease-in-out infinite lotr-eye-flicker;position:absolute;top:-5%;left:50%}@keyframes lotr-fire-breathe{0%{opacity:.72;transform:scaleY(1)}35%{opacity:1;transform:scaleY(1.09)}65%{opacity:.82;transform:scaleY(.97)}to{opacity:.72;transform:scaleY(1)}}@keyframes lotr-eye-flicker{0%,to{opacity:.45;transform:translate(-50%)scaleX(.72)}20%{opacity:.85;transform:translate(-50%)scaleX(1.1)}45%{opacity:.55;transform:translate(-50%)scaleX(.85)}70%{opacity:.95;transform:translate(-50%)scaleX(1.25)}88%{opacity:.6;transform:translate(-50%)scaleX(.9)}}.lotr-ember{will-change:transform, opacity;background:radial-gradient(circle at 35% 30%,#ffee80,#f70 40%,#ff280059 70%,#0000);border-radius:50%;animation:cubic-bezier(.25,.46,.45,.94) infinite lotr-ember-rise;position:absolute;bottom:-8px}@keyframes lotr-ember-rise{0%{opacity:.9;transform:translateY(0)translate(0)scale(1)}15%{opacity:.78;transform:translateY(-15vh)translate(6px)scale(.88)}40%{opacity:.52;transform:translateY(-42vh)translate(-5px)scale(.62)}68%{opacity:.22;transform:translateY(-72vh)translate(7px)scale(.36)}to{opacity:0;transform:translateY(-108vh)translate(-2px)scale(.1)}}.lotr-mode{--accent-cyan:#c9a84c;--accent-blue:#a07820;--accent-purple:#6b3010;--bg-dark:#060200}.lotr-mode .hp-nav,.lotr-mode .hp-hero,.lotr-mode .hp-section,.lotr-mode .hp-section--alt,.lotr-mode .hp-footer,.lotr-mode .hp-project-card,.lotr-mode .hp-timeline-dot,.lotr-mode .hp-contact-link{transition:background .6s cubic-bezier(.4,0,.2,1),border-color .6s cubic-bezier(.4,0,.2,1),color .5s cubic-bezier(.4,0,.2,1),box-shadow .6s cubic-bezier(.4,0,.2,1)}.lotr-mode .hp-nav{background:#060200f7;border-bottom:1px solid #c9a84c33}.lotr-mode .hp-nav-brand{color:#c9a84c;letter-spacing:.08em;font-family:Cinzel,Georgia,serif}.lotr-mode .hp-nav-link{color:#c9a84cbf}.lotr-mode .hp-nav-link:hover{color:#c9a84c}.lotr-mode .hp-nav-matrix{color:#c9a84c;border-color:#c9a84c4d}.lotr-mode .hp-nav-mobile{background:#060200fa;border-bottom:1px solid #c9a84c26}.lotr-mode .hp-hero{background:radial-gradient(at 30% 120%,#ff460047 0%,#0000 42%),radial-gradient(at 70% 120%,#c8280038 0%,#0000 40%),radial-gradient(at 50% 115%,#ff6e0026 0%,#0000 50%),radial-gradient(at 50% 0,#64140080 0%,#0000 55%),linear-gradient(#0c0300 0%,#060200 40%,#080200 100%)}.lotr-mode .hp-hero:before{content:"";filter:blur(55px);z-index:0;pointer-events:none;transform-origin:top;will-change:transform, opacity;background:linear-gradient(#ff64000f 0%,#ff50001a 35%,#ff460021 50%,#ff500014 70%,#0000 100%);width:280px;height:100%;animation:8s ease-in-out -3.5s infinite lotr-eye-flicker;position:absolute;top:0;left:50%}.lotr-mode .hp-hero:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(at 20% 100%,#ff3c0038 0%,#0000 50%),radial-gradient(at 80% 100%,#c823002e 0%,#0000 48%),radial-gradient(at 50% 100%,#ff64001f 0%,#0000 55%);height:45%;animation:5s ease-in-out infinite lotr-fire-breathe;position:absolute;bottom:0;left:0;right:0}.lotr-mode .orb1{filter:blur(110px);background:radial-gradient(circle,#ff5a008c 0%,#b41e0040 50%,#0000 70%);width:700px;height:700px}.lotr-mode .orb2{filter:blur(100px);background:radial-gradient(circle,#d2370080 0%,#82140038 50%,#0000 70%);width:580px;height:580px}.lotr-mode .orb3{filter:blur(90px);background:radial-gradient(circle,#ff820061 0%,#b43c002e 50%,#0000 70%)}.lotr-mode .hp-hero-subtitle{color:#c9a84c99;letter-spacing:.2em;font-family:Cinzel,Georgia,serif}.lotr-mode .hp-hero-name{background:linear-gradient(135deg,#f5e070 0%,#c9a84c 40%,#8b6310 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:Cinzel,Georgia,serif}.lotr-mode .hp-hero-headline{color:#c9a84cd9;font-family:Cinzel,Georgia,serif}.lotr-mode .hp-hero-intro{color:#c8b88a;font-family:IM Fell English,Georgia,serif;font-style:italic}.lotr-mode .hp-cta-primary{color:#060200;background:linear-gradient(135deg,#c9a84c,#8b6310);border:none}.lotr-mode .hp-cta-primary:hover{background:linear-gradient(135deg,#f5e070,#c9a84c);box-shadow:0 0 24px #c9a84c66}.lotr-mode .hp-cta-ghost{color:#c9a84c;border-color:#c9a84c66}.lotr-mode .hp-cta-ghost:hover{background:#c9a84c1a;border-color:#c9a84ccc}.lotr-mode .hp-hero-img-ring{border-color:#c9a84c80;box-shadow:0 0 0 1px #c9a84c33,0 0 30px #c9a84c33,inset 0 0 20px #c9a84c0d}.lotr-mode .hp-scroll-hint{color:#c9a84c66}.lotr-mode .hp-section,.lotr-mode .hp-section--alt{position:relative;overflow:hidden}.lotr-mode .hp-section{background:radial-gradient(at 50% 105%,#b432001a 0%,#0000 55%),repeating-linear-gradient(0deg,#0000,#0000 62px,#c9a84c05 62px 63px),repeating-linear-gradient(90deg,#0000,#0000 80px,#c9a84c03 80px 81px),#060200}.lotr-mode .hp-section--alt{background:radial-gradient(at 50% 105%,#a0280014 0%,#0000 50%),repeating-linear-gradient(0deg,#0000,#0000 62px,#c9a84c04 62px 63px),repeating-linear-gradient(90deg,#0000,#0000 80px,#c9a84c03 80px 81px),#080301}.lotr-mode .hp-section:after,.lotr-mode .hp-section--alt:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0%,#ff460040 20%,#ff6e0080 50%,#ff460040 80%,#0000 100%);height:1px;position:absolute;top:0;left:0;right:0}.lotr-mode .hp-section:before,.lotr-mode .hp-section--alt:before{content:"";pointer-events:none;background:radial-gradient(at 50% 100%,#c8370017 0%,#0000 65%);height:50%;animation:6s ease-in-out infinite lotr-fire-breathe;position:absolute;bottom:-30%;left:10%;right:10%}.lotr-mode .hp-section-inner{z-index:1;position:relative}.lotr-mode .hp-section-label{color:#c9a84c80;letter-spacing:.25em;font-family:Cinzel,Georgia,serif}.lotr-mode .hp-section-title{color:#d4b04a;font-family:Cinzel,Georgia,serif}.lotr-mode .hp-about-text p{color:#c8b48a;font-family:IM Fell English,Georgia,serif;font-size:1.05rem;font-style:italic;line-height:1.85}.lotr-mode .hp-project-card{background:#c9a84c08;border-color:#c9a84c26}.lotr-mode .hp-project-card:hover,.lotr-mode .hp-project-card.featured{border-color:#c9a84c66;box-shadow:0 4px 32px #c9a84c1a}.lotr-mode .hp-project-title{color:#d4b04a;font-family:Cinzel,Georgia,serif}.lotr-mode .hp-project-featured{color:#c9a84c;background:#c9a84c26;border-color:#c9a84c4d}.lotr-mode .hp-project-desc{color:#b8a070;font-family:IM Fell English,Georgia,serif;font-style:italic}.lotr-mode .hp-tag{color:#c9a84ccc;background:#c9a84c14;border-color:#c9a84c33}.lotr-mode .hp-project-link{color:#c9a84c}.lotr-mode .hp-project-link:hover{color:#f5e070}.lotr-mode .hp-exp-col-title{color:#c9a84c99;font-family:Cinzel,Georgia,serif}.lotr-mode .hp-timeline:before{background:#c9a84c33}.lotr-mode .hp-timeline-dot{background:#c9a84c;border-color:#060200;box-shadow:0 0 10px #c9a84c99}.lotr-mode .hp-timeline-title{color:#d4b04a;font-family:Cinzel,Georgia,serif}.lotr-mode .hp-timeline-period{color:#c9a84c80}.lotr-mode .hp-timeline-org{color:#c9a84cb3}.lotr-mode .hp-timeline-desc{color:#a89060;font-family:IM Fell English,Georgia,serif;font-style:italic}.lotr-mode .hp-gallery-item{border-color:#c9a84c26}.lotr-mode .hp-gallery-item:hover{border-color:#c9a84c80;box-shadow:0 4px 20px #c9a84c26}.lotr-mode .hp-gallery-caption{color:#c9a84ca6;font-family:IM Fell English,Georgia,serif;font-style:italic}.lotr-mode .hp-contact-link{color:#c9a84c;border-color:#c9a84c33}.lotr-mode .hp-contact-link:hover{color:#f0c84a;background:#c9a84c12;border-color:#c9a84c99}.lotr-mode .hp-contact-icon{color:#c9a84c;border-color:#c9a84c4d}.lotr-mode .grid-overlay{opacity:.7;background-image:linear-gradient(#ff50000d 1px,#0000 1px),linear-gradient(90deg,#ff50000d 1px,#0000 1px);background-size:44px 44px}.lotr-mode .hp-footer{background:radial-gradient(at 50% 100%,#ff3c001a 0%,#0000 60%),#040100;border-top-color:#ff500033;position:relative}.lotr-mode .hp-footer-inner{color:#c9a84c59;letter-spacing:.06em;font-family:Cinzel,Georgia,serif}.lotr-mode .hp-footer:before{content:"";background:linear-gradient(90deg,#0000,#ff50004d 30%,#ff78008c 50%,#ff50004d 70%,#0000);height:1px;position:absolute;top:0;left:0;right:0}@media (max-width:768px){.lotr-mode .lotr-quote-banner{padding:28px 20px 22px}.lotr-quote-banner-text{font-size:.95rem}}.mgmt-wrap{max-width:860px;padding:32px 24px}.mgmt-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.mgmt-title{font-family:var(--font-display);color:#fff;font-size:1.5rem;font-weight:800}.mgmt-live-btn{font-family:var(--font-mono);color:var(--accent-cyan);border:1px solid #00f5ff4d;border-radius:6px;padding:6px 14px;font-size:.78rem;text-decoration:none;transition:background .2s,border-color .2s}.mgmt-live-btn:hover{background:#00f5ff12;border-color:#00f5ff99}.mgmt-tabs{border-bottom:1px solid #ffffff14;flex-wrap:wrap;gap:4px;margin-bottom:28px;padding-bottom:0;display:flex}.mgmt-tab{font-family:var(--font-mono);color:#ffffff80;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 16px;font-size:.78rem;transition:color .2s,border-color .2s}.mgmt-tab:hover{color:#fffc}.mgmt-tab.active{color:var(--accent-cyan);border-bottom-color:var(--accent-cyan)}.mgmt-section{padding:4px 0}.mgmt-section-title{font-family:var(--font-display);color:#fffc;margin-bottom:20px;font-size:1.1rem;font-weight:700}.mgmt-field{margin-bottom:16px}.mgmt-label{font-family:var(--font-mono);color:#fff6;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:.72rem;display:block}.mgmt-input{width:100%;font-family:var(--font-mono);color:#fff;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:7px;outline:none;padding:9px 12px;font-size:.88rem;transition:border-color .2s,background .2s}.mgmt-input:focus{background:#00f5ff08;border-color:#00f5ff66}.mgmt-textarea{width:100%;font-family:var(--font-mono);color:#fff;resize:vertical;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:7px;outline:none;padding:10px 12px;font-size:.85rem;line-height:1.65;transition:border-color .2s,background .2s}.mgmt-textarea:focus{background:#00f5ff08;border-color:#00f5ff66}.mgmt-row{align-items:center;gap:12px;display:flex}.mgmt-row--between{justify-content:space-between}.mgmt-save-btn{font-family:var(--font-mono);background:linear-gradient(135deg, var(--accent-blue), var(--accent-purple));color:#fff;cursor:pointer;border:none;border-radius:7px;margin-top:8px;padding:10px 24px;font-size:.82rem;transition:opacity .2s,transform .15s}.mgmt-save-btn:hover{opacity:.85;transform:translateY(-1px)}.mgmt-save-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.mgmt-save-btn.saved{background:linear-gradient(135deg,#22c55e,#16a34a)}.mgmt-upload-btn{font-family:var(--font-mono);color:#ffffffb3;cursor:pointer;white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:7px;padding:8px 16px;font-size:.78rem;transition:background .2s,border-color .2s}.mgmt-upload-btn:hover{background:#00f5ff12;border-color:#00f5ff4d}.mgmt-upload-preview{object-fit:cover;border:1px solid #ffffff1a;border-radius:7px;width:52px;height:52px}.mgmt-add-btn{font-family:var(--font-mono);color:var(--accent-cyan);cursor:pointer;white-space:nowrap;background:#00f5ff12;border:1px solid #00f5ff40;border-radius:7px;padding:7px 14px;font-size:.78rem;transition:background .2s,border-color .2s}.mgmt-add-btn:hover{background:#00f5ff21;border-color:#00f5ff80}.mgmt-link{font-family:var(--font-mono);color:var(--accent-blue);font-size:.78rem;text-decoration:none}.mgmt-link:hover{color:var(--accent-cyan)}.mgmt-list{margin-top:12px}.mgmt-list-item{background:#ffffff05;border:1px solid #ffffff0f;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding:10px 14px;display:flex}.mgmt-item-title{font-family:var(--font-mono);color:#ffffffbf;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.82rem;overflow:hidden}.mgmt-item-actions{flex-shrink:0;gap:8px;display:flex}.mgmt-item-actions button{font-family:var(--font-mono);color:#ffffff8c;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:5px;padding:4px 10px;font-size:.72rem;transition:background .15s,color .15s}.mgmt-item-actions button:hover{color:#ff5757;background:#ff57571a;border-color:#ff57574d}.mgmt-item-actions button:first-child:hover{color:var(--accent-cyan);background:#00f5ff14;border-color:#00f5ff4d}.mgmt-toggle-row{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:12px 0;display:flex}.mgmt-toggle-label{font-family:var(--font-mono);color:#ffffffb3;font-size:.85rem}.mgmt-toggle{font-family:var(--font-mono);color:#fff6;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff26;border-radius:20px;padding:5px 14px;font-size:.72rem;transition:background .2s,border-color .2s,color .2s}.mgmt-toggle.on{color:var(--accent-cyan);background:#00f5ff1a;border-color:#00f5ff66}.mgmt-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-top:16px;display:grid}.mgmt-gallery-item{border:1px solid #ffffff14;border-radius:8px;position:relative;overflow:hidden}.mgmt-gallery-item img{object-fit:cover;width:100%;height:130px;display:block}.mgmt-gallery-item .mgmt-input{border:none;border-top:1px solid #ffffff0f;border-radius:0;padding:6px 8px;font-size:.72rem}.mgmt-gallery-del{color:#ffffffb3;cursor:pointer;background:#000000a6;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.7rem;transition:background .2s,color .2s;display:flex;position:absolute;top:6px;right:6px}.mgmt-gallery-del:hover{color:#fff;background:#ff5757cc}.mgmt-empty{font-family:var(--font-mono);color:#ffffff40;padding:16px 0;font-size:.82rem}.studies-folders{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-top:4px;display:grid}.studies-folder-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-top:2px solid var(--folder-color,#ffffff2e);cursor:pointer;text-align:left;border-radius:14px;flex-direction:column;align-items:flex-start;gap:10px;padding:24px 20px 20px;transition:background .2s,transform .2s,box-shadow .2s;display:flex}.studies-folder-card:not(:disabled):hover{background:#ffffff12;transform:translateY(-3px);box-shadow:0 8px 24px #0000004d}.studies-folder-card:disabled{opacity:.45;cursor:not-allowed}.studies-folder-icon{font-size:30px;line-height:1}.studies-folder-label{font-family:var(--font-display);color:#fff;font-size:15px;font-weight:700}.studies-folder-status{font-family:var(--font-mono);letter-spacing:.08em;font-size:10px}.sys1-wrap{flex-direction:column;gap:0;max-width:820px;display:flex}.sys1-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.sys1-back-btn{font-family:var(--font-mono);letter-spacing:.08em;color:var(--accent-cyan);cursor:pointer;background:0 0;border:1px solid #00f5ff40;border-radius:8px;padding:6px 14px;font-size:12px;transition:background .15s,border-color .15s}.sys1-back-btn:hover{background:#00f5ff14;border-color:#00f5ff80}.sys1-progress-dots{align-items:center;gap:5px;display:flex}.sys1-dot{border-radius:4px;height:7px;transition:all .3s}.sys1-module-title-row{margin-bottom:20px}.sys1-module-label{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:#00f5ff80;margin-bottom:6px;font-size:10px;display:block}.sys1-module-title{font-family:var(--font-display);background:linear-gradient(135deg, #fff 0%, var(--accent-cyan) 60%, var(--accent-blue) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(1.4rem,3vw,2rem);font-weight:800;line-height:1.15}.sys1-module-nav{gap:6px;margin-bottom:16px;padding-bottom:4px;display:flex;overflow-x:auto}.sys1-module-nav::-webkit-scrollbar{height:4px}.sys1-module-btn{white-space:nowrap;color:#fff6;font-family:var(--font-mono);cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;padding:6px 14px;font-size:12px;transition:all .15s;display:flex}.sys1-module-btn:hover{color:#ffffffb3;background:#ffffff0d}.sys1-module-btn.active{color:var(--accent-cyan);background:#00f5ff1a;border-color:#00f5ff59}.sys1-section-tabs{flex-wrap:wrap;gap:6px;margin-bottom:20px;padding-bottom:4px;display:flex;overflow-x:auto}.sys1-section-tab{color:#ffffff61;font-family:var(--font-mono);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #ffffff1a;border-radius:20px;padding:5px 14px;font-size:11px;transition:all .15s}.sys1-section-tab:hover{color:#ffffffa6;border-color:#fff3}.sys1-section-tab.active{color:var(--accent-cyan);background:#00f5ff1a;border-color:#00f5ff59}.sys1-content{background:#ffffff05;border:1px solid #ffffff12;border-radius:14px;min-height:200px;margin-bottom:20px;padding:28px 32px}.sys1-section-title{font-family:var(--font-display);color:var(--accent-cyan);border-bottom:1px solid #ffffff12;margin-bottom:18px;padding-bottom:12px;font-size:18px;font-weight:700}.sys1-section-body{font-family:var(--font-mono);font-size:13.5px}.sys1-exercises-sub{font-family:var(--font-mono);color:#ffffff59;letter-spacing:.03em;margin-bottom:20px;font-size:12px}.sys1-nav-bar{border-top:1px solid #ffffff12;justify-content:space-between;align-items:center;padding:12px 0 4px;display:flex}.sys1-nav-btn{font-family:var(--font-mono);cursor:pointer;color:#ffffffb3;background:0 0;border:1px solid #ffffff26;border-radius:8px;padding:8px 22px;font-size:13px;transition:all .15s}.sys1-nav-btn:hover:not(:disabled){background:#ffffff0f;border-color:#ffffff4d}.sys1-nav-btn:disabled,.sys1-nav-btn.disabled{opacity:.25;cursor:not-allowed}.sys1-nav-next{background:var(--accent-cyan);color:#030711;border-color:var(--accent-cyan);font-weight:700}.sys1-nav-next:hover:not(:disabled):not(.disabled){background:#33f8ff;border-color:#33f8ff}.sys1-nav-step{font-family:var(--font-mono);color:#ffffff4d;letter-spacing:.1em;font-size:12px}@media (max-width:600px){.sys1-content{padding:20px 16px}.sys1-section-title{font-size:15px}.sys1-section-body{font-size:13px}.studies-folders{grid-template-columns:1fr 1fr}}.cookie-banner{z-index:9999;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);background:#030711eb;border-radius:16px;width:min(720px,100vw - 32px);padding:20px 24px;animation:.35s cubic-bezier(.16,1,.3,1) both cookie-slide-up;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 40px #0009,0 0 0 1px #00f5ff0f}@keyframes cookie-slide-up{0%{opacity:0;transform:translate(-50%)translateY(16px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.cookie-banner__content{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.cookie-banner__text{flex:1;min-width:200px}.cookie-banner__title{font-family:var(--font-display);color:#fff;letter-spacing:.02em;margin-bottom:4px;font-size:15px;font-weight:700}.cookie-banner__desc{font-family:var(--font-mono);color:#ffffff8c;font-size:12px;line-height:1.6}.cookie-banner__actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;display:flex}.cookie-btn{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:9px 18px;font-size:12px;font-weight:700;transition:opacity .15s,transform .1s}.cookie-btn:active{transform:scale(.97)}.cookie-btn--primary{background:linear-gradient(135deg, var(--accent-cyan), var(--accent-blue));color:#000}.cookie-btn--primary:hover{opacity:.88}.cookie-btn--secondary{color:#ffffffb3;border:1px solid var(--glass-border);background:#ffffff14}.cookie-btn--secondary:hover{color:#fff;background:#ffffff21}.cookie-btn--ghost{color:var(--accent-cyan);background:0 0;border:1px solid #00f5ff4d}.cookie-btn--ghost:hover{background:#00f5ff12}.cookie-overlay{z-index:10000;-webkit-backdrop-filter:blur(6px);background:#030711bf;justify-content:center;align-items:center;padding:16px;animation:.2s both cookie-fade-in;display:flex;position:fixed;inset:0}@keyframes cookie-fade-in{0%{opacity:0}to{opacity:1}}.cookie-modal{border:1px solid var(--glass-border);background:#030711f7;border-radius:20px;width:min(500px,100%);padding:32px 28px 24px;animation:.3s cubic-bezier(.16,1,.3,1) both cookie-modal-in;position:relative;box-shadow:0 24px 80px #000000b3,0 0 0 1px #00f5ff14}@keyframes cookie-modal-in{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.cookie-modal__close{color:#ffffff80;cursor:pointer;background:#ffffff12;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;line-height:1;transition:background .15s,color .15s;display:flex;position:absolute;top:16px;right:16px}.cookie-modal__close:hover{color:#fff;background:#ffffff24}.cookie-modal__title{font-family:var(--font-display);color:#fff;letter-spacing:.01em;margin-bottom:8px;font-size:20px;font-weight:800}.cookie-modal__desc{font-family:var(--font-mono);color:#ffffff80;margin-bottom:24px;font-size:12px;line-height:1.65}.cookie-category{border-top:1px solid var(--glass-border);padding:16px 0}.cookie-category__header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.cookie-category__name{font-family:var(--font-display);color:#fff;font-size:14px;font-weight:700}.cookie-category__desc{font-family:var(--font-mono);color:#ffffff73;font-size:11px;line-height:1.6}.cookie-toggle--always{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-cyan);background:#00f5ff1a;border:1px solid #00f5ff40;border-radius:20px;padding:3px 10px;font-size:10px;font-weight:700}.cookie-toggle__switch{cursor:pointer;flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.cookie-toggle__switch input{opacity:0;width:0;height:0}.cookie-toggle__slider{border:1px solid var(--glass-border);background:#ffffff1f;border-radius:24px;transition:background .2s,border-color .2s;position:absolute;inset:0}.cookie-toggle__slider:before{content:"";background:#ffffff80;border-radius:50%;width:16px;height:16px;transition:transform .2s cubic-bezier(.16,1,.3,1),background .2s;position:absolute;top:3px;left:3px}.cookie-toggle__switch input:checked+.cookie-toggle__slider{background:linear-gradient(135deg, var(--accent-cyan), var(--accent-blue));border-color:var(--accent-cyan)}.cookie-toggle__switch input:checked+.cookie-toggle__slider:before{background:#000;transform:translate(20px)}.cookie-modal__footer{border-top:1px solid var(--glass-border);flex-wrap:wrap;justify-content:flex-end;gap:10px;padding-top:20px;display:flex}@media (max-width:500px){.cookie-banner{border-radius:16px 16px 0 0;width:100%;bottom:0}.cookie-banner__content{flex-direction:column;align-items:stretch}.cookie-banner__actions{justify-content:stretch}.cookie-btn{text-align:center;flex:1}.cookie-modal__footer{flex-direction:column}.cookie-modal__footer .cookie-btn{text-align:center;width:100%}}.privacy-page{background:var(--bg-dark);min-height:100vh;padding:60px 24px 80px;overflow-y:auto}.privacy-inner{max-width:680px;margin:0 auto}.privacy-back{font-family:var(--font-mono);color:#fff6;letter-spacing:.04em;margin-bottom:40px;font-size:12px;text-decoration:none;transition:color .15s;display:inline-block}.privacy-back:hover{color:var(--accent-cyan)}.privacy-title{font-family:var(--font-display);color:#fff;letter-spacing:-.01em;margin-bottom:8px;font-size:clamp(28px,5vw,40px);font-weight:800}.privacy-meta{font-family:var(--font-mono);color:#ffffff59;letter-spacing:.04em;margin-bottom:48px;font-size:12px}.privacy-section{border-top:1px solid var(--glass-border);margin-bottom:40px;padding-top:28px}.privacy-section h2{font-family:var(--font-display);color:var(--accent-cyan);letter-spacing:.04em;text-transform:uppercase;margin-bottom:14px;font-size:16px;font-weight:700}.privacy-section h3{font-family:var(--font-display);color:#ffffffd9;margin:20px 0 8px;font-size:14px;font-weight:700}.privacy-section h3:first-child{margin-top:0}.privacy-section p{font-family:var(--font-mono);color:#fff9;margin-bottom:12px;font-size:13px;line-height:1.75}.privacy-section ul{font-family:var(--font-mono);color:#fff9;margin-bottom:12px;padding-left:20px;font-size:13px;line-height:1.75}.privacy-section li{margin-bottom:4px}.privacy-section a{color:var(--accent-cyan);text-decoration:none}.privacy-section a:hover{text-decoration:underline}.privacy-section code{font-family:var(--font-mono);border:1px solid var(--glass-border);color:#fffc;background:#ffffff14;border-radius:4px;padding:1px 6px;font-size:12px}.privacy-table{border-collapse:collapse;width:100%;font-family:var(--font-mono);margin:12px 0 16px;font-size:12px}.privacy-table th{text-align:left;color:#fff6;border-bottom:1px solid var(--glass-border);letter-spacing:.06em;text-transform:uppercase;padding:8px 12px;font-weight:700}.privacy-table td{color:#ffffffa6;vertical-align:top;border-bottom:1px solid #ffffff0d;padding:10px 12px}.privacy-table td:first-child{white-space:nowrap}.privacy-inline-btn{color:var(--accent-cyan);font-family:var(--font-mono);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.privacy-inline-btn:hover{opacity:.8}.privacy-cookie-action{border-top:1px solid var(--glass-border);margin-top:48px;padding-top:28px}.hp-footer-privacy{font-family:var(--font-mono);color:#ffffff4d;letter-spacing:.06em;font-size:11px;text-decoration:none;transition:color .15s}.hp-footer-privacy:hover{color:#fff9}.skip-link{z-index:9999;background:var(--accent-cyan);color:#030711;font-family:var(--font-mono);letter-spacing:.05em;white-space:nowrap;border-radius:0 0 10px 10px;padding:12px 28px;font-size:13px;font-weight:700;text-decoration:none;transition:top .2s;position:fixed;top:-100%;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #00f5ff66}.skip-link:focus{outline-offset:-3px;outline:3px solid #030711;top:0}:focus{outline:none}:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:3px;border-radius:4px}.form-input:focus-visible,.todo-input:focus-visible,.cal-input:focus-visible,.cal-select:focus-visible,.work-dec-input:focus-visible,.work-log-textarea:focus-visible,.gym-set-input:focus-visible,.mgmt-input:focus-visible,.mgmt-textarea:focus-visible{outline-offset:0;outline:2px solid #00f5ff99}.hp-nav-link:focus-visible,.hp-nav-brand:focus-visible,.hp-nav-matrix:focus-visible,.hp-cta-primary:focus-visible,.hp-cta-ghost:focus-visible,.sidebar-link:focus-visible,.sidebar-signout:focus-visible,.cookie-btn:focus-visible,.btn-submit:focus-visible,.lotr-ring-btn:focus-visible,.hp-lightbox-close:focus-visible,.hp-scroll-hint:focus-visible,.a11y-fab:focus-visible,.a11y-panel-close:focus-visible,.a11y-text-btn:focus-visible,.a11y-switch:focus-visible,.a11y-reset:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.a11y-reduce-motion *,.a11y-reduce-motion :before,.a11y-reduce-motion :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.a11y-high-contrast{--accent-cyan:#0ff;--accent-blue:#6af;--accent-purple:#d9f;--bg-dark:#000;--glass-bg:#000000f5;--glass-border:#ffffff8c}.a11y-high-contrast body{color:#fff;background:#000}.a11y-high-contrast .hp-nav{background:#000;border-bottom-color:#ffffff80}.a11y-high-contrast .hp-nav-link,.a11y-high-contrast .hp-nav-brand{color:#fff}.a11y-high-contrast .hp-nav-link:hover{color:#0ff;background:#00ffff1f}.a11y-high-contrast .hp-hero,.a11y-high-contrast .hp-section{background:#000}.a11y-high-contrast .hp-section--alt{background:#0a0a0a}.a11y-high-contrast .hp-hero-subtitle,.a11y-high-contrast .hp-section-label{color:#0ff}.a11y-high-contrast .hp-hero-headline,.a11y-high-contrast .hp-section-title{color:#fff}.a11y-high-contrast .hp-hero-intro,.a11y-high-contrast .hp-about-text p,.a11y-high-contrast .hp-timeline-desc,.a11y-high-contrast .hp-project-desc{color:#ffffffe6}.a11y-high-contrast .hp-project-card{background:#0a0a0a;border-color:#fff6}.a11y-high-contrast .hp-timeline-period,.a11y-high-contrast .hp-timeline-org{color:#ffffffbf}.a11y-high-contrast .hp-footer{background:#000;border-top-color:#ffffff4d}.a11y-high-contrast .glass-card{background:#0a0a0a;border-color:#fff6}.a11y-high-contrast .form-input{color:#fff;background:#111;border-color:#fff6}.a11y-high-contrast .sidebar-nav .sidebar-link{color:#ffffffd9}.a11y-high-contrast .sidebar-link.active,.a11y-high-contrast .sidebar-link:hover{color:#0ff}.a11y-high-contrast .scanline,.a11y-high-contrast .grid-overlay{opacity:0}.a11y-dyslexia body,.a11y-dyslexia :not(code):not(pre):not(.font-mono-keep){letter-spacing:.06em!important;word-spacing:.18em!important;font-family:Arial,Helvetica Neue,Segoe UI,sans-serif!important;line-height:1.85!important}.a11y-highlight-links a,.a11y-highlight-links .hp-nav-link,.a11y-highlight-links .hp-nav-matrix,.a11y-highlight-links .sidebar-link{text-underline-offset:4px!important;text-decoration:underline!important}.a11y-text-smaller{font-size:14px}.a11y-text-larger{font-size:19px}.a11y-text-largest{font-size:22px}.a11y-fab{z-index:9000;color:var(--accent-cyan);cursor:pointer;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;-webkit-backdrop-filter:blur(16px);background:#030711d1;border:1px solid #00f5ff47;border-radius:100px;align-items:center;gap:7px;padding:10px 14px;font-size:10px;transition:border-color .2s,box-shadow .2s,transform .18s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:inset 0 0 0 1px #ffffff0a,0 4px 24px #0000008c,0 0 20px #00f5ff14}.a11y-fab:hover{border-color:#00f5ff99;transform:translateY(-2px);box-shadow:inset 0 0 0 1px #ffffff0f,0 6px 30px #0009,0 0 28px #00f5ff2e}.a11y-fab:active{transform:translateY(0)}.a11y-fab-label{color:#00f5ffbf}.a11y-panel{z-index:8999;-webkit-backdrop-filter:blur(40px)saturate(160%);pointer-events:none;opacity:0;transform-origin:100% 100%;background:#060a16ed;border:1px solid #00f5ff38;border-radius:18px;width:300px;padding:20px;transition:opacity .22s,transform .22s;position:fixed;bottom:72px;right:24px;transform:translateY(12px)scale(.97);box-shadow:inset 0 0 0 1px #ffffff0a,inset 0 0 #00f5ff00,0 20px 60px #000000a6,0 0 60px #0057ff1a}.a11y-panel.open{pointer-events:all;opacity:1;transform:translateY(0)scale(1)}.a11y-panel-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.a11y-panel-title-row{color:var(--accent-cyan);align-items:center;gap:8px;display:flex}.a11y-panel-title{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-cyan);font-size:11px;font-weight:700}.a11y-panel-close{color:#fff6;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:14px;line-height:1;transition:color .15s}.a11y-panel-close:hover{color:#ffffffd9}.a11y-group{margin-bottom:14px}.a11y-group-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#ffffff61;margin-bottom:8px;font-size:10px}.a11y-text-btns{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.a11y-text-btn{color:#ffffffa6;cursor:pointer;font-family:var(--font-display);text-align:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;padding:8px 4px;font-size:13px;font-weight:700;transition:background .15s,border-color .15s,color .15s}.a11y-text-btn:hover{color:#fff;background:#00f5ff14;border-color:#00f5ff59}.a11y-text-btn.active{color:var(--accent-cyan);background:#00f5ff24;border-color:#00f5ff8c}.a11y-divider{background:#ffffff12;height:1px;margin:12px 0}.a11y-toggle-row{justify-content:space-between;align-items:center;gap:12px;padding:9px 0;display:flex}.a11y-toggle-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.a11y-toggle-label{font-family:var(--font-display);color:#ffffffe0;letter-spacing:.01em;font-size:13px;font-weight:600}.a11y-toggle-desc{font-family:var(--font-mono);color:#ffffff61;letter-spacing:.02em;font-size:10px}.a11y-switch{cursor:pointer;background:#ffffff1a;border:1px solid #ffffff26;border-radius:100px;flex-shrink:0;width:40px;height:22px;padding:0;transition:background .2s,border-color .2s;position:relative}.a11y-switch.on{background:#00f5ff38;border-color:#00f5ff80}.a11y-switch-thumb{pointer-events:none;background:#ffffff73;border-radius:50%;width:16px;height:16px;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background .2s;position:absolute;top:2px;left:2px}.a11y-switch.on .a11y-switch-thumb{background:var(--accent-cyan);transform:translate(18px)}.a11y-reset{color:#ffffff80;cursor:pointer;width:100%;font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;margin-top:4px;padding:9px;font-size:10px;transition:background .15s,color .15s,border-color .15s}.a11y-reset:hover{color:#ff8282cc;background:#ff505012;border-color:#ff505040}.a11y-panel-note{font-family:var(--font-mono);color:#fff3;text-align:center;letter-spacing:.04em;margin-top:10px;font-size:9px}@media (max-width:400px){.a11y-panel{width:auto;bottom:76px;left:12px;right:12px}.a11y-fab{bottom:16px;right:12px}}.py-page-body{padding-bottom:60px}.py-page-intro{color:#fff9;max-width:720px;margin:4px 0 20px;font-size:14px;line-height:1.6}.py-btn{color:#fff;font-family:var(--font-mono);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff26;border-radius:10px;align-items:center;gap:6px;padding:10px 18px;font-size:13px;text-decoration:none;transition:all .2s;display:inline-flex}.py-btn:hover{border-color:var(--py-green);color:var(--py-green)}.py-btn-primary{color:var(--py-green);background:#00ff411f;border-color:#00ff4166;font-weight:700}.py-btn-primary:hover{background:#00ff4133}.py-nav{border-bottom:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:22px;padding-bottom:14px;display:flex}.py-nav-tabs{flex-wrap:wrap;gap:6px;display:flex}.py-nav-tab{color:#fff9;font-family:var(--font-mono);border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-size:12px;text-decoration:none;transition:all .2s;display:flex;position:relative}.py-nav-tab:hover{color:#fff;background:#ffffff0d}.py-nav-tab.active{color:var(--py-green);background:#00ff411a;border-color:#00ff414d}.py-nav-review{color:#ffb400;border-color:#ffb4004d}.py-nav-badge{color:#fff;background:#ff4d4d;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:700}.py-nav-status{font-family:var(--font-mono);color:#fff9;flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.py-nav-streak{color:#ff8c3a}.py-nav-streak-flame{border:1px solid #ff8c3a80;border-radius:999px;padding:1px 8px;box-shadow:0 0 8px #ff8c3a59}.py-nav-rank{color:var(--accent-cyan)}.py-nav-xp{color:var(--py-green);font-weight:700}.py-nav-badges{gap:4px;display:flex}.py-nav-badge-icon{cursor:default;font-size:13px}.py-dash-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:24px;display:grid}.py-dash-card{background:#ffffff08;border:1px solid #ffffff1a;border-radius:14px;padding:16px 18px}.py-dash-streak{align-items:center;gap:14px;display:flex}.py-dash-flame{font-size:34px}.py-dash-streak-num{font-size:26px;font-weight:800;font-family:var(--font-display);color:#ff8c3a}.py-dash-streak-label{color:#ffffff80;font-size:12px;font-family:var(--font-mono)}.py-dash-xp-head{font-family:var(--font-mono);color:#ffffffb3;justify-content:space-between;margin-bottom:8px;font-size:12px;display:flex}.py-xp-bar-track{background:#ffffff14;border-radius:999px;height:10px;overflow:hidden}.py-xp-bar-fill{background:linear-gradient(90deg, var(--accent-cyan), var(--py-green));height:100%;transition:width .6s}.py-dash-xp-next{color:#fff6;font-size:11px;font-family:var(--font-mono);margin-top:6px;display:block}.py-dash-spark{flex-direction:column;gap:8px;display:flex}.py-dash-spark>span{color:#ffffff80;font-size:12px;font-family:var(--font-mono)}.py-sparkline{align-items:flex-end;gap:6px;height:40px;display:flex}.py-sparkline-bar{background:linear-gradient(180deg, var(--py-green), #00ff4133);border-radius:3px;flex:1;min-height:4px}.py-dash-review-banner{color:#ffb400;font-family:var(--font-mono);background:#ffb40014;border:1px solid #ffb4004d;border-radius:12px;margin-bottom:24px;padding:12px 16px;font-size:13px;text-decoration:none;transition:background .2s;display:block}.py-dash-review-banner:hover{background:#ffb40026}.py-dash-section{margin-bottom:28px}.py-dash-section h3{font-family:var(--font-display);color:#fff;margin-bottom:12px;font-size:16px}.py-dash-empty{color:#fff6;font-size:13px}.py-dash-plan{flex-direction:column;gap:8px;display:flex}.py-plan-item{color:#fffc;background:#ffffff08;border:1px solid #ffffff14;border-radius:10px;align-items:center;gap:10px;padding:12px 16px;font-size:13px;text-decoration:none;transition:all .2s;display:flex}.py-plan-item:hover{border-color:var(--py-green);background:#00ff410d}.py-dash-boss-tease{color:#ffffffb3;background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:14px;padding:16px;text-decoration:none;display:flex}.py-dash-boss-tease.unlocked{color:#fff;background:#00ff410f;border-color:#00ff4166}.py-dash-boss-tease strong{color:#fff;margin-bottom:2px;display:block}.py-dash-boss-tease p{color:#ffffff80;margin:0;font-size:12px}.py-activity-list{flex-direction:column;gap:6px;list-style:none;display:flex}.py-activity-list li{color:#ffffffb3;background:#ffffff05;border-radius:8px;justify-content:space-between;padding:8px 14px;font-size:13px;display:flex}.py-activity-xp{color:var(--py-green);font-family:var(--font-mono);font-weight:700}.py-theory-concept{margin-bottom:18px}.py-theory-concept-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--py-green);font-size:11px}.py-theory-concept h3{font-family:var(--font-display);margin:4px 0 6px;font-size:22px}.py-theory-teaser{color:#ffffff8c;font-size:14px}.py-recall-box{background:#00ff410a;border:1px dashed #00ff414d;border-radius:14px;margin-bottom:20px;padding:20px}.py-recall-prompt{color:#ffffffd9;margin-bottom:10px;font-size:14px}.py-recall-input{color:#fff;width:100%;font-family:var(--font-mono);resize:vertical;background:#0000004d;border:1px solid #ffffff26;border-radius:8px;margin-bottom:12px;padding:10px 12px;font-size:13px}.py-recall-reveal-btn{background:var(--py-green);color:#030711;cursor:pointer;font-weight:700;font-family:var(--font-mono);border:none;border-radius:8px;padding:10px 18px;font-size:13px}.py-recall-echo{border-left:3px solid var(--accent-cyan);background:#ffffff08;border-radius:6px;flex-direction:column;gap:4px;margin-bottom:16px;padding:10px 14px;font-size:13px;display:flex}.py-recall-echo-label{color:#fff6;font-family:var(--font-mono);font-size:11px}.py-recall-echo-text{color:#ffffffb3;font-style:italic}.py-theory-explanation{margin-bottom:16px}.py-theory-example{margin:24px 0}.py-theory-example-title{font-family:var(--font-display);color:var(--accent-cyan);margin-bottom:6px;font-size:15px}.py-theory-example-static pre{font-family:var(--font-mono);color:#fffc;background:#05070d;border:1px solid #ffffff1a;border-radius:10px;padding:14px 16px;font-size:13px;overflow-x:auto}.py-theory-example-note{color:#ffb400e6;margin-top:8px;font-size:12px}.py-theory-example-note code{background:#ffffff14;border-radius:4px;padding:1px 6px}.py-md-code{font-family:var(--font-mono);color:#fffc;background:#05070d;border:1px solid #ffffff1a;border-radius:10px;margin:12px 0;padding:14px 16px;font-size:13px;position:relative;overflow-x:auto}.py-md-code-lang{color:#ffffff4d;text-transform:uppercase;font-size:10px;position:absolute;top:6px;right:12px}.py-editor-wrap{background:#05070d;border:1px solid #ffffff1a;border-radius:12px;margin:14px 0;overflow:hidden}.py-editor-toolbar{background:#ffffff08;border-bottom:1px solid #ffffff14;align-items:center;gap:8px;padding:8px 12px;display:flex}.py-editor-btn{color:#fff;font-size:12px;font-family:var(--font-mono);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff26;border-radius:7px;padding:6px 12px}.py-editor-btn:hover:not(:disabled){border-color:var(--py-green);color:var(--py-green)}.py-editor-btn:disabled{opacity:.5;cursor:not-allowed}.py-editor-run{color:var(--py-green);background:#00ff411f;border-color:#00ff4166;font-weight:700}.py-editor-autosave{color:#ffffff4d;font-size:10px;font-family:var(--font-mono);margin-left:auto}.py-editor-monaco{border-bottom:1px solid #ffffff14}.py-editor-output{padding:12px 16px}.py-check-row{color:#fff9;padding:5px 0;font-size:13px}.py-check-row.pass{color:#4ade80}.py-check-row.fail{color:#f87171}.py-check-row code{background:#ffffff0f;border-radius:4px;padding:1px 6px}.py-editor-verdict{font-weight:700;font-family:var(--font-mono);margin-top:8px;font-size:13px}.py-editor-verdict.pass{color:var(--py-green)}.py-editor-verdict.fail{color:#f87171}.py-editor-stdout{margin-top:8px}.py-editor-stdout-label{color:#ffffff4d;font-size:10px;font-family:var(--font-mono);text-transform:uppercase}.py-editor-stdout pre,.py-editor-stdout-plain{font-family:var(--font-mono);color:#ffffffbf;white-space:pre-wrap;background:#ffffff08;border-radius:6px;margin-top:4px;padding:8px 12px;font-size:12.5px}.py-editor-stderr{color:#f87171}.py-editor-empty{color:#ffffff4d;font-style:italic}.py-hints{margin:14px 0}.py-hint-card{background:#00f5ff0a;border:1px dashed #00f5ff40;border-radius:8px;flex-direction:column;gap:3px;margin-bottom:8px;padding:10px 14px;font-size:13px;display:flex}.py-hint-num{font-family:var(--font-mono);color:var(--accent-cyan);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.py-hint-text{color:#ffffffb3}.py-hint-btn{color:#fff9;cursor:pointer;font-size:12px;font-family:var(--font-mono);background:0 0;border:1px solid #ffffff26;border-radius:8px;padding:8px 14px}.py-hint-btn:hover{border-color:var(--accent-cyan);color:var(--accent-cyan)}.py-hint-cost{color:#ffb400;margin-left:4px}.py-lesson-topbar,.py-boss-topbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.py-lesson-back{color:#ffffff80;font-family:var(--font-mono);font-size:12px;text-decoration:none}.py-lesson-back:hover{color:var(--py-green)}.py-lesson-complete-badge{color:var(--py-green);font-size:11px;font-family:var(--font-mono);background:#00ff411f;border-radius:999px;padding:4px 12px}.py-bias-badge{font-size:11px;font-family:var(--font-mono);border-radius:999px;padding:4px 12px}.py-bias-up{color:#ff8c3a;background:#ff8c3a1f}.py-bias-down{color:var(--accent-cyan);background:#00f5ff1a}.py-lesson-tabs{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.py-lesson-tab{color:#fff9;cursor:pointer;font-size:13px;font-family:var(--font-mono);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;padding:9px 16px}.py-lesson-tab.active{border-color:var(--py-green);color:var(--py-green);background:#00ff4114}.py-lesson-tab:disabled{opacity:.35;cursor:not-allowed}.py-lesson-next{margin-top:20px}.py-guided-tabs{gap:6px;margin-bottom:14px;display:flex}.py-guided-tab{color:#fff9;cursor:pointer;width:30px;height:30px;font-family:var(--font-mono);background:#ffffff0a;border:1px solid #ffffff26;border-radius:50%;font-size:12px}.py-guided-tab.active{border-color:var(--accent-cyan);color:var(--accent-cyan)}.py-guided-tab.done{border-color:var(--py-green);color:var(--py-green);background:#00ff411a}.py-exercise-block{margin-bottom:20px}.py-exercise-difficulty{color:var(--py-green);letter-spacing:3px;margin-bottom:8px;font-size:12px}.py-exercise-prompt{color:#ffffffd9;margin-bottom:10px;font-size:14px;line-height:1.6}.py-exercise-done{color:var(--py-green);font-family:var(--font-mono);margin-top:8px;font-size:13px;font-weight:700}.py-solo-banner{color:#ffffffbf;background:#7b2fff14;border:1px solid #7b2fff4d;border-radius:10px;margin-bottom:16px;padding:12px 16px;font-size:13px}.py-lesson-finished{text-align:center;background:#00ff410f;border:1px solid #00ff414d;border-radius:12px;margin-top:20px;padding:20px}.py-lesson-finished p{margin-bottom:12px;font-size:15px}.py-vis-wrap{background:#05070d;border:1px solid #ffffff1f;border-radius:14px;padding:16px}.py-vis-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.py-vis-header h3{font-family:var(--font-display);font-size:16px}.py-vis-close{color:#ffffff80;cursor:pointer;background:0 0;border:none;font-size:12px}.py-vis-loading,.py-vis-error{text-align:center;color:#ffffff80;font-family:var(--font-mono);padding:20px;font-size:13px}.py-vis-error{color:#f87171}.py-vis-body{grid-template-columns:1.3fr 1fr;gap:14px;display:grid}@media (max-width:720px){.py-vis-body{grid-template-columns:1fr}}.py-vis-code{font-family:var(--font-mono);background:#ffffff05;border-radius:8px;max-height:360px;padding:8px 0;font-size:12.5px;overflow:auto}.py-vis-line{white-space:pre;padding:2px 12px;display:flex}.py-vis-line.active{border-left:3px solid var(--py-green);background:#00ff411f}.py-vis-lineno{color:#ffffff40;-webkit-user-select:none;user-select:none;flex-shrink:0;width:28px}.py-vis-linetext{color:#ffffffbf}.py-vis-panel-section{margin-bottom:16px}.py-vis-panel-section h4{text-transform:uppercase;letter-spacing:.08em;color:#fff6;font-size:11px;font-family:var(--font-mono);margin-bottom:8px}.py-vis-empty{color:#ffffff40;font-size:12px}.py-vis-stack{flex-direction:column;gap:3px;display:flex}.py-vis-stack-frame{font-family:var(--font-mono);color:var(--accent-cyan);font-size:12px}.py-vis-varlist{flex-direction:column;gap:10px;display:flex}.py-vis-varrow{font-family:var(--font-mono);font-size:12px}.py-vis-var-meta{align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.py-vis-var-name{color:var(--py-green)}.py-vis-var-value{color:#fffc;word-break:break-word}.py-vis-var-type{color:#ffffff59}.py-vis-boxdiagram{flex-wrap:wrap;gap:4px;display:flex}.py-vis-box-empty{color:#ffffff40;font-size:11px}.py-vis-item-box{background:#00f5ff0d;border:1px solid #00f5ff4d;border-radius:4px;flex-direction:column;align-items:center;min-width:28px;padding:3px 8px;display:flex}.py-vis-box-index{color:#ffffff59;font-size:9px}.py-vis-box-val{color:#ffffffd9;font-size:12px}.py-vis-kv-box{background:#7b2fff0f;border:1px solid #7b2fff59;border-radius:4px;align-items:center;gap:5px;padding:4px 8px;display:flex}.py-vis-box-key{color:var(--accent-purple);font-size:11.5px}.py-vis-box-arrow{color:#ffffff4d;font-size:11px}.py-vis-error-box{color:#f87171;font-size:12px}.py-vis-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:16px;display:flex}.py-vis-controls button{color:#fff;cursor:pointer;font-size:12px;font-family:var(--font-mono);background:#ffffff0f;border:1px solid #ffffff26;border-radius:7px;padding:6px 12px}.py-vis-controls button:disabled{opacity:.3;cursor:not-allowed}.py-vis-step-count{font-family:var(--font-mono);color:#ffffff80;font-size:12px}.py-vis-inline{margin-top:20px}.py-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#000000b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.py-modal{width:100%;max-width:900px;max-height:90vh;overflow-y:auto}.py-tree{padding:20px 0 40px;position:relative}.py-tree-spine{background:repeating-linear-gradient(#ffffff26 0 8px,#0000 8px 16px);width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.py-tree-phase{margin-bottom:20px;position:relative}.py-tree-phase-header{text-align:center;z-index:1;margin:30px 0 20px;position:relative}.py-tree-phase-num{font-family:var(--font-mono);color:var(--phase-color);text-transform:uppercase;letter-spacing:.1em;font-size:11px}.py-tree-phase-header h3{font-family:var(--font-display);margin:4px 0;font-size:20px}.py-tree-phase-header p{color:#fff6;font-size:12px}.py-tree-node-row{z-index:1;justify-content:center;margin:10px 0;display:flex;position:relative}.py-node{color:#fff9;text-align:center;background:#ffffff0a;border:2px solid #ffffff1f;border-radius:16px;flex-direction:column;align-items:center;gap:4px;width:92px;padding:12px 6px;text-decoration:none;transition:all .2s;display:flex}.py-node-icon{font-size:22px}.py-node-label{font-size:10px;font-family:var(--font-mono);line-height:1.3}.py-node-available{border-color:var(--phase-color);color:#fff;box-shadow:0 0 16px -4px var(--phase-color)}.py-node-available:hover{transform:scale(1.06)}.py-node-in-progress{border-color:var(--phase-color);color:#fff;animation:1.8s infinite py-pulse}.py-node-complete{border-color:var(--py-green);color:var(--py-green);background:#00ff411a}.py-node-locked{opacity:.4;cursor:not-allowed}.py-node-boss{border-width:3px;border-radius:20px;width:108px}@keyframes py-pulse{0%,to{box-shadow:0 0 10px -2px var(--phase-color)}50%{box-shadow:0 0 22px 2px var(--phase-color)}}.py-kata-phase-tabs{gap:8px;margin-bottom:18px;display:flex}.py-kata-phase-tab{color:#fff9;cursor:pointer;font-size:13px;font-family:var(--font-mono);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;padding:8px 16px}.py-kata-phase-tab.active{border-color:var(--py-green);color:var(--py-green);background:#00ff4114}.py-kata-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.py-kata-card{background:#ffffff08;border:1px solid #ffffff1a;border-radius:14px;padding:16px}.py-kata-card.solved{background:#00ff4108;border-color:#00ff4159}.py-kata-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.py-kata-kyu{font-family:var(--font-mono);color:#ffb400;background:#ffb4001a;border-radius:999px;padding:2px 8px;font-size:10px}.py-kata-head h4{font-family:var(--font-display);font-size:15px}.py-kata-solved-badge{color:var(--py-green);font-size:11px;font-family:var(--font-mono);margin-left:auto}.py-kata-topic{color:var(--accent-cyan);margin-bottom:4px;font-size:11px}.py-kata-why{color:#ffffff8c;margin-bottom:10px;font-size:12.5px}.py-kata-link{color:var(--accent-cyan);margin-bottom:10px;font-size:12px;text-decoration:none;display:inline-block}.py-kata-link:hover{text-decoration:underline}.py-kata-rate{color:#fff6;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;font-size:11px;display:flex}.py-kata-rate button{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff26;border-radius:7px;padding:5px 10px;font-size:11px}.py-kata-rate button:hover{border-color:var(--py-green)}.py-kata-rated{color:#ffffff80;margin-top:8px;font-size:12px}.py-kata-secret{background:#ffb4000f;border:1px solid #ffb4004d;border-radius:14px;margin-top:24px;padding:18px}.py-boss-list{flex-direction:column;gap:12px;display:flex}.py-boss-card{cursor:pointer;background:#ffffff08;border:1px solid #ffffff1a;border-radius:14px;align-items:center;gap:16px;padding:18px;transition:all .2s;display:flex}.py-boss-card:hover{border-color:var(--phase-color)}.py-boss-card.complete{background:#00ff410a;border-color:#00ff4166}.py-boss-card.locked{opacity:.45;cursor:not-allowed}.py-boss-icon{flex-shrink:0;font-size:32px}.py-boss-info{flex:1}.py-boss-info h3{font-family:var(--font-display);margin:2px 0 4px;font-size:17px}.py-boss-phase{color:var(--phase-color);font-size:10px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.py-boss-info p{color:#ffffff80;font-size:12.5px}.py-boss-xp{font-family:var(--font-mono);color:#ffb400;flex-shrink:0;font-size:13px;font-weight:700}.py-boss-story{border-left:3px solid var(--accent-purple);color:#ffffffbf;background:#7b2fff0f;border-radius:6px;margin-bottom:18px;padding:14px 18px;font-size:14px;font-style:italic;line-height:1.7}.py-boss-spec{margin-bottom:20px}.py-boss-spec h3,.py-boss-checklist h3{font-family:var(--font-display);margin-bottom:10px;font-size:16px}.py-boss-local{margin-bottom:20px}.py-boss-starter{font-family:var(--font-mono);color:#ffffffbf;background:#05070d;border:1px solid #ffffff1a;border-radius:10px;max-height:420px;margin-top:10px;padding:16px;font-size:12.5px;overflow:auto}.py-boss-checklist{margin:20px 0}.py-checklist-item{color:#ffffffbf;cursor:pointer;align-items:center;gap:10px;padding:8px 4px;font-size:13px;display:flex}.py-checklist-item input{width:16px;height:16px;accent-color:var(--py-green)}.py-boss-hints{margin:20px 0}.py-boss-hint-gate{color:#fff6;font-size:13px;font-family:var(--font-mono)}.py-boss-finish{text-align:center;justify-content:center;width:100%;margin-top:10px;padding:14px;font-size:14px}.py-boss-finish:disabled{opacity:.4;cursor:not-allowed}.py-shop-balance{font-family:var(--font-mono);background:#00ff410f;border:1px solid #00ff414d;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:14px 20px;display:flex}.py-shop-balance strong{color:var(--py-green);font-size:18px}.py-shop-msg{color:var(--accent-cyan);background:#00f5ff14;border:1px solid #00f5ff4d;border-radius:8px;margin-bottom:16px;padding:10px 16px;font-size:13px}.py-shop-section{margin-bottom:26px}.py-shop-section h3{font-family:var(--font-display);margin-bottom:12px;font-size:15px}.py-shop-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.py-shop-card{background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;padding:14px}.py-shop-card.owned{border-color:#00ff414d}.py-shop-icon{font-size:24px}.py-shop-card h4{margin:6px 0 3px;font-size:13px}.py-shop-card p{color:#ffffff80;min-height:30px;margin-bottom:10px;font-size:11.5px}.py-shop-footer{justify-content:space-between;align-items:center;display:flex}.py-shop-cost{font-family:var(--font-mono);color:#ffb400;font-size:12px}.py-shop-owned{color:var(--py-green);font-size:11px;font-family:var(--font-mono)}.py-shop-equip{font-family:var(--font-mono);color:var(--accent-cyan);cursor:pointer;background:#00f5ff14;border:1px solid #00f5ff59;border-radius:6px;padding:5px 10px;font-size:11px}.py-shop-equip:hover{border-color:var(--accent-cyan)}.py-shop-footer button{color:var(--py-green);cursor:pointer;font-size:11px;font-family:var(--font-mono);background:#00ff411f;border:1px solid #00ff4166;border-radius:7px;padding:6px 12px}.py-shop-footer button:disabled{opacity:.3;cursor:not-allowed}.py-shop-perks{color:#fff9;flex-direction:column;gap:6px;font-size:13px;list-style:none;display:flex}.py-dojo-stats{font-family:var(--font-mono);color:#fff9;gap:20px;margin-bottom:16px;font-size:13px;display:flex}.py-dojo-target{font-family:var(--font-mono);white-space:pre-wrap;background:#05070d;border:1px solid #ffffff1f;border-radius:10px;margin-bottom:14px;padding:16px 18px;font-size:15px;line-height:1.8}.py-dojo-correct{color:var(--py-green)}.py-dojo-wrong{color:#f87171;background:#f8717126}.py-dojo-untyped{color:#ffffff4d}.py-dojo-cursor{color:#ffffff4d;border-bottom:2px solid var(--accent-cyan)}.py-dojo-input{color:#fff;width:100%;font-family:var(--font-mono);resize:vertical;background:#ffffff08;border:1px solid #ffffff26;border-radius:10px;padding:12px 14px;font-size:14px}.py-dojo-result{text-align:center;margin-top:16px}.py-dojo-result p{color:var(--py-green);margin-bottom:12px;font-size:16px}.py-dojo-leaderboard{margin-top:24px}.py-dojo-leaderboard h3{font-family:var(--font-display);margin-bottom:10px;font-size:15px}.py-dojo-leaderboard-list{font-family:var(--font-mono);flex-direction:column;gap:6px;font-size:13px;display:flex}.py-dojo-leaderboard-list li{border:1px solid #ffffff14;border-radius:6px;align-items:center;gap:12px;padding:6px 10px;display:flex}.py-dojo-lb-rank{color:#ffb400;width:24px}.py-dojo-lb-wpm{color:var(--py-green);flex:1;font-weight:700}.py-dojo-lb-date{color:#ffffff59;font-size:11px}.py-review-empty{text-align:center;padding:40px 20px}.py-review-empty p{color:#fff9;margin-bottom:16px}.py-toast-stack{z-index:300;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;top:20px;right:20px}.py-toast{color:var(--py-green);font-family:var(--font-mono);background:#030711f2;border:1px solid #00ff4166;border-radius:10px;padding:10px 18px;font-size:13px;font-weight:700;animation:.3s py-toast-in;box-shadow:0 4px 20px #0006}.py-toast-achievement{color:#ffb400;border-color:#ffb40080}@keyframes py-toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.py-levelup-overlay{z-index:400;background:#0009;justify-content:center;align-items:center;animation:.2s py-toast-in;display:flex;position:fixed;inset:0}.py-levelup-card{text-align:center;background:radial-gradient(circle at top,#00ff4126,#030711fa);border:1px solid #00ff4166;border-radius:24px;padding:40px 60px}.py-levelup-icon{margin-bottom:10px;font-size:48px}.py-levelup-title{font-family:var(--font-display);color:var(--py-green);font-size:32px;font-weight:800}.py-levelup-rank{font-family:var(--font-mono);color:#ffffffb3;margin-top:6px}.py-confetti-layer{z-index:350;pointer-events:none;position:fixed;inset:0;overflow:hidden}.py-confetti-piece{width:8px;height:14px;animation:linear forwards py-confetti-fall;position:absolute;top:-20px}@keyframes py-confetti-fall{to{opacity:0;transform:translateY(110vh)rotate(540deg)}}.py-mascot{z-index:300;pointer-events:none;align-items:flex-end;gap:8px;display:flex;position:fixed;bottom:76px;right:24px}.py-mascot-avatar{filter:drop-shadow(0 2px 6px #00000080);font-size:34px;animation:3s ease-in-out infinite py-mascot-bob;position:relative}.py-mascot-celebrate .py-mascot-avatar{animation:.5s ease-in-out infinite py-mascot-jump}.py-mascot-glasses{font-size:15px;position:absolute;top:-2px;left:6px}.py-mascot-party{font-size:16px;position:absolute;top:-14px;right:-10px}.py-mascot-bubble{font-family:var(--font-mono);color:#fffc;background:#030711e6;border:1px solid #00f5ff40;border-radius:8px;max-width:160px;margin-bottom:6px;padding:6px 10px;font-size:11px}@keyframes py-mascot-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes py-mascot-jump{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-14px)rotate(-8deg)}}.py-demo-wrapper{z-index:10;flex-direction:column;display:flex;position:fixed;inset:0}.py-demo-header{-webkit-backdrop-filter:blur(24px);background:#030711d9;border-bottom:1px solid #00f5ff1a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:16px 44px;display:flex}.py-demo-brand{font-family:var(--font-display);color:#fff;letter-spacing:.02em;font-size:15px;font-weight:800;text-decoration:none}.py-demo-brand:hover{color:var(--accent-cyan)}.py-demo-banner{font-family:var(--font-mono);flex-wrap:wrap;align-items:center;gap:14px;font-size:12px;display:flex}.py-demo-banner span{color:#fff9}.py-demo-banner a{color:var(--py-green);white-space:nowrap;border:1px solid #00ff414d;border-radius:999px;padding:4px 12px;text-decoration:none}.py-demo-banner a:hover{border-color:var(--py-green);background:#00ff4114}.py-demo-content{flex:1;padding:40px 44px 60px;position:relative;overflow-y:auto}.py-demo-content .portal-page{margin:0 auto}@media (max-width:768px){.py-demo-header{padding:14px 20px}.py-demo-content{padding:24px 18px 50px}.py-demo-banner{gap:8px;font-size:11px}.py-nav-tabs{gap:4px}.py-nav-tab{padding:6px 10px;font-size:12px}.py-nav-status{gap:10px;font-size:11px}.py-dash-grid{grid-template-columns:1fr}.py-tree-node-row{transform:none!important}.py-node{width:92px}.py-node-boss{width:100px}.py-boss-card{flex-wrap:wrap}.py-boss-info{min-width:160px}.py-editor-toolbar{flex-wrap:wrap}.py-editor-autosave{text-align:right;width:100%;margin-left:0}.py-lesson-tabs{gap:6px}.py-lesson-tab{padding:7px 10px;font-size:12px}.py-mascot{display:none}}@media (max-width:480px){.portal-page-header .py-page-intro,.py-page-intro{font-size:13px}.py-nav-status{flex-direction:column;align-items:flex-start;gap:6px}.py-kata-grid,.py-shop-grid{grid-template-columns:1fr}.py-vis-controls{flex-wrap:wrap}}.budget-wrap{flex-direction:column;gap:32px;max-width:1000px;display:flex}.budget-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.budget-tabs{flex-wrap:wrap;gap:6px;display:flex}.budget-tab{color:#fff9;font-family:var(--font-mono);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:8px;padding:7px 14px;font-size:12px;transition:color .15s,border-color .15s}.budget-tab:hover{color:#fff}.budget-tab.active{color:var(--py-green);background:#00ff4114;border-color:#00ff4166}.budget-topbar-actions{align-items:center;gap:10px;display:flex}.work-edit-btn.active{color:var(--py-green);border-color:#00ff4166}.budget-hero-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.budget-hero-grid-compact{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}@media (max-width:820px){.budget-hero-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:420px){.budget-hero-grid{grid-template-columns:1fr}}.budget-hero-card{background:#ffffff0d;border:1px solid #ffffff1f;border-radius:12px;flex-direction:column;gap:4px;padding:16px 18px;display:flex}.budget-hero-value{font-family:var(--font-display);color:#fff;font-size:22px;font-weight:800}.budget-hero-value.positive{color:#34d399}.budget-hero-value.negative{color:#f87171}.budget-hero-label{font-family:var(--font-mono);color:#ffffff80;font-size:10.5px}.budget-note{color:#ffffff8c;border-left:2px solid #00f5ff4d;padding-left:12px;font-size:12.5px;font-style:italic}.budget-primary-hero{align-items:center;gap:20px;display:flex}.budget-primary-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:16px;flex-direction:column;flex:1;gap:6px;padding:22px 26px;display:flex}.budget-primary-label{font-family:var(--font-mono);letter-spacing:.06em;color:#ffffff8c;font-size:11px}.budget-primary-value{font-family:var(--font-display);color:#fff;font-size:clamp(28px,4vw,40px);font-weight:800}.budget-primary-value.negative{color:#f87171}.budget-primary-delta{font-family:var(--font-mono);font-size:11.5px}.budget-primary-delta.positive{color:#34d399}.budget-primary-delta.negative{color:#fb923c}.budget-primary-arrow{font-family:var(--font-mono);color:var(--accent-cyan);flex-shrink:0;font-size:20px}@media (max-width:820px){.budget-primary-hero{flex-direction:column;align-items:stretch}.budget-primary-arrow{align-self:center;transform:rotate(90deg)}}.budget-trip-strip{gap:10px;padding-bottom:4px;display:flex;overflow-x:auto}.budget-trip-strip::-webkit-scrollbar{height:4px}.budget-trip-chip{cursor:pointer;color:inherit;white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:999px;flex:none;align-items:center;gap:8px;padding:7px 14px;font-family:inherit;display:flex}.budget-trip-chip:hover{border-color:#00f5ff59}.budget-trip-chip-name{font-size:12.5px;font-weight:700}.budget-trip-chip-pct{font-family:var(--font-mono);color:#ffffff80;font-size:10.5px}.budget-secondary-stats{flex-direction:column;gap:8px;display:flex}.budget-hero-grid-secondary .budget-hero-card{padding:12px 14px}.budget-hero-grid-secondary .budget-hero-value{font-size:17px}.budget-row-list{flex-direction:column;gap:14px;display:flex}.budget-row{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.budget-row-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.budget-row-name{font-size:14px;font-weight:700}.budget-status{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;border:1px solid;border-radius:999px;padding:3px 9px;font-size:9px}.budget-status-on-track{color:#34d399;background:#34d39914;border-color:#34d39966}.budget-status-near-limit{color:#facc15;background:#facc1514;border-color:#facc1566}.budget-status-over-budget{color:#fb923c;background:#fb923c14;border-color:#fb923c66}.budget-status-completed{color:#5b9cf6;background:#5b9cf614;border-color:#5b9cf666}.budget-status-trip-idea{color:#ffffff80;border-color:#fff3}.budget-status-trip-planned{color:#00f5ff;background:#00f5ff0f;border-color:#00f5ff59}.budget-status-trip-booked{color:#a78bfa;background:#a78bfa14;border-color:#a78bfa66}.budget-status-trip-completed{color:#34d399;background:#34d39914;border-color:#34d39966}.budget-status-trip-cancelled{color:#ffffff59;border-color:#ffffff26;text-decoration:line-through}.budget-bar-track{background:#ffffff14;border-radius:999px;height:6px;overflow:hidden}.budget-bar-fill{background:linear-gradient(90deg, var(--accent-cyan), var(--py-green));border-radius:999px;height:100%;transition:width .4s}.budget-bar-fill.over{background:linear-gradient(90deg,#fb923c,#f87171)}.budget-row-figures{font-family:var(--font-mono);color:#fffc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;font-size:12.5px;display:flex}.budget-row-diff{color:#ffffff80;font-size:11.5px}.budget-row-note{color:#ffffff73;font-size:11.5px}.budget-row-pct{font-family:var(--font-mono);color:var(--py-green);font-size:11px}.budget-row-savings .budget-bar-track{height:10px}.budget-edit-input{color:#fff;width:90px;font-family:var(--font-mono);background:#00f5ff14;border:1px solid #00f5ff59;border-radius:6px;padding:2px 8px;font-size:12.5px}.budget-edit-input:focus{border-color:var(--accent-cyan);outline:none}.budget-edit-note-input{color:#fffc;background:#00f5ff0f;border:1px solid #00f5ff40;border-radius:6px;width:100%;padding:4px 8px;font-family:inherit;font-size:11.5px}.budget-edit-note-input:focus{border-color:var(--accent-cyan);outline:none}.budget-edit-note-input::placeholder{color:#ffffff59}.budget-card-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.budget-card{background:#ffffff0d;border:1px solid #ffffff1f;border-radius:12px;flex-direction:column;gap:8px;padding:16px 18px;display:flex}.budget-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.budget-card-name{font-size:14.5px;font-weight:700}.budget-optional-tag{color:#fff6;font-size:11px;font-weight:400}.budget-card-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.budget-tx-list{flex-direction:column;gap:6px;display:flex}.budget-tx-list-nested{border-top:1px solid #ffffff14;margin-top:4px;padding-top:8px}.budget-tx-row{cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border:none;border-bottom:1px solid #ffffff0f;grid-template-columns:60px 1fr auto;align-items:center;gap:10px;padding:8px 4px;font-family:inherit;display:grid}.budget-tx-row:hover{background:#ffffff08}.budget-tx-row.compact{grid-template-columns:54px 1fr auto;padding:6px 4px}.budget-tx-date{font-family:var(--font-mono);color:#fff6;font-size:10.5px}.budget-tx-note{color:#fffc;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.budget-tx-amount{font-family:var(--font-mono);font-size:13px;font-weight:700}.budget-tx-amount.positive{color:#34d399}.budget-tx-amount.negative{color:#f87171}.budget-tx-amount.neutral{color:#5b9cf6}.budget-month-nav{justify-content:center;align-items:center;gap:20px;margin-bottom:18px;display:flex}.budget-month-label{font-family:var(--font-display);text-align:center;min-width:180px;font-size:18px;font-weight:800}.budget-table{flex-direction:column;margin-bottom:24px;display:flex}.budget-table-head,.budget-table-row{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:10px;padding:9px 4px;font-size:12.5px;display:grid}.budget-table-head{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:#fff6;border-bottom:1px solid #ffffff1a;font-size:10px}.budget-table-row{font-family:var(--font-mono);border-bottom:1px solid #ffffff0d}.budget-table-row .over{color:#fb923c}.budget-table-row .under{color:#34d399}.budget-tx-type-row{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.budget-tx-type-btn{color:#fff9;min-width:90px;font-family:var(--font-mono);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff24;border-radius:8px;flex:1;padding:8px 10px;font-size:11.5px}.budget-tx-type-btn.active{color:var(--accent-cyan);background:#00f5ff14;border-color:#00f5ff66}.budget-tx-error{color:#f87171;font-size:12px}@media (max-width:700px){.budget-table-head,.budget-table-row{grid-template-columns:1.4fr 1fr 1fr}.budget-table-head span:nth-child(4),.budget-table-row span:nth-child(4){display:none}.budget-tx-row{grid-template-columns:50px 1fr auto}.budget-topbar{flex-direction:column;align-items:stretch}.budget-topbar-actions{justify-content:space-between}}
