:root{--color-bg:#fdf6ec;--color-text:#2f2a24;--color-muted:#6b6258;--color-primary:#d9662f;--color-primary-dark:#b94f21;--color-secondary:#fff;--color-border:#e7dcc9;--color-correct:#3f7a4e;--color-correct-bg:#e5f3e7;--color-incorrect:#a8631f;--color-incorrect-bg:#fbeee0}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:18px;line-height:1.5}.app-container{flex-direction:column;align-items:stretch;max-width:480px;min-height:100dvh;margin:0 auto;padding:24px 20px 40px;display:flex}.screen{flex-direction:column;flex:1;gap:16px;display:flex}.title{letter-spacing:.02em;text-align:center;color:var(--color-primary-dark);margin:12px 0 0;font-size:28px;font-weight:700}.title-small{text-align:center;margin:24px 0 0;font-size:24px;font-weight:700}.subtitle{text-align:center;color:var(--color-muted);margin:0 0 8px;font-size:18px}.btn{text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:14px;justify-content:center;align-items:center;padding:16px 20px;font-size:18px;font-weight:600;transition:transform 50ms,opacity .15s;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled,.btn-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--color-primary);color:#fff}.btn-secondary{background:var(--color-secondary);color:var(--color-primary-dark);border:2px solid var(--color-border)}.btn-large{border-radius:16px;width:100%;padding:20px;font-size:20px}.btn-generate{margin-top:8px}.visually-hidden-input{border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.camera-overlay{z-index:100;background:#000;flex-direction:column;display:flex;position:fixed;inset:0}.camera-video{object-fit:cover;background:#000;flex:1;width:100%;min-height:0}.camera-controls{padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));background:#000000a6;gap:12px;display:flex}.camera-controls .btn{flex:1}.camera-error-box{background:var(--color-bg);text-align:center;border-radius:16px;flex-direction:column;gap:16px;width:calc(100% - 48px);max-width:320px;margin:auto;padding:24px;display:flex}.camera-error-box p{color:var(--color-text);margin:0;font-size:16px}.error-banner{background:var(--color-incorrect-bg);color:var(--color-incorrect);border-radius:12px;margin:0;padding:14px 16px;font-size:16px}.thumbnail-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin:8px 0;display:grid}.thumbnail{aspect-ratio:1;border:2px solid var(--color-border);border-radius:12px;position:relative;overflow:hidden}.thumbnail img{object-fit:cover;width:100%;height:100%;display:block}.thumbnail-remove{color:#fff;cursor:pointer;background:#2f2a24bf;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:18px;line-height:1;display:flex;position:absolute;top:4px;right:4px}.privacy-note{color:var(--color-muted);text-align:center;margin-top:auto;padding-top:16px;font-size:14px}.question-counter{color:var(--color-muted);text-align:center;margin:24px 0 0;font-size:16px;font-weight:600}.question-text{text-align:center;margin:0 0 8px;font-size:22px;font-weight:700}.options-list{flex-direction:column;gap:12px;display:flex}.option-btn{background:var(--color-secondary);border:2px solid var(--color-border);text-align:left;cursor:pointer;color:var(--color-text);border-radius:14px;padding:18px 16px;font-size:18px;font-weight:500}.option-btn:active{transform:scale(.98)}.option-selected{border-color:var(--color-primary);background:var(--color-bg);color:var(--color-primary-dark);box-shadow:0 0 0 2px var(--color-primary) inset}.option-correct{border-color:var(--color-correct);background:var(--color-correct-bg);color:var(--color-correct)}.option-incorrect{border-color:var(--color-incorrect);background:var(--color-incorrect-bg);color:var(--color-incorrect)}.feedback{text-align:center;flex-direction:column;align-items:center;gap:12px;padding-top:8px;display:flex}.feedback p{margin:0;font-size:20px;font-weight:700}.feedback-correct p{color:var(--color-correct)}.feedback-incorrect p{color:var(--color-incorrect);font-size:18px}.hint-text{color:var(--color-muted)!important;font-size:16px!important;font-weight:500!important}.score-line{text-align:center;margin:8px 0 0;font-size:20px;font-weight:700}.result-message{text-align:center;color:var(--color-muted);margin:0 0 16px;font-size:18px}.child-header{color:var(--color-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:14px;display:flex}.child-header-name{font-weight:600}.child-header-links{gap:14px;display:flex}.link-btn{color:var(--color-primary-dark);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;font-weight:600;text-decoration:underline}.child-list{flex-direction:column;gap:12px;display:flex}.child-card{border:2px solid var(--color-border);background:var(--color-secondary);border-radius:14px;align-items:stretch;display:flex;overflow:hidden}.child-card-select{cursor:pointer;text-align:left;background:0 0;border:none;flex-direction:column;flex:1;align-items:flex-start;gap:2px;padding:16px 18px;display:flex}.child-card-name{color:var(--color-text);font-size:19px;font-weight:700}.child-card-age{color:var(--color-muted);font-size:14px}.child-card-delete{border:none;border-left:2px solid var(--color-border);background:var(--color-bg);width:48px;color:var(--color-incorrect);cursor:pointer;font-size:20px}.child-card-confirm{flex-direction:column;flex:1;gap:12px;padding:16px 18px;display:flex}.child-card-confirm p{margin:0;font-size:15px}.child-card-confirm-actions{gap:10px;display:flex}.child-card-confirm-actions .btn{flex:1;padding:10px;font-size:15px}.child-form{background:var(--color-secondary);border:2px solid var(--color-border);border-radius:14px;flex-direction:column;gap:8px;padding:18px;display:flex}.child-form-label{color:var(--color-muted);font-size:14px;font-weight:600}.child-form-input{border:2px solid var(--color-border);color:var(--color-text);background:var(--color-bg);border-radius:10px;padding:12px 14px;font-size:17px}.child-form-actions{gap:10px;margin-top:8px;display:flex}.child-form-actions .btn{flex:1}.progress-title{text-align:center;overflow-wrap:break-word;margin:24px 0 0;font-size:clamp(19px,6vw,24px);font-weight:700}.progress-summary-line{text-align:center;color:var(--color-muted);margin:0;font-size:15px}.skill-list{flex-direction:column;gap:10px;margin-top:8px;display:flex}.skill-row{border:2px solid var(--color-border);background:var(--color-secondary);border-radius:12px;flex-direction:column;align-items:flex-start;gap:16px;padding:14px 16px;display:flex}.skill-row-title{overflow-wrap:break-word;font-weight:600}.skill-row-label{box-sizing:border-box;overflow-wrap:break-word;border-radius:10px;width:100%;padding:6px 12px;font-size:15px;font-weight:700}@media (min-width:480px){.skill-row{flex-direction:row;justify-content:space-between;align-items:center;gap:12px}.skill-row-title{min-width:0}.skill-row-label{border-radius:999px;flex-shrink:0;width:auto;padding:4px 10px}}.skill-row-label-insufficient,.skill-row-label-early{color:var(--color-muted);background:var(--color-border)}.skill-row-label-strong,.skill-row-label-good{color:var(--color-correct);background:var(--color-correct-bg)}.skill-row-label-developing,.skill-row-label-needs_support{color:var(--color-incorrect);background:var(--color-incorrect-bg)}.progress-narrative{background:var(--color-correct-bg);border-radius:12px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.progress-narrative p{color:var(--color-text);margin:0;font-size:15px}
