:root{--color-primary: #27BE17;--color-primary-dark: #1e9610;--color-primary-soft: #edf9ec;--color-accent: #ff7675;--color-accent-dark: #d63031;--color-bg: #fafaf7;--color-card-bg: #ffffff;--color-text: #1a1f2e;--color-text-muted: #6b7280;--color-text-subtle: #9ca3af;--color-text-light: #6b7280;--color-footer-bg: #1e272e;--color-footer-text: #ecf0f1;--color-footer-link: #b2bec3;--color-border: #e5e7eb;--color-border-subtle: #f1f2f6;--color-border-light: #e5e7eb;--color-bg-hover: #f3f4f6;--color-code-bg: #f5f5f1;--spacing-xs: 5px;--spacing-sm: 10px;--spacing-md: 15px;--spacing-lg: 20px;--spacing-xl: 25px;--spacing-2xl: 30px;--spacing-3xl: 40px;--spacing-4xl: 60px;--shadow-soft: 0 4px 6px -1px rgba(0,0,0,.06), 0 2px 4px -1px rgba(0,0,0,.04);--shadow-pop: 0 6px 0 rgba(0,0,0,.15);--shadow-pop-hover: 0 3px 0 rgba(0,0,0,.15);--depth-sm: 2px;--depth-md: 4px;--depth-lg: 6px;--depth-xl: 8px;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--radius-round: 50px;--font-heading: "Poppins", sans-serif;--font-body: "Outfit", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--color-primary-dark);text-decoration:none}a:hover{text-decoration:underline}.project-bar{display:flex;gap:4px;padding:12px var(--spacing-3xl);background:var(--color-card-bg);border-bottom:1px solid var(--color-border)}.project-tab{padding:5px 14px;border-radius:var(--radius-round);font-family:var(--font-heading);font-size:.8rem;font-weight:500;color:var(--color-text-muted);text-decoration:none;transition:background .15s ease,color .15s ease}.project-tab:hover{color:var(--color-text);background:var(--color-border-subtle);text-decoration:none}.project-tab.active{color:var(--color-primary-dark);background:var(--color-primary-soft);font-weight:600}.app{display:grid;grid-template-columns:260px minmax(0,1fr) 260px;max-width:1480px;margin:0 auto;min-height:calc(100vh - 105px)}@media(max-width:1100px){.app{grid-template-columns:260px minmax(0,1fr)}}@media(max-width:780px){.app{grid-template-columns:minmax(0,1fr)}}.sidebar{border-right:1px solid var(--color-border);padding:32px 24px;position:sticky;top:60px;align-self:start;height:calc(100vh - 105px);overflow-y:auto}.sidebar-brand{padding-bottom:18px;margin-bottom:8px}.sidebar-brand a{font-family:var(--font-heading);font-weight:700;font-size:1.1rem;color:var(--color-primary-dark);text-decoration:none}.sidebar-section-title{font-family:var(--font-heading);font-weight:600;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-subtle);margin:18px 0 6px}.sidebar-link{display:block;padding:6px 10px;margin:0 -10px;border-radius:6px;color:var(--color-text-muted);text-decoration:none;font-size:.9rem;line-height:1.5}.sidebar-link:hover{background:var(--color-border-subtle);color:var(--color-text);text-decoration:none}.sidebar-link.active{background:var(--color-primary-soft);color:var(--color-primary-dark);font-weight:600}.sidebar-link--child{padding-left:22px;font-size:.87rem}@media(max-width:780px){.sidebar{display:none}}.main{padding:48px 56px 120px;min-width:0;display:flex;flex-direction:column;align-items:center}.content{width:100%;max-width:760px}.content h1{font-family:var(--font-heading);font-size:2.1rem;font-weight:700;line-height:1.2;letter-spacing:-.01em;margin-bottom:14px}.content h2{font-family:var(--font-heading);font-size:1.4rem;font-weight:600;margin-top:2em;margin-bottom:.6em;padding-bottom:8px;border-bottom:1px solid var(--color-border);letter-spacing:-.005em}.content h3{font-family:var(--font-heading);font-size:1.05rem;font-weight:600;margin-top:1.6em;margin-bottom:.4em}.content h4,.content h5{font-family:var(--font-heading);font-weight:600;margin-top:1.4em;margin-bottom:.3em}.content p{line-height:1.7;margin:.8em 0}.content img{max-width:100%;height:auto;border-radius:var(--radius-sm);margin:1.2rem 0;border:1px solid var(--color-border)}.content table{width:100%;border-collapse:collapse;margin:1.2rem 0;font-size:.92rem}.content th,.content td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--color-border)}.content th{font-family:var(--font-heading);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);background:var(--color-border-subtle)}.content code{background:var(--color-code-bg);padding:1px 6px;border-radius:4px;font-size:.88em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.content pre{background:var(--color-code-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:16px 18px;overflow-x:auto;margin:1.2rem 0;font-size:.85rem;line-height:1.6}.content pre code{background:none;padding:0;border:none;font-size:inherit}.content blockquote{border-left:3px solid var(--color-primary);margin:1rem 0;padding:10px 16px;background:color-mix(in srgb,var(--color-primary-soft) 60%,transparent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--color-text-muted)}.content hr{border:none;border-top:1px solid var(--color-border);margin:2.5rem 0}.content ul,.content ol{margin:.8rem 0;padding-left:1.5rem}.content li{margin:.4rem 0;line-height:1.7}.content strong{font-weight:600;color:var(--color-text)}.content .embed-card{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:12px 16px;margin:.75rem 0;background:var(--color-card-bg);transition:border-color .15s ease,background .15s ease}.content .embed-card:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.content .embed-card a{text-decoration:none;color:var(--color-text);font-size:.92rem}.content .embed-card a strong{color:var(--color-primary-dark);font-family:var(--font-heading)}.content .embed-status{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:600;font-family:var(--font-heading);color:#fff;text-transform:uppercase;letter-spacing:.03em;margin-right:8px;vertical-align:middle}.content .embed-card a:hover{text-decoration:none}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-2xl);padding:var(--spacing-lg) 0}.project-card{background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);text-decoration:none;color:var(--color-text);display:flex;flex-direction:column;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;box-shadow:var(--shadow-soft)}.project-card:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 10px 20px -8px #27be1733;text-decoration:none}.project-card h3{font-family:var(--font-heading);font-size:1.2rem;margin:0 0 var(--spacing-sm);color:var(--color-primary-dark)}.project-card p{font-size:.9rem;color:var(--color-text-muted);margin:0;line-height:1.5}.forbidden{text-align:center;padding:var(--spacing-4xl) var(--spacing-2xl)}.forbidden h1{color:var(--color-accent-dark);font-size:4rem;margin-bottom:var(--spacing-sm);font-family:var(--font-heading);font-weight:700}.forbidden p{color:var(--color-text-muted);margin-bottom:var(--spacing-2xl)}.forbidden a{display:inline-block;padding:12px 28px;background:var(--color-primary);color:#fff;border-radius:var(--radius-round);font-family:var(--font-heading);font-weight:600;text-decoration:none;transition:background .2s ease}.forbidden a:hover{background:var(--color-primary-dark);text-decoration:none}.no-access{color:var(--color-text-muted);margin-top:var(--spacing-2xl);padding:var(--spacing-2xl);background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center}
