.public-layout{min-height:100vh;display:flex;flex-direction:column;background:var(--background-primary)}.public-header{background:var(--background-secondary);border-bottom:1px solid var(--border-primary);padding:var(--space-md) 0;position:sticky;top:0;z-index:10}.public-container{max-width:1200px;margin:0 auto;padding:0 var(--space-lg);justify-content:space-between}.public-container,.public-logo{display:flex;align-items:center}.public-logo{gap:var(--space-sm)}.logo-square{width:40px;height:40px;background:var(--accent-primary);color:var(--text-on-dark);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);font-size:18px}.brand-text{display:flex;flex-direction:column}.brand-name{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.brand-tagline{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}.public-actions{display:flex;align-items:center;gap:var(--space-sm)}.theme-toggle-btn{background:none;border:none;color:var(--text-secondary);padding:var(--space-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all .2s ease;min-width:44px;min-height:44px}.theme-toggle-btn:hover{background:var(--background-hover);color:var(--text-primary)}.btn-primary,.btn-secondary{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);text-decoration:none;cursor:pointer;transition:all .2s ease;border:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px}.btn-secondary{background:var(--background-card);color:var(--text-primary);border:1px solid var(--border-primary)}.btn-secondary:hover{background:var(--background-hover)}.btn-primary{background:var(--accent-primary);color:var(--text-on-dark)}.btn-primary:hover{background:var(--accent-hover)}.public-main{flex:1}.public-footer{background:var(--background-secondary);border-top:1px solid var(--border-primary);padding:var(--space-lg) 0;margin-top:var(--space-2xl)}.public-footer p{text-align:center;color:var(--text-secondary);margin:0}@media (max-width:768px){.brand-tagline{display:none}.public-container{padding:0 var(--space-md)}.btn-primary,.btn-secondary{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm)}}