@keyframes fade{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.fi-app{font-family:var(--body);background:var(--paper);color:var(--ink);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}.fi-app h1,.fi-app h2,.fi-app h3{font-family:var(--disp);line-height:1.1;letter-spacing:-.02em}.fi-app .mono{font-family:var(--mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase}.fi-app .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--body);font-weight:600;font-size:15px;padding:13px 24px;border:1.5px solid var(--ink);cursor:pointer;background:var(--white);color:var(--ink);text-decoration:none;transition:transform .18s var(--ease),box-shadow .18s var(--ease)}.fi-app .btn:hover{transform:translate(-3px,-3px);box-shadow:4px 4px 0 var(--ink)}.fi-app .btn:active,.fi-app .btn:disabled{transform:none;box-shadow:none}.fi-app .btn:disabled{opacity:.55;cursor:not-allowed}.fi-app .btn-ink{background:var(--ink);color:var(--grass)}.fi-app .btn-grass{background:var(--grass);color:var(--white);border-color:var(--ink)}.fi-app .btn-sm{padding:8px 16px;font-size:13.5px}.fi-app .fade{animation:fade .5s var(--ease)}.fi-app .logo{font-family:Fraunces,Georgia,serif;font-weight:800;font-size:20px;text-decoration:none;color:var(--ink);display:inline-flex;align-items:center;gap:10px;--seam:var(--paper)}.fi-app .logo em{font-style:normal;color:var(--grass);margin-left:2px}.fi-app .logo .mark{height:32px;width:32px;color:var(--grass);flex:none}.fi-app .field{margin-bottom:18px}.fi-app .field label{display:block;font-weight:600;font-size:13.5px;margin-bottom:7px}.fi-app .field input{width:100%;border:1.5px solid var(--ink);padding:13px 16px;font-family:var(--body);font-size:15px;background:var(--white);outline:none;transition:box-shadow .15s}.fi-app .field input:focus{box-shadow:3px 3px 0 var(--grass)}.fi-app .form-msg{font-size:13.5px;font-weight:600;margin:4px 0 14px;min-height:18px}.fi-app .form-msg.err{color:var(--coral)}.fi-app .form-msg.ok{color:var(--grass)}.fi-app .login-screen{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.fi-app .login-left{display:flex;flex-direction:column;justify-content:center;padding:64px;max-width:560px;margin:0 auto;width:100%}.fi-app .login-left h1{font-size:clamp(1.9rem,3vw,2.6rem);margin:26px 0 8px}.fi-app .login-left>p{color:var(--ink60);margin-bottom:32px}.fi-app .login-row{display:flex;justify-content:space-between;align-items:center;margin:6px 0 22px;font-size:13.5px}.fi-app .login-row a{color:var(--grass);font-weight:600;text-decoration:none}.fi-app .login-right{background:repeating-linear-gradient(0deg,#17B558 0 12.5%,#12A04F 12.5% 25%);border-left:1.5px solid var(--ink);position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:56px}.fi-app .login-right:before{inset:24px}.fi-app .login-right:after,.fi-app .login-right:before{content:"";position:absolute;border:1.5px solid rgba(255,255,255,.5)}.fi-app .login-right:after{top:50%;left:50%;width:220px;height:220px;border-radius:50%;transform:translate(-50%,-50%)}.fi-app .login-quote{position:relative;z-index:1;background:var(--ink);color:var(--paper);padding:28px 30px;max-width:400px}.fi-app .login-quote p{font-family:var(--disp);font-weight:700;font-size:20px;line-height:1.35}.fi-app .login-quote span{display:block;margin-top:12px;color:var(--grass)}.fi-app .profiles-screen{display:flex;align-items:center;justify-content:center;text-align:center;min-height:100vh;padding:24px}.fi-app .prof-in h1{font-size:clamp(1.8rem,3vw,2.4rem);margin:22px 0 34px}.fi-app .prof-grid{display:flex;gap:22px;justify-content:center;flex-wrap:wrap}.fi-app .prof{width:150px;cursor:pointer;background:none;border:none;font-family:var(--body)}.fi-app .prof .face{width:150px;height:150px;border:1.5px solid var(--ink);display:grid;place-items:center;font-family:var(--disp);font-weight:800;font-size:52px;transition:transform .2s var(--ease),box-shadow .2s var(--ease);position:relative}.fi-app .prof:hover .face{transform:translate(-4px,-4px);box-shadow:6px 6px 0 var(--ink)}.fi-app .prof .face.parent{background:var(--sky)}.fi-app .prof .face.kid1{background:var(--pitch);color:var(--grass)}.fi-app .prof .face.kid2{background:var(--sun);color:#B07B10}.fi-app .prof .role{position:absolute;bottom:-1.5px;left:-1.5px;right:-1.5px;background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;padding:4px 0;text-transform:uppercase}.fi-app .prof b{display:block;margin-top:12px;font-size:15px}.fi-app .prof span.age{font-size:12.5px;color:var(--ink60)}.fi-app .shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.fi-app aside{border-right:1.5px solid var(--ink);background:var(--white);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.fi-app .side-logo{padding:20px 22px;border-bottom:1.5px solid var(--ink);display:flex;justify-content:space-between;align-items:center;gap:10px}.fi-app .side-nav{padding:16px 0;flex:1}.fi-app .side-nav a,.fi-app .side-nav button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;font-family:var(--body);font-weight:600;font-size:14.5px;color:var(--ink60);padding:12px 22px;cursor:pointer;border:none;border-left:3px solid transparent;transition:all .15s;text-decoration:none}.fi-app .side-nav a:hover,.fi-app .side-nav button:hover{background:var(--pitch);color:var(--ink)}.fi-app .side-nav a.on,.fi-app .side-nav button.on{color:var(--ink);border-left-color:var(--grass);background:var(--pitch)}.fi-app .side-nav .badge{margin-left:auto;background:var(--coral);color:#fff;font-family:var(--mono);font-size:10px;padding:2px 7px}.fi-app .side-sec{padding:14px 22px 6px;color:var(--ink60)}.fi-app .side-foot{border-top:1.5px solid var(--ink);padding:16px 22px;display:flex;align-items:center;gap:11px}.fi-app .side-foot .avatar{width:36px;height:36px;border:1.5px solid var(--ink);background:var(--sky);display:grid;place-items:center;font-family:var(--disp);font-weight:800;font-size:15px;flex:none}.fi-app .side-foot b{font-size:13.5px;display:block;line-height:1.2}.fi-app .side-foot span{font-size:11.5px;color:var(--ink60)}.fi-app .mob-actions{display:none;gap:8px}.fi-app .mob-actions a,.fi-app .mob-actions button{width:38px;height:38px;border:1.5px solid var(--ink);background:var(--white);display:grid;place-items:center;font-size:15px;cursor:pointer;text-decoration:none;color:var(--ink)}.fi-app .mob-actions a:active,.fi-app .mob-actions button:active{background:var(--pitch)}.fi-app .bottomnav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--white);border-top:1.5px solid var(--ink);z-index:60;padding-bottom:env(safe-area-inset-bottom,0);grid-template-columns:repeat(5,1fr)}.fi-app .bottomnav a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 0 8px;background:none;border:none;font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink60);cursor:pointer;position:relative;text-decoration:none;min-height:44px;justify-content:center}.fi-app .bottomnav a .ic{font-size:19px;line-height:1}.fi-app .bottomnav a.on{color:var(--ink)}.fi-app .bottomnav a.on:before{content:"";position:absolute;top:-1.5px;left:22%;right:22%;height:3px;background:var(--grass)}.fi-app .bottomnav .bdot{position:absolute;top:6px;right:calc(50% - 16px);width:8px;height:8px;border-radius:50%;background:var(--coral);border:1.5px solid var(--white)}.fi-app main{padding:36px 44px 64px;max-width:1080px}.fi-app .topline{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:30px;flex-wrap:wrap}.fi-app .topline h1{font-size:clamp(1.7rem,2.6vw,2.3rem);margin-top:6px}.fi-app .card{background:var(--white);border:1.5px solid var(--ink);padding:26px}.fi-app .grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.fi-app .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.fi-app .hover-lift{transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.fi-app .hover-lift:hover{transform:translate(-3px,-3px);box-shadow:5px 5px 0 var(--ink)}.fi-app .next-lesson{display:grid;grid-template-columns:200px 1fr;border:1.5px solid var(--ink);background:var(--white);overflow:hidden}.fi-app .next-thumb{background:linear-gradient(140deg,#17B558,#0C7A38);display:grid;place-items:center;border-right:1.5px solid var(--ink);min-height:150px;position:relative}.fi-app .play{width:44px;height:44px;background:var(--paper);border:1.5px solid var(--ink);display:grid;place-items:center;transition:transform .2s var(--ease)}.fi-app .play:after{content:"";border-style:solid;border-width:7px 0 7px 12px;border-color:transparent transparent transparent var(--ink);margin-left:3px}.fi-app .next-lesson:hover .play{transform:scale(1.12) rotate(90deg)}.fi-app .next-body{padding:22px 26px;display:flex;flex-direction:column;gap:8px}.fi-app .next-body h3{font-size:20px}.fi-app .next-body p{font-size:14px;color:var(--ink60)}.fi-app .next-meta{display:flex;gap:14px;align-items:center;margin-top:auto;padding-top:10px}.fi-app .stat-row{display:grid;grid-template-columns:repeat(4,1fr);border:1.5px solid var(--ink);background:var(--white);margin:20px 0}.fi-app .stat-row .s{padding:18px 20px;border-right:1.5px solid var(--ink)}.fi-app .stat-row .s:last-child{border-right:none}.fi-app .stat-row b{font-family:var(--disp);font-weight:800;font-size:30px;display:block;line-height:1.1}.fi-app .stat-row b i{font-style:normal;color:var(--grass)}.fi-app .stat-row span{font-size:11px;color:var(--ink60);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase}.fi-app .ring-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:20px}.fi-app .ringcard{background:var(--white);border:1.5px solid var(--ink);padding:20px;text-align:center}.fi-app .ring{width:86px;height:86px;border-radius:50%;margin:0 auto 12px;display:grid;place-items:center;position:relative}.fi-app .ring svg{position:absolute;inset:0;transform:rotate(-90deg)}.fi-app .ring circle{fill:none;stroke-width:8}.fi-app .ring .track{stroke:var(--pitch)}.fi-app .ring .bar{stroke:var(--grass);stroke-linecap:butt;stroke-dasharray:239;transition:stroke-dashoffset 1.2s var(--ease)}.fi-app .ring b{font-family:var(--disp);font-size:19px}.fi-app .ringcard h4{font-size:13.5px;font-weight:600}.fi-app .ringcard .mono{color:var(--ink60);font-size:9.5px}.fi-app .kid-tabs{display:inline-flex;border:1.5px solid var(--ink);background:var(--white)}.fi-app .kid-tabs button{border:none;background:none;font-family:var(--body);font-weight:600;font-size:14px;padding:10px 20px;cursor:pointer;color:var(--ink60)}.fi-app .kid-tabs button.on{background:var(--grass);color:#fff}.fi-app .bars{display:flex;align-items:flex-end;gap:10px;height:110px;margin-top:16px}.fi-app .bars .b{flex:1;background:var(--pitch);border:1.5px solid var(--ink);position:relative;transition:height 1s var(--ease)}.fi-app .bars .b.hi{background:var(--grass)}.fi-app .bars .b span{position:absolute;bottom:-24px;left:0;right:0;text-align:center;font-family:var(--mono);font-size:9.5px;color:var(--ink60)}.fi-app .reflect{border-top:1.5px dashed var(--ink10);padding:14px 0;font-size:14px}.fi-app .reflect:first-of-type{border-top:none}.fi-app .reflect b{font-size:13.5px}.fi-app .reflect .score{float:right;font-family:var(--mono);font-size:11px;color:var(--grass)}.fi-app .reflect p{color:var(--ink60);font-size:13.5px;margin-top:3px}.fi-app .plan-chip{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:var(--grass);font-family:var(--mono);font-size:11px;letter-spacing:.12em;padding:7px 13px;text-transform:uppercase}.fi-app .filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}.fi-app .chip{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:8px 15px;border:1.5px solid var(--ink);background:var(--white);cursor:pointer;color:var(--ink60);transition:all .15s}.fi-app .chip:hover{background:var(--pitch);color:var(--ink)}.fi-app .chip.on{background:var(--ink);color:var(--grass)}.fi-app .lib-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.fi-app .lib-card{background:var(--white);border:1.5px solid var(--ink);overflow:hidden;cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s var(--ease);position:relative}.fi-app .lib-card:hover{transform:translate(-3px,-3px);box-shadow:5px 5px 0 var(--ink)}.fi-app .lib-thumb{aspect-ratio:16/9;position:relative;display:grid;place-items:center;border-bottom:1.5px solid var(--ink)}.fi-app .lib-thumb .dur{bottom:8px;right:8px;font-size:10.5px;background:var(--ink);padding:2px 8px}.fi-app .lib-thumb .done,.fi-app .lib-thumb .dur{position:absolute;font-family:var(--mono);color:#fff}.fi-app .lib-thumb .done{top:8px;left:8px;background:var(--grass);font-size:9.5px;letter-spacing:.1em;padding:4px 9px}.fi-app .lib-body{padding:16px 18px 18px}.fi-app .lib-body h4{font-size:15.5px;line-height:1.3;margin-bottom:5px}.fi-app .lib-body p{font-size:13px;color:var(--ink60)}.fi-app .lib-card .bar{position:absolute;bottom:0;left:0;height:4px;background:var(--grass)}.fi-app .lib-card.locked .lib-thumb:after{content:"🔒 ELITE";position:absolute;inset:0;background:rgba(14,36,24,.72);color:#fff;display:grid;place-items:center;font-family:var(--mono);font-size:12px;letter-spacing:.14em}.fi-app .lib-card.locked:hover{box-shadow:5px 5px 0 var(--coral)}.fi-app .cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:16px}.fi-app .cal .d{aspect-ratio:1;border:1.5px solid var(--ink10);display:grid;place-items:center;font-family:var(--mono);font-size:10px;color:var(--ink60)}.fi-app .cal .d.t{background:var(--pitch);border-color:var(--ink)}.fi-app .cal .d.f{background:var(--grass);border-color:var(--ink);color:#fff}.fi-app .cal .d.today{outline:2px solid var(--coral);outline-offset:1px}.fi-app .cal-key{display:flex;gap:16px;margin-top:14px;font-size:11.5px;color:var(--ink60)}.fi-app .cal-key i{display:inline-block;width:11px;height:11px;border:1.5px solid var(--ink);margin-right:5px;vertical-align:-1px}.fi-app .milestone{display:flex;gap:14px;align-items:center;border-top:1.5px dashed var(--ink10);padding:13px 0}.fi-app .milestone:first-of-type{border-top:none}.fi-app .milestone .ico{width:38px;height:38px;border:1.5px solid var(--ink);display:grid;place-items:center;background:var(--sun);flex:none;font-size:16px}.fi-app .milestone b{font-size:14px;display:block}.fi-app .milestone span{font-size:12.5px;color:var(--ink60)}.fi-app .feed{border:1.5px solid var(--ink);background:var(--white)}.fi-app .feed-item{display:grid;grid-template-columns:120px 1fr auto;gap:20px;padding:22px 26px;border-bottom:1.5px solid var(--ink10);align-items:center;transition:background .15s}.fi-app .feed-item:hover{background:var(--pitch)}.fi-app .feed-item:last-child{border-bottom:none}.fi-app .feed-date{font-family:var(--mono);font-size:11px;color:var(--ink60);letter-spacing:.08em}.fi-app .feed-item h4{font-size:16px;margin-bottom:3px}.fi-app .feed-item p{font-size:13.5px;color:var(--ink60)}.fi-app .pill{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border:1.2px solid var(--ink);white-space:nowrap}.fi-app .pill.lesson{background:var(--pitch)}.fi-app .pill.live{background:var(--coral);color:#fff;border-color:var(--ink)}.fi-app .pill.platform{background:var(--sky)}.fi-app .pill.parent{background:var(--sun)}.fi-app .player-grid{display:grid;grid-template-columns:1.65fr .95fr;gap:20px;align-items:start}.fi-app .stage{background:linear-gradient(140deg,#0E2418,#1E4A32);aspect-ratio:16/9;position:relative;place-items:center;cursor:pointer;overflow:hidden}.fi-app .stage,.fi-app .stage .bigplay{border:1.5px solid var(--ink);display:grid}.fi-app .stage .bigplay{width:64px;height:64px;background:var(--paper);place-items:center;transition:transform .2s var(--ease)}.fi-app .stage .bigplay:after{content:"";border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent var(--ink);margin-left:4px}.fi-app .stage:hover .bigplay{transform:scale(1.1)}.fi-app .stage .stamp{top:12px;background:rgba(14,36,24,.85);color:var(--paper);letter-spacing:.1em}.fi-app .stage .resume,.fi-app .stage .stamp{position:absolute;left:12px;font-family:var(--mono);font-size:10px;padding:5px 10px}.fi-app .stage .resume{bottom:26px;background:var(--grass);color:#fff;letter-spacing:.08em}.fi-app .seek{position:absolute;bottom:0;left:0;right:0;height:14px;background:rgba(255,255,255,.18)}.fi-app .seek .played{position:absolute;top:0;bottom:0;left:0;width:26%;background:var(--grass)}.fi-app .seek .tick{position:absolute;top:0;bottom:0;width:2px;background:rgba(255,255,255,.7)}.fi-app .lesson-meta{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 10px}.fi-app .chap{display:flex;gap:12px;align-items:center;padding:11px 0;border-top:1.5px dashed var(--ink10);cursor:pointer;transition:padding-left .15s}.fi-app .chap:hover{padding-left:6px}.fi-app .chap:first-of-type{border-top:none}.fi-app .chap .tc{font-family:var(--mono);font-size:11px;color:var(--grass);flex:none;width:44px}.fi-app .chap b{font-size:13.5px;font-weight:600}.fi-app .chap.done b{color:var(--ink60);text-decoration:line-through}.fi-app .chap .st{margin-left:auto;font-size:11px;font-family:var(--mono);color:var(--ink60)}.fi-app .qopt{display:block;width:100%;text-align:left;border:1.5px solid var(--ink);background:var(--white);padding:12px 15px;font-family:var(--body);font-size:14px;font-weight:500;cursor:pointer;margin-top:9px;transition:all .15s}.fi-app .qopt:hover{background:var(--pitch)}.fi-app .qopt.right{background:var(--grass);color:#fff}.fi-app .qopt.wrong{background:var(--coral);color:#fff}.fi-app .resource-row{display:flex;align-items:center;gap:12px;border:1.5px solid var(--ink);background:var(--white);padding:12px 16px;margin-top:10px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .15s var(--ease),box-shadow .15s var(--ease)}.fi-app .resource-row:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}.fi-app .resource-row .mono{color:var(--ink60);margin-left:auto}.fi-app .drop{border:2px dashed var(--ink);background:var(--white);padding:36px 24px;text-align:center;cursor:pointer;transition:background .15s}.fi-app .drop:hover{background:var(--pitch)}.fi-app .drop .big{font-size:34px;display:block;margin-bottom:8px}.fi-app .drop b{font-size:15px}.fi-app .drop p{font-size:12.5px;color:var(--ink60);margin-top:4px}.fi-app .pipe{display:flex;gap:8px;justify-content:center;margin-top:16px;flex-wrap:wrap}.fi-app .pipe .pill.ok{background:var(--grass);color:#fff}.fi-app .pipe .pill.wait{background:var(--sun)}.fi-app .adm-input,.fi-app .sel{width:100%;border:1.5px solid var(--ink);background:var(--white);font-family:var(--body);font-size:14px;padding:11px 13px;outline:none}.fi-app .adm-label{display:block;font-weight:600;font-size:12.5px;margin:14px 0 6px}.fi-app .chiprow{display:flex;gap:8px;flex-wrap:wrap}.fi-app .mchip{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;padding:7px 12px;border:1.5px solid var(--ink);background:var(--white);cursor:pointer;text-transform:uppercase;color:var(--ink60)}.fi-app .mchip.on{background:var(--ink);color:var(--grass)}.fi-app .adm-row{display:grid;grid-template-columns:1fr auto auto auto;gap:12px;align-items:center;padding:13px 0;border-top:1.5px dashed var(--ink10);font-size:13.5px}.fi-app .adm-row:first-of-type{border-top:none}.fi-app .adm-row b{font-weight:600}.fi-app .adm-row .mono{color:var(--ink60)}.fi-app .prereq{display:flex;align-items:center;gap:9px;font-size:13.5px;padding:8px 0;border-top:1.5px dashed var(--ink10)}.fi-app .prereq:first-of-type{border-top:none}.fi-app .overlay{position:fixed;inset:0;background:rgba(14,36,24,.6);display:none;align-items:center;justify-content:center;z-index:100;padding:18px}.fi-app .overlay.on{display:flex}.fi-app .wizard{background:var(--paper);border:1.5px solid var(--ink);width:100%;max-width:540px;box-shadow:10px 10px 0 var(--ink);max-height:92vh;overflow-y:auto;animation:fade .35s var(--ease)}.fi-app .whead{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1.5px solid var(--ink);background:var(--white);position:sticky;top:0;z-index:2}.fi-app .whead h3{font-size:17px}.fi-app .wdots{display:flex;gap:6px}.fi-app .wdots i{width:9px;height:9px;border:1.5px solid var(--ink);background:var(--white);transition:background .2s}.fi-app .wdots i.on{background:var(--grass)}.fi-app .wclose{background:none;border:none;font-size:22px;cursor:pointer;color:var(--ink60);line-height:1}.fi-app .wbody{padding:26px 24px}.fi-app .wstep{display:none}.fi-app .wstep.on{display:block;animation:fade .3s var(--ease)}.fi-app .wq{font-family:var(--disp);font-weight:700;font-size:21px;margin-bottom:4px}.fi-app .wsub{font-size:13.5px;color:var(--ink60);margin-bottom:20px}.fi-app .opts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fi-app .opt{border:1.5px solid var(--ink);background:var(--white);padding:16px;font-family:var(--body);font-weight:600;font-size:14.5px;cursor:pointer;text-align:left;transition:all .15s;display:flex;align-items:center;gap:10px;min-height:56px}.fi-app .opt:hover{background:var(--pitch)}.fi-app .opt.on{background:var(--grass);color:#fff}.fi-app .conf-scale{display:grid;grid-template-columns:repeat(10,1fr);gap:7px;margin:8px 0 4px}.fi-app .conf-scale button{aspect-ratio:1;border:1.5px solid var(--ink);background:var(--white);font-family:var(--disp);font-weight:700;font-size:15px;cursor:pointer;transition:all .12s;min-width:0}.fi-app .conf-scale button:hover{background:var(--pitch)}.fi-app .conf-scale button.on{background:var(--grass);color:#fff;transform:scale(1.12)}.fi-app .conf-labels{display:flex;justify-content:space-between;font-family:var(--mono);font-size:9.5px;color:var(--ink60);letter-spacing:.08em;margin-bottom:6px}.fi-app .wizard textarea{width:100%;border:1.5px solid var(--ink);background:var(--white);font-family:var(--body);font-size:15px;padding:13px 15px;min-height:86px;resize:vertical;outline:none}.fi-app .wizard textarea:focus{box-shadow:3px 3px 0 var(--grass)}.fi-app .wfoot{display:flex;justify-content:space-between;gap:12px;padding:18px 24px;border-top:1.5px solid var(--ink);background:var(--white);position:sticky;bottom:0}.fi-app .wdone{text-align:center;padding:14px 0 6px}.fi-app .wdone .big{font-size:52px;line-height:1;margin-bottom:14px;display:block}.fi-app .wdone h4{font-family:var(--disp);font-size:24px;margin-bottom:8px}.fi-app .wdone p{font-size:14px;color:var(--ink60);max-width:34ch;margin:0 auto}.fi-app .wdone .synced{display:inline-flex;align-items:center;gap:8px;margin-top:16px;background:var(--pitch);border:1.5px solid var(--ink);padding:8px 14px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}.fi-app .wdone .synced b{color:var(--grass)}.fi-app .toast{position:fixed;bottom:calc(22px + env(safe-area-inset-bottom, 0px));left:50%;transform:translate(-50%,80px);background:var(--ink);color:var(--paper);padding:13px 20px;font-size:14px;border:1.5px solid var(--ink);box-shadow:5px 5px 0 var(--grass);z-index:110;transition:transform .4s var(--ease),visibility .4s;display:flex;gap:10px;align-items:center;visibility:hidden;pointer-events:none;max-width:92vw}.fi-app .toast.on{transform:translate(-50%);visibility:visible}.fi-app .toast b{color:var(--grass)}.fi-app .new-flag{font-family:var(--mono);font-size:9px;letter-spacing:.1em;background:var(--coral);color:#fff;padding:2px 7px;margin-right:7px;vertical-align:2px}@media (prefers-reduced-motion:reduce){.fi-app *{animation:none!important;transition:none!important}}@media (max-width:900px){.fi-app .login-screen{grid-template-columns:1fr}.fi-app .login-right{display:none}.fi-app .shell{grid-template-columns:1fr}.fi-app aside{position:sticky;top:0;height:auto;z-index:55}.fi-app .side-foot,.fi-app .side-nav,.fi-app .side-sec{display:none}.fi-app .mob-actions{display:flex}.fi-app .bottomnav{display:grid}.fi-app main{padding:24px 20px calc(88px + env(safe-area-inset-bottom, 0px))}.fi-app .grid2,.fi-app .grid3,.fi-app .lib-grid,.fi-app .player-grid,.fi-app .ring-row{grid-template-columns:1fr}.fi-app .stat-row{grid-template-columns:1fr 1fr}.fi-app .stat-row .s{border-bottom:1.5px solid var(--ink)}.fi-app .stat-row .s:nth-child(2){border-right:none}.fi-app .stat-row .s:nth-child(3),.fi-app .stat-row .s:nth-child(4){border-bottom:none}.fi-app .next-lesson{grid-template-columns:1fr}.fi-app .next-thumb{border-right:none;border-bottom:1.5px solid var(--ink)}}@media (max-width:600px){.fi-app{font-size:15px}.fi-app main{padding:18px 16px calc(84px + env(safe-area-inset-bottom, 0px))}.fi-app .topline{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:20px}.fi-app .topline .btn{width:100%}.fi-app .login-left{padding:40px 22px}.fi-app .prof-grid{gap:14px}.fi-app .prof,.fi-app .prof .face{width:104px}.fi-app .prof .face{height:104px;font-size:36px}.fi-app .feed-item{grid-template-columns:1fr;gap:6px;padding:16px 18px}.fi-app .feed-item .pill{justify-self:start}.fi-app .kid-tabs{max-width:100%;overflow-x:auto}.fi-app .kid-tabs button{white-space:nowrap;padding:9px 14px}.fi-app .filters{gap:8px}.fi-app .chip{padding:7px 11px}.fi-app .stat-row b{font-size:24px}.fi-app .stat-row .s{padding:14px}.fi-app .cal{gap:4px}.fi-app .bars{height:88px}.fi-app .opts{grid-template-columns:1fr}.fi-app .conf-scale{grid-template-columns:repeat(5,1fr)}.fi-app .wbody{padding:20px 18px}.fi-app .wfoot,.fi-app .whead{padding:14px 18px}.fi-app .wizard{max-height:96dvh}.fi-app .overlay{padding:10px 10px calc(10px + env(safe-area-inset-bottom, 0px));align-items:flex-end}.fi-app .card{padding:20px 18px}.fi-app .next-body{padding:18px 20px}}