:root{--font-sans:Arial, sans-serif;--radius-md:14px;--radius-sm:8px;--radius-pill:999px;--surface:#fff;--page-bg:#f8f6fc;--line:#ded8ee;--purple-soft:#eee9fa;--purple-soft-border:#cfc5ea;--purple-primary:#4b2e83;--purple-mid:#7a67c7;--text-main:#272334;--text-muted:#6b657a;--bg:var(--page-bg);--card:var(--surface);--sub:var(--page-bg);--border:var(--line);--border2:var(--line);--text:var(--text-main);--muted:var(--text-muted);--deep-purple:var(--purple-primary);--soft-lavender:var(--purple-soft);--green:#3b6d11;--green2:#eaf3de;--amber:#854f0b;--amber2:#faeeda;--outcome-produced-bg:color-mix(in srgb, var(--purple-mid) 22%, var(--surface));--outcome-produced-border:var(--purple-mid);--outcome-produced-text:var(--purple-primary);--outcome-started-bg:var(--purple-soft);--outcome-started-border:var(--purple-soft-border);--outcome-started-text:var(--purple-primary);--outcome-none-bg:var(--page-bg);--outcome-none-border:var(--line);--outcome-none-text:var(--text-muted);--primary-action-bg:color-mix(in srgb, var(--purple-primary) 86%, var(--surface));--primary-action-border:var(--primary-action-bg);--primary-action-hover-bg:color-mix(in srgb, var(--purple-primary) 92%, var(--surface));--primary-action-hover-border:var(--primary-action-hover-bg);--primary-action-text:#fff;--primary-action-radius:var(--radius-md);--primary-action-focus:0 0 0 4px color-mix(in srgb, var(--purple-primary) 14%, transparent);--student-card-width:560px;--student-card-min-height:700px;--student-card-preferred-height:calc(100dvh - 56px);--student-card-max-height:820px;--student-card-height:clamp(var(--student-card-min-height), var(--student-card-preferred-height), var(--student-card-max-height));--student-card-padding:.75rem;--student-support-panel-width:380px;--student-layout-gap:48px;--student-support-item-height:64px;--student-tools-to-writing-gap:12px;--support-toolbar-gap:8px;--support-base-button-height:46px;--support-button-height:40px;--support-button-padding:8px 10px;--support-card-font-size:15px;--support-card-line-height:1.35;--student-writing-icon-size:28px;--student-inline-icon-size:30px;--student-panel-icon-size:32px;--support-touch-target-size:44px;--support-listen-icon-size:var(--student-inline-icon-size);--support-panel-icon-size:var(--student-panel-icon-size);--support-icon-bg:var(--soft-lavender);--support-icon-border:1px solid var(--line);--support-icon-radius:var(--radius-sm);--support-icon-text:var(--deep-purple);--student-workspace-container-width:calc(var(--student-card-width) + var(--student-layout-gap) + var(--student-support-panel-width));--student-prompt-height:64px;--student-prompt-block-height:69px;--student-prompt-block-gap:16px;--student-writing-surface-offset:264px;--student-writing-surface-height:calc(var(--student-card-height) - var(--student-writing-surface-offset));--student-section-textarea-height:260px;--student-outline-reference-textarea-height:44px;--student-badge-min-width:116px;--student-badge-font-size:11px;--student-badge-padding:3px 8px;--student-font-prompt:18px;--student-font-writing:16px;--student-line-writing:1.6;--student-font-tool-button:13px;--student-button-radius:var(--radius-md);--student-action-row-gap:8px;--student-action-row-clearance:8px;--student-action-row-height:calc(48px + var(--student-action-row-clearance));--student-done-button-min-width:150px;--student-done-button-height:46px;--student-next-button-height:40px;--student-next-button-min-width:104px;--student-progress-dot-size:8px;--student-progress-dot-gap:7px;--support-action-button-radius:var(--radius-md);--support-action-row-gap:8px;--support-action-button-height:34px;--support-action-button-font-size:13px;--support-close-button-size:var(--student-panel-icon-size);--support-offer-panel-bg:var(--surface);--support-offer-panel-idle-bg:var(--purple-soft);--support-offer-panel-border:1px solid var(--border);--support-offer-panel-accent:var(--support-offer-panel-border);--support-offer-panel-radius:var(--radius-md);--support-offer-panel-padding:2.1rem .8rem .8rem;--support-offer-panel-shadow:0 1px 2px color-mix(in srgb, var(--purple-primary) 8%, transparent);--support-offer-title-size:13px;--support-offer-title-weight:700;--support-offer-title-color:var(--text);--support-offer-title-margin-bottom:3px;--support-offer-body-size:13px;--support-offer-action-gap:var(--support-action-row-gap);--support-offer-action-margin-top:.65rem;--support-offer-action-button-height:var(--support-action-button-height);--support-offer-action-button-radius:var(--support-prompt-choice-radius);--support-offer-action-button-font-size:var(--support-action-button-font-size);--support-offer-close-button-size:var(--support-close-button-size);--support-prompt-choice-bg:var(--purple-soft);--support-prompt-choice-border:1px solid var(--purple-soft-border);--support-prompt-choice-text:var(--purple-primary);--support-prompt-choice-hover-bg:var(--purple-soft);--support-prompt-choice-hover-border:var(--purple-mid);--support-prompt-choice-hover-text:var(--purple-primary);--support-prompt-choice-radius:var(--radius-sm)}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--bg);color:var(--text-main);font-family:var(--font-sans)}button,input,select,textarea{font-family:inherit}.sr-only{white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hidden{display:none!important}.app{max-width:1180px;margin:0 auto;padding:1rem}.screen{display:none}.screen.active{display:block}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--adult-card-shadow);margin-bottom:1rem;padding:1.1rem}.app h2{margin-bottom:.5rem;font-size:18px;font-weight:700;line-height:1.35}.app h3{margin-bottom:.35rem;font-size:15px;font-weight:700;line-height:1.35}.app h4{color:var(--text);margin-bottom:.4rem;font-size:14px;font-weight:700;line-height:1.35}.app p,.app li{color:var(--muted);font-size:14px;line-height:1.55}.app .small{color:var(--muted);font-size:12px;line-height:1.45}.nav{border-bottom:1px solid var(--border);max-width:calc(1180px - 2rem);margin:1.5rem auto 1rem;padding:0;display:flex;overflow:auto}.nav-tab{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:9px 18px;font-size:13px;font-weight:700;text-decoration:none}.nav-tab.active,.nav-tab[aria-current=page]{border-bottom-color:var(--deep-purple);color:var(--deep-purple)}.nav-tab:focus-visible{box-shadow:inset 0 -3px 0 var(--purple-mid);color:var(--deep-purple);outline:none}.app input[type=text],.app select,.app textarea.settings{background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius-md);color:var(--text);font-family:var(--font-sans);width:100%;padding:8px 10px;font-size:13px}.app select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--deep-purple) 50%), linear-gradient(135deg, var(--deep-purple) 50%, transparent 50%);background-position:calc(100% - 18px),calc(100% - 12px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:34px}.app textarea.settings{resize:vertical;min-height:70px}.app textarea.wa:focus,.app input[type=text]:focus,.app select:focus,.app textarea.settings:focus{border-color:var(--purple-mid);box-shadow:var(--focus-ring);outline:none}.shell-page{align-items:center;min-height:100vh;padding:32px;display:flex}.teacher-nav{border-bottom:1px solid var(--line);gap:0;max-width:1180px;margin:0 auto 16px;padding:0;display:flex;overflow-x:auto}.teacher-nav a{color:var(--text-muted);border-bottom:2px solid #0000;flex:none;padding:9px 13px;font-size:13px;font-weight:700;text-decoration:none}.teacher-nav a:hover,.teacher-nav a:focus-visible{color:var(--purple-primary)}.teacher-nav a[aria-current=page]{border-bottom-color:var(--purple-primary);color:var(--purple-primary)}.teacher-nav a:focus-visible{outline:3px solid color-mix(in srgb, var(--purple-primary) 28%, transparent);outline-offset:-3px}.teacher-nav+.shell-page{align-items:flex-start;min-height:calc(100vh - 49px);padding-top:0}.student-header{color:var(--purple-primary);letter-spacing:0;z-index:10;font-size:24px;font-weight:800;position:fixed;top:18px;left:24px}.shell-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);max-width:720px;margin:0 auto;padding:32px}.shell-kicker{color:var(--purple-primary);margin:0 0 8px;font-size:14px;font-weight:700}h1{margin:0 0 16px;font-size:32px;line-height:1.15}p,li{color:var(--text-muted);font-size:16px;line-height:1.5}ul{margin:20px 0 0;padding-left:20px}.action-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px;display:flex}.btn:focus-visible,.text-link:focus-visible,input:focus-visible,.student-link-copy-btn:focus-visible,.support-starter-text:focus-visible,.support-picture-input:focus-visible,select:focus-visible,.modal-x:focus-visible,.prompt-read-aloud-button:focus-visible{outline:3px solid color-mix(in srgb, var(--purple-primary) 28%, transparent);outline-offset:2px}.auth-panel{max-width:960px}.auth-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px;display:grid}.auth-card{border:1px solid var(--line);border-radius:var(--radius-md);gap:14px;padding:20px;display:grid}.auth-card h2{margin:0;font-size:20px}.auth-account-page{background:var(--page-bg);color:var(--text-main);max-width:1180px;min-height:100vh;margin:0 auto;padding:1rem}.auth-account-page .account-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;margin-bottom:1rem;padding:1.1rem;box-shadow:0 1px 2px #00000008}.auth-account-page .signup-card{max-width:760px;margin:2rem auto}.auth-account-page h1{color:var(--text-main);margin:0 0 16px;font-size:32px;line-height:1.15}.auth-account-page h2{color:var(--text-main);margin:0 0 .5rem;font-size:18px;font-weight:700;line-height:1.35}.auth-account-page h3{color:var(--text-main);margin:0 0 .35rem;font-size:15px;font-weight:700;line-height:1.35}.auth-account-page p,.auth-account-page li{color:var(--text-muted);font-size:14px;line-height:1.55}.auth-account-page ul{margin:0 0 .65rem;padding-left:1.1rem}.auth-account-page .small{color:var(--text-muted);font-size:12px}.auth-account-page .form-error{color:var(--danger);font-weight:700}.auth-account-page .muted-box{background:var(--page-bg);border:1px solid var(--line);border-radius:var(--radius-md);padding:.75rem}.auth-account-page .muted-box p,.auth-account-page .muted-box .small{color:var(--text-main)}.auth-account-page .account-info-box{margin-bottom:1rem}.auth-account-page .account-info-box p,.auth-account-page .account-section-copy{margin:0 0 .65rem}.auth-account-page .account-two-col,.auth-account-page .feedback-grid,.auth-account-page .account-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.auth-account-page .account-form-grid{margin-bottom:.85rem}.auth-account-page .account-form-grid label:last-child{grid-column:1/-1}.auth-account-page .teacher-account-summary{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);margin-bottom:.85rem;padding:.85rem}.auth-account-page .teacher-account-summary p{margin:0}.auth-account-page .account-current-teacher{color:var(--text-main);font-size:15px;font-weight:700}.auth-account-page .account-actions,.auth-account-page .account-memory-form,.auth-account-page .account-modal-actions,.auth-account-page .account-recovery-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:.65rem;display:flex}.auth-account-page .account-inline-panel,.auth-account-page .account-delete-form{border-top:1px solid var(--line);gap:.75rem;margin-top:.85rem;padding-top:.85rem;display:grid}.auth-account-page .account-delete-form label,.auth-account-page .account-inline-panel label,.auth-account-page .account-recovery-row label{flex:220px;gap:.35rem;display:grid}.auth-account-page .account-memory-title{color:var(--text-main);margin:0 0 .45rem;font-size:13px;font-weight:700}.auth-account-page .account-memory-form label{min-width:180px}.auth-account-page .account-memory-select{box-sizing:border-box;flex:220px;width:100%;min-width:0;max-width:100%}.auth-account-page .account-create-form{gap:.85rem;display:grid}.auth-account-page .account-privacy-box{gap:.55rem;display:grid}.auth-account-page .account-privacy-box p{margin:0}.auth-account-page .account-full-button{justify-content:center;width:100%}.auth-account-page .account-feedback-form{gap:.75rem;display:grid}.auth-account-page .account-feedback-form textarea{resize:vertical;min-height:110px}.auth-account-page .account-goal-table-wrap{width:100%;overflow-x:auto}.auth-account-page .account-goal-table{border-collapse:collapse;color:var(--text-main);width:100%;min-width:560px;font-size:13px}.auth-account-page .account-goal-table th,.auth-account-page .account-goal-table td{border-bottom:1px solid var(--line);text-align:left;padding:.45rem .5rem}.auth-account-page .account-goal-table th{color:var(--text-muted);font-size:12px;font-weight:700}.auth-account-page .account-goal-table td:nth-child(3),.auth-account-page .account-goal-table td:nth-child(4),.auth-account-page .account-goal-table td:nth-child(5),.auth-account-page .account-goal-table td:nth-child(6),.auth-account-page .account-goal-table th:nth-child(3),.auth-account-page .account-goal-table th:nth-child(4),.auth-account-page .account-goal-table th:nth-child(5),.auth-account-page .account-goal-table th:nth-child(6){text-align:right}.auth-account-page .account-footer{text-align:center;margin:1rem 0 0}.auth-account-page .account-notice{max-width:760px;margin:0 auto 1rem}.auth-account-page .admin-mfa-account-panel{margin-top:.85rem}.admin-mfa-page{max-width:860px}.admin-mfa-page .account-card,.admin-mfa-page .account-inline-panel{box-sizing:border-box;min-width:0;max-width:100%}.admin-mfa-stack{gap:.85rem;margin-top:1rem;display:grid}.admin-mfa-challenge-form,.admin-mfa-challenge-form label,.admin-mfa-challenge-form select,.admin-mfa-challenge-form input,.admin-mfa-challenge-form button{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.admin-mfa-challenge-form select{text-overflow:ellipsis;overflow:hidden}.admin-mfa-challenge-form .btn{white-space:normal;justify-content:center}.admin-mfa-factor-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.admin-mfa-factor-list li{border:1px solid var(--line);border-radius:var(--radius-md);gap:.2rem;padding:.65rem;display:grid}.admin-mfa-factor-list span{color:var(--text-muted);font-size:12px}.admin-mfa-setup-grid{grid-template-columns:minmax(120px,180px) minmax(0,1fr);align-items:start;gap:.85rem;display:grid}.admin-mfa-qr{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;width:100%;max-width:180px;padding:.5rem;display:block}@media (max-width:820px){.auth-account-page .account-two-col,.auth-account-page .feedback-grid,.auth-account-page .account-form-grid,.admin-mfa-setup-grid{grid-template-columns:1fr}}.account-modal-backdrop{z-index:30;background:#231f2f6b;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.account-modal-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;width:100%;max-width:440px;padding:2.2rem 1.15rem 1.15rem;position:relative;box-shadow:0 20px 50px #231f2f38}.auth-account-page .modal-x{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--text-muted);cursor:pointer;z-index:5;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-size:20px;line-height:1;display:inline-flex;position:absolute;top:.65rem;right:.65rem}label{color:var(--text-main);gap:6px;font-size:14px;font-weight:700;display:grid}input,select{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-main);font:inherit;min-height:44px;padding:10px 12px}textarea{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-main);font:inherit;padding:14px}.notice{border-radius:var(--radius-sm);margin-top:16px;padding:12px 14px;font-size:14px;font-weight:700}.notice.error{color:#743333;background:#fff4f4;border:1px solid #e7bcbc}.notice.success{background:var(--purple-soft);border:1px solid var(--purple-soft-border);color:var(--purple-primary)}.small-note{margin-top:22px;font-size:14px}.save-status{color:var(--purple-primary);margin:0;font-size:14px;font-weight:700}.save-status.error{color:#743333}.text-link{color:var(--purple-primary);margin-top:6px;font-weight:700;display:inline-flex}.join-form{gap:14px;margin-top:24px;display:grid}#screen-join .chip-row{align-items:center}#screen-join #join-code-input,#screen-join .chip-row .btn{min-height:44px}.writing-page{align-items:stretch;padding-top:72px}.student-active-writing-page{align-items:flex-start;padding:32px 0}.writing-panel{gap:16px;width:100%;max-width:1120px;display:grid}.student-writing-panel{max-width:min(var(--student-workspace-container-width), calc(100% - 2rem));background:0 0;border:0;padding:0;display:block}.student-preview-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 4px 18px color-mix(in srgb, var(--text-main) 8%, transparent);gap:12px;width:100%;margin:0 auto 1rem;padding:.65rem .9rem .8rem;display:grid}.student-preview-header{justify-items:start;gap:4px;display:grid}.student-preview-back-link{color:var(--purple-primary);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.student-preview-back-link:hover{color:var(--purple-primary);text-decoration:underline}.student-preview-title{color:var(--text);margin:0;font-size:15px;font-weight:700;line-height:1.35}.student-preview-note{color:var(--muted);margin:0;font-size:12px;line-height:1.35}.student-preview-controls{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:10px;display:grid}.student-preview-control{color:var(--muted);gap:3px;min-width:0;font-size:11px;font-weight:700;display:grid}.student-preview-control>span{padding-left:.55rem}.student-preview-native-select{display:none}.student-preview-dropdown{min-width:0;position:relative}.student-preview-dropdown-btn{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);cursor:pointer;font:inherit;text-align:left;justify-content:flex-start;align-items:center;width:100%;min-width:0;padding:.45rem 1.8rem .45rem .55rem;font-size:13px;font-weight:500;display:flex;position:relative}.student-preview-dropdown-btn:after{content:"";background:url("data:image/svg+xml,%3Csvg width='13' height='7' viewBox='0 0 13 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.5 1.25L6.5 5.25L11.5 1.25' stroke='%23534AB7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/13px 7px no-repeat;width:13px;height:7px;position:absolute;top:50%;right:.62rem;transform:translateY(-50%)}.student-preview-dropdown-btn[aria-expanded=true]:after{transform:translateY(-50%)rotate(180deg)}.student-preview-dropdown-btn:focus{outline:none}.student-preview-dropdown-btn:focus-visible{border-color:var(--purple-mid);box-shadow:var(--focus-ring)}.student-preview-dropdown-menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);z-index:40;gap:4px;max-height:220px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 10px 24px #26213329}.student-preview-dropdown-option{background:var(--surface);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;font:inherit;text-align:left;border:0;width:100%;padding:.48rem .55rem;font-size:13px;font-weight:600}.student-preview-dropdown-option:hover,.student-preview-dropdown-option:focus-visible,.student-preview-dropdown-option.selected{background:var(--soft-lavender);color:var(--deep-purple)}.student-preview-dropdown-option:focus-visible{outline:none}.student-writing-header{justify-content:space-between;align-items:center;margin:0 0 .75rem;display:flex}.student-writing-logo{color:var(--purple-primary);font-size:15px;font-weight:700}.student-phase-pill{background:var(--purple-soft);color:var(--purple-primary);font-size:var(--student-badge-font-size);min-width:var(--student-badge-min-width);padding:var(--student-badge-padding);text-align:center;border-radius:999px;font-weight:700}.student-phase-pill.draft{color:#3b6d11;background:#eaf3de}.student-prompt-card{border:1px solid var(--line);border-radius:var(--radius-md);height:var(--student-prompt-block-height);margin-bottom:var(--student-prompt-block-gap);min-height:var(--student-prompt-block-height);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:0 52px 0 16px;display:grid;position:relative}.student-prompt-text{color:var(--text-main);font-size:var(--student-font-prompt);margin:0;font-weight:500;line-height:1.5;min-height:54px!important}.student-prompt-placeholder{color:var(--muted)}.student-prompt-block{margin-bottom:.85rem}.app .student-prompt-label{color:var(--text-main);margin:0;font-size:14px;font-weight:700}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.chip-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}body:not(.student-join) .student-prompt-block{padding:0}body:not(.student-join) .student-prompt-block .row-between{padding:0 1rem}.prompt-read-aloud-button{background:var(--support-icon-bg);border:var(--support-icon-border);border-radius:var(--support-icon-radius);color:var(--support-icon-text);cursor:pointer;height:var(--support-listen-icon-size);min-height:var(--support-listen-icon-size);min-width:var(--support-listen-icon-size);width:var(--support-listen-icon-size);justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:10px;right:10px}.prompt-read-aloud-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:18px;height:18px}.writing-panel h1,.writing-panel p{margin-bottom:0}.writing-form{gap:0;display:grid}.student-workspace{align-items:start;gap:var(--student-layout-gap);grid-template-columns:var(--student-card-width) var(--student-support-panel-width);max-width:var(--student-workspace-container-width);justify-content:flex-start;width:100%;margin:0 auto;display:grid}.writing-pane{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);height:var(--student-card-height);max-width:var(--student-card-width);min-height:var(--student-card-height);min-width:0;padding:var(--student-card-padding);width:var(--student-card-width);flex-direction:column;gap:0;display:flex;overflow:hidden}.writing-pane:has(.review-workspace){height:auto;min-height:var(--student-card-height);overflow:visible}.support-sidebar{min-height:0;width:var(--student-support-panel-width);align-self:start;gap:12px;display:grid;position:relative;top:0}.writing-finish-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-left:auto;display:flex}.writing-finish-actions .btn{min-height:var(--student-done-button-height);min-width:var(--student-done-button-min-width)}.writing-area-label{gap:0;display:grid}.writing-area{color:var(--text-main);font-size:var(--student-font-writing);line-height:var(--student-line-writing);resize:vertical;width:100%;min-height:340px}.textarea-control-wrap{position:relative}.textarea-control-wrap>.writing-area{box-sizing:border-box;padding:1rem 78px 1rem 1.25rem}.textarea-icon-pair{z-index:2;gap:8px;display:flex;position:absolute;top:10px;right:10px}.writing-section-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.writing-section-heading label{color:var(--purple-primary);align-items:center;gap:10px;min-width:0;font-size:14px;font-weight:700;display:flex}.writing-section-actions{flex:none;gap:8px;display:flex}.outline-review-move-controls{gap:6px;margin-left:auto;display:flex}.outline-review-move-btn{box-shadow:none;color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;padding:0;font-size:20px;line-height:1;display:inline-flex}.outline-review-move-btn:hover{color:var(--text);background:0 0}.outline-review-move-btn:focus-visible{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--purple-mid) 20%, transparent);outline:none}.outline-review-move-btn:disabled{color:var(--student-border-color);cursor:not-allowed;opacity:1}.outline-review-move-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.75px;width:22px;height:22px;display:block}.read-aloud-button,.voice-to-text-button{background:var(--support-icon-bg);border:var(--support-icon-border);border-radius:var(--support-icon-radius);color:var(--support-icon-text);height:var(--student-writing-icon-size);min-height:var(--student-writing-icon-size);min-width:var(--student-writing-icon-size);width:var(--student-writing-icon-size);flex:none;padding:0}.voice-to-text-button[aria-pressed=true]{background:var(--purple-soft);border-color:var(--purple-primary)}.read-aloud-icon,.voice-to-text-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:18px;height:18px}.speech-status{color:var(--text-muted);min-height:17.4px;margin:0;font-size:12px;line-height:1.45}.speech-status-empty{visibility:hidden}.workspace-sections{flex-direction:column;flex:auto;gap:10px;min-height:0;display:flex;overflow:hidden}.workspace-sections:has(.current-outline-reference){overflow:hidden auto}.workspace-sections:has(.review-workspace){height:auto;min-height:0;max-height:none;overflow:visible}.workspace-section{flex-direction:column;flex:auto;gap:10px;min-height:0;display:flex}.workspace-section h2{display:none}.draft-step-status,.outline-step-status{color:var(--purple-primary);margin:0;font-size:13px;font-weight:700}.draft-step-actions,.outline-step-actions{justify-content:flex-end;gap:10px;min-height:44px;margin-top:4px;display:flex}.draft-step-actions.part-next-row,.outline-step-actions.part-next-row{min-height:var(--student-next-button-height);margin-top:0}.sectioned-writing-areas{flex-direction:column;flex:auto;gap:12px;min-height:0;display:flex;overflow:auto}.focused-outline-workspace .sectioned-writing-areas,.focused-draft-workspace .sectioned-writing-areas{overflow:hidden}.focused-outline-workspace .section-writing-label,.focused-draft-workspace .section-writing-label{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);flex:auto;grid-template-rows:minmax(61px,auto) minmax(0,1fr);min-height:0;transition:border-color .15s,box-shadow .15s;display:grid;overflow:hidden}.open-writing-workspace .section-writing-label{grid-template-rows:minmax(0,1fr)}.focused-outline-workspace .section-writing-label:focus-within,.focused-draft-workspace .section-writing-label:focus-within,.focused-outline-workspace .section-writing-label.active-writing-section,.focused-draft-workspace .section-writing-label.active-writing-section{border-color:var(--purple-mid);box-shadow:0 0 0 2px color-mix(in srgb, var(--purple-mid) 16%, transparent)}.focused-outline-workspace .section-writing-area:focus,.focused-draft-workspace .section-writing-area:focus{box-shadow:none;outline:none}.focused-outline-workspace .writing-section-heading,.focused-draft-workspace .writing-section-heading{background:var(--surface);border-bottom:1px solid var(--line);box-sizing:border-box;z-index:1;flex:none;min-height:61px;padding:1rem 1.25rem;position:relative}.focused-outline-workspace .textarea-control-wrap,.focused-draft-workspace .textarea-control-wrap{flex:auto;min-height:0;display:flex;overflow:hidden}.section-writing-area{border:0;border-radius:0;min-height:140px}.focused-outline-workspace .section-writing-area,.focused-draft-workspace .section-writing-area{overscroll-behavior:contain;resize:none;flex:auto;height:auto;min-height:0;scroll-padding-bottom:4rem;overflow:auto}.focused-outline-workspace .textarea-control-wrap>.section-writing-area,.focused-draft-workspace .textarea-control-wrap>.section-writing-area{padding-bottom:4rem}.open-writing-workspace .section-writing-area{overscroll-behavior:contain;resize:none;flex:auto;height:auto;min-height:0;scroll-padding-bottom:4rem;overflow:auto}.student-action-row{align-items:center;gap:var(--student-action-row-gap);flex:none;min-height:54px;margin-top:.55rem;padding-top:0;display:flex}.outline-progress-dots{align-items:center;gap:var(--student-progress-dot-gap);min-height:var(--student-progress-dot-size);flex:auto;display:flex}.outline-progress-dot{background:var(--surface);border:1px solid var(--purple-soft-border);border-radius:var(--radius-pill);height:var(--student-progress-dot-size);width:var(--student-progress-dot-size);flex:none;display:inline-block}.outline-progress-dot.active{background:var(--purple-soft);border-color:var(--purple-primary)}.outline-progress-dot.filled{background:var(--purple-primary);border-color:var(--purple-primary)}.outline-progress-dot.draft-filled{background:var(--green);border-color:var(--green)}.outline-status-dot{background:var(--surface);border:1px solid var(--purple-soft-border);border-radius:var(--radius-pill);height:var(--student-progress-dot-size);width:var(--student-progress-dot-size);flex:none;display:inline-block}.outline-status-dot.filled{background:var(--purple-primary);border-color:var(--purple-primary)}.outline-status-dot.draft-filled{background:var(--green);border-color:var(--green)}.student-action-row .save-status{white-space:nowrap;margin-left:auto;font-size:12px}.student-action-row .btn,.student-action-row .audio-btn,.student-action-row .mic-btn{border-radius:var(--radius-md);font-size:var(--student-font-tool-button);letter-spacing:0;min-height:var(--student-done-button-height);padding:9px 12px;line-height:1.2}.student-action-row button:disabled{box-shadow:none;cursor:not-allowed;opacity:1;background:var(--sub)!important;border-color:var(--border)!important;color:var(--deep-purple)!important}.student-main-action{min-height:var(--student-action-row-height);min-width:190px}.student-main-action.writing-finish-actions{min-height:var(--student-next-button-height)}.student-main-action .btn{justify-content:center;min-width:170px}.student-action-row #done-btn{background:var(--surface);border-color:var(--border);border-radius:var(--support-action-button-radius);box-shadow:none;color:var(--muted);height:var(--student-next-button-height);min-height:var(--student-next-button-height);padding:8px 14px;font-weight:600}.student-action-row .next-action{border-radius:var(--primary-action-radius);box-shadow:none;transform:none;background:var(--primary-action-bg)!important;border-color:var(--primary-action-border)!important;color:var(--primary-action-text)!important}.student-action-row .next-action:focus-visible{box-shadow:var(--primary-action-focus);outline:none}.student-action-row button.next-action:disabled{background:var(--soft-lavender)!important;border-color:var(--deep-purple)!important;box-shadow:none!important;color:var(--deep-purple)!important}.part-next-row{min-height:var(--student-next-button-height);justify-content:space-between;align-items:center;gap:10px;display:flex}.part-next-btn{background:var(--surface);border:1px solid var(--line);border-radius:var(--student-button-radius);color:var(--muted);cursor:pointer;font-size:var(--student-font-tool-button);min-height:var(--student-next-button-height);min-width:var(--student-next-button-min-width);padding:8px 14px;font-weight:700}.part-next-btn:hover{background:var(--sub);color:var(--text)}.part-forward-btn:not(.part-nav-hidden){background:var(--primary-action-bg);border-color:var(--primary-action-border);border-radius:var(--primary-action-radius);box-shadow:none;color:var(--primary-action-text)}.part-forward-btn:not(.part-nav-hidden):focus-visible{box-shadow:var(--primary-action-focus);outline:none}.part-forward-btn:not(.part-nav-hidden):hover{background:var(--primary-action-hover-bg);border-color:var(--primary-action-hover-border);color:var(--primary-action-text)}.part-back-btn:not(.part-nav-hidden){background:var(--surface);border-color:var(--border);border-radius:var(--support-action-button-radius);box-shadow:none;color:var(--muted)}.part-next-btn.part-nav-hidden{pointer-events:none;visibility:hidden}.review-workspace{background:var(--page-bg);border:1px solid var(--line);border-radius:var(--radius-sm);flex-direction:column;flex:none;gap:6px;height:auto;min-height:0;max-height:none;padding:14px;display:flex;overflow:visible}.review-workspace .sectioned-writing-areas{gap:10px;height:auto;min-height:0;max-height:none;display:grid;overflow:visible}.review-workspace .section-writing-label{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);height:auto;min-height:0;padding:0;overflow:hidden}.review-workspace .writing-section-heading{border-bottom:1px solid var(--line);min-height:48px;padding:4px 8px 4px 12px}.review-workspace .outline-review-move-controls{width:calc((var(--student-writing-icon-size) * 2) + 8px);justify-content:center;gap:8px;margin-right:8px}.review-workspace .outline-review-move-btn{min-width:var(--student-writing-icon-size);width:var(--student-writing-icon-size)}.review-workspace .textarea-control-wrap{flex:none;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;min-height:0;display:grid}.review-workspace .section-writing-area{box-sizing:border-box;resize:none;scrollbar-width:none;text-indent:0;min-width:0;padding:8px 10px 8px 16px;display:block;height:auto!important;min-height:62px!important;max-height:none!important;overflow:hidden!important}.review-workspace .outline-review-readonly{white-space:pre-wrap}.review-workspace .outline-review-placeholder{color:var(--text-muted)}.review-workspace .section-writing-area:focus{box-shadow:none;outline:none}.review-workspace .section-writing-area::-webkit-scrollbar{display:none}.review-workspace .textarea-icon-pair{pointer-events:auto;width:calc((var(--student-writing-icon-size) * 2) + 8px);z-index:auto;justify-content:center;margin:8px 8px 0 0;position:static;top:auto;right:auto}.review-workspace .outline-review-read-actions{align-items:center}.current-outline-reference{background:var(--page-bg);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-muted);flex:none;overflow:hidden}.current-outline-reference:has(textarea:focus){border-color:var(--purple-mid);box-shadow:0 0 0 2px color-mix(in srgb, var(--purple-mid) 16%, transparent)}.current-outline-reference summary{background:var(--page-bg);box-sizing:border-box;cursor:pointer;flex:0 0 44px;justify-content:space-between;align-items:center;height:44px;min-height:44px;padding:10px 12px;font-size:13px;font-weight:500;list-style:none;display:flex}.current-outline-reference summary::-webkit-details-marker{display:none}.current-outline-reference summary:after{color:var(--text-muted);content:"+";font-size:19px;font-weight:700;line-height:1}.current-outline-reference[open] summary:after{content:"–"}.current-outline-reference[open] summary{border-bottom:1px solid var(--line)}.current-outline-reference summary:focus-visible{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--purple-mid) 18%, transparent);outline:none}.outline-reference-body{background:var(--page-bg);border:0;padding:0}.part-title{align-items:center;gap:10px;min-width:0;display:inline-flex}.outline-textarea-wrap{position:relative}.current-outline-reference-empty-state{color:var(--text-muted);cursor:text;pointer-events:auto;z-index:1;margin:0;padding:1rem 96px 0 1.25rem;font-size:14px;line-height:1.45;position:absolute;inset:0 0 auto}.current-outline-reference-empty-prefix{visibility:hidden;white-space:pre}.current-outline-reference .textarea-icon-pair{top:10px;right:10px}.current-outline-reference textarea{background:var(--page-bg);box-sizing:border-box;color:var(--text-main);font-family:var(--font-sans);height:auto;max-height:none;min-height:var(--student-outline-reference-textarea-height);resize:none;text-indent:0;border:0;width:100%;padding:1rem 96px 1rem 1.25rem;font-size:14px;line-height:1.45;display:block;overflow:hidden}.current-outline-reference textarea:focus{box-shadow:none;outline:none}.stuck-card{background:var(--support-offer-panel-bg);border:var(--support-offer-panel-border);border-left:var(--support-offer-panel-accent);border-radius:var(--radius-md);box-shadow:var(--support-offer-panel-shadow);gap:var(--support-offer-action-gap);padding:var(--support-offer-panel-padding);display:grid;position:relative}.stuck-card.idle{background:var(--support-offer-panel-idle-bg);box-shadow:none}.stuck-card .modal-x{border:.5px solid var(--border);height:var(--support-offer-close-button-size);min-height:var(--support-offer-close-button-size);min-width:var(--support-offer-close-button-size);width:var(--support-offer-close-button-size);padding:0;font-size:18px;line-height:1}.stuck-support-copy{align-items:flex-start}.stuck-title{color:var(--support-offer-title-color);font-size:var(--support-offer-title-size);font-weight:var(--support-offer-title-weight);margin:0 0 var(--support-offer-title-margin-bottom)}.stuck-card p{font-size:var(--support-offer-body-size);margin:0}.stuck-support-actions{margin-top:var(--support-offer-action-margin-top);flex-direction:column;place-items:flex-start;gap:10px;display:flex}.support-prompt-choice,.btn.support-prompt-choice{background:var(--support-prompt-choice-bg);border:var(--support-prompt-choice-border);border-radius:var(--support-offer-action-button-radius);color:var(--support-prompt-choice-text);font-size:var(--support-offer-action-button-font-size);min-height:var(--support-offer-action-button-height);justify-content:center;padding:7px 10px}.support-prompt-choice:hover,.btn.support-prompt-choice:hover{background:var(--support-prompt-choice-hover-bg);border-color:var(--support-prompt-choice-hover-border);color:var(--support-prompt-choice-hover-text)}.support-tools-area{background:0 0;border:0;border-radius:0;gap:10px;padding:0;display:grid}.support-tools-area h2,.support-tool-panel h3{margin:0}.support-tools-area h2{color:var(--text-main);font-size:18px;line-height:1.1}.student-support-toolbar-under-prompt{margin-bottom:var(--student-tools-to-writing-gap)}.student-support-toolbar-under-prompt h2{display:none}.student-support-toolbar-under-prompt .support-tool-list{margin-top:0}.support-tool-list{gap:var(--support-toolbar-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.tool-btn{background:var(--purple-soft);border:1.5px solid var(--purple-soft-border);border-radius:var(--radius-md);color:var(--text-main);cursor:pointer;font:inherit;font-size:var(--student-font-tool-button);min-height:var(--support-button-height);padding:var(--support-button-padding);text-align:center;white-space:nowrap;justify-content:center;align-items:center;font-weight:600;line-height:1.2;display:inline-flex}.tool-btn:focus-visible{outline:3px solid color-mix(in srgb, var(--purple-primary) 28%, transparent);outline-offset:2px}.support-tool-button{min-height:var(--support-button-height)}.support-tool-button .support-tool-icon{display:none}.support-tool-button[aria-pressed=true],.support-tool-button.active-support{background:var(--purple-soft);border-color:var(--purple-primary);color:var(--purple-primary)}.support-tool-panel{background:var(--surface);border:.5px solid var(--line);border-radius:var(--radius-md);gap:12px;padding:2rem 1rem 1rem;display:grid;position:relative}.support-tool-panel-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.support-tool-panel p{color:var(--text-muted);margin:0;font-size:13px;line-height:1.35}.support-tool-panel h3{color:var(--text-main);font-size:15px;font-weight:700}.support-tool-close.modal-x{background:var(--surface);border:.5px solid var(--border);color:var(--muted);cursor:pointer;height:var(--support-close-button-size);min-height:var(--support-close-button-size);min-width:var(--support-close-button-size);width:var(--support-close-button-size);border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:18px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:.65rem;right:.65rem}.ideas-question-panel,.support-picture-panel,.support-starter-panel{gap:10px;display:grid}.ideas-question-count,.support-starter-count{color:var(--text-muted);font-size:14px;font-weight:700}.ideas-question-card,.support-starter-choice-row{background:var(--surface);border:.5px solid var(--line);border-radius:var(--radius-md);color:var(--text-main);font-size:var(--support-card-font-size);line-height:var(--support-card-line-height);min-height:var(--student-support-item-height);padding:8px 44px 8px 14px;position:relative}.support-starter-choice-row{align-items:center;gap:8px;display:flex}.support-starter-text{color:var(--text-main);cursor:pointer;font-family:inherit;font-size:var(--support-card-font-size);text-align:left;background:0 0;border:0;flex:auto;min-height:44px;padding:0;font-weight:400;line-height:1.4}.support-starter-text:hover,.support-starter-text:focus-visible{color:var(--purple-primary)}.starter-helper-text{color:var(--text-muted);margin:0;font-size:12px;line-height:1.35}.support-card-listen,.support-starter-listen{background:var(--support-icon-bg);border:var(--support-icon-border);border-radius:var(--support-icon-radius);color:var(--support-icon-text);height:var(--support-panel-icon-size);min-height:var(--support-panel-icon-size);min-width:var(--support-panel-icon-size);width:var(--support-panel-icon-size);flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.support-starter-listen-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:18px;height:18px}.support-picture-form{grid-template-columns:1fr;gap:8px;display:grid}.support-picture-field{display:block}.support-picture-availability{color:var(--text-main);min-height:19px;margin:0;font-size:13px;font-weight:700;line-height:1.4}.support-picture-field span{color:var(--text-main);font-size:14px;font-weight:700}.image-idea-input-wrap{width:100%;display:block;position:relative}.support-picture-input{background:var(--surface);border:.5px solid var(--line);border-radius:var(--radius-md);color:var(--text-main);font:inherit;font-size:var(--support-card-font-size);min-height:var(--student-support-item-height);width:100%;padding:8px 44px 8px 14px;line-height:1.5}.support-picture-input:focus{border-color:var(--purple-primary);outline:3px solid var(--purple-soft-border);outline-offset:2px}.support-picture-mic{background:var(--support-icon-bg);border:var(--support-icon-border);border-radius:var(--support-icon-radius);color:var(--support-icon-text);height:var(--support-listen-icon-size);min-height:var(--support-listen-icon-size);min-width:var(--support-listen-icon-size);width:var(--support-listen-icon-size);justify-content:center;align-items:center;padding:0;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.support-picture-message{border:.5px solid var(--line);border-radius:var(--radius-md);padding:10px 12px;font-size:13px;font-weight:700}.support-picture-message.blocked,.support-picture-message.error,.support-picture-message.unavailable{background:var(--surface);color:var(--text-main)}.support-picture-message.unavailable strong,.support-picture-message.unavailable span{display:block}.support-picture-message.generating{background:var(--surface);color:var(--text-main)}.support-picture-message.ready{background:var(--purple-soft);border-color:var(--purple-soft-border);color:var(--purple-primary)}.support-picture-placeholder{background:var(--surface);border:.5px dashed var(--line);border-radius:var(--radius-md);color:var(--text-muted);text-align:center;place-items:center;gap:10px;min-height:180px;padding:20px;display:grid}.support-picture-placeholder.ready{color:var(--text-main);border-style:solid}.support-picture-placeholder-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:48px;height:48px}.support-picture-image{border-radius:var(--radius-md);object-fit:contain;width:min(100%,360px);max-width:100%;height:auto;max-height:360px;display:block}.ideas-question-actions,.support-picture-actions,.support-starter-actions{flex-wrap:wrap;gap:8px;display:flex}.prototype-picture-preview-notice{color:var(--text-muted);margin:0;font-size:12px;font-weight:700;line-height:1.35}.prototype-save-picture-action{justify-self:start}.prototype-section-picture-card{background:var(--surface);border:.5px solid var(--line);border-radius:var(--radius-md);margin:8px 0 10px;padding:10px}.prototype-section-picture-content{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.prototype-section-picture-thumb{background:var(--surface-soft);border:.5px solid var(--line);border-radius:var(--radius-sm);object-fit:contain;flex:none;width:min(160px,100%);max-height:120px;display:block}.prototype-section-picture-copy{flex:220px;gap:7px;display:grid}.prototype-section-picture-copy h3{color:var(--text-main);margin:0;font-size:15px;font-weight:800;line-height:1.3}.prototype-section-picture-copy p{color:var(--text-muted);margin:0;font-size:12px;font-weight:700;line-height:1.35}.prototype-section-picture-actions{flex-wrap:wrap;gap:8px;display:flex}.prototype-picture-reference-panel{align-content:start}.prototype-picture-reference-image{background:var(--surface-soft);border:.5px solid var(--line);border-radius:var(--radius-md);object-fit:contain;width:100%;max-width:100%;max-height:min(48vh,420px);margin:0 auto;display:block}.prototype-picture-reference-questions,.prototype-generated-picture-followup{gap:10px;display:grid}.prototype-picture-reference-questions h4{color:var(--text-main);margin:0;font-size:14px;font-weight:800;line-height:1.3}.prototype-picture-question-card{color:var(--text-main);font-size:var(--support-card-font-size);font-weight:400;line-height:1.35}@media (max-width:640px){.support-picture-form{grid-template-columns:1fr}.prototype-section-picture-content{align-items:stretch}.prototype-section-picture-thumb{width:100%;max-height:220px}.prototype-section-picture-actions .btn{flex:auto}}.project-context{border:1px solid var(--line);border-radius:var(--radius-sm);gap:10px;padding:14px;display:grid}.project-context-title{color:var(--text-main);margin:0;font-weight:700}.project-context-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.project-context-list div{gap:3px;display:grid}.project-context-list dt{color:var(--text-muted);font-size:12px;font-weight:700}.project-context-list dd{color:var(--text-main);margin:0;font-size:14px;font-weight:700}.saved-writing-copy{gap:12px;display:grid}.saved-writing-copy h2{margin:0;font-size:20px}#screen-copy-writing #copy-writing-helper,#screen-copy-writing #copy-writing-status,#screen-copy-writing #copy-writing-fallback p,#screen-copy-writing #copy-writing-text{font-size:var(--student-font-writing);line-height:var(--student-line-writing)}#screen-copy-writing #copy-writing-text{color:var(--text);font-family:var(--font-sans);font-weight:400}.saved-writing-area{min-height:220px}.copy-action{gap:12px;display:grid}.copy-status{color:var(--purple-primary);font-size:14px;font-weight:700}.copy-status.error{color:#743333}.copy-writing-fallback{gap:8px;margin-top:2px;display:grid}.copy-writing-fallback .saved-writing-area{min-height:160px}.modal-backdrop{z-index:30;background:#231f2f6b;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:min(440px,100%);padding:2.2rem 1.15rem 1.15rem;position:relative;box-shadow:0 20px 50px #231f2f38}.modal-card h2{color:var(--text);margin:0 0 .5rem;font-size:18px;font-weight:700;line-height:1.35}.modal-card p{color:var(--text);margin:.5rem 0 1rem}.student-done-actions{flex-wrap:wrap;gap:8px;margin-top:1rem;display:flex}.student-done-actions .writing-finish-form{flex:none;min-width:auto;display:flex}#student-done-modal .student-done-choice-btn,.student-done-choice-btn{background:var(--purple-soft);border:1px solid var(--purple-mid);border-radius:var(--radius-md);box-shadow:none;color:var(--purple-primary);justify-content:center;width:auto;min-height:50px;font-size:15px;font-weight:700}#student-done-modal .student-done-choice-btn:hover,#student-done-modal .student-done-choice-btn:focus-visible,.student-done-choice-btn:hover,.student-done-choice-btn:focus-visible{background:var(--purple-soft);border-color:var(--purple-primary);color:var(--purple-primary)}.narrative-next-card,.remove-event-card{width:min(400px,100%);padding:2.1rem 1rem 1rem;position:relative}.modal-card .narrative-next-question,.modal-card .remove-event-title{color:var(--text);text-align:center;margin:0 0 10px;font-size:16px;font-weight:700;line-height:1.35}.narrative-next-card .modal-x,.remove-event-card .modal-x{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--muted);width:34px;height:34px;font-size:20px;line-height:1;top:.65rem;right:.65rem}.narrative-next-card .modal-x:hover,.remove-event-card .modal-x:hover,.narrative-next-card .modal-x:focus-visible,.remove-event-card .modal-x:focus-visible{background:var(--sub);color:var(--text)}.narrative-next-actions{flex-wrap:nowrap;align-items:center;gap:8px;display:flex}.narrative-next-actions .narrative-next-choice-btn{background:var(--purple-soft);border:1px solid var(--purple-mid);border-radius:var(--radius-md);box-shadow:none;color:var(--purple-primary);white-space:nowrap;flex:1 1 0;justify-content:center;min-width:0;min-height:50px;font-size:15px;font-weight:700}.narrative-next-actions .narrative-next-choice-btn:hover,.narrative-next-actions .narrative-next-choice-btn:focus-visible{background:var(--purple-soft);border-color:var(--purple-primary);color:var(--purple-primary)}.narrative-event-header-controls{flex:none;justify-content:flex-end;align-items:center;gap:6px;min-height:28px;margin-left:auto;display:flex}.narrative-event-btn{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--muted);cursor:pointer;justify-content:center;align-items:center;min-width:0;min-height:26px;padding:4px 7px;font-size:11px;font-weight:600;display:inline-flex}.narrative-event-btn:hover,.narrative-event-btn:focus-visible{background:var(--sub);color:var(--text)}.remove-event-message{color:var(--text);text-align:left;margin:.5rem 0 1rem}.remove-event-actions{flex-wrap:nowrap;align-items:center;gap:8px;display:flex}.remove-event-actions .remove-event-choice-btn{background:var(--purple-soft);border:1px solid var(--purple-mid);border-radius:var(--radius-md);box-shadow:none;color:var(--purple-primary);white-space:nowrap;flex:1 1 0;justify-content:center;align-items:center;min-width:0;min-height:50px;font-size:15px;font-weight:700;display:inline-flex}.remove-event-actions .remove-event-choice-btn:hover,.remove-event-actions .remove-event-choice-btn:focus-visible{background:var(--purple-soft);border-color:var(--purple-primary);color:var(--purple-primary)}.dashboard-panel{max-width:760px}.teacher-page{align-items:flex-start}.profile-summary{background:var(--purple-soft);border:1px solid var(--purple-soft-border);border-radius:var(--radius-md);margin:24px 0;padding:16px}.profile-summary p{margin:0}.profile-summary p+p{margin-top:8px}.dashboard-section{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.section-heading-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.section-heading-row h2{margin:0;font-size:22px}.section-heading-row .small-note{margin:4px 0 0}.writer-list{gap:10px;margin:18px 0 0;padding:0;list-style:none;display:grid}.writer-row{border:1px solid var(--line);border-radius:var(--radius-md);gap:14px;min-height:64px;padding:14px 16px;display:grid}.writer-row-main{justify-content:space-between;align-items:center;gap:16px;display:flex}.project-create-prompt{flex:240px}.session-setup-review{background:var(--soft-lavender);border:1px solid var(--border);border-radius:var(--radius-md);padding:.8rem}.teacher-session-intro{background:var(--surface);border-color:var(--border);margin-bottom:.85rem;padding:1rem}#student-account-select,.teacher-create-writer{height:42px}.setup-heading-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.session-setup-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:.55rem;display:grid}.setup-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);grid-column:1/-1;gap:0;padding:.65rem;display:grid}.app .setup-section-title{color:var(--text);margin:0 0 .68rem;font-size:13px;font-weight:700;line-height:1.35}.setup-option-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}#writing-type-options{grid-template-columns:repeat(4,minmax(0,1fr))}.setup-choice{background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius-md);color:var(--deep-purple);cursor:pointer;text-align:center;justify-content:center;align-items:center;min-height:46px;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.2;display:inline-flex}.setup-choice.active-yes,.setup-choice[aria-pressed=true]{background:var(--purple-soft);border-color:var(--purple-soft-border);box-shadow:inset 0 0 0 1px var(--purple-soft-border);color:var(--purple-primary)}.setup-choice:focus-visible{outline:3px solid color-mix(in srgb, var(--purple-primary) 28%, transparent);outline-offset:2px}.setup-choice[aria-hidden=true]{pointer-events:none;visibility:hidden}.structure-static-note{background:var(--sub);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--muted);align-items:center;min-height:46px;margin:0;padding:10px 12px;font-size:13px;line-height:1.35;display:flex}.optional-goals-details{background:var(--sub);border:1px solid var(--border);border-radius:var(--radius-md);grid-column:1/-1;padding:.65rem}.optional-goals-details summary{color:var(--text);cursor:pointer;font-size:13px;font-weight:700;list-style:none}.optional-goals-details summary::-webkit-details-marker{display:none}.optional-goals-details summary:after{color:var(--text-muted);content:"+";float:right;font-size:18px;line-height:1}.optional-goals-details[open] summary:after{content:"-"}.optional-goals-helper{color:var(--text-muted)!important;margin:.35rem 0 .6rem!important;font-size:11px!important;line-height:1.35!important}.optional-goals-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.optional-goals-grid.hidden{display:none}.writer-create-form{gap:.45rem;display:grid}.writer-create-form .small{max-width:620px;margin:0}.writer-create-row{flex-wrap:wrap;align-items:flex-end;gap:.55rem;display:flex}.compact-goal-field{color:var(--text-muted);gap:.25rem;font-size:12px;font-weight:700;display:grid}.compact-goal-field select{min-width:112px}#writer-profile-setup #student-account-select{width:min(100%,240px)!important}.writing-goal-level-row{grid-column:1/-1}.writing-goal-level-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.writing-goal-level-summary .small{margin:.2rem 0 0}.writer-goal-level-control{justify-content:start;align-items:flex-start;gap:.35rem;margin-top:.45rem;display:grid}.writer-goal-level-control .small{margin:0}.writing-goal-level-change summary{color:var(--deep-purple);cursor:pointer;font-size:12px;font-weight:700}.writing-goal-level-change label{color:var(--text);gap:.25rem;margin-top:.45rem;font-size:12px;font-weight:700;display:grid}.writing-goal-mode-check{align-items:center;gap:.4rem!important;display:flex!important}.optional-goal-label{margin-bottom:3px}.app .goal-helper{color:var(--text-muted);margin-top:4px;font-size:11px;line-height:1.35}.muted-box{background:var(--sub);border:1px solid var(--border);border-radius:var(--radius-md);padding:.75rem}.muted-box p,.muted-box .small{color:var(--text);margin:0}.teacher-project-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:.85rem;padding:1rem}.code-big{color:var(--purple-primary);letter-spacing:3px;font-size:28px;font-weight:800;line-height:1.05}.teacher-active-project-card{padding:.75rem}.teacher-active-project-card .small{font-size:12px;line-height:1.45}.teacher-recovery-project-card .small{font-size:11px;line-height:1.4}.teacher-active-project-card .student-link-copy-row{margin-top:.4rem;margin-bottom:.35rem}.project-card-instructions{font-size:12px!important;line-height:1.45!important}.teacher-project-empty{background:var(--sub);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--muted);padding:.75rem;font-size:13px}.student-link-copy-row{flex-wrap:wrap;align-items:center;gap:3px;margin-top:.65rem;display:flex}.student-link-copy-row .small-note{margin:0}.student-link-copy-row .utility-button{color:var(--purple-mid);background:0 0;border-color:#0000;min-height:0;padding:0}.student-link-copy-btn{border-radius:var(--radius-sm);box-shadow:none;color:var(--purple-mid);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;padding:0;display:inline-flex}.student-link-copy-btn:hover{background:var(--sub);color:var(--purple-primary)}.flat-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:18px;height:18px;display:inline-block}.student-link-copy-btn .flat-icon{width:15px;height:15px}.teacher-project-section-title{color:var(--text);margin:0;font-size:16px;font-weight:700}.teacher-recovery-project-card{padding:.75rem}.teacher-recovery-project-title{color:var(--text);margin:0;font-size:13px;font-weight:700;line-height:1.35}.student-status-display{color:var(--text-main);white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:800;line-height:1.2;display:inline-flex}.student-status-display .badge{align-items:center;font-size:13px;font-weight:800;line-height:1.2;display:inline-flex}.student-status-plain{color:var(--text-main);font-weight:800}.badge{border-radius:var(--radius-pill);padding:3px 8px;font-size:11px;font-weight:700;line-height:1.2;display:inline-block}.outcome-badge{border:1px solid #0000}.outcome-produced{background:var(--outcome-produced-bg);border-color:var(--outcome-produced-border);color:var(--outcome-produced-text)}.outcome-started{background:var(--outcome-started-bg);border-color:var(--outcome-started-border);color:var(--outcome-started-text)}.outcome-none,.outcome-no-new{background:var(--outcome-none-bg);border-color:var(--outcome-none-border);color:var(--outcome-none-text)}.b-green{background:var(--green2);color:var(--green)}.b-amber{background:var(--amber2);color:var(--amber)}.b-gray{background:var(--sub);color:var(--muted)}.btn,.audio-btn,.mic-btn{background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius-md);color:var(--text);cursor:pointer;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:8px 12px;font-size:13px;line-height:1.2;text-decoration:none;display:inline-flex}.btn{color:var(--deep-purple);font-weight:700}.btn:hover{background:var(--sub);color:var(--deep-purple)}.btn:disabled{cursor:not-allowed;opacity:.55}.btn-sm{padding:5px 10px;font-size:12px}.btn-primary{background:var(--surface);border:1.5px solid var(--deep-purple);color:var(--deep-purple);font-weight:700}.btn-primary:hover{background:var(--sub);border-color:var(--deep-purple);color:var(--deep-purple)}.btn-soft{background:var(--soft-lavender);border-color:var(--border);color:var(--deep-purple);font-weight:600}.btn-soft:hover{background:var(--purple-soft);border-color:var(--purple-soft-border);color:var(--deep-purple)}.btn-writing-action,.btn-copy{background:var(--deep-purple);border:1px solid var(--deep-purple);box-shadow:none;color:var(--primary-action-text);font-weight:700}.btn-writing-action:hover,.btn-copy:hover{background:var(--purple-primary);border-color:var(--purple-primary);color:var(--primary-action-text)}.prompt-read-aloud-button,.textarea-icon-pair .read-aloud-button,.textarea-icon-pair .voice-to-text-button,.support-card-listen,.support-starter-listen,.support-picture-mic{background:var(--support-icon-bg);border:var(--support-icon-border);border-radius:var(--support-icon-radius);box-shadow:none;color:var(--support-icon-text);justify-content:center;align-items:center;padding:0;display:inline-flex}.textarea-icon-pair .read-aloud-button,.textarea-icon-pair .voice-to-text-button{flex:0 0 var(--student-writing-icon-size);height:var(--student-writing-icon-size);min-height:var(--student-writing-icon-size);min-width:var(--student-writing-icon-size);width:var(--student-writing-icon-size)}.prompt-read-aloud-button,.support-picture-mic{height:var(--support-listen-icon-size);min-height:var(--support-listen-icon-size);min-width:var(--support-listen-icon-size);width:var(--support-listen-icon-size)}.support-card-listen,.support-starter-listen{height:var(--support-panel-icon-size);min-height:var(--support-panel-icon-size);min-width:var(--support-panel-icon-size);width:var(--support-panel-icon-size)}.prompt-read-aloud-button:hover,.textarea-icon-pair .read-aloud-button:hover,.textarea-icon-pair .voice-to-text-button:hover,.support-card-listen:hover,.support-starter-listen:hover,.support-picture-mic:hover{background:var(--purple-soft);color:var(--support-icon-text)}.btn.btn-soft.setup-choice{background:var(--surface);border-color:var(--border2);border-radius:var(--radius-md);color:var(--deep-purple);text-align:center;justify-content:center;align-items:center;min-height:46px;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.2}#writing-type-options .btn.btn-soft.setup-choice{padding:10px}.btn.btn-soft.setup-choice:hover{background:var(--sub);border-color:var(--border2);color:var(--deep-purple)}.btn.btn-soft.setup-choice.active-yes,.btn.btn-soft.setup-choice[aria-pressed=true]{background:var(--purple-soft);border-color:var(--purple-soft-border);box-shadow:inset 0 0 0 1px var(--purple-soft-border);color:var(--purple-primary)}.btn-teacher-primary{background:var(--deep-purple);border-color:var(--deep-purple);color:var(--primary-action-text);font-weight:700}.btn-teacher-primary:hover{background:var(--purple-primary);border-color:var(--purple-primary);color:var(--primary-action-text)}.btn.primary-action{background:var(--primary-action-bg);border-color:var(--primary-action-border);border-radius:var(--radius-md);box-shadow:none;color:var(--primary-action-text);font-weight:700}.btn.primary-action:hover{background:var(--primary-action-hover-bg);border-color:var(--primary-action-hover-border);color:var(--primary-action-text)}.btn.primary-action:focus-visible{box-shadow:var(--primary-action-focus);outline:none}.btn-ghost{background:0 0;border-color:#0000}.milo-modal-backdrop{z-index:30;background:#231f2f6b;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.teacher-project-modal-backdrop{z-index:30;background:#231f2f6b;padding:1rem}.teacher-project-modal-card{width:min(440px,100%)}.teacher-project-modal-card h2{color:var(--text);margin:0 0 .5rem;font-size:18px;font-weight:700;line-height:1.35}.teacher-project-modal-message{color:var(--text);margin:.5rem 0 1rem;font-size:14px;line-height:1.55}.teacher-project-delete-modal-message{margin-bottom:1rem}.teacher-project-modal-card .teacher-project-modal-actions{gap:8px;margin-top:0;padding-top:0}.teacher-project-modal-copy-error{color:#7f3b3b;margin:-.75rem 0 1.25rem;font-size:13px;font-weight:700;line-height:1.35}.teacher-project-modal-card .modal-x{width:34px;height:34px;font-size:20px;top:.65rem;right:.65rem}.modal-x{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--muted);cursor:pointer;z-index:5;justify-content:center;align-items:center;width:34px;height:34px;font-size:20px;line-height:1;display:inline-flex;position:absolute;top:.65rem;right:.65rem}.modal-x:hover,.modal-x:focus-visible{background:var(--sub);color:var(--text)}.writer-row strong,.project-row strong{color:var(--text-main);font-size:17px;display:block}.writer-row p,.empty-state p,.project-row p,.project-empty{margin:2px 0 0;font-size:14px}.project-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.project-row{background:var(--purple-soft);border:1px solid var(--purple-soft-border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.project-row strong{font-size:15px}.project-actions{place-items:flex-end end;gap:8px;display:grid}.project-lifecycle-status{color:var(--text-main);font-weight:700}.project-empty{border-top:1px solid var(--line);padding-top:12px}.code-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.project-code{background:var(--surface);border:1px solid var(--purple-soft-border);border-radius:var(--radius-sm);color:var(--purple-primary);letter-spacing:.08em;padding:8px 10px;font-size:15px;font-weight:800;display:inline-flex}.utility-button{min-height:38px;padding:8px 12px}.empty-state{background:var(--purple-soft);border:1px solid var(--purple-soft-border);border-radius:var(--radius-md);margin-top:18px;padding:16px}.empty-state p:first-child{color:var(--text-main);margin-top:0;font-weight:700}.dashboard-actions{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.report-panel{width:100%;max-width:900px}.project-reports-page{flex-direction:column;align-items:stretch;gap:18px;width:100%}.project-reports-index-page{flex-direction:column;align-items:stretch;max-width:1180px;margin:0 auto;display:flex}.teacher-nav+.project-reports-page{align-items:stretch}.project-reports-header-panel,.project-reports-panel{border-color:var(--border);border-radius:var(--radius-md);box-shadow:var(--adult-card-shadow);width:100%;max-width:1180px;padding:1.1rem}.project-reports-index-page .project-reports-header-panel,.project-reports-index-page .project-reports-panel{max-width:1180px;margin:0}.project-reports-page:not(.project-reports-index-page) .project-reports-panel{max-width:900px}.project-reports-header-panel{gap:.75rem;display:grid}.project-reports-header-panel h1,.project-reports-panel h1{color:var(--text-main);margin:0 0 .35rem;font-size:15px;font-weight:700;line-height:1.35}.project-reports-header-panel p{color:var(--text-muted);margin:0 0 3px;font-size:12px;line-height:1.45}.project-reports-writer-control{justify-content:flex-start;align-items:center}.project-reports-writer-select{appearance:none;background:var(--surface);background-image:linear-gradient(45deg, transparent 50%, var(--deep-purple) 50%), linear-gradient(135deg, var(--deep-purple) 50%, transparent 50%);border:1px solid var(--border2);border-radius:var(--radius-md);color:var(--text);font-family:var(--font-sans);background-position:calc(100% - 18px),calc(100% - 12px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;width:auto;min-width:150px;height:42px;padding:8px 34px 8px 10px;font-size:13px}.project-reports-panel h2{color:var(--text-main);margin:0 0 .35rem;font-size:15px;font-weight:700;line-height:1.35}.project-report-list{gap:.75rem;margin-top:.75rem;display:grid}.project-report-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:none;width:100%;padding:1rem;display:block}.project-report-card>.section-heading-row{align-items:center;gap:8px;margin-bottom:.85rem;padding:0}.project-report-card>.section-heading-row h2,.project-report-card>.section-heading-row h3{color:var(--text-main);margin:0 0 .35rem;font-size:15px;font-weight:700;line-height:1.35}.project-report-card>.report-section h2,.project-report-card>.report-section h3,.project-report-card>.report-section h4,.project-report-card>.report-section h5,.project-report-card>.report-section h6,.project-report-session-card .report-section h2,.project-report-session-card .report-section h3,.project-report-session-card .report-section h4,.project-report-session-card .report-section h5,.project-report-session-card .report-section h6{color:var(--text-main);margin:0 0 .45rem;font-size:14px;font-weight:700;line-height:1.35}.project-report-card p{color:var(--text-muted);margin:0;font-size:12px;line-height:1.45}.project-report-card p strong{color:var(--text-muted);font-weight:700}.project-report-card>.section-heading-row>p{color:var(--text-main);white-space:nowrap;margin:0 0 .35rem;font-size:13px;font-weight:800;line-height:1.2}.project-report-card>.section-heading-row>p strong{color:var(--text-main);font-weight:800}.project-report-card>.report-section{background:var(--sub);border:1px solid var(--border);border-radius:var(--radius-md);margin:0 0 .75rem;padding:.85rem;display:block}.project-report-card>.report-section:last-child{margin-bottom:0}.project-report-card .project-report-details-heading-row{align-items:center;gap:.75rem;margin-bottom:.45rem}.project-report-card .project-report-details-heading-row h2,.project-report-card .project-report-details-heading-row h3,.project-report-card .project-report-details-heading-row h4,.project-report-card .project-report-details-heading-row h5,.project-report-card .project-report-details-heading-row h6{margin:0}.project-report-card .project-report-action-row{justify-content:flex-end;margin-left:auto}.project-report-recovery-actions{gap:.65rem;margin-top:.65rem}.project-report-recovery-details{margin-top:.65rem}.project-report-recovery-details summary{color:var(--deep-purple);cursor:pointer;font-size:13px;font-weight:700;line-height:1.2}.project-report-recovery-details summary:focus-visible{border-radius:var(--radius-sm);box-shadow:var(--focus-ring);outline:none}.project-report-recovery-details>.project-report-card{margin-top:.75rem}.project-report-card .report-section-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.45rem .75rem;display:grid}.project-report-card .report-section-grid .full-row{grid-column:1/-1}.project-report-card .report-detail-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.45rem .75rem}.project-report-card .report-detail-grid div{border:0;border-radius:0;padding:0}.project-report-card .report-detail-grid dt{color:var(--text-muted);font-size:12px;font-weight:700;line-height:1.45;display:inline}.project-report-card .report-detail-grid dt:after{content:":"}.project-report-card .report-detail-grid dd{color:var(--text-muted);margin:0;font-size:12px;font-weight:400;line-height:1.45;display:inline}.project-report-card .report-detail-grid dd:before{content:" "}.project-report-session-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;margin-top:.65rem;padding:.75rem;display:block}.project-report-session-card .report-section{background:var(--sub);border:1px solid var(--border);border-radius:var(--radius-md);margin:.65rem 0 0;padding:.75rem;display:block}.project-report-session-card .section-heading-row{align-items:center;gap:16px}.project-report-session-card>.section-heading-row h2,.project-report-session-card>.section-heading-row h3,.project-report-session-card>.section-heading-row h4,.project-report-session-card>.section-heading-row h5,.project-report-session-card>.section-heading-row h6,.project-report-session-card>div>.section-heading-row h2,.project-report-session-card>div>.section-heading-row h3,.project-report-session-card>div>.section-heading-row h4,.project-report-session-card>div>.section-heading-row h5,.project-report-session-card>div>.section-heading-row h6{color:var(--text-main);margin:0 0 .25rem;font-size:13px;font-weight:700;line-height:1.35}.project-report-session-card p,.project-report-session-card .report-detail-grid dt,.project-report-session-card .report-detail-grid dd{font-size:11px;line-height:1.4}.project-report-session-card .report-section h2,.project-report-session-card .report-section h3,.project-report-session-card .report-section h4,.project-report-session-card .report-section h5,.project-report-session-card .report-section h6{margin-bottom:.35rem;font-size:13px}.project-report-session-card .report-detail-grid{gap:.35rem .65rem}.project-goal-progress-primary{color:var(--text-main);margin:0 0 .2rem;font-size:15px;font-weight:800;line-height:1.35}.project-goal-progress-fallback{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:.65rem}.project-goal-progress-horizontal{--project-goal-progress:0%;gap:.45rem;display:grid}.project-goal-progress-summary{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.project-goal-progress-summary h3{margin:0;font-size:16px}.project-goal-progress-summary p{color:var(--text-main);text-align:right;margin:0}.project-goal-progress-track{background:var(--border);border-radius:999px;height:10px;overflow:hidden}.project-goal-progress-fill{background:var(--deep-purple);border-radius:inherit;height:100%;width:var(--project-goal-progress)}.project-report-status-badge{white-space:nowrap}.project-status-ready{background:var(--green2);border-color:color-mix(in srgb, var(--green) 28%, var(--green2));color:var(--green)}.project-status-working{background:var(--purple-soft);border-color:var(--purple-soft-border);color:var(--purple-primary)}.project-status-completed{background:color-mix(in srgb, var(--green2) 72%, var(--surface));border-color:color-mix(in srgb, var(--green) 20%, var(--green2));color:var(--green)}.project-status-recovery{background:var(--amber2);border-color:color-mix(in srgb, var(--amber) 24%, var(--amber2));color:var(--amber)}.project-status-archived,.project-status-neutral{background:var(--outcome-none-bg);border-color:var(--outcome-none-border);color:var(--outcome-none-text)}.project-report-disclosure-heading{justify-content:space-between;align-items:center;gap:.65rem;display:flex}.project-report-disclosure-heading h3{margin:0}.project-report-disclosure-button{flex:none;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-size:18px;line-height:1;display:inline-flex}.project-section-progress-table-wrap{border:1px solid var(--border);border-radius:var(--radius-md);overflow-x:auto}.project-section-progress-table{border-collapse:collapse;width:100%;min-width:560px}.project-section-progress-table th,.project-section-progress-table td{border-bottom:1px solid var(--border);color:var(--text-main);text-align:left;vertical-align:top;padding:.65rem;font-size:12px;line-height:1.35}.project-section-progress-table th{background:var(--surface);color:var(--text-muted);font-weight:800}.project-section-total-row td{background:var(--surface);color:var(--text-main);font-weight:800}.project-section-progress-table tr:last-child td{border-bottom:0}.project-session-progress-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.project-report-session-exclude-row{justify-items:end;gap:.35rem;margin-top:.75rem;display:grid}.project-report-card .report-saved-writing{background:var(--sub);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-main);white-space:pre-wrap;max-height:180px;margin-top:.65rem;padding:.65rem;font-size:13px;line-height:1.5;overflow:auto}.project-report-card .report-saved-writing+.utility-button{margin-top:.65rem}.project-report-session-log-section{margin-top:.85rem}.report-disclosure summary{color:var(--deep-purple);cursor:pointer;font-size:14px;font-weight:700;line-height:1.35}.report-disclosure summary:focus-visible{border-radius:var(--radius-sm);box-shadow:var(--focus-ring);outline:none}.report-disclosure-body{margin-top:.65rem}.project-report-session-log-note{color:var(--muted);margin:0 0 .65rem;font-size:12px;line-height:1.45}.project-report-session-log-list{display:grid}.project-report-session-log-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:9px 0;display:flex}.project-report-session-log-row:last-child{border-bottom:0}.project-report-session-log-row p{margin:0}.project-report-session-log-title{color:var(--text-main);font-size:12px;font-weight:700;line-height:1.35}.project-report-session-log-row .small{margin:1px 0 0;font-size:11px;line-height:1.4}.project-report-complete-modal-card h2{color:var(--text);margin:0 0 .5rem;font-size:18px;font-weight:700;line-height:1.35}.project-report-complete-modal-card .project-report-complete-modal-message{color:var(--text);margin:.5rem 0 1rem;font-size:14px;line-height:1.55}.project-report-complete-modal-card .teacher-project-modal-actions{gap:8px;margin-top:0;padding-top:0}.project-report-complete-modal-card .modal-x{width:34px;min-width:34px;height:34px;min-height:34px;padding:0;font-size:20px;line-height:1}.project-report-complete-modal-card .modal-x:before{content:"";position:absolute;inset:-5px}@media (max-width:760px){.project-reports-page{gap:1rem}.project-reports-header-panel,.project-reports-panel,.project-report-card,.project-report-card>.report-section,.project-report-session-card,.project-report-session-card .report-section{padding:1rem}.project-report-card>.section-heading-row,.project-report-card .project-report-details-heading-row{flex-direction:column;align-items:flex-start}.project-report-card>.section-heading-row>p{white-space:normal}.project-report-card .project-report-action-row{justify-content:flex-start;margin-left:0}.project-goal-progress-summary{flex-direction:column;align-items:flex-start;gap:.3rem}.project-goal-progress-summary p{text-align:left}.project-report-card .report-section-grid,.project-report-card .report-detail-grid{grid-template-columns:1fr}.project-report-session-log-row{flex-direction:column;align-items:flex-start}}.report-section{border-top:1px solid var(--line);gap:14px;margin-top:24px;padding-top:24px;display:grid}.report-section h2{margin:0;font-size:22px}.product-signals-summary{border-top:1px solid var(--line);gap:28px;margin-top:32px;padding-top:28px;display:grid}.product-signals-summary-kicker{color:#777;letter-spacing:.28em;text-transform:uppercase;margin:0 0 -12px;font-size:13px;font-weight:700}.product-signals-summary h2{color:#1d1d1f;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(44px,6vw,72px);font-weight:700;line-height:.98}.product-signals-summary-subtitle{color:#555;margin:-12px 0 22px;font-size:18px;line-height:1.45}.product-signals-glance-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;display:grid}.product-signals-glance-grid div,.product-signals-support-glance{background:var(--surface);border:1px solid color-mix(in srgb, var(--text-main) 14%, transparent);border-radius:20px}.product-signals-glance-grid div{gap:28px;min-height:144px;padding:28px 30px;display:grid}.product-signals-glance-grid dt{color:#777;letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:12px;font-size:14px;font-weight:800;display:flex}.product-signals-glance-grid dt span{color:#777;place-items:center;width:28px;font-size:24px;line-height:1;display:inline-grid}.product-signals-glance-grid dd{color:#171719;margin:0;font-family:Georgia,Times New Roman,serif;font-size:44px;font-weight:700;line-height:1}.product-signals-support-glance{gap:28px;padding:34px 38px;display:grid}.product-signals-support-heading{align-items:flex-start;gap:18px;display:flex}.product-signals-support-heading>span{color:#fff;background:#171719;border-radius:999px;flex:none;place-items:center;width:44px;height:44px;font-size:22px;line-height:1;display:inline-grid}.product-signals-support-heading h3{color:#1d1d1f;margin:0;font-family:Georgia,Times New Roman,serif;font-size:30px;line-height:1.15}.product-signals-support-heading p{color:#555;margin:10px 0 0;font-size:18px;line-height:1.45}.product-signals-comparison-bars{gap:22px;display:grid}.product-signals-bar-label{color:#3a3a3d;justify-content:space-between;align-items:baseline;gap:18px;margin-bottom:10px;font-size:16px;display:flex}.product-signals-bar-label strong{color:#1d1d1f;white-space:nowrap;font-size:18px}.product-signals-bar-track{background:#f1f1f1;border-radius:999px;height:10px;display:block;overflow:hidden}.product-signals-bar-track span{border-radius:inherit;background:#171719;min-width:0;max-width:100%;height:100%;display:block}.product-signals-bar-track-muted span{background:#cfcfcf}.product-signals-support-note{color:#666;margin:0;font-size:15px}.product-signals-flow-panel{background:color-mix(in srgb, var(--purple-soft) 36%, var(--surface));border:1px solid var(--line);border-radius:var(--radius-md);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:14px;padding:16px;display:grid}.product-signals-flow-node{background:var(--surface);border:1px solid color-mix(in srgb, var(--text-main) 10%, transparent);border-radius:16px;gap:8px;min-width:0;padding:16px;display:grid}.product-signals-flow-node>span{color:var(--text-muted);font-size:14px;font-weight:800}.product-signals-flow-node strong{color:var(--text-main);font-size:22px;line-height:1.15}.product-signals-flow-arrow{color:var(--purple-primary);align-self:center;font-size:28px;font-weight:800;line-height:1}.product-signals-flow-secondary{color:var(--text-muted);grid-column:1/-1;margin:0;font-size:14px}.product-signals-evidence-note{color:var(--text-muted);margin:12px 0 0}.product-signals-support-type-list{gap:12px;margin-top:18px;display:grid}.product-signals-support-type-list h4,.product-signals-stuck-prompt-panel h4{color:var(--text-main);margin:0;font-size:18px}.product-signals-support-type-list ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.product-signals-support-type-list li{background:var(--surface);border:1px solid var(--line);border-radius:14px;align-items:center;gap:12px;padding:12px 14px;display:flex}.product-signals-support-type-list li>span:last-child{gap:3px;display:grid}.product-signals-support-type-list li strong{color:var(--text-main)}.product-signals-support-type-list li span span{color:var(--text-muted);font-size:14px}.product-signals-stuck-prompt-panel{border-top:1px solid var(--line);gap:12px;margin-top:20px;padding-top:18px;display:grid}@media (max-width:780px){.product-signals-summary{gap:20px}.product-signals-summary h2{font-size:42px}.product-signals-glance-grid{grid-template-columns:1fr;gap:14px}.product-signals-glance-grid div{gap:18px;min-height:auto;padding:22px}.product-signals-support-glance{padding:24px}.product-signals-support-heading{gap:14px}.product-signals-support-heading h3{font-size:25px}.product-signals-bar-label{flex-direction:column;align-items:flex-start;gap:4px}.product-signals-flow-panel{grid-template-columns:1fr}.product-signals-flow-arrow{justify-self:start;transform:rotate(90deg)}}.pattern-writer-list{gap:18px;margin-top:24px;display:grid}.pattern-writer-card{border:1px solid var(--line);border-radius:var(--radius-md);gap:14px;padding:16px;display:grid}.pattern-writer-card h2{margin:0;font-size:22px}.pattern-writer-card p{margin-bottom:0}.patterns-page{flex-direction:column;align-items:stretch;gap:18px;width:100%;max-width:1180px;margin:0 auto}.teacher-nav+.patterns-page{align-items:stretch}.patterns-panel{box-shadow:none;background:0 0;border:0;border-radius:0;gap:1rem;width:100%;max-width:1180px;padding:0;display:grid}.patterns-page .pattern-writer-card{border:0;border-radius:0;gap:1rem;margin-top:0;padding:0;display:grid}.patterns-writer-selector-card,.patterns-page .report-section{border:1px solid var(--border);border-radius:var(--radius-md);gap:.55rem;width:100%;margin:0;padding:1.1rem;display:grid}.patterns-writer-selector-card{background:var(--surface)}.patterns-top-writing-group-control{flex-wrap:wrap;align-items:center;gap:.65rem;min-width:0;display:flex}.patterns-top-writing-group-control .patterns-section-growth-select-menu{max-width:min(100%,460px)}.patterns-date-range-control{flex-wrap:wrap;align-items:end;gap:.65rem;margin-top:.2rem;display:flex}.patterns-date-range-control label{color:var(--text-muted);gap:.25rem;font-size:12px;font-weight:800;line-height:1.2;display:grid}.patterns-date-range-control select,.patterns-date-range-control input{background:var(--surface);border:1px solid var(--border);color:var(--text-main);font:inherit;border-radius:10px;min-height:42px;padding:.55rem .7rem}.patterns-date-range-message{color:var(--error,#b23a3a);align-self:center;font-size:12px;font-weight:700}.patterns-date-range-control button,.patterns-family-copy-control button{background:var(--surface);border:1px solid var(--border);color:var(--purple-primary);cursor:pointer;font:inherit;border-radius:999px;min-height:42px;padding:.55rem .95rem;font-weight:800}.patterns-date-range-control button:hover,.patterns-family-copy-control button:hover{border-color:var(--purple-primary)}.patterns-page .report-section{background:var(--sub);border-top:1px solid var(--border)}.patterns-family-heading{justify-content:space-between;align-items:start;gap:1rem;display:flex}.patterns-family-heading h2{margin:0}.patterns-family-copy-control{flex:none}.patterns-family-summary-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);gap:.85rem;padding:1rem;display:grid}.patterns-family-summary-panel p{color:var(--text-main);margin:0;font-size:15px;line-height:1.55}.patterns-growth-parent{border-radius:var(--radius-md);background:#edeafb;border:1px solid #4b3aa040;border-top:2px solid #4b3aa0;gap:1rem;min-width:0;padding:1rem;display:grid}.patterns-growth-parent-heading h2{color:#4b3aa0;margin:0;font-size:16px;font-weight:800;line-height:1.3}.patterns-growth-subsections{gap:1rem;min-width:0;display:grid}.patterns-challenges-parent{border-radius:var(--radius-md);background:#fbebf4;border:1px solid #9a3a8240;border-top:2px solid #9a3a82;gap:1rem;min-width:0;padding:1rem;display:grid}.patterns-challenges-parent-heading h2{color:#9a3a82;margin:0;font-size:16px;font-weight:800;line-height:1.3}.patterns-support-parent{border-radius:var(--radius-md);background:#eaedfb;border:1px solid #3a5aa040;border-top:2px solid #3a5aa0;gap:1rem;min-width:0;padding:1rem;display:grid}.patterns-support-parent-heading h2{color:#3a5aa0;margin:0;font-size:16px;font-weight:800;line-height:1.3}.patterns-support-intro,.patterns-support-info-note{color:var(--text-muted);margin:0;font-size:13px;line-height:1.45}.patterns-support-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;min-width:0;display:grid}.patterns-support-display-card{background:var(--surface);border-radius:var(--radius-md);border:1px solid #3a5aa02e;gap:1rem;min-width:0;padding:1.2rem 1.35rem;display:grid;box-shadow:0 10px 22px #3a5aa00a}.patterns-support-display-card h3{color:var(--text-main);margin:0;font-size:18px;font-weight:800;line-height:1.25}.patterns-support-type-card{grid-column:1/-1}.patterns-support-use-list{gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.patterns-support-use-list li{gap:.45rem;display:grid}.patterns-support-row-copy{justify-content:space-between;align-items:baseline;gap:.65rem;min-width:0;display:flex}.patterns-support-row-copy strong{color:var(--text-main);font-size:14px;font-weight:800}.patterns-support-row-copy span,.patterns-support-note,.patterns-support-empty p{color:var(--text-muted);margin:0;font-size:13px;line-height:1.4}.patterns-support-bar-track,.patterns-support-segmented-bar,.patterns-support-small-bar{background:color-mix(in srgb, #3a5aa0 12%, var(--surface));border-radius:999px;display:block;overflow:hidden}.patterns-support-bar-track{height:10px}.patterns-support-bar-fill,.patterns-support-segmented-bar span,.patterns-support-small-bar span{border-radius:inherit;background:#3a5aa0;height:100%;display:block}.patterns-support-overall-result{gap:.45rem;display:grid}.patterns-support-overall-result>strong{color:#3a5aa0;font-size:32px;font-weight:850;line-height:1}.patterns-support-overall-result p{color:var(--text-main);margin:0;font-size:14px;line-height:1.45}.patterns-support-segmented-bar{height:12px}.patterns-support-empty{border-radius:var(--radius-sm);border:1px solid #3a5aa024;gap:.35rem;padding:.85rem;display:grid}.patterns-support-empty p:first-child{color:var(--text-main);font-size:14px;font-weight:800}.patterns-support-type-list{gap:0;min-width:0;display:grid}.patterns-support-type-heading,.patterns-support-type-row{border-bottom:1px solid #3a5aa024;grid-template-columns:minmax(150px,1.2fr) minmax(70px,.55fr) minmax(130px,.9fr) minmax(86px,.6fr) minmax(120px,.8fr);align-items:center;gap:.8rem;padding:.75rem 0;display:grid}.patterns-support-type-heading{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;padding-top:0;font-size:12px;font-weight:800}.patterns-support-type-row:last-child{border-bottom:0;padding-bottom:0}.patterns-support-type-row strong{color:var(--text-main);font-size:14px;font-weight:800}.patterns-support-type-row span{color:var(--text-muted);font-size:13px;line-height:1.35}.patterns-support-rate-cell{gap:.35rem;display:grid}.patterns-support-rate-cell>strong{color:#3a5aa0}.patterns-support-small-bar{height:8px}.patterns-support-muted{color:var(--text-muted);font-weight:700}.patterns-challenges-detail{background:var(--surface);border-radius:var(--radius-md);border:1px solid #9a3a822e;gap:1.1rem;min-width:0;padding:1.7rem 1.85rem;display:grid;box-shadow:0 10px 22px #9a3a820a}.patterns-challenges-header h3{color:var(--text-main);margin:0;font-size:24px;font-weight:800;line-height:1.2}.patterns-challenges-header p{color:var(--text-muted);max-width:42rem;margin:.45rem 0 0;font-size:15px;line-height:1.45}.patterns-challenges-detail .patterns-section-growth-select-menu summary:after{border-color:#9a3a82 #0000 #0000}.patterns-challenges-detail .patterns-section-growth-header p,.patterns-challenges-detail .patterns-section-growth-select-menu,.patterns-challenges-detail .patterns-section-growth-select-menu strong{color:#9a3a82}.patterns-challenges-detail .patterns-section-growth-options a:hover,.patterns-challenges-detail .patterns-section-growth-options a[aria-current=true]{color:#9a3a82;background:#fbebf4}.patterns-challenge-list{gap:.75rem;display:grid}.patterns-challenge-row{background:#fbebf4;border:1px solid #9a3a8214;border-radius:.7rem;overflow:hidden}.patterns-challenge-row-not-detected{background:var(--surface);border-color:#0000}.patterns-challenge-row-detected{background:#fbebf4}.patterns-challenge-row-static,.patterns-challenge-row summary{grid-template-columns:minmax(170px,260px) minmax(220px,1fr) minmax(170px,auto);align-items:center;gap:1rem;min-width:0;padding:1rem;list-style:none;display:grid}.patterns-challenge-row summary{cursor:pointer}.patterns-challenge-row summary::-webkit-details-marker{display:none}.patterns-challenge-icon{background:color-mix(in srgb, #9a3a82 7%, var(--surface));color:#9a3a82;border-radius:999px;place-items:center;width:3rem;height:3rem;font-size:1rem;display:inline-grid}.patterns-challenge-copy{gap:.18rem;min-width:0;display:grid}.patterns-challenge-copy strong{color:var(--text-main);font-size:1.05rem;font-weight:800;line-height:1.25}.patterns-challenge-copy span{color:var(--text-muted);font-size:.95rem;line-height:1.35}.patterns-challenge-action{margin-top:.25rem;font-weight:800;line-height:1.15;display:block;color:#9a3a82!important;font-size:.9rem!important}.patterns-challenge-row[open] .patterns-challenge-action{color:var(--text-muted)!important}.patterns-challenge-row[open] .patterns-challenge-action:before{content:"Hide evidence"}.patterns-challenge-row[open] .patterns-challenge-action{font-size:0!important}.patterns-challenge-row[open] .patterns-challenge-action:before{font-size:13px}.patterns-challenge-status,.patterns-challenge-frequency{color:var(--text-main);text-align:right;justify-items:end;gap:.25rem;font-size:1rem;font-weight:800;line-height:1.2;display:grid}.patterns-challenge-status strong{color:#9a3a82;font-size:1rem}.patterns-challenge-status-muted strong{color:color-mix(in srgb, var(--text-muted) 72%, var(--surface))}.patterns-challenge-empty{background:var(--surface);color:var(--text-muted);border:1px solid #9a3a821f;border-radius:.7rem;padding:1rem;font-size:.95rem;font-weight:800}.patterns-challenge-frequency span{color:#9a3a82;font-size:13px;line-height:1.15}.patterns-challenge-visual-panel{border-top:1px solid #9a3a8224;padding:.9rem 1rem 1rem}.patterns-challenge-visual{gap:.38rem;max-width:260px;display:grid}.patterns-challenge-visual-timeline{grid-template-columns:auto minmax(90px,1fr) auto;align-items:center;column-gap:.55rem}.patterns-challenge-visual-label,.patterns-challenge-visual-value{color:var(--text-muted);font-size:10px;font-weight:800;line-height:1.1}.patterns-challenge-visual-value{text-align:right}.patterns-challenge-visual-track{background:color-mix(in srgb, #9a3a82 9%, var(--surface));border:1px solid #9a3a821f;border-radius:999px;height:9px;display:block;position:relative;overflow:hidden}.patterns-challenge-visual-fill{border-radius:inherit;height:100%;display:block}.patterns-challenge-visual-fill-filled{background:#9a3a82}.patterns-challenge-visual-fill-empty{background:repeating-linear-gradient(90deg,#9a3a8229 0 5px,#9a3a820a 5px 10px)}.patterns-challenge-visual-fill-short{background:#ce9ac0}.patterns-challenge-visual-fill-stuck{background:#9a3a82;position:relative}.patterns-challenge-visual-fill-stuck:after{background:var(--surface);content:"";border:2px solid #9a3a82;border-radius:50%;width:8px;height:8px;display:block;position:absolute;top:50%;right:-4px;transform:translateY(-50%)}.patterns-challenge-visual-thin-writing .patterns-challenge-visual-track:after,.patterns-challenge-visual-low-words-for-time .patterns-challenge-visual-track:after{content:"";background:#9a3a82;border-radius:999px;width:3px;height:17px;display:block;position:absolute;top:50%;right:0;transform:translate(50%,-50%)}.patterns-challenge-timeline-label{color:var(--text-muted);font-size:12px;font-weight:800;line-height:1.1}.patterns-challenge-timeline-track{height:11px;overflow:visible}.patterns-challenge-timeline-diamond,.patterns-challenge-timeline-dot{background:#9a3a82;display:block;position:absolute;top:50%}.patterns-challenge-timeline-diamond{background:var(--surface);border:2px solid #9a3a82;border-radius:3px;width:13px;height:13px;transform:translate(-50%,-50%)rotate(45deg)}.patterns-challenge-timeline-dot{background:color-mix(in srgb, #9a3a82 28%, var(--surface));border-radius:50%;width:10px;height:10px;transform:translate(-50%,-50%)}.patterns-challenge-timeline-dot-detected{background:#9a3a82}.patterns-challenge-visual-stuck_marker{grid-template-columns:repeat(auto-fit,minmax(42px,1fr));align-items:start;gap:.45rem;max-width:300px;display:grid;position:relative}.patterns-challenge-visual-stuck_marker:before{content:"";background:#9a3a822e;height:2px;position:absolute;top:.38rem;left:.35rem;right:.35rem}.patterns-challenge-stuck-node{z-index:1;place-items:center;gap:.35rem;min-width:0;display:grid;position:relative}.patterns-challenge-stuck-node span:last-child{color:var(--text-muted);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:64px;font-size:10px;font-weight:800;line-height:1.1;overflow:hidden}.patterns-challenge-stuck-dot,.patterns-challenge-stuck-dot-active{background:color-mix(in srgb, #9a3a82 32%, var(--surface));border-radius:50%;width:8px;height:8px;display:block}.patterns-challenge-stuck-dot-active{background:var(--surface);border:3px solid #9a3a82;width:16px;height:16px}.patterns-challenge-evidence{background:var(--surface);border-radius:var(--radius-sm);border:1px solid #9a3a8224;gap:.65rem;padding:.85rem;display:grid}.patterns-challenge-evidence-item{border-bottom:1px solid #9a3a821a;grid-template-columns:minmax(150px,1fr) minmax(80px,auto) minmax(180px,1.4fr);align-items:start;gap:.65rem;padding-bottom:.65rem;display:grid}.patterns-challenge-evidence-item:last-of-type{border-bottom:0;padding-bottom:0}.patterns-challenge-evidence-item>span{color:var(--text-muted);font-size:13px;line-height:1.3}.patterns-challenge-evidence-item>span:first-child{gap:.15rem;display:grid}.patterns-challenge-evidence-item strong{color:var(--text-main);font-size:13px;font-weight:800}.patterns-challenge-evidence p{color:var(--text-muted);margin:.15rem 0 0;font-size:13px;font-style:italic;line-height:1.35}@media (max-width:760px){.patterns-challenges-detail{padding:1.15rem}.patterns-support-parent{padding:.8rem}.patterns-support-card-grid{grid-template-columns:1fr}.patterns-support-display-card{padding:1rem}.patterns-support-row-copy{flex-direction:column;align-items:flex-start;gap:.15rem}.patterns-support-type-heading{display:none}.patterns-support-type-row{border-radius:var(--radius-sm);border:1px solid #3a5aa024;grid-template-columns:1fr;align-items:start;margin-bottom:.65rem;padding:.85rem}.patterns-support-type-row:last-child{margin-bottom:0;padding-bottom:.85rem}.patterns-challenge-row{min-width:0}.patterns-challenge-row-static,.patterns-challenge-row summary{grid-template-columns:1fr;align-items:start}.patterns-challenge-evidence-item{grid-template-columns:1fr}.patterns-challenge-frequency,.patterns-challenge-status{text-align:left;justify-items:start}}.patterns-page .section-heading-row{align-items:center;gap:8px;margin:0;padding:0}.patterns-page .section-heading-row h2,.patterns-page .report-section h2{color:var(--text-main);margin:0 0 .35rem;font-size:15px;font-weight:700;line-height:1.35}.patterns-page p,.patterns-page .report-section p{color:var(--text-muted);margin:0;font-size:12px;line-height:1.45}.patterns-selector-row{align-items:center;gap:12px}.patterns-metric-card{background:color-mix(in srgb, var(--surface) 56%, var(--page-bg));border:.5px solid var(--line);border-radius:var(--radius-md);align-content:space-between;gap:.55rem;min-height:82px;padding:.75rem .9rem;display:grid}.patterns-page .patterns-metric-card .patterns-metric-label{color:var(--text-main);margin:0;font-size:13px;font-weight:700;line-height:1.35}.patterns-page .patterns-metric-card .patterns-metric-value{color:var(--text-main);font-size:16px;font-weight:750;line-height:1.25}.patterns-page .patterns-metric-card .patterns-metric-empty,.patterns-page .patterns-metric-empty{color:var(--text-muted);max-width:34rem;font-size:12px;font-weight:500;line-height:1.4}.patterns-support-card{grid-column:1/-1}.patterns-start-detail{gap:1rem;min-width:0;display:grid}.patterns-start-banner{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.2rem 1.35rem}.patterns-start-banner h3{color:var(--text-main);margin:0;font-size:22px;font-weight:800;line-height:1.2}.patterns-start-outcome{color:var(--text-main);margin:.55rem 0 .35rem;font-size:16px;font-weight:700;line-height:1.35}.patterns-start-comparison{color:var(--text-muted);margin:0;font-size:13px;line-height:1.4}.patterns-start-empty{color:var(--text-muted);margin:.55rem 0 0;font-size:13px;line-height:1.4}.patterns-start-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem;display:grid}.patterns-writing-more-detail{gap:1rem;min-width:0;display:grid}.patterns-writing-more-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:1rem;display:grid}.patterns-writing-more-trend{color:var(--purple-primary);margin:0;font-size:18px;font-weight:800;line-height:1.2}.patterns-start-card,.patterns-start-trend-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);gap:.8rem;padding:1.2rem 1.35rem;display:grid}.patterns-start-card h3,.patterns-start-trend-card h3{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:13px;font-weight:800;line-height:1.3}.patterns-start-value{color:var(--text-main);margin:0;font-size:24px;font-weight:800;line-height:1.1}.patterns-start-distribution{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.patterns-writing-more-bars{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.patterns-writing-more-bars li{color:var(--text-main);grid-template-columns:minmax(70px,.35fr) minmax(140px,1fr) 48px;align-items:center;gap:.7rem;font-size:13px;display:grid}.patterns-writing-more-bars strong{color:var(--text-muted);text-align:right;font-size:13px}.patterns-start-distribution li{color:var(--text-main);grid-template-columns:minmax(110px,.6fr) minmax(120px,1fr) 28px;align-items:center;gap:.7rem;font-size:13px;display:grid}.patterns-start-distribution strong{color:var(--text-muted);text-align:right;font-size:13px}.patterns-start-track{background:color-mix(in srgb, var(--purple-primary) 12%, var(--surface));border-radius:999px;height:10px;display:block;overflow:hidden}.patterns-start-bar{background:var(--purple-primary);border-radius:inherit;height:100%;display:block}.patterns-start-trend-card{min-height:250px}.patterns-start-trend-card .section-heading-row{justify-content:space-between;align-items:center}.patterns-start-line-chart{gap:.35rem;min-height:170px;display:grid}.patterns-start-chart-body{grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:.55rem;display:grid}.patterns-start-chart-plot{gap:.35rem;min-width:0;display:grid}.patterns-start-line-chart svg{width:100%;height:150px;overflow:visible}.patterns-start-line-chart line{stroke:color-mix(in srgb, var(--purple-primary) 12%, var(--border));stroke-width:.6px}.patterns-start-line-chart polyline{fill:none;stroke:color-mix(in srgb, var(--purple-primary) 82%, var(--green));stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4px}.patterns-start-line-chart circle{fill:var(--purple-primary);stroke:var(--surface);stroke-width:1.4px}.patterns-start-line-chart-empty svg{opacity:.75}.patterns-start-chart-labels{color:var(--text-muted);justify-content:space-between;font-size:11px;font-weight:700;line-height:1.2;display:flex}.patterns-start-axis-label{color:var(--text-muted);font-size:11px;font-weight:800;line-height:1.2}.patterns-start-y-axis-label{margin-left:0}.patterns-start-x-axis-label{text-align:center;margin-left:3.3rem}.patterns-start-y-axis-values{color:var(--text-muted);text-align:right;white-space:nowrap;flex-direction:column;justify-content:space-between;height:150px;padding:3px 0;font-size:10px;font-weight:700;line-height:1;display:flex}.patterns-section-growth-detail{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);gap:1.25rem;min-width:0;padding:1.7rem 1.85rem;display:grid;box-shadow:0 10px 22px #503d910a}.patterns-section-growth-detail>*{min-width:0}.patterns-section-growth-header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.patterns-section-growth-header h2{color:var(--text-main);margin:0;font-size:24px;font-weight:800;line-height:1.2}.patterns-section-growth-header p,.patterns-section-growth-select-menu{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--purple-primary);flex:none;margin:0;padding:.8rem 1rem;font-size:15px;font-weight:800;line-height:1.2}.patterns-section-growth-select-menu{position:relative}.patterns-section-growth-select-menu summary{cursor:pointer;align-items:center;gap:.55rem;list-style:none;display:inline-flex}.patterns-section-growth-select-menu summary::-webkit-details-marker{display:none}.patterns-section-growth-select-menu summary:after{border-color:var(--purple-primary) transparent transparent;content:"";border-style:solid;border-width:.38rem .32rem 0;margin-left:.2rem;display:inline-block}.patterns-section-growth-select-menu strong{color:var(--purple-primary);font:inherit}.patterns-section-growth-options{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);z-index:5;gap:.15rem;min-width:100%;padding:.45rem;display:grid;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 16px 32px #503d911f}.patterns-section-growth-options a{color:var(--text-main);white-space:nowrap;border-radius:12px;padding:.55rem .7rem;text-decoration:none}.patterns-section-growth-options a:hover,.patterns-section-growth-options a[aria-current=true]{background:var(--purple-soft);color:var(--purple-primary)}.patterns-section-growth-context,.patterns-section-growth-footer{color:var(--text-muted);margin:0;font-size:15px;line-height:1.45}.patterns-section-growth-summary{flex-wrap:wrap;gap:.75rem 1.5rem;display:flex}.patterns-section-growth-summary p{color:var(--text-muted);margin:0;font-size:15px;line-height:1.35}.patterns-section-growth-summary strong{color:var(--text-main)}.patterns-section-growth-table-wrap{border:1px solid var(--border);border-radius:var(--radius-md);-webkit-overflow-scrolling:touch;width:100%;min-width:0;overflow-x:auto}.patterns-section-growth-table{border-collapse:collapse;width:100%;min-width:720px}.patterns-section-growth-table th,.patterns-section-growth-table td{border-bottom:1px solid var(--border);padding:.95rem 1rem}.patterns-section-growth-table tr:last-child th,.patterns-section-growth-table tr:last-child td{border-bottom:0}.patterns-section-growth-table thead th{background:color-mix(in srgb, var(--surface) 72%, var(--page-bg));color:var(--text-muted);letter-spacing:.04em;text-align:center;text-transform:uppercase;font-size:13px;font-weight:800}.patterns-section-growth-table thead th:first-child{text-align:left}.patterns-section-growth-table thead th span{letter-spacing:0;text-transform:none;display:block}.patterns-section-growth-table thead th span:first-child{color:var(--text-muted);font-size:14px;font-weight:800}.patterns-section-growth-table thead th span:last-child{margin-top:.2rem;font-size:12px}.patterns-section-growth-table tbody th{color:var(--text-main);text-align:left;white-space:nowrap;font-size:16px;font-weight:800}.patterns-section-growth-table tbody th span{display:block}.patterns-section-growth-table tbody th span+span{color:var(--text-muted);white-space:normal;max-width:220px;margin-top:.2rem;font-size:12px;font-weight:650;line-height:1.35}.patterns-section-growth-table td{color:var(--text-main);text-align:center}.patterns-section-growth-table td strong{margin-bottom:.45rem;font-size:18px;font-weight:800;line-height:1.1;display:block}.patterns-section-growth-recent{background:color-mix(in srgb, var(--purple-primary) 6%, var(--surface))}.patterns-section-growth-table thead .patterns-section-growth-recent span:first-child{color:var(--purple-primary)}.patterns-section-growth-empty{border:1px solid var(--border);border-radius:var(--radius-md);gap:.35rem;padding:1rem;display:grid}.patterns-section-growth-empty p{color:var(--text-muted);margin:0;font-size:14px;line-height:1.4}.patterns-section-growth-empty p:first-child{color:var(--text-main);font-size:15px;font-weight:800}.patterns-goal-progress-detail{border:1px solid var(--border);background:#fff;border-radius:20px;gap:1.35rem;padding:2.35rem;display:grid;box-shadow:0 4px 20px #0000000f}.patterns-goal-progress-header h2{color:#1e2340;margin:0;font-size:27px;font-weight:850;line-height:1.18}.patterns-goal-progress-static-select{color:#6b7280;margin:0;font-size:16px;font-weight:700}.patterns-goal-progress-static-select strong{color:#1e2340}.patterns-goal-progress-badge{border-radius:9999px;justify-self:start;padding:.45rem .85rem;font-size:15px;font-weight:800;line-height:1;display:inline-flex}.patterns-goal-progress-badge-getting_closer{color:#4c7a2e;background:#e3efd3}.patterns-goal-progress-badge-getting_further{color:#b23a3a;background:#f5dada}.patterns-goal-progress-badge-no_clear_trend,.patterns-goal-progress-badge-not_enough_data{color:#6b7280;background:#ededf2}.patterns-goal-progress-selected-view{gap:1.4rem;display:grid}.patterns-goal-progress-projects{gap:1.1rem;display:grid}.patterns-goal-progress-projects h3{color:#8b8fa3;margin:0 0 -.15rem;font-size:16px;font-weight:850}.patterns-goal-progress-project{gap:.45rem;display:grid}.patterns-goal-progress-project-row{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.patterns-goal-progress-project-row h4{color:#1e2340;margin:0;font-size:18px;font-weight:850;line-height:1.2}.patterns-goal-progress-project-row p{color:#8b8fa3;flex:none;margin:0;font-size:16px;font-weight:650}.patterns-goal-progress-project-row strong{color:#453874;font-weight:850}.patterns-goal-progress-track{background:#eae7f5;border-radius:9999px;height:10px;overflow:hidden}.patterns-goal-progress-track span{border-radius:inherit;background:#453874;height:100%;display:block}.patterns-goal-progress-helper{color:#8b8fa3;margin:-.1rem 0 0;font-size:15px;line-height:1.35}.report-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid}.report-detail-grid div{border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px}.report-detail-grid dt{color:var(--text-muted);font-size:12px;font-weight:700}.report-detail-grid dd{color:var(--text-main);margin:4px 0 0;font-size:15px;font-weight:700}.report-saved-writing{background:var(--page-bg);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-main);font:inherit;overflow-wrap:anywhere;white-space:pre-wrap;margin:0;padding:14px}.report-session-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.report-session-row{border:1px solid var(--line);border-radius:var(--radius-sm);grid-template-columns:minmax(0,1fr) minmax(120px,auto) minmax(180px,auto);align-items:center;gap:8px;padding:12px;display:grid}.report-session-row strong{color:var(--text-main)}.report-session-row span{color:var(--text-muted);font-size:14px;font-weight:700}@media (max-width:760px){.shell-page{align-items:stretch;padding:16px}.student-active-writing-page{padding:14px}.shell-panel{padding:24px}.student-writing-panel{max-width:100%;padding:0}.writing-pane{height:auto;min-height:var(--student-card-min-height)}.student-prompt-card{height:auto;min-height:var(--student-prompt-block-height);padding-top:12px;padding-bottom:12px}.student-action-row{flex-direction:column;align-items:stretch}.student-action-row .save-status,.writing-finish-actions{width:100%;margin-left:0}.writing-finish-actions .btn{width:100%}.auth-grid,.auth-account-page .account-two-col,.auth-account-page .feedback-grid,.auth-account-page .account-form-grid,.report-detail-grid,.patterns-start-card-grid,.patterns-writing-more-card-grid,.report-session-row{grid-template-columns:1fr}.patterns-panel{padding:16px}.pattern-writer-card,.patterns-writer-selector-card{min-width:0}.patterns-date-range-control,.patterns-family-heading{flex-direction:column;align-items:stretch}.patterns-date-range-control label,.patterns-date-range-control select,.patterns-date-range-control input,.patterns-date-range-control button,.patterns-family-copy-control,.patterns-family-copy-control button{width:100%}.patterns-growth-parent{padding:.8rem}.patterns-start-banner{padding:1.2rem}.patterns-start-card,.patterns-start-trend-card{padding:1rem}.patterns-start-distribution li{grid-template-columns:minmax(96px,.7fr) minmax(90px,1fr) 24px}.patterns-section-growth-detail{gap:1rem;padding:1.2rem}.patterns-section-growth-header{flex-direction:column;align-items:stretch}.patterns-section-growth-header h2{font-size:20px}.patterns-section-growth-header p,.patterns-section-growth-select-menu{align-self:start;width:100%;max-width:100%}.patterns-section-growth-select-menu summary{flex-direction:column;align-items:flex-start}.patterns-section-growth-options{width:100%;left:0;right:auto}.patterns-section-growth-options a{white-space:normal}.patterns-section-growth-table-wrap{margin-inline:-.15rem}.patterns-section-growth-table{min-width:620px}.patterns-section-growth-table th,.patterns-section-growth-table td{padding:.75rem .8rem}.patterns-section-growth-table thead th:first-child,.patterns-section-growth-table tbody th{background:var(--surface);z-index:2;min-width:150px;position:sticky;left:0}.patterns-section-growth-table thead th:first-child{background:color-mix(in srgb, var(--surface) 72%, var(--page-bg));z-index:3}.patterns-section-growth-table tbody th{font-size:14px}.patterns-section-growth-table tbody th span+span{max-width:145px}.patterns-section-growth-table td strong{font-size:16px}.patterns-goal-progress-detail{gap:1rem;padding:1.2rem}.patterns-goal-progress-header h2{font-size:22px}.patterns-goal-progress-project-row{flex-direction:column;align-items:flex-start;gap:.25rem}.patterns-goal-progress-project-row p{font-size:15px}.patterns-selector-row{flex-direction:column;align-items:flex-start}.patterns-support-card{grid-column:1/-1}.section-heading-row,.writer-row-main{flex-direction:column;align-items:stretch}.setup-option-grid,.student-preview-controls{grid-template-columns:1fr}.project-row,.project-actions,.code-row{flex-direction:column;place-items:stretch stretch}}@media (max-width:900px){.student-workspace{max-width:min(100%, var(--student-card-width));grid-template-columns:1fr}.writing-pane,.support-sidebar{width:100%;max-width:100%;position:static}.support-sidebar{min-height:0}}@media (pointer:coarse){.btn,.part-next-btn,.tool-btn,input[type=date],input[type=email],input[type=number],input[type=password],input[type=text],select,textarea{min-height:44px}.modal-x,.prompt-read-aloud-button,.student-link-copy-btn,.textarea-icon-pair .read-aloud-button,.textarea-icon-pair .voice-to-text-button,.support-card-listen,.support-starter-listen,.support-picture-mic{height:var(--support-touch-target-size);min-height:var(--support-touch-target-size);min-width:var(--support-touch-target-size);width:var(--support-touch-target-size)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
