@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-color:#0f172a;--surface-color:#1e293b;--primary-color:#f59e0b;--secondary-color:#d97706;--text-primary:#f8fafc;--text-secondary:#94a3b8}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);font-family:Inter,sans-serif;overflow:hidden}h1,h2,h3,h4,h5,h6{font-weight:600}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:var(--surface-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--secondary-color)}.app-container{width:100vw;height:100vh;display:flex}.sidebar{background-color:var(--surface-color);z-index:10;border-right:1px solid #ffffff0d;flex-direction:column;flex-shrink:0;width:360px;padding:24px;display:flex;overflow-y:auto;box-shadow:2px 0 15px #00000080}.brand{align-items:center;gap:12px;margin-bottom:32px;display:flex}.brand-icon{color:var(--primary-color)}.brand h1{letter-spacing:-.5px;color:var(--text-primary);font-size:24px}.stats-card{background:#0003;border:1px solid #ffffff0d;border-radius:12px;margin-bottom:24px;padding:20px}.stats-title{text-transform:uppercase;color:var(--text-secondary);letter-spacing:1px;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;display:flex}.stat-row{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.stat-value{color:var(--primary-color);font-size:32px;font-weight:700}.stat-label{color:var(--text-secondary);font-size:14px}.progress-bar-bg{background-color:#ffffff1a;border-radius:4px;height:8px;overflow:hidden}.progress-bar-fill{background-color:var(--primary-color);border-radius:4px;height:100%;transition:width .5s}.tabs{gap:8px;margin-bottom:20px;display:flex}.tab{text-align:center;cursor:pointer;color:var(--text-secondary);background:#ffffff0d;border:1px solid #0000;border-radius:8px;flex:1;padding:10px;font-family:inherit;font-size:14px;font-weight:500;transition:all .2s}.tab:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.tab.active{background:var(--primary-color);color:#000}.list-container{flex-direction:column;gap:12px;display:flex}.list-item{cursor:pointer;background:#ffffff05;border:1px solid #ffffff0d;border-radius:8px;justify-content:space-between;align-items:center;padding:12px 16px;transition:transform .15s,background .15s;display:flex}.list-item:hover{background:#ffffff0d;transform:translateY(-1px)}.list-item-left{align-items:center;gap:12px;display:flex}.list-item-full{justify-content:space-between;align-items:center;width:100%;display:flex}.status-indicator{border-radius:50%;width:10px;height:10px}.status-visited{background-color:var(--primary-color);box-shadow:0 0 8px var(--primary-color)}.status-wishlist{background-color:#f39c12}.icon-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex}.icon-btn:hover{color:#ef4444;background:#ffffff14}.section-heading{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:12px}.section-title{color:var(--text-primary);margin-bottom:16px;font-size:18px}.region-heading{color:var(--text-secondary);border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:baseline;margin-bottom:12px;padding-bottom:6px;font-size:14px;display:flex}.region-count{color:var(--primary-color);font-size:11px;font-weight:600}.subregion-heading{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;opacity:.7;padding:6px 0 4px;font-size:11px}.us-states-list{border-left:2px solid #38bdf84d;margin-bottom:8px;margin-left:20px;padding-left:12px}.back-link{cursor:pointer;color:var(--primary-color);align-items:center;gap:8px;margin-bottom:16px;font-size:14px;display:flex}.view-all-btn{cursor:pointer;color:var(--primary-color);text-align:center;background:#f59e0b1a;border-radius:8px;margin-top:16px;padding:12px;font-size:14px}.view-all-btn:hover{background:#f59e0b2e}.empty-hint{color:var(--text-secondary);text-align:center;margin-top:20px;font-size:14px}.search-input{color:#fff;background:#0003;border:1px solid #ffffff1a;border-radius:8px;outline:none;width:100%;padding:10px 10px 10px 36px;font-size:14px}.search-input:focus{border-color:var(--primary-color)}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#000000b3;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal{background:var(--surface-color);border:1px solid #ffffff1a;border-radius:16px;width:100%;max-width:440px;max-height:80vh;padding:24px;overflow:auto}.modal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal-input{color:#fff;background:#0003;border:1px solid #ffffff1a;border-radius:8px;outline:none;width:100%;margin-bottom:12px;padding:10px;font-size:14px}.modal-country-list{max-height:320px;margin-bottom:16px;overflow:auto}.modal-create-btn{background:var(--primary-color);color:#000;cursor:pointer;border:none;border-radius:8px;width:100%;padding:12px;font-size:14px;font-weight:600;transition:opacity .2s}.modal-create-btn:disabled{color:var(--text-secondary);cursor:not-allowed;background:#ffffff1a}.globe-container{background:var(--globe-space-gradient,radial-gradient(circle at center, #1a1a2e 0%, #000 100%));flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.globe-container:before,.globe-container:after{content:"";pointer-events:none;z-index:0;background-repeat:repeat;position:absolute;top:0;bottom:0;left:0;right:0}.globe-container:before{background-image:radial-gradient(1px 1px at 11% 17%, var(--globe-star-color,#fff) 50%, transparent 100%), radial-gradient(1px 1px at 28% 71%, var(--globe-star-color,#fff) 50%, transparent 100%), radial-gradient(1px 1px at 47% 33%, var(--globe-star-color,#fff) 50%, transparent 100%), radial-gradient(1px 1px at 62% 84%, var(--globe-star-color,#fff) 50%, transparent 100%), radial-gradient(1px 1px at 79% 21%, var(--globe-star-color,#fff) 50%, transparent 100%), radial-gradient(1px 1px at 93% 55%, var(--globe-star-color,#fff) 50%, transparent 100%), radial-gradient(1px 1px at 6% 88%, var(--globe-star-color,#fff) 50%, transparent 100%), radial-gradient(1px 1px at 36% 9%, var(--globe-star-color,#fff) 50%, transparent 100%), radial-gradient(1px 1px at 55% 48%, var(--globe-star-color,#fff) 50%, transparent 100%), radial-gradient(1px 1px at 71% 62%, var(--globe-star-color,#fff) 50%, transparent 100%);opacity:.55;background-size:320px 320px}.globe-container:after{background-image:radial-gradient(1.5px 1.5px at 14% 38%, var(--globe-star-color,#fff) 50%, transparent 100%), radial-gradient(1.5px 1.5px at 42% 78%, var(--globe-star-color,#fff) 50%, transparent 100%), radial-gradient(1.5px 1.5px at 67% 14%, var(--globe-star-color,#fff) 50%, transparent 100%), radial-gradient(1.5px 1.5px at 88% 66%, var(--globe-star-color,#fff) 50%, transparent 100%), radial-gradient(2px 2px at 24% 92%, var(--globe-star-color,#fff) 50%, transparent 100%), radial-gradient(2px 2px at 76% 27%, var(--globe-star-color,#fff) 50%, transparent 100%);opacity:.4;background-size:480px 480px;animation:90s linear infinite globe-star-drift}@keyframes globe-star-drift{to{background-position:480px 480px}}.globe-container>*{z-index:1;position:relative}@media (prefers-reduced-motion:reduce){.globe-container:after{animation:none}}.map-view-toggle{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1f2833cc;border:1px solid #ffffff1a;border-radius:10px;gap:4px;padding:4px;display:flex;position:absolute;top:16px;left:16px}.toggle-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:600;display:flex}.toggle-btn.active{background:var(--primary-color);color:#000}.theme-picker-pop{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f1928d9;border:1px solid #ffffff1a;border-radius:12px;flex-wrap:wrap;gap:8px;max-width:360px;padding:10px;display:flex;position:absolute;top:60px;left:16px;box-shadow:0 12px 32px #00000073}.theme-picker-chip{cursor:pointer;color:#fff;background:#0009;border:1.5px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:8px 12px;font-size:12.5px;font-weight:600;transition:transform .12s,border-color .12s;display:flex}.theme-picker-chip:hover{transform:translateY(-1px)}.theme-picker-chip.active{border-width:2px}.theme-picker-emoji{font-size:16px;line-height:1}.theme-picker-swatch{border-radius:50%;flex-shrink:0;width:14px;height:14px;box-shadow:0 0 0 1.5px #ffffff2e}.theme-picker-label{letter-spacing:-.1px}.hover-tooltip{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;pointer-events:none;z-index:50;background:#0f1928eb;border:1px solid #ffffff26;border-radius:8px;flex-direction:column;gap:2px;padding:8px 14px;font-size:13px;font-weight:500;display:flex;position:fixed;box-shadow:0 4px 12px #0006}.flat-map-root{background:#0a1628;width:100%;height:100%;position:relative;overflow:hidden}.flat-map-bg{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.flat-map-bg-img{object-fit:contain;width:100%;height:100%}.flat-map-svg{z-index:1;width:100%;height:100%;position:relative}.flat-fallback{color:var(--text-secondary);font-size:14px}.globe-loading-overlay{text-align:center;color:#f8fafc;z-index:5;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.globe-loading-spin{color:var(--primary-color);filter:drop-shadow(0 0 12px #f59e0b8c);animation:1.6s linear infinite auth-loading-spin}.globe-loading-text{letter-spacing:-.2px;font-size:18px;font-weight:700}.globe-loading-sub{color:var(--text-secondary);max-width:280px;font-size:12px}.share-btn{width:100%;color:var(--primary-color);cursor:pointer;background:linear-gradient(135deg,#f59e0b2e,#f59e0b14);border:1px solid #f59e0b66;border-radius:8px;justify-content:center;align-items:center;gap:8px;margin-bottom:16px;padding:10px;font-size:13px;font-weight:600;transition:background .15s,transform .15s;display:flex}.share-btn:hover{background:linear-gradient(135deg,#f59e0b47,#f59e0b24);transform:translateY(-1px)}.trip-card{background:#ffffff05;border:1px solid #ffffff0f;border-radius:10px;margin-bottom:10px;padding:12px}.trip-card-header{align-items:flex-start;gap:12px;display:flex}.trip-card-flag{flex-shrink:0;font-size:28px;line-height:1}.trip-card-body{flex:1;min-width:0}.trip-card-title{color:var(--text-primary);word-break:break-word;margin-bottom:4px;font-size:14px;font-weight:600}.trip-card-meta{color:var(--text-secondary);word-break:break-word;align-items:center;gap:6px;margin-bottom:2px;font-size:11.5px;display:flex}.trip-transport-row{gap:6px;margin-top:6px;display:flex}.transport-icon{color:var(--primary-color);background:#f59e0b1f;border-radius:6px;align-items:center;padding:4px 6px;display:inline-flex}.trip-notes{color:var(--text-primary);white-space:pre-wrap;opacity:.9;border-top:1px dashed #ffffff14;margin-top:8px;padding-top:8px;font-size:12px}.trip-card-actions{flex-direction:column;flex-shrink:0;gap:4px;display:flex}.field-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-top:4px;margin-bottom:6px;font-size:11px;display:block}.city-chips{flex-wrap:wrap;gap:6px;min-height:4px;margin-bottom:8px;display:flex}.chip{color:var(--primary-color);background:#f59e0b1f;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.ghost-btn{color:var(--text-primary);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;transition:background .15s;display:inline-flex}.ghost-btn:hover{background:#ffffff1a}.transport-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:12px;display:grid}.transport-chip{color:var(--text-secondary);cursor:pointer;text-align:left;background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:6px;padding:8px 10px;font-size:12.5px;display:flex}.transport-chip.active{border-color:var(--primary-color);color:var(--primary-color);background:#f59e0b2e}.share-modal{max-width:560px}.share-preview{border:1px solid #ffffff14;border-radius:10px;margin-bottom:12px;position:relative;overflow:hidden}.share-stats-overlay{pointer-events:none;position:absolute;bottom:12px;left:16px}.share-stats-big{font-size:22px;font-weight:700;line-height:1.1}.share-stats-small{margin-top:4px;font-size:12px;font-weight:500}.share-view-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.share-view-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);font-size:11px}.share-view-chips{flex-wrap:wrap;flex:1;gap:6px;display:flex}.share-view-chip{color:var(--text-secondary);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:500;transition:background .15s,color .15s}.share-view-chip:hover{color:var(--primary-color);background:#f59e0b1a}.share-view-chip.active{background:var(--primary-color);color:#000;border-color:var(--primary-color)}.share-theme-row{grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:12px;display:grid}.theme-swatch{cursor:pointer;border:1.5px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:8px 6px;transition:transform .15s;display:flex}.theme-swatch:hover{transform:translateY(-2px)}.theme-swatch.active{border-width:2px}.theme-swatch-dot{border-radius:50%;width:18px;height:18px;box-shadow:0 0 0 2px #ffffff1a}.theme-swatch-label{letter-spacing:.2px;font-size:11px;font-weight:500}.share-toggle{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;margin-bottom:14px;font-size:13px;display:flex}.share-actions{flex-wrap:wrap;gap:8px;display:flex}.share-actions .modal-create-btn{flex:1}.share-share-btn{flex:none}.auth-loading{background:var(--bg-color);justify-content:center;align-items:center;width:100vw;height:100vh;display:flex}.auth-loading-spin{color:var(--primary-color);animation:1.4s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}.auth-loading-screen{color:#f8fafc;z-index:999;background:radial-gradient(at 50% 40%,#f59e0b2e,#0000 60%),linear-gradient(160deg,#0a0f1c 0%,#131a2b 70%,#1a1030 100%);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.auth-loading-glow{filter:blur(80px);pointer-events:none;background:radial-gradient(circle,#f59e0b66 0%,#0000 70%);border-radius:50%;width:600px;height:600px;animation:2.4s ease-in-out infinite auth-loading-pulse;position:absolute}@keyframes auth-loading-pulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:.85;transform:scale(1.15)}}.auth-loading-spin{color:var(--primary-color);filter:drop-shadow(0 0 14px #f59e0b99);z-index:1;animation:2s linear infinite auth-loading-spin}@keyframes auth-loading-spin{to{transform:rotate(360deg)}}.auth-loading-text{letter-spacing:-.3px;z-index:1;font-size:22px;font-weight:700}.auth-loading-sub{color:var(--text-secondary);z-index:1;font-size:13px}.auth-immersive{color:#f8fafc;background:#0a0f1c;width:100vw;height:100vh;position:relative;overflow:hidden}.auth-bg-gradient{z-index:0;background:radial-gradient(at 20% 30%,#7850c82e,#0000 50%),radial-gradient(at 80% 70%,#f59e0b26,#0000 55%),radial-gradient(at 50% 100%,#ec48991a,#0000 60%),linear-gradient(160deg,#0a0f1c 0%,#131a2b 60%,#1a1030 100%);position:absolute;top:0;bottom:0;left:0;right:0}.auth-bg-glow{filter:blur(80px);opacity:.55;pointer-events:none;will-change:transform;border-radius:50%;position:absolute}.auth-bg-glow-1{background:radial-gradient(circle,#f59e0bb3 0%,#0000 70%);width:520px;height:520px;animation:22s ease-in-out infinite alternate blob-drift-1;top:-120px;left:-100px}.auth-bg-glow-2{background:radial-gradient(circle,#a855f799 0%,#0000 70%);width:640px;height:640px;animation:26s ease-in-out infinite alternate blob-drift-2;bottom:-200px;right:-160px}.auth-bg-glow-3{background:radial-gradient(circle,#ec48998c 0%,#0000 70%);width:420px;height:420px;animation:18s ease-in-out infinite alternate blob-drift-3;top:50%;left:55%}@keyframes blob-drift-1{to{transform:translate(120px,60px)scale(1.1)}}@keyframes blob-drift-2{to{transform:translate(-100px,-80px)scale(1.15)}}@keyframes blob-drift-3{to{transform:translate(-60px,80px)scale(.95)}}.auth-map-layer{z-index:1;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.auth-map-wrap{pointer-events:auto;filter:drop-shadow(0 0 30px #f59e0b26);width:110%;height:100%;transition:transform .4s ease-out}.auth-map-tooltip{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#f8fafc;pointer-events:none;z-index:50;background:#0f1928f0;border:1px solid #f59e0b4d;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:500;position:fixed;box-shadow:0 4px 18px #00000080}.auth-immersive-top{z-index:10;justify-content:space-between;align-items:center;display:flex;position:absolute;top:20px;left:24px;right:24px}.auth-brand-chip{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;letter-spacing:-.2px;background:#0f192899;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:14px;font-weight:600;display:inline-flex}.auth-brand-chip svg{color:var(--primary-color);filter:drop-shadow(0 0 6px #f59e0b80)}.auth-clear-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#f8fafcb3;cursor:pointer;background:#0f192899;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;display:inline-flex}.auth-clear-btn:hover{color:var(--primary-color);border-color:#f59e0b66}.auth-immersive-stats{z-index:10;max-width:460px;position:absolute;bottom:28px;left:32px}.auth-immersive-counter-wrap{align-items:baseline;gap:18px;margin-bottom:8px;display:flex}.auth-immersive-counter{color:var(--primary-color);font-variant-numeric:tabular-nums;letter-spacing:-6px;text-shadow:0 0 40px #f59e0b80;font-size:128px;font-weight:900;line-height:.85;transition:color .2s;display:inline-block}.auth-immersive-counter.pulse{animation:.45s ease-out counter-pulse}@keyframes counter-pulse{0%{transform:scale(1)}35%{color:#fbbf24;transform:scale(1.12)}to{transform:scale(1)}}.auth-immersive-counter-meta{flex-direction:column;gap:2px;padding-bottom:8px;display:flex}.auth-immersive-counter-big{color:#fff;letter-spacing:-.4px;font-size:20px;font-weight:700}.auth-immersive-counter-sub{color:#f8fafca6;font-size:13px}.auth-immersive-cta-hint{color:var(--primary-color);letter-spacing:-.1px;text-shadow:0 1px 8px #0009;font-size:14px;font-weight:500}.auth-immersive-form-card{z-index:10;-webkit-backdrop-filter:blur(24px);background:#0f1928c7;border:1px solid #ffffff1a;border-radius:18px;width:100%;max-width:400px;max-height:calc(100vh - 80px);padding:28px;position:absolute;top:50%;right:32px;overflow-y:auto;transform:translateY(-50%);box-shadow:0 30px 80px #00000080}@media (prefers-reduced-motion:reduce){.auth-bg-glow,.auth-immersive-counter.pulse{animation:none}.auth-map-wrap{transition:none}}.auth-typed-headline{color:#fff;letter-spacing:-1.5px;min-height:1.2em;margin:32px 0 24px;font-size:44px;font-weight:800;line-height:1.1}.auth-cursor{background:var(--primary-color);vertical-align:-.08em;width:3px;height:.95em;margin-left:4px;display:inline-block;box-shadow:0 0 8px #f59e0b99}.auth-cursor.blink{animation:.9s steps(2,end) infinite auth-cursor-blink}.auth-cursor.fade{animation:1.5s ease-out .8s forwards auth-cursor-fade}@keyframes auth-cursor-blink{to{opacity:0}}@keyframes auth-cursor-fade{to{opacity:0;width:0;margin-left:0}}.auth-counter-row{align-items:center;gap:18px;margin-bottom:28px;display:flex}.auth-counter{color:var(--primary-color);font-variant-numeric:tabular-nums;letter-spacing:-3px;text-shadow:0 0 32px #f59e0b59;font-size:72px;font-weight:900;line-height:.9}.auth-counter-meta{flex-direction:column;gap:2px;display:flex}.auth-counter-big-label{color:#fff;letter-spacing:-.3px;font-size:18px;font-weight:700}.auth-counter-sub{color:var(--text-secondary);font-size:13px}.auth-feature-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.auth-feature{color:#f8fafceb;opacity:0;align-items:center;gap:12px;font-size:15px;font-weight:500;transition:opacity .45s,transform .45s cubic-bezier(.16,1,.3,1);display:flex;transform:translateY(10px)}.auth-feature.visible{opacity:1;transform:translateY(0)}.auth-feature-emoji{filter:drop-shadow(0 0 8px #f59e0b40);flex-shrink:0;font-size:22px;line-height:1}.auth-feature-text{line-height:1.3}@media (prefers-reduced-motion:reduce){.auth-cursor.blink,.auth-cursor.fade{opacity:0;animation:none}.auth-feature{opacity:1;transition:none;transform:none}}.auth-hero-bg{z-index:1;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.auth-hero-orb{filter:blur(20px);background:radial-gradient(circle,#f59e0b40 0%,#ec48991f 40%,#0000 70%);border-radius:50%;width:600px;height:600px;position:absolute;top:-200px;right:-200px}.auth-form-wrap{background:var(--surface-color);border-left:1px solid #ffffff0a;flex:0 0 480px;justify-content:center;align-items:center;padding:32px;display:flex;overflow-y:auto}.auth-form{width:100%;max-width:380px}.auth-tabs{background:#0003;border-radius:10px;gap:4px;margin-bottom:24px;padding:4px;display:flex}.auth-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;padding:10px;font-size:13px;font-weight:600;transition:background .15s,color .15s}.auth-tab.active{background:var(--primary-color);color:#000}.auth-heading{color:#fff;letter-spacing:-.3px;margin-bottom:6px;font-size:22px}.auth-sub{color:var(--text-secondary);margin-bottom:20px;font-size:13px}.auth-fields{flex-direction:column;display:flex}.auth-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-top:4px;margin-bottom:6px;font-size:11px}.auth-input-wrap{margin-bottom:12px;position:relative}.auth-input-icon{color:var(--text-secondary);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.auth-input{color:#fff;background:#0003;border:1px solid #ffffff14;border-radius:8px;outline:none;width:100%;padding:11px 12px 11px 34px;font-size:14px;transition:border-color .15s,background .15s}.auth-input:focus{border-color:var(--primary-color);background:#0000004d}.auth-pw-toggle{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:6px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.auth-pw-toggle:hover{color:var(--primary-color)}.auth-avatar-row{grid-template-columns:repeat(8,1fr);gap:4px;margin-bottom:12px;display:grid}.auth-avatar-chip{cursor:pointer;background:#ffffff0a;border:1.5px solid #0000;border-radius:8px;padding:4px 0;font-size:18px;transition:transform .1s}.auth-avatar-chip:hover{transform:scale(1.1)}.auth-avatar-chip.active{border-color:var(--primary-color);background:#f59e0b2e}.auth-terms{color:var(--text-secondary);cursor:pointer;align-items:flex-start;gap:8px;margin:6px 0 14px;font-size:12px;line-height:1.4;display:flex}.auth-terms input{flex-shrink:0;margin-top:2px}.auth-terms-hint{opacity:.65;font-size:11px;display:block}.auth-error{color:#fca5a5;background:#ef44441f;border:1px solid #ef44444d;border-radius:8px;margin-bottom:12px;padding:8px 12px;font-size:12.5px}.auth-submit{background:var(--primary-color);color:#000;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px;font-size:14px;font-weight:600;transition:opacity .15s,transform .15s;display:inline-flex}.auth-submit:hover:not(:disabled){transform:translateY(-1px)}.auth-submit:disabled{color:var(--text-secondary);cursor:not-allowed;background:#ffffff14}.auth-divider{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:12px;margin:18px 0;font-size:11px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#ffffff14;flex:1;height:1px}.auth-oauth{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.auth-oauth-btn{color:#1f1f1f;cursor:pointer;background:#fff;border:1px solid #00000014;border-radius:8px;align-items:center;gap:12px;width:100%;padding:10px 14px;font-size:14px;font-weight:500;transition:background .15s,box-shadow .15s,transform .1s;display:flex}.auth-oauth-btn:hover:not(:disabled){background:#f8f9fa;transform:translateY(-1px);box-shadow:0 1px 2px #0000000d}.auth-oauth-btn:disabled{cursor:not-allowed;opacity:.55}.auth-oauth-google-icon{flex-shrink:0}.auth-oauth-icon{text-align:center;width:20px;font-weight:600}.auth-soon{color:var(--primary-color);letter-spacing:.3px;background:#f59e0b26;border-radius:999px;margin-left:auto;padding:2px 8px;font-size:10px;font-weight:600}.auth-guest{width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px dashed #ffffff26;border-radius:8px;padding:10px;font-size:13px;transition:border-color .15s,color .15s}.auth-guest:hover{border-color:var(--primary-color);color:var(--primary-color)}.auth-footer-note{color:var(--text-secondary);opacity:.65;margin-top:18px;font-size:11px;line-height:1.5}.auth-footer-note code{background:#0000004d;border-radius:3px;padding:1px 4px;font-size:10.5px}.profile-chip{background:#ffffff08;border:1px solid #ffffff0f;border-radius:10px;align-items:center;gap:10px;margin-top:-16px;margin-bottom:20px;padding:8px 10px;display:flex}.profile-chip-avatar{background:linear-gradient(135deg,#f59e0b2e,#ec48991f);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;display:flex}.profile-chip-body{flex:1;min-width:0}.profile-chip-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.profile-chip-email{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.tab-erasmus{justify-content:center;align-items:center;gap:4px;font-size:12.5px;display:flex}.tab-erasmus.active{color:#fff;background:linear-gradient(135deg,#ec4899,#a855f7)}.erasmus-hero{background:linear-gradient(135deg,#ec48991f,#a855f71f);border:1px solid #ec489940;border-radius:14px;align-items:center;gap:14px;margin-bottom:14px;padding:14px;display:flex}.erasmus-hero-emoji{filter:drop-shadow(0 0 6px #ec489966);font-size:28px}.erasmus-hero-title{color:#fff;letter-spacing:-.2px;font-size:15px;font-weight:700}.erasmus-hero-sub{color:var(--text-secondary);margin-top:2px;font-size:12px}.erasmus-add-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ec4899,#a855f7);border:none;border-radius:10px;align-items:center;gap:8px;width:100%;margin-bottom:14px;padding:12px 14px;font-size:13px;font-weight:600;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 4px 12px #a855f740}.erasmus-add-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px #a855f759}.erasmus-card{background:linear-gradient(135deg,#a855f714,#ec48990a);border:1px solid #ec48992e;border-radius:12px;margin-bottom:12px;padding:14px;position:relative;overflow:hidden}.erasmus-card-flag-bg{opacity:.07;pointer-events:none;font-size:110px;line-height:1;position:absolute;bottom:-28px;right:-10px}.erasmus-card-content{z-index:1;position:relative}.erasmus-card-header{align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.erasmus-vibe{filter:drop-shadow(0 0 6px #ec48994d);font-size:26px;line-height:1}.erasmus-headline{flex:1;min-width:0}.erasmus-city{color:#fff;letter-spacing:-.2px;font-size:16px;font-weight:700}.erasmus-country{color:var(--text-secondary);margin-top:2px;font-size:11.5px}.erasmus-project-title{color:var(--text-primary);margin-top:6px;font-size:13px;font-weight:600;line-height:1.3}.erasmus-type-badge{color:#f9a8d4;background:linear-gradient(135deg,#ec48992e,#a855f72e);border:1px solid #ec48994d;border-radius:999px;align-items:center;gap:6px;margin-top:6px;padding:3px 9px;font-size:11.5px;font-weight:500;display:inline-flex}.erasmus-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:8px;display:grid}.erasmus-type-chip{color:var(--text-secondary);cursor:pointer;text-align:left;background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;transition:transform .1s;display:flex}.erasmus-type-chip:hover{background:#ec489914;border-color:#ec489940}.erasmus-type-chip.active{color:#fff;background:linear-gradient(135deg,#ec489938,#a855f738);border-color:#ec4899}.erasmus-type-emoji{flex-shrink:0;font-size:16px;line-height:1}.erasmus-type-label{line-height:1.15}.erasmus-type-blurb{color:var(--text-secondary);background:#ec48990f;border-left:2px solid #ec489980;border-radius:0 6px 6px 0;margin-bottom:12px;padding:6px 10px;font-size:11.5px;font-style:italic}.erasmus-meta-row{color:var(--text-secondary);word-break:break-word;align-items:center;gap:6px;margin-top:4px;font-size:12px;display:flex}.erasmus-transport{color:#f9a8d4;background:#ec489926}.erasmus-notes{color:var(--text-primary);white-space:pre-wrap;opacity:.92;border-top:1px dashed #ec489933;margin-top:10px;padding-top:10px;font-size:12px}.erasmus-modal{max-width:480px}.erasmus-modal-title{color:#0000;background:linear-gradient(135deg,#ec4899,#a855f7);-webkit-background-clip:text;background-clip:text;align-items:center;gap:8px;font-size:18px;display:flex}.erasmus-modal-title svg{color:#ec4899}.erasmus-search-wrap{margin-bottom:12px;position:relative}.erasmus-search-icon{color:var(--text-secondary);pointer-events:none;position:absolute;top:12px;left:12px}.erasmus-search-input{margin-bottom:0;padding-left:36px}.erasmus-suggestions{z-index:5;background:#1e293b;border:1px solid #ffffff1f;border-radius:8px;max-height:260px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 8px 24px #0006}.erasmus-sug-row{text-align:left;cursor:pointer;width:100%;color:var(--text-primary);background:0 0;border:none;border-bottom:1px solid #ffffff0a;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.erasmus-sug-row:hover{background:#ec48991a}.erasmus-sug-flag{flex-shrink:0;font-size:18px}.erasmus-sug-body{flex-direction:column;gap:1px;display:flex;overflow:hidden}.erasmus-sug-city{font-weight:600}.erasmus-sug-country{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.erasmus-sug-empty{color:var(--text-secondary);padding:10px 12px;font-size:13px}.vibe-row{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.vibe-chip{cursor:pointer;background:#ffffff0a;border:1.5px solid #0000;border-radius:8px;padding:4px 8px;font-size:20px;transition:transform .1s}.vibe-chip:hover{transform:scale(1.1)}.vibe-chip.active{background:#ec48992e;border-color:#ec4899}.erasmus-save-btn{color:#fff;background:linear-gradient(135deg,#ec4899,#a855f7)}.erasmus-save-btn:disabled{color:var(--text-secondary);background:#ffffff1a}.erasmus-pin{pointer-events:auto;cursor:pointer;text-align:center;transform:translate(-50%,-100%)}.erasmus-pin-bubble{background:linear-gradient(135deg,#ec4899,#a855f7);border:1.5px solid #fff;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;display:inline-flex;box-shadow:0 2px 8px #0006}.erasmus-pin-flag{font-size:14px;line-height:1}.erasmus-pin-vibe{font-size:12px;line-height:1}.erasmus-pin-label{color:#fff;white-space:nowrap;background:#0009;border-radius:4px;margin-top:2px;padding:1px 5px;font-size:10px;font-weight:600;display:inline-block}.erasmus-pin-stem{background:linear-gradient(#ec4899,#0000);width:2px;height:6px;margin:1px auto 0}@media (max-width:768px){.auth-immersive{overflow-y:auto}.auth-immersive-stats{text-align:left;top:70px;bottom:auto;left:16px;right:16px}.auth-immersive-counter{letter-spacing:-3px;font-size:80px}.auth-immersive-counter-big{font-size:15px}.auth-immersive-counter-sub{font-size:11px}.auth-immersive-cta-hint{font-size:12.5px}.auth-immersive-form-card{width:calc(100% - 32px);max-height:none;margin:230px auto 24px;position:relative;top:auto;left:50%;right:auto;transform:translate(-50%)}.app-container{flex-direction:column-reverse}.sidebar{border-top:1px solid #ffffff0d;border-right:none;border-radius:20px 20px 0 0;width:100%;height:55vh;padding:16px 16px 32px;box-shadow:0 -4px 20px #00000080}.globe-container{flex:none;height:45vh}.brand{margin-bottom:20px}.brand h1{font-size:20px}.stat-value{font-size:24px}}
