:root{--chart-1: #6366f1;--chart-2: #f59e0b;--chart-3: #14b8a6;--chart-4: #ec4899;--chart-5: #64748b;--bg: #f7f6fd;--surface: #ffffff;--surface-2: #f1effb;--text: #17142b;--muted: #625e7a;--border: #e6e3f3;--primary: #5b3df5;--primary-2: #ec4899;--primary-text: #ffffff;--accent: #ff7a45;--success: #0f9a5a;--warning: #b86a00;--danger: #d6336c;--reach: #ffe4ec;--target: #fff1d6;--safety: #dcf7e9;--tuition: #5b3df5;--living: #c4b5fd;--grad: linear-gradient(120deg, #5b3df5 0%, #a63df5 45%, #ff6a88 80%, #ff9a5a 100%);--hero-bg: radial-gradient(1200px 500px at 15% -10%, #ffd6e7 0%, transparent 60%), radial-gradient(900px 500px at 90% 0%, #d9d2ff 0%, transparent 60%), linear-gradient(180deg, #fbf8ff 0%, var(--bg) 100%);--shadow-sm: 0 1px 2px rgba(23, 20, 43, .06), 0 2px 8px rgba(23, 20, 43, .04);--shadow-md: 0 10px 30px -10px rgba(76, 52, 200, .25), 0 4px 12px rgba(23, 20, 43, .06);--shadow-lg: 0 24px 50px -16px rgba(76, 52, 200, .35);--radius: 20px;font-family:Plus Jakarta Sans,Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}@media(prefers-color-scheme:dark){:root{--bg: #0f0d1a;--surface: #1a1729;--surface-2: #231f36;--text: #eeebfa;--muted: #a49fbd;--border: #2e2945;--primary: #8b74ff;--primary-2: #f472b6;--primary-text: #ffffff;--accent: #ff9466;--success: #4ade80;--warning: #fbbf24;--danger: #fb7185;--reach: #3d1a2a;--target: #3b2e12;--safety: #12352a;--tuition: #8b74ff;--living: #4c3f8a;--hero-bg: radial-gradient(1200px 500px at 15% -10%, #3a1838 0%, transparent 60%), radial-gradient(900px 500px at 90% 0%, #231d55 0%, transparent 60%), linear-gradient(180deg, #14111f 0%, var(--bg) 100%);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 10px 30px -10px rgba(0, 0, 0, .6);--shadow-lg: 0 24px 50px -16px rgba(0, 0, 0, .7)}}*{box-sizing:border-box}body{margin:0;background:var(--bg)}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:2rem;margin:.5rem 0 1rem;letter-spacing:-.02em;font-weight:800}h2{font-size:1.25rem;margin:1.75rem 0 .85rem;letter-spacing:-.01em}h3{font-size:1.08rem;margin:0 0 .25rem;letter-spacing:-.01em}::selection{background:#e9e3ff}.page{max-width:1160px;margin:0 auto;padding:1.75rem 1rem 4rem}.page.narrow{max-width:640px}.muted{color:var(--muted)}.small{font-size:.85rem}.accent{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.navbar{display:flex;align-items:center;gap:1.75rem;flex-wrap:wrap;padding:.8rem 1.5rem;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--surface) 78%,transparent);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid var(--border)}.navbar .logo{display:inline-flex;align-items:center;gap:.45rem;font-weight:800;font-size:1.25rem;color:var(--text);letter-spacing:-.02em}.navbar .logo:hover{text-decoration:none}.navbar .logo b{font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.logo-mark{display:grid;place-items:center;width:2rem;height:2rem;border-radius:10px;background:var(--grad);font-size:1.05rem;box-shadow:var(--shadow-md)}.navbar nav{display:flex;gap:.3rem;flex-wrap:wrap;flex:1}.navbar nav a{color:var(--muted);font-weight:600;font-size:.92rem;padding:.45rem .85rem;border-radius:999px;display:inline-flex;align-items:center;gap:.35rem;transition:background .2s,color .2s}.navbar nav a:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.navbar nav a.active{color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent)}.nav-count{min-width:1.2rem;height:1.2rem;padding:0 .3rem;border-radius:999px;background:var(--grad);color:#fff;font-size:.7rem;display:inline-grid;place-items:center}.badge.zero-commission{background:var(--safety);color:var(--success);border-radius:999px;padding:.4rem .85rem;font-size:.8rem;font-weight:700;border:1px solid color-mix(in srgb,var(--success) 25%,transparent)}.hero{position:relative;overflow:hidden;background:var(--hero-bg);padding:4rem 1rem 6.5rem;text-align:center}.hero-inner{position:relative;max-width:820px;margin:0 auto}.eyebrow{display:inline-block;margin:0 0 1rem;padding:.4rem .95rem;border-radius:999px;font-size:.82rem;font-weight:600;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);color:var(--muted)}.hero h1{font-size:clamp(2.2rem,5.5vw,3.75rem);line-height:1.05;margin:0 0 1rem;letter-spacing:-.035em;background:linear-gradient(120deg,var(--text) 0%,var(--text) 35%,var(--primary) 65%,var(--primary-2) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-sub{max-width:620px;margin:0 auto 2rem;color:var(--muted);font-size:1.08rem;line-height:1.6}.search-wrap{position:relative;max-width:680px;margin:0 auto}.search-icon{position:absolute;left:1.35rem;top:50%;transform:translateY(-50%);font-size:1.1rem;pointer-events:none}.hero-search{width:100%;padding:1.15rem 3rem 1.15rem 3.4rem;font:inherit;font-size:1.08rem;border:2px solid transparent;border-radius:999px;color:var(--text);background:linear-gradient(var(--surface),var(--surface)) padding-box,var(--grad) border-box;box-shadow:var(--shadow-lg);outline:none;transition:transform .2s,box-shadow .2s}.hero-search:focus{transform:translateY(-1px);box-shadow:0 0 0 6px color-mix(in srgb,var(--primary) 15%,transparent),var(--shadow-lg)}.hero-search::placeholder{color:var(--muted);opacity:.8}.search-clear{position:absolute;right:.8rem;top:50%;transform:translateY(-50%);border:0;cursor:pointer;width:2rem;height:2rem;border-radius:50%;background:var(--surface-2);color:var(--muted);font-size:.8rem}.quick-picks{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:1.4rem auto 1.2rem;max-width:720px}.pick{font:inherit;font-size:.88rem;font-weight:600;cursor:pointer;color:var(--text);padding:.5rem .95rem;border-radius:999px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:transform .15s,box-shadow .15s,border-color .15s}.pick:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--primary) 40%,var(--border))}.pick.on{background:var(--grad);color:#fff;border-color:transparent}.profile-pill{margin:0;font-size:.88rem;color:var(--muted)}.profile-pill strong{color:var(--text)}.hero-orbs span{position:absolute;font-size:2.2rem;opacity:.9;filter:drop-shadow(0 8px 16px rgba(76,52,200,.25));animation:float 7s ease-in-out infinite}.hero-orbs span:nth-child(1){top:16%;left:9%}.hero-orbs span:nth-child(2){top:62%;left:14%;animation-delay:-2s;font-size:2.6rem}.hero-orbs span:nth-child(3){top:20%;right:10%;animation-delay:-4s;font-size:2.8rem}.hero-orbs span:nth-child(4){top:64%;right:13%;animation-delay:-1s}@keyframes float{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-14px) rotate(4deg)}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.35rem;margin-bottom:1rem;box-shadow:var(--shadow-sm)}.card>h2:first-child,.card>h3:first-child{margin-top:0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:1.25rem}.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.home-results{padding-top:0}.filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1.1rem 1.5rem;align-items:end;margin-top:-3.75rem;position:relative;z-index:2;box-shadow:var(--shadow-md);background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.filter-bar label{display:flex;flex-direction:column;gap:.45rem;font-size:.85rem;font-weight:700;color:var(--text);min-width:0}.filter-bar label.grow{grid-column:span 2}.filter-bar label>span{display:flex;justify-content:space-between;gap:.5rem}.filter-bar .accent{font-size:1rem}label.inline{flex-direction:row!important;align-items:center;gap:.6rem}select{width:100%;font:inherit;font-size:.92rem;font-weight:500;padding:.6rem .8rem;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer}input[type=range]{width:100%;accent-color:var(--primary);cursor:pointer}.toggle{display:inline-flex;align-items:center;gap:.7rem;max-width:40rem;cursor:pointer;color:var(--text)!important}.toggle input{position:absolute;opacity:0;width:1px;height:1px}.switch{display:inline-block;width:2.5rem;height:1.4rem;border-radius:999px;background:var(--border);position:relative;transition:background .2s;flex:none}.switch:after{content:"";position:absolute;top:.2rem;left:.2rem;width:1rem;height:1rem;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform .2s}.toggle input:checked+.switch{background:var(--grad)}.toggle input:checked+.switch:after{transform:translate(1.1rem)}.toggle input:focus-visible+.switch{outline:2px solid var(--primary);outline-offset:2px}.compare-bar{position:sticky;top:72px;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:1rem;background:var(--surface);border:2px solid transparent;border-radius:16px;padding:.7rem .8rem .7rem 1.1rem;margin-bottom:1rem;background:linear-gradient(var(--surface),var(--surface)) padding-box,var(--grad) border-box;box-shadow:var(--shadow-md);animation:pop .3s ease-out}.results-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0 1rem}.results-head p{margin:0;color:var(--muted)}.results-head strong{color:var(--text)}.legend{display:flex;gap:.35rem}.legend .chip{margin:0}.empty{text-align:center;padding:3rem 1rem}.empty-emoji{font-size:3rem;margin:0}.uni-card{padding:0;overflow:hidden;display:flex;flex-direction:column;margin:0;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,border-color .25s;animation:rise .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i, 0) * 60ms)}.uni-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:color-mix(in srgb,var(--from) 35%,var(--border))}.uni-card.is-selected{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 25%,transparent),var(--shadow-md)}.uni-banner{position:relative;height:100px;padding:.75rem .8rem .75rem 1.2rem;display:flex;align-items:flex-start;gap:.6rem;background:radial-gradient(circle at 85% 120%,rgba(255,255,255,.35) 0,transparent 45%),linear-gradient(130deg,var(--from),var(--to));color:#fff}.uni-banner:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.18;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.9) 1px,transparent 1.2px);background-size:14px 14px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 60%);mask-image:linear-gradient(90deg,transparent,#000 60%)}.uni-flag{font-size:1.6rem;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.25))}.uni-place{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:#fff3;padding:.25rem .6rem;border-radius:999px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.oms-ring{--size: 76px;position:absolute;right:1rem;bottom:calc(var(--size) / -2);z-index:1;width:var(--size);height:var(--size);border-radius:50%;display:grid;place-content:center;text-align:center;color:var(--text);background:radial-gradient(closest-side,var(--surface) 76%,transparent 78% 100%),conic-gradient(var(--from) 0,var(--to) calc(var(--value) * 1%),var(--surface-2) 0);box-shadow:var(--shadow-md)}.oms-ring strong{font-size:1.5rem;line-height:1;font-weight:800}.oms-ring span{font-size:.62rem;font-weight:700;color:var(--muted);letter-spacing:.08em}.uni-body{padding:1rem 1.2rem 1.2rem;display:flex;flex-direction:column;flex:1}.uni-body h3{font-size:1.08rem;line-height:1.3}.uni-body h3 a{color:var(--text)}.uni-body h3 a:hover{color:var(--primary);text-decoration:none}.uni-sub{margin:.15rem 0 0;font-size:.85rem}.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.85rem 0}.chip{font-size:.76rem;font-weight:600;padding:.28rem .65rem;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);white-space:nowrap;color:var(--text)}.chip-warning{color:var(--warning);background:var(--target);border-color:transparent}.chip-verified{color:var(--success);background:var(--safety);border-color:transparent}.band{border-color:transparent;text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;font-weight:800}.band:before{content:"●";margin-right:.3rem}.band-reach{background:var(--reach);color:var(--danger);border-color:transparent}.band-target{background:var(--target);color:var(--warning);border-color:transparent}.band-safety,.verified{background:var(--safety);color:var(--success);border-color:transparent}.cost-meter{position:relative;display:flex;height:10px;border-radius:999px;background:var(--surface-2);margin:.25rem 0 .9rem;overflow:visible}.cost-meter .seg{height:100%;transition:width .5s cubic-bezier(.2,.8,.2,1)}.cost-meter .seg.tuition{background:var(--tuition);border-radius:999px 0 0 999px}.cost-meter .seg.living{background:var(--living)}.cost-meter .seg:last-of-type{border-radius:0 999px 999px 0}.budget-mark{position:absolute;top:-4px;bottom:-4px;width:3px;border-radius:2px;background:var(--text);transform:translate(-50%);transition:left .5s cubic-bezier(.2,.8,.2,1)}.budget-mark:after{content:"budget";position:absolute;top:-1.15rem;right:0;font-size:.6rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.45rem;vertical-align:middle}.dot.tuition{background:var(--tuition)}.dot.living{background:var(--living)}.cost-breakdown,.facts{display:grid;grid-template-columns:1fr auto;gap:.35rem 1rem;margin:0 0 1.1rem;font-size:.9rem}.cost-breakdown dt,.facts dt{color:var(--muted)}.cost-breakdown dd,.facts dd{margin:0;text-align:right;font-weight:600}.cost-breakdown .zero{color:var(--success);font-weight:800}.cost-breakdown .total{font-weight:800;color:var(--text);border-top:1px dashed var(--border);padding-top:.5rem;font-size:1rem}.cost-breakdown dd.total small{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.cost-breakdown .within small{color:var(--success)}.cost-breakdown .over{color:var(--danger)}.actions,.apply-actions{display:flex;gap:.5rem;flex-wrap:wrap}.uni-card .actions{margin-top:auto}.uni-card .actions .button{flex:1;justify-content:center}.apply-actions{margin:1.5rem 0}.apply-actions .button{flex:1;min-width:260px;justify-content:space-between;padding:1rem 1.3rem;font-size:1rem}.button{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.1rem;border-radius:12px;background:var(--grad);background-size:140% 100%;background-position:0 0;color:var(--primary-text);border:1px solid transparent;font:inherit;font-weight:700;font-size:.92rem;cursor:pointer;text-decoration:none;box-shadow:0 6px 16px -6px color-mix(in srgb,var(--primary) 70%,transparent);transition:transform .15s,box-shadow .2s,background-position .4s}.button:hover{text-decoration:none;transform:translateY(-1px);background-position:100% 0;box-shadow:0 10px 22px -8px color-mix(in srgb,var(--primary) 80%,transparent)}.button:active{transform:translateY(0) scale(.98)}.button.secondary{background:var(--surface);color:var(--text);border-color:var(--border);box-shadow:none}.button.secondary:hover{border-color:var(--primary);color:var(--primary)}.button.secondary.is-on{background:color-mix(in srgb,var(--primary) 12%,var(--surface));color:var(--primary);border-color:var(--primary)}.button.ghost{background:transparent;color:var(--primary);border-color:color-mix(in srgb,var(--primary) 30%,transparent);box-shadow:none}.button.ghost:hover{background:color-mix(in srgb,var(--primary) 8%,transparent)}.button.small{padding:.3rem .7rem;font-size:.8rem;border-radius:9px}.button.full{width:100%;justify-content:center;padding:1rem;font-size:1rem}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.button .price{font-weight:800;background:#fff3;padding:.15rem .55rem;border-radius:8px}.button.secondary .price{background:var(--safety);color:var(--success)}button.link{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.8rem;display:block;padding:.25rem 0 0}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.profile-controls{display:flex;flex-direction:column;gap:1.1rem;margin:1rem 0}.profile-controls label{display:flex;flex-direction:column;gap:.4rem;font-weight:600;font-size:.92rem}.profile-controls select{width:auto;display:inline-block;padding:.35rem .6rem}.whatif-result{display:grid;grid-template-columns:1fr 1fr auto;gap:1rem;align-items:center;margin-bottom:1rem;background:var(--surface-2);border-radius:16px;padding:1rem}.whatif-result>div{display:flex;flex-direction:column;gap:.3rem;align-items:flex-start}.whatif-result strong{font-size:2rem;font-weight:800;letter-spacing:-.03em}.whatif-result .up,.whatif-result .down{font-weight:800;font-size:1.1rem;padding:.4rem .7rem;border-radius:12px}.whatif-result .up{color:var(--success);background:var(--safety)}.whatif-result .down{color:var(--danger);background:var(--reach)}.table-scroll{overflow-x:auto;border-radius:var(--radius);box-shadow:var(--shadow-md)}.compare-table{width:100%;border-collapse:collapse;background:var(--surface)}.compare-table th,.compare-table td{padding:.9rem 1rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;font-size:.92rem}.compare-table thead th{background:var(--surface-2);font-size:1rem}.compare-table tbody tr:hover{background:color-mix(in srgb,var(--primary) 4%,transparent)}.compare-table tbody th{color:var(--muted);font-weight:600;white-space:nowrap}.checkout{box-shadow:var(--shadow-lg);border-top:4px solid transparent;border-image:var(--grad) 1;border-radius:0 0 var(--radius) var(--radius)}.checkout h1{font-size:1.2rem;text-transform:uppercase;letter-spacing:.06em}.line-items{list-style:none;padding:0;margin:0 0 1rem}.line-items li{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px dashed var(--border)}.line-items input[type=checkbox]{accent-color:var(--primary);width:1.05rem;height:1.05rem}.total-row{display:flex;justify-content:space-between;align-items:baseline;font-size:1.25rem;padding:.9rem 0;border-top:2px solid var(--text)}.total-row strong{font-size:1.8rem;font-weight:800;letter-spacing:-.02em}.pipeline{display:flex;list-style:none;padding:0;margin:1rem 0 0;counter-reset:step}.pipeline li{flex:1;position:relative;padding-top:2rem;font-size:.8rem;color:var(--muted);text-align:center}.pipeline li:before{counter-increment:step;content:counter(step);position:absolute;top:0;left:50%;transform:translate(-50%);width:1.7rem;height:1.7rem;border-radius:50%;background:var(--surface-2);border:2px solid var(--border);font-size:.75rem;font-weight:700;line-height:1.45rem;z-index:1}.pipeline li:after{content:"";position:absolute;top:.85rem;left:-50%;width:100%;height:3px;background:var(--border)}.pipeline li:first-child:after{display:none}.pipeline li.done,.pipeline li.current{color:var(--text)}.pipeline li.done:before{background:var(--grad);border-color:transparent;color:#fff;content:"✓"}.pipeline li.done:after,.pipeline li.current:after{background:var(--grad)}.pipeline li.current:before{border-color:var(--primary);color:var(--primary);box-shadow:0 0 0 5px color-mix(in srgb,var(--primary) 18%,transparent);animation:pulse 2s infinite}.pipeline li.current{font-weight:700}.doc-list{list-style:none;padding:0;margin:0}.doc-list li{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.doc-list li:last-child{border-bottom:0}.doc-list li span:first-child{flex:1;font-weight:600}.status{font-size:.75rem;font-weight:700;padding:.25rem .6rem;border-radius:999px}.status-verified{color:var(--success);background:var(--safety)}.status-pending{color:var(--warning);background:var(--target)}.status-missing{color:var(--danger);background:var(--reach)}.vendor{position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}.vendor:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--grad)}.vendor:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.vendor p{color:var(--muted)}.lede{margin:-.35rem 0 1.1rem;color:var(--muted);max-width:40rem}.city-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.post{transition:transform .2s,box-shadow .2s}.post:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.post p{margin:.25rem 0}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-top:1.75rem}.section-head h2{margin:0}.section-head p{margin:.3rem 0 0;max-width:38rem}.segmented{display:inline-flex;padding:.22rem;gap:.15rem;background:var(--surface-2);border:1px solid var(--border);border-radius:999px}.segmented button{border:0;background:transparent;color:var(--muted);font:inherit;font-weight:700;font-size:.9rem;padding:.45rem .95rem;border-radius:999px;cursor:pointer}.segmented button[aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.activity-filters{display:flex;gap:.4rem;overflow-x:auto;scrollbar-width:none;margin:.9rem 0 .35rem}.activity-filters button{flex:none;display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:.82rem;font-weight:700;padding:.4rem .75rem;border-radius:999px;cursor:pointer}.activity-filters button[aria-pressed=true]{background:var(--text);color:var(--bg);border-color:var(--text)}.event-count{margin:0 0 .85rem}.event-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.event-card{margin:0;display:flex;flex-direction:column;gap:.45rem;transition:transform .2s,box-shadow .2s}.event-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.event-card h3{margin:0}.event-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.event-activity{display:flex;align-items:center;gap:.55rem;margin:0;font-weight:800}.event-icon{width:2.4rem;height:2.4rem;border-radius:12px;display:grid;place-items:center;background:var(--surface-2);font-size:1.2rem}.event-meta{display:flex;flex-direction:column;gap:.28rem;margin:0;color:var(--muted);font-size:.88rem}.event-meta span{display:flex;align-items:center;gap:.35rem}.event-note{margin:0;font-size:.9rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.event-slots{display:flex;gap:.28rem;margin-top:.2rem}.event-slots span{width:1.15rem;height:1.15rem;border-radius:50%;border:1.5px dashed var(--border);background:var(--surface-2)}.event-slots span.on{border-style:solid;border-color:transparent;background:var(--grad)}.event-fill{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.event-fill>span{display:block;height:100%;background:var(--grad)}.event-foot{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-top:auto}.event-foot .button{flex:none;white-space:nowrap}.event-form{display:grid;gap:1rem}.event-form .section-actions{margin:0}.peer-deck{max-width:400px;margin:.25rem auto .5rem}.peer-count,.peer-hint{text-align:center}.peer-hint{margin:.35rem 0 0}.peer-notice{margin:.35rem 0 0;text-align:center;font-weight:700;color:var(--success)}.peer-stage{position:relative;height:540px;margin-top:1.15rem}.peer-card{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:0;overflow:hidden;display:flex;flex-direction:column;border-radius:28px;background:var(--surface);box-shadow:var(--shadow-lg);touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.peer-card.is-dragging{cursor:grabbing}.peer-back{pointer-events:none}.peer-photo{position:relative;flex:1;min-height:46%;display:grid;place-items:center;color:#fff}.peer-photo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.22;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.95) 1.1px,transparent 1.2px);background-size:16px 16px}.peer-mono{position:relative;font-size:4.6rem;font-weight:800;letter-spacing:-.04em;text-shadow:0 12px 30px rgba(0,0,0,.28)}.stamp{position:absolute;top:1.3rem;z-index:1;padding:.15rem .5rem;border:3px solid;border-radius:10px;font-size:1.35rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:#00000026}.stamp.like{left:1rem;color:#bbf7d0;border-color:#4ade80;transform:rotate(-14deg)}.stamp.nope{right:1rem;color:#fecdd3;border-color:#fb7185;transform:rotate(14deg)}.peer-liked{position:absolute;left:1rem;bottom:1rem;z-index:1;background:#fff;color:#5b3df5;font-size:.75rem;font-weight:800;padding:.32rem .65rem;border-radius:999px}.peer-body{padding:.95rem 1.1rem 1.05rem}.peer-body h3{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.peer-body p{margin:.15rem 0}.peer-prompt{margin:.45rem 0 .15rem!important;font-size:.98rem}.peer-body .chips{margin:.55rem 0 0}.peer-actions{display:flex;justify-content:center;align-items:center;gap:.9rem;margin-top:.85rem}.peer-round,.peer-undo{display:grid;place-items:center;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;box-shadow:var(--shadow-sm)}.peer-round{width:4rem;height:4rem}.peer-round.pass:hover{color:var(--danger);border-color:var(--danger)}.peer-round.connect{width:4.5rem;height:4.5rem;color:#fff;border-color:transparent;background:var(--grad);box-shadow:0 10px 22px -8px color-mix(in srgb,var(--primary) 80%,transparent)}.peer-undo{width:2.7rem;height:2.7rem}.peer-round:disabled,.peer-undo:disabled{opacity:.4;cursor:not-allowed}.peer-match{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:flex;flex-direction:column;justify-content:center;gap:.7rem;padding:1.5rem;color:#fff;border-radius:28px;box-shadow:var(--shadow-lg);background:radial-gradient(circle at 18% 16%,rgba(255,255,255,.38),transparent 36%),linear-gradient(160deg,#5b3df5,#ec4899 55%,#ff7a45)}.peer-match h3{margin:0;color:#fff;font-size:2rem}.peer-match p{margin:0}.match-people{display:flex;align-items:center;gap:.7rem;font-size:1.35rem;font-weight:800}.match-people span{width:3.2rem;height:3.2rem;border-radius:50%;display:grid;place-items:center;background:#fff3}.env-banner{text-align:center;font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:.25rem 1rem;color:#fff}.env-dev{background:var(--success)}.env-test{background:var(--warning)}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}@keyframes pulse{0%,to{box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 18%,transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--primary) 6%,transparent)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:640px){.navbar{padding:.7rem 1rem;gap:.6rem}.navbar nav{order:3;width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.navbar nav a{white-space:nowrap}.badge.zero-commission{font-size:.7rem;padding:.3rem .6rem;margin-left:auto}.hero{padding:2.5rem 1rem 5.5rem}.hero-orbs{display:none}.hero-sub{font-size:.98rem}.hero-search{font-size:.92rem;padding:1rem 2.6rem 1rem 2.9rem}.search-icon{left:1.05rem}.filter-bar{grid-template-columns:1fr 1fr}.filter-bar label.grow{grid-column:1 / -1}.compare-bar{top:108px}.whatif-result{grid-template-columns:1fr 1fr}.pipeline li{font-size:.62rem}.section-head{align-items:flex-start}.peer-stage{height:500px}}.detail-hero{position:relative;overflow:hidden;color:#fff;border-radius:24px;padding:2rem 2rem 1.5rem;margin:1rem 0 1.5rem;background:radial-gradient(circle at 90% 120%,rgba(255,255,255,.3) 0,transparent 45%),linear-gradient(130deg,var(--from),var(--to));box-shadow:var(--shadow-lg)}.detail-hero h1{font-size:clamp(1.8rem,4vw,2.6rem);margin:.75rem 0 .25rem;color:#fff}.detail-hero p{margin:0 0 1.5rem;opacity:.9}.detail-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem}.detail-stats div{background:#ffffff29;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:14px;padding:.8rem 1rem;display:flex;flex-direction:column}.detail-stats strong{font-size:1.5rem;font-weight:800;letter-spacing:-.02em}.detail-stats span{font-size:.75rem;opacity:.85;font-weight:600}.icon-btn{margin-left:auto;width:2rem;height:2rem;border-radius:50%;border:0;cursor:pointer;font-size:1.05rem;display:grid;place-items:center;background:#ffffffeb;box-shadow:0 4px 12px #00000026;transition:transform .15s}.icon-btn:hover{transform:scale(1.1)}.icon-btn.heart.on{animation:heartbeat .45s ease-out}.uni-banner .icon-btn{position:relative;z-index:2}.admission{display:flex;align-items:center;gap:.45rem;margin:.75rem 0 0;font-size:.8rem;font-weight:700}.admission.open{color:var(--success)}.admission.upcoming{color:var(--warning)}.admission.closed{color:var(--muted)}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 0 var(--success);animation:live 1.8s infinite;flex:none}.uni-card .actions>:first-child{flex-basis:100%}.button.apply-now{background:linear-gradient(120deg,#0fb36b,#10a37f 50%,#0ea5a4);box-shadow:0 6px 16px -6px #10a37fb3}.button.notify{background:var(--surface);color:var(--warning);border:1px dashed color-mix(in srgb,var(--warning) 60%,transparent);box-shadow:none}.button.notify:hover{background:var(--target)}.button.notify.on{background:var(--target);border-style:solid}.bell{display:inline-block;transform-origin:50% 0}.bell.ring{animation:ring .9s ease-in-out}.detail-top{display:flex;align-items:center}.apply-panel{margin:1.5rem 0}.apply-panel .admission{margin:0 0 1rem;font-size:.9rem}.apply-panel .apply-actions{margin:0}.notify-panel{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.notify-panel p{margin:0}@keyframes heartbeat{0%{transform:scale(1)}30%{transform:scale(1.35)}60%{transform:scale(.95)}to{transform:scale(1)}}@keyframes ring{0%,to{transform:rotate(0)}15%{transform:rotate(18deg)}30%{transform:rotate(-16deg)}45%{transform:rotate(12deg)}60%{transform:rotate(-8deg)}75%{transform:rotate(4deg)}}@keyframes live{0%{box-shadow:0 0 color-mix(in srgb,var(--success) 60%,transparent)}70%{box-shadow:0 0 0 7px transparent}to{box-shadow:0 0 0 0 transparent}}.profile-hero{display:flex;align-items:center;gap:1.5rem;padding:1.75rem;position:relative;overflow:hidden;box-shadow:var(--shadow-md)}.profile-hero:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:var(--grad)}.avatar{flex:none;width:76px;height:76px;border-radius:24px;display:grid;place-items:center;background:var(--grad);color:#fff;font-size:1.7rem;font-weight:800;box-shadow:var(--shadow-md)}.profile-hero-main{flex:1;min-width:0}.profile-hero h1{margin:0 0 .2rem;font-size:1.7rem}.profile-hero .chips{margin:.4rem 0 .8rem}.progress{height:10px;border-radius:999px;background:var(--surface-2);overflow:hidden}.progress span{display:block;height:100%;background:var(--grad);border-radius:inherit;transition:width .6s cubic-bezier(.2,.8,.2,1)}.profile-hero .small{margin:.45rem 0 0}.completion-ring{flex:none;width:92px;height:92px;border-radius:50%;display:grid;place-content:center;background:radial-gradient(closest-side,var(--surface) 78%,transparent 80% 100%),conic-gradient(var(--primary) 0,var(--primary-2) calc(var(--value) * 1%),var(--surface-2) 0)}.completion-ring strong{font-size:1.3rem;font-weight:800}.callout{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.9rem 1.1rem;margin:0 0 1rem;border-radius:16px;font-weight:600;font-size:.92rem;background:var(--target);color:var(--warning);border:1px solid color-mix(in srgb,var(--warning) 30%,transparent)}.profile-layout{display:grid;grid-template-columns:240px 1fr;gap:1.5rem;align-items:start}.section-nav{position:sticky;top:90px;display:flex;flex-direction:column;gap:.15rem}.section-nav a{color:var(--muted);font-weight:600;font-size:.9rem;padding:.45rem .75rem;border-radius:10px}.section-nav a:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.policy-card{margin-top:1rem;padding:.9rem 1rem;border-radius:14px;background:var(--surface);border:1px dashed var(--border);font-size:.8rem;color:var(--muted)}.policy-card strong{color:var(--text)}.policy-card ol{margin:.4rem 0 0;padding-left:1.1rem;display:grid;gap:.25rem}.profile-section{scroll-margin-top:90px;padding:1.5rem}.section-head{display:flex;align-items:flex-start;gap:.85rem;margin-bottom:1.1rem}.section-head>div{flex:1}.section-head h2{margin:0;font-size:1.15rem}.section-head p{margin:.15rem 0 0}.section-icon{width:2.5rem;height:2.5rem;border-radius:12px;display:grid;place-items:center;font-size:1.2rem;background:var(--surface-2);flex:none}.pill{display:inline-flex;align-items:center;gap:.3rem;font-size:.74rem;font-weight:700;padding:.28rem .65rem;border-radius:999px;white-space:nowrap}.pill-ok{background:var(--safety);color:var(--success)}.pill-muted{background:var(--surface-2);color:var(--muted)}.pill-pending{background:var(--target);color:var(--warning)}.pill-locked{background:var(--reach);color:var(--danger)}.protected-list{display:grid;gap:.6rem;margin-bottom:1.25rem}.protected-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.85rem 1rem;border-radius:14px;background:var(--surface-2);border:1px solid var(--border)}.protected-main{display:flex;flex-direction:column;gap:.15rem;min-width:0}.protected-label{font-size:.8rem;font-weight:700;color:var(--muted);display:flex;align-items:center;gap:.4rem}.protected-value{font-size:1.02rem;font-weight:700;letter-spacing:.02em;font-variant-numeric:tabular-nums}.protected-value.is-empty{color:var(--muted);font-weight:500}.protected-side{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.secret-tag{font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;padding:.1rem .4rem;border-radius:6px;background:var(--surface);border:1px solid var(--border)}.field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem 1.1rem}.field{display:flex;flex-direction:column;gap:.35rem;min-width:0}.field-wide,.field-boolean{grid-column:1 / -1}.field>label{font-size:.82rem;font-weight:700}.field input:not([type=checkbox]),.field textarea,.field select{width:100%;font:inherit;font-size:.95rem;padding:.65rem .8rem;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);transition:border-color .15s,box-shadow .15s}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 14%,transparent)}.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:var(--danger)}.field .help{color:var(--muted);font-size:.75rem}.error{color:var(--danger);font-size:.8rem;font-weight:600}.req{color:var(--danger)}.section-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;align-items:center;gap:.8rem;flex-wrap:wrap}.saved-note{color:var(--success);font-weight:700;font-size:.85rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:1rem;background:#0f0c1e8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade .15s ease-out}.modal{width:min(520px,100%);max-height:calc(100vh - 2rem);overflow:auto;background:var(--surface);color:var(--text);border-radius:22px;padding:1.5rem;box-shadow:var(--shadow-lg);animation:pop .2s ease-out}.modal form{display:grid;gap:.9rem}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem}.modal-head h2{margin:0;font-size:1.2rem}.modal-close{border:0;background:var(--surface-2);color:var(--muted);width:2rem;height:2rem;border-radius:50%;cursor:pointer}.modal-note{margin:0;padding:.75rem .9rem;border-radius:12px;background:var(--surface-2);font-size:.85rem;line-height:1.5}.otp-label{font-size:.82rem;font-weight:700}.otp-input{font:inherit;font-size:2rem;font-weight:800;letter-spacing:.6em;text-align:center;padding:.7rem 0 .7rem .6em;border-radius:14px;border:2px solid var(--border);background:var(--surface-2);color:var(--text);width:100%}.otp-input:focus{outline:none;border-color:var(--primary)}.dev-code{margin:0;font-size:.8rem;padding:.5rem .75rem;border-radius:10px;background:var(--target);color:var(--warning)}.otp-actions{display:flex;justify-content:space-between}.otp-actions .link{display:inline;padding:0;font-size:.85rem;font-weight:600;color:var(--primary)}.otp-actions .link:disabled{color:var(--muted);cursor:default}.terms-box{max-height:180px;overflow:auto;padding:.85rem 1rem;border-radius:12px;border:1px solid var(--border);font-size:.8rem;line-height:1.5;background:var(--surface-2)}.terms-box ol{margin:.4rem 0 0;padding-left:1.1rem}.consent{font-size:.9rem;font-weight:600}.consent input{accent-color:var(--primary);width:1.1rem;height:1.1rem}.toast{position:fixed;left:50%;bottom:1.5rem;transform:translate(-50%);z-index:60;background:var(--text);color:var(--surface);padding:.8rem 1.2rem;border-radius:14px;font-weight:700;font-size:.9rem;box-shadow:var(--shadow-lg);animation:pop .25s ease-out}@keyframes fade{0%{opacity:0}to{opacity:1}}@media(max-width:860px){.profile-layout{grid-template-columns:1fr}.section-nav{position:static;flex-direction:row;overflow-x:auto;scrollbar-width:none}.section-nav a{white-space:nowrap;background:var(--surface);border:1px solid var(--border)}.policy-card{display:none}.profile-hero{flex-wrap:wrap}.completion-ring{display:none}}.express-gate{text-align:center;padding:2rem 1.75rem;box-shadow:var(--shadow-md)}.express-gate h1{font-size:1.5rem;margin:.25rem 0 .5rem}.gate-emoji{font-size:2.6rem;margin:0}.express-gate .progress{margin:1.25rem auto .4rem;max-width:360px}.missing-list{list-style:none;padding:0;margin:1.25rem 0;display:grid;gap:.5rem;text-align:left}.missing-list li{padding:.7rem .9rem;border-radius:12px;background:var(--surface-2);font-size:.88rem;color:var(--muted)}.missing-list strong{display:block;color:var(--text);margin-bottom:.15rem}.gate-actions{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1rem}.gate-actions .button{justify-content:center}.ready-note{margin:0 0 1rem;padding:.6rem .85rem;border-radius:12px;background:var(--safety);color:var(--success);font-weight:600;font-size:.88rem}.directory-hero{text-align:center;padding:1.5rem 0 2rem}.directory-hero h1{font-size:clamp(1.8rem,4.5vw,2.8rem);letter-spacing:-.03em;margin:0 0 .75rem;background:linear-gradient(120deg,var(--text) 30%,var(--primary) 70%,var(--primary-2));-webkit-background-clip:text;background-clip:text;color:transparent}.directory-hero p.muted{max-width:640px;margin:0 auto;line-height:1.6}.directory-filters{margin-top:0}.dir-search{width:100%;font:inherit;font-size:1rem;padding:.7rem .9rem;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.dir-search:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 14%,transparent)}.results-count{margin:1.25rem 0 .75rem}.results-count strong{color:var(--text)}.dir-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.dir-card{margin:0;display:flex;flex-direction:column;gap:.35rem;transition:transform .2s,box-shadow .2s}.dir-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.dir-card.has-data{border-color:color-mix(in srgb,var(--success) 45%,var(--border))}.dir-card h3{font-size:1rem;line-height:1.35}.dir-top{display:flex;align-items:center;gap:.5rem}.dir-host{margin:0;word-break:break-all}.dir-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto;padding-top:.6rem}.load-more{display:flex;justify-content:center;margin:1.5rem 0}.attribution{text-align:center;margin-top:2rem}.directory-cta{display:flex;align-items:center;gap:1rem;margin-top:1.5rem;color:var(--text);text-decoration:none;border:2px dashed color-mix(in srgb,var(--primary) 35%,var(--border));transition:transform .2s,border-color .2s}.directory-cta:hover{text-decoration:none;transform:translateY(-2px);border-color:var(--primary)}.directory-cta-icon{font-size:2rem}.directory-cta-arrow{margin-left:auto;font-size:1.4rem;color:var(--primary);font-weight:800}.inst-logo{flex:none;width:var(--logo-size);height:var(--logo-size);border-radius:12px;overflow:hidden;display:grid;place-items:center;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-sm)}.inst-logo img{width:70%;height:70%;object-fit:contain}.inst-logo.is-monogram{border:0;color:#fff;font-weight:800;font-size:calc(var(--logo-size) * .36);letter-spacing:.02em;background:linear-gradient(135deg,hsl(var(--logo-hue) 70% 58%),hsl(calc(var(--logo-hue) + 40) 70% 45%))}.uni-title{display:flex;align-items:flex-start;gap:.75rem;padding-right:80px}.uni-title>div{min-width:0}.fav-btn{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;cursor:pointer;flex:none;transition:transform .15s,background .2s,color .2s,border-color .2s}.fav-btn:hover{transform:scale(1.08)}.fav-btn:active{transform:scale(.92)}.fav-btn.is-saved svg{animation:heartbeat .45s ease-out}.fav-banner{margin-left:auto;position:relative;z-index:2;color:#fff;background:#ffffff2e;border:1.5px solid rgba(255,255,255,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.fav-banner:hover{background:#ffffff4d}.fav-banner.is-saved{background:#fff;border-color:#fff;color:#f43f5e;box-shadow:0 4px 14px #0000002e}.fav-plain{color:var(--muted);background:var(--surface);border:1px solid var(--border)}.fav-plain.is-saved{color:#f43f5e;border-color:color-mix(in srgb,#f43f5e 40%,var(--border))}.uni-card .actions .button.secondary.is-on{white-space:nowrap}.detail-title{display:flex;align-items:center;gap:1rem;margin:.75rem 0 .25rem}.detail-title h1{margin:0}.detail-title .inst-logo{border-color:transparent}.directory-section{margin-top:3.5rem;scroll-margin-top:90px}.directory-head{text-align:center;margin-bottom:1.5rem}.directory-head h2{font-size:clamp(1.6rem,4vw,2.4rem);letter-spacing:-.03em;margin:0 0 .6rem;background:linear-gradient(120deg,var(--text) 30%,var(--primary) 70%,var(--primary-2));-webkit-background-clip:text;background-clip:text;color:transparent}.directory-head p.muted{max-width:640px;margin:0 auto;line-height:1.6}.directory-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.9rem}.directory-toolbar p{margin:0}.directory-toolbar strong{color:var(--text)}.page-size{display:flex;align-items:center;gap:.5rem;font-size:.88rem;font-weight:600;color:var(--muted)}.page-size select{width:auto;padding:.4rem .6rem}.dir-grid.is-loading{opacity:.55;transition:opacity .2s}.dir-main{display:flex;gap:.75rem;align-items:flex-start}.dir-text{min-width:0}.dir-text h3{margin:0 0 .2rem}.dir-text p{margin:0}.pagination{display:flex;justify-content:center;align-items:center;gap:.35rem;flex-wrap:wrap;margin:1.75rem 0 .5rem}.page-btn{min-width:2.4rem;height:2.4rem;padding:0 .7rem;border-radius:10px;font:inherit;font-weight:700;font-size:.88rem;cursor:pointer;background:var(--surface);color:var(--text);border:1px solid var(--border);transition:border-color .15s,background .15s}.page-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.page-btn:disabled{opacity:.45;cursor:default}.page-btn.is-current{background:var(--grad);color:#fff;border-color:transparent;opacity:1}.page-gap{color:var(--muted);padding:0 .2rem}@media(max-width:640px){.uni-title{padding-right:70px}.directory-toolbar{flex-direction:column;align-items:flex-start}}.results{margin-top:1.75rem;scroll-margin-top:90px}.results-header{margin-bottom:1rem}.results-header h2{font-size:clamp(1.5rem,3.5vw,2.2rem);letter-spacing:-.03em;margin:0 0 .4rem;background:linear-gradient(120deg,var(--text) 30%,var(--primary) 70%,var(--primary-2));-webkit-background-clip:text;background-clip:text;color:transparent}.results-header p{margin:0;max-width:760px;line-height:1.6}.results-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin:1rem 0}.results-toolbar p{margin:0}.results-toolbar strong{color:var(--text)}.toolbar-right{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.results-grid{align-items:start}.results-grid.is-loading .dir-card{opacity:.55}.dir-note{margin:.4rem 0 0}.callout-info{background:var(--surface-2);color:var(--text);border-color:var(--border);font-weight:500}.link-inline{border:0;background:none;padding:0;font:inherit;font-weight:700;color:var(--primary);cursor:pointer;text-decoration:underline}@media(max-width:640px){.results-toolbar,.toolbar-right{flex-direction:column;align-items:flex-start}}.flag{display:inline-block;vertical-align:-.15em;border-radius:2px;box-shadow:0 0 0 1px #00000014;object-fit:cover;flex:none}.flag-fallback{box-shadow:none;color:var(--muted)}.uni-flag{display:inline-flex}.uni-flag .flag{border-radius:3px;box-shadow:0 0 0 1.5px #ffffffb3}.logo-mark{color:#fff}.badge.zero-commission,.eyebrow{display:inline-flex;align-items:center;gap:.35rem}.search-icon{display:inline-flex;color:var(--primary)}.search-clear{display:inline-grid;place-items:center}.pick,.chip,.compare-bar>span{display:inline-flex;align-items:center;gap:.35rem}.chip svg{color:var(--primary);flex:none}.chip.band{display:inline-block}.hero-orbs span{display:grid;place-items:center;width:3.4rem;height:3.4rem;border-radius:18px;background:var(--surface);border:1px solid var(--border);color:var(--primary);box-shadow:var(--shadow-md)}.hero-orbs span svg{width:1.6rem;height:1.6rem}.hero-orbs span:nth-child(2) svg,.hero-orbs span:nth-child(3) svg{width:1.9rem;height:1.9rem}.empty-emoji,.gate-emoji{color:var(--primary);display:flex;justify-content:center}.section-icon{color:var(--primary)}.admission.upcoming{display:flex;align-items:center;gap:.35rem}.bell{display:inline-flex}.heart-inline{color:var(--danger);fill:currentColor}.inline-icon{vertical-align:-.2em;margin-right:.25rem}.dir-text .muted .flag{margin-right:.15rem}.dir-card .admission{margin:.4rem 0 0}.dir-card .chips{margin:.5rem 0 .2rem}.fact-list{margin:.3rem 0 0;display:grid;gap:.3rem;font-size:.86rem}.fact-list>div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px dashed var(--border);padding-bottom:.3rem}.fact-list dt{color:var(--muted)}.fact-list dd{margin:0;font-weight:700;text-align:right}.verified-line{margin:.5rem 0 0;display:flex;align-items:center;gap:.35rem;color:var(--success);font-weight:600}.dir-pending{margin-top:.4rem;padding:.65rem .8rem;border-radius:12px;background:var(--surface-2)}.dir-pending p{margin:0 0 .35rem}.dir-pending .link-inline{display:inline-flex;align-items:center;gap:.3rem;font-weight:700}.request-sent{display:flex;align-items:center;gap:.35rem;color:var(--success);font-weight:600;margin:0!important}.admin-login form{display:grid;gap:.8rem}.admin-login h1,.admin-head h1{display:flex;align-items:center;gap:.5rem;margin:0 0 .4rem}.admin-head{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-end;flex-wrap:wrap;margin-bottom:1rem}.reviewer-field{min-width:240px}.coverage{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:baseline;margin-bottom:1rem}.coverage>div{display:flex;flex-direction:column}.coverage strong{font-size:1.5rem}.coverage span{color:var(--muted);font-size:.8rem}.coverage-top{flex-basis:100%;margin:0;color:var(--muted)}.admin-tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem}.review-list{display:grid;gap:1rem;margin-bottom:1rem}.review-card{display:grid;gap:.7rem;justify-items:start}.review-card>*{justify-self:stretch}.review-card>.button{justify-self:start}.review-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.review-head h3{margin:0 0 .2rem}.review-head p{margin:0}.review-warnings{list-style:none;margin:0;padding:.6rem .8rem;border-radius:12px;background:var(--target);color:var(--warning);font-size:.85rem;display:grid;gap:.3rem}.review-warnings li{display:flex;gap:.4rem;align-items:flex-start}.review-doc{display:grid;gap:1rem;border-top:1px solid var(--border);padding-top:.8rem}.review-doc h4{margin:0 0 .5rem}.review-pages{margin:0 0 .3rem;padding-left:1.1rem;font-size:.82rem;word-break:break-all}.review-item{border:1px solid var(--border);border-radius:12px;padding:.7rem .8rem;margin-bottom:.6rem}.review-item-title{margin:0 0 .4rem;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.review-row{margin:.5rem 0}.review-row>p{margin:0 0 .25rem;font-size:.9rem}.evidence{margin:0;padding:.45rem .7rem;border-left:3px solid var(--primary);background:var(--surface-2);border-radius:0 10px 10px 0;font-size:.85rem;display:flex;flex-wrap:wrap;gap:.35rem .5rem;align-items:baseline}.evidence-mark{color:var(--primary);flex:none}.evidence span{flex:1 1 240px}.evidence-link{display:inline-flex;align-items:center;gap:.2rem;font-weight:700;font-size:.78rem;white-space:nowrap}.review-actions{display:grid;gap:.6rem;border-top:1px solid var(--border);padding-top:.8rem}.review-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.field>span{font-size:.82rem;font-weight:700}.flag-loading{display:inline-block;background:var(--surface-2)}.dir-card.has-cover{padding-top:0;overflow:hidden}.dir-cover{position:relative;margin:0 -1.35rem .6rem;height:140px;background:var(--surface-2)}.dir-cover img{width:100%;height:100%;object-fit:cover;display:block}.dir-cover-credit{position:absolute;right:.4rem;bottom:.3rem;font-size:.62rem;color:#fff;background:#00000073;padding:.1rem .35rem;border-radius:6px;max-width:80%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dir-card.is-open{grid-column:1 / -1}.details-toggle{display:inline-flex;align-items:center;gap:.3rem;align-self:flex-start;margin-top:.5rem;padding:.35rem 0;border:0;background:none;font:inherit;font-weight:700;font-size:.86rem;color:var(--primary);cursor:pointer}.details-toggle svg{transition:transform .2s}.details-toggle svg.flip{transform:rotate(180deg)}.details-panel{display:grid;gap:.9rem;margin-top:.3rem}.details-note{display:flex;gap:.4rem;align-items:center;margin:0;font-size:.86rem;color:var(--muted)}.details-note.working{color:var(--primary)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spin{animation:none}}.gallery{display:flex;gap:.6rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.3rem}.gallery-item{flex:0 0 min(320px,80%);margin:0;scroll-snap-align:start}.gallery-item img{width:100%;height:190px;object-fit:cover;border-radius:12px;background:var(--surface-2);display:block}.gallery-item.logo{flex-basis:160px}.gallery-item.logo img{object-fit:contain;padding:1rem;background:#fff;border:1px solid var(--border)}.gallery-item figcaption{font-size:.7rem;color:var(--muted);margin-top:.25rem;line-height:1.35}.auto-findings header{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between;margin-bottom:.5rem}.auto-findings h4{margin:0;display:flex;align-items:center;gap:.35rem}.auto-findings ul{list-style:none;margin:0 0 .5rem;padding:0;display:grid;gap:.7rem}.finding-title{margin:0 0 .25rem;display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;font-size:.9rem}.details-moved{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin:0;padding:.55rem .75rem;border-radius:12px;background:var(--target);color:var(--warning);font-size:.85rem}.details-moved a{font-weight:700;display:inline-flex;align-items:center;gap:.2rem}.auto-summary{margin-top:.5rem;padding:.65rem .8rem;border-radius:12px;background:var(--surface-2);display:grid;gap:.3rem}.auto-summary p{margin:0;display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;font-size:.9rem}.auto-summary p.auto-summary-foot{display:block;font-size:.74rem;line-height:1.4}.auto-summary-foot svg{vertical-align:-.15em;margin-right:.2rem}.dir-facts{margin:.1rem 0 0!important}.key-facts h4{margin:0 0 .4rem;display:flex;align-items:center;gap:.35rem}.key-facts .fact-list{margin-bottom:.3rem}.details-empty{display:grid;gap:.35rem}.ask-us{display:inline-flex;align-items:center;gap:.3rem;justify-self:start}.learn{--course: var(--primary)}.learn-hero{display:flex;gap:1.5rem;align-items:center;padding:1.6rem;background:var(--hero-bg)}.learn-hero h1{margin:.3rem 0 .5rem;font-size:clamp(1.6rem,4vw,2.4rem);letter-spacing:-.02em}.learn-hero .eyebrow{margin:0}.learn-hero .button{margin-top:.8rem}.mascot.bounce{animation:pip-bounce 2.4s ease-in-out infinite;flex:none}@keyframes pip-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.mascot-cheer .mascot-cap{animation:pip-cap .6s ease-in-out 2;transform-origin:50% 30%}@keyframes pip-cap{50%{transform:rotate(-8deg) translateY(-3px)}}@media(prefers-reduced-motion:reduce){.mascot.bounce,.mascot-cheer .mascot-cap,.path-node.current .path-circle,.confetti span{animation:none!important}}.learn-bar{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:space-between;align-items:center;margin:1rem 0 .4rem}.learn-stats{display:flex;flex-wrap:wrap;gap:.5rem}.learn-stat{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border-radius:999px;background:var(--surface);border:1px solid var(--border);font-size:.86rem;color:var(--muted)}.learn-stat strong{color:var(--text)}.learn-stat.streak.on svg{color:#f97316;fill:#fdba74}.learn-stat.xp svg{color:#eab308;fill:#fde047}.goal-ring{--pct: 0;width:1.4rem;height:1.4rem;border-radius:50%;display:grid;place-items:center;color:var(--success);background:conic-gradient(var(--success) calc(var(--pct) * 1%),var(--surface-2) 0)}.goal-ring svg{background:var(--surface);border-radius:50%;padding:1px}.goal-select{display:inline-flex;align-items:center;gap:.4rem;font-size:.86rem;font-weight:600}.goal-select select{font:inherit;padding:.3rem .5rem;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.learn-section-title{margin:1.2rem 0 .8rem}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.course-card{margin:0;display:grid;gap:.6rem;color:var(--text);text-decoration:none;border-top:5px solid var(--course);transition:transform .15s,box-shadow .15s}.course-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);text-decoration:none}.course-card-top{display:flex;gap:.7rem;align-items:center}.course-card h3,.course-card p,.course-card .chips{margin:0}.course-progress{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.course-progress span{display:block;height:100%;background:var(--course);border-radius:inherit}.learn-note{margin-top:1.2rem}.back-link{display:inline-flex;align-items:center;gap:.3rem;font-weight:600;margin-bottom:.8rem}.course-head{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;border-top:5px solid var(--course)}.course-head h1{margin:0;font-size:1.6rem}.course-head h1 .muted{font-weight:500;font-size:1.1rem}.course-head p{margin:.2rem 0 0}.course-head .learn-stats{margin-left:auto}.exam-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.8rem}.exam-card{margin:0}.exam-card h3{margin:0 0 .4rem;font-size:1rem}.exam-card .chip{display:inline-block;margin:0 0 .4rem}.exam-card p.small{margin:0}.level{margin-top:2rem}.level-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .8rem;margin-bottom:.8rem}.level-head h2{margin:0}.level-head p{margin:0;flex:1 1 260px}.coming-soon{display:flex;align-items:center;gap:.8rem;margin:0;opacity:.85}.coming-soon p{margin:0}.unit{margin-bottom:1.5rem}.unit-banner{background:var(--course);color:#fff;border-radius:18px;padding:.9rem 1.2rem;box-shadow:0 6px color-mix(in srgb,var(--course) 70%,#000)}.unit-banner h3{margin:0 0 .2rem;color:#fff}.unit-banner p{margin:0;opacity:.92;font-size:.9rem}.lesson-path{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;gap:1.1rem;justify-items:center}.path-node{--i: 0;position:relative;display:flex;flex-direction:column;align-items:center;gap:.35rem;transform:translate(calc(sin(var(--i) * 1.3rad)*70px))}.path-circle{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;color:#fff;text-decoration:none;background:var(--course);box-shadow:0 6px color-mix(in srgb,var(--course) 65%,#000);transition:transform .1s,box-shadow .1s}.path-circle:hover{text-decoration:none;transform:translateY(-2px)}.path-circle:active{transform:translateY(4px);box-shadow:0 2px color-mix(in srgb,var(--course) 65%,#000)}.path-node.done .path-circle{background:#facc15;color:#713f12;box-shadow:0 6px #ca8a04}.path-node.locked .path-circle{background:var(--surface-2);color:var(--muted);box-shadow:0 6px 0 var(--border)}.path-node.current .path-circle{animation:path-pulse 1.8s ease-in-out infinite}@keyframes path-pulse{0%,to{outline:0 solid transparent}50%{outline:8px solid color-mix(in srgb,var(--course) 25%,transparent)}}.path-label{font-weight:700;font-size:.88rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.15rem;max-width:180px}.path-node.locked .path-label{color:var(--muted)}.path-stars{display:inline-flex;gap:1px;color:var(--border)}.path-stars .on{color:#eab308;fill:#facc15}.path-start{position:absolute;top:-2.1rem;background:var(--surface);border:2px solid var(--course);color:var(--course);font-weight:800;font-size:.78rem;padding:.2rem .6rem;border-radius:10px;text-transform:uppercase;letter-spacing:.05em}@media(max-width:640px){.learn-hero{flex-direction:column;text-align:center}.path-node{transform:translate(calc(sin(var(--i) * 1.3rad)*40px))}.course-head .learn-stats{margin-left:0}}.lesson{--course: var(--primary);max-width:760px;margin:0 auto;min-height:calc(100vh - 140px);display:flex;flex-direction:column;padding:1rem 1rem 0}.lesson-top{display:flex;align-items:center;gap:.8rem}.lesson-exit,.lesson-sound{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;color:var(--muted);background:none;border:0;cursor:pointer;flex:none}.lesson-exit:hover,.lesson-sound:hover{background:var(--surface-2);color:var(--text)}.lesson-progress{flex:1;height:14px;border-radius:999px;background:var(--surface-2);overflow:hidden}.lesson-progress span{display:block;height:100%;background:var(--course);border-radius:inherit;transition:width .35s ease;position:relative}.lesson-progress span:after{content:"";position:absolute;left:8px;right:8px;top:3px;height:3px;border-radius:999px;background:#ffffff59}.lesson-body{flex:1;padding:1.5rem 0 2rem;display:grid;gap:1rem;align-content:start}.lesson-mascot{display:flex}.ex-prompt-row{display:flex;align-items:center;gap:.7rem}.ex-prompt{margin:0;font-size:1.35rem;line-height:1.3}.speak-btn{display:grid;place-items:center;width:3rem;height:3rem;border-radius:14px;border:0;cursor:pointer;color:#fff;background:var(--course);box-shadow:0 4px color-mix(in srgb,var(--course) 65%,#000);flex:none}.speak-btn.slow{width:2.4rem;height:2.4rem;background:var(--surface-2);color:var(--course);box-shadow:0 4px 0 var(--border)}.speak-btn:active{transform:translateY(3px);box-shadow:none}.ex-options{display:grid;gap:.6rem}.ex-option,.ex-chip,.ex-tile,.ex-match{font:inherit;cursor:pointer;text-align:left;color:var(--text);background:var(--surface);border:2px solid var(--border);border-bottom-width:4px;border-radius:14px;padding:.75rem 1rem;transition:border-color .12s,background .12s}.ex-option:hover:not(:disabled),.ex-chip:hover:not(:disabled),.ex-tile:hover:not(:disabled),.ex-match:hover:not(:disabled){background:var(--surface-2)}.ex-option.selected,.ex-chip.selected,.ex-match.selected{border-color:var(--course);background:color-mix(in srgb,var(--course) 12%,var(--surface));color:var(--course)}.ex-key{display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:6px;border:2px solid var(--border);font-size:.75rem;color:var(--muted);margin-right:.4rem}.ex-sentence{font-size:1.25rem;line-height:1.8;margin:0}.ex-blank{display:inline-block;min-width:5rem;border-bottom:3px solid var(--border);text-align:center;font-weight:700;color:var(--course)}.ex-chips,.ex-bank{display:flex;flex-wrap:wrap;gap:.5rem}.ex-tile{padding:.5rem .85rem;text-align:center}.ex-tile.used{visibility:hidden}.ex-answer-line{min-height:3.6rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:.4rem 0;border-bottom:2px solid var(--border)}.ex-passage{margin:0;padding:1rem 1.1rem;border-radius:14px;background:var(--surface-2);line-height:1.6;border-left:4px solid var(--course)}.ex-statement{margin:0;font-size:1.05rem}.ex-listen{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}.ex-reveal{margin:0;font-size:1.1rem;font-weight:600;flex-basis:100%}.ex-input{font:inherit;font-size:1.1rem;padding:.85rem 1rem;border-radius:14px;border:2px solid var(--border);background:var(--surface);color:var(--text);width:100%}.ex-input:focus{outline:none;border-color:var(--course)}.ex-match-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.ex-match-grid>div{display:grid;gap:.6rem}.ex-match{text-align:center}.ex-match.matched{opacity:.35;border-color:var(--success)}.ex-match.wrong{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,var(--surface));animation:shake .3s}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.ex-reorder{list-style:decimal;margin:0;padding-left:1.4rem;display:grid;gap:.5rem}.ex-reorder li{padding:.6rem .7rem;border-radius:12px;background:var(--surface);border:2px solid var(--border)}.ex-reorder li>span:first-child{display:block;margin-bottom:.3rem}.ex-reorder-btns{display:inline-flex;gap:.3rem}.ex-reorder-btns button{display:grid;place-items:center;width:2rem;height:2rem;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer}.ex-reorder-btns button:disabled{opacity:.35;cursor:default}.lesson-foot{position:sticky;bottom:0;margin:0 -1rem;padding:1rem;border-top:2px solid var(--border);background:var(--bg);display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;justify-content:space-between}.lesson-foot.ok{background:color-mix(in srgb,var(--success) 14%,var(--bg));border-color:transparent;color:var(--success)}.lesson-foot.bad{background:color-mix(in srgb,var(--danger) 12%,var(--bg));border-color:transparent;color:var(--danger)}.feedback{display:flex;gap:.7rem;align-items:flex-start;flex:1 1 320px}.feedback strong{font-size:1.15rem}.feedback p{margin:.2rem 0 0;color:var(--text)}.feedback-answer span{font-weight:700;white-space:pre-line}.feedback-explain{font-size:.9rem;color:var(--muted)!important}.lesson-btn{margin-left:auto;min-width:9rem;justify-content:center;font-size:1rem;padding:.8rem 1.4rem}.lesson-foot.ok .lesson-btn{background:var(--success)}.lesson-foot.bad .lesson-btn{background:var(--danger)}.lesson-done{text-align:center;position:relative;overflow:hidden}.lesson-done .mascot{margin:1rem auto 0;display:block}.done-stats{display:flex;justify-content:center;gap:.8rem;flex-wrap:wrap;margin:1rem 0}.done-stats>div{display:grid;justify-items:center;gap:.1rem;min-width:6.5rem;padding:.8rem;border-radius:16px;border:2px solid var(--border);background:var(--surface)}.done-stats strong{font-size:1.4rem}.done-stats span{font-size:.8rem;color:var(--muted)}.done-stats svg{color:var(--course)}.done-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}.confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.confetti span{--i: 0;position:absolute;top:-10px;left:calc(var(--i) * 5.5%);width:8px;height:14px;border-radius:2px;background:hsl(calc(var(--i) * 40) 85% 60%);animation:confetti 2.4s ease-in calc(var(--i) * .07s) 1 forwards;opacity:0}@keyframes confetti{0%{opacity:1;transform:translateY(0) rotate(0)}to{opacity:0;transform:translateY(420px) rotate(540deg)}}.lesson-locked{text-align:center}.nav-account{display:inline-flex;align-items:center;gap:.5rem}.nav-login{font-weight:600;font-size:.9rem}.nav-user{display:inline-flex;align-items:center;gap:.3rem;font-weight:600;font-size:.9rem;color:var(--text)}.nav-logout{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;border:0;background:none;color:var(--muted);cursor:pointer}.nav-logout:hover{background:var(--surface-2);color:var(--text)}.auth-card{text-align:center;padding:2rem 1.6rem}.auth-card h1{margin:.6rem 0 .4rem}.auth-form{display:grid;gap:.9rem;text-align:left;margin:1.2rem 0}.auth-form .button{justify-content:center}.password-field{position:relative;display:block}.password-field input{width:100%;padding-right:2.8rem}.password-field button{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--muted);cursor:pointer;padding:.3rem}.consent{display:flex;gap:.5rem;align-items:flex-start;font-size:.9rem}.consent input{margin-top:.2rem}.course-tabs{display:flex;gap:.4rem;margin:1.6rem 0 .4rem}.mock-tests{margin-top:1rem;display:grid;gap:1rem}.signup-callout{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:0}.signup-callout p{margin:0;flex:1 1 280px}.test-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.test-card{margin:0;display:grid;gap:.5rem;align-content:start;border-top:4px solid var(--course, var(--primary))}.test-card h3,.test-card p{margin:0}.test-card .button{justify-content:center}.test-exam{display:flex;align-items:center;gap:.3rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--course, var(--primary))}.test-meta{display:flex;align-items:center;gap:.3rem;color:var(--muted)}.attempt-list{list-style:none;margin:.3rem 0 0;padding:.5rem 0 0;border-top:1px dashed var(--border);display:grid;gap:.3rem;font-size:.86rem}.attempt-list li{display:flex;gap:.6rem;align-items:baseline}.attempt-list li strong{margin-left:auto}.test-page{max-width:860px}.test-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem;align-items:center;position:sticky;top:.5rem;z-index:5}.test-head h1{margin:0;font-size:1.3rem}.test-head p{margin:0}.test-status{display:grid;justify-items:end;gap:.2rem}.test-timer{display:inline-flex;align-items:center;gap:.35rem;font-weight:800;font-size:1.2rem;font-variant-numeric:tabular-nums;padding:.3rem .8rem;border-radius:999px;background:var(--surface-2)}.test-timer.low{background:var(--reach);color:var(--danger)}.test-group h2{margin:0 0 .2rem}.test-group>.muted{margin:0 0 .8rem}.test-passage{margin-bottom:1rem}.test-audio{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem}.test-audio blockquote{flex-basis:100%}.test-q{border:0;margin:0 0 1rem;padding:.9rem 0 0;border-top:1px solid var(--border);display:grid;gap:.5rem}.test-q legend,.test-q>label,.test-q-text{font-weight:600;padding:0;margin:0 0 .4rem;line-height:1.45}.test-q-n{display:inline-grid;place-items:center;min-width:1.6rem;height:1.6rem;border-radius:8px;background:var(--primary);color:#fff;font-size:.8rem;margin-right:.35rem}.test-options{display:grid;gap:.4rem}.test-options.inline{display:flex;flex-wrap:wrap}.test-option{display:flex;align-items:center;gap:.5rem;padding:.55rem .8rem;border:2px solid var(--border);border-radius:12px;cursor:pointer;background:var(--surface)}.test-option.selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--surface))}.test-option input{accent-color:var(--primary)}.test-table{border-collapse:collapse;margin:.4rem 0;min-width:60%;font-size:.92rem}.test-table caption{text-align:left;font-weight:700;margin-bottom:.3rem}.test-table th,.test-table td{border:1px solid var(--border);padding:.4rem .7rem;text-align:left}.test-table thead th{background:var(--surface-2)}.test-essay{font:inherit;line-height:1.6;padding:.8rem;border-radius:12px;border:2px solid var(--border);background:var(--surface);color:var(--text);width:100%;resize:vertical}.test-essay:focus{outline:none;border-color:var(--primary)}.ok-text{color:var(--success);font-weight:600}.speaking ul{margin:0 0 .6rem}.speaking-controls{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-bottom:.6rem}.speak-timer{display:inline-flex;align-items:center;gap:.3rem;font-weight:800;font-variant-numeric:tabular-nums;padding:.35rem .8rem;border-radius:999px}.speak-timer.prep{background:var(--target);color:var(--warning)}.speak-timer.live{background:var(--reach);color:var(--danger)}.test-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;position:sticky;bottom:.5rem}.confirm-submit{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;font-weight:600}.result-card{display:flex;flex-wrap:wrap;gap:1.2rem;align-items:center}.result-card h1,.result-card p{margin:.2rem 0}.result-percent{font-size:1.1rem;font-weight:700}.result-estimate{font-size:1.2rem;color:var(--primary)}.result-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-left:auto}.checklist{list-style:none;padding:0;margin:0;display:grid;gap:.4rem}.checklist label{display:flex;gap:.5rem;align-items:flex-start}.review h2{margin:1.5rem 0 .8rem}.review-q{border-left:5px solid var(--border)}.review-q.ok{border-left-color:var(--success)}.review-q.bad{border-left-color:var(--danger)}.review-q-head{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0 0 .4rem}.review-q.ok .review-q-head svg{color:var(--success)}.review-q.bad .review-q-head svg{color:var(--danger)}.review-q-head .chip{margin-left:auto}.review-answers{display:grid;gap:.3rem;margin:.4rem 0}.review-answers>div{display:grid;grid-template-columns:8.5rem 1fr;gap:.6rem}.review-answers dt{color:var(--muted);font-size:.86rem}.review-answers dd{margin:0;font-weight:600;white-space:pre-line}.essay{white-space:pre-wrap}@media(max-width:640px){.review-answers>div{grid-template-columns:1fr;gap:0}.test-status{justify-items:start}.result-actions{margin-left:0}}@media(max-width:1400px){.navbar nav a{padding:.4rem .55rem;font-size:.86rem}.navbar .zero-commission{display:none}}.lesson-intro{display:grid;justify-items:center;text-align:center;gap:.8rem;padding:1.5rem 0 2rem}.lesson-intro h1{margin:0;font-size:clamp(1.5rem,4vw,2rem)}.kind-badge{margin:0;padding:.3rem .8rem;border-radius:999px;font-size:.78rem;font-weight:800;letter-spacing:.03em;color:var(--course);background:color-mix(in srgb,var(--course) 12%,var(--surface))}.tip-card{text-align:left;width:100%;max-width:620px;padding:1.1rem 1.3rem;border-radius:18px;background:var(--surface);border:2px solid color-mix(in srgb,var(--course) 30%,var(--border));box-shadow:0 6px color-mix(in srgb,var(--course) 18%,transparent)}.tip-card h2{margin:0 0 .6rem;font-size:1.05rem;display:flex;align-items:center;gap:.4rem;color:var(--course)}.tip-card ol{margin:0;padding-left:1.2rem;display:grid;gap:.5rem;line-height:1.5}.lesson-intro .lesson-btn{margin:.5rem auto 0}.ex-choose{display:inline-block;margin-left:.4rem;padding:.15rem .5rem;border-radius:6px;font-size:.72rem;font-weight:800;letter-spacing:.04em;vertical-align:middle;background:var(--target);color:var(--warning)}.ex-passage-long{max-height:46vh;overflow:auto;white-space:pre-line;font-size:.98rem}.ex-passage-long:focus{outline:2px solid var(--course)}.ex-transcript{margin:0;flex-basis:100%;padding:.6rem .8rem;border-radius:10px;background:var(--surface-2);color:var(--muted)}.ex-check{display:inline-grid;place-items:center;width:1.4rem;height:1.4rem;border-radius:6px;border:2px solid var(--border);margin-right:.4rem;vertical-align:middle}.ex-check.on{background:var(--course);border-color:var(--course);color:#fff}.ex-gap-text{white-space:pre-line;font-size:1.05rem;line-height:2.4;padding:1rem 1.1rem;border-radius:14px;background:var(--surface);border:2px solid var(--border)}.ex-gap{font:inherit;font-size:.98rem;padding:.25rem .5rem;margin:0 .15rem;border-radius:8px;border:2px solid var(--border);background:var(--surface-2);color:var(--text);min-width:5rem}.ex-gap:focus{outline:none;border-color:var(--course);background:var(--surface)}.ex-gap.ok{border-color:var(--success);background:color-mix(in srgb,var(--success) 12%,var(--surface))}.ex-gap.bad{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,var(--surface))}.ex-bank-box{display:flex;flex-wrap:wrap;gap:.4rem;padding:.7rem;border-radius:12px;border:2px dashed var(--border)}.ex-bank-box span{padding:.25rem .6rem;border-radius:8px;background:var(--surface-2);font-weight:600;font-size:.9rem}.ex-bank-box span.used{opacity:.35;text-decoration:line-through}.ex-matching{list-style:decimal;margin:0;padding-left:1.4rem;display:grid;gap:.5rem}.ex-matching li{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:space-between;padding:.55rem .7rem;border-radius:12px;border:2px solid var(--border);background:var(--surface)}.ex-matching li>span{flex:1 1 220px}.ex-matching select{font:inherit;padding:.35rem .5rem;border-radius:8px;border:2px solid var(--border);background:var(--surface-2);color:var(--text);max-width:100%;flex:1 1 220px}.ex-matching li.ok{border-color:var(--success)}.ex-matching li.bad{border-color:var(--danger)}.ex-highlight{font-size:1.15rem;line-height:2;margin:0;padding:.8rem 1rem;border-radius:14px;background:var(--surface);border:2px solid var(--border)}.hl-word{font:inherit;display:inline;padding:.05rem .15rem;margin:0 .05rem;border-radius:6px;border:0;background:none;color:var(--text);cursor:pointer}.hl-word:hover:not(:disabled){background:var(--surface-2)}.hl-word.on{background:#fde047;color:#1e1b4b}.hl-word.ok{background:color-mix(in srgb,var(--success) 25%,transparent)}.hl-word.bad{background:color-mix(in srgb,var(--danger) 25%,transparent);text-decoration:line-through}.hl-word.missed{outline:2px dashed var(--danger)}.ex-read-text{font-size:1.15rem;line-height:1.7}.ex-bullets{margin:0;padding-left:1.2rem}.ex-fallback{display:grid;gap:.5rem;justify-items:start}.ex-heard{margin:0;padding:.5rem .8rem;border-radius:10px;background:var(--surface-2)}.ex-model{padding:1rem 1.1rem;border-radius:14px;background:color-mix(in srgb,var(--success) 8%,var(--surface));border:2px solid color-mix(in srgb,var(--success) 35%,var(--border))}.ex-model h3{margin:0 0 .4rem;font-size:.95rem;color:var(--success)}.ex-model h3+p,.ex-model p{margin:0 0 .6rem;line-height:1.6}.ex-model .checklist{list-style:"✓  ";padding-left:1.2rem}.chart{margin:0;padding:.8rem 1rem;border-radius:14px;border:1px solid var(--border);background:var(--surface)}.chart figcaption{font-weight:700;margin-bottom:.5rem}.chart-svg{width:100%;height:auto;max-height:300px;display:block}.chart-svg.pie{max-width:220px}.chart-pie{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.chart-grid{stroke:var(--border);stroke-width:1}.chart-axis{fill:var(--muted);font-size:12px}.chart-legend{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-size:.86rem}.chart-pie .chart-legend{display:grid}.chart-legend span{display:inline-block;width:.8rem;height:.8rem;border-radius:3px;margin-right:.35rem;vertical-align:-.05rem}.plan-ground{fill:color-mix(in srgb,var(--success) 10%,var(--surface));stroke:var(--border)}.plan-feature{fill:var(--surface-2);stroke:var(--muted);stroke-width:1.5}.plan-label{fill:var(--text);font-size:13px;font-weight:600}.plan-letter{fill:var(--primary)}.plan-letter-text{fill:#fff;font-size:13px;font-weight:800}.process{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.process li{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .7rem;border-radius:10px;background:var(--surface-2);font-size:.9rem}.process-n{display:inline-grid;place-items:center;width:1.3rem;height:1.3rem;border-radius:50%;background:var(--primary);color:#fff;font-size:.72rem;font-weight:800}.process-arrow{color:var(--muted);margin-left:.2rem}.section-bar{position:sticky;top:.4rem;z-index:4;display:flex;gap:.4rem;overflow-x:auto;padding:.5rem;margin:1rem 0 0;border-radius:14px;background:color-mix(in srgb,var(--bg) 85%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border)}.section-bar a{flex:none;display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border-radius:999px;font-weight:700;font-size:.84rem;color:var(--text);background:var(--surface);border:1px solid var(--border);text-decoration:none}.section-bar a:hover{border-color:var(--course);color:var(--course)}.section-bar small{color:var(--muted);font-weight:600}.level-progress{flex-basis:100%;height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden}.level-progress span{display:block;height:100%;background:var(--course)}.path-kind{font-weight:500;font-size:.74rem;color:var(--muted)}.level{scroll-margin-top:5rem}select.ex-gap{display:inline-block;width:auto;max-width:min(11rem,100%);min-width:6rem}input.ex-gap{display:inline-block;max-width:min(14rem,100%)}.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;margin:1.2rem 0 .2rem;font-size:.9rem;font-weight:600;color:var(--muted)}.crumbs a{color:var(--course)}.crumbs [aria-current]{color:var(--text)}.drill-title{margin:.6rem 0 1rem}.drill-title h2{margin:0 0 .2rem}.drill-title p{margin:0}.drill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.drill-grid.two{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.drill-card{margin:0;display:grid;gap:.6rem;align-content:start;color:var(--text);text-decoration:none;position:relative;border:2px solid var(--border);border-bottom-width:5px;transition:transform .15s,border-color .15s,box-shadow .15s}a.drill-card:hover{transform:translateY(-3px);border-color:var(--course);box-shadow:var(--shadow-md);text-decoration:none}.drill-card.soon{opacity:.6}.drill-card p{margin:0}.drill-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.drill-head h2{margin:0;font-size:1.25rem}.drill-head svg{color:var(--course);flex:none}.exam-drill{border-top:6px solid var(--course);padding:1.5rem}.exam-drill .drill-head h2{font-size:1.6rem}.exam-drill .chip{justify-self:start}.drill-skills{display:flex;flex-wrap:wrap;gap:.4rem}.drill-skills span{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .6rem;border-radius:999px;background:var(--surface-2);font-size:.82rem;font-weight:600}.drill-skills svg{color:var(--course)}.drill-icon{display:grid;place-items:center;width:3.2rem;height:3.2rem;border-radius:16px;color:#fff;background:var(--course);box-shadow:0 5px color-mix(in srgb,var(--course) 65%,#000)}.card-progress{display:grid;gap:.3rem;margin-top:auto}.card-progress-bar{display:block;height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.card-progress-bar span{display:block;height:100%;background:var(--course);border-radius:inherit}.unit-group{margin-bottom:1.6rem}.unit-group h2{margin:0 0 .15rem;font-size:1.1rem}.unit-group>p{margin:0 0 .8rem}.lesson-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.8rem}.lesson-card{margin:0;display:grid;gap:.4rem;align-content:start;color:var(--text);text-decoration:none;border:2px solid var(--border);border-bottom-width:5px;padding:1rem;transition:transform .15s,border-color .15s}a.lesson-card:hover{transform:translateY(-2px);border-color:var(--course);text-decoration:none}.lesson-card h3{margin:0;font-size:1.02rem;line-height:1.3}.lesson-card p{margin:0}.lesson-card.current{border-color:var(--course);box-shadow:0 0 0 4px color-mix(in srgb,var(--course) 18%,transparent)}.lesson-card.done{border-color:color-mix(in srgb,#eab308 60%,var(--border))}.lesson-card.locked{opacity:.55}.lesson-card-top,.lesson-card-foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.lesson-card-foot{margin-top:.3rem}.lesson-no{font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--course)}.lesson-state{display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--surface-2);color:var(--muted)}.lesson-state.next{background:var(--course);color:#fff}.lesson-state.done{background:#facc15;color:#713f12}.lesson-go{font-weight:800;font-size:.8rem;color:var(--course);text-transform:uppercase;letter-spacing:.05em}.lock-note{display:inline-flex;align-items:center;gap:.3rem;margin-top:.4rem;font-size:.78rem;font-weight:700;color:var(--course)}a.lesson-card.locked{opacity:.75}a.lesson-card.locked:hover{opacity:1}.unlock-callout{margin:0 0 1rem;display:block}.unlock-note{margin:.4rem auto 1rem;max-width:480px;padding:.7rem 1rem;border-radius:12px;background:var(--surface-2)}.word{cursor:help;border-radius:3px;text-decoration:underline dotted color-mix(in srgb,var(--course, var(--primary)) 55%,transparent);text-underline-offset:3px}.word:hover,.word:focus-visible{background:color-mix(in srgb,var(--course, var(--primary)) 14%,transparent);outline:none}.ex-option .word,.feedback .word{text-decoration-color:transparent}.tap-hint{display:flex;align-items:center;gap:.35rem;margin:0;color:var(--muted)}.word-card{position:fixed;z-index:50;width:340px;max-height:60vh;overflow:auto;padding:.9rem 1rem;border-radius:16px;background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-lg);text-align:left}.word-card:focus{outline:none}.word-card.sheet{left:0;right:0;bottom:0;width:auto;max-height:55vh;border-radius:18px 18px 0 0;padding-bottom:1.4rem}.word-card-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.word-card-word{font-size:1.25rem}.word-card-head .icon-btn{width:2rem;height:2rem;display:grid;place-items:center;border-radius:50%;border:0;background:var(--surface-2);color:var(--text);cursor:pointer}.word-card-head .close{margin-left:auto}.word-meaning{margin:.5rem 0}.word-pos{margin:0 0 .2rem;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--course, var(--primary))}.word-meaning ol{margin:0;padding-left:1.1rem;display:grid;gap:.3rem;font-size:.92rem;line-height:1.45}.word-example{display:block;color:var(--muted);font-style:italic;font-size:.86rem}.word-syn{margin:.35rem 0 0;display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}.syn-chip{font:inherit;font-size:.82rem;padding:.15rem .55rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer}.syn-chip:hover{border-color:var(--course, var(--primary))}.word-source{display:flex;align-items:center;gap:.3rem;margin:.6rem 0 0}.feedback-why{display:flex;gap:.4rem;align-items:flex-start;margin:.35rem 0 0!important;color:var(--text)!important;line-height:1.5}.feedback-why svg{flex:none;margin-top:.2rem}.lesson-foot.ok .feedback-why svg{color:var(--success)}.lesson-foot.bad .feedback-why svg{color:var(--danger)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.community-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin:.5rem 0 1.25rem}.community-bar .segmented button,.connect-head .segmented button{display:inline-flex;align-items:center;gap:.35rem}.city-picker{display:inline-flex;align-items:center;gap:.5rem}.city-picker select,.event-toolbar select{font:inherit;font-weight:700;padding:.45rem .75rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.activity-filters button{display:inline-flex;align-items:center;gap:.35rem}.event-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem;margin:.4rem 0 .6rem}.event-icon{color:var(--primary)}.event-people{display:flex;align-items:center;gap:.55rem}.avatars{display:inline-flex}.avatar{width:1.75rem;height:1.75rem;border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:800;color:#fff;background:var(--grad);border:2px solid var(--surface);margin-left:-.45rem;position:relative}.avatar:first-child{margin-left:0}.avatar.more{background:var(--surface-2);color:var(--muted)}.peer-report{position:absolute;top:.75rem;right:.75rem;z-index:2;width:2rem;height:2rem;border-radius:50%;border:0;display:grid;place-items:center;background:#00000047;color:#fff;cursor:pointer}.peer-report:hover,.peer-report:focus-visible{background:#00000080}.chip.shared{background:var(--grad);color:#fff;border-color:transparent}.peer-shared{margin:.45rem 0 0!important;font-weight:700;color:var(--primary)}.peer-match .button{display:inline-flex;align-items:center;gap:.4rem;justify-content:center}.peer-form h3{margin:0 0 .2rem}.interest-picker{border:0;padding:0;margin:0}.interest-picker legend{font-weight:700;margin-bottom:.45rem;padding:0}.chip-toggle{font:inherit;font-size:.86rem;font-weight:600;padding:.35rem .75rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.chip-toggle.on{background:var(--grad);color:#fff;border-color:transparent}.check{display:flex;gap:.55rem;align-items:flex-start;font-size:.92rem}.check input{margin-top:.2rem;accent-color:var(--primary)}.connect-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.4rem}.button.small{padding:.4rem .8rem;font-size:.86rem;display:inline-flex;align-items:center;gap:.35rem}.match-list{list-style:none;padding:0;margin:.5rem 0 0;display:grid;gap:.6rem;max-width:560px}.match-row{width:100%;margin:0;display:flex;align-items:center;gap:.8rem;text-align:left;font:inherit;color:inherit;cursor:pointer}.match-row:hover{box-shadow:var(--shadow-md)}.match-avatar{width:2.8rem;height:2.8rem;flex:none;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:800}.match-text{display:flex;flex-direction:column;min-width:0;flex:1}.match-text>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot{width:.6rem;height:.6rem;border-radius:50%;background:var(--primary-2);flex:none}.chat{max-width:560px;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;overflow:hidden}.chat-head{display:flex;align-items:center;gap:.7rem;padding:.75rem .9rem;border-bottom:1px solid var(--border)}.icon-button{border:0;background:transparent;color:var(--text);width:2.25rem;height:2.25rem;border-radius:50%;display:grid;place-items:center;cursor:pointer;flex:none}.icon-button:hover{background:var(--surface-2)}.chat-log{height:min(52vh,420px);overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.45rem;background:var(--surface-2)}.chat-start{text-align:center;margin:auto 0}.bubble{max-width:78%;margin:0;padding:.55rem .8rem;border-radius:16px 16px 16px 4px;background:var(--surface);box-shadow:var(--shadow-sm);align-self:flex-start;white-space:pre-wrap;overflow-wrap:anywhere}.bubble.me{align-self:flex-end;border-radius:16px 16px 4px;background:var(--grad);color:#fff}.bubble-time{display:block;font-size:.7rem;opacity:.7;margin-top:.15rem}.chat-form{display:flex;gap:.5rem;padding:.7rem;border-top:1px solid var(--border)}.chat-form input{flex:1;min-width:0;font:inherit;padding:.6rem .85rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.chat-form .button{border-radius:999px;padding:.55rem .8rem}.chat>.error{padding:0 .9rem .6rem;margin:0}@media(max-width:640px){.community-bar{flex-direction:column;align-items:stretch}.community-bar .segmented{overflow-x:auto}.chat-head .button.small{padding:.35rem .55rem}}.section-head>.segmented{flex:none;align-self:center}.event-toolbar select,.city-picker select{width:auto;min-width:0;max-width:100%}.event-from,.peer-from{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin:0;font-size:.88rem;font-weight:600}.event-from .flag,.peer-from .flag{border-radius:2px}.peer-from .chip{margin-left:.2rem}.soon-card{opacity:1;border-style:dashed;background:var(--surface)}.soon-card h2,.soon-card h3{color:var(--muted)}.soon-card .course-card-top{align-items:flex-start}.soon-card .course-card-top>div{flex:1}.soon-card .flag,.soon-card .chips{filter:grayscale(.6);opacity:.75}.soon-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;font-weight:800;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:.2rem .6rem;white-space:nowrap;flex:none}.soon-intro{margin:-.4rem 0 1rem}.vote{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:auto;padding-top:.4rem}.vote .button{display:inline-flex;align-items:center;gap:.35rem}.vote .button.voted{background:var(--success);color:#fff;border-color:transparent}.vote-count{font-weight:600}.courses{display:grid;gap:.6rem;margin-top:1rem}.courses header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.courses h4{display:flex;align-items:center;gap:.4rem;margin:0}.course-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.course-filters .activity-filters{margin:0;flex:1 1 auto}.course-search{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--border);border-radius:999px;padding:.3rem .75rem;background:var(--surface);color:var(--muted)}.course-search input{border:0;background:transparent;color:var(--text);font:inherit;outline:none;min-width:9rem}.course-list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.course-list li{display:flex;align-items:baseline;gap:.5rem;font-size:.92rem}.course-list a{color:var(--text)}.level-tag{flex:none;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;padding:.12rem .45rem;border-radius:6px;background:var(--surface-2);color:var(--muted)}.level-tag.bachelor{color:#2563eb}.level-tag.master{color:#7c3aed}.level-tag.doctorate{color:#db2777}.auto-summary .admission{margin:0 0 .3rem}.admission-dates{display:grid;gap:.5rem;margin-top:1rem}.admission-dates h4{display:flex;align-items:center;gap:.4rem;margin:0}.admission-dates table{width:100%}.admission-dates tr.is-open th,.admission-dates tr.is-open td{background:color-mix(in srgb,var(--success) 12%,transparent)}.open-tag{display:inline-flex;align-items:center;gap:.3rem;margin-left:.5rem;font-size:.75rem;font-weight:800;color:var(--success)}.admission-dates p{margin:0}.account-form{display:grid;gap:.6rem;margin-top:.8rem}.account-form h3{display:flex;align-items:center;gap:.4rem;margin:0;font-size:1rem}.account-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.button.danger{background:var(--danger);color:#fff;border-color:transparent}.button.ghost.danger{background:transparent;color:var(--danger);border-color:var(--danger)}.delete-account{display:grid;gap:.6rem;margin-top:1rem}.delete-account p{margin:0}.success{color:var(--success);font-weight:600;margin:0}.dir-text h3{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.fit-badge{display:inline-flex;align-items:baseline;gap:.25rem;font-size:.78rem;font-weight:600;padding:.15rem .55rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--muted)}.fit-badge strong{font-size:.9rem}.fit-badge.high{color:var(--success);border-color:color-mix(in srgb,var(--success) 45%,transparent)}.fit-badge.mid{color:var(--warning, #d97706);border-color:color-mix(in srgb,#d97706 45%,transparent)}.fit-badge.low{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,transparent)}.fit-block{display:grid;gap:.35rem;margin-top:.6rem}.fit-block p{margin:0}.fit-checks{list-style:none;margin:0;padding:0;display:grid;gap:.2rem;font-size:.86rem}.fit-checks span{display:inline-block;width:1rem;font-weight:800;text-align:center}.fit-ok span{color:var(--success)}.fit-close span{color:#d97706}.fit-no span{color:var(--danger)}.dir-main{position:relative}.dir-fav{position:absolute;top:0;right:0}.dir-text{padding-right:2rem}.save-bar{position:sticky;bottom:1rem;z-index:20;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin:1rem auto 0;max-width:1100px;padding:.8rem 1rem;border-radius:16px;background:var(--surface);border:1px solid var(--primary);box-shadow:var(--shadow-md)}.save-bar-actions{display:inline-flex;gap:.5rem}.field-badge{margin-left:.5rem}.field-badge .pill{font-size:.7rem;padding:.1rem .45rem;vertical-align:middle}.code-fields{margin:0 0 .6rem;padding-left:1.2rem;display:grid;gap:.15rem}.protected-row.field-wide{grid-column:1 / -1}.navbar .logo-words{display:inline-flex;flex-direction:column;line-height:1.05}.navbar .logo-tagline{font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}@media(max-width:640px){.navbar .logo-tagline{display:none}}
