*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--glass-bg:#ffffff12;--glass-border:#ffffff29;--glass-highlight:#ffffff4d;--ease-smooth:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--color-black:#0a0a08;--color-black-raised:#18180f;--color-white:#f2f1ea;--color-grey-dark:#46463f;--color-grey:#9c9c93;--color-grey-light:#c6c6ba;--color-olive-dark:#5c6440;--color-olive:#93a05e;--color-olive-light:#bcc78f;--color-olive-pale:#dbe0c2;--color-flag:#7a6b54;--color-night:#102338;--color-night-raised:#16304a;--accent-cyan:var(--color-olive);--accent-blue:var(--color-olive-dark);--accent-purple:var(--color-grey);--py-green:var(--color-olive-light);--bg-dark:var(--color-night);--font-heading:"Space Grotesk", sans-serif;--font-body:"Inter", sans-serif;--font-display:var(--font-heading);--font-mono:var(--font-body);--text-h1:clamp(1.75rem, 3.4vw, 2.5rem);--text-h2:clamp(1.2rem, 2vw, 1.4rem);--text-h3:1.05rem;--text-body:.9375rem;--tracking-h1:.01em;--tracking-h2:-.005em;--tracking-h3:0em;--leading-h1:1.15;--leading-h2:1.3;--leading-h3:1.35;--leading-body:1.6}html{scrollbar-width:thin;scrollbar-color:#93a05e59 transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:#93a05e59;background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:#93a05e8c;background-clip:padding-box}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-button{display:none}html,body{background-color:var(--bg-dark);width:100%;height:100%;font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-body);color:var(--color-white);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(#93a05e12 1px,#0000 1px),linear-gradient(90deg,#93a05e12 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%)}.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{-webkit-backdrop-filter:blur(28px)saturate(160%);width:min(460px,94vw);animation:cardIn .5s var(--ease-smooth) both;background:#ffffff0f;border:1px solid #ffffff24;border-radius:16px;padding:44px 40px;position:relative;box-shadow:inset 0 1px #ffffff29,0 24px 60px #00000080}@keyframes cardIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.headline{font-family:var(--font-heading);font-size:var(--text-h1);font-weight:700;line-height:var(--leading-h1);letter-spacing:var(--tracking-h1);text-transform:uppercase;margin-bottom:8px;animation:.6s .1s both fadeUp}.subline{font-size:var(--text-body);color:#ffffffad;margin-bottom:32px;font-weight:400;animation:.6s .15s 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-body);font-size:var(--text-body);color:#ffffffb8;margin-bottom:36px;line-height:1.65;animation:.8s .55s both fadeUp}.body-text strong{color:#ffffffe3;font-weight:700}.btn-linkedin{color:#f2f1ea;font-family:var(--font-heading);font-weight:700;font-size:var(--text-body);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#5c644040,#9c9c9333);border:1px solid #5c644073;border-radius:14px;align-items:center;gap:11px;padding:15px 28px;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 #5c644033,inset 0 2px #ffffff14}.btn-linkedin:hover{border-color:#93a05e99;transform:translateY(-2px)scale(1.02);box-shadow:0 0 40px #5c644073,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-body);font-size:var(--text-body);color:#ffffff78;align-items:center;gap:10px;margin-top:30px;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{font-size:var(--text-body);padding:7px 11px;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 #93a05e1a;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:14px;width:min(420px,96vw);padding:28px 24px}.divider{margin-bottom:24px}.meta{margin-top:24px}}.portal-wrapper{z-index:10;display:flex;position:fixed;inset:0}.portal-sidebar{-webkit-backdrop-filter:blur(28px)saturate(160%);width:220px;transition:width .3s var(--ease-smooth);background:#0f0f0bbf;border-right:1px solid #93a05e1f;flex-direction:column;flex-shrink:0;padding:28px 0 20px;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 #93a05e14;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-body);font-size:var(--text-body);color:#ffffff75;flex-shrink:0;padding-top:3px;line-height:1;transition:color .15s}.sidebar-brand:hover .sidebar-brand-close{color:var(--accent-cyan)}.sidebar-brand-text{font-family:var(--font-body);font-size:var(--text-body);color:var(--accent-cyan);margin-bottom:3px;display:block}.sidebar-brand-sub{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff7a;display:block}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:0 10px;display:flex}.sidebar-link{font-family:var(--font-body);font-size:var(--text-body);color:#ffffffa6;transition:color .25s var(--ease-smooth), background .25s var(--ease-smooth), border-color .25s var(--ease-smooth), transform .25s var(--ease-smooth);border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:9px 12px;text-decoration:none;display:flex}.sidebar-link-indicator{font-size:var(--text-body);opacity:0;color:var(--color-olive-light);transition:opacity .25s var(--ease-smooth);flex-shrink:0}.sidebar-link:hover{color:#ffffffe6;background:#93a05e12;transform:translate(2px)}.sidebar-link:hover .sidebar-link-indicator{opacity:.6}.sidebar-link.active{color:var(--color-olive-light);background:#93a05e1f;border-color:#93a05e38}.sidebar-link.active .sidebar-link-indicator{opacity:1}.sidebar-footer{border-top:1px solid #93a05e12;margin-top:8px;padding:16px 10px 0}.sidebar-signout{width:100%;font-family:var(--font-body);font-size:var(--text-body);color:#ffffff7a;cursor:pointer;text-align:left;background:0 0;border:1px solid #ffffff12;border-radius:6px;padding:8px 12px;transition:color .18s,border-color .18s}.sidebar-signout:hover{color:#7a6b54cc;border-color:#7a6b544d}.portal-content{flex:1;padding:48px 44px;position:relative;overflow-y:auto}.sidebar-open-btn{z-index:50;font-family:var(--font-body);color:#ffffffad;cursor:pointer;-webkit-backdrop-filter:blur(12px);background:#0a0a08e6;border:1px solid #93a05e33;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:#93a05e73}.sidebar-backdrop{display:none}.portal-page{max-width:800px}.portal-page-header{margin-bottom:32px}.portal-page-label{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff96;margin-bottom:6px}.portal-page-title{font-family:var(--font-heading);font-size:var(--text-h1);font-weight:700;line-height:var(--leading-h1);letter-spacing:var(--tracking-h1);text-transform:uppercase;color:var(--color-white)}.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-body);font-size:var(--text-body);color:#ffffff80;background:#ffffff05;border:1px solid #ffffff0f;border-radius:12px;padding:32px;line-height:1.6}.login-card{width:min(440px,94vw)}.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-body);font-size:var(--text-body);color:#ffffff8a}.form-input{font-family:var(--font-body);font-size:var(--text-body);color:#f2f1ea;background:#ffffff0a;border:1px solid #93a05e2e;border-radius:10px;outline:none;padding:12px 16px;transition:border-color .2s,box-shadow .2s,background .2s}.form-input::placeholder{color:#ffffff75;font-size:var(--text-body)}.form-input:focus{background:#93a05e0a;border-color:#93a05e73;box-shadow:0 0 0 3px #93a05e12,0 0 18px #93a05e14}.form-error{font-family:var(--font-body);font-size:var(--text-body);color:#7a6b54e6;background:#7a6b5412;border:1px solid #7a6b5433;border-radius:8px;padding:10px 14px}.btn-submit{font-family:var(--font-body);font-size:var(--text-body);color:var(--color-black);background:var(--color-olive);cursor:pointer;transition:background .25s var(--ease-smooth), transform .35s var(--ease-spring), box-shadow .35s var(--ease-smooth);border:1px solid #0000;border-radius:10px;margin-top:4px;padding:14px 24px;font-weight:600;box-shadow:0 8px 24px #93a05e33}.btn-submit:hover:not(:disabled){background:var(--color-olive-light);transform:translateY(-2px);box-shadow:0 12px 32px #93a05e52}.btn-submit:active:not(:disabled){transition-duration:.15s;transform:translateY(0)scale(.97)}.btn-submit:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.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-body);font-size:var(--text-body);color:#f2f1ea;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;outline:none;flex:1;padding:12px 16px;transition:border-color .15s,background .15s}.todo-input::placeholder{color:#ffffff75}.todo-input:focus{background:#93a05e08;border-color:#93a05e66}.todo-add-btn{font-family:var(--font-body);font-size:var(--text-body);color:var(--accent-cyan);cursor:pointer;white-space:nowrap;background:#93a05e12;border:1px solid #93a05e40;border-radius:10px;padding:12px 20px;transition:background .15s,border-color .15s}.todo-add-btn:hover:not(:disabled){background:#93a05e1f;border-color:#93a05e80}.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 #93a05e4d;border-radius:4px;width:16px;height:16px;transition:background .15s,border-color .15s;display:block;position:relative}.todo-check:hover .todo-check-box{background:#93a05e0f;border-color:#93a05eb3}.todo-check-box.checked{background:#93a05e26;border-color:#93a05e80}.todo-check-box.checked:after{content:"✓";font-size:var(--text-body);color:var(--accent-cyan);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.todo-text{font-family:var(--font-body);font-size:var(--text-body);color:#ffffffd4;flex:1;line-height:1.4}.todo-item.done .todo-text{-webkit-text-decoration:line-through #fff3;text-decoration:line-through #fff3}.todo-del{color:#ffffff70;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:#7a6b54b3}.todo-empty{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff78;padding:28px 0 8px}.todo-section-label{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff75;margin-top:20px;margin-bottom:4px;padding-left:2px}.work-wrap{flex-direction:column;gap:36px;max-width:900px;display:flex}.work-section-title{font-family:var(--font-body);font-size:var(--text-body);color:#ffffffbd;margin-bottom:4px}.work-section-sub{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff9e;margin-bottom:14px}.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-heading);font-weight:600;font-size:var(--text-h3);letter-spacing:var(--tracking-h3);color:var(--color-white);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.work-edit-btn{font-family:var(--font-body);font-size:var(--text-body);color:#ffffffa6;cursor:pointer;background:0 0;border:1px solid #ffffff2e;border-radius:5px;flex-shrink:0;padding:4px 10px;transition:color .15s,border-color .15s}.work-edit-btn:hover{color:#ffffffb5;border-color:#ffffff2e}.work-status-badge{font-family:var(--font-body);font-size:var(--text-body);border:1px solid;border-radius:4px;align-self:flex-start;padding:2px 8px;display:inline-block}.work-project-note{font-family:var(--font-body);font-size:var(--text-body);color:#ffffffd1;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-body);font-size:var(--text-body);color:#ffffffa3;flex-shrink:0}.work-next-text{font-family:var(--font-body);font-size:var(--text-body);color:#ffffffe0;line-height:1.4}.work-project-updated{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff94}.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:#93a05e33}.work-priority-num{font-family:var(--font-body);font-size:var(--text-body);color:var(--accent-cyan);opacity:.75;flex-shrink:0}.work-priority-input{font-family:var(--font-body);font-size:var(--text-body);color:#ffffffe6;background:0 0;border:none;outline:none;flex:1}.work-priority-input::placeholder{color:#ffffff85}.work-save-btn{font-family:var(--font-body);font-size:var(--text-body);color:#93a05e8c;cursor:pointer;background:0 0;border:1px solid #93a05e2e;border-radius:5px;padding:4px 12px;transition:all .15s}.work-save-btn:hover:not(:disabled){color:var(--accent-cyan);border-color:#93a05e66}.work-save-btn.saved{color:#ffffff75;cursor:default;border-color:#ffffff0f}.work-dec-add{gap:6px;margin-bottom:10px;display:flex}.work-dec-input{font-family:var(--font-body);font-size:var(--text-body);color:#f2f1ea;background:#ffffff12;border:1px solid #ffffff29;border-radius:8px;outline:none;flex:1;padding:9px 12px;transition:border-color .15s}.work-dec-input:focus{border-color:#9c9c9359}.work-dec-input::placeholder{color:#ffffff8a}.work-dec-add-btn{font-family:var(--font-body);color:#9c9c93b3;cursor:pointer;background:#9c9c930f;border:1px solid #9c9c932e;border-radius:8px;padding:8px 14px;font-size:16px;line-height:1;transition:all .15s}.work-dec-add-btn:hover:not(:disabled){background:#9c9c931f;border-color:#9c9c9366}.work-dec-add-btn:disabled{opacity:.3;cursor:not-allowed}.work-decisions{flex-direction:column;gap:5px;display:flex}.work-decision-item{background:#9c9c931a;border:1px solid #9c9c933d;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-body);font-size:var(--text-body);color:#0000;background:0 0;border:1.5px solid #9c9c9352;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;transition:all .15s;display:flex}.work-dec-check:hover{color:#9c9c93b3;border-color:#9c9c93b3}.work-decision-item.resolved .work-dec-check{color:#9c9c93;background:#9c9c9326;border-color:#9c9c93}.work-dec-text{font-family:var(--font-body);font-size:var(--text-body);color:#ffffffe3;flex:1;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:#ffffff87;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:#7a6b5499}.work-log-form{gap:10px;margin-bottom:12px;display:flex}.work-log-textarea{font-family:var(--font-body);font-size:var(--text-body);color:#f2f1ea;resize:none;background:#ffffff12;border:1px solid #ffffff29;border-radius:10px;outline:none;flex:1;padding:12px 14px;line-height:1.55;transition:border-color .15s}.work-log-textarea:focus{border-color:#93a05e47}.work-log-textarea::placeholder{color:#ffffff8a}.work-log-btn{font-family:var(--font-body);font-size:var(--text-body);color:var(--accent-cyan);cursor:pointer;white-space:nowrap;background:#93a05e0f;border:1px solid #93a05e33;border-radius:10px;align-self:stretch;padding:0 22px;transition:all .15s}.work-log-btn:hover:not(:disabled){background:#93a05e1c;border-color:#93a05e6b}.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-body);font-size:var(--text-body);color:#ffffff9e;flex-shrink:0;min-width:72px;padding-top:1px}.work-log-text{font-family:var(--font-body);font-size:var(--text-body);color:#ffffffd6;line-height:1.5}.work-empty{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff96;padding:8px 0}.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-body);font-size:var(--text-body);color:#ffffff87;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 18px;transition:color .15s,border-color .15s}.gym-tab:hover{color:#ffffffb5}.gym-tab.active{color:#93a05e;border-bottom-color:#93a05e}.gym-info-banner{background:#93a05e0a;border:1px solid #93a05e1a;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-body);font-size:var(--text-body);color:#ffffff7a}.gym-info-value{font-family:var(--font-body);font-size:var(--text-body);color:#ffffffb5}.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-body);font-size:var(--text-body);color:#93a05e;margin-bottom:4px;display:block}.gym-card-title{font-family:var(--font-heading);font-weight:600;font-size:var(--text-h3);letter-spacing:var(--tracking-h3);color:var(--color-white);line-height:var(--leading-h3)}.gym-card-duration{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff7a;margin-top:2px}.gym-start-btn{font-family:var(--font-body);font-size:var(--text-body);color:#93a05e;cursor:pointer;white-space:nowrap;background:#93a05e12;border:1px solid #93a05e38;border-radius:6px;flex-shrink:0;padding:7px 12px;transition:background .15s,border-color .15s}.gym-start-btn:hover{background:#93a05e21;border-color:#93a05e73}.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-body);font-size:var(--text-body);color:#ffffffb5;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.gym-ex-scheme{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff7a;flex-shrink:0}.gym-card-footer{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff78;border-top:1px solid #ffffff0a;padding:10px 18px}.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-body);font-size:var(--text-body);color:var(--color-olive-light);background:#93a05e1a;border:1px solid #93a05e40;border-radius:4px;margin-bottom:7px;padding:3px 10px;display:inline-block}.gym-workout-title{font-family:var(--font-heading);font-weight:700;font-size:var(--text-h1);letter-spacing:var(--tracking-h1);text-transform:uppercase;color:var(--color-white)}.gym-workout-actions{align-items:center;gap:8px;padding-top:4px;display:flex}.gym-progress-text{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff85}.gym-finish-btn{font-family:var(--font-body);font-size:var(--text-body);color:#93a05e;cursor:pointer;background:#93a05e14;border:1px solid #93a05e47;border-radius:8px;padding:9px 18px;transition:background .15s,border-color .15s}.gym-finish-btn:hover:not(:disabled){background:#93a05e24;border-color:#93a05e8c}.gym-finish-btn:disabled{opacity:.45;cursor:not-allowed}.gym-cancel-btn{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff80;cursor:pointer;background:0 0;border:1px solid #ffffff14;border-radius:8px;padding:9px 14px;transition:color .15s,border-color .15s}.gym-cancel-btn:hover{color:#ffffffad;border-color:#ffffff26}.gym-progress-bar-wrap{background:#ffffff0d;border-radius:1px;height:2px;overflow:hidden}.gym-progress-bar-fill{background:linear-gradient(90deg,#93a05e,#5c6440);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:#93a05e33}.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-heading);font-weight:600;font-size:var(--text-body);color:#f2f1ea}.gym-ex-block-target{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff85;flex-shrink:0}.gym-ex-block-notes{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff78;border-bottom:1px solid #ffffff0a;padding:5px 16px 7px}.gym-prev-hint{font-family:var(--font-body);font-size:var(--text-body);color:#93a05e59;border-bottom:1px solid #ffffff08;padding:4px 16px 6px}.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-body);font-size:var(--text-body);color:#ffffff78;flex-shrink:0;width:38px}.gym-set-field{align-items:center;gap:5px;display:flex}.gym-set-input{font-family:var(--font-body);font-size:var(--text-body);color:#f2f1ea;text-align:center;-moz-appearance:textfield;background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;outline:none;padding:5px 8px;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:#93a05e0a;border-color:#93a05e73}.gym-set-input.w{width:64px}.gym-set-input.r{width:50px}.gym-set-unit{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff78}.gym-set-sep{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff6b}.gym-set-check{cursor:pointer;width:28px;height:28px;font-size:var(--text-body);color:#0000;background:0 0;border:1.5px solid #93a05e40;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;transition:background .15s,border-color .15s,color .15s;display:flex}.gym-set-check:hover{color:#93a05e99;border-color:#93a05e99}.gym-set-check.done{color:#93a05e;background:#93a05e26;border-color:#93a05e}.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-heading);font-weight:700;font-size:var(--text-body);color:#93a05e}.gym-history-focus{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff8f}.gym-history-date{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff78}.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-body);font-size:var(--text-body);color:#fff9;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;width:200px;overflow:hidden}.gym-history-ex-sets{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff7d;flex:1}.gym-empty-state{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff78;padding:24px 0}.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-heading);background:linear-gradient(135deg, #f2f1ea 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-body);font-size:var(--text-body);color:#ffffff80;margin-top:5px}.cal-nav{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cal-nav-btn{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff9e;cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:6px;padding:7px 13px;transition:color .15s,border-color .15s,background .15s}.cal-nav-btn:hover{color:var(--accent-cyan);background:#93a05e0d;border-color:#93a05e4d}.cal-nav-btn.today{color:var(--accent-cyan);border-color:#93a05e33}.cal-week-label{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff8f;text-align:center;min-width:150px;padding:0 4px}.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-body);font-size:var(--text-body);color:#ffffff8a;align-items:center;gap:7px;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-body);font-size:var(--text-body);color:#ffffff75;justify-content:flex-end;align-items:flex-start;padding-top:5px;padding-right: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:#93a05e0f;border-bottom:1px solid #93a05e33}.cal-day-name{font-family:var(--font-heading);font-weight:700;font-size:var(--text-body);color:#ffffff94}.cal-day-date{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff75;margin-top:3px}.cal-day-header.today .cal-day-name{color:var(--accent-cyan)}.cal-day-header.today .cal-day-date{color:#93a05e80}.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:#93a05e08}.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-heading);font-weight:600;font-size:var(--text-body);white-space:nowrap;text-overflow:ellipsis;line-height:1.2;overflow:hidden}.cal-event-sub{font-family:var(--font-body);font-size:var(--text-body);opacity:.6;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;overflow:hidden}.cal-event.uni{color:#6e90a8;background:#6e90a826;border-color:#6e90a8}.cal-event.gym{color:#7fa85c;background:#7fa85c26;border-color:#7fa85c}.cal-event.work{color:#b5673a;background:#b5673a26;border-color:#b5673a}.cal-event.social{color:#c25b8c;background:#c25b8c26;border-color:#c25b8c}.cal-event.study{color:#c9a227;background:#c9a22726;border-color:#c9a227}.cal-event.guitar{color:#7a5fa8;background:#7a5fa826;border-color:#7a5fa8}.cal-event.walk{color:#c2a878;background:#c2a87826;border-color:#c2a878}.cal-seed-banner{background:#93a05e0a;border:1px solid #93a05e1f;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-body);font-size:var(--text-body);color:#ffffff96}.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:#0a0a08fa;border:1px solid #93a05e2e;border-radius:16px;width:min(480px,100%);box-shadow:0 0 60px #0009,0 0 80px #5c64401a}.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-heading);color:#f2f1ea;font-size:1rem;font-weight:700}.cal-modal-close{color:#ffffff80;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:20px;line-height:1;transition:color .15s}.cal-modal-close:hover{color:#ffffffc4}.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-body);font-size:var(--text-body);color:#ffffff85}.cal-input,.cal-select{font-family:var(--font-body);font-size:var(--text-body);color:#f2f1ea;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;outline:none;width:100%;padding:10px 12px;transition:border-color .15s,background .15s}.cal-input:focus,.cal-select:focus{background:#93a05e08;border-color:#93a05e66}.cal-select option{color:#f2f1ea;background:#0a0a08}.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-body);font-size:var(--text-body);text-align:center;color:#ffffff8f;background:#ffffff08;border:1px solid #0000;border-radius:6px;padding:8px 4px;transition:color .12s,border-color .12s,background .12s}.cal-cat-btn:hover,.cal-cat-btn.selected{background:#ffffff0f}.cal-btn{font-family:var(--font-body);font-size:var(--text-body);cursor:pointer;border:1px solid;border-radius:7px;padding:9px 16px;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:#93a05e12;border-color:#93a05e47}.cal-btn-primary:hover:not(:disabled){background:#93a05e1f;border-color:#93a05e80;box-shadow:0 0 20px #93a05e26}.cal-btn-danger{color:#7a6b54d9;background:#7a6b540d;border-color:#7a6b5433;margin-right:auto}.cal-btn-danger:hover{background:#7a6b541a;border-color:#7a6b5466}.cal-btn-ghost{color:#ffffff85;background:0 0;border-color:#ffffff14}.cal-btn-ghost:hover{color:#ffffffb5;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-heading);font-weight:700;font-size:var(--text-body);margin-bottom:10px}.cal-note li{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff8a;margin-bottom:4px;padding-left:12px;line-height:1.55;list-style:none;position:relative}.cal-note li:before{content:"·";color:#ffffff78;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{font-size:var(--text-body);margin-bottom:24px;line-height:1.55}.body-text br{display:none}.btn-linkedin{width:100%;font-size:var(--text-body);justify-content:center;gap:10px;padding:16px 24px}.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:var(--text-body)}.cal-grid{-webkit-overflow-scrolling:touch;overflow-x:auto}.cal-days{min-width:620px}.cal-time-col{width:40px}.cal-time-slot{font-size:var(--text-body);padding-right:6px}.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,.work-project-name{font-size:var(--text-body)}.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:var(--text-body)}.gym-set-input.r{width:40px;font-size:var(--text-body)}.gym-set-num{width:30px;font-size:var(--text-body)}.gym-finish-btn,.gym-cancel-btn{font-size:var(--text-body);padding:8px 12px}.cal-nav-btn{font-size:var(--text-body);padding:6px 10px}.cal-week-label{font-size:var(--text-body);min-width:120px}.todo-input{font-size:var(--text-body)}.cal-notes{grid-template-columns:1fr}.portal-page-title{font-size:clamp(1.4rem,8vw,2rem)}}:root{--hp-bg1:var(--color-night);--hp-bg2:var(--color-night-raised)}.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(20px)saturate(160%);background:#10233899;border-bottom:1px solid #ffffff17;position:fixed;top:0;left:0;right:0;box-shadow:inset 0 1px #ffffff0d}.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-heading);color:#f2f1ea;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-body);font-size:var(--text-body);color:#ffffffb5;background:0 0;border:none;border-radius:6px;padding:6px 12px;text-decoration:none;transition:color .2s,background .2s;display:inline-block}.hp-nav-link:hover{color:var(--accent-cyan);background:#93a05e12}.hp-nav-right{flex-shrink:0;align-items:center;gap:12px;margin-left:auto;display:flex}.hp-nav-matrix{font-family:var(--font-body);font-size:var(--text-body);color:var(--accent-cyan);border:1px solid #93a05e4d;border-radius:6px;padding:5px 12px;text-decoration:none;transition:background .2s,border-color .2s}.hp-nav-matrix:hover{background:#93a05e14;border-color:#93a05e99}.hp-nav-toggle{cursor:pointer;color:#ffffffc4;background:0 0;border:none;padding:4px 8px;font-size:1.4rem;display:none}.hp-nav-mobile{pointer-events:all;background:#0a0a08e6;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-color: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-subtitle{font-family:var(--font-body);font-size:var(--text-body);color:#ffffffad;margin-bottom:10px}.hp-hero-name{font-family:var(--font-heading);font-weight:700;font-size:var(--text-h1);line-height:var(--leading-h1);letter-spacing:var(--tracking-h1);text-transform:uppercase;color:var(--color-white);margin-bottom:10px}.hp-hero-headline{font-family:var(--font-heading);font-weight:600;font-size:var(--text-h2);letter-spacing:var(--tracking-h2);color:var(--color-olive-light);margin-bottom:20px}.hp-hero-intro{font-family:var(--font-body);font-size:var(--text-body);color:#ffffffb5;line-height:var(--leading-body);max-width:500px;margin-bottom:32px}.hp-hero-ctas{flex-wrap:wrap;gap:12px;display:flex}.hp-cta-primary{font-family:var(--font-body);font-size:var(--text-body);background:var(--color-olive);color:var(--color-black);cursor:pointer;transition:background .25s var(--ease-smooth), transform .35s var(--ease-spring), box-shadow .35s var(--ease-smooth);border:none;border-radius:8px;padding:12px 28px;font-weight:600;text-decoration:none;display:inline-block}.hp-cta-primary:hover{background:var(--color-olive-light);transform:translateY(-2px);box-shadow:0 10px 28px #93a05e4d}.hp-cta-primary:active{transition-duration:.15s;transform:translateY(0)scale(.97)}.hp-cta-ghost{font-family:var(--font-body);font-size:var(--text-body);color:#ffffffd9;cursor:pointer;-webkit-backdrop-filter:blur(10px);transition:border-color .25s var(--ease-smooth), color .25s var(--ease-smooth), transform .35s var(--ease-spring), background .25s var(--ease-smooth);background:#ffffff08;border:1px solid #ffffff40;border-radius:8px;padding:12px 28px;text-decoration:none;display:inline-block}.hp-cta-ghost:hover{border-color:var(--color-olive);color:var(--color-olive-light);background:#93a05e14;transform:translateY(-2px)}.hp-cta-ghost:active{transition-duration:.15s;transform:translateY(0)scale(.97)}.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-heading);color:var(--accent-cyan);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-body);color:#ffffff87;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-color:var(--hp-bg1);padding:80px 0}.hp-section--alt{background-color:var(--hp-bg2)}.hp-section-inner{max-width:1100px;margin:0 auto;padding:0 32px}.hp-section-title{font-family:var(--font-heading);font-weight:600;font-size:var(--text-h2);letter-spacing:var(--tracking-h2);color:var(--color-white);margin-bottom:40px}.hp-about-text{max-width:720px}.hp-about-text p{color:#ffffffc4;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{transition:border-color .35s var(--ease-smooth), transform .35s var(--ease-smooth), box-shadow .35s var(--ease-smooth);background:0 0;border:1px solid #ffffff17;border-radius:12px;overflow:hidden;box-shadow:inset 0 1px #ffffff0f}.hp-project-card:hover{border-color:#93a05e59;transform:translateY(-4px);box-shadow:inset 0 1px #ffffff14,0 16px 32px #00000059}.hp-project-card:active{transition-duration:.15s;transform:translateY(-2px)scale(.99)}.hp-project-card.featured{border-color:#9c9c9366}.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-heading);font-weight:600;font-size:var(--text-h3);letter-spacing:var(--tracking-h3);color:var(--color-white)}.hp-project-featured{font-family:var(--font-body);font-size:var(--text-body);color:var(--color-grey-light);border:1px solid #9c9c9366;border-radius:4px;padding:2px 7px}.hp-project-desc{font-size:var(--text-body);color:#ffffffad;margin-bottom:14px;line-height:1.6}.hp-project-tags{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.hp-tag{font-family:var(--font-body);font-size:var(--text-body);color:var(--accent-cyan);background:#93a05e14;border:1px solid #93a05e33;border-radius:4px;padding:3px 8px}.hp-project-link{font-family:var(--font-body);font-size:var(--text-body);color:var(--accent-blue);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-heading);font-weight:600;font-size:var(--text-h3);letter-spacing:var(--tracking-h3);color:#ffffffad;margin-bottom:24px}.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 #5c644080}.hp-timeline-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px;display:flex}.hp-timeline-title{font-family:var(--font-heading);font-weight:600;font-size:var(--text-h3);letter-spacing:var(--tracking-h3);color:var(--color-white)}.hp-timeline-period{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff8f;white-space:nowrap}.hp-timeline-org{font-size:var(--text-body);color:var(--accent-cyan);margin-bottom:6px}.hp-timeline-desc{font-size:var(--text-body);color:#ffffffa6;line-height:1.6}.hp-gallery{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.hp-gallery-item{cursor:pointer;transition:transform .35s var(--ease-smooth), border-color .35s var(--ease-smooth), box-shadow .35s var(--ease-smooth);background:0 0;border:1px solid #ffffff0f;border-radius:10px;position:relative;overflow:hidden}.hp-gallery-item:hover{border-color:#93a05e4d;transform:scale(1.03);box-shadow:0 12px 28px #00000059}.hp-gallery-item:active{transition-duration:.15s;transform:scale(1.01)}.hp-gallery-img{object-fit:cover;width:100%;height:200px;display:block}.hp-gallery-caption{font-size:var(--text-body);color:#ffffffa6;font-family:var(--font-body);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:#ffffffb5;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:#f2f1ea}.hp-lightbox-caption{font-family:var(--font-body);font-size:var(--text-body);color:#ffffffa6;cursor:default;margin-top:16px}.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-body);color:#ffffffc4;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:#93a05e0a;border-color:#93a05e59}.hp-contact-icon{width:28px;height:28px;font-size:.8rem;font-family:var(--font-heading);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-color:var(--bg-dark);border-top:1px solid #ffffff0d;padding:24px 0}.hp-footer-inner{max-width:1100px;font-family:var(--font-body);font-size:var(--text-body);color:#ffffff80;justify-content:space-between;align-items:center;margin:0 auto;padding:0 32px;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;font-size:var(--text-body);letter-spacing:.05em}.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-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;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-heading);color:#f2f1ea;font-size:1.5rem;font-weight:800}.mgmt-live-btn{font-family:var(--font-body);color:var(--accent-cyan);border:1px solid #7c84544d;border-radius:6px;padding:6px 14px;font-size:.78rem;text-decoration:none;transition:background .2s,border-color .2s}.mgmt-live-btn:hover{background:#7c845412;border-color:#7c845499}.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-body);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-heading);color:#fffc;margin-bottom:20px;font-size:1.1rem;font-weight:700}.mgmt-field{margin-bottom:16px}.mgmt-label{font-family:var(--font-body);color:#fff6;margin-bottom:6px;font-size:.72rem;display:block}.mgmt-input{width:100%;font-family:var(--font-body);color:#f2f1ea;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:#7c845408;border-color:#7c845466}.mgmt-textarea{width:100%;font-family:var(--font-body);color:#f2f1ea;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:#7c845408;border-color:#7c845466}.mgmt-row{align-items:center;gap:12px;display:flex}.mgmt-row--between{justify-content:space-between}.mgmt-save-btn{font-family:var(--font-body);background:linear-gradient(135deg, var(--accent-blue), var(--accent-purple));color:#f2f1ea;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,#7c8454,#4d5433)}.mgmt-upload-btn{font-family:var(--font-body);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:#7c845412;border-color:#7c84544d}.mgmt-upload-preview{object-fit:cover;border:1px solid #ffffff1a;border-radius:7px;width:52px;height:52px}.mgmt-add-btn{font-family:var(--font-body);color:var(--accent-cyan);cursor:pointer;white-space:nowrap;background:#7c845412;border:1px solid #7c845440;border-radius:7px;padding:7px 14px;font-size:.78rem;transition:background .2s,border-color .2s}.mgmt-add-btn:hover{background:#7c845421;border-color:#7c845480}.mgmt-link{font-family:var(--font-body);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-body);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-body);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:#6b5d4a;background:#6b5d4a1a;border-color:#6b5d4a4d}.mgmt-item-actions button:first-child:hover{color:var(--accent-cyan);background:#7c845414;border-color:#7c84544d}.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-body);font-size:var(--text-body);color:#ffffffc4}.mgmt-toggle{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff96;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff26;border-radius:20px;padding:5px 14px;transition:background .2s,border-color .2s,color .2s}.mgmt-toggle.on{color:var(--accent-cyan);background:#93a05e1a;border-color:#93a05e66}.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{font-size:var(--text-body);border:none;border-top:1px solid #ffffff0f;border-radius:0;padding:6px 8px}.mgmt-gallery-del{color:#ffffffc4;width:22px;height:22px;font-size:var(--text-body);cursor:pointer;background:#000000a6;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex;position:absolute;top:6px;right:6px}.mgmt-gallery-del:hover{color:#f2f1ea;background:#7a6b54cc}.mgmt-empty{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff80;padding:16px 0}.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-heading);font-weight:700;font-size:var(--text-body);color:#f2f1ea}.studies-folder-status{font-family:var(--font-body);font-size:var(--text-body)}.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-body);font-size:var(--text-body);color:var(--accent-cyan);cursor:pointer;background:0 0;border:1px solid #93a05e40;border-radius:8px;padding:6px 14px;transition:background .15s,border-color .15s}.sys1-back-btn:hover{background:#93a05e14;border-color:#93a05e80}.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-body);font-size:var(--text-body);color:#93a05e80;margin-bottom:6px;display:block}.sys1-module-title{font-family:var(--font-heading);background:linear-gradient(135deg, #f2f1ea 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:#ffffff96;font-family:var(--font-body);font-size:var(--text-body);cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;padding:6px 14px;transition:all .15s;display:flex}.sys1-module-btn:hover{color:#ffffffc4;background:#ffffff0d}.sys1-module-btn.active{color:var(--accent-cyan);background:#93a05e1a;border-color:#93a05e59}.sys1-section-tabs{flex-wrap:wrap;gap:6px;margin-bottom:20px;padding-bottom:4px;display:flex;overflow-x:auto}.sys1-section-tab{color:#ffffff94;font-family:var(--font-body);font-size:var(--text-body);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #ffffff1a;border-radius:20px;padding:5px 14px;transition:all .15s}.sys1-section-tab:hover{color:#ffffffbd;border-color:#fff3}.sys1-section-tab.active{color:var(--accent-cyan);background:#93a05e1a;border-color:#93a05e59}.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-heading);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-body);font-size:var(--text-body)}.sys1-exercises-sub{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff8f;margin-bottom:20px}.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-body);font-size:var(--text-body);cursor:pointer;color:#ffffffc4;background:0 0;border:1px solid #ffffff26;border-radius:8px;padding:8px 22px;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:#0a0a08;border-color:var(--accent-cyan);font-weight:700}.sys1-nav-next:hover:not(:disabled):not(.disabled){background:#93a05e;border-color:#93a05e}.sys1-nav-step{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff87}@media (max-width:600px){.sys1-content{padding:20px 16px}.sys1-section-title,.sys1-section-body{font-size:var(--text-body)}.studies-folders{grid-template-columns:1fr 1fr}}.cookie-banner{z-index:9999;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);background:#0a0a08eb;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 #93a05e0f}@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-heading);font-size:var(--text-body);color:#f2f1ea;margin-bottom:4px;font-weight:700}.cookie-banner__desc{font-family:var(--font-body);font-size:var(--text-body);color:#ffffffad;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-body);font-size:var(--text-body);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:9px 18px;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:#0a0a08}.cookie-btn--primary:hover{opacity:.88}.cookie-btn--secondary{color:#ffffffc4;border:1px solid var(--glass-border);background:#ffffff14}.cookie-btn--secondary:hover{color:#f2f1ea;background:#ffffff21}.cookie-btn--ghost{color:var(--accent-cyan);background:0 0;border:1px solid #93a05e4d}.cookie-btn--ghost:hover{background:#93a05e12}.cookie-overlay{z-index:10000;-webkit-backdrop-filter:blur(6px);background:#0a0a08bf;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:#0a0a08f7;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 #93a05e14}@keyframes cookie-modal-in{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.cookie-modal__close{color:#ffffffa6;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:#f2f1ea;background:#ffffff24}.cookie-modal__title{font-family:var(--font-heading);color:#f2f1ea;margin-bottom:8px;font-size:20px;font-weight:800}.cookie-modal__desc{font-family:var(--font-body);font-size:var(--text-body);color:#ffffffa6;margin-bottom:24px;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-heading);font-size:var(--text-body);color:#f2f1ea;font-weight:700}.cookie-category__desc{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff9e;line-height:1.6}.cookie-toggle--always{font-family:var(--font-body);font-size:var(--text-body);color:var(--accent-cyan);background:#93a05e1a;border:1px solid #93a05e40;border-radius:20px;padding:3px 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:#0a0a08;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-color: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-body);font-size:var(--text-body);color:#ffffff96;margin-bottom:40px;text-decoration:none;transition:color .15s;display:inline-block}.privacy-back:hover{color:var(--accent-cyan)}.privacy-title{font-family:var(--font-heading);color:#f2f1ea;letter-spacing:-.01em;margin-bottom:8px;font-size:clamp(28px,5vw,40px);font-weight:800}.privacy-meta{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff8f;margin-bottom:48px}.privacy-section{border-top:1px solid var(--glass-border);margin-bottom:40px;padding-top:28px}.privacy-section h2{font-family:var(--font-heading);color:var(--accent-cyan);margin-bottom:14px;font-size:16px;font-weight:700}.privacy-section h3{font-family:var(--font-heading);font-size:var(--text-body);color:#ffffffdb;margin:20px 0 8px;font-weight:700}.privacy-section h3:first-child{margin-top:0}.privacy-section p{font-family:var(--font-body);font-size:var(--text-body);color:#ffffffb5;margin-bottom:12px;line-height:1.75}.privacy-section ul{font-family:var(--font-body);font-size:var(--text-body);color:#ffffffb5;margin-bottom:12px;padding-left:20px;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-body);font-size:var(--text-body);border:1px solid var(--glass-border);color:#ffffffd4;background:#ffffff14;border-radius:4px;padding:1px 6px}.privacy-table{border-collapse:collapse;width:100%;font-family:var(--font-body);font-size:var(--text-body);margin:12px 0 16px}.privacy-table th{text-align:left;color:#ffffff96;border-bottom:1px solid var(--glass-border);padding:8px 12px;font-weight:700}.privacy-table td{color:#ffffffbd;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-body);font-size:var(--text-body);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;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-body);font-size:var(--text-body);color:#ffffff87;text-decoration:none;transition:color .15s}.hp-footer-privacy:hover{color:#ffffffb5}.skip-link{z-index:9999;background:var(--accent-cyan);color:#0a0a08;font-family:var(--font-body);font-size:var(--text-body);white-space:nowrap;border-radius:0 0 10px 10px;padding:12px 28px;font-weight:700;text-decoration:none;transition:top .2s;position:fixed;top:-100%;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #93a05e66}.skip-link:focus{outline-offset:-3px;outline:3px solid #0a0a08;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 #93a05e99}.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:#d6e6ab;--accent-blue:#b8c98a;--accent-purple:#e8e8de;--bg-dark:#0a0a08;--glass-bg:#000000f5;--glass-border:#ffffff8c}.a11y-high-contrast body{color:#f2f1ea;background:#0a0a08}.a11y-high-contrast .hp-nav{background:#0a0a08;border-bottom-color:#ffffff80}.a11y-high-contrast .hp-nav-link,.a11y-high-contrast .hp-nav-brand{color:#f2f1ea}.a11y-high-contrast .hp-nav-link:hover{color:#93a05e;background:#93a05e1f}.a11y-high-contrast .hp-hero,.a11y-high-contrast .hp-section,.a11y-high-contrast .hp-section--alt{background:#0a0a08}.a11y-high-contrast .hp-hero-subtitle{color:#93a05e}.a11y-high-contrast .hp-hero-headline,.a11y-high-contrast .hp-section-title{color:#f2f1ea}.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:#ffffffe3}.a11y-high-contrast .hp-project-card{background:#0a0a08;border-color:#fff6}.a11y-high-contrast .lg-panel--static .lg-panel-refraction,.a11y-high-contrast .lg-panel--static .lg-panel-sheen{display:none}.a11y-high-contrast .hp-timeline-period,.a11y-high-contrast .hp-timeline-org{color:#fffc}.a11y-high-contrast .hp-footer{background:#0a0a08;border-top-color:#ffffff4d}.a11y-high-contrast .glass-card{background:#0a0a08;border-color:#fff6}.a11y-high-contrast .form-input{color:#f2f1ea;background:#0a0a08;border-color:#fff6}.a11y-high-contrast .sidebar-nav .sidebar-link{color:#ffffffdb}.a11y-high-contrast .sidebar-link.active,.a11y-high-contrast .sidebar-link:hover{color:#93a05e}.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:var(--text-body)}.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-body);font-size:var(--text-body);-webkit-backdrop-filter:blur(16px);background:#0a0a08d1;border:1px solid #93a05e47;border-radius:100px;align-items:center;gap:7px;padding:10px 14px;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 #93a05e14}.a11y-fab:hover{border-color:#93a05e99;transform:translateY(-2px);box-shadow:inset 0 0 0 1px #ffffff0f,0 6px 30px #0009,0 0 28px #93a05e2e}.a11y-fab:active{transform:translateY(0)}.a11y-fab-label{color:#93a05ebf}.a11y-panel{z-index:8999;-webkit-backdrop-filter:blur(40px)saturate(160%);pointer-events:none;opacity:0;transform-origin:100% 100%;background:#0a0a08ed;border:1px solid #93a05e38;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 #93a05e00,0 20px 60px #000000a6,0 0 60px #5c64401a}.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-body);font-size:var(--text-body);color:var(--accent-cyan);font-weight:700}.a11y-panel-close{color:#ffffff96;font-size:var(--text-body);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 4px;line-height:1;transition:color .15s}.a11y-panel-close:hover{color:#ffffffdb}.a11y-group{margin-bottom:14px}.a11y-group-label{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff94;margin-bottom:8px}.a11y-text-btns{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.a11y-text-btn{color:#ffffffbd;cursor:pointer;font-family:var(--font-heading);font-size:var(--text-body);text-align:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;padding:8px 4px;font-weight:700;transition:background .15s,border-color .15s,color .15s}.a11y-text-btn:hover{color:#f2f1ea;background:#93a05e14;border-color:#93a05e59}.a11y-text-btn.active{color:var(--accent-cyan);background:#93a05e24;border-color:#93a05e8c}.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-heading);font-size:var(--text-body);color:#ffffffe0;font-weight:600}.a11y-toggle-desc{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff94}.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:#93a05e38;border-color:#93a05e80}.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:#ffffffa6;cursor:pointer;width:100%;font-family:var(--font-body);font-size:var(--text-body);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;margin-top:4px;padding:9px;transition:background .15s,color .15s,border-color .15s}.a11y-reset:hover{color:#7a6b54cc;background:#7a6b5412;border-color:#7a6b5440}.a11y-panel-note{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff78;text-align:center;margin-top:10px}@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:#ffffffb5;font-size:var(--text-body);max-width:720px;margin:4px 0 20px;line-height:1.6}.py-btn{color:#f2f1ea;font-family:var(--font-body);font-size:var(--text-body);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff26;border-radius:10px;align-items:center;gap:6px;padding:10px 18px;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:#bcc78f1f;border-color:#bcc78f66;font-weight:700}.py-btn-primary:hover{background:#bcc78f33}.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:#ffffffb5;font-family:var(--font-body);font-size:var(--text-body);border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;text-decoration:none;transition:all .2s;display:flex;position:relative}.py-nav-tab:hover{color:#f2f1ea;background:#ffffff0d}.py-nav-tab.active{color:var(--py-green);background:#bcc78f1a;border-color:#bcc78f4d}.py-nav-review{color:#bcc78f;border-color:#bcc78f4d}.py-nav-badge{color:#f2f1ea;font-size:var(--text-body);background:#7a6b54;border-radius:999px;padding:1px 6px;font-weight:700}.py-nav-status{font-family:var(--font-body);font-size:var(--text-body);color:#ffffffb5;flex-wrap:wrap;gap:14px;display:flex}.py-nav-streak{color:#bcc78f}.py-nav-streak-flame{border:1px solid #bcc78f80;border-radius:999px;padding:1px 8px;box-shadow:0 0 8px #bcc78f59}.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{font-size:var(--text-body);cursor:default}.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-heading);color:#bcc78f}.py-dash-streak-label{font-size:var(--text-body);color:#ffffffa6;font-family:var(--font-body)}.py-dash-xp-head{font-family:var(--font-body);font-size:var(--text-body);color:#ffffffc4;justify-content:space-between;margin-bottom:8px;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{font-size:var(--text-body);color:#ffffff96;font-family:var(--font-body);margin-top:6px;display:block}.py-dash-spark{flex-direction:column;gap:8px;display:flex}.py-dash-spark>span{font-size:var(--text-body);color:#ffffffa6;font-family:var(--font-body)}.py-sparkline{align-items:flex-end;gap:6px;height:40px;display:flex}.py-sparkline-bar{background:linear-gradient(180deg, var(--py-green), #bcc78f33);border-radius:3px;flex:1;min-height:4px}.py-dash-review-banner{color:#bcc78f;font-family:var(--font-body);font-size:var(--text-body);background:#bcc78f14;border:1px solid #bcc78f4d;border-radius:12px;margin-bottom:24px;padding:12px 16px;text-decoration:none;transition:background .2s;display:block}.py-dash-review-banner:hover{background:#bcc78f26}.py-dash-section{margin-bottom:28px}.py-dash-section h3{font-family:var(--font-heading);color:#f2f1ea;margin-bottom:12px;font-size:16px}.py-dash-empty{color:#ffffff96;font-size:var(--text-body)}.py-dash-plan{flex-direction:column;gap:8px;display:flex}.py-plan-item{color:#ffffffd4;font-size:var(--text-body);background:#ffffff08;border:1px solid #ffffff14;border-radius:10px;align-items:center;gap:10px;padding:12px 16px;text-decoration:none;transition:all .2s;display:flex}.py-plan-item:hover{border-color:var(--py-green);background:#bcc78f0d}.py-dash-boss-tease{color:#ffffffc4;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:#f2f1ea;background:#bcc78f0f;border-color:#bcc78f66}.py-dash-boss-tease strong{color:#f2f1ea;margin-bottom:2px;display:block}.py-dash-boss-tease p{font-size:var(--text-body);color:#ffffffa6;margin:0}.py-activity-list{flex-direction:column;gap:6px;list-style:none;display:flex}.py-activity-list li{font-size:var(--text-body);color:#ffffffc4;background:#ffffff05;border-radius:8px;justify-content:space-between;padding:8px 14px;display:flex}.py-activity-xp{color:var(--py-green);font-family:var(--font-body);font-weight:700}.py-theory-concept{margin-bottom:18px}.py-theory-concept-label{font-family:var(--font-body);font-size:var(--text-body);color:var(--py-green)}.py-theory-concept h3{font-family:var(--font-heading);font-weight:600;font-size:var(--text-h2);letter-spacing:var(--tracking-h2);margin:4px 0 6px}.py-theory-teaser{color:#ffffffad;font-size:var(--text-body)}.py-recall-box{background:#bcc78f0a;border:1px dashed #bcc78f4d;border-radius:14px;margin-bottom:20px;padding:20px}.py-recall-prompt{font-size:var(--text-body);color:#ffffffdb;margin-bottom:10px}.py-recall-input{color:#f2f1ea;width:100%;font-family:var(--font-body);font-size:var(--text-body);resize:vertical;background:#0000004d;border:1px solid #ffffff26;border-radius:8px;margin-bottom:12px;padding:10px 12px}.py-recall-reveal-btn{background:var(--py-green);color:#0a0a08;cursor:pointer;font-weight:700;font-family:var(--font-body);font-size:var(--text-body);border:none;border-radius:8px;padding:10px 18px}.py-recall-echo{border-left:3px solid var(--accent-cyan);font-size:var(--text-body);background:#ffffff08;border-radius:6px;flex-direction:column;gap:4px;margin-bottom:16px;padding:10px 14px;display:flex}.py-recall-echo-label{color:#ffffff96;font-family:var(--font-body);font-size:var(--text-body)}.py-recall-echo-text{color:#ffffffc4;font-style:italic}.py-theory-explanation{margin-bottom:16px}.py-theory-example{margin:24px 0}.py-theory-example-title{font-family:var(--font-heading);font-size:var(--text-body);color:var(--accent-cyan);margin-bottom:6px}.py-theory-example-static pre{font-family:var(--font-body);font-size:var(--text-body);color:#ffffffd4;background:#0a0a08;border:1px solid #ffffff1a;border-radius:10px;padding:14px 16px;overflow-x:auto}.py-theory-example-note{font-size:var(--text-body);color:#bcc78fe6;margin-top:8px}.py-theory-example-note code{background:#ffffff14;border-radius:4px;padding:1px 6px}.py-md-code{font-family:var(--font-body);font-size:var(--text-body);color:#ffffffd4;background:#0a0a08;border:1px solid #ffffff1a;border-radius:10px;margin:12px 0;padding:14px 16px;position:relative;overflow-x:auto}.py-md-code-lang{font-size:var(--text-body);color:#ffffff87;position:absolute;top:6px;right:12px}.py-editor-wrap{background:#0a0a08;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:#f2f1ea;font-size:var(--text-body);font-family:var(--font-body);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:#bcc78f1f;border-color:#bcc78f66;font-weight:700}.py-editor-autosave{font-size:var(--text-body);color:#ffffff87;font-family:var(--font-body);margin-left:auto}.py-editor-monaco{border-bottom:1px solid #ffffff14}.py-editor-output{padding:12px 16px}.py-check-row{font-size:var(--text-body);color:#ffffffb5;padding:5px 0}.py-check-row.pass{color:#bcc78f}.py-check-row.fail{color:#7a6b54}.py-check-row code{background:#ffffff0f;border-radius:4px;padding:1px 6px}.py-editor-verdict{font-weight:700;font-family:var(--font-body);font-size:var(--text-body);margin-top:8px}.py-editor-verdict.pass{color:var(--py-green)}.py-editor-verdict.fail{color:#7a6b54}.py-editor-stdout{margin-top:8px}.py-editor-stdout-label{font-size:var(--text-body);color:#ffffff87;font-family:var(--font-body);text-transform:uppercase}.py-editor-stdout pre,.py-editor-stdout-plain{font-family:var(--font-body);font-size:var(--text-body);color:#fffc;white-space:pre-wrap;background:#ffffff08;border-radius:6px;margin-top:4px;padding:8px 12px}.py-editor-stderr{color:#7a6b54}.py-editor-empty{color:#ffffff87;font-style:italic}.py-hints{margin:14px 0}.py-hint-card{font-size:var(--text-body);background:#93a05e0a;border:1px dashed #93a05e40;border-radius:8px;flex-direction:column;gap:3px;margin-bottom:8px;padding:10px 14px;display:flex}.py-hint-num{font-family:var(--font-body);font-size:var(--text-body);color:var(--accent-cyan);text-transform:uppercase;letter-spacing:.06em}.py-hint-text{color:#ffffffc4}.py-hint-btn{color:#ffffffb5;font-size:var(--text-body);cursor:pointer;font-family:var(--font-body);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:#bcc78f;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:#ffffffa6;font-family:var(--font-body);font-size:var(--text-body);text-decoration:none}.py-lesson-back:hover{color:var(--py-green)}.py-lesson-complete-badge{color:var(--py-green);font-size:var(--text-body);font-family:var(--font-body);background:#bcc78f1f;border-radius:999px;padding:4px 12px}.py-bias-badge{font-size:var(--text-body);font-family:var(--font-body);border-radius:999px;padding:4px 12px}.py-bias-up{color:#bcc78f;background:#bcc78f1f}.py-bias-down{color:var(--accent-cyan);background:#93a05e1a}.py-lesson-tabs{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.py-lesson-tab{color:#ffffffb5;font-size:var(--text-body);cursor:pointer;font-family:var(--font-body);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:#bcc78f14}.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:#ffffffb5;cursor:pointer;width:30px;height:30px;font-family:var(--font-body);font-size:var(--text-body);background:#ffffff0a;border:1px solid #ffffff26;border-radius:50%}.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:#bcc78f1a}.py-exercise-block{margin-bottom:20px}.py-exercise-difficulty{color:var(--py-green);letter-spacing:3px;font-size:var(--text-body);margin-bottom:8px}.py-exercise-prompt{font-size:var(--text-body);color:#ffffffdb;margin-bottom:10px;line-height:1.6}.py-exercise-done{color:var(--py-green);font-family:var(--font-body);font-size:var(--text-body);margin-top:8px;font-weight:700}.py-solo-banner{font-size:var(--text-body);color:#fffc;background:#9c9c9314;border:1px solid #9c9c934d;border-radius:10px;margin-bottom:16px;padding:12px 16px}.py-lesson-finished{text-align:center;background:#bcc78f0f;border:1px solid #bcc78f4d;border-radius:12px;margin-top:20px;padding:20px}.py-lesson-finished p{font-size:var(--text-body);margin-bottom:12px}.py-vis-wrap{background:#0a0a08;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-heading);font-weight:600;font-size:var(--text-h3);letter-spacing:var(--tracking-h3)}.py-vis-close{color:#ffffffa6;cursor:pointer;font-size:var(--text-body);background:0 0;border:none}.py-vis-loading,.py-vis-error{text-align:center;color:#ffffffa6;font-family:var(--font-body);font-size:var(--text-body);padding:20px}.py-vis-error{color:#7a6b54}.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-body);font-size:var(--text-body);background:#ffffff05;border-radius:8px;max-height:360px;padding:8px 0;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:#bcc78f1f}.py-vis-lineno{color:#ffffff80;-webkit-user-select:none;user-select:none;flex-shrink:0;width:28px}.py-vis-linetext{color:#fffc}.py-vis-panel-section{margin-bottom:16px}.py-vis-panel-section h4{font-size:var(--text-body);text-transform:uppercase;letter-spacing:.08em;color:#ffffff96;font-family:var(--font-body);margin-bottom:8px}.py-vis-empty{color:#ffffff80;font-size:var(--text-body)}.py-vis-stack{flex-direction:column;gap:3px;display:flex}.py-vis-stack-frame{font-family:var(--font-body);font-size:var(--text-body);color:var(--accent-cyan)}.py-vis-varlist{flex-direction:column;gap:10px;display:flex}.py-vis-varrow{font-family:var(--font-body);font-size:var(--text-body)}.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:#ffffffd4;word-break:break-word}.py-vis-var-type{color:#ffffff8f}.py-vis-boxdiagram{flex-wrap:wrap;gap:4px;display:flex}.py-vis-box-empty{color:#ffffff80;font-size:var(--text-body)}.py-vis-item-box{background:#93a05e0d;border:1px solid #93a05e4d;border-radius:4px;flex-direction:column;align-items:center;min-width:28px;padding:3px 8px;display:flex}.py-vis-box-index{font-size:var(--text-body);color:#ffffff8f}.py-vis-box-val{color:#ffffffdb;font-size:var(--text-body)}.py-vis-kv-box{background:#9c9c930f;border:1px solid #9c9c9359;border-radius:4px;align-items:center;gap:5px;padding:4px 8px;display:flex}.py-vis-box-key{color:var(--accent-purple);font-size:var(--text-body)}.py-vis-box-arrow{color:#ffffff87;font-size:var(--text-body)}.py-vis-error-box{color:#7a6b54;font-size:var(--text-body)}.py-vis-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:16px;display:flex}.py-vis-controls button{color:#f2f1ea;font-size:var(--text-body);cursor:pointer;font-family:var(--font-body);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-body);font-size:var(--text-body);color:#ffffffa6}.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-body);font-size:var(--text-body);color:var(--phase-color);text-transform:uppercase;letter-spacing:.1em}.py-tree-phase-header h3{font-family:var(--font-heading);font-weight:600;font-size:var(--text-h2);letter-spacing:var(--tracking-h2);margin:4px 0}.py-tree-phase-header p{font-size:var(--text-body);color:#ffffff96}.py-tree-node-row{z-index:1;justify-content:center;margin:10px 0;display:flex;position:relative}.py-node{color:#ffffffb5;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:var(--text-body);font-family:var(--font-body);line-height:1.3}.py-node-available{border-color:var(--phase-color);color:#f2f1ea;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:#f2f1ea;animation:1.8s infinite py-pulse}.py-node-complete{border-color:var(--py-green);color:var(--py-green);background:#bcc78f1a}.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:#ffffffb5;font-size:var(--text-body);cursor:pointer;font-family:var(--font-body);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:#bcc78f14}.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:#bcc78f08;border-color:#bcc78f59}.py-kata-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.py-kata-kyu{font-family:var(--font-body);font-size:var(--text-body);color:#bcc78f;background:#bcc78f1a;border-radius:999px;padding:2px 8px}.py-kata-head h4{font-family:var(--font-heading);font-size:var(--text-body)}.py-kata-solved-badge{color:var(--py-green);font-size:var(--text-body);font-family:var(--font-body);margin-left:auto}.py-kata-topic{font-size:var(--text-body);color:var(--accent-cyan);margin-bottom:4px}.py-kata-why{font-size:var(--text-body);color:#ffffffad;margin-bottom:10px}.py-kata-link{color:var(--accent-cyan);font-size:var(--text-body);margin-bottom:10px;text-decoration:none;display:inline-block}.py-kata-link:hover{text-decoration:underline}.py-kata-rate{font-size:var(--text-body);color:#ffffff96;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.py-kata-rate button{color:#f2f1ea;font-size:var(--text-body);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff26;border-radius:7px;padding:5px 10px}.py-kata-rate button:hover{border-color:var(--py-green)}.py-kata-rated{font-size:var(--text-body);color:#ffffffa6;margin-top:8px}.py-kata-secret{background:#bcc78f0f;border:1px solid #bcc78f4d;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:#bcc78f0a;border-color:#bcc78f66}.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-heading);font-weight:600;font-size:var(--text-h3);letter-spacing:var(--tracking-h3);margin:2px 0 4px}.py-boss-phase{font-size:var(--text-body);color:var(--phase-color);font-family:var(--font-body);text-transform:uppercase;letter-spacing:.08em}.py-boss-info p{font-size:var(--text-body);color:#ffffffa6}.py-boss-xp{font-family:var(--font-body);color:#bcc78f;font-size:var(--text-body);flex-shrink:0;font-weight:700}.py-boss-story{border-left:3px solid var(--accent-purple);color:#fffc;font-style:italic;font-size:var(--text-body);background:#9c9c930f;border-radius:6px;margin-bottom:18px;padding:14px 18px;line-height:1.7}.py-boss-spec{margin-bottom:20px}.py-boss-spec h3,.py-boss-checklist h3{font-family:var(--font-heading);font-weight:600;font-size:var(--text-h3);letter-spacing:var(--tracking-h3);margin-bottom:10px}.py-boss-local{margin-bottom:20px}.py-boss-starter{font-family:var(--font-body);font-size:var(--text-body);color:#fffc;background:#0a0a08;border:1px solid #ffffff1a;border-radius:10px;max-height:420px;margin-top:10px;padding:16px;overflow:auto}.py-boss-checklist{margin:20px 0}.py-checklist-item{font-size:var(--text-body);color:#fffc;cursor:pointer;align-items:center;gap:10px;padding:8px 4px;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{font-size:var(--text-body);color:#ffffff96;font-family:var(--font-body)}.py-boss-finish{text-align:center;width:100%;font-size:var(--text-body);justify-content:center;margin-top:10px;padding:14px}.py-boss-finish:disabled{opacity:.4;cursor:not-allowed}.py-shop-balance{font-family:var(--font-body);background:#bcc78f0f;border:1px solid #bcc78f4d;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);font-size:var(--text-body);background:#93a05e14;border:1px solid #93a05e4d;border-radius:8px;margin-bottom:16px;padding:10px 16px}.py-shop-section{margin-bottom:26px}.py-shop-section h3{font-family:var(--font-heading);font-size:var(--text-body);margin-bottom:12px}.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:#bcc78f4d}.py-shop-icon{font-size:24px}.py-shop-card h4{font-size:var(--text-body);margin:6px 0 3px}.py-shop-card p{font-size:var(--text-body);color:#ffffffa6;min-height:30px;margin-bottom:10px}.py-shop-footer{justify-content:space-between;align-items:center;display:flex}.py-shop-cost{font-family:var(--font-body);color:#bcc78f;font-size:var(--text-body)}.py-shop-owned{color:var(--py-green);font-size:var(--text-body);font-family:var(--font-body)}.py-shop-equip{font-family:var(--font-body);font-size:var(--text-body);color:var(--accent-cyan);cursor:pointer;background:#93a05e14;border:1px solid #93a05e59;border-radius:6px;padding:5px 10px}.py-shop-equip:hover{border-color:var(--accent-cyan)}.py-shop-footer button{color:var(--py-green);font-size:var(--text-body);cursor:pointer;font-family:var(--font-body);background:#bcc78f1f;border:1px solid #bcc78f66;border-radius:7px;padding:6px 12px}.py-shop-footer button:disabled{opacity:.3;cursor:not-allowed}.py-shop-perks{font-size:var(--text-body);color:#ffffffb5;flex-direction:column;gap:6px;list-style:none;display:flex}.py-dojo-stats{font-family:var(--font-body);font-size:var(--text-body);color:#ffffffb5;gap:20px;margin-bottom:16px;display:flex}.py-dojo-target{font-family:var(--font-body);font-size:var(--text-body);white-space:pre-wrap;background:#0a0a08;border:1px solid #ffffff1f;border-radius:10px;margin-bottom:14px;padding:16px 18px;line-height:1.8}.py-dojo-correct{color:var(--py-green)}.py-dojo-wrong{color:#7a6b54;background:#7a6b5426}.py-dojo-untyped{color:#ffffff87}.py-dojo-cursor{color:#ffffff87;border-bottom:2px solid var(--accent-cyan)}.py-dojo-input{color:#f2f1ea;width:100%;font-family:var(--font-body);font-size:var(--text-body);resize:vertical;background:#ffffff08;border:1px solid #ffffff26;border-radius:10px;padding:12px 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-heading);font-size:var(--text-body);margin-bottom:10px}.py-dojo-leaderboard-list{font-family:var(--font-body);font-size:var(--text-body);flex-direction:column;gap:6px;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:#bcc78f;width:24px}.py-dojo-lb-wpm{color:var(--py-green);flex:1;font-weight:700}.py-dojo-lb-date{color:#ffffff8f;font-size:var(--text-body)}.py-review-empty{text-align:center;padding:40px 20px}.py-review-empty p{color:#ffffffb5;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-body);font-size:var(--text-body);background:#0a0a08f2;border:1px solid #bcc78f66;border-radius:10px;padding:10px 18px;font-weight:700;animation:.3s py-toast-in;box-shadow:0 4px 20px #0006}.py-toast-achievement{color:#bcc78f;border-color:#bcc78f80}@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,#bcc78f26,#0a0a08fa);border:1px solid #bcc78f66;border-radius:24px;padding:40px 60px}.py-levelup-icon{margin-bottom:10px;font-size:48px}.py-levelup-title{font-family:var(--font-heading);color:var(--py-green);font-size:32px;font-weight:800}.py-levelup-rank{font-family:var(--font-body);color:#ffffffc4;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:var(--text-body);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-body);font-size:var(--text-body);color:#ffffffd4;background:#0a0a08e6;border:1px solid #93a05e40;border-radius:8px;max-width:160px;margin-bottom:6px;padding:6px 10px}@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:#0a0a08d9;border-bottom:1px solid #93a05e1a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:16px 44px;display:flex}.py-demo-brand{font-family:var(--font-heading);font-weight:800;font-size:var(--text-body);color:#f2f1ea;text-decoration:none}.py-demo-brand:hover{color:var(--accent-cyan)}.py-demo-banner{font-family:var(--font-body);font-size:var(--text-body);flex-wrap:wrap;align-items:center;gap:14px;display:flex}.py-demo-banner span{color:#ffffffb5}.py-demo-banner a{color:var(--py-green);white-space:nowrap;border:1px solid #bcc78f4d;border-radius:999px;padding:4px 12px;text-decoration:none}.py-demo-banner a:hover{border-color:var(--py-green);background:#bcc78f14}.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{font-size:var(--text-body);gap:8px}.py-nav-tabs{gap:4px}.py-nav-tab{font-size:var(--text-body);padding:6px 10px}.py-nav-status{font-size:var(--text-body);gap:10px}.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{font-size:var(--text-body);padding:7px 10px}.py-mascot{display:none}}@media (max-width:480px){.portal-page-header .py-page-intro,.py-page-intro{font-size:var(--text-body)}.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:#ffffffb5;font-family:var(--font-body);font-size:var(--text-body);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:8px;padding:7px 14px;transition:color .15s,border-color .15s}.budget-tab:hover{color:#f2f1ea}.budget-tab.active{color:var(--py-green);background:#bcc78f14;border-color:#bcc78f66}.budget-topbar-actions{align-items:center;gap:10px;display:flex}.work-edit-btn.active{color:var(--py-green);border-color:#bcc78f66}.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-heading);color:#f2f1ea;font-size:22px;font-weight:800}.budget-hero-value.positive{color:#93a05e}.budget-hero-value.negative{color:#7a6b54}.budget-hero-label{font-family:var(--font-body);font-size:var(--text-body);color:#ffffffa6}.budget-note{font-size:var(--text-body);color:#ffffffad;border-left:2px solid #93a05e4d;padding-left:12px;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-body);font-size:var(--text-body);letter-spacing:.06em;color:#ffffffad}.budget-primary-value{font-family:var(--font-heading);color:#f2f1ea;font-size:clamp(28px,4vw,40px);font-weight:800}.budget-primary-value.negative{color:#7a6b54}.budget-primary-delta{font-family:var(--font-body);font-size:var(--text-body)}.budget-primary-delta.positive{color:#93a05e}.budget-primary-delta.negative{color:#46463f}.budget-primary-arrow{font-family:var(--font-body);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:#93a05e59}.budget-trip-chip-name{font-size:var(--text-body);font-weight:700}.budget-trip-chip-pct{font-family:var(--font-body);font-size:var(--text-body);color:#ffffffa6}.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-weight:700;font-size:var(--text-body)}.budget-status{font-family:var(--font-body);font-size:var(--text-body);white-space:nowrap;border:1px solid;border-radius:999px;padding:3px 9px}.budget-status-on-track{color:#93a05e;background:#93a05e14;border-color:#93a05e66}.budget-status-near-limit{color:#bcc78f;background:#bcc78f14;border-color:#bcc78f66}.budget-status-over-budget{color:#46463f;background:#46463f14;border-color:#46463f66}.budget-status-completed{color:#5c6440;background:#5c644014;border-color:#5c644066}.budget-status-trip-idea{color:#ffffffa6;border-color:#fff3}.budget-status-trip-planned{color:#93a05e;background:#93a05e0f;border-color:#93a05e59}.budget-status-trip-booked{color:#9c9c93;background:#9c9c9314;border-color:#9c9c9366}.budget-status-trip-completed{color:#93a05e;background:#93a05e14;border-color:#93a05e66}.budget-status-trip-cancelled{color:#ffffff8f;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,#46463f,#7a6b54)}.budget-row-figures{font-family:var(--font-body);font-size:var(--text-body);color:#ffffffd4;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.budget-row-diff{color:#ffffffa6;font-size:var(--text-body)}.budget-row-note{font-size:var(--text-body);color:#ffffff9e}.budget-row-pct{font-family:var(--font-body);font-size:var(--text-body);color:var(--py-green)}.budget-row-savings .budget-bar-track{height:10px}.budget-edit-input{color:#f2f1ea;width:90px;font-family:var(--font-body);font-size:var(--text-body);background:#93a05e14;border:1px solid #93a05e59;border-radius:6px;padding:2px 8px}.budget-edit-input:focus{border-color:var(--accent-cyan);outline:none}.budget-edit-note-input{color:#ffffffd4;width:100%;font-family:inherit;font-size:var(--text-body);background:#93a05e0f;border:1px solid #93a05e40;border-radius:6px;padding:4px 8px}.budget-edit-note-input:focus{border-color:var(--accent-cyan);outline:none}.budget-edit-note-input::placeholder{color:#ffffff8f}.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-weight:700;font-size:var(--text-body)}.budget-optional-tag{color:#ffffff96;font-weight:400;font-size:var(--text-body)}.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-body);font-size:var(--text-body);color:#ffffff96}.budget-tx-note{font-size:var(--text-body);color:#ffffffd4;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.budget-tx-amount{font-family:var(--font-body);font-size:var(--text-body);font-weight:700}.budget-tx-amount.positive{color:#93a05e}.budget-tx-amount.negative{color:#7a6b54}.budget-tx-amount.neutral{color:#5c6440}.budget-month-nav{justify-content:center;align-items:center;gap:20px;margin-bottom:18px;display:flex}.budget-month-label{font-family:var(--font-heading);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{font-size:var(--text-body);grid-template-columns:1.4fr 1fr 1fr 1fr;gap:10px;padding:9px 4px;display:grid}.budget-table-head{font-family:var(--font-body);font-size:var(--text-body);color:#ffffff96;border-bottom:1px solid #ffffff1a}.budget-table-row{font-family:var(--font-body);border-bottom:1px solid #ffffff0d}.budget-table-row .over{color:#46463f}.budget-table-row .under{color:#93a05e}.budget-tx-type-row{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.budget-tx-type-btn{color:#ffffffb5;min-width:90px;font-family:var(--font-body);font-size:var(--text-body);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff24;border-radius:8px;flex:1;padding:8px 10px}.budget-tx-type-btn.active{color:var(--accent-cyan);background:#93a05e14;border-color:#93a05e66}.budget-tx-error{color:#7a6b54;font-size:var(--text-body)}@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}}.otter-mascot{z-index:5;pointer-events:none;width:128px;height:128px;transition:top .4s var(--ease-smooth), left .4s var(--ease-smooth), opacity .3s;position:fixed;top:90px;left:16px}.otter-mascot--hidden{opacity:0;pointer-events:none}.otter-mascot--hidden .otter-mascot-canvas{pointer-events:none}.otter-mascot-canvas{pointer-events:auto;filter:drop-shadow(0 0 2px #ffe2b8d9)drop-shadow(0 0 7px #ffca9473)drop-shadow(0 12px 20px #00000073);cursor:grab;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;width:100%;height:100%}@keyframes otterHintWiggle{0%,to{transform:rotate(0)scale(1)}18%{transform:rotate(-7deg)scale(1.05)}36%{transform:rotate(6deg)scale(1.05)}54%{transform:rotate(-4deg)scale(1.02)}72%{transform:rotate(2deg)scale(1.01)}}.otter-mascot--hint .otter-mascot-canvas{animation:otterHintWiggle 1.1s var(--ease-smooth)}.otter-greeting{width:190px;color:var(--color-white);font-family:var(--font-body);text-align:left;cursor:pointer;pointer-events:auto;animation:otterGreetingIn .35s var(--ease-smooth) both;background:#102338f0;border:1px solid #93a05e59;border-radius:14px;margin-bottom:10px;padding:10px 14px;font-size:.82rem;line-height:1.4;position:absolute;bottom:100%;left:50%;transform:translate(-50%);box-shadow:0 12px 28px #0006}.otter-greeting:after{content:"";border:6px solid #0000;border-top-color:#102338f0;position:absolute;top:100%;left:50%;transform:translate(-50%)}@keyframes otterGreetingIn{0%{opacity:0;transform:translate(-50%)translateY(6px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.otter-mascot .otter-chat{z-index:6;pointer-events:auto;width:300px;max-width:calc(100vw - 32px);max-height:340px;animation:otterChatIn .3s var(--ease-smooth) both;background:0 0;border:1px solid #93a05e4d;border-radius:16px;flex-direction:column;margin-bottom:6px;display:flex;position:absolute;bottom:100%;right:0;overflow:hidden;box-shadow:0 20px 44px #00000073}@keyframes otterChatIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.otter-chat-head{border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.otter-chat-name{font-family:var(--font-heading);color:var(--color-white);font-size:.95rem;font-weight:700}.otter-chat-close{color:#fff9;cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:.9rem}.otter-chat-close:hover{color:var(--color-white)}.otter-chat-body{flex-direction:column;flex:1;gap:10px;min-height:60px;max-height:200px;padding:12px 14px;display:flex;overflow-y:auto}.otter-chat-exchange{flex-direction:column;gap:6px;display:flex}.otter-chat-msg{font-family:var(--font-body);border-radius:10px;max-width:92%;padding:8px 10px;font-size:.85rem;line-height:1.45}.otter-chat-msg--bot{color:#ffffffe0;background:#93a05e1f;align-self:flex-start}.otter-chat-msg--user{color:var(--color-white);text-align:right;background:#ffffff14;align-self:flex-end}.otter-chat-questions{border-top:1px solid #ffffff14;flex-direction:column;flex-shrink:0;gap:6px;max-height:160px;padding:10px 14px 14px;display:flex;overflow-y:auto}.otter-chat-question{text-align:left;color:#ffffffd9;font-family:var(--font-body);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;padding:7px 10px;font-size:.82rem;transition:border-color .2s,color .2s,background .2s}.otter-chat-question:hover{color:var(--color-olive-light);background:#93a05e14;border-color:#93a05e66}.otter-chat-empty{color:#ffffff80;font-size:.82rem;font-family:var(--font-body)}@media (prefers-reduced-motion:reduce){.otter-greeting,.otter-chat{animation:none}}.hp-hero-media{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.hp-hero-media-el{object-fit:cover;width:100%;height:100%;display:block}.hp-hero-media-scrim{background:linear-gradient(90deg,#102338d1 0%,#10233885 45%,#10233861 100%),linear-gradient(#10233880 0%,#10233833 40%,#102338b8 100%);position:absolute;inset:0}.hp-hero .grid-overlay{z-index:1}.hp-hero-inner{z-index:2}.lg-filter-defs{width:0;height:0;position:absolute;overflow:hidden}.lg-stage{perspective:1200px;flex:1;min-width:0}.lg-panel{isolation:isolate;position:relative}.lg-panel--tilt{transform:rotateX(var(--lg-rx,0deg)) rotateY(var(--lg-ry,0deg));transform-style:preserve-3d;transition:transform .55s var(--ease-smooth);will-change:transform;border-radius:28px;padding:40px 42px}.lg-panel-refraction{z-index:-1;border-radius:inherit;-webkit-backdrop-filter:blur(14px)saturate(1.25);backdrop-filter:blur(14px)saturate(1.25);background:linear-gradient(135deg,#93a05e1a 0%,#ffffff0f 45%,#93a05e0d 100%),linear-gradient(115deg,#10233870 0%,#10233842 55%,#1023385c 100%);position:absolute;inset:0}@supports ((-webkit-backdrop-filter:url(#lg-refract-a)) or (backdrop-filter:url(#lg-refract-a))){.lg-panel[data-quality=full][data-variant=a] .lg-panel-refraction{-webkit-backdrop-filter:url(#lg-refract-a)saturate(1.3);backdrop-filter:url(#lg-refract-a)saturate(1.3)}.lg-panel[data-quality=full][data-variant=b] .lg-panel-refraction,.lg-panel--static .lg-panel-refraction{-webkit-backdrop-filter:url(#lg-refract-b)saturate(1.3);backdrop-filter:url(#lg-refract-b)saturate(1.3)}}.lg-panel-sheen{z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(130% 100% at var(--lg-sheen-x,32%) var(--lg-sheen-y,22%), #ffffff42 0%, #ffffff14 30%, #fff0 62%), linear-gradient(160deg, #ffffff29 0%, #fff0 38%);transition:background-position .2s linear;position:absolute;inset:0}.lg-panel--tilt:after{content:"";z-index:-1;border-radius:inherit;pointer-events:none;border:1px solid #ffffff2e;position:absolute;inset:0;box-shadow:inset 1.5px 1.5px #fff6,inset -1px -1.5px #ffffff12,inset 0 0 30px #ffffff0f,0 24px 60px #00000073}.lg-panel-content{z-index:1;position:relative}.hp-hero-glass .hp-hero-name{margin-bottom:8px}.hp-hero-glass .hp-hero-subtitle{color:var(--color-olive-light);letter-spacing:.01em;margin-bottom:14px;font-weight:500}.hp-hero-glass .hp-hero-headline{color:#ffffffd1;margin-bottom:16px}.hp-hero-glass .hp-hero-intro{color:#ffffffc7;margin-bottom:28px}.a11y-reduce-motion .lg-panel--tilt{transform:none}@media (prefers-reduced-motion:reduce){.lg-panel--tilt{transform:none}}.a11y-reduce-motion .lg-panel--static .lg-panel-refraction{-webkit-backdrop-filter:blur(14px)saturate(1.25)}@media (prefers-reduced-motion:reduce){.lg-panel--static .lg-panel-refraction{-webkit-backdrop-filter:blur(14px)saturate(1.25)}}@media (max-width:768px){.lg-stage{perspective:none;width:100%}.lg-panel--tilt{border-radius:22px;padding:28px 22px;transform:none}.lg-panel .lg-panel-refraction{-webkit-backdrop-filter:blur(12px)saturate(1.2)}.hp-hero-media-scrim{background:linear-gradient(#1023389e 0%,#10233873 45%,#102338cc 100%)}}
