/* Stellar Daily Report 1.5 — PROTOTYPE add-on styles (1.5b).
   Live css/styles.css is untouched (byte-identical to live). These rules only style the NEW elements,
   using live tokens (--app-*, --stellar-*, --analysis-*), so whatever theme the live page shows, add-ons follow it. */
.p15-version{display:block;margin-top:8px;font:700 11px/1.4 var(--font-primary);letter-spacing:.3px;color:var(--app-muted)}
.p15-group{position:sticky;top:0;z-index:1;padding:7px 15px;background:#eef2ff;color:var(--stellar-primary-darker);font-size:11px;font-weight:800}
.p15-group span,.p15-meta{color:var(--app-muted);font-size:11px}
.p15-new{margin-left:6px;padding:2px 7px;border-radius:999px;background:#e7f8ef;color:#047857;font-size:11px}
.p15-toggle,.p15-addnew{color:var(--stellar-primary)!important;font-weight:700}
.p15-modal{position:fixed;inset:0;z-index:10000;display:flex;justify-content:center;align-items:flex-start;padding:30px 16px;overflow:auto;background:rgba(8,6,22,.45)}
.p15-modal .report-card,.p15-preview{width:min(850px,100%);margin:auto;padding:24px;border:1px solid var(--app-line);border-radius:20px;background:var(--app-panel-strong);color:var(--app-ink);font-family:var(--font-primary);max-height:90vh;overflow:auto}
.p15-preview::backdrop{background:rgba(8,6,22,.45)}
.p15-modal .form-row{align-items:end}
.p15-modal input,.p15-modal select{width:100%;padding:10px 12px;border-radius:13px;min-height:44px}
.p15-cands{display:grid;gap:8px;max-height:48vh;overflow:auto;margin:12px 0}
.p15-cand{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;background:#f8fafc;border-radius:13px}
.p15-cand img,.p15-cand .p15-nocover{width:52px;height:72px;object-fit:cover}
.p15-cand strong,.p15-cand small{display:block}
.p15-cand small,.p15-nocover{color:var(--app-muted);font-size:12px}
.p15-cand button{padding:8px 16px;margin:0}
.p15-confirm{display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px;margin:12px 0}
.p15-confirm>img{width:100px;max-height:154px;object-fit:contain}
.p15-foot{display:flex;justify-content:space-between;gap:12px;margin-top:16px}
.p15-foot a{color:var(--app-link)}
.p15-hw-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
.p15-hw-actions button{margin:0;font-size:12px;padding:8px 14px}
.p15-hw-count{font-size:13px;margin:8px 0}
.p15-hw-list{overflow-x:auto}
.p15-hw-table{border-collapse:collapse;width:100%;font-size:12px}
.p15-hw-table th,.p15-hw-table td{padding:8px;border:1px solid var(--app-line);text-align:left;vertical-align:top}
.p15-hw-table th{background:#f8fafc}
.p15-hw-table td:first-child{min-width:85px}
.p15-hw-table input,.p15-hw-table select{display:block;width:100%;min-width:95px;min-height:36px;padding:6px;border-radius:8px;margin:4px 0}
.p15-hw-table td:nth-child(2){min-width:220px}
.p15-hw-table button{font-size:11px;padding:6px 10px;margin:0}
.p15-stype{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 0 10px;font-size:12px;color:var(--app-muted)}
.p15-stype label{display:inline-flex;align-items:center;gap:5px;margin:0}
.p15-stype input{width:auto;min-height:0;accent-color:#047857}
.p15-stype small{flex-basis:100%}
.p15-error{color:#9f1239;background:#fff1f2;border:1px solid #fecdd3;padding:10px;border-radius:8px;margin:8px 0}
.p15-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;background:#f8fafc;padding:12px}
[hidden]{display:none!important}
@media(max-width:600px){.p15-confirm{grid-template-columns:1fr}.p15-confirm>img{display:none}.p15-cand{grid-template-columns:40px minmax(0,1fr)}.p15-cand button{grid-column:2}.p15-modal .report-card,.p15-preview{padding:16px}.p15-foot{flex-wrap:wrap}}

/* helper text (concept clarity) */
.p15-help{margin:6px 0 10px;padding:9px 12px;border:1px solid #c7d2fe;border-left:4px solid var(--stellar-primary);border-radius:8px;background:#f5f7ff;color:#334155;font-size:12.5px;line-height:1.45}
.p15-help b{color:var(--stellar-primary-darker)}
.p15-help details{margin-top:6px}.p15-help summary{cursor:pointer;color:var(--stellar-primary);font-weight:700}
.p15-help ul{margin:4px 0 0 18px;padding:0}
.p15-help .p15-eg{display:block;margin-top:4px;color:#475569}
.p15-mini{display:block;font-size:11px;font-weight:700;color:var(--app-muted);margin-top:4px}
.p15-mini span{font-weight:500}
.p15-hwskills{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:6px;font-size:11.5px}
.p15-hwskills .p15-mini{flex-basis:100%;margin:0}
.p15-hwskills label{display:inline-flex;align-items:center;gap:4px;margin:0;font-weight:500;color:#334155}
.p15-hwskills input{width:auto!important;min-height:0!important;display:inline!important;margin:0!important}
.p15-optional .structured-lesson-field label::after{content:" (optional)";font-weight:500;color:var(--app-muted)}
.p15-required{box-shadow:inset 3px 0 0 #ea580c}
/* Wonder causal thinking inside the live Analysis Skills panel */
.p15-ko{font-weight:600;color:var(--app-muted);font-size:11px}
.p15-stage-bar{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 10px}
.p15-stage-chip{margin:0;padding:6px 10px;border:1px solid var(--analysis-border);border-radius:999px;background:#fff;color:#475569;font-size:11.5px;font-weight:750;box-shadow:none;cursor:pointer}
.p15-stage-chip.on{background:#eef2ff;border-color:var(--analysis-accent);color:var(--stellar-primary-darker)}
.p15-stage-chip:hover{transform:none}
.p15-wonder-guide{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:6px 0}
.p15-wonder-guide>div{padding:6px 7px;border:1px solid #e2e8f0;border-radius:7px;background:#f8fafc;font-size:11px;line-height:1.3;color:#475569}
.p15-wonder-guide>div b{display:block;font-size:11px;color:#0f172a;margin-bottom:2px}
.p15-wonder-guide>div.active{border-color:var(--analysis-accent);background:#eef2ff;color:#1e293b}
.p15-wonder-example{margin:4px 0 6px;font-size:11.5px;color:#475569;line-height:1.35}
.p15-wonder-empty{margin:6px 0}
.p15-selfcheck{margin-top:10px;padding:8px 12px;border:1px dashed var(--analysis-border);border-radius:10px;background:#fff}
.p15-selfcheck summary{cursor:pointer;font-weight:750;font-size:12.5px;color:#334155}
.p15-selfcheck-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:8px 0}
.p15-selfcheck-grid label{display:flex;flex-direction:column;gap:3px;font-size:11.5px;margin:0}
.p15-selfcheck-grid small{color:var(--app-muted);font-weight:500}
.p15-selfcheck-grid select{min-height:32px;padding:4px 8px;border-radius:8px}
@media(max-width:700px){.p15-wonder-guide,.p15-selfcheck-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 4-part flow banners */
.p15-part{display:flex;gap:12px;align-items:flex-start;margin:0 0 14px;padding:10px 14px;border-radius:12px;background:var(--app-soft-panel);border:1px solid var(--app-line)}
.p15-part b{display:block;font-size:14px;color:var(--stellar-primary-darker)}
.p15-part span:not(.p15-part-no){display:block;font-size:12.5px;color:#475569;line-height:1.4}
.p15-part-no{flex:0 0 auto;display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--app-primary-button);color:#fff;font-weight:800;font-size:13px;margin-right:6px}
.p15-prev-part{margin:14px 0;padding-top:6px;border-top:1px solid var(--app-line)}
.p15-prev-part h3{display:flex;align-items:center}
.p15-prev-judge{margin:6px 0;padding:8px 10px;border-radius:8px;background:#f5f7ff}
.p15-prev-narr{white-space:pre-wrap;line-height:1.5;padding:10px;border-radius:8px;background:#fffbeb;border:1px solid #fde68a}
/* Part 2 grade-relative judgement */
.p15-grade-judge{margin:10px 0;padding:10px 12px;border:1px solid var(--analysis-border);border-radius:10px;background:#fff}
.p15-gj-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:8px;font-size:12.5px}
.p15-seg{display:flex;flex-wrap:wrap;gap:6px}
.p15-seg label{display:inline-flex;align-items:center;gap:4px;margin:0;padding:5px 10px;border:1px solid var(--analysis-border);border-radius:999px;font-size:12px;font-weight:650;cursor:pointer}
.p15-seg input{width:auto!important;min-height:0!important;margin:0!important}
.p15-seg label:has(input:checked){background:#eef2ff;border-color:var(--analysis-accent)}
.p15-gj-hint{flex-basis:100%;color:var(--app-muted)}
/* Part 3 axes */
.p15-chain{margin:10px 0 6px;padding:8px 10px;border-radius:8px;background:#f0fdf4;border:1px solid #bbf7d0;font-size:12.5px;color:#14532d}
.p15-axes-detail summary{cursor:pointer;font-weight:750;font-size:12.5px;margin:4px 0 8px}
.p15-axis{margin:8px 0 12px}
.p15-axis h4{margin:0 0 2px;font-size:13px;color:var(--stellar-primary-darker)}
.p15-axis-goal{margin:0 0 6px;font-size:11.5px;color:var(--app-muted)}
.p15-axis-item{padding:6px 0;border-top:1px dashed #e2e8f0}
.p15-axis-q{font-size:12px;margin-bottom:4px}.p15-axis-q span{color:#475569}
.p15-axis-item .analysis-band-row{display:flex;gap:3px;padding:3px;border-radius:9px;background:#f1f5f9}
.p15-axis-desc{display:block;margin-top:3px;font-size:11px;color:#475569}
.p15-axis-sum{font-size:11.5px;color:#065f46;margin:4px 0 0}
/* Part 4 */
.p15-solve textarea{width:100%}
.p15-solve-found{margin:8px 0;font-size:12.5px;line-height:1.9}
.p15-wk{display:inline-block;margin:0 4px 2px 0;padding:2px 8px;border-radius:999px;font-size:11.5px;background:#fef2f2;border:1px solid #fecaca;color:#7f1d1d}
.p15-wk-p2{background:#eef2ff;border-color:#c7d2fe;color:#1e1b4b}.p15-wk-p3{background:#f0fdf4;border-color:#bbf7d0;color:#14532d}
.p15-solve .p15-hw-table input[type=text]{min-width:120px}

/* growth path strip (slim, unobtrusive) */
.p15-growth{display:flex;flex-wrap:wrap;align-items:center;gap:3px 2px;margin:0 0 10px;padding:6px 10px;border:1px solid var(--app-line);border-radius:10px;background:#fff;font-size:11px}
.p15-growth i{font-style:normal;color:#94a3b8;margin:0 1px}
.p15-growth-t{font-weight:800;color:var(--stellar-primary-darker);margin-right:6px}
.p15-gs{padding:2px 7px;border-radius:999px;border:1px solid #e2e8f0;background:#f8fafc;color:#64748b;font-weight:650}
.p15-gs.holding{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}
.p15-gs.stuck{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.p15-gs.here{outline:2px solid #ea580c;outline-offset:1px}
.p15-gs.here::after{content:" ◀ stuck here";font-weight:800}
.p15-growth small{flex-basis:100%;margin-top:3px;color:#334155;font-size:11.5px}
.p15-growth.mini{font-size:10.5px}
.p15-ind{margin:10px 0;padding:8px 12px;border:1px solid var(--analysis-border);border-radius:10px;background:#fff}
.p15-ind-h{display:block;font-size:12.5px;margin-bottom:2px}
.p15-ind .analysis-band-row{display:flex;gap:3px;padding:3px;border-radius:9px;background:#f1f5f9}
.p15-wk-p0{background:#fff7ed;border-color:#fed7aa;color:#9a3412;font-weight:700}
/* Teacher Guide */
.p15-guide{margin:-6px 0 14px;padding:6px 12px;border:1px dashed var(--app-line);border-radius:10px;background:#fff;font-size:12.5px}
.p15-guide summary{cursor:pointer;font-weight:750;color:var(--stellar-primary)}
.p15-q,.p15-hint{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#eef2ff;border:1px solid #c7d2fe;color:var(--stellar-primary);font-size:11px;font-weight:800;cursor:help;vertical-align:middle}
.p15-hint:focus{outline:2px solid var(--stellar-primary)}
.p15-guide-why{margin:6px 0}.p15-guide-chain{font-size:11px;color:var(--app-muted);margin:2px 0 8px}
.p15-guide ul{margin:2px 0 8px 18px;padding:0}
.p15-guide-ex .good{color:#065f46;margin:6px 0 2px}.p15-guide-ex .weak{color:#9a3412;margin:2px 0 6px}
.p15-version a{color:var(--stellar-primary)}
.p15-check-list{margin:8px 0 14px 18px;padding:0;line-height:1.7}
.p15-check-list a{font-size:12px;color:var(--stellar-primary)}
/* quick fill (fewer taps) */
.p15-quickbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0 0 12px;padding:8px 12px;border:1px solid #c7d2fe;border-radius:10px;background:#f5f7ff;font-size:12.5px}
.p15-quickbar small{color:var(--app-muted)}.p15-q-note{flex-basis:100%}
.p15-quick-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 8px}
.p15-quick-row small{color:var(--app-muted);font-size:11.5px}
.p15-chipbtn{margin:0;padding:5px 11px;border:1px solid var(--analysis-border);border-radius:999px;background:#fff;color:var(--stellar-primary-darker);font-size:12px;font-weight:700;box-shadow:none;cursor:pointer;min-height:0}
.p15-chipbtn:hover{background:#eef2ff;transform:none}
.p15-chipbtn.primary{background:var(--app-primary-button);color:#fff;border:0}
.p15-chipbtn:disabled{opacity:.45;cursor:not-allowed}

/* word test from a photo */
.p15-vocab{margin:0 0 14px}
.p15-vocab-banner{padding:10px 14px;border:1px solid #c7d2fe;border-left:4px solid var(--stellar-primary);border-radius:10px;background:#f5f7ff;font-size:13px}
.p15-vocab-banner p{margin:4px 0;font-weight:650;color:#1e293b}
.p15-vocab-tips{display:flex;flex-wrap:wrap;gap:4px 16px;margin:4px 0;padding-left:18px;font-size:12px;color:#475569}
.p15-vocab-banner small{color:var(--app-muted)}
.p15-vocab-up{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0}
.p15-file{cursor:pointer;display:inline-flex;align-items:center}
.p15-page{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;background:#eef2ff;font-size:12px}
.p15-page button{margin:0;padding:0 4px;min-height:0;background:none;border:0;box-shadow:none;color:#64748b;cursor:pointer}
.p15-vocab-sum{margin:6px 0;font-size:13px}.p15-vocab-sum .ok{color:#047857;font-weight:700}.p15-vocab-sum .bad{color:#b91c1c;font-weight:700}.p15-vocab-sum .low{color:#a16207;font-weight:700}
.p15-vocab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px;margin:6px 0 10px}
.p15-vw{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:6px 8px;border:1px solid #e2e8f0;border-radius:9px;background:#fff}
.p15-vw.ok{border-color:#a7f3d0;background:#f0fdf4}.p15-vw.bad{border-color:#fecaca;background:#fef2f2}
.p15-vw.low{box-shadow:0 0 0 2px #facc15 inset;background:#fefce8}
.p15-vw-no{font-size:10.5px;color:#64748b;min-width:18px}
.p15-vw-word{flex:1;margin:0;padding:2px 4px;border:0;background:none;box-shadow:none;text-align:left;font-weight:700;font-size:13px;color:#0f172a;cursor:text;min-height:0}
.p15-vw-input{flex:1;min-width:80px;min-height:26px!important;padding:2px 6px!important;font-size:13px}
.p15-vw-tog{margin:0;width:30px;height:28px;min-height:0;padding:0;border-radius:8px;border:1px solid #cbd5e1;background:#fff;font-weight:800;font-size:14px;cursor:pointer;box-shadow:none}
.p15-vw.ok .p15-vw-tog{color:#047857}.p15-vw.bad .p15-vw-tog{color:#b91c1c}
.p15-vw-sug{flex-basis:100%;display:flex;gap:4px}.p15-vw-sug button{margin:0;padding:1px 7px;min-height:0;font-size:11px;border-radius:999px;border:1px solid #fde68a;background:#fff;box-shadow:none;cursor:pointer;color:#713f12}
.p15-vw-why{flex-basis:100%;font-size:10.5px;color:#a16207}
.p15-vocab-done{margin:6px 0;color:#065f46;font-weight:650;font-size:12.5px}
.p15-vocab-stats{display:flex;flex-wrap:wrap;gap:4px 16px;margin:8px 0;padding:8px 12px;border:1px solid var(--app-line);border-radius:10px;background:#fff;font-size:12.5px}
.p15-vocab-stats>b{flex-basis:100%}
