html,body{height:100%}.parent-app{position:relative;min-height:100dvh;display:flex;flex-direction:column;max-width:760px;margin:0 auto;background:var(--bg);color:var(--label);font-family:var(--font);-webkit-tap-highlight-color:transparent}.parent-app button{font:inherit;cursor:pointer;color:inherit}.parent-app button:disabled{opacity:.42;cursor:default}.parent-app h1,.parent-app h2,.parent-app h3,.parent-app p{margin:0}.p-mock{position:sticky;top:0;z-index:30;padding:calc(4px + env(safe-area-inset-top)) 12px 4px;background:var(--accent);color:#fff;font-size:12px;font-weight:600;text-align:center;letter-spacing:.02em}.p-offline{position:sticky;top:0;z-index:29;display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;background:var(--label);color:var(--bg);font-size:13px}.p-main{flex:1;padding-bottom:calc(84px + env(safe-area-inset-bottom))}.p-content{padding:0 16px 24px}.p-center{flex:1;display:grid;place-items:center;padding:24px}.p-screen{display:flex;flex-direction:column;min-height:100dvh;background:var(--bg)}.p-scroll{flex:1;overflow:auto;padding:12px 16px calc(28px + env(safe-area-inset-bottom));overscroll-behavior:contain}.p-onboard{padding-top:max(32px,env(safe-area-inset-top))}.p-top{position:relative;padding:max(10px,env(safe-area-inset-top)) 16px 12px}.p-top-row{display:flex;justify-content:flex-end;min-height:40px;align-items:center}.p-top h1{font-family:var(--font-display);font-weight:var(--display-weight);font-size:32px;line-height:1.2;letter-spacing:.01em;margin-top:2px}.p-top-sub{font-size:13px;color:var(--label-2);margin-top:4px}.p-child-switch{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 12px 0 4px;border:0;border-radius:var(--r-pill);background:var(--surface);box-shadow:var(--shadow-1);font-size:15px;font-weight:600}.p-child-switch svg{color:var(--label-2)}.p-switcher{position:absolute;right:16px;top:calc(max(10px,env(safe-area-inset-top)) + 46px);z-index:20;min-width:240px;padding:6px;border-radius:16px;background:var(--surface-raised);box-shadow:var(--shadow-3);animation:zx-pop-in var(--dur-2) var(--spring)}.p-switcher button{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:6px 10px;border:0;border-radius:12px;background:transparent;text-align:left}.p-switcher button:hover,.p-switcher button[aria-selected=true]{background:var(--fill-2)}.p-switcher span{display:flex;flex-direction:column}.p-switcher small{font-size:12px;color:var(--label-2)}.tint{color:var(--tint)}.p-navbar{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:48px;padding:max(4px,env(safe-area-inset-top)) 8px 4px;background:var(--material-thick);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-bottom:.5px solid var(--separator)}.p-navbar h1{font-size:17px;font-weight:600;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:56vw}.p-nav-back{justify-self:start;display:inline-flex;align-items:center;height:40px;padding:0 10px 0 2px;border:0;background:none;color:var(--tint)!important;font-size:17px!important}.p-nav-trailing{justify-self:end}.p-tabbar{position:fixed;left:50%;bottom:0;transform:translate(-50%);width:100%;max-width:760px;z-index:25;display:flex;justify-content:space-around;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:var(--material-thick);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-top:.5px solid var(--separator)}.p-tabbar button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;min-height:50px;padding:4px 0;border:0;background:none;color:var(--label-3)!important;font-size:11px!important;font-weight:500}.p-tabbar button.on{color:var(--tint)!important}.p-tab-icon{position:relative;display:grid;place-items:center;height:28px}.p-tab-badge{position:absolute;top:-4px;left:calc(50% + 6px);min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--red);color:#fff;font-size:11px;font-style:normal;font-weight:600;line-height:18px;text-align:center;box-shadow:0 0 0 2px var(--bg)}:where(.p-avatar){--av:var(--sub-default)}.p-avatar{flex:none;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--av);color:#fff;font-size:17px;font-weight:600}.p-avatar-sm{width:30px;height:30px;font-size:13px}.p-avatar-lg{width:56px;height:56px;font-size:23px}.p-group{margin-bottom:18px}.p-group-title{font-size:14px;font-weight:600;color:var(--label-2);margin:22px 4px 8px}.p-group:first-child .p-group-title,.p-me>.p-group-title:first-of-type{margin-top:6px}.p-subgroup-title{font-size:13px;font-weight:600;color:var(--label-2);margin:16px 4px 8px}.p-section-note{font-size:13px;line-height:1.55;color:var(--label-2);margin:0 4px 12px}.p-list{background:var(--surface);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-1)}.p-row{position:relative;display:flex;align-items:center;gap:12px;width:100%;min-height:60px;padding:12px 14px;border:0;background:transparent;text-align:left;color:var(--label)}button.p-row:active{background:var(--fill-2)}.p-row+.p-row:before{content:"";position:absolute;top:0;left:66px;right:0;border-top:.5px solid var(--separator)}.p-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.p-row-main>b,.p-row-title b{font-size:16px;font-weight:600}.p-row-main small{font-size:13px;color:var(--label-2);line-height:1.45}.p-row-title{display:flex;align-items:center;gap:6px;min-width:0}.p-row-title b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.p-row-title time{margin-left:auto;font-size:12px;color:var(--label-3);white-space:nowrap}.p-row-preview{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.p-row-headline{font-size:14px;line-height:1.5;color:var(--label);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.p-row-icon{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--tint-soft);color:var(--tint)}.p-chevron{flex:none;color:var(--label-3)}.p-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--tint)}.p-badge{flex:none;min-width:22px;height:22px;padding:0 7px;border-radius:11px;background:var(--tint);color:#fff;font-size:12px;font-weight:600;line-height:22px;text-align:center}.p-ai-tag{flex:none;padding:1px 6px;border-radius:6px;background:var(--fill);color:var(--label-2);font-size:11px;font-weight:600;letter-spacing:.04em}.p-report-row{align-items:flex-start}.p-report-row .p-avatar{margin-top:2px}.p-report-row .p-chevron{align-self:center}.p-report-row.unread .p-row-title b{color:var(--label)}.p-chips{display:flex;flex-wrap:wrap;gap:6px}.p-chips:empty{display:none}.p-chip{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:11px;background:var(--fill-2);color:var(--label-2);font-size:12px;font-weight:600;width:fit-content}.p-chip.warn,.p-chip.status-failed{background:var(--orange-soft);color:var(--label)}.p-chip.status-generating{background:var(--tint-soft);color:var(--tint)}.p-chip.muted,.p-chip.status-pending_sync{background:var(--fill-2);color:var(--label-2)}.p-spin{display:inline-block;width:11px;height:11px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:zx-spin .8s linear infinite}.p-spin.lg{width:30px;height:30px;border-width:3px;color:var(--tint)}.p-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 20px;border:0;border-radius:14px;background:var(--fill-2);color:var(--tint)!important;font-size:16px!important;font-weight:600;transition:transform var(--dur-1) var(--spring),background var(--dur-1)}.p-btn:active:not(:disabled){transform:scale(.97)}.p-btn.filled{background:var(--tint);color:var(--on-tint)!important}.p-btn.tinted{background:var(--tint-soft)}.p-btn.plain{background:transparent}.p-btn.danger{background:var(--red);color:#fff!important}.p-btn.plain.danger{background:transparent;color:var(--red)!important}.p-btn.block{display:flex;width:100%}.p-btn.sm{min-height:34px;padding:0 12px;font-size:14px!important;border-radius:10px}.p-banner{display:flex;align-items:flex-start;gap:10px;margin:0 0 14px;padding:12px 14px;border-radius:14px;background:var(--tint-soft);font-size:14px;line-height:1.5}.p-banner>svg{flex:none;margin-top:2px}.p-banner>div{flex:1}.p-banner-warn{background:var(--orange-soft)}.p-banner-error{background:var(--red-soft)}.p-banner-muted{background:var(--fill-2);color:var(--label-2)}.p-banner .p-btn{flex:none;align-self:center}.p-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 24px;text-align:center}.p-empty-icon{display:grid;place-items:center;width:64px;height:64px;margin-bottom:6px;border-radius:50%;background:var(--fill-2);color:var(--label-2)}.p-empty h2{font-family:var(--font-display);font-weight:var(--display-weight);font-size:21px}.p-empty p{max-width:420px;font-size:14px;line-height:1.6;color:var(--label-2)}.p-empty .p-btn{margin-top:10px}.p-skeleton{display:flex;flex-direction:column;gap:10px;padding:8px 0}.p-skeleton i{height:64px;border-radius:14px;background:linear-gradient(90deg,var(--fill-3),var(--fill-2),var(--fill-3));background-size:200% 100%;animation:zx-shimmer 1.4s linear infinite}.p-fine{display:flex;gap:6px;align-items:flex-start;margin:18px 4px 0;font-size:12px;line-height:1.6;color:var(--label-3)}.p-fine svg{flex:none;margin-top:2px}.p-report-head{display:flex;gap:14px;align-items:flex-start;padding:8px 2px 16px}.p-report-head small{font-size:13px;color:var(--label-2)}.p-report-head h2{font-family:var(--font-display);font-weight:var(--display-weight);font-size:26px;line-height:1.25;margin:4px 0 6px}.p-report-head p{font-size:13px;line-height:1.5;color:var(--label-2)}.p-report-head p svg{vertical-align:-2px;margin-right:4px}.p-headline{margin:0 0 14px;padding:14px 16px;border-radius:16px;background:var(--tint-soft);font-size:16px;line-height:1.6;color:var(--label)}.p-card{margin:0 0 14px;padding:16px;border-radius:18px;background:var(--surface);box-shadow:var(--shadow-1)}.p-card h3{font-size:15px;font-weight:600;color:var(--label-2);margin-bottom:10px}.p-card-note{display:block;margin-top:8px;font-size:12px;color:var(--label-3)}.p-claims,.p-answers,.p-plain{list-style:none;margin:0;padding:0}.p-claims>li,.p-answers>li{padding:10px 0;border-top:.5px solid var(--separator)}.p-claims>li:first-child,.p-answers>li:first-child{border-top:0;padding-top:0}.p-claims p,.p-answers p{font-size:16px;line-height:1.6}.p-plain li{position:relative;padding:4px 0 4px 16px;font-size:15px;line-height:1.55;color:var(--label-2)}.p-plain li:before{content:"";position:absolute;left:3px;top:13px;width:5px;height:5px;border-radius:50%;background:var(--label-3)}.p-tally{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.p-tally span{display:flex;flex-direction:column;align-items:center;padding:10px 4px;border-radius:12px;background:var(--fill-3)}.p-tally b{font-size:24px;font-weight:600;font-variant-numeric:tabular-nums}.p-tally small{font-size:12px;color:var(--label-2)}.p-answers>li{display:flex;gap:10px;align-items:flex-start}.p-answers>li>div{flex:1;min-width:0}.p-answers small{display:block;font-size:13px;color:var(--label-2);margin-top:2px}.p-answer-tag{flex:none;margin-top:3px;padding:2px 8px;border-radius:8px;font-size:12px;font-weight:600;white-space:nowrap}.p-answer-tag.good{background:var(--green-soft);color:var(--label)}.p-answer-tag.mid{background:var(--orange-soft);color:var(--label)}.p-answer-tag.bad{background:var(--red-soft);color:var(--label)}.p-answer-tag.muted{background:var(--fill-2);color:var(--label-2)}.p-evidence-btn{margin-top:6px;padding:2px 0;border:0;background:none;color:var(--tint)!important;font-size:13px!important;font-weight:500}.p-evidence-none{display:inline-block;margin-top:6px;font-size:12px;color:var(--label-3)}.p-evidence{list-style:none;margin:8px 0 0;padding:8px 12px;border-radius:12px;background:var(--fill-3)}.p-evidence li{display:flex;justify-content:space-between;gap:12px;padding:4px 0;font-size:13px;color:var(--label-2)}.p-evidence time{flex:none;color:var(--label-3)}.p-tip{background:var(--accent-soft);box-shadow:none}.p-tip h3{color:var(--label)}.p-ask{margin-top:18px}.p-chat{height:100dvh;min-height:0}.p-context{display:flex;align-items:center;gap:6px;padding:8px 16px;font-size:12px;color:var(--label-2);background:var(--bg);border-bottom:.5px solid var(--separator)}.p-context svg{flex:none}.p-messages{display:flex;flex-direction:column;gap:12px}.p-msg{display:flex;flex-direction:column;align-items:flex-start;max-width:86%}.p-msg.mine{align-self:flex-end;align-items:flex-end}.p-bubble{padding:10px 14px;border-radius:20px;background:var(--surface);box-shadow:var(--shadow-1);font-size:16px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.p-msg.mine .p-bubble{background:var(--tint);color:var(--on-tint);box-shadow:none}.p-msg-meta{margin:4px 8px 0;font-size:11px;color:var(--label-3)}.p-msg-system{align-self:center;max-width:90%;margin:4px 0;font-size:12px;line-height:1.5;color:var(--label-3);text-align:center}.p-msg-error{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 4px 0;font-size:13px;color:var(--red)}.p-msg-error button{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 10px;border:0;border-radius:14px;background:var(--red-soft);color:var(--red)!important;font-size:13px!important;font-weight:600}.p-typing{display:inline-flex;gap:4px;padding:4px 0}.p-typing i{width:7px;height:7px;border-radius:50%;background:var(--label-3);animation:zx-pulse 1.2s var(--ease) infinite}.p-typing i:nth-child(2){animation-delay:.15s}.p-typing i:nth-child(3){animation-delay:.3s}.p-proposal{margin-top:8px;padding:12px 14px;border-radius:16px;background:var(--surface);box-shadow:var(--shadow-2);max-width:100%}.p-proposal b{font-size:13px;color:var(--accent)}.p-proposal p{margin:4px 0 10px;font-size:15px;line-height:1.55}.p-proposal>div{display:flex;gap:8px;flex-wrap:wrap}.p-proposal small{font-size:12px;color:var(--label-2)}.p-proposal.confirmed{background:var(--green-soft);box-shadow:none}.p-composer{display:flex;align-items:flex-end;gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:var(--material-thick);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-top:.5px solid var(--separator)}.p-composer textarea{flex:1;min-width:0;min-height:40px;max-height:140px;field-sizing:content;resize:none;padding:9px 14px;border:0;border-radius:20px;background:var(--surface);box-shadow:inset 0 0 0 .5px var(--separator-strong);font:16px/1.4 var(--font);color:var(--label);outline:none}.p-send{flex:none;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:var(--tint);color:var(--on-tint)!important}.parent-app .p-send:disabled{background:var(--fill-strong);opacity:1}.p-chat .p-banner{margin:0 12px 8px}.p-alert{align-items:flex-start}.p-alert-icon{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--fill-2);color:var(--label-2)}.p-alert.kind-report_ready .p-alert-icon{background:var(--tint-soft);color:var(--tint)}.p-alert.kind-lesson_ended_early .p-alert-icon,.p-alert.kind-connection_lost .p-alert-icon{background:var(--orange-soft);color:var(--label)}.p-alert-body{font-size:14px;line-height:1.55;color:var(--label)}.p-alert .p-chip{margin-top:2px}.p-alert:not(.unread) .p-row-title b{font-weight:500}.p-alert+.p-alert:before{left:62px}.p-me-head{display:flex;align-items:center;gap:14px;padding:4px 4px 8px}.p-me-head b{display:block;font-size:19px}.p-me-head small{font-size:13px;color:var(--label-2)}.p-row.static{cursor:default}.p-toggle-row{cursor:pointer}.p-switch{appearance:none;-webkit-appearance:none;flex:none;position:relative;width:51px;height:31px;margin:0;border-radius:16px;background:var(--fill-strong);cursor:pointer;transition:background var(--dur-2) var(--ease)}.p-switch:after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 3px 8px #00000026,0 1px 1px #00000014;transition:transform var(--dur-2) var(--spring)}.p-switch:checked{background:var(--tint)}.p-switch:checked:after{transform:translate(20px)}.p-time-row{gap:16px}.p-time-row label{display:flex;align-items:center;gap:8px;font-size:15px;color:var(--label-2)}.p-time-row input{padding:6px 10px;border:0;border-radius:8px;background:var(--fill-2);font:inherit;color:var(--label)}.p-mini-seg{flex:none;display:flex;padding:2px;border-radius:9px;background:var(--fill)}.p-mini-seg button{height:30px;padding:0 12px;border:0;border-radius:7px;background:transparent;font-size:13px!important;font-weight:500}.p-mini-seg button.on{background:var(--surface-raised);box-shadow:0 2px 6px #0000001a}.p-sheet-backdrop{position:fixed;inset:0;z-index:40;display:flex;align-items:flex-end;justify-content:center;background:#0000004d;animation:zx-fade-in var(--dur-2) var(--ease)}.p-action-sheet{width:100%;max-width:520px;margin:0 10px calc(10px + env(safe-area-inset-bottom));padding:16px;border-radius:20px;background:var(--surface-raised);display:flex;flex-direction:column;gap:8px;animation:zx-sheet-in var(--dur-3) var(--ease-out)}.p-action-sheet p{font-size:14px;line-height:1.6;color:var(--label-2);margin-bottom:6px;text-align:center}.p-action-sheet b{color:var(--label);font-size:16px}.p-pair{max-width:440px;margin:0 auto}.p-pair-hero{text-align:center;margin-bottom:22px}.p-pair-mark{display:inline-grid;place-items:center;width:72px;height:72px;margin-bottom:14px;border-radius:22px;background:var(--brand-grad);color:#fff;box-shadow:0 10px 24px var(--brand-shadow)}.p-pair-hero h1{font-family:var(--font-display);font-weight:var(--display-weight);font-size:26px}.p-pair-hero p{margin-top:8px;font-size:15px;line-height:1.6;color:var(--label-2)}.p-steps{margin:0 0 22px;padding:14px 16px 14px 36px;border-radius:16px;background:var(--surface);box-shadow:var(--shadow-1);font-size:14px;line-height:1.7;color:var(--label-2)}.p-steps b{color:var(--label)}.p-pair-form{display:flex;flex-direction:column;gap:18px}.p-label{display:block;font-size:13px;font-weight:600;color:var(--label-2);margin:0 0 8px 2px}.p-code{position:relative;display:block}.p-code-boxes{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.p-code-boxes i{display:grid;place-items:center;height:56px;border-radius:14px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--separator-strong);font-style:normal;font-size:26px;font-weight:600;font-variant-numeric:tabular-nums}.p-code:focus-within .p-code-boxes i.caret{box-shadow:inset 0 0 0 2px var(--tint)}.p-code-input{position:absolute;inset:26px 0 0;width:100%;opacity:0;font-size:16px}.p-segmented{margin:0;padding:0;border:0}.p-segmented>div{display:flex;padding:2px;border-radius:12px;background:var(--fill)}.p-segmented label{flex:1;display:grid;place-items:center;height:38px;border-radius:10px;font-size:15px;font-weight:500;cursor:pointer}.p-segmented label.on{background:var(--surface-raised);box-shadow:0 2px 6px #0000001a;font-weight:600}.p-segmented input{position:absolute;opacity:0;pointer-events:none}.p-segmented label:has(input:focus-visible){outline:3px solid var(--focus-ring)}.p-form-error{padding:10px 14px;border-radius:12px;background:var(--red-soft);font-size:14px}@media(min-width:700px){.p-content,.p-top{padding-left:24px;padding-right:24px}.p-top h1{font-size:34px}}.p-auth{justify-content:center;padding:max(32px,env(safe-area-inset-top)) 20px calc(32px + env(safe-area-inset-bottom))}.p-auth-inner{width:100%;max-width:400px;margin:0 auto}.p-auth-form{display:flex;flex-direction:column;gap:16px}.p-field-group{border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-1);overflow:hidden}.p-field{position:relative;display:flex;align-items:center;gap:12px;min-height:52px;padding:0 14px;font-size:16px}.p-field+.p-field:before{content:"";position:absolute;top:0;left:14px;right:0;border-top:.5px solid var(--separator)}.p-field>span{flex:none;width:44px;color:var(--label)}.p-field input{flex:1;min-width:0;height:48px;border:0;background:transparent;font:inherit;color:var(--label);outline:none}.p-field:focus-within{box-shadow:inset 3px 0 0 var(--tint)}.p-field-eye{flex:none;display:grid;place-items:center;width:36px;height:36px;margin-right:-8px;border:0;border-radius:50%;background:transparent;color:var(--label-3)!important}.p-field-eye:hover{background:var(--fill-2)}.p-auth .p-fine{justify-content:center;text-align:left}.p-logout{margin-top:18px}.p-logout .p-row{justify-content:center}.p-logout .p-row-main{align-items:center}.p-logout b{color:var(--red);font-weight:500}
