.ts-font-vars{--font-space:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;--font-hanken:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif}.ts-spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--color-hairline-2);border-top-color:var(--color-brand);animation:ts-spin .7s linear infinite}@keyframes ts-spin{to{transform:rotate(1turn)}}.auth-loading{min-height:100dvh;display:grid;place-items:center;background:#f6f9fc}.auth-page{min-height:100dvh;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));position:relative;isolation:isolate;overflow:hidden;color:#14283a;background:#f2f6f9;font-family:var(--font-hanken),-apple-system,BlinkMacSystemFont,sans-serif}.auth-orb{position:fixed;border-radius:50%;filter:blur(2px);pointer-events:none;z-index:-1}.auth-orb--one{width:520px;height:520px;right:-220px;top:-250px;background:rgba(83,177,232,.16);filter:blur(20px)}.auth-orb--two{width:390px;height:390px;right:20%;bottom:-290px;background:rgba(97,205,174,.12);filter:blur(28px)}.auth-story{height:100dvh;min-height:100dvh;align-self:start;padding:clamp(28px,4vw,56px);display:flex;flex-direction:column;position:sticky;top:0;overflow:hidden;color:#fff;background:radial-gradient(circle at 82% 5%,rgba(84,183,239,.29),transparent 31%),radial-gradient(circle at 7% 91%,rgba(61,198,164,.14),transparent 30%),linear-gradient(151deg,#081a2a,#103b59 52%,#1d6c99);box-shadow:inset -1px 0 rgba(255,255,255,.1),24px 0 80px rgba(11,36,55,.12)}.auth-story:after,.auth-story:before{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.1);pointer-events:none}.auth-story:before{width:460px;height:460px;right:-305px;top:17%;box-shadow:0 0 0 68px rgba(255,255,255,.022),0 0 0 136px rgba(255,255,255,.014)}.auth-story:after{width:170px;height:170px;left:-94px;bottom:10%;box-shadow:0 0 0 48px rgba(255,255,255,.018)}.auth-brand{width:fit-content;display:inline-flex;align-items:center;gap:11px;color:#fff;text-decoration:none;font-family:var(--font-space),sans-serif;font-size:20px;font-weight:500;letter-spacing:-.025em;position:relative;z-index:5}.auth-brand__mark{width:43px;height:43px;border:1px solid rgba(255,255,255,.62);border-radius:14px;display:grid;place-items:center;box-shadow:0 12px 36px rgba(1,18,31,.28),inset 0 1px rgba(255,255,255,.9);backdrop-filter:blur(16px)}.auth-brand__mark img{width:29px;height:29px}.auth-brand b{font-weight:700}.auth-story__content{margin:clamp(70px,9vh,104px) 0 0;max-width:480px;position:relative;z-index:4}.auth-story__badge{width:fit-content;display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(255,255,255,.075);box-shadow:inset 0 1px rgba(255,255,255,.08);color:rgba(255,255,255,.82);font-size:11px;font-weight:750;letter-spacing:.065em;text-transform:uppercase;backdrop-filter:blur(12px)}.auth-story__badge svg{width:14px;height:14px}.auth-story h2{max-width:450px;margin:22px 0 13px;font-family:var(--font-space),sans-serif;font-size:clamp(38px,3.75vw,54px);line-height:.98;font-weight:690;letter-spacing:-.057em;text-wrap:balance;text-shadow:0 8px 30px rgba(1,18,31,.24)}.auth-story__content>p{max-width:420px;margin:0;color:rgba(237,248,255,.67);font-size:15px;line-height:1.55;letter-spacing:-.005em}.auth-story__points{margin-top:40px;display:grid;gap:17px}.auth-story__points>span{display:flex;align-items:flex-start;gap:13px}.auth-story__points>span>svg{width:21px;height:21px;flex:0 0 21px;margin-top:2px;color:#aee1ff;stroke-width:1.8}.auth-story__points i{display:grid;gap:3px;font-style:normal}.auth-story__points b{font-size:14px;font-weight:700}.auth-story__points small{color:rgba(255,255,255,.61);font-size:13px;line-height:1.45}.auth-story__signals{position:absolute;left:clamp(28px,4vw,56px);right:clamp(28px,4vw,56px);bottom:58px;display:flex;align-items:center;gap:7px;z-index:5}.auth-story__signals>span{min-height:32px;padding:0 10px;border:1px solid rgba(255,255,255,.13);border-radius:11px;display:inline-flex;align-items:center;gap:6px;color:rgba(245,251,255,.74);background:rgba(7,29,45,.28);box-shadow:inset 0 1px rgba(255,255,255,.055),0 8px 28px rgba(0,17,28,.1);backdrop-filter:blur(14px);font-size:10px;font-weight:650;white-space:nowrap}.auth-story__signals i{width:6px;height:6px;border-radius:50%;background:#67e1b9;box-shadow:0 0 0 4px rgba(103,225,185,.11),0 0 12px rgba(103,225,185,.72)}.auth-story__signals i.is-teacher{background:#79d3ff;box-shadow:0 0 0 4px rgba(121,211,255,.11),0 0 12px rgba(121,211,255,.72)}.auth-story__signals i.is-student{background:#76dfbd;box-shadow:0 0 0 4px rgba(118,223,189,.11),0 0 12px rgba(118,223,189,.72)}.auth-story__signals i.is-parent{background:#ffcb8a;box-shadow:0 0 0 4px rgba(255,203,138,.11),0 0 12px rgba(255,203,138,.68)}.auth-story__signals b{color:#bdeaff;font-size:11px}.auth-story__signals svg{width:12px;height:12px;color:#7ee2c2}.auth-story__foot{position:absolute;left:clamp(28px,4vw,56px);bottom:27px;display:flex;align-items:center;gap:8px;margin:0;color:rgba(230,245,255,.43);font-size:10px;font-weight:550;letter-spacing:.025em;z-index:5}.auth-story__pulse{width:5px;height:5px;border-radius:50%;background:#82d7ff;box-shadow:0 0 10px rgba(130,215,255,.75)}.auth-story{color:#16344b;background:radial-gradient(circle at 12% 2%,rgba(255,255,255,.98),transparent 34%),radial-gradient(circle at 92% 13%,rgba(188,226,244,.48),transparent 35%),linear-gradient(150deg,#fbf9f5,#f1f7f9 54%,#e2f1f7);box-shadow:inset -1px 0 rgba(75,132,165,.12),24px 0 80px rgba(55,111,145,.07)}.auth-story:after,.auth-story:before{display:none}.auth-brand{color:#16344b}.auth-brand__mark{border-color:rgba(102,153,183,.22);background:rgba(255,255,255,.9);box-shadow:0 12px 34px rgba(59,113,146,.13),inset 0 1px #fff}.auth-story__badge{border-color:rgba(60,126,166,.17);color:#39789f;background:rgba(255,255,255,.7);box-shadow:inset 0 1px #fff,0 8px 24px rgba(69,130,165,.075)}.auth-story h2{color:#16344b;text-shadow:none}.auth-story__content>p{color:#60798b}.auth-story__signals>span{border-color:rgba(69,128,164,.15);color:#526f83;background:rgba(255,255,255,.82);box-shadow:inset 0 1px #fff,0 8px 24px rgba(58,113,145,.09)}.auth-story__foot{color:#718b9c}.auth-story__foot,.auth-story__signals{display:none}.auth-classroom{--scene-gap:clamp(40px,6vh,64px);--room-x:0px;--room-x-reverse:0px;--room-y:0px;--teacher-x:0px;--teacher-y:0px;--teacher-tilt:0deg;inset:clamp(390px,38vh,540px) 0 0;z-index:3;pointer-events:none;contain:layout paint style;container-name:auth-classroom-stage;container-type:size;isolation:isolate;background:transparent}.auth-classroom:before{content:"";position:absolute;inset:0;z-index:9;background:linear-gradient(180deg,rgba(244,249,250,.86),transparent 11%,transparent 89%,rgba(222,236,242,.08))}.auth-classroom__scene{width:100%;aspect-ratio:2/3;left:50%;top:calc(var(--scene-gap) - 55.5cqw);z-index:1;transform:translate3d(var(--room-x),var(--room-y),0) scale(1.01);transform-origin:50% 74%;transition:transform 1.05s cubic-bezier(.2,.72,.2,1);will-change:transform}.auth-classroom__art{position:absolute;inset:0;z-index:1;overflow:hidden}.auth-classroom__art img{object-fit:cover;filter:saturate(.92) contrast(1.015)}.auth-classroom__light{width:46%;aspect-ratio:1;position:absolute;right:-4%;top:5%;z-index:2;border-radius:50%;opacity:.56;background:radial-gradient(circle,rgba(255,255,255,.96),rgba(189,228,247,.24) 45%,transparent 70%);filter:blur(15px);transform:translate3d(var(--room-x-reverse),0,0);transition:transform 1.2s cubic-bezier(.2,.72,.2,1)}.auth-classroom__board{width:66.5%;height:27.5%;position:absolute;left:19.2%;top:37%;color:rgba(25,72,103,.58)}.auth-classroom__wordmark{position:absolute;left:50%;top:8%;transform:translateX(-50%);color:#153347;font-family:var(--font-space),sans-serif;font-size:clamp(16px,1.8vw,27px);font-weight:760;letter-spacing:-.045em;line-height:1;white-space:nowrap;text-shadow:0 1px rgba(255,255,255,.88),0 5px 13px rgba(45,104,142,.14)}.auth-classroom__wordmark b{color:transparent;background-image:radial-gradient(circle,rgba(255,166,216,.98) 0,rgba(224,107,190,.42) 22%,transparent 48%),linear-gradient(135deg,#78beef,#547be8 45%,#a67aeb);background-size:155% 175%,100% 100%;background-position:-45% 20%,0 0;background-repeat:no-repeat;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:.2px rgba(54,75,163,.5);font-weight:inherit;text-shadow:0 1px 1px rgba(47,66,145,.42),0 0 7px rgba(95,139,255,.2);filter:drop-shadow(0 2px 3px rgba(53,86,180,.2))}.auth-classroom__equation{position:absolute;color:rgba(35,91,126,.55);font-family:Georgia,Times New Roman,serif;font-size:clamp(10px,1.15vw,17px);font-style:italic;font-weight:600;letter-spacing:.035em;text-shadow:0 1px rgba(255,255,255,.72)}.auth-classroom__equation--one{top:35%;left:49%;font-size:clamp(11px,1.25vw,18px)}.auth-classroom__equation--two{top:68%;left:55%}.auth-classroom__equation--three{top:51%;left:9%;opacity:.68}.auth-classroom__graph{width:31%;height:auto;position:absolute;right:5%;bottom:2%;overflow:visible;opacity:.52}.auth-classroom__graph path{fill:none;stroke-linecap:round;stroke-linejoin:round}.auth-classroom__graph .is-axis{stroke:rgba(38,94,128,.38);stroke-width:1}.auth-classroom__graph .is-curve{stroke:#3b90c5;stroke-width:2}.auth-classroom__graph circle{fill:#7a70df;filter:drop-shadow(0 0 4px rgba(122,112,223,.38))}.auth-classroom__character{--character-anchor-x:0%;height:min(64%,690px);aspect-ratio:2/3;position:absolute;bottom:1.5%;z-index:5;opacity:0;filter:blur(3px) saturate(.82);transform:translate3d(calc(var(--character-anchor-x) + var(--teacher-x)),calc(var(--teacher-y) + 14px),0) rotate(var(--teacher-tilt)) scale(.92);transform-origin:48% 78%;transition:opacity .42s ease,filter .48s ease,transform .68s cubic-bezier(.16,1,.3,1);animation:auth-character-breathe 6.4s ease-in-out infinite;will-change:transform}.auth-classroom__character.is-active{opacity:1;filter:none;transform:translate3d(calc(var(--character-anchor-x) + var(--teacher-x)),var(--teacher-y),0) rotate(var(--teacher-tilt)) scale(1)}.auth-classroom__character:not(.is-active){animation-play-state:paused}.auth-classroom__character--teacher{left:5%}.auth-classroom__character--student{--character-anchor-x:-50%;height:min(57%,600px);left:50%;bottom:2%}.auth-classroom__character--parent{height:min(61%,650px);right:4%;bottom:1.5%}.auth-classroom__character img{object-fit:contain;filter:drop-shadow(0 18px 20px rgba(34,67,91,.17)) drop-shadow(0 2px 5px rgba(34,67,91,.12))}.auth-classroom__character:before{content:"";position:absolute;inset:7% 8% 3%;z-index:-1;border-radius:50%;opacity:.34;background:radial-gradient(ellipse at 52% 34%,rgba(255,255,255,.88),rgba(188,225,244,.3) 42%,transparent 70%);filter:blur(25px);animation:auth-character-aura 6.4s ease-in-out infinite}.auth-classroom__foreground{width:100%;aspect-ratio:1024/436;position:absolute;left:0;bottom:0;z-index:7;overflow:hidden;transform:translateY(48%)}.auth-classroom__foreground img{object-fit:cover;object-position:center bottom;filter:saturate(.94) contrast(1.015)}.auth-classroom__depth{position:absolute;z-index:4;border-radius:50%;pointer-events:none}.auth-classroom__depth--one{width:190px;height:28px;left:10%;bottom:1%;opacity:.24;background:rgba(53,99,126,.2);filter:blur(15px);transform:translateX(var(--room-x-reverse))}.auth-classroom__depth--two{width:9px;height:9px;right:9%;top:22%;background:#fff;box-shadow:0 0 10px 3px rgba(177,222,243,.72),0 0 34px 12px rgba(178,221,241,.3);animation:auth-classroom-glint 4.6s ease-in-out -1.4s infinite}.auth-classroom.is-offscreen *,.auth-classroom.is-paused *{animation-play-state:paused!important}@keyframes auth-classroom-glint{0%,to{opacity:.2;scale:.65}48%{opacity:.9;scale:1.1}}@keyframes auth-character-breathe{0%,to{translate:0 0;scale:1}50%{translate:0 -4px;scale:1.006}}@keyframes auth-character-aura{0%,to{opacity:.24;scale:.96}50%{opacity:.42;scale:1.035}}@media (max-width:980px) and (min-width:761px){.auth-classroom__foreground{transform:none}.auth-classroom__character--teacher{left:1%;height:68%}.auth-classroom__character--student{height:61%}.auth-classroom__character--parent{right:0;height:65%}}@media (min-width:761px) and (max-height:800px){.auth-classroom{inset:43% 0 0}.auth-classroom__character--teacher{height:min(66%,570px)}.auth-classroom__character--student{height:min(59%,520px)}.auth-classroom__character--parent{height:min(63%,550px)}}@media (min-width:761px) and (max-height:640px){.auth-classroom{inset:41% 0 0}}@container auth-classroom-stage (max-aspect-ratio: 2 / 3){.auth-classroom__scene{width:auto;height:159cqh;top:calc(var(--scene-gap) - 58.83cqh)}.auth-classroom__character--teacher{left:32%}.auth-classroom__character--parent{right:10%}}@container auth-classroom-stage (min-aspect-ratio: 4 / 3){.auth-classroom__character{bottom:calc(1.5% + 27cqw)}}@media (prefers-reduced-motion:reduce){.auth-classroom *{animation:none!important}.auth-classroom :is(.auth-classroom__scene,.auth-classroom__light,.auth-classroom__character){transition:none}}.auth-classroom{position:absolute;inset:clamp(350px,39vh,500px) 0 0;overflow:hidden;background:#f5f2ed}.auth-classroom:before{z-index:12;background:linear-gradient(180deg,rgba(247,250,250,.9),transparent 9%,transparent 92%,rgba(218,232,239,.12))}.auth-classroom__scene{width:auto;height:auto;aspect-ratio:auto;position:absolute;inset:0;translate:0;overflow:hidden;transform:none;background:#f5f2ed}.auth-classroom__wall{position:absolute;inset:0 0 28%;z-index:1;background:radial-gradient(ellipse at 18% 24%,rgba(255,255,255,.98),transparent 38%),radial-gradient(ellipse at 88% 18%,rgba(205,231,244,.62),transparent 37%),linear-gradient(145deg,#fbf8f3,#f7f5f0 48%,#eaf3f7)}.auth-classroom__wall:after{content:"";position:absolute;inset:0;opacity:.3;background:linear-gradient(110deg,transparent 0 16%,rgba(255,255,255,.74) 24%,transparent 36% 100%)}.auth-classroom__floor{position:absolute;inset:69% 0 0;z-index:1;overflow:hidden;border-top:1px solid rgba(116,150,169,.12);background:linear-gradient(164deg,rgba(255,255,255,.58),transparent 32%),repeating-linear-gradient(173deg,rgba(125,155,171,.055) 0 1px,transparent 1px 48px),linear-gradient(180deg,#eef1f1,#f8f4ef 58%,#e4edf0)}.auth-classroom__floor:after{content:"";width:54%;height:180%;position:absolute;left:4%;top:-52%;opacity:.65;filter:blur(13px);transform:skewX(-24deg);background:linear-gradient(90deg,rgba(255,255,255,.78),transparent 76%)}.auth-classroom__light{width:min(48cqw,520px);right:-6%;top:-10%;opacity:.7}.auth-classroom__board{width:auto;height:clamp(208px,52cqh,390px);left:clamp(28px,10cqw,132px);right:clamp(28px,10cqw,132px);top:clamp(18px,4.5cqh,46px);z-index:3;overflow:hidden;border:2px solid rgba(255,255,255,.82);border-radius:clamp(22px,3.2cqw,34px);background:radial-gradient(ellipse at 32% 10%,rgba(255,255,255,.55),transparent 38%),linear-gradient(135deg,rgba(218,233,240,.94),rgba(198,220,232,.9));box-shadow:0 18px 35px rgba(48,85,105,.15),inset 0 1px rgba(255,255,255,.96),inset 0 -12px 24px rgba(94,139,163,.08);transform:translate3d(var(--room-x),0,0);transition:transform 1.1s cubic-bezier(.2,.72,.2,1)}.auth-classroom__board:after,.auth-classroom__board:before{content:"";width:clamp(9px,1.2cqw,15px);aspect-ratio:1;position:absolute;top:clamp(9px,1.4cqw,15px);z-index:2;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 14%,#cfdae0 46%,#8da6b4 100%);box-shadow:0 3px 5px rgba(44,75,91,.28)}.auth-classroom__board:before{left:clamp(10px,1.5cqw,18px)}.auth-classroom__board:after{right:clamp(10px,1.5cqw,18px)}.auth-classroom__wordmark{top:9%;font-size:clamp(18px,2.7cqw,32px)}.auth-classroom__equation{font-size:clamp(10px,1.35cqw,17px)}.auth-classroom__equation--one{font-size:clamp(11px,1.55cqw,19px)}.auth-classroom__plant{width:clamp(92px,15cqw,170px);height:clamp(180px,41cqh,330px);position:absolute;left:-2.4cqw;bottom:18%;z-index:4;transform:translate3d(var(--room-x-reverse),0,0);transition:transform 1.15s cubic-bezier(.2,.72,.2,1)}.auth-classroom__plant i{width:58%;height:38%;position:absolute;left:18%;bottom:0;border-radius:12% 12% 26% 26%;background:linear-gradient(90deg,#e0e1dc,#fbfaf5 46%,#cbd5d5);box-shadow:0 14px 22px rgba(59,83,91,.16),inset -7px 0 15px rgba(104,132,139,.1)}.auth-classroom__leaf{width:42%;height:39%;position:absolute;left:38%;bottom:31%;border-radius:100% 0 100% 0;transform-origin:0 100%;background:linear-gradient(135deg,#9ebca9,#527c68 75%);box-shadow:inset 8px 7px 13px rgba(255,255,255,.18),0 7px 12px rgba(48,91,72,.12)}.auth-classroom__leaf--one{rotate:-72deg;scale:.9 1.08}.auth-classroom__leaf--two{rotate:-36deg;translate:-4% -8%;scale:.88 1.13}.auth-classroom__leaf--three{rotate:3deg;translate:2% -16%;scale:.82 1.12}.auth-classroom__leaf--four{rotate:38deg;translate:7% -7%;scale:.86 1.12}.auth-classroom__leaf--five{rotate:76deg;translate:10% 2%;scale:.78 1.02}.auth-classroom__globe{width:clamp(102px,18cqw,200px);height:auto;position:absolute;right:clamp(-5px,1.5cqw,22px);bottom:13%;z-index:4;overflow:visible;filter:drop-shadow(0 13px 16px rgba(42,70,89,.2));transform:translate3d(var(--room-x-reverse),0,0);transition:transform 1.18s cubic-bezier(.2,.72,.2,1)}.auth-classroom__character{height:min(91cqh,720px);bottom:-1%;z-index:6}.auth-classroom__character--teacher{left:clamp(5%,16cqw,21%)}.auth-classroom__character--student{height:min(82cqh,650px);bottom:-1%}.auth-classroom__character--parent{height:min(88cqh,690px);right:clamp(2%,9cqw,13%);bottom:-1%}.auth-classroom__table{height:clamp(122px,31cqh,250px);position:absolute;bottom:-7%;z-index:8;filter:drop-shadow(0 19px 19px rgba(52,76,88,.18));transition:transform 1.1s cubic-bezier(.2,.72,.2,1)}.auth-classroom__table--left{width:clamp(190px,36cqw,390px);left:-8%;transform:translate3d(var(--room-x),0,0)}.auth-classroom__table--right{width:clamp(220px,43cqw,470px);right:-9%;transform:translate3d(var(--room-x-reverse),0,0)}.auth-classroom__tabletop{width:100%;height:23%;position:absolute;top:14%;border:1px solid rgba(196,199,195,.74);border-radius:50%;background:linear-gradient(180deg,#fffdf8,#e7e4dd);box-shadow:inset 0 3px 5px rgba(255,255,255,.9),0 10px 15px rgba(63,79,86,.12)}.auth-classroom__tableleg{width:57%;height:75%;position:absolute;left:21.5%;top:25%;border-radius:8px 8px 24px 24px;background:linear-gradient(90deg,#203d5f,#3b6282 48%,#17334f)}.auth-classroom__table--right .auth-classroom__tableleg{width:52%;left:25%;background:linear-gradient(90deg,#8da8b8,#c5d5dc 47%,#708fa2)}.auth-classroom__book,.auth-classroom__solid{position:absolute;z-index:2}.auth-classroom__solid--sphere{width:19%;aspect-ratio:1;left:36%;top:-2%;border-radius:50%;background:radial-gradient(circle at 34% 25%,#f9ffff,#bcdce0 54%,#78a2ac);box-shadow:0 8px 14px rgba(56,93,102,.2)}.auth-classroom__solid--cube{width:15%;aspect-ratio:1;left:59%;top:2%;border-radius:3px;rotate:-4deg;background:linear-gradient(135deg,#9cc6e2,#4f8ebc);box-shadow:inset -7px -5px 10px rgba(31,77,111,.18),0 7px 11px rgba(43,74,96,.16)}.auth-classroom__solid--pyramid{width:0;height:0;left:36%;top:-2%;border-left:clamp(21px,4cqw,42px) solid transparent;border-right:clamp(21px,4cqw,42px) solid transparent;border-bottom:clamp(47px,8.5cqw,84px) solid #86afc8;filter:drop-shadow(0 8px 8px rgba(57,85,102,.19))}.auth-classroom__book{width:29%;height:8%;right:12%;border-radius:3px 7px 7px 3px;transform:rotate(2deg);box-shadow:inset 0 -4px rgba(69,87,100,.12),0 5px 7px rgba(69,79,82,.12)}.auth-classroom__book--one{top:5%;background:#e9e7e1}.auth-classroom__book--two{top:-1%;right:10%;background:#eebd8d}.auth-classroom__chair{width:clamp(96px,19cqw,210px);height:clamp(115px,28cqh,230px);position:absolute;bottom:-20%;z-index:9;border-radius:48% 48% 12px 12px;background:linear-gradient(135deg,#294d70,#122e4c);box-shadow:inset 10px 7px 17px rgba(255,255,255,.08),0 12px 23px rgba(33,55,68,.25)}.auth-classroom__chair--left{left:-11%;transform:rotate(6deg) translateX(var(--room-x))}.auth-classroom__chair--right{right:-11%;transform:rotate(-6deg) translateX(var(--room-x-reverse))}.auth-classroom__depth--one{left:29%}@media (max-width:980px) and (min-width:761px){.auth-classroom{inset-block-start:clamp(330px,43vh,430px)}}@media (min-width:761px) and (max-height:800px){.auth-classroom{inset-block-start:clamp(300px,43vh,355px)}.auth-classroom__board{top:14px;height:min(54cqh,260px)}}@media (min-width:761px) and (max-height:640px){.auth-classroom{inset-block-start:265px}}@container auth-classroom-stage (max-width: 420px){.auth-classroom__board{left:5%;right:5%;height:min(51cqh,245px)}.auth-classroom__wordmark{font-size:clamp(17px,6cqw,23px)}.auth-classroom__character--teacher{left:-1%;height:min(88cqh,440px)}.auth-classroom__character--student{height:min(76cqh,390px)}.auth-classroom__character--parent{right:-6%;height:min(84cqh,420px)}.auth-classroom__plant{left:-42px;opacity:.74}.auth-classroom__globe{right:-25px;bottom:17%}.auth-classroom__table--left{left:-25%;width:55%}.auth-classroom__table--right{right:-28%;width:64%}.auth-classroom__chair{width:31%}}@container auth-classroom-stage (min-aspect-ratio: 3 / 2){.auth-classroom__board{left:12%;right:12%}.auth-classroom__character--teacher{left:20%}.auth-classroom__character--parent{right:14%}.auth-classroom__table--left{width:31%}.auth-classroom__table--right{width:37%}}@media (prefers-reduced-motion:reduce){.auth-classroom :is(.auth-classroom__board,.auth-classroom__light,.auth-classroom__character,.auth-classroom__plant,.auth-classroom__globe,.auth-classroom__table){transition:none}}.auth-workspace{min-height:100dvh;min-width:0;padding:24px clamp(28px,4.6vw,70px) 52px;overflow-y:auto;scrollbar-gutter:stable;background:radial-gradient(circle at 85% 2%,rgba(152,215,248,.22),transparent 28%),radial-gradient(circle at 13% 96%,rgba(117,211,183,.09),transparent 26%),linear-gradient(158deg,rgba(255,255,255,.68),rgba(244,248,251,.9))}.auth-topbar{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:18px}.auth-back{min-height:36px;padding:0 12px;border:1px solid rgba(186,204,216,.7);border-radius:12px;display:inline-flex;align-items:center;gap:7px;color:#587186;background:rgba(255,255,255,.55);box-shadow:inset 0 1px rgba(255,255,255,.9);backdrop-filter:blur(12px);font-size:12px;font-weight:700;text-decoration:none;transition:color .16s,border-color .16s,background .16s}.auth-back:hover{color:var(--color-brand);border-color:#a9c9dd;background:rgba(255,255,255,.86)}.auth-back svg{width:16px;height:16px}.auth-language{min-height:36px;margin-left:auto;padding:0 10px;border:1px solid rgba(186,204,216,.7);border-radius:12px;display:inline-flex;align-items:center;gap:6px;color:#678095;background:rgba(255,255,255,.55);box-shadow:inset 0 1px rgba(255,255,255,.9);backdrop-filter:blur(12px)}.auth-language>svg{width:15px;height:15px}.auth-language select{max-width:135px;border:0;outline:0;background:transparent;color:#506b81;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.auth-card{width:min(100%,500px);margin:clamp(32px,6.8vh,76px) auto 0;padding:clamp(29px,3.25vw,40px);border:1px solid rgba(255,255,255,.88);border-radius:30px;background:rgba(255,255,255,.74);box-shadow:0 32px 80px rgba(39,75,101,.12),0 4px 18px rgba(39,75,101,.055),inset 0 1px rgba(255,255,255,.96);backdrop-filter:blur(24px) saturate(1.1)}.auth-card:not(.auth-card--wide){min-height:640px;display:flex;flex-direction:column}.auth-card:not(.auth-card--wide)>.auth-switch{margin-top:auto;padding-top:24px}.auth-card--wide{width:min(100%,680px);margin-top:clamp(18px,3vh,38px);padding:clamp(26px,2.8vw,36px)}.auth-card--funnel{width:min(100%,720px)}.auth-card__mobile-brand{display:none}.auth-eyebrow{width:fit-content;margin-bottom:10px;padding:6px 9px;border:1px solid #c9e3f3;border-radius:999px;color:#286e9f;background:#eef8fd;font-size:9px;line-height:1;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.auth-card h1{margin:0;color:#102d43;font-family:var(--font-space),sans-serif;font-size:clamp(31px,3vw,42px);line-height:1.04;font-weight:720;letter-spacing:-.047em;text-wrap:balance}.auth-description{margin:11px 0 0;max-width:520px;color:#708396;font-size:14px;line-height:1.52}.auth-form,.auth-step{display:grid;gap:16px;margin-top:28px}.auth-funnel-nav{min-height:30px;margin-bottom:9px;display:grid;grid-template-columns:1fr auto;align-items:center}.auth-funnel-nav>button{width:fit-content;padding:6px 9px 6px 5px;border:0;display:inline-flex;align-items:center;gap:6px;color:#5f778b;background:transparent;font:inherit;font-size:12px;font-weight:750;cursor:pointer}.auth-funnel-nav>button:hover{color:#236d9f}.auth-funnel-nav>button svg{width:15px;height:15px}.auth-funnel-nav>span:last-child{padding:6px 9px;border-radius:999px;color:#567188;background:#edf4f8;font-size:10px;line-height:1;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.auth-invite-context{margin-top:20px;padding:12px 14px;border:1px solid #c9e3f3;border-radius:15px;display:grid;grid-template-columns:34px 1fr;gap:11px;align-items:center;color:#315d7c;background:linear-gradient(145deg,#f4fbff,#eef6ff)}.auth-invite-context>svg{width:21px;height:21px;margin:auto;color:#2e83bc}.auth-invite-context>span{min-width:0;display:grid;gap:2px}.auth-invite-context b{color:#1c5479;font-size:12.5px}.auth-invite-context small{color:#6d8298;font-size:11.5px;line-height:1.4}.auth-role-list{display:grid;gap:10px}.auth-age-options>button:not(.auth-step-back),.auth-role-list>button{width:100%;min-height:78px;padding:13px 15px;border:1px solid #d5e1e9;border-radius:17px;display:grid;grid-template-columns:62px minmax(0,1fr) 20px;gap:13px;align-items:center;color:#385269;background:rgba(249,252,253,.84);box-shadow:inset 0 1px rgba(255,255,255,.95);font:inherit;text-align:left;cursor:pointer;transition:transform .16s,border-color .16s,background .16s,box-shadow .16s}.auth-age-options>button:not(.auth-step-back):hover,.auth-role-list>button:hover{border-color:#9fc5dc;background:#fff;transform:translateY(-1px)}.auth-role-list>button.is-selected{border-color:#75acd0;background:linear-gradient(145deg,#f4fbff,#eef7fc);box-shadow:0 0 0 3px rgba(72,148,197,.11),inset 0 1px rgba(255,255,255,.98)}.auth-role-list>button.is-selected>svg{color:#2e83bc}.auth-age-options>button:not(.auth-step-back):active,.auth-role-list>button:active{transform:translateY(0) scale(.995)}.auth-role-list__icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;color:#236f9f;background:linear-gradient(145deg,#e9f6fd,#dceefa)}.auth-role-list__icon.is-child{color:#7c5bb2;background:linear-gradient(145deg,#f3edff,#e9defa)}.auth-role-list__icon svg{width:23px;height:23px}.auth-role-list__image{width:62px;height:62px;border-radius:17px;overflow:hidden;display:block;background:#eaf5fb;box-shadow:inset 0 0 0 1px rgba(42,96,132,.06)}.auth-role-list__image img{width:100%;height:100%;display:block;object-fit:cover}.auth-age-options>button:not(.auth-step-back)>span:nth-child(2),.auth-role-list__copy{min-width:0;display:grid;gap:3px}.auth-age-options>button:not(.auth-step-back) b,.auth-role-list__copy b{color:#17364c;font-size:14px}.auth-age-options>button:not(.auth-step-back) small,.auth-role-list__copy small{color:#71879a;font-size:12px;line-height:1.35}.auth-age-options>button:not(.auth-step-back)>svg,.auth-role-list>button>svg{width:18px;height:18px;color:#93a9ba}.auth-role-loading{min-height:90px;display:grid;place-items:center}.auth-step-back{width:fit-content;margin:0 auto;padding:7px 10px;border:0;display:inline-flex;align-items:center;gap:7px;color:#708596;background:transparent;font:inherit;font-size:12.5px;font-weight:750;cursor:pointer}.auth-step-back svg{width:15px;height:15px}.auth-underage{justify-items:center;text-align:center}.auth-underage__visual{width:124px;height:124px;position:relative}.auth-underage__visual>img{width:124px;height:124px;border-radius:31px;display:block}.auth-underage__visual>span{width:38px;height:38px;position:absolute;right:-8px;bottom:-5px;border:4px solid #fff;border-radius:13px;display:grid;place-items:center;color:#7152a3;background:#ebe2fa;box-sizing:border-box}.auth-underage__visual svg{width:18px;height:18px}.auth-underage>p{max-width:470px;margin:0 0 4px;color:#647b8e;font-size:13px;line-height:1.6}.auth-underage>.auth-secondary,.auth-underage>.auth-submit{width:100%}.auth-underage>.auth-submit svg{width:18px;height:18px}.auth-form-role{padding:11px 13px;border:1px solid #d6e4ec;border-radius:17px;display:grid;grid-template-columns:62px 1fr;gap:13px;align-items:center;background:linear-gradient(145deg,rgba(247,252,254,.92),rgba(239,247,251,.82))}.auth-form-role>img{width:62px;height:62px;border-radius:17px;display:block}.auth-form-role>div{display:grid;gap:2px}.auth-form-role small{color:#7b8f9f;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em}.auth-form-role b{color:#17364c;font-size:15px}.auth-form-role span{color:#708698;font-size:11.5px}.auth-field{min-width:0;display:grid;gap:7px;color:#385269}.auth-field__label{font-size:12px;font-weight:750;letter-spacing:.01em}.auth-code input,.auth-field input{width:100%;height:52px;border:1px solid #d3e0e8;border-radius:14px;outline:none;background:rgba(250,252,253,.9);padding:0 15px;color:#132a3c;font:inherit;font-size:14px;box-shadow:inset 0 1px 2px rgba(21,52,73,.025),0 1px rgba(255,255,255,.9);transition:border-color .16s,box-shadow .16s,background .16s,transform .16s}.auth-code input:hover,.auth-field input:hover{border-color:#b9ccda;background:#fff}.auth-code input:focus,.auth-field input:focus{border-color:#62a9d6;background:#fff;box-shadow:0 0 0 4px rgba(49,139,207,.1),0 8px 24px rgba(39,111,166,.06);transform:translateY(-1px)}.auth-code.has-error input,.auth-field.has-error input,.auth-password.has-error input{border-color:#d7837b;box-shadow:0 0 0 3px rgba(196,70,58,.07)}.auth-code small,.auth-field__error{color:#bd4035;font-size:12px;line-height:1.3}.auth-field__hint{color:#7b8d9d;font-size:12px;line-height:1.3}.auth-password{min-width:0;position:relative}.auth-password .auth-field input{padding-right:48px}.auth-password__toggle{width:38px;height:38px;position:absolute;right:6px;top:29px;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:#7890a4;cursor:pointer}.auth-password__toggle:hover{background:#f0f5f8;color:#385f7c}.auth-password__toggle svg{width:18px;height:18px}.auth-grid{min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}.auth-form__utility{min-height:20px;display:flex;align-items:center;justify-content:space-between;margin-top:-5px;color:#708396;font-size:12px}.auth-form__utility a{color:#648096;text-decoration:none}.auth-form__utility a:hover,.auth-form__utility b{color:var(--color-brand)}.auth-form__utility b{font-weight:750}.auth-secondary,.auth-submit{min-height:50px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font:inherit;font-size:14px;font-weight:750;text-decoration:none;cursor:pointer;transition:transform .16s,box-shadow .16s,background .16s,border-color .16s}.auth-submit{border:1px solid rgba(27,92,137,.2);color:#fff;background:linear-gradient(135deg,#328ecb,#236d9f 58%,#194f76);box-shadow:0 12px 28px rgba(31,102,151,.25),inset 0 1px rgba(255,255,255,.2)}.auth-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 17px 34px rgba(31,102,151,.3),inset 0 1px rgba(255,255,255,.2)}.auth-submit:disabled{opacity:.52;cursor:not-allowed;box-shadow:none}.auth-submit__spinner{width:17px;height:17px;border-radius:50%;border:2px solid rgba(255,255,255,.42);border-top-color:#fff;animation:ts-spin .7s linear infinite}.auth-secondary{border:1px solid #d1dfe8;color:#315d7c;background:rgba(249,252,253,.8);box-shadow:inset 0 1px rgba(255,255,255,.9)}.auth-secondary:hover{border-color:#a9c8dc;background:#fff;transform:translateY(-1px)}.auth-secondary svg{width:18px;height:18px}.auth-secondary--spaced{width:100%;margin-top:19px}.auth-divider{height:15px;display:flex;align-items:center;color:#94a4b2;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.auth-divider:after,.auth-divider:before{content:"";height:1px;flex:1;background:#dfe8ee}.auth-divider span{padding:0 12px}.auth-switch{margin:24px 0 0;color:#718496;font-size:13px;text-align:center}.auth-switch a{color:var(--color-brand);font-weight:750;text-decoration:none}.auth-switch a:hover{text-decoration:underline;text-underline-offset:3px}.auth-notice{padding:12px 14px;border:1px solid #e5b8b3;border-radius:12px;display:grid;gap:3px;color:#9c332b;background:#fff4f2;font-size:12.5px;line-height:1.45;position:relative}.auth-notice--info{border-color:#bfd8e8;color:#325f7d;background:#eef8fd}.auth-notice--success{border-color:#b7dfc6;color:#24683d;background:#eef9f2}.auth-notice>b{font-weight:800}.auth-notice:has(>.auth-notice__dismiss){padding-right:38px}.auth-notice>.auth-notice__dismiss{width:26px;height:26px;border:0;background:transparent;position:absolute;right:6px;top:6px;color:currentColor;font-size:19px;cursor:pointer}.auth-notice__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.auth-notice__actions button{min-height:34px;padding:0 12px;border:1px solid #b8d2e3;border-radius:9px;background:#fff;color:#315d7c;font:inherit;font-size:12px;font-weight:750;cursor:pointer}.auth-notice__actions button.is-primary{border-color:#2d7db4;color:#fff;background:#2d7db4}.auth-role{min-width:0;margin:0;padding:0;border:0}.auth-role legend{margin-bottom:9px;color:#385269;font-size:12px;font-weight:750}.auth-role>div{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.auth-role button{min-width:0;min-height:66px;padding:8px 7px;border:1px solid #d5e1e9;border-radius:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:rgba(249,252,253,.82);color:#60788c;box-shadow:inset 0 1px rgba(255,255,255,.95);font:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:transform .16s,border-color .16s,color .16s,background .16s,box-shadow .16s}.auth-role button svg{width:20px;height:20px;stroke-width:1.8}.auth-role button:hover{border-color:#a8c8dc;color:#315f7f;background:#fff;transform:translateY(-1px)}.auth-role button.is-active{border-color:#5da5d3;color:#236a9b;background:linear-gradient(145deg,#f6fcff,#e9f6fd);box-shadow:0 0 0 3px rgba(49,139,207,.075),0 8px 19px rgba(39,111,166,.07)}.auth-strength{min-height:22px;display:flex;align-items:center;gap:11px;margin-bottom:-8px}.auth-strength__bars{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.auth-strength__bars i{height:4px;border-radius:99px;background:#dfe7ed;transition:background .2s}.auth-strength>span{min-width:90px;color:#7b8d9d;font-size:11px;font-weight:700;text-align:right}.auth-check{display:grid;grid-template-columns:20px 1fr;column-gap:9px;align-items:start;color:#62788b;font-size:12.5px;line-height:1.45;cursor:pointer}.auth-check input{width:17px;height:17px;margin:1px 0 0;accent-color:var(--color-brand);cursor:pointer}.auth-check a{color:var(--color-brand);font-weight:700;text-decoration:underline;text-underline-offset:2px}.auth-check small{grid-column:2;margin-top:3px;color:#bd4035;font-size:11px}.auth-code{display:grid;gap:9px;color:#385269}.auth-code>span{font-size:12px;font-weight:750}.auth-code input{height:62px;padding:0 18px;font-family:var(--font-space),ui-monospace,monospace;font-size:27px;font-weight:650;letter-spacing:.42em;text-align:center}.auth-code--login input{letter-spacing:.18em}.auth-resend{display:flex;align-items:center;justify-content:center;gap:8px;color:#76899a;font-size:12px}.auth-resend b{width:40px;color:#3d759c}.auth-resend button{border:0;padding:2px;background:transparent;color:var(--color-brand);font:inherit;font-weight:750;cursor:pointer}@media (max-width:980px){.auth-page{grid-template-columns:330px minmax(0,1fr)}.auth-story{padding:32px}.auth-story__content{margin-top:88px}.auth-story h2{font-size:39px}.auth-story__content>p{font-size:14px}.auth-story__points small{display:none}.auth-story__signals{left:18px;right:18px;gap:4px}.auth-story__signals>span{padding-inline:7px;font-size:8px}.auth-workspace{padding-inline:34px}}@media (min-width:761px) and (max-height:800px){.auth-story{padding-block:24px}.auth-story__content{margin-top:clamp(34px,5vh,48px)}.auth-story__badge{padding-block:6px}.auth-story h2{margin-top:16px;font-size:clamp(32px,3.35vw,43px)}.auth-story__content>p{max-width:390px;font-size:13px;line-height:1.4}.auth-card:not(.auth-card--wide){margin-top:24px}}@media (min-width:761px) and (max-height:640px){.auth-story__content{margin-top:28px}.auth-story h2{margin-block:13px 10px;font-size:clamp(29px,3vw,38px)}.auth-story__content>p{font-size:12px}.auth-story__foot,.auth-story__signals{display:none}}@media (max-width:760px){.auth-page{display:block;min-height:100dvh;overflow:visible}.auth-story{display:none}.auth-workspace{min-height:100dvh;padding:18px 16px 40px;overflow:visible}.auth-topbar{min-height:36px}.auth-card,.auth-card--wide{width:min(100%,520px);margin-top:25px;padding:28px;border-radius:26px}.auth-card:not(.auth-card--wide){min-height:0;display:block}.auth-card:not(.auth-card--wide)>.auth-switch{margin-top:24px;padding-top:0}.auth-card__mobile-brand{width:fit-content;display:flex;align-items:center;gap:9px;margin-bottom:28px;color:#244f6e;font-family:var(--font-space),sans-serif;font-size:18px;text-decoration:none}.auth-card__mobile-brand img{width:29px;height:29px}.auth-card h1{font-size:34px}.auth-funnel-nav{margin-bottom:12px}}@media (max-width:520px){.auth-workspace{padding-inline:11px}.auth-card,.auth-card--wide{margin-top:20px;padding:23px 20px 25px;border-radius:23px}.auth-form{margin-top:26px}.auth-grid{grid-template-columns:1fr;gap:17px}.auth-role>div{gap:7px}.auth-role button{min-height:60px}.auth-age-options>button:not(.auth-step-back),.auth-role-list>button{min-height:72px;padding:11px;grid-template-columns:54px minmax(0,1fr) 18px;gap:10px}.auth-role-list__icon{width:43px;height:43px;border-radius:13px}.auth-role-list__image{width:54px;height:54px;border-radius:15px}.auth-form-role{grid-template-columns:35px 1fr auto}.auth-code input{font-size:23px;letter-spacing:.31em}.auth-code--login input{letter-spacing:.12em}}.ts-app-shell{display:flex;min-height:100dvh;background:var(--color-bg-soft)}.ts-sidebar{width:240px;flex-shrink:0;background:var(--color-bg);border-right:1px solid var(--color-hairline-2);display:flex;flex-direction:column;padding:20px 14px;gap:4px;position:sticky;top:0;height:100dvh}.ts-sidebar__brand{font-weight:700;font-size:18px;color:var(--color-brand);padding:8px 12px 18px;letter-spacing:-.01em}.ts-navitem{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:var(--color-ink-2);font-size:15px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;cursor:pointer;border:none;background:transparent;width:100%;text-align:left}.ts-navitem:hover{background:var(--color-bg-soft);color:var(--color-ink)}.ts-navitem--active{background:var(--color-brand-tint);color:var(--color-brand-dark);font-weight:600}.ts-main{flex:1;min-width:0;padding:32px 40px;max-width:1100px}.ts-card{background:var(--color-bg);border:1px solid var(--color-hairline-2);border-radius:16px;padding:18px 20px}@media (max-width:768px){.ts-app-shell{flex-direction:column}.ts-sidebar{width:100%;height:auto;position:static;flex-direction:row;overflow-x:auto;padding:10px}.ts-sidebar__brand{display:none}.ts-main{padding:20px 16px}}.ts-pagehead{position:relative;margin-bottom:26px;padding:24px 26px;overflow:hidden;display:flex;align-items:center;gap:15px;flex-wrap:wrap;border:1px solid rgba(39,111,166,.12);border-radius:24px;background:linear-gradient(135deg,#fff,#f1f8fd 58%,#e8f4fb);box-shadow:0 10px 34px rgba(31,75,108,.07)}.ts-pagehead:after{content:"";position:absolute;width:180px;height:180px;right:-68px;top:-92px;border-radius:50%;background:rgba(65,156,217,.1);pointer-events:none}.ts-pagehead .ts-back{flex-basis:100%}.ts-pagehead__copy{min-width:0;position:relative;z-index:1}.ts-pagehead__icon{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;border-radius:15px;color:#fff;background:linear-gradient(145deg,#378bc2,#225f8d);box-shadow:0 8px 18px rgba(39,111,166,.24);position:relative;z-index:1}.ts-pagehead__icon svg{width:23px;height:23px;stroke-width:1.9}.ts-pagehead__action{margin-left:auto}.ts-pagehead__title{margin:0;font-family:var(--font-head);font-size:27px;line-height:1.12;font-weight:800;letter-spacing:-.025em}.ts-pagehead__sub{font-size:14px;color:var(--color-ink-3);margin-top:5px}.ts-list{display:flex;flex-direction:column;gap:10px}.ts-row{display:flex;align-items:center;gap:14px;background:var(--color-bg);border:1px solid var(--color-hairline-2);border-radius:17px;padding:15px 17px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}a.ts-row:hover{border-color:var(--color-brand-light);box-shadow:0 9px 26px rgba(31,75,108,.09);transform:translateY(-1px)}.ts-row__body{flex:1;min-width:0}.ts-row__title{font-weight:600;font-size:15px}.ts-row__sub{margin-top:2px}.ts-row__meta,.ts-row__sub{color:var(--color-ink-3);font-size:13px}.ts-row__meta{text-align:right;flex-shrink:0}@media (max-width:640px){.ts-pagehead{padding:18px;border-radius:19px}.ts-pagehead__icon{width:42px;height:42px;flex-basis:42px;border-radius:13px}.ts-pagehead__title{font-size:23px}.ts-pagehead__action{width:100%;margin-left:0}.ts-pagehead__action>*{width:100%;justify-content:center}.ts-row{align-items:stretch;flex-wrap:wrap;padding:12px}.ts-row__body{flex-basis:calc(100% - 54px)}.ts-row .mfield__input,.ts-row select.mfield__input{flex:1 1 140px;width:auto!important;min-height:42px;padding:8px 10px;border:1px solid var(--color-hairline-2);border-radius:10px}}.ts-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-weight:600;font-size:14px;background:var(--color-brand-tint);color:var(--color-brand-dark);object-fit:cover;overflow:hidden}.ts-avatar--sm{width:30px;height:30px;font-size:12px}.ts-pill{font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--color-bg-soft);color:var(--color-ink-3);text-transform:capitalize;white-space:nowrap}.ts-pill--brand{background:var(--color-brand-tint);color:var(--color-brand-dark)}:where(button,a,input,textarea,select):focus-visible{outline:3px solid rgba(39,111,166,.38);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.ts-pill--green{background:#e7f6ec;color:#1c7a3f}.ts-pill--amber{background:#fdf2e0;color:#9a6a10}.ts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.ts-stat{background:var(--color-bg);border:1px solid var(--color-hairline-2);border-radius:14px;padding:16px 18px}.ts-stat__label{font-size:12px;color:var(--color-ink-3);font-weight:600}.ts-stat__value{font-size:24px;font-weight:700;margin-top:6px;letter-spacing:-.01em}.ts-muted{color:var(--color-ink-4);font-size:14px}.ts-err{color:#c0392b;font-size:14px}.ts-section{margin-bottom:30px}form.ts-section,section.ts-section:has(>.mfield){padding:22px;border:1px solid var(--color-hairline-2);border-radius:20px;background:#fff;box-shadow:0 5px 22px rgba(20,30,50,.04)}.ts-section__title{font-family:var(--font-head);font-size:16px;font-weight:750;color:var(--color-ink-2);margin-bottom:13px;letter-spacing:-.01em}.ts-back{width:fit-content;font-size:13px;color:var(--color-brand);text-decoration:none;display:inline-flex;align-items:center;gap:6px;margin-bottom:2px;font-weight:650;position:relative;z-index:1}.ts-back svg{width:15px;height:15px}.ts-back:hover{text-decoration:underline}:root{--font-head:var(--font-montserrat),-apple-system,"SF Pro Display",sans-serif}.ts-main{background:transparent}.home-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.home-hero__eyebrow{font-size:13px;color:var(--color-ink-3);font-weight:500}.home-hero__title{font-family:var(--font-head);font-size:32px;font-weight:800;letter-spacing:-.02em;line-height:1.1;margin-top:4px}.home-hero__right{display:flex;align-items:center;gap:12px}.home-hero__avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-weight:700;background:var(--color-brand);color:#fff;font-size:16px;box-shadow:0 6px 18px rgba(39,111,166,.35);object-fit:cover;overflow:hidden}.home-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.tile{background:var(--color-bg);border-radius:20px;padding:18px;border:1px solid var(--color-hairline-2);box-shadow:0 2px 10px rgba(20,30,50,.03);display:flex;flex-direction:column;gap:12px}.tile__ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:19px}.tile__value{font-family:var(--font-head);font-size:28px;font-weight:700;letter-spacing:-.01em;line-height:1}.tile__label{font-size:13px;color:var(--color-ink-3);font-weight:500}.home-cols{display:grid;grid-template-columns:1.7fr 1fr;gap:20px;align-items:start}.panel{background:var(--color-bg);border:1px solid var(--color-hairline-2);border-radius:22px;box-shadow:0 4px 24px rgba(20,30,50,.04);overflow:hidden}.panel__head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 12px}.panel__title{font-family:var(--font-head);font-size:17px;font-weight:700;letter-spacing:-.01em}.daynav{display:flex;align-items:center;gap:6px}.daynav button{width:32px;height:32px;border-radius:10px;border:1px solid var(--color-hairline-2);background:var(--color-bg);cursor:pointer;color:var(--color-ink-2);font-size:15px;display:grid;place-items:center}.daynav button:hover{background:var(--color-bg-soft)}.daynav .today{width:auto;padding:0 14px;font-size:13px;font-weight:600}.weekstrip{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;padding:4px 20px 16px}.wday{border:1px solid var(--color-hairline-2);background:var(--color-bg);border-radius:16px;padding:10px 4px 8px;text-align:center;cursor:pointer;transition:all .15s}.wday:hover{border-color:var(--color-brand-light)}.wday__dow{font-size:11px;color:var(--color-ink-4);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.wday__num{font-family:var(--font-head);font-size:20px;font-weight:700;margin-top:3px}.wday__dots{display:flex;gap:4px;justify-content:center;height:6px;margin-top:6px}.wday__dot{width:5px;height:5px;border-radius:50%}.wday--active{background:var(--color-brand-darker);border-color:var(--color-brand-darker);box-shadow:0 8px 20px rgba(26,64,96,.28)}.wday--active .wday__dow{color:rgba(255,255,255,.7)}.wday--active .wday__num{color:#fff}.wday--today:not(.wday--active) .wday__num{color:var(--color-brand)}.timeline{padding:8px 20px 22px;display:grid;grid-template-columns:52px 1fr}.timeline,.tl-rail{position:relative}.tl-hourlabel{position:absolute;left:0;transform:translateY(-8px);font-size:11px;color:var(--color-ink-4);font-weight:500}.tl-lane{position:relative;border-left:1px solid var(--color-hairline-2)}.tl-line{border-top:1px dashed var(--color-hairline-2)}.tl-line,.tl-now{position:absolute;left:0;right:0}.tl-now{height:2px;z-index:5}.tl-now,.tl-now:before{background:var(--color-error)}.tl-now:before{content:"";position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%}.lesson{position:absolute;left:10px;right:12px;border-radius:14px;padding:9px 12px;overflow:hidden;cursor:default;box-shadow:0 4px 12px rgba(20,30,50,.06);border:1px solid rgba(0,0,0,.04)}.lesson__t{font-weight:700;font-size:13.5px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson__time{font-weight:600;opacity:.8}.lesson__sub,.lesson__time{font-size:11.5px;margin-top:1px}.lesson__sub{opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson__ava{display:flex;margin-top:6px}.lesson__ava .ts-avatar{width:22px;height:22px;font-size:10px;margin-left:-6px;border:2px solid rgba(255,255,255,.7)}.lesson__ava .ts-avatar:first-child{margin-left:0}.timeline-empty{grid-column:1/-1;padding:40px 0;text-align:center;color:var(--color-ink-4);font-size:14px}.hwlist{padding:6px 16px 18px;display:flex;flex-direction:column;gap:10px}.hw{border-radius:16px;padding:13px 15px;border:1px solid rgba(0,0,0,.04)}.hw__t{font-weight:700;font-size:14px}.hw__meta{font-size:12px;margin-top:3px;opacity:.8}.hw__foot{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.nextcard{margin:6px 16px 0;border-radius:18px;padding:16px;color:#fff;background:linear-gradient(135deg,var(--color-brand-mid),var(--color-brand-dark));box-shadow:0 10px 28px rgba(39,111,166,.3)}.nextcard__k{font-size:12px;opacity:.85;font-weight:600}.nextcard__t{font-family:var(--font-head);font-size:18px;font-weight:700;margin-top:4px}.nextcard__time{font-size:13px;opacity:.9;margin-top:2px}@media (max-width:1000px){.home-cols{grid-template-columns:1fr}.home-stats{grid-template-columns:repeat(2,1fr)}.home-hero__title{font-size:26px}}