*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-\[calc\(96px\+env\(safe-area-inset-bottom\)\)\]{bottom:calc(96px + env(safe-area-inset-bottom))}.left-1\/2{left:50%}.left-2\.5{left:.625rem}.right-4{right:1rem}.right-5{right:1.25rem}.top-2\.5{top:.625rem}.top-\[22\%\]{top:22%}.top-\[max\(12px\2c env\(safe-area-inset-top\)\)\]{top:max(12px,env(safe-area-inset-top))}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-\[1\]{z-index:1}.m-0\.5{margin:.125rem}.m-auto{margin:auto}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-3{margin-left:-.75rem;margin-right:-.75rem}.mx-auto{margin-left:auto;margin-right:auto}.-mb-1{margin-bottom:-.25rem}.-mr-1{margin-right:-.25rem}.-mt-2{margin-top:-.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-28{height:7rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[220px\]{height:220px}.h-\[240px\]{height:240px}.h-\[68px\]{height:68px}.h-\[72px\]{height:72px}.h-\[86px\]{height:86px}.h-\[88px\]{height:88px}.h-full{height:100%}.max-h-\[50vh\]{max-height:50vh}.max-h-\[90dvh\]{max-height:90dvh}.min-h-0{min-height:0}.min-h-11{min-height:2.75rem}.min-h-12{min-height:3rem}.min-h-\[52px\]{min-height:52px}.min-h-dvh{min-height:100dvh}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-24{width:6rem}.w-28{width:7rem}.w-7{width:1.75rem}.w-9{width:2.25rem}.w-\[112px\]{width:112px}.w-\[168px\]{width:168px}.w-\[220px\]{width:220px}.w-\[240px\]{width:240px}.w-\[68px\]{width:68px}.w-\[72px\]{width:72px}.w-\[88px\]{width:88px}.w-\[92px\]{width:92px}.w-\[min\(22rem\2c calc\(100\%-32px\)\)\]{width:min(22rem,calc(100% - 32px))}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.min-w-0{min-width:0}.max-w-\[78\%\]{max-width:78%}.max-w-\[min\(100\%-24px\2c 28rem\)\]{max-width:min(100% - 24px,28rem)}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-\[44px_1fr_44px\]{grid-template-columns:44px 1fr 44px}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-y-1{row-gap:.25rem}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded-2xl{border-radius:1rem}.rounded-\[18px\]{border-radius:18px}.rounded-\[20px\]{border-radius:20px}.rounded-\[22px\]{border-radius:22px}.rounded-\[28px\]{border-radius:28px}.rounded-\[8px\]{border-radius:8px}.rounded-card{border-radius:18px}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-dashed{border-style:dashed}.border-hairline{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity,1))}.border-primary{--tw-border-opacity:1;border-color:rgb(0 102 204/var(--tw-border-opacity,1))}.border-soft{--tw-border-opacity:1;border-color:rgb(240 240 240/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.bg-\[\#E8F1FB\]{--tw-bg-opacity:1;background-color:rgb(232 241 251/var(--tw-bg-opacity,1))}.bg-\[\#F2F4F7\]{--tw-bg-opacity:1;background-color:rgb(242 244 247/var(--tw-bg-opacity,1))}.bg-\[\#FAFBFC\]{--tw-bg-opacity:1;background-color:rgb(250 251 252/var(--tw-bg-opacity,1))}.bg-hairline{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity,1))}.bg-ink\/70{background-color:rgb(29 29 31/.7)}.bg-parchment{--tw-bg-opacity:1;background-color:rgb(245 245 247/var(--tw-bg-opacity,1))}.bg-pearl{--tw-bg-opacity:1;background-color:rgb(250 250 252/var(--tw-bg-opacity,1))}.bg-primary{--tw-bg-opacity:1;background-color:rgb(0 102 204/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-soft{--tw-bg-opacity:1;background-color:rgb(240 240 240/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/90{background-color:rgb(255 255 255/.9)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-1{padding-bottom:.25rem}.pb-28{padding-bottom:7rem}.pb-3{padding-bottom:.75rem}.pb-\[max\(12px\2c env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(12px,env(safe-area-inset-bottom))}.pb-\[max\(24px\2c env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(24px,env(safe-area-inset-bottom))}.pb-\[max\(2rem\2c env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(2rem,env(safe-area-inset-bottom))}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-0\.5{padding-right:.125rem}.pr-1{padding-right:.25rem}.pr-3{padding-right:.75rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-\[max\(3rem\2c calc\(env\(safe-area-inset-top\)\+1\.5rem\)\)\]{padding-top:max(3rem,calc(env(safe-area-inset-top) + 1.5rem))}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-\[10px\]{font-size:10px}.text-\[12px\]{font-size:12px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-body{font-size:17px;line-height:1.47;letter-spacing:-.02em}.text-caption{font-size:14px;line-height:1.43;letter-spacing:-.014em}.text-display{font-size:34px;line-height:1.1;letter-spacing:-.02em;font-weight:600}.text-micro{font-size:12px;line-height:1.2;letter-spacing:-.01em}.text-title{font-size:28px;line-height:1.14;letter-spacing:-.02em}.font-semibold,.text-title{font-weight:600}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-none{line-height:1}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.text-ink{--tw-text-opacity:1;color:rgb(29 29 31/var(--tw-text-opacity,1))}.text-ink-48{--tw-text-opacity:1;color:rgb(122 122 122/var(--tw-text-opacity,1))}.text-ink-48\/40{color:rgb(122 122 122/.4)}.text-ink-80{--tw-text-opacity:1;color:rgb(51 51 51/var(--tw-text-opacity,1))}.text-primary{--tw-text-opacity:1;color:rgb(0 102 204/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.opacity-30{opacity:.3}.opacity-80{opacity:.8}.outline-none{outline:2px solid transparent;outline-offset:2px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{color-scheme:light}body,html{min-height:100%;overflow-x:hidden}body{margin:0;background:#f5f5f7;color:#1d1d1f;font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Microsoft YaHei,sans-serif;font-size:17px;line-height:1.47;letter-spacing:-.02em}a,button,input{-webkit-tap-highlight-color:transparent}.pressable{transition:transform .1s ease-out,opacity .1s ease-out}.pressable:active{transform:scale(.97)}.liquid-dock{position:relative;overflow:hidden;border-radius:32px;background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(255,255,255,.28) 48%,rgba(255,255,255,.18));backdrop-filter:blur(44px) saturate(220%);-webkit-backdrop-filter:blur(44px) saturate(220%);border:1px solid rgba(255,255,255,.72);box-shadow:0 18px 48px rgba(15,23,42,.14),0 2px 8px rgba(15,23,42,.06),inset 0 1px 0 rgba(255,255,255,.92),inset 0 -10px 18px rgba(255,255,255,.12)}.liquid-dock:before{content:"";inset:0 auto auto 0;width:55%;height:46%;border-radius:inherit;background:radial-gradient(ellipse at 30% 0,rgba(255,255,255,.85),transparent 70%)}.liquid-dock:before,.liquid-tab-slot{pointer-events:none;position:absolute}.liquid-tab-slot{top:0;bottom:0;left:0;width:33.333%;will-change:transform}.liquid-tab-pill,.liquid-tab-trail{position:absolute;inset:6px;border-radius:24px}.liquid-tab-trail{background:radial-gradient(ellipse at 50% 20%,rgba(255,255,255,.42),rgba(255,255,255,.12) 70%);filter:blur(6px);opacity:.9}.liquid-tab-pill{background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.42) 46%,rgba(255,255,255,.28));box-shadow:inset 0 1px 0 rgba(255,255,255,.96),inset 0 -8px 16px rgba(255,255,255,.12),0 8px 20px rgba(0,102,204,.08)}.liquid-tab-pill:after{content:"";position:absolute;left:14%;right:22%;top:1px;height:42%;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.95),transparent)}.sheet-root{position:fixed;inset:0;z-index:40}.sheet-scrim{position:absolute;inset:0;border:0;background:rgba(15,23,42,.28);animation:sheet-scrim-in .28s cubic-bezier(.32,.72,0,1)}.sheet-panel{background:rgba(255,255,255,.86);backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);box-shadow:inset 0 1px 0 rgba(255,255,255,.94)}.course-sheet,.sheet-panel{position:absolute;left:50%;bottom:0;width:min(28rem,100%);transform:translateX(-50%);border-radius:22px 22px 0 0;padding:10px 16px calc(20px + env(safe-area-inset-bottom));border:1px solid rgba(255,255,255,.78);animation:sheet-up .38s cubic-bezier(.32,.72,0,1)}.course-sheet{max-height:min(92dvh,760px);overflow-y:auto;background:#f5f5f7}.course-peek{position:absolute;left:50%;top:50%;width:min(22rem,calc(100% - 48px));max-height:min(70dvh,520px);overflow-y:auto;transform:translate(-50%,-50%);border-radius:18px;padding:20px 20px 16px;background:#fff;border:1px solid #e0e0e0}.review-dot{position:absolute;top:2px;left:4px;width:8px;height:8px;border-radius:999px;background:#fa5151;border:1.5px solid #fff;z-index:2;pointer-events:none}.sheet-handle{width:36px;height:5px;margin:2px auto 12px;border-radius:999px;background:rgba(0,0,0,.14)}@keyframes sheet-up{0%{transform:translate(-50%,18%);opacity:.72}to{transform:translate(-50%);opacity:1}}@keyframes sheet-scrim-in{0%{opacity:0}to{opacity:1}}.page-shell{box-sizing:border-box;width:100%;padding:max(12px,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) calc(108px + env(safe-area-inset-bottom, 0px)) max(12px,env(safe-area-inset-left,0px))}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.banner-strip{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x;cursor:grab}.banner-strip:active{cursor:grabbing}.compose-page{position:fixed;inset:0;z-index:50;display:flex;justify-content:center;background:#fff}.compose-page-inner{display:flex;width:min(28rem,100%);height:100%;flex-direction:column;background:#fff}.compose-cta{padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:rgba(255,255,255,.86);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}.social-page{height:100dvh;display:flex;justify-content:center;background:#f5f5f7;padding-top:max(28px,env(safe-area-inset-top,0px))}.social-page-inner{display:flex;width:min(28rem,100%);height:100%;flex-direction:column;background:#f5f5f7}.chat-bubble{width:-moz-fit-content;width:fit-content;max-width:100%;border-radius:18px;padding:10px 14px;background:#fff;white-space:pre-wrap;overflow-wrap:break-word;word-break:normal}.chat-bubble-mine{background:#e8f0fa}.chat-composer{padding:8px 16px calc(12px + env(safe-area-inset-bottom, 0px));background:rgba(245,245,247,.86);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}.companion-dot{width:80px;height:80px;border-radius:9999px;color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:600}.week-grid{display:grid;width:max(100%,364px);grid-template-columns:28px repeat(7,minmax(0,1fr));grid-template-rows:40px repeat(5,minmax(104px,auto));overflow:hidden;border:1px solid rgba(0,0,0,.06);background:#fff}.week-grid-scroller{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-inline:-4px;padding-bottom:4px}.week-cell-title{display:-webkit-box;overflow:hidden;font-size:10px;font-weight:600;line-height:1.25;word-break:break-all;-webkit-box-orient:vertical;-webkit-line-clamp:3}.week-cell-meta{overflow:hidden;font-size:8px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.glass-chip{background:rgba(255,255,255,.64);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.78);box-shadow:inset 0 1px 0 rgba(255,255,255,.94)}.ios-switch{position:relative;display:inline-block;width:51px;height:31px;flex-shrink:0;border-radius:999px;background:#e5e5ea;transition:background-color .28s cubic-bezier(.32,.72,0,1)}.ios-switch.is-on{background:#0066cc}.ios-switch-knob{position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 3px 8px rgba(0,0,0,.15);transform:translateZ(0);transition:transform .28s cubic-bezier(.32,.72,0,1);will-change:transform}.ios-switch.is-on .ios-switch-knob{transform:translate3d(20px,0,0)}.ios-switch.is-compact{width:36px;height:22px}.ios-switch.is-compact .ios-switch-knob{width:18px;height:18px}.ios-switch.is-compact.is-on .ios-switch-knob{transform:translate3d(14px,0,0)}.sync-spin{animation:sync-spin .7s linear infinite}@keyframes sync-spin{to{transform:rotate(1turn)}}@media (max-width:390px){.text-title{font-size:24px!important}.text-display{font-size:28px!important}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}.pressable:active{transform:none;opacity:.72}.course-peek,.course-sheet,.sheet-panel,.sheet-scrim{animation:none}.ios-switch,.ios-switch-knob{transition:none}.sync-spin{animation:none}}@media (prefers-reduced-transparency:reduce){.frosted,.glass-chip,.liquid-dock,.sheet-panel{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#ffffff!important}}.placeholder\:text-ink-48::-moz-placeholder{--tw-text-opacity:1;color:rgb(122 122 122/var(--tw-text-opacity,1))}.placeholder\:text-ink-48::placeholder{--tw-text-opacity:1;color:rgb(122 122 122/var(--tw-text-opacity,1))}.focus-within\:w-\[160px\]:focus-within{width:160px}.focus-visible\:outline:focus-visible{outline-style:solid}.focus-visible\:outline-2:focus-visible{outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-primary-focus:focus-visible{outline-color:#0071E3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}