:root{--color-bg:#fff;--color-bg-elevated:#f6f7fb;--color-surface:#fff;--color-surface-hover:#f9faff;--color-text:#12162b;--color-text-muted:#5b6178;--color-border:#e6e8f2;--color-primary:#4f46e5;--color-primary-dark:#4338ca;--color-accent:#0891b2;--gradient-brand:linear-gradient(90deg,#4f46e5,#9333ea 50%,#0891b2);--shadow-sm:0 1px 2px rgba(16,24,40,.05);--shadow-md:0 4px 16px rgba(16,24,40,.07);--shadow-lg:0 20px 45px rgba(16,24,40,.14);--radius:14px;--radius-sm:8px;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--font-serif:Georgia,"Times New Roman",serif;--danger:#dc2626;--success:#059669}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);line-height:1.6;overflow-x:hidden}a{color:var(--color-primary);text-decoration:none}h1,h2,h3{font-family:var(--font-serif);line-height:1.25}.eyebrow{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);background:rgba(8,145,178,.08);border:1px solid rgba(8,145,178,.2);border-radius:999px;padding:.3rem .8rem;margin-bottom:.75rem}.button,.eyebrow{display:inline-flex;align-items:center;gap:.4rem}.button{background:var(--gradient-brand);color:#fff;padding:.75rem 1.5rem;border-radius:var(--radius-sm);font-weight:600;border:none;cursor:pointer;font-size:.95rem}.button.secondary{color:var(--color-text);border:1px solid var(--color-border)}.badge,.button.secondary{background:var(--color-bg-elevated)}.badge{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;font-size:.75rem;font-weight:600;color:var(--color-text-muted);border:1px solid var(--color-border)}.badge.ongoing,.badge.published{background:rgba(5,150,105,.1);color:var(--success);border-color:rgba(5,150,105,.25)}.badge.draft,.badge.upcoming{background:rgba(79,70,229,.08);color:var(--color-primary);border-color:rgba(79,70,229,.2)}.badge.completed{background:var(--color-bg-elevated);color:var(--color-text-muted)}.badge.pending{background:rgba(220,38,38,.08);color:var(--danger);border-color:rgba(220,38,38,.22)}.tech-pill{display:inline-block;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:999px;padding:.3rem .85rem;font-family:var(--font-mono);font-size:.82rem;color:var(--color-text-muted)}.form-field{margin-bottom:1.1rem}.form-field label{display:block;font-weight:600;font-size:.88rem;margin-bottom:.4rem}.form-field input,.form-field textarea{width:100%;padding:.65rem .85rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);font-size:.95rem;font-family:inherit;resize:vertical}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(79,70,229,.12)}.char-counter{display:block;margin-top:.3rem;font-size:.78rem;color:var(--color-text-muted);text-align:right}.password-input-wrap{position:relative;display:block}.password-input-wrap input{display:block;width:100%;padding-right:2.6rem}.password-toggle{position:absolute;right:.6rem;top:50%;transform:translateY(-50%);background:none;border:none;padding:.25rem;display:flex;align-items:center;color:var(--color-text-muted);cursor:pointer}.password-toggle:hover{color:var(--color-text)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-sm)}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:radial-gradient(circle at 15% 15%,rgba(79,70,229,.1),transparent 45%),radial-gradient(circle at 85% 85%,rgba(8,145,178,.1),transparent 45%),var(--color-bg)}.login-wrap{width:100%;max-width:380px;text-align:center}.login-locale-switcher{display:flex;justify-content:center;margin-bottom:1.5rem}.login-logo{font-weight:800;font-size:2rem;background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent}.login-tagline{color:var(--color-text-muted);margin:.4rem 0 2rem}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:1.75rem;text-align:left}.login-error{color:var(--danger);font-size:.88rem;margin:-.5rem 0 1rem}.locale-switcher{display:inline-flex;border:1px solid var(--color-border);border-radius:999px;padding:.15rem;gap:.15rem}.locale-switcher-option{background:none;border:none;padding:.3rem .7rem;border-radius:999px;font-size:.78rem;font-weight:700;color:var(--color-text-muted);cursor:pointer}.locale-switcher-option.active{background:var(--gradient-brand);color:#fff}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--color-surface);position:-webkit-sticky;position:sticky;top:0;z-index:50}.app-header:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gradient-brand);opacity:.55}.app-header-inner{max-width:72rem;margin:0 auto;padding:.9rem 1.5rem;display:flex;align-items:center;gap:1.75rem}.app-brand{display:flex;flex-direction:column;line-height:1.1;flex-shrink:0;margin-right:3.5rem}.app-brand-name{font-weight:800;font-size:1.05rem;background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent}.app-brand-sub{font-size:.68rem;color:var(--color-text-muted);letter-spacing:.04em}.app-nav-row{flex:1 1;min-width:0}.app-header-top-right{position:relative;gap:1rem;flex-shrink:0}.app-header-top-right,.app-nav{display:flex;align-items:center}.app-nav{gap:.15rem;flex-wrap:nowrap}.app-nav-link{position:relative;padding:.5rem .85rem;border-radius:var(--radius-sm);font-size:.88rem;font-weight:600;color:var(--color-text-muted);white-space:nowrap;transition:background .18s ease,color .18s ease}.app-nav-link:after{content:"";position:absolute;left:.85rem;right:.85rem;bottom:.15rem;height:2px;border-radius:2px;background:var(--gradient-brand);transform:scaleX(0);transform-origin:center;transition:transform .2s ease}.app-nav-link:hover{background:var(--color-bg-elevated);color:var(--color-text)}.app-nav-link.active{background:rgba(79,70,229,.1);color:var(--color-primary)}.app-nav-link.active:after{transform:scaleX(1)}.app-nav-dropdown{position:relative}.app-nav-dropdown-trigger{display:inline-flex;align-items:center;gap:.3rem;background:none;border:none;font:inherit;cursor:pointer;transition:background .18s ease,color .18s ease}.app-nav-dropdown-trigger svg{transition:transform .2s ease}.app-nav-dropdown-trigger svg.flipped{transform:rotate(180deg)}.app-nav-dropdown-menu{position:absolute;top:calc(100% + .4rem);left:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);min-width:12rem;max-width:calc(100vw - 2rem);padding:.4rem;z-index:60;animation:nav-dropdown-in .16s ease;transform-origin:top center}@keyframes nav-dropdown-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.app-nav-dropdown-menu a{display:block;padding:.55rem .7rem;border-radius:6px;font-size:.88rem;font-weight:600;color:var(--color-text);transition:background .15s ease,padding-left .15s ease}.app-nav-dropdown-menu a:hover{background:var(--color-bg-elevated);padding-left:.9rem}.app-nav-dropdown-menu a.active{color:var(--color-primary);background:rgba(79,70,229,.08)}.app-greeting{font-size:.88rem;white-space:nowrap}.app-greeting,.logout-button{font-weight:600;color:var(--color-text-muted)}.logout-button{background:none;border:none;cursor:pointer;font-size:.85rem}.logout-button:hover{color:var(--danger)}.mobile-menu-toggle{display:none;background:none;border:none;color:var(--color-text);cursor:pointer;padding:.4rem;border-radius:var(--radius-sm);transition:background .15s ease}.mobile-menu-toggle:hover{background:var(--color-bg-elevated)}.app-main{flex:1 1;max-width:72rem;width:100%;margin:0 auto;padding:2rem 1.5rem 4rem}.mobile-nav-backdrop,.mobile-nav-drawer{display:none}@media (max-width:900px){.app-header-inner{padding:.75rem 1.25rem}.app-brand{margin-right:0}.mobile-menu-toggle{display:flex}.app-nav-row{display:none}.app-header-top-right{gap:.6rem;margin-left:auto}.mobile-nav-backdrop{display:block;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:90;opacity:0;pointer-events:none;transition:opacity .25s ease}.mobile-nav-backdrop.open{opacity:1;pointer-events:auto}.mobile-nav-drawer{display:flex;flex-direction:column;position:fixed;top:0;right:0;bottom:0;width:min(85vw,360px);background:var(--color-surface);box-shadow:var(--shadow-lg);z-index:91;padding:1.1rem 1.25rem 2rem;overflow-y:auto;transform:translateX(100%);transition:transform .28s ease}.mobile-nav-drawer.open{transform:translateX(0)}.mobile-nav-drawer-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:.9rem;margin-bottom:.4rem;border-bottom:1px solid var(--color-border)}.mobile-nav-drawer-brand{font-weight:800;font-size:1.1rem;background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent}.mobile-nav-close{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:50%;border:none;background:var(--color-bg-elevated);color:var(--color-text);cursor:pointer}.mobile-nav-drawer .app-nav{flex-direction:column;align-items:stretch;gap:0}.mobile-nav-drawer .app-nav-link{width:100%;padding:.9rem .15rem;border-bottom:1px solid var(--color-border);border-radius:0}.mobile-nav-drawer .app-nav-link:after{display:none}.mobile-nav-drawer .app-nav-dropdown{border-bottom:1px solid var(--color-border)}.mobile-nav-drawer .app-nav-dropdown-trigger{width:100%;justify-content:space-between;padding:.9rem .15rem}.mobile-nav-drawer .app-nav-dropdown-menu{position:static;box-shadow:none;border:none;padding:0 0 .6rem .75rem;margin-top:0;animation:none}}@media (max-width:480px){.app-greeting{display:none}}@media (max-width:640px){.app-header-inner{padding:.7rem 1rem}.app-main{padding:1.5rem 1rem 3rem}}.dashboard-hero{text-align:center;padding:2rem 0 1rem}.dashboard-hero h1{font-size:clamp(1.8rem,4vw,2.6rem);margin:.4rem 0}.dashboard-subtitle{color:var(--color-text-muted);font-size:1.05rem;max-width:34rem;margin:0 auto}.dashboard-stats{display:grid;grid-gap:1.25rem;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));margin:2rem 0}.stat-card{background:linear-gradient(165deg,rgba(79,70,229,.06),var(--color-surface) 55%);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.75rem;text-align:center;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.stat-number{display:block;font-family:var(--font-serif);font-size:2.6rem;font-weight:700;background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent}.stat-label{color:var(--color-text);font-weight:600}.stat-hint,.stat-label{display:block;margin-top:.3rem}.stat-hint{color:var(--color-text-muted);font-size:.8rem}.stat-hint-warning{color:var(--danger);font-weight:700}.coach-summary-widget{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.1rem 1.5rem;box-shadow:var(--shadow-sm);color:var(--color-text)}.coach-summary-widget:hover{border-color:var(--color-primary);color:var(--color-text)}.coach-summary-label{font-weight:700}.coach-summary-chips{display:flex;gap:.5rem;flex-wrap:wrap}.coach-chip{display:inline-block;padding:.3rem .8rem;border-radius:999px;font-size:.82rem;font-weight:600}.coach-chip.done{background:rgba(5,150,105,.1);color:var(--success,#059669)}.coach-chip.pending{background:rgba(79,70,229,.08);color:var(--color-primary)}.dashboard-empty{text-align:center;color:var(--color-text-muted);padding:2rem}.course-grid{display:grid;grid-gap:1.25rem;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));margin-top:1.5rem}.course-card{background:linear-gradient(165deg,rgba(79,70,229,.06),var(--color-surface) 55%);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-sm)}.course-card h3{margin:.5rem 0;font-size:1.15rem}.course-card p{margin:.25rem 0;font-size:.88rem;color:var(--color-text-muted)}.course-card-badges{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:-.5rem}.course-status-pill{display:inline-flex;align-items:center;padding:.3rem .75rem;border-radius:999px;font-size:.78rem;font-weight:700}.course-status-pill.ongoing{background:rgba(5,150,105,.1);color:var(--success)}.course-status-pill.upcoming{background:rgba(79,70,229,.08);color:var(--color-primary)}.course-status-pill.completed{background:var(--color-bg-elevated);color:var(--color-text-muted)}.course-card-note{margin-top:.6rem;font-style:italic}.diploma-page{max-width:50rem;margin:0 auto}.diploma{position:relative;margin-bottom:1.5rem;padding:1.6rem 1.6rem 1.85rem;background:radial-gradient(circle at 12% 12%,rgba(79,70,229,.07),transparent 45%),radial-gradient(circle at 88% 88%,rgba(8,145,178,.07),transparent 45%),var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-lg);text-align:center}.diploma:before{content:"";position:absolute;inset:.85rem;border:1px solid rgba(79,70,229,.22);border-radius:calc(var(--radius) - 4px);pointer-events:none}.diploma-seal{width:52px;height:52px;margin:0 auto .9rem;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--gradient-brand);color:#fff;box-shadow:var(--shadow-md)}.diploma-kicker{font-family:var(--font-serif);text-transform:uppercase;letter-spacing:.25em;font-size:.72rem;color:var(--color-text-muted);margin-bottom:.5rem}.diploma-heading{font-family:var(--font-serif);font-size:clamp(1.3rem,3vw,1.8rem);font-weight:700;margin:0 0 1.5rem;background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent}.diploma-label{font-size:.8rem;color:var(--color-text-muted);margin-bottom:.3rem}.diploma-name{font-family:var(--font-serif);font-size:clamp(1.4rem,3.2vw,1.9rem);font-weight:600;margin:0 0 1.4rem;padding-bottom:.6rem;border-bottom:2px solid rgba(79,70,229,.25);display:inline-block}.diploma-dates{color:var(--color-text-muted);font-size:.88rem;margin-bottom:1.5rem}.diploma-footer{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-top:1.75rem;text-align:left}.diploma-footer:has(>.diploma-footer-block:only-child){justify-content:center;text-align:center;margin-top:0}.diploma-footer:has(>.diploma-footer-block:only-child) .diploma-footer-block{flex:0 1 220px;border-top:none;padding-top:0;padding-bottom:.6rem;border-bottom:1px solid var(--color-border)}.diploma-footer-block{flex:1 1 160px;padding-top:.55rem;border-top:1px solid var(--color-border)}.diploma-footer-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:.3rem}.diploma-footer-value{font-weight:600}.diploma-projects-inline{margin-top:1rem;padding-top:.7rem;border-top:1px solid var(--color-border);text-align:left}.diploma-projects-inline .diploma-footer-label{margin-bottom:.4rem}.diploma-project-row{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;margin-bottom:.35rem;font-size:.85rem}.diploma-project-row:last-child{margin-bottom:0}.diploma-project-name{font-weight:600}.diploma-project-name a{color:var(--color-text)}.diploma-project-name a:hover{color:var(--color-primary)}.diploma-project-keywords{display:flex;flex-wrap:wrap;gap:.3rem}.diploma-project-keywords .tech-pill{padding:.1rem .45rem;font-size:.64rem}.diploma-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:1rem;margin-top:1.1rem}.diploma-actions .button{gap:.5rem}.diploma-view-public{display:inline-block;font-size:.85rem;font-weight:600}@media print{body *{visibility:hidden}#print-diploma,#print-diploma *{visibility:visible}#print-diploma{position:fixed;inset:0;margin:1.5rem auto;max-width:90%;box-shadow:none;border:2px solid #333}}@media (max-width:640px){.diploma{padding:1.25rem 1.1rem 1.5rem}.diploma-footer{flex-direction:column}}.instructor-trigger{display:inline-flex;align-items:center;gap:.4rem;background:none;border:none;padding:0;font:inherit;color:var(--color-primary);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.instructor-trigger:hover{color:var(--color-primary-dark)}.instructor-badge-trigger{display:inline-flex;align-items:center;gap:.4rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;padding:.25rem .7rem .25rem .25rem;font-size:.8rem;font-weight:600;color:var(--color-text);cursor:pointer}.instructor-badge-trigger:hover{border-color:var(--color-primary)}.instructor-badge-avatar{width:22px;height:22px;border-radius:50%;background:var(--gradient-brand);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;flex-shrink:0;text-transform:uppercase}.instructor-modal-slogan{font-size:1rem;font-style:italic;color:var(--color-text);border-left:3px solid var(--color-primary);padding-left:.75rem;margin:0 0 1.25rem}.instructor-photo{width:88px;height:88px;border-radius:50%;object-fit:cover;margin-bottom:1rem}.instructor-socials{display:flex;gap:.6rem;margin-top:1.25rem}.instructor-socials-top{margin-top:0;margin-bottom:1.1rem}.instructor-socials a{width:36px;height:36px;border-radius:8px;border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;color:var(--color-text)}.instructor-socials a:hover{border-color:var(--color-primary);color:var(--color-primary)}.modal-overlay{position:fixed;inset:0;background:rgba(15,18,35,.6);display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:100}.modal-shell{background:var(--color-surface);border-radius:var(--radius);max-width:32rem;width:100%;max-height:85vh;overflow:hidden;box-shadow:var(--shadow-lg);position:relative;display:flex;flex-direction:column}.modal-shell-diploma{max-width:44rem;width:92vw;max-height:94vh}.modal-close{position:absolute;top:1rem;right:1rem;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:999px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text);z-index:3;flex-shrink:0}.modal-header-fixed{padding:2rem 2rem .9rem;border-bottom:1px solid var(--color-border);flex-shrink:0}.modal-body-scroll{padding:.9rem 2rem 2rem;overflow-y:auto;flex:1 1}.diploma-modal-body{padding:1.5rem;overflow-y:auto;flex:1 1}@media (max-width:480px){.modal-body-scroll,.modal-header-fixed{padding-left:1.25rem;padding-right:1.25rem}}.cert-list{display:flex;flex-direction:column;gap:.9rem;margin-top:1.5rem}.cert-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.1rem 1.4rem;box-shadow:var(--shadow-sm)}.cert-row-title{font-family:var(--font-serif);font-weight:600;font-size:1.05rem}.cert-row-meta{color:var(--color-text-muted);font-size:.85rem;margin-top:.2rem}@media (max-width:480px){.cert-row{flex-direction:column;align-items:stretch}}.profile-card{gap:1.1rem;background:linear-gradient(165deg,rgba(79,70,229,.06),var(--color-surface) 55%);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.4rem 1.6rem;margin-top:1.5rem;box-shadow:var(--shadow-sm)}.profile-avatar,.profile-card{display:flex;align-items:center}.profile-avatar{width:56px;height:56px;border-radius:50%;background:var(--gradient-brand);color:#fff;justify-content:center;font-family:var(--font-serif);font-size:1.5rem;font-weight:700;flex-shrink:0}.profile-name{font-family:var(--font-serif);font-size:1.3rem;font-weight:600}.profile-meta{color:var(--color-text-muted);font-size:.88rem;margin-top:.2rem;display:flex;flex-wrap:wrap;gap:.4rem}.profile-meta-sep{opacity:.6}@media (max-width:480px){.profile-card{flex-direction:column;text-align:center;padding:1.5rem 1.2rem}.profile-meta{justify-content:center}}.user-menu-trigger{display:flex;align-items:center;gap:.5rem;background:none;border:none;cursor:pointer;padding:.3rem .4rem .3rem .3rem;border-radius:999px;color:var(--color-text)}.user-menu-trigger:hover{background:var(--color-bg-elevated)}.user-menu-avatar{width:28px;height:28px;border-radius:50%;background:var(--gradient-brand);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0}.user-menu-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);min-width:12rem;max-width:calc(100vw - 2rem);padding:.4rem;z-index:60}[dir=rtl] .user-menu-dropdown{right:auto;left:0}.user-menu-item{display:block;width:100%;text-align:left;background:none;border:none;padding:.6rem .7rem;border-radius:var(--radius-sm);font-size:.88rem;font-weight:600;color:var(--color-text);cursor:pointer}.user-menu-item:hover{background:var(--color-bg-elevated)}.user-menu-locale-row{padding:.3rem .7rem .4rem}.user-menu-divider{height:1px;background:var(--color-border);margin:.35rem .2rem}.user-menu-logout{color:var(--danger)}.project-grid{display:grid;grid-gap:1.25rem;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));margin-top:1.5rem}.project-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.project-card-image{width:100%;height:160px;object-fit:cover}.project-card-body{padding:1.25rem}.project-card-body h3{margin:0 0 .4rem;font-size:1.1rem}.project-card-desc{color:var(--color-text-muted);font-size:.88rem;margin:0}.project-title-trigger{display:block;background:none;border:none;padding:0;margin:0 0 .4rem;font-size:1.1rem;font-weight:700;font-family:inherit;color:var(--color-text);cursor:pointer;text-align:left}.project-title-trigger:hover{color:var(--color-primary);text-decoration:underline}.project-modal-image{width:100%;max-height:240px;object-fit:cover;border-radius:var(--radius-sm);margin-bottom:1rem}.task-list{display:flex;flex-direction:column;gap:.8rem;margin-top:1.5rem}.task-card{display:flex;align-items:flex-start;gap:.9rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.1rem 1.3rem;box-shadow:var(--shadow-sm)}.task-checkbox{width:22px;height:22px;border-radius:6px;border:2px solid var(--color-border);background:var(--color-bg);display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;flex-shrink:0;margin-top:.15rem}.task-card.task-done .task-checkbox{background:var(--gradient-brand);border-color:transparent}.task-done-toggle{display:inline-flex;align-items:center;gap:.6rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;padding:.5rem 1.1rem .5rem .6rem;font-size:.88rem;font-weight:600;color:var(--color-text);cursor:pointer}.task-done-toggle:hover{border-color:var(--color-primary)}.task-done-toggle .task-checkbox{margin-top:0;cursor:pointer}.task-done-toggle.done{color:var(--success,#059669)}.task-done-toggle.done .task-checkbox{background:var(--gradient-brand);border-color:transparent}.task-done-toggle:disabled{cursor:not-allowed;opacity:.75}.career-progress-header{display:flex;align-items:baseline;gap:1rem}.career-progress-percentage{font-family:var(--font-serif);font-size:2.6rem;font-weight:700;background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent}.career-checklist-section-title{font-family:var(--font-serif);font-size:1.3rem;margin-bottom:.3rem}.task-card-body{flex:1 1;min-width:0}.task-text{margin:0;font-weight:600}.task-card.task-done .task-text{color:var(--color-text-muted);text-decoration:line-through}.task-meta{color:var(--color-text-muted);font-size:.8rem;margin-top:.4rem}.task-detail-link{display:inline-block;margin-top:.5rem}.back-link,.task-detail-link{font-size:.85rem;font-weight:600}.back-link{display:block;width:-moz-fit-content;width:fit-content;margin-bottom:1.25rem;color:var(--color-text-muted)}.back-link:hover{color:var(--color-primary)}.announcement-list{display:flex;flex-direction:column;gap:.8rem;margin-top:1.5rem}.announcement-card{display:block;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.1rem 1.3rem;box-shadow:var(--shadow-sm);color:var(--color-text)}.announcement-card:hover{border-color:var(--color-primary);color:var(--color-text)}.announcement-card-head{display:flex;align-items:center;gap:.6rem}.announcement-card-head h3{margin:0;font-size:1.05rem}.announcement-badge-new{display:inline-block;background:var(--gradient-brand);color:#fff;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .5rem;border-radius:999px;flex-shrink:0}