.header{background-color:#fff;box-shadow:0 2px 10px rgba(0,0,0,.08);position:-webkit-sticky;position:sticky;top:0;transition:all .3s ease;z-index:1000}.header-container{height:72px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 1.5rem}.header-container,.logo{align-items:center;display:flex}.logo{color:#1e3a8a;font-size:1.25rem;font-weight:700;text-decoration:none;transition:opacity .3s ease}.logo:hover{opacity:.8}.logo img{border-radius:6px;height:42px;margin-right:10px}.navigation{align-items:center;display:flex;gap:2rem}.navigation a{color:#374151;font-size:1rem;font-weight:500;position:relative;text-decoration:none;transition:color .3s ease}.navigation a.active,.navigation a:hover{color:#1e3a8a}.navigation a.active:after{animation:underlineFade .25s ease-in;background-color:#1e3a8a;border-radius:1px;bottom:-5px;content:"";height:2px;left:0;position:absolute;width:100%}@keyframes underlineFade{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}.login-btn{background-color:#1e3a8a;border-radius:8px;color:#fff!important;padding:8px 20px;transition:all .3s ease}.login-btn:hover{background-color:#1d4ed8;transform:translateY(-1px)}.menu-toggle{align-items:center;background:transparent;border:none;cursor:pointer;display:none;flex-direction:column;height:44px;justify-content:center;padding:0;width:44px;z-index:1002}.menu-toggle span{background-color:#1e3a8a;border-radius:2px;display:block;height:2px;transition:all .3s ease;width:24px}.menu-toggle span:first-child{margin-bottom:6px}.menu-toggle span:nth-child(3){margin-top:6px}.menu-toggle.open span:first-child{transform:translateY(8px) rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0;transform:scaleX(0)}.menu-toggle.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.sidebar-overlay{background-color:rgba(0,0,0,.5);display:none;height:100%;left:0;opacity:0;position:fixed;top:0;transition:opacity .3s ease,visibility .3s ease;visibility:hidden;width:100%;z-index:999}.sidebar-overlay.active{opacity:1;visibility:visible}@media (max-width:768px){.header-container{height:64px;padding:0 1rem}.logo span{font-size:1rem}.logo img{height:36px}.menu-toggle{display:flex}.sidebar-overlay{display:block}.navigation{align-items:stretch;background-color:#fff;box-shadow:-4px 0 20px rgba(0,0,0,.15);flex-direction:column;gap:0;height:100vh;overflow-y:auto;padding:80px 0 30px;position:fixed;right:-280px;top:0;transition:right .3s ease;width:280px;z-index:1001}.navigation.active{right:0}.navigation a{border-bottom:1px solid #f0f0f0;display:block;font-size:1.05rem;padding:16px 24px}.navigation a:hover{background-color:rgba(30,58,138,.05)}.navigation a.active{background-color:rgba(30,58,138,.1);border-left:3px solid #1e3a8a}.navigation a.active:after{display:none}.login-btn{display:block;margin:20px 24px;text-align:center}.login-btn:hover{transform:none}}.user-menu{align-items:center;display:flex;gap:15px}.user-menu a{border-radius:6px;color:#333;padding:8px 16px;text-decoration:none;transition:background-color .3s}.user-menu a.active,.user-menu a:hover{background-color:rgba(102,126,234,.1);color:#667eea}.logout-btn{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:8px 16px;transition:background-color .3s}.logout-btn:hover{background:#c82333}@media (max-width:768px){.user-menu{flex-direction:column;gap:0;padding:0;width:100%}.user-menu a{border-bottom:1px solid #f0f0f0;border-radius:0;padding:16px 24px;text-align:left;width:100%}.user-menu a.active,.user-menu a:hover{background-color:rgba(30,58,138,.1)}.logout-btn{border-radius:8px;margin:20px 24px;padding:12px 16px;text-align:center;width:calc(100% - 48px)}}@media (max-width:480px){.header-container{height:56px;padding:0 .75rem}.logo span{font-size:.9rem}.logo img{height:32px;margin-right:8px}.menu-toggle{height:40px;width:40px}.menu-toggle span{width:22px}.navigation{padding:72px 0 24px;right:-260px;width:260px}.navigation a{font-size:1rem;padding:14px 20px}.login-btn{margin:16px 20px}.user-menu a{padding:14px 20px}.logout-btn{margin:16px 20px;width:calc(100% - 40px)}}.footer{background-color:var(--primary-blue);color:var(--white);margin-top:auto;padding:3rem 0 1rem}.footer-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:0 auto 2rem;max-width:1200px;padding:0 20px}.footer-section h3,.footer-section h4{color:var(--light-blue);margin-bottom:1rem}.footer-section p{margin-bottom:.5rem;opacity:.9}.social-links{display:flex;gap:1rem}.social-links a{color:var(--white);opacity:.9;text-decoration:none;transition:opacity .3s ease}.social-links a:hover{opacity:1;text-decoration:underline}.footer-bottom{border-top:1px solid hsla(0,0%,100%,.1);opacity:.8;padding-top:1rem;text-align:center}@media (max-width:768px){.footer{padding:2rem 0 1rem}.footer-content{gap:1.5rem;grid-template-columns:1fr;padding:0 1rem;text-align:center}.footer-section h3,.footer-section h4{font-size:1.1rem}.footer-section p{font-size:.9rem}.social-links{justify-content:center}.footer-bottom{font-size:.85rem;padding:.75rem 1rem 0}}@media (max-width:480px){.footer{padding:1.5rem 0 .75rem}.footer-content{gap:1.25rem;padding:0 .75rem}.footer-section h3,.footer-section h4{font-size:1rem;margin-bottom:.75rem}.footer-section p{font-size:.85rem}.social-links{gap:.75rem}.footer-bottom{font-size:.8rem}}.page-hero{align-items:center;display:flex;justify-content:center;min-height:280px}.page-hero-content{gap:.5rem}.page-hero h1{font-weight:700}.page-hero p{margin:0}.page-hero-kicker{background:rgba(255,215,141,.2);border:1px solid rgba(255,215,141,.5);border-radius:999px;color:#ffd78d;display:inline-block;font-weight:700;letter-spacing:.5px;margin-bottom:.8rem;padding:.4rem .9rem}.page-hero-actions{flex-wrap:wrap}.page-hero .search-bar{align-items:center;display:flex;gap:.5rem;justify-content:center;margin-top:1.5rem;max-width:500px;width:100%}.page-hero .search-bar input{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.3);border-radius:10px;color:#fff;flex:1 1;font-size:1rem;padding:.75rem 1rem;transition:all .2s ease}.page-hero .search-bar input::placeholder{color:hsla(0,0%,100%,.7)}.page-hero .search-bar input:focus{background:hsla(0,0%,100%,.15);border-color:hsla(0,0%,100%,.6);outline:none}.page-hero .search-bar button{background:linear-gradient(135deg,#f0c27b,#eec27b);border:none;border-radius:10px;color:#1f1a12;cursor:pointer;font-weight:700;padding:.75rem 1.4rem;transition:all .2s ease}.page-hero .search-bar button:hover{box-shadow:0 4px 12px hsla(36,80%,71%,.35);transform:translateY(-2px)}.page-hero .search-bar button:disabled{cursor:not-allowed;opacity:.7;transform:none}.page-hero.hero-boardgames{background-image:linear-gradient(120deg,rgba(10,15,28,.72),rgba(20,30,52,.68) 55%,rgba(10,15,28,.72)),url(/static/media/boardgame.9cdf371df22509cb5a80.png);background-position:50%;background-size:cover}.page-hero.hero-utilities{background-image:linear-gradient(120deg,rgba(15,23,42,.62),rgba(28,42,74,.55) 55%,rgba(15,23,42,.62)),url(/static/media/cambridge-bg.0ae4e2ebabab97351668.jpg);background-position:50%;background-size:cover}.page-hero.hero-rateitall{background-image:linear-gradient(120deg,rgba(15,23,42,.62),rgba(28,42,74,.55) 55%,rgba(15,23,42,.62)),url(/static/media/cambrid.1847c0bb14440e0bd220.jpeg);background-position:50%;background-size:cover}.page-hero.hero-auth{background-image:linear-gradient(120deg,rgba(15,23,42,.62),rgba(28,42,74,.55) 55%,rgba(15,23,42,.62)),url(/static/media/cambridge-bg.0ae4e2ebabab97351668.jpg)}.page-hero.hero-auth,.page-hero.hero-formal{background-position:50%;background-size:cover}.page-hero.hero-formal{background-image:linear-gradient(120deg,rgba(15,23,42,.62),rgba(28,42,74,.55) 55%,rgba(15,23,42,.62)),url(/static/media/formal.1277aa0087eb13ffb4d3.png)}.page-hero.hero-formal h1{color:#e0b155}.page-hero .btn{border:1px solid transparent;border-radius:12px;cursor:pointer;display:inline-block;font-weight:700;padding:.75rem 1.4rem;text-decoration:none;transition:all .2s ease}.page-hero .btn.primary{background:linear-gradient(135deg,#f0c27b,#eec27b);box-shadow:0 8px 20px hsla(36,80%,71%,.35);color:#1f1a12}.page-hero .btn.primary:hover{transform:translateY(-2px)}.page-hero .btn.secondary{background:transparent;border-color:hsla(0,0%,100%,.5);color:#fff}.page-hero .btn.secondary:hover{background:hsla(0,0%,100%,.1);transform:translateY(-2px)}.page-hero .brand-title{color:#fff;font-size:2.6rem;font-weight:700;margin:0}.page-hero .brand-sub{color:hsla(0,0%,100%,.9);font-size:1.05rem;margin:.5rem 0 0}@media (max-width:768px){.page-hero{min-height:200px;padding:3.5rem 1rem 2.5rem}.page-hero .brand-title,.page-hero h1{font-size:1.8rem}.page-hero .brand-sub,.page-hero p{font-size:.95rem}.page-hero-actions{align-items:center;flex-direction:column;padding:0 1rem;width:100%}.page-hero-actions .btn{max-width:280px;width:100%}.page-hero .search-bar{flex-direction:column;padding:0 .5rem}.page-hero .search-bar button,.page-hero .search-bar input{width:100%}.page-hero .hero-logo{width:70px}.page-hero-kicker{font-size:.85rem;padding:.35rem .75rem}}@media (max-width:480px){.page-hero{min-height:180px;padding:3rem .75rem 2rem}.page-hero .brand-title,.page-hero h1{font-size:1.5rem}.page-hero .brand-sub,.page-hero p{font-size:.9rem;padding:0 .5rem}.page-hero .hero-logo{width:60px}}.page-section{margin:0 auto;max-width:1200px;padding:3rem 1.5rem}.page-section-title{color:#036;font-size:1.8rem;font-weight:700;margin:0 0 .5rem;text-align:center}.page-section-subtitle{color:#4a6a94;font-size:1.05rem;font-weight:400;line-height:1.6;margin:0 auto 2rem;max-width:720px;text-align:center}.page-section-header{margin-bottom:2rem;text-align:center}.page-section-header h2{color:#036;font-size:1.8rem;font-weight:700;margin:0 0 .5rem}.page-section-header p{color:#4a6a94;font-size:1.05rem;font-weight:400;line-height:1.6;margin:0 auto;max-width:720px}@media (max-width:768px){.page-section{padding:1.5rem 1rem}.page-section-header h2,.page-section-title{font-size:1.4rem}.page-section-header p,.page-section-subtitle{font-size:.95rem}}@media (max-width:480px){.page-section{padding:1.25rem .75rem}.page-section-header h2,.page-section-title{font-size:1.25rem}.page-section-header p,.page-section-subtitle{font-size:.9rem}}body{font-family:Microsoft YaHei,sans-serif}.boardgame-banner{background:linear-gradient(90deg,#002f6c,#0059b3);color:#fff;padding:.75rem 1rem;text-align:center}.boardgame-banner__container{margin:0 auto;max-width:1100px}.boardgame-banner__link{color:#fff;font-size:1.05rem;font-weight:600;letter-spacing:.02em;text-decoration:none}.boardgame-banner__link:hover .boardgame-banner__cta{transform:translateX(4px)}.boardgame-banner__cta{display:inline-block;font-size:.95rem;margin-left:.5rem;transition:transform .2s ease}.hero{background:#f5f5f5;padding:80px 20px;text-align:center}.hero-buttons .btn{margin:10px}.featured-events .events-grid{display:flex;gap:20px;justify-content:center}.interest-form{display:flex;flex-direction:column;gap:10px;margin:50px auto;max-width:400px}.btn.primary{background:#007bff;border-radius:4px;padding:10px}.page-hero{background:linear-gradient(120deg,rgba(15,23,42,.62),rgba(28,42,74,.55) 55%,rgba(15,23,42,.62)),url(/static/media/cambridge-bg.0ae4e2ebabab97351668.jpg) 50%/cover no-repeat;color:#fff;padding:5rem 1.5rem 3.5rem;text-align:center}.page-hero.hero-home{background-image:linear-gradient(120deg,rgba(15,23,42,.62),rgba(28,42,74,.55) 55%,rgba(15,23,42,.62)),url(/static/media/cambridge-bg.0ae4e2ebabab97351668.jpg)}.page-hero.hero-events,.page-hero.hero-home{background-position:50%;background-size:cover}.page-hero.hero-events{background-image:linear-gradient(120deg,rgba(15,23,42,.62),rgba(28,42,74,.55) 55%,rgba(15,23,42,.62)),url(/static/media/event-1.4c793cc8915e17415e0a.jpg)}.page-hero.hero-interests{background-image:linear-gradient(120deg,rgba(15,23,42,.62),rgba(28,42,74,.55) 55%,rgba(15,23,42,.62)),url(/static/media/cambrid.1847c0bb14440e0bd220.jpeg);background-position:50%;background-size:cover}.page-hero.hero-food{background-image:linear-gradient(120deg,rgba(15,23,42,.62),rgba(28,42,74,.55) 55%,rgba(15,23,42,.62)),url(/static/media/food.39aa16a45a474ee6a083.jpg);background-position:50%;background-size:cover}.page-hero-content{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:960px}.page-hero h1{font-size:2.6rem;margin:.2rem 0}.page-hero p{color:hsla(0,0%,100%,.9);font-size:1.05rem;line-height:1.6;max-width:720px}.page-hero .hero-logo{filter:drop-shadow(0 0 5px rgba(255,255,255,.5));margin-bottom:1rem;width:90px}.page-hero-actions{gap:.8rem;margin-top:1.5rem}.modern-hero,.page-hero-actions{display:flex;justify-content:center}.modern-hero{align-items:center;background:linear-gradient(to bottom right,#036,#001a33);color:#fff;height:80vh;overflow:hidden;position:relative;text-align:center}.hero-overlay{background:url(/static/media/cambridge-bg.0ae4e2ebabab97351668.jpg) 50%/cover no-repeat;inset:0;opacity:.7;position:absolute;z-index:0}.hero-content{max-width:700px;padding:2rem;position:relative;z-index:1}.hero-logo{filter:drop-shadow(0 0 5px rgba(255,255,255,.5));margin-bottom:1rem;width:90px}.hero-title{font-size:2.8rem;font-weight:700;margin-bottom:.6rem}.hero-subtitle{font-size:1.2rem;margin-bottom:1.8rem;opacity:.9}.hero-buttons .btn{margin:0 .5rem}.btn{border-radius:30px;display:inline-block;font-weight:600;padding:.7rem 1.5rem;text-decoration:none;transition:.3s}.btn.primary{background:#0078d7}.btn.primary.glow:hover{box-shadow:0 0 10px rgba(0,120,215,.7)}.btn.secondary{background:transparent;border:2px solid #fff}.btn.outline{border:2px solid #0078d7;color:#0078d7}.btn.outline:hover{background:#0078d7;color:#fff}.featured-events{background:#f8fafc;padding:4rem 1rem;text-align:center}.section-title{color:#036;font-size:1.8rem;font-weight:700;margin-bottom:2rem}.section-subtitle{color:#4a6a94;font-size:1.05rem;font-weight:400;line-height:1.6;margin:-1rem auto 2rem;max-width:720px}.about-preview{padding:4rem 1rem;text-align:center}.glass{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.75);border-radius:16px;margin:3rem auto;max-width:900px}.about-text{color:#333;font-size:1.05rem;line-height:1.8}.fade-in{animation:fadeIn 1s ease forwards;opacity:0;transform:translateY(20px)}.fade-up{animation:fadeUp 1.2s ease forwards;opacity:0;transform:translateY(40px)}@keyframes fadeUp{to{opacity:1;transform:none}}.event-card{background:#fff;border-radius:16px;box-shadow:0 4px 14px rgba(0,0,0,.08);display:flex;flex-direction:column;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.event-card:hover{box-shadow:0 8px 20px rgba(0,0,0,.12);transform:translateY(-5px)}.event-image-wrapper{overflow:hidden;padding-top:56.25%;position:relative;width:100%}.event-image,.event-image-wrapper img{height:100%;left:0;object-fit:cover;position:absolute;top:0;width:100%}.event-info{display:flex;flex-direction:column;flex-grow:1;padding:1.2rem 1.4rem}.event-info h3{color:#036;font-size:1.2rem;margin-bottom:.4rem}.event-meta{color:#777;font-size:.9rem;margin-bottom:.8rem}.event-desc{color:#444;flex-grow:1;font-size:.95rem;line-height:1.5}.events-grid{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.interests-page{color:#036}.interests-hero{background:linear-gradient(120deg,rgba(15,23,42,.62),rgba(28,42,74,.55) 55%,rgba(15,23,42,.62)),url(/static/media/cambrid.1847c0bb14440e0bd220.jpeg) 50%/cover no-repeat;color:#fff;padding:5rem 1.5rem 3.5rem;text-align:center}.interests-hero .hero-content{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:960px}.interests-hero h1{font-size:2.6rem;font-weight:700;margin:.2rem 0}.interests-hero p{color:hsla(0,0%,100%,.9);font-size:1.05rem;line-height:1.6;margin:.5rem 0 0;max-width:720px}.search-bar{flex-wrap:wrap;gap:.6rem;justify-content:center;margin-top:1.5rem}.search-bar input{background:#fff;border:1px solid #d7d2c6;border-radius:10px;font-size:.95rem;min-width:240px;outline:none;padding:.65rem .75rem;width:60%}.search-bar input:focus{border-color:#c8a76f;box-shadow:0 0 0 3px hsla(38,45%,61%,.25)}.search-bar .btn{border-radius:10px;padding:.65rem 1.2rem}.interest-tags{margin-top:3rem;text-align:center}.interest-tags h2{color:#036;font-size:1.8rem;font-weight:700;margin-bottom:1.5rem}.tags{gap:.8rem;justify-content:center}.tag{background:#e9f2ff;border:none;color:#036;font-weight:500;padding:.6rem 1.2rem}.tag:hover{background:#0078d7;color:#fff;transform:translateY(-2px)}.interest-results{margin-top:4rem}.interest-results h2{color:#036;font-size:1.8rem;font-weight:700;margin-bottom:2rem;text-align:center}.interest-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.interest-card{background:#fff;border-radius:16px;box-shadow:0 4px 12px rgba(0,0,0,.08);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.interest-card:hover{box-shadow:0 8px 20px rgba(0,0,0,.12);transform:translateY(-6px)}.interest-card img{height:200px;object-fit:cover;width:100%}.card-content{padding:1.2rem 1.5rem}.card-content h3{color:#036;font-size:1.2rem;margin-bottom:.6rem}.card-content p{color:#555;font-size:.95rem;line-height:1.5}.events-page .hero{padding:5rem 1rem 3rem}.events-page .search-bar{margin-top:2rem;text-align:center}.events-page .search-bar input{border:1px solid #cbd5e1;border-radius:25px;font-size:1rem;max-width:400px;outline:none;padding:.7rem 1rem;transition:all .3s;width:50%}.events-page .search-bar input:focus{border-color:#1e3a8a;box-shadow:0 0 0 2px rgba(30,58,138,.2)}.all-events .events-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:2rem}.no-results{color:#555;font-size:1.1rem;margin-top:2rem}.search-results{margin:2rem auto}.users-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:1rem}.user-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.1);display:flex;gap:1rem;padding:1.5rem;transition:transform .2s ease}.user-card:hover{transform:translateY(-2px)}.user-avatar{flex-shrink:0}.user-avatar img{object-fit:cover}.avatar-placeholder,.user-avatar img{border-radius:50%;height:60px;width:60px}.avatar-placeholder{align-items:center;background:#4caf50;color:#fff;display:flex;font-size:1.5rem;font-weight:700;justify-content:center}.user-info{flex:1 1}.user-info h3{color:#333;margin:0 0 .5rem}.user-college,.user-major{color:#666;font-size:.9rem;margin:.25rem 0}.user-bio{color:#444;font-size:.95rem;line-height:1.4;margin:.5rem 0}.user-interests{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.interest-tag{background:#e3f2fd;border-radius:20px;color:#1976d2;font-size:.8rem;font-weight:500;padding:.25rem .75rem}.search-bar button:disabled{cursor:not-allowed;opacity:.6}.tags{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.tag{background:#fff;border:2px solid #e0e0e0;border-radius:25px;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:all .3s ease}.tag:hover{background:#f1f8e9;border-color:#4caf50}.results-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.no-results{padding:4rem 2rem;text-align:center}.no-results-content{margin:0 auto;max-width:500px}.no-results-icon{font-size:4rem;margin-bottom:1.5rem}.no-results h2{color:#666;margin-bottom:1rem}.no-results p{color:#888;font-size:1.1rem;margin-bottom:2rem}.suggestions{margin:2rem 0}.suggestions p{color:#666;margin-bottom:1rem}.suggestion-tags{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:2rem}.suggestion-tag{background:#f8f9fa;border:1px solid #dee2e6;border-radius:20px;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .3s ease}.suggestion-tag:hover{background:#e9ecef;border-color:#6c757d}.interest-tag-more{background:#6c757d;border-radius:20px;color:#fff;font-size:.8rem;font-weight:500;padding:.25rem .75rem}.search-bar{align-items:center;display:flex;gap:10px}.btn.secondary{border-radius:5px;padding:.75rem 1.5rem;transition:background .3s ease}.food-page{min-height:100vh}.food-hero{background:linear-gradient(120deg,rgba(15,23,42,.62),rgba(28,42,74,.55) 55%,rgba(15,23,42,.62)),url(/static/media/food.39aa16a45a474ee6a083.jpg) 50%/cover no-repeat;color:#fff;padding:5rem 1.5rem 3.5rem;text-align:center}.food-hero-content{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:960px}.food-hero h1{font-size:2.6rem;margin:.2rem 0}.food-hero p{color:hsla(0,0%,100%,.9);font-size:1.05rem;line-height:1.6;margin:.5rem 0 1rem;max-width:720px}.food-hero .search-input-container{margin-top:1.5rem;max-width:520px;width:100%}.food-hero .search-input-container label{color:hsla(0,0%,100%,.9);display:block;font-size:.9rem;font-weight:600;margin-bottom:.45rem;text-align:left}.food-hero .search-input-container input{background:#fff;border:1px solid #d7d2c6;border-radius:10px;font-size:.95rem;padding:.65rem .75rem;width:100%}.food-hero .search-input-container input:focus{border-color:#c8a76f;box-shadow:0 0 0 3px hsla(38,45%,61%,.25);outline:none}.food-main{display:flex;flex-direction:row;flex-wrap:wrap;gap:24px;margin:0 auto;max-width:1200px;padding:24px}@media (max-width:768px){.modern-hero{height:60vh;min-height:400px}.hero-content{padding:1.5rem}.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem;margin-bottom:1.2rem}.hero-buttons{align-items:center;flex-direction:column;gap:.75rem}.hero-btn{font-size:1rem;min-width:200px;padding:.85rem 1.5rem}.search-bar{flex-direction:column;width:100%}.search-bar input{min-width:0;min-width:auto;width:100%}.search-bar .btn{width:100%}.events-grid{gap:1.5rem;grid-template-columns:1fr}.featured-events{padding:2.5rem 1rem}.section-title{font-size:1.5rem;margin-bottom:1.5rem}.section-subtitle{font-size:.95rem;margin:-.5rem auto 1.5rem}.interest-tags h2{font-size:1.5rem}.tags{gap:.6rem}.tag{font-size:.9rem;padding:.5rem 1rem}.interest-results h2{font-size:1.5rem}.interest-grid{gap:1.5rem;grid-template-columns:1fr}.users-grid{gap:1rem;grid-template-columns:1fr}.user-card{flex-direction:column;gap:.75rem;text-align:center}.user-interests{justify-content:center}.interests-hero{padding:3.5rem 1rem 2.5rem}.interests-hero h1{font-size:1.8rem}.interests-hero p{font-size:.95rem}.food-hero{padding:3.5rem 1rem 2.5rem}.food-hero h1{font-size:1.8rem}.food-hero p{font-size:.95rem}.food-main{flex-direction:column;gap:16px;padding:16px}.about-preview{padding:2.5rem 1rem}.glass{margin:2rem auto;padding:1.5rem}.about-text{font-size:.95rem}.results-header{align-items:flex-start;flex-direction:column;gap:1rem}.no-results{padding:2.5rem 1rem}.no-results-icon{font-size:3rem}.no-results h2{font-size:1.25rem}.no-results p{font-size:1rem}.suggestion-tags{gap:.4rem}.suggestion-tag{font-size:.85rem;padding:.4rem .8rem}.boardgame-banner{padding:.6rem .75rem}.boardgame-banner__link{font-size:.9rem}}@media (max-width:480px){.modern-hero{height:50vh;min-height:350px}.hero-content{padding:1rem}.hero-title{font-size:1.6rem}.hero-subtitle{font-size:.9rem}.hero-logo{width:70px}.hero-btn{font-size:.95rem;min-width:180px;padding:.75rem 1.25rem}.featured-events{padding:2rem .75rem}.section-title{font-size:1.3rem}.section-subtitle{font-size:.9rem}.event-info{padding:1rem}.event-info h3{font-size:1.1rem}.event-meta{font-size:.85rem}.event-desc{font-size:.9rem}.interest-tags{margin-top:2rem}.interest-tags h2{font-size:1.3rem;margin-bottom:1rem}.tag{font-size:.85rem;padding:.45rem .9rem}.interest-results{margin-top:2.5rem}.interest-results h2{font-size:1.3rem;margin-bottom:1.5rem}.interest-card img{height:160px}.card-content{padding:1rem}.card-content h3{font-size:1.1rem}.card-content p{font-size:.9rem}.interests-hero{padding:3rem .75rem 2rem}.interests-hero h1{font-size:1.5rem}.food-hero{padding:3rem .75rem 2rem}.food-hero h1{font-size:1.5rem}.food-main{gap:12px;padding:12px}.user-card{padding:1.25rem}.user-info h3{font-size:1.1rem}.user-bio{font-size:.9rem}.interest-tag{font-size:.75rem;padding:.2rem .6rem}.boardgame-banner{padding:.5rem}.boardgame-banner__cta,.boardgame-banner__link{font-size:.85rem}}.auth-page{min-height:100vh}.auth-hero{background:linear-gradient(120deg,rgba(15,23,42,.62),rgba(28,42,74,.55) 55%,rgba(15,23,42,.62)),url(/static/media/cambridge-bg.0ae4e2ebabab97351668.jpg) 50%/cover no-repeat;color:#fff;padding:5rem 1.5rem 3.5rem;text-align:center}.auth-hero .hero-content{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:960px}.auth-hero h1{font-size:2.6rem;margin:.2rem 0}.auth-hero p{color:hsla(0,0%,100%,.9);font-size:1.05rem;line-height:1.6;max-width:720px}.auth-form-section{display:flex;justify-content:center;padding:60px 20px}.form-card{background:#fff;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.1);max-width:500px;padding:40px;width:100%}.form-card h2{color:#036;font-size:1.8rem;font-weight:700;margin-bottom:30px;text-align:center}.form-card label{color:#333;display:block;font-weight:600;margin-bottom:20px}.form-card input{border:2px solid #e1e5e9;border-radius:6px;font-size:16px;margin-top:5px;padding:12px;transition:border-color .3s;width:100%}.form-card input:focus{border-color:#667eea;outline:none}.error-message{background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;margin-bottom:20px;padding:12px}.auth-links{margin-top:20px;text-align:center}.auth-links a{color:#667eea;text-decoration:none}.auth-links a:hover{text-decoration:underline}.btn.primary{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;padding:15px;transition:background .3s;width:100%}.btn.primary:hover:not(:disabled){background:#5a6fd8}.btn.primary:disabled{background:#6c757d;cursor:not-allowed}@media (max-width:768px){.auth-hero{padding:3.5rem 1rem 2.5rem}.auth-hero h1{font-size:1.8rem}.auth-hero p{font-size:.95rem}.auth-form-section{padding:40px 16px}.form-card{border-radius:12px;padding:28px 20px}.form-card h2{font-size:1.5rem;margin-bottom:24px}.form-card label{font-size:.95rem;margin-bottom:16px}.form-card input{font-size:15px;padding:10px}}@media (max-width:480px){.auth-hero{padding:3rem .75rem 2rem}.auth-hero h1{font-size:1.5rem}.auth-hero p{font-size:.9rem}.auth-form-section{padding:32px 12px}.form-card{padding:24px 16px}.form-card h2{font-size:1.35rem;margin-bottom:20px}.form-card label{font-size:.9rem;margin-bottom:14px}.form-card input{font-size:14px;padding:10px}.btn.primary{font-size:15px;padding:12px}.auth-links{font-size:.9rem;margin-top:16px}.error-message{font-size:.9rem;padding:10px}}.boardgame-page{background:#f5f8ff;color:#036;min-height:100vh}.boardgame-hero{background:linear-gradient(120deg,rgba(15,23,42,.62),rgba(28,42,74,.55) 55%,rgba(15,23,42,.62)),url(/static/media/boardgame.9cdf371df22509cb5a80.png) 50%/cover no-repeat;color:#fff;padding:5rem 1.5rem 3.5rem;text-align:center}.boardgame-hero h1{font-size:2.6rem;margin:.2rem 0}.boardgame-hero p{color:hsla(0,0%,100%,.9);font-size:1.05rem;line-height:1.6;margin:0 auto;max-width:720px}.boardgame-controls{background:#fff;border-radius:16px;box-shadow:0 16px 32px rgba(0,0,0,.08);margin:-2.3rem auto 0;max-width:1100px;padding:1.4rem;position:relative;z-index:5}.boardgame-controls form{grid-gap:1.6rem;align-items:end;display:grid;gap:1.6rem;grid-template-columns:minmax(220px,1.5fr) minmax(220px,1fr) auto;justify-items:stretch}.boardgame-controls label{background:#f2f7ff;border:1px solid #dbe6fb;border-radius:10px;box-sizing:border-box;color:#0b3a70;display:flex;flex-direction:column;font-size:.9rem;font-weight:600;gap:.45rem;padding:.85rem}.boardgame-controls input,.boardgame-controls select,.boardgame-controls textarea{background:#fff;border:1px solid #c8d6f1;border-radius:10px;box-sizing:border-box;font-size:.95rem;margin-top:.5rem;padding:.65rem .75rem;transition:border .2s ease,box-shadow .2s ease;width:100%}.boardgame-controls input:focus,.boardgame-controls select:focus,.boardgame-controls textarea:focus{border-color:#4f8bd6;box-shadow:0 0 0 3px rgba(79,139,214,.2);outline:none}.boardgame-controls .action-button{align-self:center;background:#0059b3;border:none;border-radius:12px;color:#fff;cursor:pointer;font-weight:600;justify-self:center;padding:.75rem 1.4rem;transition:transform .2s ease,box-shadow .2s ease}.search-action{align-items:center;display:flex;justify-content:center}.boardgame-controls .action-button:hover{box-shadow:0 12px 20px rgba(0,63,131,.25);transform:translateY(-1px)}.boardgame-content{margin:2.5rem auto 4rem;max-width:1100px;padding:0 1.25rem 3rem}.boardgame-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.boardgame-toolbar .info{color:#36537a;font-size:.95rem}.boardgame-toolbar .btn-link{background:transparent;border:1px solid #0059b3;border-radius:16px;color:#0059b3;cursor:pointer;font-weight:600;padding:.55rem 1.3rem;transition:background .2s ease,color .2s ease}.boardgame-toolbar .btn-link:hover{background:#0059b3;color:#fff}.boardgame-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.boardgame-card{background:#fff;border-radius:18px;box-shadow:0 12px 28px rgba(0,32,70,.08);cursor:pointer;display:flex;flex-direction:column;gap:.85rem;padding:1.4rem;transition:transform .2s ease,box-shadow .2s ease}.boardgame-card:hover{box-shadow:0 18px 32px rgba(0,32,70,.15);transform:translateY(-4px)}.boardgame-card h3{color:#0b3a70;font-size:1.3rem;margin:0}.boardgame-card .meta{color:#36537a;display:flex;flex-direction:column;font-size:.92rem;gap:.4rem}.boardgame-card .meta span{align-items:center;display:flex;gap:.4rem}.boardgame-card .participants{background:#ecf3ff;border-radius:12px;color:#405a80;font-size:.9rem;padding:.6rem .8rem}.boardgame-card .status{color:#0b3a70;font-weight:600}.boardgame-empty,.boardgame-error{color:#36537a;padding:3rem 1rem;text-align:center}.boardgame-error{color:#c0392b}.boardgame-sample-section{margin-top:3rem}.boardgame-sample-section h3{color:#0b3a70;font-size:1.2rem;margin-bottom:1rem}.boardgame-card--sample{cursor:default}.boardgame-card--sample:hover{box-shadow:0 12px 28px rgba(0,32,70,.08);transform:none}.boardgame-card--past{background:#f8faff;border:1px dashed #c9d6f1}.boardgame-card--past:hover{transform:translateY(-2px)}.status--past{color:#a03d75}.boardgame-past{margin-top:3rem;text-align:center}.boardgame-grid--past{margin-top:1.5rem}.past-toggle{align-items:center;background:#eef4ff;border:1px solid #bcd4ff;border-radius:999px;color:#0b3a70;cursor:pointer;display:inline-flex;font-weight:600;gap:.35rem;padding:.6rem 1.4rem;transition:background .2s ease,transform .2s ease}.past-toggle:hover{background:#d9e7ff;transform:translateY(-1px)}.boardgame-detail-overlay{z-index:2000}.boardgame-detail-overlay,.boardgame-join-overlay{align-items:center;background:rgba(6,26,58,.45);display:flex;inset:0;justify-content:center;padding:1.5rem;position:fixed}.boardgame-join-overlay{z-index:2100}.boardgame-join-modal{background:#fff;border-radius:22px;box-shadow:0 24px 56px rgba(0,32,70,.25);max-height:90vh;max-width:640px;overflow-y:auto;padding:2rem;position:relative;width:100%}.boardgame-join-modal h2{color:#036;font-size:1.8rem;font-weight:700;margin:0 0 .35rem;text-align:center}.boardgame-join-modal .subtitle{color:#4a6a94;font-size:1rem;line-height:1.55;margin:0 auto 1.35rem;max-width:520px;text-align:center}.boardgame-join-modal form{display:flex;flex-direction:column;gap:1.25rem}.boardgame-join-modal label{color:#0b3a70;display:flex;flex-direction:column;font-weight:600;gap:.55rem}.boardgame-join-modal input,.boardgame-join-modal textarea{border:1px solid #c8d6f1;border-radius:14px;box-sizing:border-box;font-size:.95rem;padding:.7rem .9rem;width:100%}.boardgame-join-modal textarea{min-height:110px;resize:vertical}.boardgame-join-modal input:focus,.boardgame-join-modal textarea:focus{border-color:#4f8bd6;box-shadow:0 0 0 4px rgba(79,139,214,.18);outline:none}.boardgame-detail{background:#fff;border-radius:22px;box-shadow:0 24px 56px rgba(0,32,70,.25);max-height:90vh;max-width:640px;overflow-y:auto;padding:2rem;position:relative;width:100%}.boardgame-detail h2{color:#0b3a70;margin-bottom:.35rem;margin-top:0}.boardgame-detail .subtitle{color:#4a6a94;font-size:1rem;margin:0 0 1rem}.boardgame-detail .close-btn{background:transparent;border:none;color:#6c82a3;cursor:pointer;font-size:1.8rem;line-height:1;position:absolute;right:1.2rem;top:1.2rem}.boardgame-detail .section{margin-bottom:1.4rem}.boardgame-detail .section h3{color:#36537a;font-size:1rem;letter-spacing:.06em;margin:0 0 .5rem;text-transform:uppercase}.boardgame-detail .section p{color:#405a80;font-size:.95rem;line-height:1.6;margin:0}.boardgame-detail .contact-list{display:flex;flex-direction:column;gap:.6rem}.contact-row{align-items:center;background:#f4f8ff;border-radius:12px;display:flex;justify-content:space-between;padding:.55rem .85rem}.contact-label{color:#0b3a70;font-weight:600}.contact-value{color:#36537a;text-align:right;word-break:break-word}.boardgame-detail .actions{flex-wrap:wrap;gap:.8rem;margin-top:1.4rem}.boardgame-detail .actions,.boardgame-edit-overlay{align-items:center;display:flex;justify-content:center}.boardgame-edit-overlay{background:rgba(0,24,64,.45);box-sizing:border-box;height:100%;left:0;padding:2rem;position:fixed;top:0;width:100%;z-index:2200}.boardgame-edit-modal{background:#f7faff;border-radius:24px;box-shadow:0 32px 60px rgba(0,32,70,.25);max-height:calc(100vh - 4rem);overflow-y:auto;padding:2.5rem 2.2rem 2.2rem;position:relative;width:min(100%,1020px)}.boardgame-edit-modal::-webkit-scrollbar{width:8px}.boardgame-edit-modal::-webkit-scrollbar-thumb{background:rgba(0,59,128,.2);border-radius:4px}.edit-close-btn{background:transparent;border:none;color:#36537a;cursor:pointer;font-size:1.8rem;font-weight:500;line-height:1;padding:0;position:absolute;right:1.3rem;top:1.1rem}.edit-close-btn:hover{color:#0b3a70}.boardgame-detail .actions .boardgame-notice{flex-basis:100%;margin-top:.6rem;text-align:center}.boardgame-detail .primary-btn,.boardgame-detail .secondary-btn{border:none;border-radius:16px;cursor:pointer;font-weight:600;padding:.75rem 1.6rem;transition:transform .2s ease,box-shadow .2s ease}.boardgame-detail .primary-btn{background:#0059b3;color:#fff}.boardgame-detail .primary-btn:hover{box-shadow:0 14px 26px rgba(0,63,131,.24)}.boardgame-detail .secondary-btn{background:#ecf3ff;color:#0b3a70}.boardgame-detail .secondary-btn:hover{box-shadow:0 12px 24px rgba(0,32,70,.15)}.boardgame-notice{background:#ecf7ff;border:1px solid #b6d9ff;border-radius:16px;color:#0f3f75;font-size:.92rem;margin-top:1.2rem;padding:1rem 1.2rem}.boardgame-notice--warning{background:#fff7eb;border-color:#f2c078;color:#8a4b0f}.host-edit-block{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.boardgame-edit-form{background:#fff;border:1px solid #dbe6fb;border-radius:16px;box-shadow:0 12px 28px rgba(0,32,70,.12);padding:1.5rem}.boardgame-edit-form h2{color:#0b3a70;font-size:1.35rem;margin-bottom:1.4rem;margin-top:0;text-align:center}.boardgame-edit-form h3{color:#0b3a70;font-size:1.05rem;margin-bottom:.75rem;margin-top:0}.boardgame-edit-form form{grid-gap:1.2rem;display:grid;gap:1.2rem;grid-template-columns:repeat(3,minmax(220px,1fr))}.boardgame-edit-form label{background:#f2f7ff;border:1px solid #dbe6fb;border-radius:14px;color:#36537a;display:flex;flex-direction:column;font-size:.95rem;font-weight:600;gap:.45rem;padding:1rem}.boardgame-edit-form input,.boardgame-edit-form textarea{border:1px solid #c8d6f1;border-radius:12px;font-size:.95rem;padding:.75rem 0;text-indent:.5rem;transition:border .2s ease,box-shadow .2s ease}.boardgame-edit-form input:focus,.boardgame-edit-form textarea:focus{border-color:#4f8bd6;box-shadow:0 0 0 3px rgba(79,139,214,.2);outline:none}.boardgame-edit-form textarea{min-height:120px;resize:vertical}.boardgame-edit-form .form-actions{display:flex;flex-wrap:wrap;gap:1rem;grid-column:1/-1;justify-content:center}.boardgame-edit-form .cancel-btn,.boardgame-edit-form .submit-btn{border:none;border-radius:16px;cursor:pointer;font-weight:600;min-width:140px;padding:.75rem 2rem}.boardgame-edit-form .submit-btn{background:#0059b3;color:#fff}.boardgame-edit-form .cancel-btn{background:transparent;border:1px solid #c2d4f3;color:#36537a}.boardgame-edit-form .description-field{grid-column:span 3}.host-edit-block .boardgame-feedback{margin:0}.boardgame-create-form{background:#fff;border-radius:20px;box-shadow:0 18px 36px rgba(0,32,70,.14);margin:2rem 0 2.5rem;overflow:hidden;padding:2rem}.boardgame-create-form h2{color:#036;font-size:1.8rem;font-weight:700;margin-top:0}.boardgame-create-form form{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,minmax(220px,1fr))}.boardgame-create-form label{background:#f2f7ff;border:1px solid #dbe6fb;border-radius:14px;color:#36537a;display:flex;flex-direction:column;font-size:.95rem;font-weight:600;gap:.45rem;padding:1rem}.boardgame-create-form input,.boardgame-create-form textarea{border:1px solid #c8d6f1;border-radius:12px;font-size:.95rem;padding:.75rem 0;text-indent:.5rem;transition:border .2s ease,box-shadow .2s ease}.boardgame-create-form input:focus,.boardgame-create-form textarea:focus{border-color:#4f8bd6;box-shadow:0 0 0 3px rgba(79,139,214,.2);outline:none}.boardgame-create-form textarea{min-height:120px;resize:vertical}.boardgame-create-form .form-actions{display:flex;flex-wrap:wrap;gap:1rem;grid-column:1/-1;justify-content:center}.boardgame-create-form .submit-btn{background:#0059b3;border:none;border-radius:16px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 2rem}.boardgame-create-form .cancel-btn{background:transparent;border:1px solid #c2d4f3;border-radius:16px;color:#36537a;cursor:pointer;font-weight:600;padding:.7rem 1.8rem}.boardgame-create-form .cancel-btn,.boardgame-create-form .submit-btn{min-width:140px}.boardgame-create-form .full-width{grid-column:1/-1}.boardgame-create-form .description-field{grid-column:span 3}.boardgame-feedback{font-size:.95rem;margin-top:1rem}.boardgame-feedback.success{color:#1e8449}.boardgame-feedback.error{color:#c0392b}@media (max-width:980px){.boardgame-edit-form form{grid-template-columns:repeat(2,minmax(210px,1fr))}.boardgame-edit-modal{max-height:calc(100vh - 3rem);padding:2rem 1.6rem 1.6rem}.boardgame-create-form form{grid-template-columns:repeat(2,minmax(210px,1fr))}}@media (max-width:720px){.boardgame-hero{padding:3.5rem 1rem 2.5rem}.boardgame-hero h1{font-size:1.8rem}.boardgame-hero p{font-size:.95rem}.boardgame-controls{border-radius:12px;margin:1.5rem 1rem 0;padding:1.25rem}.boardgame-controls form{gap:1rem;grid-template-columns:1fr}.boardgame-controls .action-button{width:100%}.boardgame-content{margin-top:2rem;padding:0 1rem 2rem}.boardgame-toolbar{align-items:stretch;flex-direction:column;gap:.75rem}.boardgame-grid{gap:1rem;grid-template-columns:1fr}.boardgame-card{padding:1.2rem}.boardgame-card h3{font-size:1.15rem}.boardgame-detail{margin:.5rem;padding:1.5rem}.boardgame-detail h2{font-size:1.4rem}.boardgame-detail .actions{align-items:stretch;flex-direction:column}.boardgame-detail .primary-btn,.boardgame-detail .secondary-btn{text-align:center;width:100%}.boardgame-edit-modal{margin:.5rem;padding:1.8rem 1.2rem}.boardgame-edit-form form{grid-template-columns:1fr}.boardgame-edit-form .description-field{grid-column:1}.boardgame-create-form{margin:1.5rem 0;padding:1.5rem}.boardgame-create-form h2{font-size:1.4rem}.boardgame-create-form form{gap:1rem;grid-template-columns:1fr}.boardgame-create-form .description-field{grid-column:1}.boardgame-join-modal{margin:.5rem;padding:1.5rem}.boardgame-join-modal h2{font-size:1.4rem}.contact-row{align-items:flex-start;flex-direction:column;gap:.25rem}.contact-value{text-align:left}}@media (max-width:480px){.boardgame-hero{padding:3rem .75rem 2rem}.boardgame-hero h1{font-size:1.5rem}.boardgame-controls{margin:1rem .5rem 0;padding:1rem}.boardgame-controls label{font-size:.85rem;padding:.7rem}.boardgame-content{padding:0 .75rem 2rem}.boardgame-card{padding:1rem}.boardgame-card h3{font-size:1.1rem}.boardgame-detail{padding:1.25rem}.boardgame-detail h2{font-size:1.25rem}.boardgame-create-form{padding:1.25rem}.boardgame-create-form h2{font-size:1.25rem}.past-toggle{justify-content:center;width:100%}}.formal-page{background:#f7f3eb;color:#1f1a12;min-height:100vh}.formal-page,.formal-page *{box-sizing:border-box}.formal-hero{background:linear-gradient(120deg,rgba(15,23,42,.62),rgba(28,42,74,.55) 55%,rgba(15,23,42,.62)),url(/static/media/formal.1277aa0087eb13ffb4d3.png) 50%/cover no-repeat;color:#fff;padding:5rem 1.5rem 3.5rem;text-align:center}.formal-hero-content{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:960px}.formal-kicker{background:rgba(255,215,141,.2);border:1px solid rgba(255,215,141,.5);border-radius:999px;color:#ffd78d;display:inline-block;font-weight:700;letter-spacing:.5px;margin-bottom:.8rem;padding:.4rem .9rem}.formal-hero h1{font-size:2.6rem;margin:.2rem 0}.formal-hero p{color:hsla(0,0%,100%,.9);font-size:1.05rem;line-height:1.6;max-width:720px}.formal-hero-actions{display:flex;gap:.8rem;justify-content:center;margin-top:1.5rem}.formal-btn{border:1px solid transparent;border-radius:12px;cursor:pointer;font-weight:700;padding:.75rem 1.4rem;transition:all .2s ease}.formal-btn.primary{background:linear-gradient(135deg,#f0c27b,#eec27b);box-shadow:0 8px 20px hsla(36,80%,71%,.35);color:#1f1a12}.formal-btn.ghost{background:transparent;border-color:hsla(0,0%,100%,.5);color:#fff}.formal-btn.ghost-dark{border-color:rgba(15,23,42,.35);color:#0f172a}.formal-btn.ghost-dark:hover{background:rgba(15,23,42,.08)}.formal-btn.danger{background:#b92b3d;border:none;color:#fff}.formal-btn:hover{transform:translateY(-2px)}.formal-controls{background:#fff;border-radius:16px;box-shadow:0 16px 32px rgba(0,0,0,.08);margin:-2.3rem auto 0;max-width:1100px;padding:1.4rem;position:relative;z-index:5}.formal-filter{grid-gap:1rem;align-items:end;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.formal-filter>*{min-width:0}.formal-filter label{color:#2d2a22;display:flex;flex-direction:column;font-weight:600;gap:.45rem}.formal-filter input,.formal-filter select{border:1px solid #d7d2c6;border-radius:10px;font-size:.95rem;padding:.65rem .75rem;width:100%}.formal-filter select{background:#fff}.formal-filter button{min-width:0;width:100%}.formal-filter input:focus,.formal-filter select:focus{border-color:#c8a76f;box-shadow:0 0 0 3px hsla(38,45%,61%,.25);outline:none}.formal-error,.formal-notice,.formal-success{border-radius:12px;font-weight:600;margin-top:.9rem;padding:.9rem 1rem}.formal-notice{background:#fff7e6;border:1px solid #f0c27b;color:#7a520d}.formal-error{background:#ffe8e8;border:1px solid #f2a3a3;color:#8a1a1a}.formal-success{background:#e8f8f0;border:1px solid #9cd8ba;color:#1b6b3d}.formal-content{margin:2rem auto 1.75rem;max-width:1100px;padding:0 1.25rem}.formal-toolbar{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.formal-info{color:#4a4335;font-weight:600}.formal-grid{grid-gap:1.4rem;display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fill,minmax(280px,320px));justify-content:flex-start;justify-items:stretch}.formal-grid--past{margin-top:1rem;padding-bottom:.75rem}.formal-card{align-items:center;background:#fff;border-radius:16px;box-shadow:0 12px 28px rgba(0,0,0,.06);cursor:pointer;max-width:320px;padding:1.2rem;transition:transform .2s ease,box-shadow .2s ease;width:100%}.formal-card:hover{box-shadow:0 16px 32px rgba(0,0,0,.12);transform:translateY(-3px)}.formal-card.full{border:1px dashed #d8c7ad;opacity:.9}.formal-card-header{align-items:center;display:flex;flex-direction:column;gap:.25rem}.formal-card h3{font-size:1.2rem;line-height:1.25;margin:0;text-align:center}.formal-college{color:#f0c27b;font-weight:700}.formal-meta{color:#4a4335;display:flex;flex-direction:column;gap:.3rem;margin-top:.45rem;text-align:center}.formal-card-footer{display:flex;gap:.8rem;margin-top:auto;padding-top:.6rem}.formal-card-footer,.formal-chip{align-items:center;justify-content:center}.formal-chip{border-radius:12px;display:inline-flex;font-weight:700;padding:.45rem .75rem}.formal-chip.ok{background:#e8f8f0;color:#1b6b3d}.formal-chip.danger{background:#ffe8e8;color:#8a1a1a}.formal-chip.inline{margin-left:.5rem}.formal-empty{color:#6a6050;padding:1.4rem;text-align:center}.formal-create{background:#fff;border-radius:16px;box-shadow:inset 0 0 0 1px #f0e7d8;margin-bottom:1.4rem;padding:1.2rem;position:relative;z-index:6}.formal-create h3{color:#1f1a12}.formal-form{margin:0 auto;max-width:900px}.formal-form,.formal-form-row{grid-gap:.9rem;display:grid;gap:.9rem}.formal-form-row--two{grid-template-columns:repeat(2,minmax(0,1fr))}.formal-form-row--four{grid-template-columns:repeat(4,minmax(0,1fr))}.formal-form label{color:#2d2a22;display:flex;flex-direction:column;font-weight:600;gap:.4rem}.formal-form input,.formal-form select,.formal-form textarea{border:1px solid #d7d2c6;border-radius:10px;font-size:.95rem;padding:.65rem .75rem;width:100%}.formal-form textarea{min-height:100px;resize:vertical}.full-row{grid-column:1/-1}.formal-form-actions{display:flex;gap:.8rem;justify-content:center}.formal-form--inline{background:#fffdf6;border:1px solid #efdfc6;border-radius:16px;padding:1.5rem}@media (max-width:920px){.formal-form-row--four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.formal-form-row--four,.formal-form-row--two{grid-template-columns:1fr}}.formal-detail-overlay{align-items:center;background:rgba(15,23,42,.55);display:flex;inset:0;justify-content:center;padding:1.5rem;position:fixed;z-index:9999}.formal-detail{background:#fff;border-radius:16px;box-shadow:0 20px 40px rgba(0,0,0,.18);max-height:90vh;max-width:920px;overflow-y:auto;padding:1.4rem;position:relative;width:100%}.formal-detail-close{background:transparent;border:none;color:#b1892f;cursor:pointer;font-size:1.6rem;position:absolute;right:1rem;top:.8rem}.formal-detail-title{font-size:1.6rem;margin:.5rem 0 .2rem;text-align:center}.formal-detail-fields{background:#fdf9f2;border:1px solid #efdfc6;border-radius:14px;padding:1rem}.formal-field-row{grid-gap:.9rem;align-items:start;border-bottom:1px solid rgba(0,0,0,.06);display:grid;gap:.9rem;grid-template-columns:120px 1fr;padding:.5rem 0}.formal-field-row:last-child{border-bottom:none}.formal-field-label{color:#6a5c44;font-weight:700}.formal-field-value{color:#2d2a22}.formal-field-row--multiline .formal-field-value{white-space:pre-wrap}@media (max-width:640px){.formal-field-row{gap:.25rem}.formal-field-row,.formal-grid{grid-template-columns:1fr}.formal-card{max-width:none}}.formal-section{background:#fdf9f2;border:1px solid #efdfc6;border-radius:14px;margin-top:1rem;padding:1rem}.formal-section h4{margin-bottom:.4rem}.formal-participants{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}.formal-participants li{background:#f0e7d8;border-radius:999px;padding:.4rem .7rem}.formal-actions{margin-top:1rem}.formal-actions,.formal-host-actions{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center}.formal-host-actions{align-items:center;flex-direction:row}.formal-past-section{margin:.75rem auto 0;max-width:1100px;padding:0 1.25rem 2rem}.formal-past-toggle{display:flex;justify-content:center;margin-top:1.2rem}.formal-card.past{border:1px dashed #d7d2c6;opacity:.9}.formal-edit-overlay{align-items:center;background:rgba(15,23,42,.55);display:flex;inset:0;justify-content:center;padding:1.5rem;position:fixed;z-index:9999}.formal-edit-modal{background:#fff;border-radius:16px;box-shadow:0 20px 40px rgba(0,0,0,.18);max-height:90vh;max-width:900px;overflow-y:auto;padding:1.5rem;position:relative;width:100%}.formal-edit-modal .formal-form{gap:1.25rem}.formal-edit-title{color:#1f1a12;margin:.5rem 0 1rem;text-align:center}.formal-edit-hint{color:#6a6050;line-height:1.5;margin:-.6rem auto 1rem;max-width:680px;text-align:center}@media (max-width:640px){.formal-hero{padding:3.5rem 1rem 2.5rem;text-align:center}.formal-hero h1{font-size:1.8rem}.formal-hero p{font-size:.95rem}.formal-hero-actions{align-items:center;flex-direction:column;flex-wrap:wrap;justify-content:center}.formal-hero-actions .formal-btn{max-width:280px;width:100%}.formal-kicker{font-size:.85rem;padding:.35rem .75rem}.formal-toolbar{align-items:flex-start;flex-direction:column;gap:.75rem}.formal-controls{border-radius:12px;margin:1rem .75rem 0;padding:1rem}.formal-filter{gap:.75rem;grid-template-columns:1fr}.formal-content{margin:1.5rem auto 1.25rem;padding:0 1rem}.formal-grid{gap:1rem;grid-template-columns:1fr}.formal-card{max-width:none;padding:1rem}.formal-card h3{font-size:1.1rem}.formal-detail{margin:.5rem;padding:1rem}.formal-detail-title{font-size:1.3rem}.formal-field-row{gap:.25rem;grid-template-columns:1fr;padding:.4rem 0}.formal-actions{align-items:stretch;flex-direction:column}.formal-actions .formal-btn{width:100%}.formal-host-actions{align-items:stretch;flex-direction:column}.formal-host-actions .formal-btn{width:100%}.formal-create{margin-bottom:1rem;padding:1rem}.formal-form-row--four,.formal-form-row--two{grid-template-columns:1fr}.formal-edit-modal{margin:.5rem;padding:1rem}.formal-edit-title{font-size:1.3rem}.formal-past-section{padding:0 1rem 1.5rem}}@media (max-width:480px){.formal-hero{padding:3rem .75rem 2rem}.formal-hero h1{font-size:1.5rem}.formal-hero p{font-size:.9rem}.formal-controls{margin:.75rem .5rem 0;padding:.85rem}.formal-content{margin:1.25rem auto 1rem;padding:0 .75rem}.formal-card{padding:.85rem}.formal-card h3{font-size:1rem}.formal-meta{font-size:.9rem}.formal-chip{font-size:.85rem;padding:.35rem .6rem}.formal-detail{padding:.85rem}.formal-detail-title{font-size:1.2rem}.formal-detail-fields,.formal-section{padding:.85rem}.formal-btn{font-size:.9rem;padding:.65rem 1.2rem}.formal-create{padding:.85rem}.formal-form label{font-size:.9rem}.formal-form input,.formal-form select,.formal-form textarea{font-size:.9rem;padding:.55rem .65rem}.formal-past-section{padding:0 .75rem 1.25rem}}.utilities-page{min-height:100vh}.utilities-hero{background:linear-gradient(120deg,rgba(15,23,42,.62),rgba(28,42,74,.55) 55%,rgba(15,23,42,.62)),url(/static/media/cambridge-bg.0ae4e2ebabab97351668.jpg) 50%/cover no-repeat;color:#fff;padding:5rem 1.5rem 3.5rem;text-align:center}.utilities-hero-content{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:960px}.utilities-hero h1{font-size:2.6rem;margin:.2rem 0}.utilities-hero p{color:hsla(0,0%,100%,.9);font-size:1.05rem;line-height:1.6;margin:.5rem 0 0;max-width:720px}.utilities-content{margin:0 auto;max-width:1200px;padding:24px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.rate-page{background:#f7f9fc;color:#0f172a;font-family:Inter,Helvetica Neue,Arial,sans-serif;min-height:100vh}.rate-page .hero{background:linear-gradient(120deg,rgba(15,23,42,.62),rgba(28,42,74,.55) 55%,rgba(15,23,42,.62)),url(/static/media/cambrid.1847c0bb14440e0bd220.jpeg) 50%/cover no-repeat;color:#fff;padding:5rem 1.5rem 3.5rem;text-align:center}.rate-page .hero-overlay{display:none}.rate-page .hero-content{align-items:center;display:flex;flex-direction:column;gap:16px;margin:0 auto;max-width:960px}.rate-page .hero-search{max-width:320px;position:relative;width:100%}.rate-page-content{margin:0 auto;max-width:1200px;padding:48px 16px 72px}.eyebrow{color:#6b7280;font-size:12px;letter-spacing:.12em;margin:0 0 8px;text-transform:uppercase}.rate-page .hero h1{font-size:2.6rem;font-weight:700;margin:.2rem 0}.lede,.rate-page .hero p{color:hsla(0,0%,100%,.9);font-size:1.05rem;line-height:1.6;margin:0;max-width:720px}.score-stack{grid-gap:12px;display:grid;gap:12px}.stack-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.9);padding:18px;text-align:center}.stack-card.dark{background:#edf2f7}.stack-score{font-size:42px;font-weight:900;letter-spacing:-1px}.stack-label{color:#475569;font-size:14px}.creator{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 10px 24px rgba(15,23,42,.08);margin-top:28px;padding:24px}.creator h2{color:#036;font-size:1.8rem;font-weight:700;margin:4px 0 0}.creator-modal{display:grid;inset:0;place-items:center;position:fixed;z-index:50}.creator-modal-backdrop{background:rgba(15,23,42,.45);inset:0;position:absolute}.creator-modal-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 20px 60px rgba(15,23,42,.25);padding:18px 18px 24px;position:relative;width:min(90vw,640px);z-index:1}.creator-modal-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.creator-tagline{color:#0f172a;font-size:18px;font-weight:800;margin:6px 0 0;text-align:center}.creator-form{grid-gap:12px;display:grid;gap:12px;margin-left:auto;margin-right:auto;margin-top:16px;max-width:520px}.creator-form select,.creator-form textarea{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-sizing:border-box;color:#0f172a;font-size:14px;outline:none;padding:12px 14px;width:100%}.creator-form textarea{resize:vertical}.form-row.single{grid-template-columns:1fr}.creator-form input{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-sizing:border-box;color:#0f172a;outline:none;padding:12px 14px;width:100%}.creator-form input:focus{border-color:#3b82f6}.form-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1.2fr}.upload-row{align-items:center;color:#475569;display:flex;flex-wrap:wrap;gap:12px}.upload-label{align-items:center;background:#fff;border:1px dashed #3b82f6;border-radius:10px;cursor:pointer;display:inline-flex;gap:10px;padding:10px 12px}.upload-label input{display:none}.upload-error{color:#ef4444;font-weight:600}.upload-hint{color:#0f172a}.floating-add{background:linear-gradient(135deg,#ef4444,#f97316);border:none;border-radius:50%;bottom:24px;box-shadow:0 15px 35px rgba(239,68,68,.35);color:#fff;cursor:pointer;font-size:28px;font-weight:800;height:54px;position:fixed;right:24px;width:54px}.categories{margin-top:24px;padding:16px 0}.categories-head{align-items:center;display:flex;flex-direction:column;gap:6px;margin-bottom:12px;text-align:center}.categories-head h3{color:#0f172a;font-size:30px;margin:0}.category-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.category-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;color:#0f172a;cursor:pointer;min-height:300px;overflow:hidden;padding:0;position:relative;text-align:left;transition:border .15s ease,transform .1s ease,box-shadow .15s ease}.category-card.active{border-color:#3b82f6;box-shadow:0 10px 20px rgba(59,130,246,.12);transform:translateY(-2px)}.category-bg{background-position:50%;background-size:cover;height:200px}.category-text{padding:12px}.category-name{font-weight:700;margin-bottom:6px}.category-count{color:#64748b;font-size:12px}.status{background:#fff;border:1px solid #e5e7eb;border-radius:12px;color:#0f172a;padding:16px}.status.error{border-color:#ef4444;color:#b91c1c}.primary{background:linear-gradient(90deg,#ef4444,#f97316);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:800;letter-spacing:.06em;padding:12px 16px;text-transform:uppercase}.feed{grid-gap:18px;display:grid;gap:18px;margin-top:24px}.rate-card{align-items:start;background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 18px 48px rgba(15,23,42,.12);cursor:pointer;display:grid;grid-template-columns:1.1fr 1.9fr;overflow:hidden}.rate-card.expanded{cursor:default}.card-image{align-self:start;background-position:50%;background-size:cover;height:280px;position:relative}.tag{background:hsla(0,0%,100%,.9);border:1px solid #f97316;border-radius:999px;color:#f97316;font-weight:700;left:16px;letter-spacing:.04em;padding:6px 12px;position:absolute;top:16px}.card-body{display:flex;flex-direction:column;gap:14px;padding:18px 18px 22px}.card-header{align-items:flex-start;display:flex;gap:14px;justify-content:space-between}.card-header h3{color:#0f172a;font-size:22px;margin:0 0 4px}.topic-text{text-align:left}.topic-title{color:#0f172a;font-size:22px;font-weight:800;margin:0 0 4px}.topic-desc{font-size:14px;line-height:1.4}.subtitle,.topic-desc{color:#475569;margin:0}.subtitle{letter-spacing:.02em}.score-pill{align-items:center;background:#fff;border:2px solid #ef4444;border-radius:14px;color:#0f172a;cursor:pointer;display:grid;padding:10px 14px;text-align:right}.score{font-size:28px;font-weight:900}.score-meta{color:#64748b;font-size:12px}.section{border-top:1px solid #e2e8f0;padding-top:12px}.section-title{color:#0f172a;font-size:12px;letter-spacing:.12em;margin-bottom:10px;text-transform:uppercase}.distribution-hist{grid-gap:8px;display:grid;gap:8px}.hist-row{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:80px 1fr 50px}.hist-stars{color:#94a3b8;display:inline-flex;gap:2px}.mini-star{font-size:12px}.hist-bar{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;height:12px;overflow:hidden}.hist-bar-fill{border-radius:999px;height:100%;transition:width .2s ease}.hist-pct{color:#475569;font-size:12px;text-align:right}.god-comment{background:#fff7ed;border:1px solid #fb923c;border-radius:12px;padding:12px}.god-comment.placeholder{border-style:dashed;color:#94a3b8}.god-label{background:#fff7ed;color:#ef4444;display:inline-block;font-weight:800;margin-bottom:6px;padding:4px 10px}.god-text{font-size:16px;font-weight:700;margin:6px 0}.god-meta{align-items:flex-start;color:#475569;display:flex;justify-content:space-between}.god-user{font-weight:700;margin-left:auto}.god-actions{align-items:flex-start;display:flex;gap:6px}.vote-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(48px,1fr))}.vote-grid.stars{align-items:center;display:inline-flex;gap:10px}.vote-btn{background:transparent;border:none;color:#fff;cursor:pointer;font-weight:900;padding:6px}.star-btn{-webkit-text-stroke:1px #93c5fd;color:#fff;font-size:22px;letter-spacing:1px;transition:color .15s ease,transform .1s ease,border-color .15s ease}.star-btn:focus,.star-btn:hover{color:#facc15;transform:translateY(-1px)}.comment-box{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 120px}.comment-box input{background:#fff;border:1px solid #e2e8f0;border-radius:10px;color:#0f172a;padding:12px}.comment-sort{align-items:center;color:#475569;display:flex;gap:8px;margin-bottom:8px}.comment-list{grid-gap:8px;display:grid;gap:8px;margin-top:10px}.comment-row{align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;gap:8px;justify-content:space-between;padding:24px 10px 10px;position:relative}.comment-actions{display:flex;gap:6px}.comment-labels{color:#475569;display:flex;font-size:12px;justify-content:space-between;left:10px;position:absolute;right:10px;top:4px}.comment-user-label{font-weight:700}.comment-date-label{color:#94a3b8}.show-more{background:#fff;border:1px dashed #e2e8f0;border-radius:10px;color:#475569;cursor:pointer;margin-top:6px;padding:8px 10px}.comment-user{color:#475569;font-weight:700}.pill{background:#fff;border:1px solid #e2e8f0;border-radius:999px;color:#0f172a;cursor:pointer;padding:6px 10px}.pill.danger{border-color:#ef4444;color:#b91c1c}.pill.active{background:#e0f2fe;border-color:#3b82f6;color:#0f172a}.comment-date{color:#94a3b8;font-size:12px}@media (max-width:900px){.hero,.rate-card{grid-template-columns:1fr}.card-image{height:200px;min-height:200px}.card-header{align-items:flex-start;flex-direction:column}.comment-box,.form-row{grid-template-columns:1fr}.category-grid{grid-template-columns:repeat(2,1fr)}.rate-page-content{padding:32px 12px 48px}.creator{padding:18px}.creator h2{font-size:1.5rem}}@media (max-width:640px){.rate-page .hero{padding:3.5rem 1rem 2.5rem}.rate-page .hero h1{font-size:1.8rem}.lede,.rate-page .hero p{font-size:.95rem}.rate-page .brand-title{font-size:28px!important}.rate-page .brand-sub{font-size:13px}.rate-page-content{padding:24px 10px 40px}.category-grid{gap:8px;grid-template-columns:1fr}.category-card{min-height:220px}.category-bg{height:140px}.categories-head h3{font-size:24px}.card-body{padding:14px}.topic-title{font-size:18px}.score{font-size:24px}.creator-modal-card{padding:14px;width:95vw}.creator-form{gap:10px}.creator h2{font-size:1.3rem}.creator-tagline{font-size:16px}.floating-add{bottom:16px;font-size:24px;height:48px;right:16px;width:48px}.hist-row{gap:6px;grid-template-columns:60px 1fr 40px}.comment-row{padding:20px 8px 8px}.god-comment{padding:10px}.god-text{font-size:14px}}@media (max-width:480px){.rate-page .hero{padding:3rem .75rem 2rem}.rate-page .hero h1{font-size:1.5rem}.rate-page .brand-title{font-size:24px!important}.rate-page-content{padding:20px 8px 36px}.category-card{min-height:180px}.category-bg{height:120px}.category-text{padding:10px}.card-image{height:160px;min-height:160px}.card-body{gap:10px;padding:12px}.topic-title{font-size:16px}.score-pill{padding:8px 10px}.score{font-size:20px}.rate-page .hero-search,.rate-page .hero-search input{max-width:100%}}.rate-page .hero-search input{background:#fff;border:1px solid #d7d2c6;border-radius:10px;color:#0f172a;font-size:.95rem;max-width:320px;padding:.65rem .75rem;width:100%}.rate-page .hero-search input:focus{border-color:#c8a76f;box-shadow:0 0 0 3px hsla(38,45%,61%,.25);outline:none}.search-suggestions{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 12px 30px rgba(15,23,42,.18);left:0;overflow:hidden;position:absolute;top:calc(100% + 6px);width:100%;z-index:5}.search-suggestions button{align-items:center;background:transparent;border:none;color:#0f172a;cursor:pointer;display:flex;justify-content:space-between;padding:10px 12px;text-align:left;width:100%}.search-suggestions button:hover{background:#f1f5f9}.suggest-title{font-weight:700}.suggest-cat{color:#64748b;font-size:12px;margin-left:8px}.rate-page .brand-title{color:#fff;display:block;font-size:35px!important;font-weight:900;line-height:1.05;margin:0}.rate-page .brand-sub{color:#e0f2fe;display:block;font-size:14px;font-weight:700;margin:4px 0 0}.dashboard-page{background:#f6f7fb;min-height:80vh;padding:32px 20px 60px}.dashboard-container{display:flex;flex-direction:column;gap:2rem;margin:0 auto;max-width:1200px}.profile-hero{grid-gap:1.5rem;align-items:stretch;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.profile-hero .interests-section{margin:0}.profile-card{background:#fff;border-radius:16px;box-shadow:0 12px 28px rgba(15,23,42,.08);padding:1.6rem}.profile-info{display:flex;flex-direction:column;gap:.6rem;height:100%}.profile-card h1{color:#0f172a;font-size:1.6rem;font-weight:600;margin:0}.profile-actions-row{display:flex;justify-content:center;margin-top:auto;padding-top:.15rem}.profile-interests{display:flex;flex-direction:column;height:96%;margin:0;padding:1.3rem 1.6rem 1.6rem}.profile-meta{grid-gap:.4rem;color:#475569;display:grid;gap:.4rem;margin-top:.4rem}.profile-meta div{display:flex;gap:1rem;justify-content:space-between}.meta-label{color:#0f172a;font-weight:600}.profile-actions h2{color:#0f172a;margin:0 0 1rem}.action-links{display:flex;flex-wrap:wrap;gap:.8rem}.profile-section{background:#fff;border-radius:16px;box-shadow:0 12px 28px rgba(15,23,42,.08);margin-top:1.8rem;padding:1.6rem}.section-header{gap:1rem;margin-bottom:1.5rem}.section-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.profile-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.profile-tab{background:#f8fafc;border:1px solid #cbd5f5;border-radius:999px;color:#1f2937;cursor:pointer;font-weight:600;padding:.45rem .9rem}.profile-tab.active{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.profile-hint{color:#64748b;font-size:.92rem;margin:-.5rem 0 1rem}.interest-actions{display:flex;justify-content:center;margin-top:auto;padding-top:.6rem}.profile-interests .section-header{justify-content:center;margin-bottom:.6rem}.profile-interests .section-header h2{font-size:1.6rem;font-weight:600;margin:0;text-align:center}.modal-form{margin:1rem 0}.modal-form .input-group{align-items:center;flex-wrap:wrap;width:100%}.modal-form .input-group input{flex:1 1 200px;min-width:0}.modal-form .input-group .btn.primary{max-width:120px;min-width:84px;padding:.6rem 1rem;width:auto}.modal-form .input-group .btn{flex:0 0 auto}.modal-subtitle{color:#1f2937;margin:.5rem 0}.modal-grid{margin-top:.5rem}.profile-empty-note{color:#8b93a7;display:block;font-size:.9rem;margin-top:.6rem}.profile-grid{align-items:stretch;gap:1.2rem;justify-content:flex-start}.profile-section .boardgame-grid,.profile-section .formal-grid{grid-column-gap:1.6rem;grid-row-gap:1.4rem;column-gap:1.6rem;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));row-gap:1.4rem}.profile-edit-overlay{align-items:center;background:rgba(15,23,42,.55);display:flex;inset:0;justify-content:center;padding:1.5rem;position:fixed;z-index:9999}.profile-edit-modal{background:#fff;border-radius:16px;box-shadow:0 20px 40px rgba(0,0,0,.18);max-width:520px;padding:1.6rem;position:relative;width:100%}.profile-edit-modal h3{color:#0f172a;margin-top:0;text-align:center}.profile-edit-modal form{grid-gap:1rem;display:grid;gap:1rem}.profile-edit-modal label{color:#1f2937;display:flex;flex-direction:column;font-weight:600;gap:.4rem}.profile-edit-modal input{border:1px solid #d1d5db;border-radius:10px;box-sizing:border-box;font-size:.95rem;padding:.65rem .75rem;width:100%}.profile-edit-actions{display:flex;justify-content:center}.profile-edit-close{background:transparent;border:none;color:#64748b;cursor:pointer;font-size:1.6rem;position:absolute;right:1rem;top:.9rem}.profile-edit-error{background:#fee2e2;border:1px solid #fecaca;border-radius:10px;color:#991b1b;font-weight:600;padding:.6rem .8rem}.profile-edit-success{background:#e8f8f0;border:1px solid #9cd8ba;border-radius:10px;color:#1b6b3d;font-weight:600;padding:.6rem .8rem}.error-message{align-items:center;background:#fee2e2;border:1px solid #fecaca;border-radius:12px;color:#991b1b;display:flex;gap:1rem;justify-content:space-between;padding:.75rem 1rem}.close-error{background:transparent;border:none;color:inherit;cursor:pointer;font-size:1.2rem}.btn.secondary{background:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;padding:10px 20px;text-decoration:none}.btn.secondary:hover{background:#5a6268}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.3rem}.section-header h2{color:#036;font-size:1.8rem;font-weight:700;margin:0}.add-interest-form{background:#f8f9fa;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.input-group{display:flex;gap:1rem;margin-bottom:.5rem}.input-group input{border:2px solid #e9ecef;border-radius:8px;flex:1 1;font-size:1rem;padding:.75rem 1rem;transition:border-color .3s ease}.input-group input:focus{border-color:#4caf50;outline:none}.form-hint{color:#6c757d;font-size:.9rem;margin:0}.no-interests{color:#6c757d;padding:3rem 2rem;text-align:center}.no-interests p{font-size:1.1rem;margin-bottom:1rem}.interests-grid{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0}.interest-item{align-items:center;background:#e3f2fd;border:2px solid #1976d2;border-radius:25px;color:#1976d2;display:flex;font-weight:500;gap:.5rem;padding:.75rem 1.25rem;transition:all .3s ease}.interest-item:hover{background:#bbdefb;transform:translateY(-1px)}.interests-section{background:#fff;border:1px solid #ddd;border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.1);margin:2rem 0;padding:2rem}.remove-btn{align-items:center;background:#f44;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;height:24px;justify-content:center;line-height:1;transition:background .3s ease;width:24px}.remove-btn:hover{background:#c00}.edit-hint{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;margin-top:1rem;padding:1rem}.edit-hint p{color:#856404;font-size:.9rem;margin:0}.dashboard-actions{margin-top:3rem}.action-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:1.5rem}.action-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.1);padding:2rem;text-align:center;transition:transform .3s ease}.action-card:hover{transform:translateY(-2px)}.action-card h3{color:#333;margin:0 0 1rem}.action-card p{color:#666;margin-bottom:1.5rem}@media (max-width:768px){.dashboard-page{padding:20px 12px 40px}.section-header{align-items:flex-start;flex-direction:column;gap:1rem}.section-header h2{font-size:1.4rem}.input-group{flex-direction:column}.interests-grid{justify-content:center}.profile-hero{gap:1rem;grid-template-columns:1fr}.profile-card{padding:1.2rem}.profile-card h1{font-size:1.5rem}.profile-section{padding:1.2rem}.profile-section .boardgame-grid,.profile-section .formal-grid{gap:1rem;grid-template-columns:1fr}.profile-tabs{justify-content:center}.action-grid{gap:1rem;grid-template-columns:1fr}.action-card{padding:1.5rem}.profile-edit-modal{margin:.5rem;padding:1.2rem}.interests-section{margin:1.5rem 0;padding:1.25rem}.interest-item{font-size:.9rem;padding:.6rem 1rem}}@media (max-width:480px){.dashboard-page{padding:16px 8px 32px}.profile-card{padding:1rem}.profile-card h1{font-size:1.3rem}.profile-section{padding:1rem}.section-header h2{font-size:1.25rem}.profile-tabs{width:100%}.profile-tab{flex:1 1;font-size:.85rem;padding:.4rem .6rem;text-align:center}.action-card{padding:1.25rem}.action-card h3{font-size:1.1rem}.interests-section{margin:1rem 0;padding:1rem}.add-interest-form{padding:1rem}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:root{--primary:#2a73ff;--secondary:#5c6bc0;--background:#f8f9fc;--text:#2c3e50;--muted-text:#7f8c8d;--border:#e0e0e0}body{background-color:var(--background);display:flex;flex-direction:column;margin:0;min-height:100vh;overflow-x:hidden;padding:0}main{box-sizing:border-box;flex:1 1;margin:0 auto;max-width:1200px;padding:2rem;width:100%}footer,header{padding:1.2rem 2rem}@media (max-width:768px){footer,header,main{padding:1rem}}@media (max-width:480px){footer,header,main{padding:.75rem}}body{color:var(--text);font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6}h1,h2,h3,h4,h5{color:var(--primary);font-weight:600;margin-bottom:.6em}p{margin-bottom:1em}a{color:var(--primary);text-decoration:none;transition:color .2s}a:hover{color:var(--secondary)}button{background-color:var(--primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:.6rem 1.2rem;transition:background-color .2s}button:hover{background-color:var(--secondary)}.card{background-color:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 2px 6px rgba(0,0,0,.05);padding:1.5rem;transition:transform .2s}.card:hover{transform:translateY(-3px)}input,textarea{border:1px solid var(--border);border-radius:6px;font-size:1rem;padding:.5rem;width:100%}input:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 3px rgba(42,115,255,.4);outline:none}.hero-buttons{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin-top:2rem}.hero-btn{border:2px solid transparent;border-radius:50px;display:inline-block;font-size:1.1rem;font-weight:600;min-width:160px;padding:1rem 2rem;text-align:center;text-decoration:none;transition:all .3s ease}.hero-btn.primary,.hero-btn.secondary{background:transparent;border:2px solid #fff;box-shadow:0 4px 15px hsla(0,0%,100%,.2);color:#fff}.hero-btn.primary:hover{box-shadow:0 8px 25px rgba(102,126,234,.6);transform:translateY(-2px)}.hero-btn.secondary:hover{background:hsla(0,0%,100%,.1);box-shadow:0 8px 25px hsla(0,0%,100%,.3);transform:translateY(-2px)}@media (max-width:768px){.hero-buttons{align-items:center;flex-direction:column;gap:.75rem;margin-top:1.5rem}.hero-btn{font-size:1rem;min-width:200px;padding:.85rem 1.5rem}.card{padding:1.25rem}button{font-size:.95rem;padding:.5rem 1rem}}@media (max-width:480px){.hero-buttons{gap:.6rem;margin-top:1.25rem}.hero-btn{font-size:.95rem;min-width:180px;padding:.75rem 1.25rem}.card{border-radius:8px;padding:1rem}button{border-radius:6px;font-size:.9rem;padding:.5rem .9rem}input,textarea{font-size:.95rem;padding:.45rem}}
/*# sourceMappingURL=main.7a0fee81.css.map*/