:root{--primary: #4CAF50;--on-primary: #003910;--primary-container: #1F5A2A;--on-primary-container: #A5D6A7;--primary-fixed: #A5D6A7;--primary-fixed-dim: #81C784;--on-primary-fixed: #003910;--on-primary-fixed-variant: #1F5A2A;--secondary: #9575CD;--on-secondary: #2A1A4A;--secondary-container: #4A3D6A;--on-secondary-container: #D1C4E9;--secondary-fixed: #D1C4E9;--secondary-fixed-dim: #B39DDB;--on-secondary-fixed: #2A1A4A;--on-secondary-fixed-variant: #4A3D6A;--tertiary: #E91E63;--on-tertiary: #5A0030;--tertiary-container: #8A2D54;--on-tertiary-container: #F8BBD0;--tertiary-fixed: #F8BBD0;--tertiary-fixed-dim: #F48FB1;--on-tertiary-fixed: #5A0030;--on-tertiary-fixed-variant: #8A2D54;--error: #F44336;--on-error: #5F1410;--error-container: #8C2D28;--on-error-container: #FFCDD2;--surface-dim: #1A1C1E;--surface: #212427;--surface-bright: #3A3D40;--surface-container-lowest: #0F1113;--surface-container-low: #1E2022;--surface-container: #25282A;--surface-container-high: #2F3235;--surface-container-highest: #3A3D40;--inverse-surface: #E3E2E6;--inverse-on-surface: #2F3135;--inverse-primary: #2E7D32;--on-surface: #E3E2E6;--on-surface-variant: #C7C5CA;--outline: #919094;--outline-variant: #444746;--scrim: rgba(0, 0, 0, .7);--shadow: rgba(0, 0, 0, .8);--filter-primary: brightness(0) saturate(100%) invert(48%) sepia(96%) saturate(506%) hue-rotate(76deg) brightness(104%) contrast(93%);--filter-on-primary: brightness(0) saturate(100%) invert(11%) sepia(28%) saturate(2964%) hue-rotate(103deg) brightness(95%) contrast(101%);--filter-primary-container: brightness(0) saturate(100%) invert(21%) sepia(26%) saturate(1392%) hue-rotate(83deg) brightness(94%) contrast(91%);--filter-on-primary-container: brightness(0) saturate(100%) invert(87%) sepia(8%) saturate(1273%) hue-rotate(68deg) brightness(92%) contrast(87%);--filter-primary-fixed: brightness(0) saturate(100%) invert(87%) sepia(8%) saturate(1273%) hue-rotate(68deg) brightness(92%) contrast(87%);--filter-primary-fixed-dim: brightness(0) saturate(100%) invert(72%) sepia(19%) saturate(471%) hue-rotate(73deg) brightness(91%) contrast(85%);--filter-on-primary-fixed: brightness(0) saturate(100%) invert(11%) sepia(28%) saturate(2964%) hue-rotate(103deg) brightness(95%) contrast(101%);--filter-on-primary-fixed-variant: brightness(0) saturate(100%) invert(21%) sepia(26%) saturate(1392%) hue-rotate(83deg) brightness(94%) contrast(91%);--filter-secondary: brightness(0) saturate(100%) invert(45%) sepia(48%) saturate(789%) hue-rotate(230deg) brightness(91%) contrast(87%);--filter-on-secondary: brightness(0) saturate(100%) invert(10%) sepia(30%) saturate(2845%) hue-rotate(232deg) brightness(91%) contrast(95%);--filter-secondary-container: brightness(0) saturate(100%) invert(25%) sepia(20%) saturate(1234%) hue-rotate(221deg) brightness(91%) contrast(84%);--filter-on-secondary-container: brightness(0) saturate(100%) invert(91%) sepia(8%) saturate(678%) hue-rotate(217deg) brightness(94%) contrast(88%);--filter-secondary-fixed: brightness(0) saturate(100%) invert(91%) sepia(8%) saturate(678%) hue-rotate(217deg) brightness(94%) contrast(88%);--filter-secondary-fixed-dim: brightness(0) saturate(100%) invert(72%) sepia(24%) saturate(543%) hue-rotate(220deg) brightness(93%) contrast(86%);--filter-on-secondary-fixed: brightness(0) saturate(100%) invert(10%) sepia(30%) saturate(2845%) hue-rotate(232deg) brightness(91%) contrast(95%);--filter-on-secondary-fixed-variant: brightness(0) saturate(100%) invert(25%) sepia(20%) saturate(1234%) hue-rotate(221deg) brightness(91%) contrast(84%);--filter-tertiary: brightness(0) saturate(100%) invert(26%) sepia(88%) saturate(3698%) hue-rotate(327deg) brightness(95%) contrast(87%);--filter-on-tertiary: brightness(0) saturate(100%) invert(9%) sepia(82%) saturate(4518%) hue-rotate(319deg) brightness(88%) contrast(108%);--filter-tertiary-container: brightness(0) saturate(100%) invert(23%) sepia(28%) saturate(1789%) hue-rotate(302deg) brightness(91%) contrast(88%);--filter-on-tertiary-container: brightness(0) saturate(100%) invert(90%) sepia(13%) saturate(543%) hue-rotate(298deg) brightness(102%) contrast(96%);--filter-tertiary-fixed: brightness(0) saturate(100%) invert(90%) sepia(13%) saturate(543%) hue-rotate(298deg) brightness(102%) contrast(96%);--filter-tertiary-fixed-dim: brightness(0) saturate(100%) invert(76%) sepia(16%) saturate(789%) hue-rotate(301deg) brightness(99%) contrast(94%);--filter-on-tertiary-fixed: brightness(0) saturate(100%) invert(9%) sepia(82%) saturate(4518%) hue-rotate(319deg) brightness(88%) contrast(108%);--filter-on-tertiary-fixed-variant: brightness(0) saturate(100%) invert(23%) sepia(28%) saturate(1789%) hue-rotate(302deg) brightness(91%) contrast(88%);--filter-error: brightness(0) saturate(100%) invert(41%) sepia(93%) saturate(3245%) hue-rotate(346deg) brightness(97%) contrast(93%);--filter-on-error: brightness(0) saturate(100%) invert(15%) sepia(44%) saturate(2234%) hue-rotate(348deg) brightness(90%) contrast(94%);--filter-error-container: brightness(0) saturate(100%) invert(26%) sepia(42%) saturate(1456%) hue-rotate(342deg) brightness(88%) contrast(89%);--filter-on-error-container: brightness(0) saturate(100%) invert(91%) sepia(16%) saturate(432%) hue-rotate(313deg) brightness(103%) contrast(100%);--filter-surface-dim: brightness(0) saturate(100%) invert(8%) sepia(6%) saturate(567%) hue-rotate(169deg) brightness(95%) contrast(93%);--filter-surface: brightness(0) saturate(100%) invert(13%) sepia(5%) saturate(543%) hue-rotate(169deg) brightness(94%) contrast(87%);--filter-surface-bright: brightness(0) saturate(100%) invert(22%) sepia(4%) saturate(234%) hue-rotate(169deg) brightness(93%) contrast(90%);--filter-surface-container-lowest: brightness(0) saturate(100%) invert(4%) sepia(8%) saturate(789%) hue-rotate(169deg) brightness(97%) contrast(96%);--filter-surface-container-low: brightness(0) saturate(100%) invert(11%) sepia(6%) saturate(456%) hue-rotate(169deg) brightness(95%) contrast(92%);--filter-surface-container: brightness(0) saturate(100%) invert(14%) sepia(5%) saturate(345%) hue-rotate(169deg) brightness(94%) contrast(88%);--filter-surface-container-high: brightness(0) saturate(100%) invert(18%) sepia(4%) saturate(289%) hue-rotate(169deg) brightness(93%) contrast(90%);--filter-surface-container-highest: brightness(0) saturate(100%) invert(22%) sepia(4%) saturate(234%) hue-rotate(169deg) brightness(93%) contrast(90%);--filter-inverse-surface: brightness(0) saturate(100%) invert(93%) sepia(2%) saturate(234%) hue-rotate(205deg) brightness(98%) contrast(90%);--filter-inverse-on-surface: brightness(0) saturate(100%) invert(18%) sepia(4%) saturate(234%) hue-rotate(187deg) brightness(92%) contrast(88%);--filter-inverse-primary: brightness(0) saturate(100%) invert(35%) sepia(46%) saturate(987%) hue-rotate(88deg) brightness(93%) contrast(88%);--filter-on-surface: brightness(0) saturate(100%) invert(93%) sepia(2%) saturate(234%) hue-rotate(205deg) brightness(98%) contrast(90%);--filter-on-surface-variant: brightness(0) saturate(100%) invert(83%) sepia(3%) saturate(234%) hue-rotate(205deg) brightness(96%) contrast(88%);--filter-outline: brightness(0) saturate(100%) invert(60%) sepia(2%) saturate(234%) hue-rotate(205deg) brightness(92%) contrast(86%);--filter-outline-variant: brightness(0) saturate(100%) invert(27%) sepia(4%) saturate(234%) hue-rotate(75deg) brightness(91%) contrast(87%);--filter-white: brightness(0) saturate(100%) invert(100%);--max-width: 680px}.site-header{background:var(--surface-container-lowest);border-bottom:1px solid var(--outline-variant);padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:0;z-index:100;height:64px}.site-header-left{display:flex;align-items:center;gap:16px}.site-header-logo{display:flex;align-items:center;gap:8px;text-decoration:none;color:#f0f6fc;font-weight:600;font-size:16px}.site-header-logo:hover{color:#58a6ff}.site-header-logo-icon{width:32px;height:32px}.site-header-nav{display:flex;gap:8px}.site-header-nav-link{color:#c9d1d9;text-decoration:none;padding:6px 12px;border-radius:6px;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:flex;align-items:center;gap:6px}.nav-link-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px}.nav-link-icon svg{width:16px;height:16px;fill:currentColor}.site-header-nav-link:hover{background:var(--surface-container-low);color:var(--on-surface)}.site-header-nav-link.active{background:#388bfd26;color:#58a6ff}.site-header-right{display:flex;align-items:center;gap:12px}.site-header-auth{display:flex;gap:8px}.header-btn{padding:6px 14px;border-radius:6px;font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s}.header-btn-secondary{background:transparent;color:var(--on-surface-variant);border-color:var(--outline-variant)}.header-btn-secondary:hover{background:#21262d;border-color:#8b949e}.header-btn-primary{background:#238636;color:#fff;border:none}.header-btn-primary:hover{background:#2ea043}.site-header-user{position:relative}.site-header-avatar-btn{background:none;border:none;padding:2px;cursor:pointer;border-radius:50%;display:flex;align-items:center;transition:box-shadow .15s}.site-header-avatar-btn:hover,.site-header-avatar-btn:focus{box-shadow:0 0 0 2px #58a6ff}.site-header-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;background:var(--surface-container-high)}.avatar-wrapper{position:relative;display:inline-block}.admin-badge{position:absolute;top:-4px;left:-4px;width:16px;height:16px;background:linear-gradient(135deg,gold,#fa0);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;box-shadow:0 1px 3px #0006;border:1.5px solid #161b22}.admin-badge:before{content:"★";color:#161b22;font-weight:700;line-height:1}.dropdown-avatar-wrapper{position:relative;flex-shrink:0}.dropdown-avatar-wrapper .admin-badge{top:-3px;left:-3px;width:18px;height:18px;font-size:11px}.avatar-placeholder{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#238636,#2ea043);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px;text-transform:uppercase}.site-header-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:12px;box-shadow:0 8px 24px #0006;min-width:200px;z-index:110;display:none}.site-header-dropdown.open{display:block}.dropdown-header{padding:12px 16px;border-bottom:1px solid var(--surface-container-low);display:flex;align-items:center;gap:12px}.dropdown-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0}.dropdown-avatar-placeholder{width:40px;height:40px;border-radius:50%;background:var(--surface-container);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--on-surface-variant);flex-shrink:0}.dropdown-user-info{min-width:0}.dropdown-user-name{font-weight:600;color:#f0f6fc;font-size:14px}.dropdown-user-email{color:#8b949e;font-size:12px;margin-top:2px;overflow:hidden;text-overflow:ellipsis}.dropdown-menu{padding:8px 0}.dropdown-item{display:block;width:100%;padding:8px 16px;font-size:14px;color:#c9d1d9;background:none;border:none;text-align:left;cursor:pointer;text-decoration:none;transition:background .15s}.dropdown-item:hover{background:#21262d;color:#f0f6fc}.dropdown-divider{height:1px;background:#21262d;margin:8px 0}.dropdown-item-danger{color:#f85149}.dropdown-item-danger:hover{background:#f851491a}.auth-modal-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}.auth-modal-backdrop.open{opacity:1;visibility:visible}.auth-modal{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:12px;width:100%;max-width:400px;margin:16px;box-shadow:0 16px 48px #00000080;transform:scale(.95);transition:transform .2s}.auth-modal-backdrop.open .auth-modal{transform:scale(1)}.auth-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #21262d}.auth-modal-title{font-size:18px;font-weight:600;color:#f0f6fc;margin:0}.auth-modal-close{background:none;border:none;color:#8b949e;cursor:pointer;padding:4px;line-height:1;font-size:20px;transition:color .15s}.auth-modal-close:hover{color:#f0f6fc}.auth-modal-body{padding:20px}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-label{font-size:14px;font-weight:500;color:#c9d1d9}.auth-input{padding:10px 12px;font-size:14px;border-radius:6px;border:1px solid #30363d;background:#0d1117;color:#c9d1d9;transition:border-color .15s,box-shadow .15s}.auth-input:focus{outline:none;border-color:#58a6ff;box-shadow:0 0 0 3px #388bfd33}.auth-input::placeholder{color:#6e7681}.auth-password-wrapper{position:relative}.auth-password-wrapper .auth-input{padding-right:40px}.auth-password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:#6e7681;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .15s}.auth-password-toggle:hover{color:#c9d1d9}.eye-icon{width:20px;height:20px}.eye-icon .eye-closed,.eye-icon.show-password .eye-open{display:none}.eye-icon.show-password .eye-closed{display:block}.auth-error{background:#f851491a;border:1px solid rgba(248,81,73,.4);color:#f85149;padding:10px 12px;border-radius:6px;font-size:14px;display:none}.auth-error.visible{display:block}.auth-success{background:#2ea0431a;border:1px solid rgba(46,160,67,.4);color:#3fb950;padding:10px 12px;border-radius:6px;font-size:14px;display:none}.auth-success.visible{display:block}.auth-submit{padding:10px 16px;font-size:14px;font-weight:600;border-radius:6px;border:none;background:#238636;color:#fff;cursor:pointer;transition:background .15s}.auth-submit:hover{background:#2ea043}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-switch{text-align:center;font-size:14px;color:#8b949e;margin-top:4px}.auth-switch-link{color:#58a6ff;cursor:pointer;background:none;border:none;font-size:14px;padding:0}.auth-switch-link:hover{text-decoration:underline}@media(max-width:640px){.site-header{padding:10px 16px}.site-header-nav-link{padding:6px 8px;font-size:13px}.site-header-logo span{display:none}}.site-footer{padding:20px 24px;margin-top:auto;display:flex;justify-content:center}.footer-content{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;font-size:14px;color:var(--on-surface-variant);padding:20px 30px 0;border-top:1px solid var(--outline-variant)}.footer-copyright{white-space:nowrap}.footer-separator{color:var(--outline-variant)}.footer-link{color:var(--on-surface-variant);text-decoration:none;white-space:nowrap;transition:background .15s,color .15s,transform .12s;display:inline-flex;align-items:center;padding:6px 10px;border-radius:9999px}.footer-link:hover,.footer-link:focus{background:var(--surface-bright);color:var(--on-surface);text-decoration:none;transform:translateY(-1px);outline:none}@media(max-width:640px){.site-footer{padding:16px 20px}.footer-content{font-size:13px;gap:12px}.footer-link{padding:4px 8px}}
