:root{--bg: #f6f7f9;--surface: #ffffff;--text: #1f2937;--muted: #6b7280;--primary: #24425e;--border: #e5e7eb}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}.page{max-width:720px;margin:0 auto;padding:48px 24px 24px;display:flex;flex-direction:column;min-height:100%}.header{display:flex;align-items:center;gap:20px;padding-bottom:24px;border-bottom:1px solid var(--border)}.logo{width:64px;height:64px;object-fit:contain}.titles{display:flex;flex-direction:column;gap:4px}.lab-name{margin:0;font-size:28px;font-weight:700;color:var(--primary)}.lab-sub{margin:0;color:var(--muted);font-size:14px}.language-switcher{display:flex;flex-shrink:0;gap:4px;margin-left:auto;padding:3px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.language-button{min-width:40px;padding:6px 9px;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:12px;font-weight:700}.language-button:hover{color:var(--primary)}.language-button.active{background:var(--primary);color:#fff}.content{flex:1;padding:32px 0}.content-section+.content-section{margin-top:32px}.section-title{margin:0 0 16px;font-size:18px;font-weight:600;color:var(--primary)}.muted{color:var(--muted)}.project-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.project-item{background:var(--surface);border:1px solid var(--border);border-radius:10px;transition:border-color .15s,box-shadow .15s,transform .15s}.project-item:hover{border-color:var(--primary);box-shadow:0 4px 12px #24425e14}.project-link{display:flex;flex-direction:column;gap:4px;padding:16px 20px}.project-title{font-size:16px;font-weight:600;color:var(--primary)}.project-desc{font-size:14px;color:var(--muted)}.footer{padding-top:16px;border-top:1px solid var(--border);color:var(--muted);font-size:12px;text-align:center}@media (max-width: 560px){.page{padding-top:32px}.header{align-items:flex-start;flex-wrap:wrap}.language-switcher{margin-left:84px}}
