:root{--login-viewport-height:100svh;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#4a2c16;background:#f7eedc;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body{overscroll-behavior:none;width:100%;height:100%;min-height:100%;margin:0;overflow:hidden}body{width:100%;height:var(--login-viewport-height);background:#f7eedc;position:fixed;inset:0}button{appearance:none;-webkit-tap-highlight-color:transparent;cursor:pointer}button:disabled{cursor:not-allowed}button,input,textarea,select{font:inherit}.page{min-height:100vh}.login-page{width:100vw;height:var(--login-viewport-height);touch-action:manipulation;background:#f7eedc url(/assets/login/background.png) 50%/cover no-repeat;position:fixed;inset:0;overflow:hidden}.login-form{--stage-width:100vw;--stage-height:var(--login-viewport-height);width:var(--stage-width);height:var(--stage-height);position:absolute;inset:0;overflow:hidden}.app-page{width:100vw;height:var(--login-viewport-height);touch-action:manipulation;background:#f7eedc url(/assets/app/background.png) 50%/cover no-repeat;position:fixed;inset:0;overflow:hidden}.app-stage{--stage-width:100vw;--stage-height:var(--login-viewport-height);width:var(--stage-width);height:var(--stage-height);position:absolute;inset:0;overflow:hidden}.app-header{text-align:center;gap:4px;width:72%;display:grid;position:absolute;top:10.5%;left:50%;transform:translate(-50%,-50%)}.app-header p{color:#8c6240;font-size:clamp(14px, calc(var(--stage-width) * .035), 28px);margin:0;font-weight:750}.app-header h1{color:#4b2b14;font-size:clamp(32px, calc(var(--stage-width) * .092), 72px);margin:0;font-weight:900;line-height:1.08}.app-content{width:70%;height:68%;position:absolute;top:49.5%;left:50%;transform:translate(-50%,-50%)}.home-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:2.1%;height:100%;display:grid}.feature-tile,.practice-panel,.growth-card,.profile-card{border:max(1px, calc(var(--stage-width) * .0025)) solid #a97f465c;background:#fff9e7b8;border-radius:8px;text-decoration:none;box-shadow:inset 0 0 0 1px #ffffff8c,0 8px 20px #4c3f2914}.feature-tile{align-content:start;gap:8px;min-height:min(26vw,18vh);padding:11% 9%;display:grid;position:relative;overflow:hidden}.feature-tile:after{aspect-ratio:1;color:#8d561e;content:">";width:18%;font-size:clamp(18px, calc(var(--stage-width) * .052), 38px);background:#fffcf0db;border:2px solid #8b581c6b;border-radius:50%;place-items:center;font-weight:900;display:grid;position:absolute;bottom:7%;right:8%}.feature-tile strong,.practice-panel strong,.growth-card strong,.profile-card strong{color:#4d2b15;font-size:clamp(20px, calc(var(--stage-width) * .052), 42px);line-height:1.12}.feature-tile span,.practice-panel span,.growth-card span,.profile-card span,.growth-card p{color:#6f5138;font-size:clamp(13px, calc(var(--stage-width) * .031), 24px);font-weight:650;line-height:1.45}.feature-tile--warm{background:#ffeec4b3}.feature-tile--green{background:#e6f3d1b3}.feature-tile--blue{background:#ddf0f2b3}.feature-tile--peach{background:#ffe2cfb3}.panel-list{align-content:center;gap:3%;height:100%;display:grid}.practice-panel{gap:8px;min-height:16%;padding:5% 6%;display:grid}.practice-panel--button{width:100%;color:inherit;text-align:left;border-color:#9b603a6b}.camera-input{opacity:0;pointer-events:none;width:1px;height:1px;position:fixed}.assessment-message{color:#6b4b31;font-size:clamp(12px, calc(var(--stage-width) * .03), 20px);text-align:center;background:#fff9e7c2;border-radius:8px;margin:0;padding:8px 10px;font-weight:750}.assessment-result{border:max(1px, calc(var(--stage-width) * .0025)) solid #a97f4657;background:#fff9e7c7;border-radius:8px;grid-template-columns:1fr .86fr;gap:8px;min-height:32%;padding:10px;display:grid}.assessment-preview{background:#ffffffad;border-radius:8px;min-height:128px;position:relative;overflow:hidden}.assessment-preview img{object-fit:contain;width:100%;height:100%;display:block}.bbox-overlay{border:2px solid #d53f2e;position:absolute;box-shadow:0 0 0 1px #ffffffdb,0 0 14px #d53f2e52}.assessment-info{align-content:center;gap:5px;min-width:0;display:grid}.assessment-info span{color:#6f5138;font-size:clamp(12px, calc(var(--stage-width) * .029), 18px);font-weight:750}.assessment-info strong{color:#b33f2f;font-size:clamp(34px, calc(var(--stage-width) * .1), 72px);line-height:1}.assessment-info small{overflow-wrap:anywhere;color:#6b4b31;font-size:clamp(11px, calc(var(--stage-width) * .025), 16px);font-weight:650;line-height:1.35}.assessment-crop{object-fit:contain;background:#fffdf6;border:1px solid #7c572f47;border-radius:8px;grid-column:1/-1;justify-self:center;max-width:42%;max-height:72px}.resource-picker{gap:8px;min-height:0;display:grid}.resource-list{overscroll-behavior:contain;gap:7px;max-height:22vh;padding-right:2px;display:grid;overflow-y:auto}.resource-option{color:#5a3a22;text-align:left;background:#fff9e7c7;border:1px solid #a97f4657;border-radius:8px;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:8px;min-height:58px;padding:6px;display:grid}.resource-option.is-selected{border-color:#bc412fb8;box-shadow:inset 0 0 0 2px #bc412f2e}.resource-option img{object-fit:contain;background:#fffdf6;border-radius:6px;width:52px;height:52px}.resource-option span{color:#5a3a22;font-size:clamp(12px, calc(var(--stage-width) * .028), 18px);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:800;line-height:1.3;display:-webkit-box;overflow:hidden}.comparison-button{color:#fff9ea;min-height:44px;font-size:clamp(16px, calc(var(--stage-width) * .038), 26px);background:#b94b36;border:0;border-radius:999px;font-weight:900}.comparison-button:disabled{opacity:.68}.comparison-result{text-align:center;background:#fff9e7d1;border:1px solid #a97f4657;border-radius:8px;gap:4px;padding:9px 10px;display:grid}.comparison-result strong{color:#b33f2f;font-size:clamp(24px, calc(var(--stage-width) * .07), 48px);line-height:1}.comparison-result span{color:#6b4b31;font-size:clamp(12px, calc(var(--stage-width) * .029), 18px);font-weight:750;line-height:1.35}.ai-assessment-flow{overscroll-behavior:contain;scrollbar-width:none;align-content:start;gap:10px;height:100%;padding:2px 4px 12px;display:grid;overflow-y:auto}.ai-assessment-flow::-webkit-scrollbar{display:none}.flow-actions{justify-content:space-between;min-height:38px;display:flex}.flow-round-button{width:clamp(34px, calc(var(--stage-width) * .09), 58px);aspect-ratio:1;color:#57351d;font-size:clamp(22px, calc(var(--stage-width) * .055), 34px);background:#f9dcae;border:1px solid #ba894a6b;border-radius:50%;place-items:center;font-weight:900;line-height:1;text-decoration:none;display:grid;box-shadow:0 4px 10px #5c3e1c24}.assessment-steps{background:#fffaeeeb;border:1px solid #bc955f52;border-radius:999px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:6px;display:grid;box-shadow:inset 0 0 0 1px #ffffffc2,0 6px 16px #4b371f14}.assessment-step{color:#7a6249;text-align:left;background:0 0;border:0;border-radius:999px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:5px;min-width:0;padding:5px 7px;display:grid;position:relative}.assessment-step.is-active{color:#e85317;background:#ef631d1a}.assessment-step__number{width:clamp(22px, calc(var(--stage-width) * .052), 34px);aspect-ratio:1;color:#fffaf0;font-size:clamp(13px, calc(var(--stage-width) * .03), 18px);background:#c7b7a0;border-radius:50%;place-items:center;font-weight:900;display:grid}.assessment-step.is-active .assessment-step__number{background:#ec5a18}.assessment-step__body{gap:2px;min-width:0;display:grid}.assessment-step__body strong{color:currentColor;font-size:clamp(12px, calc(var(--stage-width) * .03), 20px);text-overflow:ellipsis;white-space:nowrap;font-weight:900;line-height:1.15;overflow:hidden}.assessment-step__body small{color:currentColor;min-width:0;font-size:clamp(9px, calc(var(--stage-width) * .022), 15px);opacity:.9;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:3px;font-weight:750;line-height:1.2;display:flex;overflow:hidden}.assessment-step i{color:#cdbb9e;font-size:clamp(18px, calc(var(--stage-width) * .046), 28px);font-style:normal;font-weight:900}.practice-step-card{padding:clamp(12px, calc(var(--stage-width) * .034), 22px);background:#fff9e9e6;border:1px solid #bc955f59;border-radius:8px;gap:12px;display:grid;box-shadow:inset 0 0 0 1px #ffffffb3,0 10px 24px #503a1e1a}.step-heading{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;display:grid}.step-heading>span{width:clamp(38px, calc(var(--stage-width) * .095), 62px);aspect-ratio:1;color:#2f261e;font-size:clamp(26px, calc(var(--stage-width) * .067), 44px);border:2px solid #2c241c;border-radius:50%;place-items:center;font-weight:900;line-height:1;display:grid}.step-heading div{gap:4px;min-width:0;display:grid}.step-heading strong{color:#33261c;font-size:clamp(24px, calc(var(--stage-width) * .064), 46px);font-weight:900;line-height:1.1}.step-heading small{color:#4c3727;font-size:clamp(13px, calc(var(--stage-width) * .031), 20px);font-weight:750;line-height:1.4}.copy-search{background:#fffcf4db;border:1px solid #c49a5f4d;border-radius:999px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 7px 6px 14px;display:grid}.copy-search label{color:#5b412d;font-size:clamp(13px, calc(var(--stage-width) * .03), 18px);white-space:nowrap;font-weight:850}.copy-search input{min-width:0;height:clamp(40px, calc(var(--stage-width) * .1), 58px);color:#2c221a;font-size:clamp(28px, calc(var(--stage-width) * .075), 46px);background:0 0;border:0;outline:none;padding:0 2px;font-weight:900}.copy-search button,.annotation-retry-button{min-height:clamp(34px, calc(var(--stage-width) * .082), 48px);color:#fffaf0;font-size:clamp(13px, calc(var(--stage-width) * .03), 19px);white-space:nowrap;background:#ae843b;border:0;border-radius:999px;padding:0 14px;font-weight:900}.copy-search button:disabled,.annotation-retry-button:disabled{opacity:.66}.copy-demo-layout{grid-template-columns:minmax(0,1.15fr) minmax(130px,.85fr);align-items:stretch;gap:12px;display:grid}.copy-board{aspect-ratio:1;background:linear-gradient(90deg,#0000 49.6%,#cd965c47 50%,#0000 50.4%),linear-gradient(#0000 49.6%,#cd965c47 50%,#0000 50.4%),linear-gradient(45deg,#0000 49.65%,#cd965c33 50%,#0000 50.35%),linear-gradient(-45deg,#0000 49.65%,#cd965c33 50%,#0000 50.35%),#fffaf0;border:1px solid #bc955f61;border-radius:8px;justify-self:center;place-items:center;width:min(100%,clamp(230px,43vh,380px));min-height:0;display:grid;position:relative;overflow:hidden}.copy-board>span{color:#1f1b17;font-size:clamp(118px, calc(var(--stage-width) * .34), 240px);font-weight:900;line-height:1}.annotated-image{width:100%;height:100%;min-height:inherit;position:relative}.writing-animation{place-items:stretch stretch;display:grid;position:absolute;inset:0}.writing-animation canvas{aspect-ratio:1;width:100%;height:100%;display:block}.reference-view-tabs{z-index:5;background:#fffaefeb;border:1px solid #bc955f4d;border-radius:999px;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;display:grid;position:absolute;top:8px;left:8px;right:8px}.reference-view-tabs button{color:#6a5037;min-width:0;min-height:30px;font-size:clamp(11px, calc(var(--stage-width) * .027), 16px);white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:0 4px;font-weight:900}.reference-view-tabs button.is-active{color:#fff8ea;background:#e9571e}.annotated-image img,.photo-frame img,.mini-work-card img{object-fit:contain;width:100%;height:100%;display:block}.skeleton-view-base{background:linear-gradient(90deg,#0000 49.6%,#cd965c38 50%,#0000 50.4%),linear-gradient(#0000 49.6%,#cd965c38 50%,#0000 50.4%),#fffaf0;place-items:center;display:grid;position:absolute;inset:0}.skeleton-view-base span{color:#28211a14;font-size:clamp(118px, calc(var(--stage-width) * .34), 240px);font-weight:900;line-height:1}.annotation-overlay,.stroke-lines{pointer-events:none;position:absolute;inset:0}.annotation-bbox{border:2px solid #e5531b;border-radius:4px;position:absolute;box-shadow:0 0 0 1px #ffffffc2}.stroke-lines{width:100%;height:100%}.stroke-polyline{fill:none;stroke:var(--stroke-color,#1f76b7d1);stroke-linecap:round;stroke-linejoin:round;stroke-width:9px}.stroke-polyline.is-skeleton{stroke-width:13px}.keypoint-dot{fill:var(--stroke-color,#2f8fca);stroke:#fffaeff5;stroke-width:5px}.ink-stroke-region,.ink-annotation-box{border:2px solid var(--stroke-color,#1f76b7bd);background:#2f8fca24;border-radius:6px;position:absolute;box-shadow:inset 0 0 0 999px #ffffff05}.ink-annotation-box{background:#e2483914;border-color:#e24839bf}.ink-stroke-region em,.ink-annotation-box em{color:#164d73;font-size:clamp(9px, calc(var(--stage-width) * .022), 14px);white-space:nowrap;background:#fffaefeb;border-radius:999px;padding:2px 5px;font-style:normal;font-weight:900;position:absolute;top:0;left:0;transform:translate(-4px,-50%)}.ink-annotation-box em{color:#9f2f23}.reference-empty-layer{z-index:3;color:#6a5037;font-size:clamp(13px, calc(var(--stage-width) * .031), 20px);white-space:nowrap;background:#fffaefeb;border-radius:999px;padding:8px 12px;font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.annotation-loading{color:#4c3523;text-align:center;background:#fff8e8f0;border-radius:8px;gap:3px;padding:10px 12px;display:grid;position:absolute;inset:auto 8% 8%;box-shadow:0 8px 20px #4b371f24}.annotation-loading strong{color:#d64a1c;font-size:clamp(16px, calc(var(--stage-width) * .04), 24px);font-weight:900}.annotation-loading span{color:#6a5138;font-size:clamp(12px, calc(var(--stage-width) * .028), 18px);font-weight:800}.copy-notes{background:#fffcf4b8;border:1px solid #bc955f42;border-radius:8px;align-content:center;gap:9px;padding:14px;display:grid}.copy-notes strong,.section-title-row strong{color:#3f2d1e;font-size:clamp(17px, calc(var(--stage-width) * .042), 26px);font-weight:900}.copy-notes span,.section-title-row span,.empty-resource span{color:#6b5039;font-size:clamp(12px, calc(var(--stage-width) * .029), 18px);font-weight:750;line-height:1.45}.annotation-retry-button{justify-self:start;margin-top:2px}.resource-section{gap:8px;display:grid}.section-title-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.resource-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:28vh;padding-right:2px;display:grid;overflow-y:auto}.resource-card{color:#493220;text-align:center;background:#fffcf4c7;border:1px solid #bc955f57;border-radius:8px;gap:5px;min-width:0;padding:7px;display:grid}.resource-card.is-selected{border-color:#e5531b;box-shadow:inset 0 0 0 2px #e5531b26}.resource-card__image{color:#1f1b17;height:clamp(72px,13vh,118px);font-size:clamp(44px, calc(var(--stage-width) * .14), 88px);background:#fffaf0;border-radius:6px;place-items:center;font-weight:900;display:grid;overflow:hidden}.resource-card__image img{object-fit:contain;width:100%;height:100%;display:block}.resource-card strong{color:#493220;font-size:clamp(12px, calc(var(--stage-width) * .03), 18px);text-overflow:ellipsis;white-space:nowrap;font-weight:900;overflow:hidden}.resource-card small{color:#72563d;font-size:clamp(10px, calc(var(--stage-width) * .025), 15px);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:750;line-height:1.25;display:-webkit-box;overflow:hidden}.empty-resource{text-align:center;background:#fffcf499;border:1px dashed #bc955f7a;border-radius:8px;place-items:center;min-height:96px;display:grid}.empty-resource strong{color:#4a3321;font-size:clamp(17px, calc(var(--stage-width) * .04), 25px);font-weight:900}.photo-tip{color:#5b402a;background:#fff0d8e0;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;display:grid}.photo-tip span{color:#b0803e;font-size:clamp(26px, calc(var(--stage-width) * .064), 40px);line-height:1}.photo-tip strong{font-size:clamp(14px, calc(var(--stage-width) * .034), 22px);font-weight:900;line-height:1.4}.photo-frame{background:linear-gradient(90deg,#0000 12%,#ffffffe6 12% 13%,#0000 13% 87%,#ffffffe6 87% 88%,#0000 88%),linear-gradient(#0000 12%,#ffffffe6 12% 13%,#0000 13% 87%,#ffffffe6 87% 88%,#0000 88%),linear-gradient(135deg,#8b633a,#43301f);border-radius:8px;place-items:center;min-height:clamp(260px,45vh,430px);display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #412d1a29}.photo-frame.has-preview{background:#fffcf4c7}.photo-placeholder{color:#fff8ea;text-align:center;gap:6px;display:grid}.photo-placeholder span{font-size:clamp(24px, calc(var(--stage-width) * .06), 40px);font-weight:900}.photo-placeholder small{font-size:clamp(13px, calc(var(--stage-width) * .031), 20px);font-weight:750}.upload-review{background:#fffcf4c2;border:1px solid #bc955f4d;border-radius:8px;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px;padding:8px 10px;display:grid}.recognized-word{justify-items:center;gap:2px;display:grid}.recognized-word span,.upload-review small{color:#6b5039;font-size:clamp(11px, calc(var(--stage-width) * .027), 16px);font-weight:750;line-height:1.35}.recognized-word strong{color:#b33f2f;font-size:clamp(34px, calc(var(--stage-width) * .09), 58px);line-height:1}.master-example-panel{background:#fffcf4c2;border:1px solid #bc955f4d;border-radius:8px;gap:8px;padding:9px 10px;display:grid}.master-example-panel__title{justify-content:space-between;align-items:center;gap:10px;display:flex}.master-example-panel__title strong{color:#3f2d1e;font-size:clamp(14px, calc(var(--stage-width) * .034), 22px);font-weight:900}.master-example-panel__title span,.master-example-panel__meta span{color:#72563d;font-size:clamp(11px, calc(var(--stage-width) * .027), 16px);text-overflow:ellipsis;white-space:nowrap;font-weight:750;overflow:hidden}.master-example-panel__body{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;display:grid}.master-example-panel__image{aspect-ratio:1;background:linear-gradient(90deg,#0000 49.5%,#d2a06433 50%,#0000 50.5%),linear-gradient(#0000 49.5%,#d2a06433 50%,#0000 50.5%),#fffaf0;border-radius:6px;place-items:center;width:clamp(76px,18vw,116px);display:grid;overflow:hidden}.master-example-panel__image img{object-fit:contain;width:100%;height:100%}.master-example-panel__image span{color:#1f1b17;font-size:clamp(44px, calc(var(--stage-width) * .12), 76px);font-weight:900;line-height:1}.master-example-panel__meta{gap:4px;min-width:0;display:grid}.master-example-panel__meta strong{color:#493220;font-size:clamp(16px, calc(var(--stage-width) * .039), 25px);text-overflow:ellipsis;white-space:nowrap;font-weight:900;overflow:hidden}.upload-actions,.step-bottom-actions{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:8px;display:grid}.step-bottom-actions{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.primary-flow-button,.secondary-flow-button,.camera-flow-button,.ghost-flow-button{min-height:clamp(42px, calc(var(--stage-width) * .105), 60px);font-size:clamp(15px, calc(var(--stage-width) * .036), 24px);white-space:nowrap;border:0;border-radius:999px;padding:0 12px;font-weight:900}.primary-flow-button{color:#fff8ea;background:linear-gradient(#ff7b2f,#de4419);width:100%}.secondary-flow-button,.ghost-flow-button{color:#5d422a;background:#f4dfbc;border:1px solid #bc955f61}.camera-flow-button{min-height:clamp(66px, calc(var(--stage-width) * .17), 96px);border:max(3px, calc(var(--stage-width) * .008)) solid #ffffffc7;color:#fff8ea;background:#f15a18;box-shadow:0 0 0 5px #f15a1829}.primary-flow-button:disabled,.secondary-flow-button:disabled,.camera-flow-button:disabled,.ghost-flow-button:disabled{opacity:.58}.result-comparison{grid-template-columns:.72fr .72fr minmax(0,1.56fr);gap:10px;display:grid}.mini-work-card,.visual-feedback,.score-card,.result-badge-card{background:#fffcf4c7;border:1px solid #bc955f52;border-radius:8px;gap:8px;padding:9px;display:grid}.mini-work-card strong,.visual-feedback strong,.score-card>strong,.result-badge-card span{color:#3f2d1e;font-size:clamp(13px, calc(var(--stage-width) * .032), 20px);text-align:center;font-weight:900}.mini-work-card div{background:linear-gradient(90deg,#0000 49.5%,#d2a0643d 50%,#0000 50.5%),linear-gradient(#0000 49.5%,#d2a0643d 50%,#0000 50.5%),#fffaf0;border-radius:6px;place-items:center;min-height:clamp(140px,24vh,230px);display:grid;overflow:hidden}.mini-work-card span{color:#1f1b17;font-size:clamp(54px, calc(var(--stage-width) * .17), 100px);font-weight:900}.visual-feedback div{background:#fffaf0;border-radius:6px;min-height:clamp(140px,24vh,230px);position:relative;overflow:hidden}.feedback-glyph{color:#1c1814e6;font-size:clamp(92px, calc(var(--stage-width) * .25), 176px);font-weight:900;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.feedback-bubble{max-width:46%;font-size:clamp(10px, calc(var(--stage-width) * .025), 15px);text-align:center;background:#fffaf0e6;border:2px solid;border-radius:999px;padding:5px 8px;font-weight:900;line-height:1.25;position:absolute}.feedback-bubble--red{color:#d84b42;top:14%;right:5%}.feedback-bubble--green{color:#5d8a45;bottom:13%;right:7%}.feedback-bubble--blue{color:#327db7;bottom:18%;left:5%}.result-comparison--overlay{grid-template-columns:1fr}.overlay-comparison{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}.overlay-main-panel{background:#fffcf4c7;border:1px solid #bc955f52;border-radius:8px;gap:8px;min-width:0;padding:9px;display:grid}.overlay-title-row{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.overlay-title-row strong{color:#3f2d1e;font-size:clamp(13px, calc(var(--stage-width) * .032), 20px);text-overflow:ellipsis;white-space:nowrap;font-weight:900;line-height:1.2;overflow:hidden}.overlay-title-row span{color:#72563d;min-width:0;font-size:clamp(11px, calc(var(--stage-width) * .026), 15px);white-space:nowrap;align-items:center;gap:8px;font-weight:850;line-height:1.2;display:inline-flex;overflow:hidden}.overlay-title-row i{color:#d77972;font-style:normal}.overlay-title-row i+i{color:#3f3b37}.assessment-overlay-board{isolation:isolate;aspect-ratio:1;cursor:crosshair;background:linear-gradient(90deg,#0000 49.55%,#d822228f 50%,#0000 50.45%),linear-gradient(#0000 49.55%,#d822228f 50%,#0000 50.45%),linear-gradient(45deg,#0000 49.62%,#d8222261 50%,#0000 50.38%),linear-gradient(-45deg,#0000 49.62%,#d8222261 50%,#0000 50.38%),#fff;border:1px solid #d8222285;border-radius:8px;outline:none;justify-self:center;width:min(100%,clamp(230px,42vh,380px));position:relative;overflow:hidden}.assessment-overlay-board.is-stroke-focused{cursor:zoom-out}.assessment-overlay-board:focus-visible{box-shadow:0 0 0 3px #c84f3838}.assessment-overlay-content{position:absolute;inset:0}.assessment-overlay-student,.assessment-overlay-stroke-layer,.assessment-mask-stack,.assessment-stroke-guides{pointer-events:none;display:block;position:absolute}.assessment-overlay-student,.assessment-overlay-stroke-layer{object-fit:contain;width:100%;height:100%;inset:0}.assessment-overlay-student{z-index:3;filter:brightness(0)saturate()invert(23%)sepia(6%)saturate(470%)hue-rotate(346deg)brightness(93%)contrast(92%);mix-blend-mode:multiply;object-fit:contain;opacity:.74}.assessment-overlay-student--stroke{z-index:4;opacity:.76}.assessment-overlay-stroke-layer{z-index:2;filter:brightness(0)saturate()invert(62%)sepia(28%)saturate(740%)hue-rotate(316deg)brightness(101%)contrast(91%);mix-blend-mode:multiply;opacity:.64}.assessment-mask-stack{width:100%;height:100%;inset:0}.assessment-mask-stack img{object-fit:contain;mix-blend-mode:multiply;width:100%;height:100%;display:block;position:absolute;inset:0}.assessment-mask-stack--reference{z-index:1}.assessment-mask-stack--reference img{filter:brightness(0)saturate()invert(62%)sepia(28%)saturate(740%)hue-rotate(316deg)brightness(101%)contrast(91%);opacity:.58}.assessment-mask-stack--student{z-index:3}.assessment-mask-stack--student img{filter:brightness(0)saturate()invert(23%)sepia(6%)saturate(470%)hue-rotate(346deg)brightness(93%)contrast(92%);opacity:.66}.assessment-stroke-guides{overflow:visible}.assessment-stroke-guides--reference{z-index:5;color:#d77972;width:100%;height:100%;inset:0}.assessment-stroke-guides--student{z-index:6;color:#3f3b37}.assessment-stroke-guides__line{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:3.2px;opacity:.92}.assessment-stroke-guides--student .assessment-stroke-guides__line{stroke-dasharray:7 5;opacity:.94}.assessment-stroke-guides__point{fill:#fff;stroke:currentColor;stroke-width:2px;opacity:.98}.assessment-stroke-guides--student .assessment-stroke-guides__point{fill:#fff7fb}.teacher-annotation-overlay{z-index:8;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0;overflow:visible}.teacher-annotation-overlay__arrow{fill:none;stroke:#f05a28;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.8px;vector-effect:non-scaling-stroke}.teacher-annotation-overlay marker path{fill:#f05a28}.teacher-annotation-overlay__dot{fill:#fff6d6;stroke:#f05a28;stroke-width:2.2px}.teacher-annotation-overlay__label{fill:#b7331f;paint-order:stroke;stroke:#fffaeef0;stroke-linejoin:round;stroke-width:4px;font-weight:900}.assessment-overlay-fallback{z-index:1;color:#1f1b17e0;font-size:clamp(116px, calc(var(--stage-width) * .32), 220px);font-weight:900;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.selected-stroke-meta{justify-content:center;gap:8px;display:flex}.selected-stroke-meta span{color:#6b5039;font-size:clamp(11px, calc(var(--stage-width) * .026), 16px);background:#fff9e7cc;border:1px solid #bc955f52;border-radius:999px;padding:6px 10px;font-weight:900;line-height:1}.stroke-focus-empty{color:#72563d;min-height:54px;font-size:clamp(12px, calc(var(--stage-width) * .029), 18px);place-items:center;font-weight:850;display:grid;position:absolute;inset:0}.score-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:10px;display:grid}.score-rows{gap:7px;display:grid}.score-row{grid-template-columns:minmax(0,.62fr) minmax(0,1fr);align-items:center;gap:8px;display:grid}.score-row span,.score-row i,.score-card p,.result-badge-card small{color:#5d422a;font-size:clamp(12px, calc(var(--stage-width) * .029), 18px);font-weight:800;line-height:1.45}.score-row i{color:#e65021;letter-spacing:1px;font-style:normal}.score-card p{margin:0}.teacher-suggestions{border-top:1px solid #bc955f3d;gap:7px;padding-top:8px;display:grid}.teacher-suggestions>strong{color:#3f2d1e;font-size:clamp(13px, calc(var(--stage-width) * .031), 19px);font-weight:900;line-height:1.2}.teacher-suggestions>span,.teacher-suggestion span,.teacher-suggestion p{color:#5d422a;font-size:clamp(12px, calc(var(--stage-width) * .028), 17px);font-weight:800;line-height:1.4}.teacher-suggestion{background:#fff8e8ad;border:1px solid #db693c3d;border-radius:8px;gap:3px;padding:7px 8px;display:grid}.teacher-suggestion span{color:#b3452f;font-weight:900}.teacher-suggestion p{margin:0}.result-badge-card{text-align:center;place-items:center}.result-badge-card strong{width:clamp(92px, calc(var(--stage-width) * .25), 150px);aspect-ratio:1;color:#c33f22;font-size:clamp(28px, calc(var(--stage-width) * .07), 46px);background:#fff3d7;border:8px solid #ffba66;border-radius:50%;place-items:center;font-weight:900;display:grid;box-shadow:inset 0 0 0 3px #f27625}@media (max-width:520px){.assessment-step{grid-template-columns:auto minmax(0,1fr)}.assessment-step i,.assessment-step__body small{display:none}.copy-demo-layout,.overlay-comparison,.result-comparison,.score-layout{grid-template-columns:1fr}.assessment-overlay-board{width:min(100%,330px)}.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.upload-review{grid-template-columns:auto auto}.upload-review small{grid-column:1/-1}}.growth-card,.profile-card{text-align:center;gap:12px;width:88%;padding:8%;display:grid;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.growth-card strong{color:#b3452f;font-size:clamp(42px, calc(var(--stage-width) * .13), 96px)}.growth-card p{margin:0}.profile-avatar{aspect-ratio:1;border:max(2px, calc(var(--stage-width) * .006)) solid #b48b5594;background:radial-gradient(circle at 50% 36%,#fff6e3 0 14%,#0000 15%),radial-gradient(circle at 50% 78%,#fff6e3 0 28%,#0000 29%),linear-gradient(#78a584,#4f805f);border-radius:50%;justify-self:center;width:28%}.logout-button{color:#fff9ea;min-width:48%;min-height:42px;font-size:clamp(16px, calc(var(--stage-width) * .04), 28px);background:#b94b36;border:0;border-radius:999px;justify-self:center;font-weight:850}.app-tabbar{border:max(1px, calc(var(--stage-width) * .0025)) solid #b2884d6b;background:#fff9e6e0;border-radius:999px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;width:78%;min-height:7.4%;display:grid;position:absolute;top:93.5%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 2px #ffffffb8,0 6px 16px #4e3e261f}.app-tab{color:#4e3321;min-width:0;font-size:clamp(12px, calc(var(--stage-width) * .029), 20px);justify-items:center;gap:4px;font-weight:800;text-decoration:none;display:grid}.app-tab.is-active{color:#bd3f2f}.app-tab__icon{aspect-ratio:1;width:34%;max-width:42px;display:block;position:relative}.app-tab__icon:before,.app-tab__icon:after{content:"";position:absolute}.app-tab__icon--home:before{background:currentColor;border-radius:2px;inset:30% 12% 8%}.app-tab__icon--home:after{clip-path:polygon(50% 0,100% 54%,82% 54%,82% 100%,18% 100%,18% 54%,0 54%);background:currentColor;width:72%;height:56%;top:6%;left:14%}.app-tab__icon--ai:before{border:3px solid;border-radius:50%;inset:12%}.app-tab__icon--ai:after{background:currentColor;border-radius:999px;width:10%;height:100%;top:0;left:48%;transform:rotate(35deg)}.app-tab__icon--growth:before{background:currentColor;border-radius:999px;width:12%;height:72%;top:18%;left:44%}.app-tab__icon--growth:after{clip-path:polygon(50% 100%,0 52%,18% 4%,50% 22%,82% 4%,100% 52%);background:currentColor;border-radius:50% 50% 42% 42%;width:64%;height:46%;top:10%;left:18%}.app-tab__icon--me:before{aspect-ratio:1;background:currentColor;border-radius:50%;width:36%;top:12%;left:50%;transform:translate(-50%)}.app-tab__icon--me:after{background:currentColor;border-radius:999px 999px 35% 35%;width:56%;height:40%;bottom:8%;left:22%}.avatar-selector{aspect-ratio:1;z-index:2;place-items:center;width:29%;display:grid;position:absolute;top:39.2%;left:50%;transform:translate(-50%,-50%)}.avatar-image{object-fit:contain;width:100%;height:100%;display:block}.avatar-arrow{aspect-ratio:1;touch-action:manipulation;z-index:3;background:0 0;border:0;place-items:center;width:24%;padding:0;display:grid;position:absolute}.avatar-arrow--left{top:50%;left:-36%;transform:translateY(-50%)}.avatar-arrow--right{top:50%;right:-36%;transform:translateY(-50%)}.avatar-arrow img{width:100%;height:100%;display:block}.login-field{border:max(1px, calc(var(--stage-width) * .002)) solid #c1975f7a;background:#fffaed94;border-radius:999px;align-items:center;width:61.8%;height:5.5%;min-height:42px;display:flex;position:absolute;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 1px #ffffff73}.login-field--username{top:52.85%}.login-field--password{top:59.55%}.field-icon{aspect-ratio:1;background:linear-gradient(#6e987e 0%,#477647 100%);border-radius:50%;flex:none;width:8.6%;margin-left:4.5%;position:relative}.field-icon:before,.field-icon:after{content:"";background:#fff7e8;position:absolute}.field-icon--user:before{aspect-ratio:1;border-radius:50%;width:28%;top:23%;left:50%;transform:translate(-50%)}.field-icon--user:after{border-radius:999px 999px 30% 30%;width:46%;height:28%;bottom:18%;left:27%}.field-icon--lock:before{border:max(2px, calc(var(--stage-width) * .003)) solid #fff7e8;background:0 0;border-bottom:0;border-radius:999px 999px 0 0;width:38%;height:31%;top:20%;left:31%}.field-icon--lock:after{border-radius:3px;width:46%;height:34%;bottom:20%;left:27%}.login-field input{color:#5b4330;width:100%;min-width:0;height:100%;font-size:clamp(18px, calc(var(--stage-width) * .03), 32px);background:0 0;border:0;outline:none;padding:0 3.6%;font-weight:700}.login-field input::placeholder{color:#5d4e429e}.eye-button{background:0 0;border:0;flex:none;place-items:center;width:10.5%;height:100%;margin-right:3.2%;padding:0;display:grid}.eye-icon{border:max(2px, calc(var(--stage-width) * .003)) solid #867766;border-radius:50%;width:58%;height:36%;position:relative}.eye-icon:before{aspect-ratio:1;content:"";background:#867766;border-radius:50%;width:32%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.eye-icon:after{width:128%;height:max(2px, calc(var(--stage-width) * .003));content:"";background:#867766;position:absolute;top:50%;left:-14%;transform:rotate(38deg)}.eye-icon.is-open:after{display:none}.login-button{color:#fff8e9;background:0 0;border:0;width:48.2%;padding:0;position:absolute;top:66.4%;left:50%;transform:translate(-50%,-50%)}.login-button img{width:100%;height:auto;display:block}.login-button span{color:#fff8e9;width:100%;font-size:clamp(28px, calc(var(--stage-width) * .054), 56px);letter-spacing:0;text-shadow:0 2px #6d321d52;font-weight:900;position:absolute;top:49%;left:50%;transform:translate(-50%,-50%)}.login-button:disabled{opacity:.76}.login-options{color:#60452f;width:45.5%;font-size:clamp(14px, calc(var(--stage-width) * .026), 24px);justify-content:space-between;align-items:center;font-weight:700;display:flex;position:absolute;top:73.6%;left:50%;transform:translate(-50%,-50%)}.remember-option{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.remember-option input{aspect-ratio:1;accent-color:#5d8d68;width:7.2%;min-width:18px}.text-button{color:inherit;font-size:inherit;font-weight:inherit;white-space:nowrap;background:0 0;border:0;padding:0}.journey-button{border:max(2px, calc(var(--stage-width) * .003)) solid #5f9078;color:#34715a;width:44.5%;min-height:4%;font-size:clamp(16px, calc(var(--stage-width) * .029), 28px);white-space:nowrap;background:#fffaebc7;border-radius:999px;justify-content:center;align-items:center;gap:4.5%;font-weight:900;display:inline-flex;position:absolute;top:94.7%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 2px #ffffffd9,0 3px #555b3d29}.blossom-mark{aspect-ratio:1;width:6.2%;box-shadow:34% 0 0 -1px #ee9b91, -34% 0 0 -1px #ee9b91, 0 34% 0 -1px #f4bdb0, 0 -34% 0 -1px #f4bdb0;background:#f1b0a0;border-radius:50%;display:inline-block;position:relative}.blossom-mark:after{aspect-ratio:1;content:"";background:#d99d37;border-radius:50%;width:28%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@supports (height:100dvh){:root{--login-viewport-height:100dvh}}
