:root{--bg: #14152b;--bg2: #2b2d42;--coral: #ff8a70;--coral-deep: #f26b52;--ink: #ffffff;--muted: rgba(255, 255, 255, .62);--card: rgba(255, 255, 255, .07);--line: rgba(255, 255, 255, .14)}*{margin:0;padding:0;box-sizing:border-box}video::-webkit-media-controls-start-playback-button,video::-webkit-media-controls-overlay-play-button,video::-webkit-media-controls-play-button,video::-webkit-media-controls-pause-button,video::-webkit-media-controls-panel,video::-webkit-media-controls-enclosure,video::-webkit-media-controls{display:none!important;-webkit-appearance:none}html,body,#app{height:100%}body{background:radial-gradient(circle at 50% 25%,var(--bg2) 0%,var(--bg) 70%);color:var(--ink);font-family:Nunito,ui-rounded,system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden;-webkit-tap-highlight-color:transparent}.screen{position:relative;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:24px;padding-bottom:calc(24px + env(safe-area-inset-bottom));text-align:center}.bgstage{position:absolute;inset:0;overflow:hidden;z-index:-1}.bgstage video,.bgstage .poster,.bgstage .vfallback{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);aspect-ratio:9 / 16;width:max(100vw,56.25vh);width:max(100vw,56.25dvh)}.bgstage video{visibility:hidden;pointer-events:none}.bgstage video.vplaying{visibility:visible}@media (min-width: 900px){.bgstage video,.bgstage .vfallback{width:min(100vw,56.25vh);width:min(100vw,56.25dvh)}}.vfallback{object-fit:cover;opacity:0;transition:opacity .35s ease;z-index:1}.welcome-top h1,.welcome-top .tagline{text-shadow:0 1px 12px rgba(10,11,24,.55)}.welcome-top .tagline{color:#ffffffd9}h1{font-size:clamp(28px,6vw,44px);font-weight:700}.tagline{color:var(--muted);font-size:clamp(15px,3vw,19px)}.hint{color:var(--muted);font-size:13px}button.primary{background:linear-gradient(135deg,var(--coral),var(--coral-deep));color:#fff;border:none;border-radius:16px;font-size:17px;font-weight:600;padding:14px 34px;cursor:pointer;transition:transform .12s ease,opacity .2s}button.primary:active{transform:scale(.97)}button.primary:disabled{opacity:.4;cursor:default}button.ghost{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:12px;font-size:14px;padding:9px 18px;cursor:pointer}.welcome-top{--logo-w: 42px;position:absolute;top:calc(17vh + env(safe-area-inset-top));top:calc(17dvh + env(safe-area-inset-top));left:0;right:0;padding:0 24px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;pointer-events:none}.welcome-top .title-row{display:flex;align-items:center;justify-content:flex-start;gap:14px}.welcome-top .logo{width:var(--logo-w);height:auto;filter:drop-shadow(0 3px 10px rgba(10,11,24,.3))}.welcome-top h1{font-size:clamp(38px,9.5vw,58px);font-weight:800}.welcome-top .tagline{font-size:clamp(19px,4.4vw,26px);font-weight:700;margin-left:calc(var(--logo-w) + 14px)}.welcome-top .about{margin-left:calc(var(--logo-w) + 14px);max-width:340px;color:#ffffffd9;font-size:15px;line-height:1.5;text-shadow:0 1px 10px rgba(10,11,24,.65)}.bottom-card{position:absolute;bottom:calc(40px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:min(360px,calc(100% - 40px));display:flex;flex-direction:column;gap:12px}.bottom-card .label{font-size:17px;font-weight:700;color:#fff;text-align:left;text-shadow:0 1px 10px rgba(10,11,24,.65);margin-bottom:-5px}.lang-select{display:flex;align-items:center;justify-content:space-between;background:#fff;color:#1a1b2e;border:none;border-radius:14px;font-size:17px;padding:14px 16px;cursor:pointer;box-shadow:0 4px 22px #0a0b1847}.lang-select .chev{color:#8a8fa8;font-size:13px}.step{display:flex;flex-direction:column;gap:12px}.step.hidden{display:none}.bottom-card input.pill{background:#fff;color:#1a1b2e;border:none;border-radius:14px;font-size:17px;padding:14px 16px;outline:none;box-shadow:0 4px 22px #0a0b1847;width:100%}.btnrow{display:flex;gap:10px}.btnrow .primary,.btnrow .ghost{flex:1}.btnrow .ghost{padding:14px 22px;font-size:16px;border-radius:16px}.sheet{position:fixed;inset:0;z-index:70;display:flex;align-items:flex-end;justify-content:center;background:#0a0b1880}.sheet.hidden{display:none}.sheet-panel{width:min(440px,100%);max-height:62vh;max-height:62dvh;overflow-y:auto;background:#fff;border-radius:22px 22px 0 0;padding:10px 10px calc(16px + env(safe-area-inset-bottom))}.sheet-panel .sheet-title{font-size:13px;color:#6b7085;padding:10px 14px 8px;text-align:left}.lang-row{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;color:#1a1b2e;font-size:16px;padding:13px 14px;border-radius:12px;cursor:pointer;text-align:left}.lang-row:hover{background:#f2f3f8}.lang-row .check{color:var(--coral-deep);font-weight:700}.screen.light{background:#fff;color:#1a1b2e}.screen.light .tagline,.screen.light .hint{color:#6b7085}.screen.light button.ghost{background:#f2f3f8;color:#1a1b2e;border-color:#d9dce8}.field{display:flex;flex-direction:column;gap:10px;width:min(400px,100%);text-align:left}.screen.light button.primary,.screen.light button.ghost{width:min(400px,100%)}.field label{font-size:21px;font-weight:700;color:#1a1b2e}.field input{background:#fff;color:#1a1b2e;border:1.5px solid #d9dce8;border-radius:12px;font-size:17px;padding:13px 15px;outline:none}.field input:focus{border-color:var(--coral-deep)}.session{position:relative;height:100%;overflow:hidden}.stage{position:absolute;inset:0;overflow:hidden}.vwrap{position:absolute;left:50%;top:42%;transform:translate(-50%,-42%);aspect-ratio:9 / 16;width:max(100vw,56.25vh);width:max(100vw,56.25dvh)}.vwrap video,.vwrap .poster{position:absolute;inset:0;width:100%;height:100%}.vwrap video.mouth{opacity:0;transition:opacity .12s linear;-webkit-mask-image:radial-gradient(10% 5.2% at 51% 68.8%,#000 65%,transparent 100%);mask-image:radial-gradient(10% 5.2% at 51% 68.8%,#000 65%,transparent 100%)}.session.speaking .vwrap video.mouth{opacity:1}.session.green-mouth .vwrap video.mouth{-webkit-mask-image:radial-gradient(7.5% 4.2% at 53% 61.4%,#000 65%,transparent 100%);mask-image:radial-gradient(7.5% 4.2% at 53% 61.4%,#000 65%,transparent 100%)}.session.yellow-mouth .vwrap video.mouth{-webkit-mask-image:radial-gradient(5.7% 3.4% at 48% 59.5%,#000 75%,transparent 100%);mask-image:radial-gradient(5.7% 3.4% at 48% 59.5%,#000 75%,transparent 100%)}.session.shyne .attach-field,.session.builder .attach-field{display:none}.session.builder .vwrap video.mouth{display:none}.bgstage video,.vwrap video.idle,.vwrap video.joy{opacity:0;transition:opacity .35s ease}.bgstage video.vplaying,.vwrap video.idle.vplaying,.vwrap video.joy.vplaying{opacity:1}@media (min-width: 900px){.vwrap{width:min(100vw,56.25vh);width:min(100vw,56.25dvh);left:50%;top:50%;transform:translate(-50%,-50%)}}.side{display:contents}@media (min-width: 800px){.screen{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:56px}.bgstage{position:relative;inset:auto;z-index:0;flex:none;width:min(38vw,52vh);width:min(38vw,52dvh);aspect-ratio:9 / 16;border-radius:26px;overflow:hidden;box-shadow:0 18px 60px #0a0b1873}.bgstage video,.bgstage .poster,.bgstage .vfallback{position:absolute;left:0;top:0;transform:none;width:100%;height:100%;object-fit:cover}.side{display:flex;flex-direction:column;gap:38px;width:380px;flex:none}.welcome-top{--logo-w: 34px;position:static;padding:0;align-items:flex-start;text-align:left}.welcome-top .title-row{justify-content:flex-start}.welcome-top h1{font-size:40px}.bottom-card{position:static;transform:none;width:100%}.step.hidden{display:flex}#next1,#next2,#back2,#back3,#backStuds,.studs-screen .step.hidden{display:none}.studs-screen .btnrow{display:flex}.studs-screen .bottom-card{width:min(420px,calc(100% - 40px))}.studs-screen .side{display:flex;flex-direction:column;gap:40px;align-items:flex-start}.studs-screen .welcome-top{gap:6px}.btnrow,.btnrow-go{display:flex}}.unsupported{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center}.unsupported .uns-logo{width:72px;height:72px;opacity:.9}.unsupported h1{margin:0}.unsupported .sub{max-width:440px;margin:0}.hud{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;padding:18px 20px calc(18px + env(safe-area-inset-bottom));background:linear-gradient(transparent,#14152bb8)}.hud .time{font-variant-numeric:tabular-nums;color:var(--muted);font-size:14px}.home-brand{position:absolute;top:calc(14px + env(safe-area-inset-top));left:16px;display:flex;align-items:center;gap:9px;cursor:pointer;z-index:2}.home-logo{width:40px;height:auto;filter:drop-shadow(0 2px 8px rgba(10,11,24,.35))}.home-name{font-weight:800;font-size:18px;color:#fff;letter-spacing:-.01em;text-shadow:0 1px 10px rgba(10,11,24,.55)}.session .gate{bottom:calc(64px + env(safe-area-inset-bottom))}.gate.hidden{display:none}.gate .gate-hint{font-size:15px;color:#fff;text-align:center;text-shadow:0 1px 8px rgba(10,11,24,.6)}.gate .clock{font-size:16px;font-weight:700;color:#fff;text-align:center;text-shadow:0 1px 8px rgba(10,11,24,.6);font-variant-numeric:tabular-nums}.session audio{display:none}.live-controls{display:flex;gap:12px;justify-content:center}.ctl{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffffff29;color:#fff;border:1px solid rgba(255,255,255,.28);cursor:pointer;backdrop-filter:blur(6px);transition:transform .12s ease,background .15s}.ctl:active{transform:scale(.94)}.ctl:disabled{opacity:.4;cursor:default}.ctl.stop{background:linear-gradient(135deg,var(--coral),var(--coral-deep));border-color:transparent}.ctl .ic-off,.ctl.off .ic-on{display:none}.ctl.off .ic-off{display:block}.ctl.off{background:#ffffff14}.shot-row{display:flex;gap:8px;justify-content:center}.shot-row img{width:46px;height:46px;object-fit:cover;border-radius:10px;border:1.5px solid rgba(255,255,255,.45);box-shadow:0 3px 12px #0a0b1866}@media (min-width: 800px){.session{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:56px}.session .stage{position:relative;inset:auto;flex:none;width:min(38vw,52vh);width:min(38vw,52dvh);aspect-ratio:9 / 16;border-radius:26px;overflow:hidden;box-shadow:0 18px 60px #0a0b1873}.session .vwrap{left:0;top:0;transform:none;width:100%;height:100%}.session .gate{position:static;transform:none;width:380px;flex:none}}.status-dot{width:9px;height:9px;border-radius:50%;background:#6ee7a0;display:inline-block;margin-right:7px;vertical-align:1px}.ring{position:absolute;top:calc(14px + env(safe-area-inset-top));right:16px;width:44px;height:44px;cursor:pointer;z-index:2;filter:drop-shadow(0 2px 8px rgba(10,11,24,.35))}.ring svg{width:100%;height:100%;display:block}.ring-cta{position:absolute;top:calc(16px + env(safe-area-inset-top));right:70px;display:flex;flex-direction:column;align-items:flex-end;gap:1px;background:linear-gradient(135deg,var(--coral),var(--coral-deep));color:#fff;border:none;border-radius:12px;padding:7px 12px;cursor:pointer;z-index:3;text-align:right;font-family:inherit;box-shadow:0 4px 18px #0a0b1852;animation:ctaPop .4s ease both}.ring-cta.hidden{display:none}.ring-cta .cta-main{font-size:14px;font-weight:800;line-height:1.12}.ring-cta .cta-sub{font-size:11px;font-weight:600;opacity:.92;line-height:1.12}@keyframes ctaPop{0%{opacity:0;transform:translateY(-4px) scale(.96)}to{opacity:1;transform:none}}.ring .track{stroke:#ffffff47}.ring .arc{stroke:var(--coral);transform:rotate(-90deg);transform-origin:center;transition:stroke-dashoffset 1s linear}.ring .face,.ring .hands{stroke:#fff}.ring.low .arc{stroke:#ffd166;animation:ring-pulse 1.6s ease-in-out infinite}.ring.zero .arc{stroke:transparent}.ring.zero .face,.ring.zero .hands{stroke:var(--muted)}.ring.signed-out .arc{stroke:var(--coral)}.ring.signed-out .face,.ring.signed-out .hands{stroke:#fff}@keyframes ring-pulse{50%{opacity:.45}}.ring-menu{position:absolute;inset:0;z-index:11}.ring-menu.hidden{display:none}.ring-scrim{position:absolute;inset:0}.ring-panel{position:absolute;top:calc(64px + env(safe-area-inset-top));right:16px;width:220px;background:#1c1e38f5;border:1px solid var(--line);border-radius:16px;padding:6px;box-shadow:0 16px 40px #0a0b1880}.ring-row{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;color:var(--ink);font-size:15px;padding:11px 12px;border-radius:11px;cursor:pointer;text-align:left;font-family:inherit}button.ring-row:hover{background:#ffffff14}.ring-row .soon{color:var(--muted);font-size:12px}.ring-row.time{font-weight:700;cursor:default}.ring-row.acct{flex-direction:row;align-items:center;gap:8px;cursor:default;border-bottom:1px solid var(--line);border-radius:11px 11px 0 0;margin-bottom:4px}.ring-row.acct .acct-badge{color:#34d399;font-size:14px;font-weight:700;flex:none}.ring-row.acct .acct-email{color:var(--ink);font-size:13px;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ring-row.logout{color:var(--muted);font-size:13px}.ring-row.delete{color:#ff9a9a;font-size:13px}.ov{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:20px}.ov-scrim{position:absolute;inset:0;background:#0a0b189e}.ov-card{position:relative;width:min(380px,100%);max-height:88vh;max-height:88dvh;overflow-y:auto;background:#1c1e38;border:1px solid var(--line);border-radius:22px;padding:24px 20px calc(20px + env(safe-area-inset-bottom));box-shadow:0 24px 70px #0a0b1899;display:flex;flex-direction:column;gap:12px;text-align:center}.ov-delete-label{display:block;color:var(--muted);font-size:13px;margin:18px 0 7px}.primary.danger{background:#b8324b}.ov-card h2{font-size:23px;font-weight:800}.ov-sub{color:var(--muted);font-size:15px;line-height:1.45}.ov-or{color:var(--muted);font-size:13px}.ov-err{color:var(--muted);font-size:13px;min-height:18px}.ov-step{display:flex;flex-direction:column;gap:12px}.ov-step.hidden{display:none}input[type=number].pill::-webkit-outer-spin-button,input[type=number].pill::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number].pill{-moz-appearance:textfield;appearance:textfield}.ov-card input.pill{background:#fff;color:#1a1b2e;border:none;border-radius:14px;font-size:17px;padding:14px 16px;outline:none;width:100%;font-family:inherit}button.ghost.wide{width:100%;padding:13px 22px;font-size:16px;border-radius:14px}button.ghost.google{font-weight:600;display:flex;align-items:center;justify-content:center;gap:10px}button.ghost.google .g-logo{width:18px;height:18px;flex:none}button.ghost.apple{background:#000;border-color:#000;color:#fff;font-weight:600;display:flex;align-items:center;justify-content:center;gap:10px}button.ghost.apple .apple-mark{font:22px/1 -apple-system,BlinkMacSystemFont,sans-serif}.plans-restore{margin:20px auto 0;color:var(--muted)}.plans-legal{max-width:580px;margin:14px auto 0;color:var(--muted);font-size:12px;line-height:1.45;text-align:center}.plans-legal a{color:inherit;text-decoration:underline}button.ghost:disabled{opacity:.4;cursor:default}.ov-consent{display:flex;gap:9px;align-items:flex-start;text-align:left;font-size:13px;line-height:1.4;color:var(--muted);cursor:pointer;margin-top:6px}.ov-consent input{margin-top:2px;width:17px;height:17px;flex:0 0 auto;accent-color:var(--coral)}.ov-consent a{color:inherit;text-decoration:underline}.ov-x{position:absolute;top:10px;right:12px;width:32px;height:32px;padding:0;background:none;border:none;cursor:pointer;color:var(--muted);font-size:26px;line-height:1;font-family:inherit}.ov-x:hover{color:var(--ink)}.pin-inp{width:150px;margin:6px auto 0;display:block;background:#ffffff1a;color:#fff;border:1.5px solid rgba(255,255,255,.28);border-radius:14px;font:inherit;font-size:26px;font-weight:800;letter-spacing:10px;text-align:center;padding:10px 0 10px 10px;outline:none}.pin-inp:focus{border-color:var(--coral)}.pin-err{color:#ffb4a0;font-size:14px;margin-top:8px}.pin-ov .primary{margin-top:14px}.pin-forgot{margin-top:10px;background:none;border:none;cursor:pointer;color:var(--muted);font:inherit;font-size:14px;text-decoration:underline}.pin-forgot:hover{color:var(--ink)}.packs.row{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.pack{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;background:var(--card);color:var(--ink);border:1.5px solid var(--line);border-radius:16px;padding:16px 8px 12px;cursor:pointer;font-family:inherit;text-align:center;transition:border-color .15s,background .15s}.pack:hover{background:#ffffff1f}.pack:disabled{opacity:.55;cursor:default}.pack:disabled:hover{background:var(--card)}.pack:disabled .pack-cta{filter:grayscale(.35)}.pack.best{border-color:#ff7a598c}.pack.sel{border-color:var(--coral);background:#ff7a5924}.pack-min{font-size:20px;font-weight:800;color:var(--coral)}.pack-price{font-size:16px;font-weight:800}.pack-save{font-size:11px;font-weight:700;color:#34d399;min-height:14px}.pack-name{font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;opacity:.85}.pack-per{font-size:11px;font-weight:700;opacity:.7;margin-left:2px;text-transform:none;letter-spacing:0}.pack-buddies{display:flex;flex-direction:column;gap:7px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.12);text-align:left}.pb-row{display:flex;align-items:center;gap:8px}.pb-row img{width:28px;height:28px;object-fit:contain;flex:none;filter:drop-shadow(0 2px 4px rgba(10,11,24,.4))}.pb-row span{font-size:12px;line-height:1.25;opacity:.9}.pack-cta{display:block;margin-top:auto;align-self:stretch;padding:11px 16px;border-radius:13px;text-align:center;font-size:15px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--coral),var(--coral-deep))}.pack-buddies{margin-bottom:12px}.pack:hover .pack-cta{filter:brightness(1.08)}.pack-feats{list-style:none;margin:2px 0 4px;padding:0;display:flex;flex-direction:column;gap:7px;text-align:left}.pack-feats li{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--ink);line-height:1.3}.pack-feats .feat-ic{width:20px;height:auto;flex:none;filter:drop-shadow(0 1px 2px rgba(10,11,24,.3))}.plans-page{position:fixed;inset:0;z-index:70;background:linear-gradient(180deg,#191a36,#14152b);overflow-y:auto;display:flex;flex-direction:column;padding:calc(18px + env(safe-area-inset-top)) 22px calc(26px + env(safe-area-inset-bottom));animation:plansIn .22s ease both}@keyframes plansIn{0%{opacity:0}to{opacity:1}}.plans-back{position:absolute;top:calc(14px + env(safe-area-inset-top));left:14px;width:40px;height:40px;border-radius:12px;background:#ffffff14;border:none;color:var(--ink);font-size:22px;line-height:1;cursor:pointer;font-family:inherit}.plans-back:hover{background:#ffffff26}.plans-inner{width:100%;max-width:460px;margin:min(7vh,56px) auto auto;display:flex;flex-direction:column;gap:18px;text-align:center}.plans-head{display:flex;flex-direction:column;align-items:center;gap:6px}.plans-logo{width:46px;height:46px;border-radius:50%;object-fit:cover}.plans-page h1{font-size:28px;font-weight:800}.plans-page .pack-feats{max-width:320px;margin:4px auto 6px}.feats-head{max-width:320px;margin:14px auto 0;text-align:left;font-size:14px;font-weight:800;opacity:.9}.pack-tag{position:absolute;top:-9px;left:50%;transform:translate(-50%);background:var(--coral);color:#fff;white-space:nowrap;font-size:10px;font-weight:700;letter-spacing:.02em;padding:2px 7px;border-radius:8px}button.primary.wide{width:100%;padding:13px 22px;font-size:16px;border-radius:14px}.toast{position:fixed;z-index:100;left:50%;transform:translate(-50%);bottom:calc(28px + env(safe-area-inset-bottom));background:#1c1e38;color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:12px 18px;font-size:15px;box-shadow:0 14px 40px #0a0b1880}.sside{display:contents}.attach{position:absolute;z-index:6;top:calc(104px + env(safe-area-inset-top));left:50%;transform:translate(-50%);width:min(600px,calc(100% - 28px));display:flex;flex-direction:column;gap:8px}@media (min-width: 800px){.sside{display:flex;flex-direction:column;gap:16px;width:380px;flex:none}.attach{position:static;transform:none;order:-1;width:auto;z-index:auto}}.attach-field{position:relative}.attach-field.no-materials .attach-text{padding-bottom:15px;min-height:76px}.attach-text{width:100%;min-height:92px;resize:none;background:#fffffff5;color:#1a1b2e;border:none;border-radius:18px;font-family:inherit;font-size:17px;line-height:1.4;padding:15px 16px 48px;outline:none;box-shadow:0 4px 22px #0a0b1847}@media (min-width: 800px){.attach-text{min-height:112px}}.attach-text::placeholder{color:#8a8fa8}.attach-strip{display:flex;gap:8px;flex-wrap:wrap}.attach-strip:empty{display:none}.attach-hint{font-size:13px;color:#fff;text-shadow:0 1px 8px rgba(10,11,24,.6)}.attach-summary{display:flex;flex-direction:column;gap:10px}.attach-title{color:#fff;font-size:17px;font-weight:700;line-height:1.3;text-shadow:0 1px 10px rgba(10,11,24,.7);overflow-wrap:anywhere}.attach-thumbs{display:flex;gap:8px;flex-wrap:wrap}.attach-thumb{width:56px;height:56px;padding:0;border:none;border-radius:12px;overflow:hidden;background:#fff;cursor:zoom-in;box-shadow:0 2px 12px #0a0b184d}.attach-thumb img{width:100%;height:100%;object-fit:cover;display:block}.attach-zoom{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;cursor:zoom-out}.attach-zoom img{max-width:92vw;max-height:92vh;border-radius:14px;background:#fff;box-shadow:0 24px 80px #0009;animation:zoomPop .16s ease-out}@keyframes zoomPop{0%{transform:scale(.9);opacity:.3}to{transform:scale(1);opacity:1}}@media (max-width: 799px){.attach-zoom{background:#080914d1}}@media (min-width: 800px){.attach-zoom{justify-content:flex-end;padding-right:max(24px,4vw)}.attach-zoom img{max-width:calc(50vw - 48px)}}.chip{position:relative;width:54px;height:54px;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 2px 12px #0a0b184d}.chip img{width:100%;height:100%;object-fit:cover;display:block}.chip.txt{width:auto;max-width:150px;height:auto;padding:8px 26px 8px 10px;font-size:12px;color:#1a1b2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip .x{position:absolute;top:2px;right:2px;width:18px;height:18px;padding:0;border:none;border-radius:50%;background:#0a0b188c;color:#fff;font-size:10px;line-height:18px;cursor:pointer}.chip.sent .x{display:none}.chip.sent:after{content:"✓";position:absolute;right:4px;bottom:2px;font-size:11px;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.85)}.chip.txt.sent{padding-right:26px}.pdf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;padding:4px 10px}.pdf-thumb{position:relative;min-height:110px;padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:#f2f3f8;cursor:pointer}.pdf-thumb canvas{width:100%;display:block}.pdf-thumb.sel{border-color:var(--coral-deep)}.pdf-thumb.sel:after{content:"✓";position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:var(--coral-deep);color:#fff;font-size:12px;font-weight:700;line-height:20px}.pdf-thumb.added{border-color:#34c07a;cursor:default;opacity:.8}.pdf-thumb.added:after{content:"✓ added";position:absolute;top:4px;right:4px;padding:1px 7px;border-radius:10px;background:#34c07a;color:#fff;font-size:10px;font-weight:700;line-height:18px}.pdf-thumb .pnum{position:absolute;left:4px;bottom:4px;background:#0a0b188c;color:#fff;font-size:11px;padding:1px 6px;border-radius:8px}.pdf-actions{display:flex;gap:10px;padding:12px 10px 4px}.pdf-actions .ghost,.pdf-actions .primary{flex:1;padding:12px;font-size:15px}.pdf-actions .ghost{background:#f2f3f8;color:#1a1b2e;border:none;border-radius:14px;cursor:pointer}@media (min-width: 800px){.plans-inner{max-width:600px;gap:24px}.plans-logo{width:60px;height:60px}.plans-page h1{font-size:38px}.plans-page .ov-sub{font-size:18px}.packs.row{gap:12px}.pack{padding:22px 12px 16px;border-radius:20px}.pack-min{font-size:28px}.pack-price{font-size:22px}.pack-save{font-size:13px}.pack-tag{font-size:12px;padding:3px 9px;top:-11px}.plans-page .pack-feats{max-width:420px}.plans-page .pack-feats li{font-size:16px}.plans-page .pack-feats .feat-ic{width:25px}.plans-page button.primary.wide{font-size:18px;padding:16px 22px}}.attach-plus,.attach-lib{position:absolute;bottom:10px;width:38px;height:38px;padding:0;display:flex;align-items:center;justify-content:center;border:none;border-radius:12px;background:#f2f3f8;color:#1a1b2e;line-height:1;cursor:pointer}.attach-plus{right:10px;font-size:23px}.attach-lib{right:54px}.attach-lib svg{width:21px;height:21px;display:block}.attach-plus:hover,.attach-lib:hover{background:#e7e9f2}.pgjump{padding:4px 10px}.pgjump .pgnum{width:100%;background:#fff;color:#1a1b2e;border:1.5px solid #d9dce8;border-radius:12px;font-size:17px;padding:12px 14px;outline:none}.pgjump .pgnum:focus{border-color:var(--coral-deep)}.pgprev{display:flex;gap:8px;justify-content:center;padding:8px 10px 4px}.pgprev .pdf-thumb{flex:1;max-width:33%;min-height:130px}.pdf-save{display:flex;align-items:center;gap:8px;padding:8px 12px 0;font-size:14px;color:#1a1b2e;cursor:pointer}.pdf-save input{width:17px;height:17px;accent-color:var(--coral-deep)}.lib-list{display:flex;flex-direction:column;gap:4px;padding:4px 6px 6px}.lib-empty{padding:18px 14px;font-size:14px;color:#6b7085;text-align:center}.lib-row{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:12px}.lib-row.pickable{cursor:pointer}.lib-row.pickable:hover{background:#f2f3f8}.lib-cover{width:42px;height:56px;object-fit:cover;border-radius:6px;background:#f2f3f8;box-shadow:0 1px 5px #0a0b182e}.lib-meta{flex:1;min-width:0;text-align:left}.lib-name{font-size:15px;color:#1a1b2e;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lib-pages{font-size:12px;color:#6b7085}.lib-x{flex:none;width:28px;height:28px;border:none;border-radius:50%;background:none;color:#8a8fa8;font-size:14px;cursor:pointer}.lib-x:hover{background:#f2f3f8;color:#1a1b2e}.fb-page{position:fixed;inset:0;z-index:60;overflow-y:auto;background:linear-gradient(180deg,#191a36,#14152b);color:var(--ink);padding:calc(18px + env(safe-area-inset-top)) 22px calc(26px + env(safe-area-inset-bottom));animation:plansIn .22s ease both}.fb-inner{width:100%;max-width:520px;margin:min(9vh,72px) auto auto;display:flex;flex-direction:column;gap:18px}.fb-head{display:flex;flex-direction:column;gap:8px}.fb-page h1{font-size:26px;font-weight:800;letter-spacing:-.01em;text-wrap:balance}.fb-lede{color:var(--muted);font-size:15px;line-height:1.5;max-width:46ch}.fb-text{width:100%;resize:vertical;min-height:200px;background:#ffffff0d;color:var(--ink);border:1px solid var(--line);border-radius:16px;font-family:inherit;font-size:16px;line-height:1.5;padding:15px 16px;outline:none;transition:border-color .15s,background .15s}.fb-text::placeholder{color:var(--muted)}.fb-text:focus{border-color:var(--coral);background:#ffffff12}.fb-actions{display:flex}.fb-send{margin-left:auto}.fb-err{min-height:20px}.fb-done{display:flex;flex-direction:column;gap:8px}@media (min-width: 800px){.fb-page h1{font-size:32px}.fb-lede{font-size:17px}}.screen.choice{background:#0f1b33}.choice .side{justify-content:center;gap:22px}.choice-title{margin:0;font-size:22px;font-weight:700;text-align:center;text-shadow:0 2px 12px rgba(0,0,0,.35)}.buddies{display:flex;gap:14px}.buddy{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:0;cursor:pointer;border:none;background:none;color:inherit;font:inherit;text-align:center;transform-origin:50% 100%}@media (max-width: 799px){.buddies{flex-wrap:nowrap;align-items:flex-end;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;width:100vw;max-width:none;margin:0 calc(50% - 50vw);padding:96px calc(50vw - 90px) 24px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.buddies::-webkit-scrollbar{display:none}.buddy{flex:0 0 180px;scroll-snap-align:center;will-change:transform}}@media (min-width: 800px){.buddies{flex-wrap:wrap;justify-content:center}.buddy{flex:1 1 150px;max-width:190px;transition:transform .15s}.buddy:hover{transform:translateY(-2px)}.choice .side{width:auto;max-width:min(94vw,850px)}}.bphoto{position:relative;width:100%;aspect-ratio:4 / 5;border-radius:18px;overflow:hidden;background:#ffffff24;display:block;flex:none;border:2px solid transparent;box-shadow:0 10px 30px #0a0b1859;transition:border-color .15s,box-shadow .15s}.buddy.locked{cursor:default}.buddy.locked:hover{transform:none}.buddy.locked:hover .bphoto{border-color:transparent}.block-badge{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0a0b187a}.block-badge svg{filter:drop-shadow(0 3px 10px rgba(10,11,24,.6));opacity:.95}.bphoto img{width:100%;height:100%;object-fit:cover;display:block}.buddy.picked .bphoto{border-color:var(--coral);box-shadow:0 10px 30px #ff7a5959}.buddy:hover .bphoto{border-color:#ffffff59}.buddy.picked:hover .bphoto{border-color:var(--coral)}.bcap{display:flex;flex-direction:column;gap:2px}.btitle{font-size:17px;font-weight:700}.bline{font-size:13px;opacity:.85;line-height:1.3}.progress-page{position:fixed;inset:0;z-index:60;overflow-y:auto;background:#12142a;color:var(--ink);padding:calc(18px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom))}.progress-inner{max-width:620px;margin:44px auto 0}.progress-inner h1{font-size:26px;font-weight:800;margin:8px 0 18px;text-align:center}.prg-lang{text-align:center;margin:-8px 0 14px;font-size:13px;opacity:.75}.prg-lang select{margin-left:6px;padding:4px 8px;border-radius:8px;background:#ffffff14;color:inherit;border:1px solid rgba(255,255,255,.18);font:inherit;font-size:13px}.prg-students{display:flex;gap:8px;overflow-x:auto;padding-bottom:14px}.prg-stud{flex:none;padding:9px 16px;border-radius:14px;cursor:pointer;background:#ffffff1a;border:2px solid transparent;color:inherit;font:inherit;font-weight:600}.prg-stud.on{border-color:var(--coral);background:#ffffff2e}.prg-who-row{position:relative;display:flex;align-items:center;gap:10px;padding:2px 12px 12px}.prg-who-row.busy{opacity:.5;pointer-events:none}.prg-who-name{font-size:20px;font-weight:800}.prg-who-age{font-size:13px;font-weight:700;color:var(--muted);padding:3px 9px;border-radius:999px;background:#ffffff1a}.prg-who-row .prg-more{margin-left:auto}.prg-menu{position:absolute;right:8px;top:100%;z-index:2;display:flex;flex-direction:column;min-width:190px;padding:6px;border-radius:14px;background:#1c1f3a;border:1px solid var(--line);box-shadow:0 18px 44px #00000080}.prg-menu.hidden{display:none}.prg-menu button{padding:10px 12px;border:none;border-radius:10px;cursor:pointer;background:none;color:var(--ink);font:inherit;font-size:14px;text-align:left}.prg-menu button:hover{background:#ffffff14}.prg-menu button.danger{color:#ff8a7a}.prg-inp{padding:9px 12px;border-radius:12px;background:#ffffff1a;border:1px solid var(--line);color:var(--ink);font:inherit;font-size:15px;min-width:0}.prg-inp.name{flex:1}.prg-inp.age{width:74px;flex:none}.prg-inp.age::-webkit-outer-spin-button,.prg-inp.age::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.prg-inp.age{-moz-appearance:textfield;appearance:textfield}.prg-who-row.editing .primary,.prg-who-row.editing .ghost{padding:9px 14px;font-size:14px;border-radius:12px}@media (max-width: 520px){.prg-who-row.editing{flex-wrap:wrap}.prg-inp.name{flex:1 1 100%}}.prg-row{display:flex;align-items:center;gap:10px;cursor:pointer;padding:13px 12px;border-radius:14px;border-bottom:1px solid rgba(255,255,255,.07)}.prg-row:hover{background:#ffffff0f}.prg-dot{width:10px;height:10px;border-radius:50%;flex:none}.prg-dot.coral{background:var(--coral)}.prg-dot.green{background:#b9d47a}.prg-dot.yellow{background:#f2d379}.prg-dot.slate{background:#9aa3b2}.prg-date{font-size:13px;color:var(--muted);flex:none;min-width:52px}.prg-title{flex:1;font-size:15px;font-weight:600}.prg-len{font-size:13px;color:var(--muted);flex:none}.prg-more{flex:none;width:32px;height:32px;padding:0;cursor:pointer;background:none;border:none;color:var(--muted);font-size:20px;line-height:1}.prg-more:hover{color:var(--ink)}.ov-card.prg-card{width:min(460px,100%);text-align:left}.ov-card.prg-card h2{text-align:center}.ov-card.prg-card>.ov-sub:first-of-type{text-align:center}.prg-block{margin-top:14px}.prg-block h3{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--coral);margin:0 0 5px}.prg-block p{font-size:15px;line-height:1.5;margin:0}.studs{display:flex;flex-wrap:wrap;gap:10px}.stud-card{width:96px;aspect-ratio:1;border-radius:20px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:#ffffff29;border:2px solid rgba(255,255,255,.22);backdrop-filter:blur(10px);color:#fff;font:inherit;text-shadow:0 1px 8px rgba(10,11,24,.5);transition:transform .12s,border-color .15s,background .15s}.stud-card:hover{transform:translateY(-2px);border-color:var(--coral);background:#ffffff3d}.stud-card:active{transform:scale(.96)}.stud-name{font-size:17px;font-weight:700}.stud-age{font-size:13px;color:#ffffffb8}.stud-card.add{font-size:30px;font-weight:300;color:#ffffffbf;background:#ffffff17;border-style:dashed}.ring-legal{display:flex;justify-content:center;gap:14px;padding:10px 12px 2px;margin-top:4px;border-top:1px solid rgba(255,255,255,.08)}.ring-legal a{color:var(--muted);font-size:12px;text-decoration:none}.ring-legal a:hover{color:var(--coral)}.welcome-top .tagline-sub{margin-left:calc(var(--logo-w) + 14px);font-size:clamp(15px,3.4vw,20px);font-weight:600;color:#ffffffe6;text-shadow:0 1px 10px rgba(10,11,24,.6)}.prg-empty{color:var(--muted)}.prg-row.busy{opacity:.5;pointer-events:none}body.await-students .bottom-card{visibility:hidden}.stud-card.picked{border-color:var(--coral);background:#ffffff42}#backStuds.hidden{display:none}.entry-screen{overflow-y:auto;justify-content:flex-end;padding-top:calc(80px + env(safe-area-inset-top));padding-bottom:calc(40px + env(safe-area-inset-bottom))}.entry-panel{position:static;width:min(360px,100%);margin:0 auto;display:flex;flex-direction:column;gap:18px;padding:0;background:none}.entry-panel h1,.entry-panel p,.entry-form label{text-shadow:0 1px 10px rgba(10,11,24,.65)}@media (max-width: 799px){.entry-panel h1{position:absolute;left:20px;right:20px;top:calc(76px + env(safe-area-inset-top))}}.entry-home{display:flex;align-items:center;justify-content:center;gap:10px;position:absolute;top:calc(18px + env(safe-area-inset-top));left:20px;z-index:2;color:var(--ink);background:none;border:0;font:inherit;font-weight:800;cursor:pointer;text-shadow:0 1px 10px rgba(10,11,24,.65)}.entry-home img{width:36px;height:36px}.entry-panel h1{font-size:clamp(24px,6vw,32px);line-height:1.2}.entry-form{display:flex;flex-direction:column;gap:12px;text-align:left}.entry-form label{font-size:17px;font-weight:700}.entry-form input.pill{width:100%;min-width:0;padding:14px 16px;border:none;border-radius:14px;background:#fff;color:#1a1b2e;font:inherit;font-size:17px;line-height:1.3;box-shadow:0 4px 22px #0a0b1847}.entry-form input.pill:focus{outline:3px solid var(--coral);outline-offset:2px}.entry-actions{display:flex;gap:12px;justify-content:space-between}.entry-actions button{flex:1;min-width:0}.entry-error:empty{display:none}.entry-error,.choice-message{font-size:15px;line-height:1.4}.choice-message{max-width:440px;margin:0 auto 12px}.entry-panel .studs{max-height:40vh;overflow-y:auto}@media (min-width: 800px){.entry-screen{justify-content:center;padding-top:24px}.entry-panel{margin:0;flex:0 1 380px;text-align:left}}@media (max-width: 799px) and (max-height: 480px){.welcome-screen{overflow-y:auto;justify-content:flex-start;padding-top:72px}.welcome-screen .side{width:100%}.welcome-screen .welcome-top{position:static;padding:0}.welcome-screen .bottom-card{position:static;transform:none;width:100%;margin-top:28px}}@media (max-width: 799px) and (max-height: 650px){.entry-screen{padding:64px 16px 16px}.entry-panel{padding:18px 16px;gap:14px}.choice{overflow-y:auto;justify-content:flex-start;padding-top:86px}.choice .choice-title{margin-top:0}}
