:root{--primary: #1b6ef3;--dark: #1a1a1a;--light: #f7f7f7}*,*:before,*:after{box-sizing:border-box}html,body{font-family:Poppins,sans-serif;background-color:var(--light);color:var(--dark);margin:0;padding:0;overflow-x:hidden;min-height:100%}a{color:inherit}button{font:inherit}#app{display:flex;flex-direction:column;min-height:100vh}.navbar{display:flex;align-items:center;justify-content:space-between;background-color:#1a1a2e;padding:10px 20px;color:#fff;flex-shrink:0}.nav-left{display:flex;align-items:center;gap:20px}.nav-logo{display:flex;align-items:center}.nav-links-left,.nav-links-right{list-style:none;display:flex;gap:20px;margin:0;padding:0;align-items:center}.nav-links-left li a,.nav-links-right li a{text-decoration:none;color:#fff;font-size:1rem}.nav-user-email{font-size:.9rem;color:#ccc}.nav-logout-btn{background:none;border:none;color:#fff;font-size:1rem;cursor:pointer;padding:0;font-family:inherit}.nav-logout-btn:hover{text-decoration:underline}.main-content{flex:1;padding:32px 16px 60px;width:min(1100px,100%);margin:0 auto}.panel{padding:28px;background:#fff;border-radius:16px;border:1px solid rgba(0,0,0,.1);box-shadow:0 4px 20px #00000014;margin-bottom:20px}.panel-header{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.panel-header h2{margin:0;font-size:1.4rem;font-weight:700;letter-spacing:1px}.panel-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.status{margin:0;font-size:.95rem;color:#555}.status.error{color:#c0392b}.status.success{color:#27ae60}button,.action-link,.back-link,.enter-link{display:inline-flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;border:none;padding:10px 24px;font-size:.95rem;font-family:inherit;border-radius:30px;cursor:pointer;transition:.2s;text-decoration:none;white-space:nowrap}button:hover,.action-link:hover,.enter-link:hover{filter:brightness(1.12);transform:translateY(-1px);box-shadow:0 4px 10px #00000026}button:disabled{opacity:.6;transform:none;cursor:not-allowed}.back-link{background:transparent;color:var(--primary);border:2px solid var(--primary);margin-bottom:16px}.back-link:hover{background:var(--primary);color:#fff}.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.post-card{display:grid;gap:10px;padding:20px;background:#fff;border-radius:14px;border:1px solid rgba(0,0,0,.08);box-shadow:0 4px 14px #00000012;transition:.2s;text-decoration:none;color:inherit}.post-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000001f}.post-card h3{margin:0;font-size:1.05rem;font-weight:700}.eyebrow{margin:0 0 4px;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:#888}.landing-shell{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 16px;gap:20px}.landing-shell h1{margin:0;font-size:clamp(3rem,8vw,6rem);font-weight:700;letter-spacing:-.04em;line-height:1}.landing-shell .lede{margin:0;max-width:50ch;color:#555;font-size:1.1rem}.puzzle-submit{margin-top:32px;padding-top:24px;border-top:1px solid rgba(0,0,0,.1);display:grid;gap:14px}.puzzle-submit h3{margin:0;font-size:1rem;font-weight:600}.puzzle-submit .field{display:grid;gap:6px}.puzzle-submit .field input{padding:8px 12px;font-size:1rem;font-family:inherit;border:1.5px solid rgba(0,0,0,.2);border-radius:8px;width:min(320px,100%)}.puzzle-submit .submit-actions{display:flex;gap:10px;align-items:center}.solved-badge{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#27ae60;border:1.5px solid #27ae60;border-radius:20px;padding:2px 10px}@media (max-width: 600px){.main-content{padding:16px 12px 40px}.panel{padding:16px}}
