:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-optical-sizing:auto;line-height:1.5;font-weight:150;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:light;--page-padding: 16px;--color-bg: #ffffff;--color-surface: #ffffff;--color-surface-muted: #f1f5f9;--color-surface-active: #e2e8f0;--color-border: #d0d7de;--color-border-subtle: #e5e7eb;--color-text: #0f172a;--color-text-muted: #475569;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-contrast: #f8fafc;--color-disabled-bg: #e5e7eb;--color-disabled-text: #94a3b8;--shadow-elevation: 0 1px 3px rgba(15, 23, 42, .08);--color-success: #15803d;--color-success-bg: #dcfce7;--color-warning: #d97706;--color-warning-bg: #fef3c7;--color-danger: #dc2626;--color-danger-bg: #fee2e2}@media (prefers-color-scheme: dark){:root{--color-bg: #ffffff;--color-surface: #ffffff;--color-surface-muted: #f1f5f9;--color-surface-active: #e2e8f0;--color-border: #d0d7de;--color-border-subtle: #e5e7eb;--color-text: #0f172a;--color-text-muted: #475569;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-contrast: #f8fafc;--color-disabled-bg: #e5e7eb;--color-disabled-text: #94a3b8;--shadow-elevation: 0 1px 3px rgba(15, 23, 42, .08);--color-success: #15803d;--color-success-bg: #dcfce7;--color-warning: #d97706;--color-warning-bg: #fef3c7;--color-danger: #dc2626;--color-danger-bg: #fee2e2}}body{margin:0;min-width:320px;min-height:100vh;padding:var(--page-padding);letter-spacing:-.005em;background-color:#fff;color:var(--color-text);transition:background-color .2s ease,color .2s ease}a{font-weight:inherit;color:var(--color-primary);text-decoration:inherit}a:hover{color:var(--color-primary-hover)}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:inherit;font-family:inherit;background-color:var(--color-surface-muted);color:var(--color-text);cursor:pointer;transition:border-color .25s ease,background-color .2s ease,color .2s ease,transform .2s ease}button:hover{border-color:var(--color-primary)}button:focus,button:focus-visible{outline:3px solid #000000;outline-offset:2px}input:not([type=range]),select,textarea{background-color:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:6px;padding:6px 8px;font-family:inherit;font-size:.95rem;box-sizing:border-box;transition:border-color .2s ease,background-color .2s ease,color .2s ease}input:not([type=range])::placeholder,textarea::placeholder{color:var(--color-text-muted)}input:not([type=range]):focus,select:focus,textarea:focus{outline:none;border-color:#000;box-shadow:0 0 0 3px #00000026}::selection{background:#000;color:#fff}table{border-collapse:collapse}.course-focus-highlight{outline:3px solid #000000;outline-offset:4px;transition:outline .2s ease}.score-slider{-webkit-appearance:none;appearance:none;background:transparent;width:100%;height:16px;outline:none;cursor:pointer;border:none;padding:0;margin:0}.score-slider::-webkit-slider-runnable-track{height:4px;background:transparent;border:none}.score-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;border-radius:9999px;background:#fff;border:1px solid rgba(0,0,0,.12);box-shadow:0 1px 1px #0000000f;margin-top:-4px;opacity:.85;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.score-slider:hover::-webkit-slider-thumb,.score-slider:active::-webkit-slider-thumb,.score-slider:focus-visible::-webkit-slider-thumb{opacity:1;transform:scale(1.08);box-shadow:0 0 0 3px color-mix(in srgb,currentColor 25%,transparent)}.score-slider::-moz-range-track{height:4px;background:transparent;border:none}.score-slider::-moz-range-progress{background:transparent}.score-slider::-moz-range-thumb{width:12px;height:12px;border-radius:9999px;background:#fff;border:1px solid rgba(0,0,0,.12);box-shadow:0 1px 1px #0000000f;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.score-slider:hover::-moz-range-thumb,.score-slider:active::-moz-range-thumb,.score-slider:focus-visible::-moz-range-thumb{transform:scale(1.08);box-shadow:0 0 0 3px color-mix(in srgb,currentColor 25%,transparent)}.score-submit-btn{padding:0;display:inline-block;border-radius:9999px}.guided-search-button{padding:12px 16px;border-radius:50px;border:1px solid #000;background:#fff;color:#000;cursor:pointer;box-shadow:none;transition:background .2s ease,color .2s ease,border-color .2s ease}.guided-search-button:hover{background:#000;color:#fff;border-color:#000}@media (max-width: 768px){.guided-search-button{width:100%;max-width:320px}}.courses-view-toggle-button{padding:6px 14px;border-radius:50px;border:1px solid #000;background:#fff;color:#000;cursor:pointer;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-style:normal;font-weight:300;font-size:13px;line-height:1.45;letter-spacing:-.005em;transition:background .2s ease,color .2s ease,border-color .2s ease}.courses-view-toggle-button:hover,.courses-view-toggle-button.is-active{background:#000;color:#fff;border-color:#000}.auth-page{min-height:100vh;background:#fff;color:#000;font-family:Inter,sans-serif;padding:0 16px 80px}.auth-frame{width:min(600px,100%);margin:0 auto;padding-top:80px;display:flex;flex-direction:column;align-items:center}@media (min-width: 900px){.auth-frame{padding-top:90px}}.auth-title{font-size:48px;line-height:1.45;font-weight:300;letter-spacing:-.005em;margin:0 0 32px}.auth-google-button{height:36px;border-radius:50px;border:1px solid #000;background:transparent;padding:0 24px;font-size:16px;font-weight:300;letter-spacing:-.005em;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;cursor:pointer}.auth-google-button:disabled{opacity:.5;cursor:not-allowed}.auth-or{margin-top:20px;font-size:16px;font-weight:300;letter-spacing:-.005em}.auth-panel{margin-top:20px;width:min(470px,100%);background:#f6f6f6;border-radius:32px;padding:28px 30px 36px;display:flex;flex-direction:column;gap:16px;box-sizing:border-box}.auth-page .auth-input{width:100%;max-width:443px;height:55px;border-radius:50px;border:1px solid #000;background:#fff;padding:0 24px;font-size:20px;font-family:inherit;color:#000;align-self:center;box-sizing:border-box}.auth-page .auth-input::placeholder{color:#000;font-weight:300;letter-spacing:-.005em}.auth-page .auth-input:focus{outline:none;border-color:#000;box-shadow:none}.auth-page .auth-input:disabled{opacity:.6}.auth-link-row{display:flex;justify-content:space-between;gap:16px}.auth-link{border:none;background:none;padding:0;font-size:13px;font-weight:300;line-height:1.45;letter-spacing:-.005em;text-align:center;cursor:pointer;color:#000}.auth-link:disabled{opacity:.4;cursor:not-allowed}.auth-link-center{align-self:center}.auth-next{height:44px;border-radius:32px;border:none;background:#d9d9d9;padding:0 24px;font-size:16px;font-weight:300;letter-spacing:-.005em;white-space:nowrap;align-self:flex-end;cursor:pointer}.auth-next:disabled{opacity:.4;cursor:not-allowed}.auth-actions{display:flex;justify-content:flex-end;gap:16px;flex-wrap:wrap}.auth-secondary{height:44px;border-radius:32px;border:1px solid #000;background:transparent;padding:0 24px;font-size:15px;font-weight:300;letter-spacing:-.005em;white-space:nowrap;cursor:pointer}.auth-secondary:disabled{opacity:.4;cursor:not-allowed}.auth-message{font-size:14px;text-align:center;margin-top:8px}.auth-resend-counter{font-size:13px;text-align:center;margin-top:8px;color:#000000a6;letter-spacing:-.005em;font-weight:300}.auth-resend-wrapper{display:flex;flex-direction:column;gap:8px;align-items:center;margin-top:8px}@media (max-width: 640px){.auth-panel{padding:32px;border-radius:32px}.auth-link-row{flex-direction:column;align-items:center}.auth-actions{justify-content:center}.auth-next{align-self:center}}.compass-stage{position:relative;margin:-40px auto 0;width:min(900px,92vw);aspect-ratio:1;border-radius:0;background:transparent;border:none;overflow:visible;cursor:none;--compass-disc-inset: 8%}.compass-viewport{position:absolute;inset:0;z-index:1}.compass-grid{position:absolute;inset:14%;border-radius:50%;background:radial-gradient(circle,rgba(148,163,184,.2) 2px,transparent 2px);pointer-events:none;z-index:0}.compass-disc{position:absolute;inset:var(--compass-disc-inset);border-radius:50%;background:color-mix(in srgb,var(--color-surface) 80%,#e2e8f0);border:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);pointer-events:none;z-index:1}.compass-explore-button{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:150px;height:150px;padding:0;border-radius:50%;border:1px solid rgba(15,23,42,.7);background:#f8fafcf2;color:#0f172ad9;font-size:1.5rem;font-weight:600;letter-spacing:.04em;cursor:pointer;z-index:5;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.1;transition:background .2s ease,color .2s ease,border-color .2s ease}.compass-explore-button:hover{background:red;color:#fff;border-color:red}.compass-mask{position:absolute;inset:var(--compass-disc-inset);border-radius:50%;z-index:4;pointer-events:none;background:radial-gradient(circle var(--mask-radius, 120px) at var(--mask-x, 50%) var(--mask-y, 50%),rgba(0,0,0,0) 0%,rgba(0,0,0,0) 55%,rgba(0,0,0,.7) 75%,rgba(0,0,0,.85) 100%)}.compass-label{position:absolute;left:50%;top:50%;transform-origin:50% 50%;pointer-events:none;z-index:3}.compass-label-stack{position:absolute;left:50%;top:50%;transform-origin:50% 0%;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.compass-measurements{position:absolute;width:0;height:0;overflow:hidden;visibility:hidden;pointer-events:none}.compass-measure-stack{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.compass-label-chip{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:6px 10px;border-radius:50px;border:1px solid #000;background:#fff;color:#000;font-size:.64rem;font-weight:600;letter-spacing:.05em;white-space:nowrap;transform:rotate(-90deg);transform-origin:50% 50%;pointer-events:auto;transition:background .2s ease,color .2s ease,opacity .2s ease,border-color .2s ease;-webkit-user-select:none;user-select:none}.compass-label-chip:hover{background:var(--chip-bg, #ff006f);color:#fff;border-color:var(--chip-bg, #ff006f)}@media (max-width: 768px){.compass-stage{margin:0 auto;width:100%;max-width:420px}.compass-explore-button{width:120px;height:120px;font-size:1.1rem}.compass-label-chip{padding:4px 8px;font-size:.6rem}}
