

:root{--violet:#7045c3;--deep:#2e2051;--lav:#f2ecff;--ink:#201b2e;--muted:#777283;--line:#e9e5ef;--paper:#fff;--bg:#f8f7fb;--green:#157558;--amber:#a66a19;--red:#b24a57}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',system-ui,-apple-system,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b3a0e8;outline-offset:2px}button:disabled{opacity:.45;cursor:not-allowed}.hidden{display:none!important}.container{width:min(1160px,calc(100% - 40px));margin:auto}.header{height:74px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.header-inner{height:100%;display:flex;justify-content:space-between;align-items:center;gap:18px}.brand{display:flex;align-items:center;gap:10px;font-family:Outfit,sans-serif;font-weight:800;font-size:22px;letter-spacing:-1px;white-space:nowrap}.eye{width:37px;height:27px;display:inline-grid;place-items:center;color:var(--violet)}.brand em{font-style:normal;font-weight:500;color:var(--muted);font-size:11px;letter-spacing:1.4px;margin-left:5px}.header-actions{display:flex;align-items:center;gap:9px}.tinybtn{background:#fff;color:var(--deep);border:1px solid var(--line);padding:10px 13px;border-radius:13px;font-size:12px;font-weight:700}.tinybtn.active{border-color:#ae91ed;background:var(--lav);color:var(--violet)}.crumb{font-size:12px;color:var(--muted);margin:20px 0;display:flex;align-items:center;gap:7px}.crumb button{border:0;background:none;color:var(--violet);padding:0}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;color:var(--violet);font-weight:800}.title{font-family:Outfit,sans-serif;letter-spacing:-1.6px;font-size:clamp(34px,5vw,60px);line-height:1.06;margin:10px 0 17px}.lede{font-size:16px;line-height:1.7;color:#696478;max-width:600px}.purple{color:var(--violet);font-weight:800}.btn{border:0;background:var(--violet);color:#fff;font-weight:800;padding:14px 19px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .15s,box-shadow .15s}.btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #6d46bb35}.btn.secondary{background:#fff;border:1px solid #dfd5f0;color:var(--violet)}.btn.ghost{background:#f1eff5;color:var(--deep)}.btn.sm{padding:10px 13px;font-size:12px;border-radius:11px}.btn.full{width:100%}.surface{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 9px 28px #35245608}.section{padding:26px 0 56px}.onboard{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;margin-top:30px;min-height:600px}.onboard-left{padding:55px 48px}.onboard-right{background:linear-gradient(160deg,#e2d4ff,#f6edfd);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:30px;text-align:center}.onboard-right img{width:100%;border-radius:24px;max-height:330px;object-fit:cover;box-shadow:0 20px 40px #49297622}.field{display:grid;gap:7px;margin:16px 0}.field label{font-size:12px;color:#625d70;font-weight:800}.field select,.field input,.answer{width:100%;padding:13px 14px;border:1px solid #ded9e6;background:#fff;border-radius:12px;color:var(--ink)}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:12px}.note{font-size:12px;line-height:1.6;color:var(--muted)}.pill{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #e6ddf8;border-radius:999px;background:#faf8ff;color:#7751af;font-size:11px;font-weight:800}.hero{display:grid;grid-template-columns:1.1fr .9fr;background:var(--deep);border-radius:28px;overflow:hidden;color:#fff;min-height:335px}.hero-copy{padding:44px 42px}.hero .eyebrow{color:#cdb6fa}.hero p{color:#dcd5ea;line-height:1.7}.hero img{width:100%;height:100%;object-fit:cover}.hero .btn{background:#fff;color:var(--deep)}.sectionhead{font-size:24px;font-family:Outfit;font-weight:800;letter-spacing:-.7px;margin:30px 0 14px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.portal{padding:22px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-height:220px;border:1px solid var(--line);border-radius:21px;background:#fff;transition:.15s;cursor:pointer}.portal:hover,.gallerycard:hover{border-color:#b8a4e7;transform:translateY(-2px);box-shadow:0 10px 25px #5a339d12}.portal .icon{width:47px;height:47px;background:var(--lav);border-radius:15px;display:grid;place-items:center;font-size:23px}.portal h3{font-size:18px;font-family:Outfit;margin:15px 0 5px}.portal p{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 13px}.portal .go{font-size:12px;color:var(--violet);font-weight:800;margin-top:auto}.statrow{display:flex;gap:10px;flex-wrap:wrap}.stat{background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px 18px;min-width:140px}.stat b{display:block;font-size:20px;font-family:Outfit}.stat small{color:var(--muted)}.casebanner{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;background:#342456;border-radius:23px;color:#fff;margin-bottom:20px}.casebanner img{width:100%;height:250px;object-fit:cover}.casebanner .copy{padding:34px}.casebanner h2{font-family:Outfit;font-size:32px;line-height:1.1;margin:12px 0}.casebanner p{font-size:13px;color:#ddd4ec;line-height:1.7}.stagebar{display:flex;gap:6px;overflow-x:auto;padding:6px 0 14px}.stagebar button{flex:1;min-width:123px;border:1px solid var(--line);padding:11px 8px;border-radius:12px;background:#fff;color:#7b7486;font-size:11px;font-weight:800}.stagebar button.selected{background:var(--deep);color:white}.workgrid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:17px}.maincard{padding:26px;min-height:430px}.sidecard{padding:20px;align-self:start;position:sticky;top:94px}.cardlabel{font-size:11px;letter-spacing:1.2px;font-weight:800;color:var(--violet);text-transform:uppercase}.maincard h2{font-family:Outfit;font-size:29px;letter-spacing:-.8px;margin:9px 0 10px}.maincard p{line-height:1.7}.character{display:flex;align-items:flex-start;gap:11px;padding:14px;background:#f4f0fa;border-radius:14px;margin:16px 0}.avatar{width:43px;height:43px;flex:none;background:#e0cff7;border-radius:50%;display:grid;place-items:center;font-size:23px}.character b{font-size:12px;color:#4d3685}.character p{font-size:13px;margin:5px 0 0;line-height:1.65}.choices{display:grid;gap:9px;margin:20px 0}.choice{width:100%;text-align:left;background:#fff;border:1px solid #e1dce9;border-radius:14px;padding:15px;line-height:1.6;color:var(--ink)}.choice.selected{background:var(--lav);border:2px solid var(--violet);padding:14px}.choice.good{border-color:#55a78b;background:#eef9f3}.choice.warn{border-color:#d7b16d;background:#fff9ea}.feedback{padding:16px 18px;background:#f6f2ff;border:1px solid #dcd1f7;border-radius:15px;margin:13px 0;font-size:13px;line-height:1.7}.feedback b{color:var(--deep)}.muted{color:var(--muted)}.sub{font-size:13px;color:var(--muted)}.stack{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.miniTag{padding:7px 9px;border-radius:9px;background:#f0eef4;font-size:11px;color:#655c72;font-weight:700}.evidence{display:grid;gap:9px}.evidence-item{padding:12px;border:1px solid #e7e3ee;border-radius:12px;display:flex;gap:9px;align-items:flex-start}.evidence-item button{border:none;background:none;text-align:left;padding:0;color:var(--ink);font-size:12px;line-height:1.5}.evidence-item small{display:block;color:var(--muted)}.dot{width:18px;height:18px;border-radius:50%;border:2px solid #c4bace;flex:none;margin-top:2px}.dot.on{background:var(--violet);border-color:var(--violet)}.logicrow{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid #e0dbe8;border-radius:12px;margin:8px 0;background:#fff}.logicrow span{flex:1;font-size:13px}.arrbtn{border:1px solid #dfd8ee;background:#f9f6ff;color:var(--violet);border-radius:8px;width:31px;height:31px;font-weight:800}.answer{min-height:140px;resize:vertical;line-height:1.65}.cards8{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallerycard{background:#fff;border:1px solid var(--line);border-radius:17px;padding:19px;text-align:left;min-height:150px;transition:.15s}.gallerycard b{display:block;margin:11px 0 5px}.gallerycard small{color:var(--muted);line-height:1.5}.gallerycard .number{font-size:11px;font-weight:800;color:var(--violet)}.progress{height:7px;background:#eeebf2;border-radius:999px;overflow:hidden}.progress div{height:100%;background:var(--violet);border-radius:999px;transition:width .2s}.reviewlist{display:grid;gap:9px}.reviewline{display:flex;gap:8px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.reviewline span{font-weight:900}.reviewline .yes{color:var(--green)}.reviewline .no{color:#a58aa8}.divider{height:1px;background:var(--line);margin:20px 0}.controlrow{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.help{border-left:3px solid var(--violet);padding:11px 14px;background:#faf7ff;color:#5f5481;border-radius:0 12px 12px 0;font-size:12px;line-height:1.65}.kpi{font-size:36px;font-family:Outfit;font-weight:800;color:var(--deep)}.smallcaps{font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#8a8096}.footer{border-top:1px solid var(--line);padding:25px 0;color:#8b8495;font-size:11px;margin-top:30px}.selectConfidence{display:flex;gap:7px;flex-wrap:wrap}.selectConfidence button{font-size:11px;padding:8px 10px;background:#fff;border:1px solid #e1d8f0;border-radius:9px;color:#625576}.selectConfidence button.selected{background:var(--lav);color:var(--violet);border-color:var(--violet)}.table{border-collapse:collapse;width:100%;font-size:13px}.table th,.table td{padding:10px;border-bottom:1px solid var(--line);text-align:left}.table th{color:var(--muted);font-size:11px}.empty{font-size:13px;color:var(--muted);line-height:1.8}.toast{position:fixed;bottom:20px;right:20px;background:#2e2051;color:#fff;padding:13px 17px;border-radius:13px;font-size:13px;z-index:100;box-shadow:0 12px 32px #25173f30}@media(max-width:860px){.workgrid,.casebanner,.hero,.onboard{grid-template-columns:1fr}.casebanner img{height:240px}.onboard-right{display:none}.grid3{grid-template-columns:1fr}.cards8{grid-template-columns:repeat(2,1fr)}.sidecard{position:static}.hero img{max-height:300px}.header .brand em{display:none}}@media(max-width:520px){.container{width:min(100% - 24px,1160px)}.header{height:64px}.brand{font-size:18px}.header-actions{gap:4px}.tinybtn{padding:8px;font-size:10px}.onboard-left{padding:25px}.twocol{grid-template-columns:1fr}.hero-copy,.casebanner .copy{padding:25px}.cards8{grid-template-columns:repeat(2,1fr)}.gallerycard{padding:14px;min-height:133px}.maincard{padding:18px}.casebanner h2{font-size:26px}.section{padding-top:15px}.title{font-size:36px}}

/* Latest approved original artwork: show whole image without altering files. */
.approved-art{margin:0 0 24px}.approved-art img{display:block;width:100%;height:auto;border-radius:18px}.approved-art figcaption{font-size:12px;color:var(--muted);padding:8px 0}
.onboard-right img{object-fit:contain;max-height:480px;width:auto;max-width:100%}.hero>img,.casebanner>img{object-fit:contain;background:#eee3f6}
.tihu-avatar{flex:0 0 auto;object-fit:contain;border-radius:12px}.tihu-self{float:right;object-fit:contain;margin:0 0 12px 20px}
.reset-confirm{max-width:850px;margin:14px auto;padding:18px;border:2px solid var(--violet);border-radius:16px;background:white}.reset-confirm[hidden]{display:none}

/* Display the exact approved mark embedded in original 02; no reconstructed SVG. */
.approved-brand{display:block;position:relative;width:176px;height:72px;overflow:hidden;flex:none}.approved-brand img{position:absolute;width:1170.4px;max-width:none;height:auto;left:-978px;top:-14.7px}
@media(max-width:600px){.approved-brand{width:153px;height:62px}.approved-brand img{width:1003.2px;left:-838.3px;top:-12.6px}}

.learning-records{padding:20px;margin:20px 0}.learning-records details{padding:10px 0;border-top:1px solid var(--line)}.task-table{overflow-x:auto;margin:18px 0}.task-graph{display:block;width:100%;height:auto;margin:18px 0;font-size:12px;background:#faf8ff;border-radius:12px}fieldset{border:1px solid var(--line);border-radius:12px;margin:16px 0;padding:14px}fieldset label{display:block;margin:8px 0}fieldset input{max-width:100%;width:130px;margin-left:12px;padding:8px}details p{overflow-wrap:anywhere}

/* v06: keep the response task central, with optional browsing and provenance. */
.practice-heading{display:grid;grid-template-columns:minmax(160px,240px) 1fr;align-items:center;gap:26px;margin:20px 0}.practice-heading .approved-art{margin:0}.practice-heading figcaption{font-size:10px;line-height:1.4}.practice-heading .lede{font-size:16px;margin:8px 0}.practice-count{font-size:13px;color:var(--muted);margin:10px 0}.question-browser{margin:16px 0;padding:16px 20px}.question-browser>summary{cursor:pointer;font-weight:700}.question-browser>summary span{font-weight:400;color:var(--muted);margin-left:12px;font-size:13px}.browser-fields{padding-top:18px}.task-provenance{margin:12px 0;font-size:12px;color:var(--muted)}.task-provenance>summary{cursor:pointer}.next-practice{padding:24px;margin:22px 0;background:#f4effc}.next-practice h2{margin:10px 0}.practice-heading+.question-browser+.workgrid{align-items:start}.maincard .answer{min-height:170px}.approved-brand{border-radius:12px;background:#e9dcf5}
@media(max-width:700px){.practice-heading{grid-template-columns:92px minmax(0,1fr);gap:14px;margin:16px 0}.practice-heading figcaption{display:none}.practice-heading h1{font-size:25px!important}.practice-heading .lede{font-size:13px;line-height:1.5}.practice-heading .approved-art img{border-radius:12px}.practice-count{font-size:11px}.question-browser{padding:14px}.question-browser>summary span{display:block;margin:6px 0 0}.next-practice{padding:18px}.task-provenance{overflow-wrap:anywhere}}
