From 00a724140ede7b27d537d62f8fa9d041bcc69261 Mon Sep 17 00:00:00 2001
From: Dominique Devereaux <90852374+ibloud@users.noreply.github.com>
Date: Wed, 28 Oct 2026 11:37:55 -0500
Subject: [PATCH] Apply reviewed PIXIE identity, breathing sigil and hero
illustration
Unify PIXIE guide, field guide and Companion presentation through the existing authoritative stylesheet. Preserve runtime privacy and handoff contracts; add PNG delivery for the generated symbol.
Owner reviewed Vercel preview rgxn10mi9 and approved publication to main. Local 84 tests, typecheck, builds and guide checks pass. Production Railway configuration remains unchanged.
---
apps/companion/app/companion.tsx | 4 +-
apps/companion/app/creator-workspace.tsx | 2 +-
apps/companion/app/globals.css | 3633 ++++++++++++++++-
apps/companion/app/layout.tsx | 2 +-
apps/companion/app/pixie-helper.tsx | 2 +-
apps/companion/design-qa.md | 299 ++
.../companion/public/pixie-sigil-proposal.png | Bin 0 -> 1358741 bytes
apps/companion/server.mjs | 2 +-
apps/companion/static/index.html | 2 +-
assets/make-room-for-the-work.html | 2 +-
assets/pixie-hero-proposal.png | Bin 0 -> 2485755 bytes
assets/pixie-sigil-proposal.png | Bin 0 -> 1358741 bytes
index.html | 15 +-
scripts/build.mjs | 8 +-
src/styles.css | 275 +-
tests/check.mjs | 10 +-
16 files changed, 3851 insertions(+), 405 deletions(-)
create mode 100644 apps/companion/public/pixie-sigil-proposal.png
create mode 100644 assets/pixie-hero-proposal.png
create mode 100644 assets/pixie-sigil-proposal.png
diff --git a/apps/companion/app/companion.tsx b/apps/companion/app/companion.tsx
index ea83756..e50f874 100644
--- a/apps/companion/app/companion.tsx
+++ b/apps/companion/app/companion.tsx
@@ -49,7 +49,7 @@ export default function Companion(){
}
async function copy(){try{await navigator.clipboard.writeText(result?.report||'');setCopied(true);}catch{setError('Copy is unavailable. Select the report text below to copy it.');}}
return
{project.name} {project.archived&&This project is archived. Restore it to edit its work.
}Saved next action: {resume?.nextAction}
Current state: {project.currentState||'Not recorded yet.'}
{resume?.blocked.map((t:{id:string;title:string;blocker:string})=>Blocker · {t.title}: {t.blocker}
)}Last saved {new Date(project.updatedAt).toLocaleString()}. No external assignment or verified completion is implied.
What changed in this project {project.activity.slice(-8).map((a,i)=>{new Date(a.at).toLocaleString()} · {a.action} )}
-
Creative workspace Send only this project's name, purpose and last saved Creator draft to the existing Creator OS tab. Notes, other projects and credentials stay here. Creator OS uses this private context in memory; publication remains a separate choice.
{if(!canLeave()||!window.confirm('Send this private project context to Creator OS at ibloud.github.io? It stays in the opened tab until you explicitly return a draft for review.'))return;try{creativeLink.current?.close();setCreativeReturn(null);creativeLink.current=launchCreatorHandoff({project,did:connection?.did,connect:connectWorkspace,onReturn:(receipt:unknown,grant:unknown)=>setCreativeReturn({receipt,grant}),onError:(message:string)=>setError(message)});setNotice('Creator OS requested. Its current public release may not support this review handoff yet.');}catch(e){setError(e instanceof Error?e.message:'Could not open Creator OS.');}}}>Open selected project in Creator OS {creativeReturn&&Review returned creative draft Private destination: {creativeReturn.grant.project.name}
No work has been published or saved by receiving this draft. Saving adds a creator note to the original project; it does not overwrite its other content.
{JSON.stringify(creativeReturn.receipt,null,2)} {setBusy(true);try{const updated=await saveCreatorReceipt(creativeReturn.grant,creativeReturn.receipt,connectWorkspace);if(principalDid.current!==creativeReturn.grant.did)throw Error('Account changed; reopen your workspace to verify.');if(project.id===updated.id)apply(updated);creativeLink.current?.saved((creativeReturn.receipt as {id:string}).id);setCreativeReturn(null);setNotice('Creator draft saved to the original private project.');}catch(e){setError(e instanceof Error?e.message:'Not saved.');}finally{setBusy(false);}}}>Save returned draft to its private project setCreativeReturn(null)}>Discard returned draft }
+
Creative workspace Send only this project's name, purpose and last saved Creator draft to the existing Creator OS tab. Notes, other projects and credentials stay here. Creator OS uses this private context in memory; publication remains a separate choice.
{if(!canLeave()||!window.confirm('Send this private project context to Creator OS at ibloud.github.io? It stays in the opened tab until you explicitly return a draft for review.'))return;try{creativeLink.current?.close();setCreativeReturn(null);creativeLink.current=launchCreatorHandoff({project,did:connection?.did,connect:connectWorkspace,onReturn:(receipt:unknown,grant:unknown)=>setCreativeReturn({receipt,grant}),onError:(message:string)=>setError(message)});setNotice('Creator OS requested. Its current public release may not support this review handoff yet.');}catch(e){setError(e instanceof Error?e.message:'Could not open Creator OS.');}}}>Open selected project in Creator OS {creativeReturn&&Review returned creative draft Private destination: {creativeReturn.grant.project.name}
No work has been published or saved by receiving this draft. Saving adds a creator note to the original project; it does not overwrite its other content.
{JSON.stringify(creativeReturn.receipt,null,2)} {setBusy(true);try{const updated=await saveCreatorReceipt(creativeReturn.grant,creativeReturn.receipt,connectWorkspace);if(principalDid.current!==creativeReturn.grant.did)throw Error('Account changed; reopen your workspace to verify.');if(project.id===updated.id)apply(updated);creativeLink.current?.saved((creativeReturn.receipt as {id:string}).id);setCreativeReturn(null);setNotice('Creator draft saved to the original private project.');}catch(e){setError(e instanceof Error?e.message:'Not saved.');}finally{setBusy(false);}}}>Save returned draft to its private project setCreativeReturn(null)}>Discard returned draft }
Tasks and progress {e.preventDefault();void run('workspace_add_task',{project_id:project.id,...task},'Task saved. No external assignment made.',()=>setTask({title:'',nextAction:''}));}}>New task setTask({...task,title:e.target.value})}/> Next step for this task setTask({...task,nextAction:e.target.value})}/> Add saved task {!project.tasks.length&&No tasks yet. Add one bounded piece of work.
}{project.tasks.map(t=>{const d=drafts[t.id]||t;return {e.preventDefault();const {id,updatedAt,...fields}=d;void updatedAt;void run('workspace_update_task',{project_id:project.id,task_id:id,...fields},'Task progress saved.',()=>setDrafts(current=>{const next={...current};delete next[id];return next;}));}}>{t.title} Task title setDrafts({...drafts,[t.id]:{...d,title:e.target.value}})}/> Task statussetDrafts({...drafts,[t.id]:{...d,status:e.target.value}})}>To do Active Blocked Done · creator-reported {([['progress','Progress reported'],['blocker','Blocker'],['nextAction','Task next action'],['completionEvidence','Completion evidence · creator-reported']] as const).map(([field,label])=>{label}setDrafts({...drafts,[t.id]:{...d,[field]:e.target.value}})}/> )}Save task progress ;})}
Sources and evidence Saving a link does not fetch or verify it. Source excerpts and creator notes remain untrusted material, separate from AI suggestions.
{e.preventDefault();void run('workspace_add_source',{project_id:project.id,...source},'Source link saved; contents not verified.',()=>setSource(blankSource));}}>Source title setSource({...source,title:e.target.value})}/> Public source URL setSource({...source,url:e.target.value})}/> Source origin setSource({...source,origin:e.target.value})}/> Relevant excerpt · supplied by yousetSource({...source,excerpt:e.target.value})}/> Date/check note · your report setSource({...source,creatorCheckedOn:e.target.value})}/> Add saved source {project.sources.map(s=>{s.title} Open source ↗ {s.origin} · {s.checkState==='linked'?'Linked, not fetched':s.checkState==='fetched'?'Fetched text; factual claims not independently verified':'Last check failed; saved source retained'}
{s.checkedAt&&Text retrieved {new Date(s.checkedAt).toLocaleString()}
}{s.creatorCheckedOn&&Creator check note: {s.creatorCheckedOn}
}{s.excerpt&&Source excerpt · untrusted material {s.excerpt} }{s.lastError&&{s.lastError}
}void run('workspace_check_source',{project_id:project.id,source_id:s.id},'Source check finished. Review its recorded result.')}>Check this public source )}
diff --git a/apps/companion/app/globals.css b/apps/companion/app/globals.css
index 74711d8..8ea98fd 100644
--- a/apps/companion/app/globals.css
+++ b/apps/companion/app/globals.css
@@ -1,117 +1,3518 @@
-@import 'tailwindcss';
-:root{color-scheme:dark;--bg:#10191b;--panel:#172326;--line:#334447;--text:#edf2ec;--muted:#b2c1bc;--mint:#b9dfc4;--gold:#e9c68d}
-*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 system-ui,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}a{color:var(--mint);text-underline-offset:4px}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.shell{max-width:1400px;margin:auto;padding:0 48px}.skip{position:absolute;top:-100px}.skip:focus{top:12px;background:var(--bg);z-index:2;padding:12px}header{display:flex;align-items:center;justify-content:space-between;padding:27px 0;border-bottom:1px solid var(--line);gap:15px}.brand{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none;letter-spacing:3px;font-weight:650;font-size:22px}.sigil{color:var(--gold);font-size:36px}.brand-sub{font-size:10px;letter-spacing:2px;color:var(--muted);border-left:1px solid var(--line);padding-left:15px}.private{font-size:10px;letter-spacing:1.5px;color:var(--mint)}.intro{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:65px 0 48px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--gold);font-weight:650;margin:0 0 15px}h1{font-family:Georgia,serif;font-size:clamp(36px,4.5vw,64px);font-weight:400;line-height:1.08;letter-spacing:-1.5px;margin:0 0 22px}.lede{color:var(--muted);max-width:440px;font-size:17px}.promise{border-left:1px solid var(--line);padding:15px 36px;font-family:Georgia,serif;font-size:24px;line-height:1.4}.promise small{font:11px system-ui;color:var(--muted)}.tiny-star{color:var(--gold);font-size:36px}.workspace{display:grid;grid-template-columns:260px 1fr;border:1px solid var(--line);border-radius:18px;overflow:hidden}.projects{padding:28px 22px;background:#132023}.projects h2{font-size:16px;margin:0}.muted{color:var(--muted);font-size:12px;margin:4px 0 22px}.projects nav{display:grid;gap:7px}.projects button{background:transparent;border:1px solid transparent;border-radius:9px;text-align:left;padding:12px 14px;color:var(--text);min-height:62px}.projects button small{display:block;font-size:11px;color:var(--muted)}.projects button[aria-pressed=true]{background:#263b36;border-color:#648575}.projects button:hover{background:#20302e}.outside{display:block;margin-top:26px;font-size:12px}.work{padding:30px;border-left:1px solid var(--line)}.project-head{display:flex;justify-content:space-between;gap:20px}.project-head h2{font:28px Georgia,serif;margin:0}.project-head p:not(.eyebrow){color:var(--muted);font-size:14px;max-width:480px}.project-head>a{font-size:12px;white-space:nowrap}.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:23px 0}.modes button{background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:8px;padding:12px;font-size:13px;text-align:left;min-height:60px}.modes button span{display:block;font-size:10px;color:var(--gold)}.modes button[aria-pressed=true]{background:var(--mint);color:#162622;border-color:var(--mint)}.modes button[aria-pressed=true] span{color:#385a48}.action-panel{background:var(--panel);padding:25px;border-radius:12px}h3{font-size:17px;margin:0 0 8px;font-weight:600}p{margin:0 0 16px}.action-panel>p{color:var(--muted);font-size:14px}.note{font-size:12px!important;color:var(--muted);line-height:1.65}.primary{background:var(--mint);color:#132921;border:0;border-radius:7px;padding:12px 20px;min-height:48px;font-weight:650;margin-top:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid .wide{grid-column:1/-1}label{display:block;font-size:13px;color:var(--muted)}input,textarea,select{display:block;width:100%;background:#0f1b1e;border:1px solid #667874;color:var(--text);padding:11px 12px;border-radius:6px;margin:6px 0 14px}select{max-width:220px}textarea{min-height:90px;resize:vertical}.result{margin-top:25px;padding:25px;border:1px solid #547465;border-radius:12px}.result p,.result li{font-size:14px}.result h3{margin-top:18px}.result ul{padding-left:20px;color:var(--muted)}.freshness{border-left:3px solid var(--gold);padding:10px 15px;background:#242a23;margin:18px 0}.freshness strong{display:block;font-size:12px;text-transform:uppercase;color:var(--gold)}.freshness span{font-size:13px}.report{min-height:380px;font:13px/1.6 ui-monospace,monospace}.report-actions{display:flex;align-items:center;gap:20px;margin-bottom:18px}.report-actions button{padding:10px 20px;border:1px solid var(--mint);background:transparent;border-radius:6px;color:var(--mint)}.error{color:#ffc4b8;padding:12px;border-left:3px solid #ffc4b8}footer{padding:36px 0 45px;color:var(--muted);font-size:12px}footer strong{color:var(--text)}footer p{margin-top:6px;max-width:700px}summary{cursor:pointer;min-height:44px;padding-top:8px}@media(max-width:900px){.shell{padding:0 24px}.promise{display:none}.workspace{grid-template-columns:220px 1fr}.work{padding:20px}.modes{grid-template-columns:1fr}.modes button span{display:inline;margin-right:12px}.modes button{min-height:48px}.project-head{display:block}}@media(max-width:650px){.shell{padding:0 16px}.private{display:none}.intro{padding:38px 0 25px}.workspace{display:block}.projects nav{grid-template-columns:1fr 1fr}.projects{padding:20px}.projects button{padding:9px;font-size:13px}.work{border-left:0;border-top:1px solid var(--line);padding:18px}.form-grid{grid-template-columns:1fr}.action-panel,.result{padding:18px}.brand-sub{font-size:9px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
-html{scroll-padding-bottom:110px}footer{padding-bottom:125px}.helper-setting{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:20px}.helper-setting button{background:transparent;color:var(--mint);border:1px solid var(--line);border-radius:6px;padding:10px 14px;min-height:44px}.pixie-dock{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:50}.pixie-launcher{display:flex;align-items:center;gap:12px;min-height:62px;border:1px solid #b9dfc4;border-radius:35px;padding:8px 22px 8px 12px;background:#223b34;color:#effaf2;box-shadow:0 8px 30px #0008;text-align:left;font-weight:700;letter-spacing:1px}.pixie-launcher small{display:block;font-size:10px;font-weight:400;letter-spacing:.3px;color:#c7dfce}.pixie-spark{display:grid;place-items:center;width:42px;height:42px;background:#122521;border-radius:50%;color:#e9c68d;font-size:30px}.pixie-bubble{position:absolute;bottom:78px;right:0;width:min(390px,calc(100vw - 32px));max-height:calc(100dvh - 120px);overflow:auto;overscroll-behavior:contain;padding:22px;background:#172326;border:1px solid #688878;border-radius:18px;box-shadow:0 12px 50px #0008;color:var(--text);font-size:14px}.bubble-head{display:flex;gap:10px;justify-content:space-between;align-items:flex-start}.bubble-head h2{font:24px Georgia,serif;margin:0 0 14px}.close-helper{background:transparent;border:1px solid var(--line);border-radius:50%;color:var(--text);width:44px;height:44px;font-size:26px;flex-shrink:0}.context-label{color:var(--gold);font-size:11px;border-bottom:1px solid var(--line);padding-bottom:12px}.helper-choices{display:grid;gap:8px;margin:16px 0}.helper-choices button,.quiet-helper{min-height:44px;text-align:left;background:transparent;border:1px solid var(--line);border-radius:6px;padding:8px 12px;color:var(--mint)}.quiet-helper{width:100%}.pixie-doors{list-style:none;padding:0!important}.pixie-doors li{padding:10px 0;border-bottom:1px solid var(--line)}.pixie-doors small{display:block;color:var(--muted);font-size:12px}.pixie-bubble summary{color:var(--mint)}#pixie-task{scroll-margin-bottom:120px}@media(max-width:650px){.pixie-dock{right:max(16px,env(safe-area-inset-right))}.pixie-bubble{padding:18px}}
-
-.onboarding{border:1px solid var(--line,#3a4b46);border-radius:18px;padding:24px;margin:0 0 28px;background:#172326}.onboarding h2{font-size:26px}.onboarding li{padding:7px 0}.onboarding p,.onboarding li{max-width:80ch}.onboarding summary{cursor:pointer;padding:12px 0}
-
-#principles dl>div{margin:18px 0}#principles dd{margin:6px 0 0;max-width:80ch;line-height:1.6}
-
-.modes{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
-
-.creative-help .help-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px;margin:22px 0}.help-card{border:1px solid var(--line);border-radius:12px;padding:20px;min-width:0}.help-card .primary{display:block;width:100%;white-space:normal}.help-detail{border-top:1px solid var(--line);padding-top:24px;margin-top:24px}.help-recovery{margin-top:24px;border-top:1px solid var(--line);padding-top:18px}.creative-help textarea{min-height:80px}.creative-help textarea.report{min-height:330px}.review-choice{display:flex;align-items:flex-start;gap:12px;margin:20px 0}.review-choice input{width:22px;height:22px;flex-shrink:0;margin:0}.creative-help .report-actions{flex-wrap:wrap}.creative-help button:disabled{opacity:.5;cursor:not-allowed}.creative-help a,.help-card{overflow-wrap:anywhere}#find-help{scroll-margin-top:20px}.help-detail h3:focus{outline:2px solid var(--mint);outline-offset:5px}
-
-/* Open Workbench: option 3. Shared rhythm and semantic roles. */
-:root{--paper:#faf7f0;--ink:#152e35;--teal:#17665e;--coral:#f3a68c;--mint:#9cddd0;--bg:#081820;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:48px;--space-6:64px}
-[hidden]{display:none!important}body{font-size:18px;line-height:1.6;background:var(--bg)}.shell{max-width:1600px;padding:0;margin-inline:auto}header{padding:22px var(--space-5);min-height:88px;margin:0}.workspace-nav{display:flex;align-items:center;gap:var(--space-4)}.workspace-nav button{border:0;border-bottom:3px solid transparent;border-radius:0;color:#c5d4d2;background:transparent;min-height:48px;padding:8px 0;font-size:18px}.workspace-nav button[aria-pressed=true]{color:#fff;border-color:var(--mint)}.workbench-name{font:24px/1.2 Georgia,serif;padding-right:var(--space-4);border-right:1px solid var(--line)}
-.creative-help.onboarding{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(300px,1fr);padding:0;margin:0;border:0;border-radius:0;overflow:visible;background:var(--paper);color:var(--ink)}.help-main{padding:72px var(--space-6);min-width:0}.creative-help .eyebrow{color:var(--ink);font-size:14px;letter-spacing:2px;margin:0 0 24px}.creative-help h1{color:var(--ink);font-size:clamp(38px,4.5vw,64px);line-height:1.12;margin:0 0 24px;letter-spacing:-1.5px}.coral-stop{color:#c85d3b}.help-lede{font-size:20px;line-height:1.5;max-width:65ch;margin:0 0 56px}.help-stages{display:flex;justify-content:space-between;gap:8px;list-style:none;padding:0;margin:0 0 56px;border-bottom:1px solid #a9b5b0}.help-stages li{font-size:18px;color:#596b6b;padding:12px 0;border-bottom:3px solid transparent}.help-stages li[aria-current=step]{border-color:var(--teal);color:var(--ink);font-weight:650}.creative-help .form-grid{gap:24px 32px;margin:0 0 32px}.creative-help label{font-size:18px;color:var(--ink)}.creative-help input,.creative-help select,.creative-help textarea{background:#fffdf9;color:var(--ink);border:1px solid #73857e;border-radius:7px;min-height:56px;font-size:18px;line-height:1.5;padding:12px 16px;margin:8px 0 0;max-width:none}.creative-help input::placeholder,.creative-help textarea::placeholder{color:#60736e;opacity:1}.creative-help input[type=checkbox]{min-height:24px}.creative-help input:focus-visible,.creative-help textarea:focus-visible,.creative-help select:focus-visible,.creative-help a:focus-visible,.creative-help button:focus-visible,.creative-help summary:focus-visible{outline:3px solid var(--teal);outline-offset:4px}.creative-help .primary{background:var(--teal);color:white;border:1px solid var(--teal);border-radius:7px;padding:14px 24px;min-height:56px;font-size:18px;white-space:normal}.creative-help .find-resources{width:100%;margin:8px 0 0}.creative-help a{color:var(--teal)}.resume-shortcut{display:inline-block;margin-top:32px;padding-block:8px;min-height:48px}.creative-help .note{color:#475f5e;font-size:16px;line-height:1.6;max-width:65ch;margin:24px 0}.help-guidance{background:var(--bg);color:#d4e0dc;padding:96px 48px 48px;min-width:0}.help-guidance h2{font:400 clamp(30px,3vw,42px)/1.2 Georgia,serif;color:var(--paper);margin:16px 0 32px}.help-guidance p{font-size:20px;line-height:1.65;margin:0 0 24px}.help-guidance>div,.help-guidance .guidance-bottom{border-top:1px solid #52655f;margin-top:40px;padding-top:32px}.help-guidance .guidance-note,.help-guidance details p{font-size:16px;color:#b7cac5}.help-guidance a{color:var(--mint)}.help-guidance a:focus-visible,.help-guidance summary:focus-visible{outline-color:var(--mint)}.help-guidance details{margin-top:32px}.help-guidance summary{font-size:18px;min-height:48px}.creative-help .help-card{border-color:#a9b5b0;background:transparent;padding:24px;min-width:0}.creative-help .help-card h3{margin:0 0 16px}.creative-help .help-card .primary{margin-top:24px}.creative-help .help-detail,.creative-help .help-recovery{border-color:#a9b5b0;margin-top:32px;padding-top:32px}.creative-help .help-detail h3{font-size:26px;line-height:1.3}.creative-help .report-actions{gap:16px;margin-top:24px}.creative-help .report-actions button,.creative-help .help-recovery button{background:transparent;color:var(--teal);border:1px solid var(--teal);border-radius:7px;min-height:48px;padding:12px 18px}.creative-help .help-recovery button{margin-top:24px}.creative-help .error{background:#fbe6e1;border-color:#923c2e;color:#702c20}.creative-help input[type=file]{padding:12px;max-width:100%}.creative-help button:disabled{cursor:not-allowed;opacity:.6}.project-surface{padding:0 48px 48px}.project-surface .intro{padding:48px 0}.project-surface .onboarding{margin-block:24px}.project-surface label,.project-surface input,.project-surface select,.project-surface textarea,.project-surface button{font-size:18px}.project-surface .modes{display:flex;flex-wrap:wrap;gap:8px}.project-surface .modes button{flex:1 1 140px;min-height:56px}.project-surface .projects button small{font-size:14px}footer{padding:32px 48px;font-size:16px}footer p{max-width:70ch}.help-main>details{margin-top:32px}.creative-help [role=status]:empty{display:none}#followup-import{scroll-margin-top:24px}.creative-help h3,.creative-help p,.help-guidance p{overflow-wrap:anywhere}
-@media(max-width:1100px){.help-main{padding:48px 32px}.help-guidance{padding:64px 32px}.workbench-name{display:none}.creative-help.onboarding{grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr)}}
-@media(max-width:800px){header{padding:16px 24px;flex-wrap:wrap}.workspace-nav{gap:24px}.creative-help.onboarding{grid-template-columns:1fr}.help-main{padding:40px 24px}.help-guidance{padding:32px 24px}.help-guidance h2{margin-top:0}.help-guidance>div,.help-guidance .guidance-bottom{margin-top:24px;padding-top:24px}.help-lede,.help-stages{margin-bottom:32px}.project-surface{padding:0 24px 32px}footer{padding:32px 24px}}
-@media(max-width:600px){.creative-help .form-grid{grid-template-columns:1fr;gap:24px}.brand-sub{display:none}.workspace-nav{gap:20px}.help-stages li{font-size:16px}.help-stages{gap:4px}.help-main{padding:32px 20px}.help-lede{font-size:18px}.creative-help .help-results{grid-template-columns:1fr}.creative-help .report-actions{align-items:stretch;flex-direction:column}.creative-help .review-choice{align-items:flex-start}.creative-help input[type=file]{font-size:16px}.project-surface{padding-inline:20px}.project-surface .projects nav{grid-template-columns:1fr}.help-guidance p{font-size:18px}.workspace-nav button{font-size:18px}}
-
-/* Shared account UI. Maintained with shared/atproto-account.js; included in the site's authoritative CSS. */
-.account-field{min-width:0}
-.account-picker{position:relative;min-width:0;max-width:100%;margin-block:8px 16px}
-.account-picker input{width:100%;min-width:0;max-width:100%;font:inherit;font-size:1em;min-height:48px}
-.account-options{list-style:none!important;padding:0!important;margin:8px 0!important;border:1px solid currentColor;border-radius:8px;max-height:19rem;overflow:auto;background:var(--account-panel,var(--panel,#17262b));color:var(--account-text,var(--text,#f2f5f0))}
-.account-options[hidden]{display:none!important}
-.account-options [role=option]{display:block;cursor:pointer;padding:12px 16px;min-height:56px;border-bottom:1px solid currentColor;overflow-wrap:anywhere;font-size:1em;line-height:1.5}
-.account-options [role=option]:last-child{border-bottom:0}
-.account-options [role=option] strong,.account-options [role=option] span{display:block;font-size:inherit;color:inherit}
-.account-options [role=option][aria-selected=true],.account-options [role=option]:hover{background:var(--account-selected,#c4e6d9);color:var(--account-selected-text,#132d29)}
-.account-hint{font:inherit;font-size:1em;line-height:1.55;color:inherit;opacity:1;margin:8px 0 12px;max-width:75ch;overflow-wrap:anywhere}
-.account-hint:empty{display:none}
-/* Preserve the existing light palette while keeping shared controls readable. */
-:root[data-pixie-theme=light] .workspace-nav button{color:var(--text)}
-:root[data-pixie-theme=light] .account-menu .account-panel button{color:#fff}
-:root[data-pixie-theme=light] .device-context{color:var(--text);background:var(--panel)}
-:root[data-pixie-theme=light] .device-context .note{color:var(--muted)}
-.account-panel{padding:24px;margin-block:24px;border:1px solid currentColor;border-radius:12px;min-width:0}
-.account-panel summary{cursor:pointer;min-height:48px;font-size:1.1rem;font-weight:650}
-.account-panel p{max-width:75ch;overflow-wrap:anywhere}
-.account-panel label{display:block;margin-block:16px 8px;font-size:1em}
-.account-panel button,.account-panel .button{font:inherit;font-size:1em;min-height:48px;padding:12px 20px;white-space:normal}
-.account-panel :focus-visible,.account-picker :focus-visible{outline:3px solid currentColor;outline-offset:4px}
-.account-panel [hidden]{display:none!important}
-@media(forced-colors:active){.account-options [aria-selected=true]{outline:3px solid Highlight;outline-offset:-3px}}
-/* End shared account UI. */
-
-/* Account menu is the final, right-aligned navigation item. */
-.workspace-nav{margin-left:auto;min-width:0;flex-wrap:wrap}
-.account-menu{position:relative;margin-left:auto;flex:0 0 auto}
-.account-menu>summary{cursor:pointer;min-height:48px;padding:10px 16px;border:1px solid var(--mint);border-radius:7px;color:var(--mint);font-family:inherit;font-size:18px;font-weight:600;line-height:1.5;white-space:nowrap}
-.account-menu .account-panel{position:absolute;z-index:75;right:0;top:calc(100% + 12px);width:min(30rem,calc(100vw - 40px));max-height:calc(100dvh - 120px);overflow:auto;overscroll-behavior:contain;margin:0;padding:24px;background:var(--bg);color:var(--text);border-color:var(--mint);box-shadow:0 12px 36px #0006}
-.account-menu h2{font-size:24px;line-height:1.3;margin:0 0 16px}
-.account-menu .account-panel button{border:1px solid var(--mint);border-radius:7px;background:var(--mint);color:#102b27;padding:12px 20px;font-size:18px;min-height:48px}
-.account-menu .account-panel input{font-size:18px}
-.account-menu summary:focus-visible{outline:3px solid var(--mint);outline-offset:4px}
-@media(max-width:800px){.workspace-nav{width:100%;gap:16px}.account-menu{margin-left:auto}}
-@media(max-width:400px){.workspace-nav{gap:10px}.workspace-nav button,.account-menu>summary{font-size:16px}.account-menu>summary{padding-inline:10px}}
-
-/* Portable handoff evidence stays readable at narrow widths and zoom. */
-.project-handoff{overflow-wrap:anywhere;min-width:0}
-.project-handoff summary{cursor:pointer;min-height:48px}
-.project-handoff button{font:inherit;min-height:48px;padding:12px 20px;white-space:normal}
-.project-handoff dt{font-weight:650}
-.project-handoff dd{margin:0 0 16px}
-.project-handoff code{font-size:1em;white-space:normal;overflow-wrap:anywhere}
-.project-handoff p,.project-handoff dl{max-width:75ch}
-.project-surface{font-size:18px}
-.project-surface :is(.muted,.outside,.project-head>a,.project-head p:not(.eyebrow),.action-panel>p,.result p,.result li){font-size:18px}
-.project-surface .note{font-size:18px!important}
-.project-surface :is(.eyebrow,.modes button span,.projects button small){font-size:16px}
+@layer pixie {/* PREVIEW ONLY. Material 3 roles derived from PIXIE's approved source palette.
+ Breathing rhythm: existing Loptr Lab Design Bible, 7s ease-in-out, decorative only. */
+:root {
+ --midnight:#071923; --plum:#211823; --slate:#354955; --mist:#93999F; --parchment:#F2E5CE; --aged-gold:#D5AB68; --glacial-teal:#A9E2E5;
+ --md-sys-color-surface:#071923; --md-sys-color-surface-container-lowest:#05131B;
+ --md-sys-color-surface-container-low:#0E2029; --md-sys-color-surface-container:#142731;
+ --md-sys-color-surface-container-high:#20343F; --md-sys-color-surface-container-highest:#354955;
+ --md-sys-color-on-surface:#F2E5CE; --md-sys-color-on-surface-variant:#BEC7CC;
+ --md-sys-color-primary:#A9E2E5; --md-sys-color-on-primary:#071923;
+ --md-sys-color-primary-container:#25464D; --md-sys-color-on-primary-container:#C8F0F1;
+ --md-sys-color-secondary:#D5AB68; --md-sys-color-on-secondary:#211823;
+ --md-sys-color-secondary-container:#3A3026; --md-sys-color-on-secondary-container:#F2E5CE;
+ --md-sys-color-tertiary-container:#211823; --md-sys-color-on-tertiary-container:#F2E5CE;
+ --md-sys-color-outline:#7C8A93; --md-sys-color-outline-variant:#354955;
+ --md-sys-color-error:#FFB4AB; --md-sys-color-error-container:#522A2B; --md-sys-color-on-error-container:#FFDAD6;
+ --md-sys-shape-corner-small:8px; --md-sys-shape-corner-medium:12px; --md-sys-shape-corner-large:24px; --md-sys-shape-corner-full:999px;
+ --md-sys-motion-duration-short:180ms; --md-sys-motion-easing-standard:cubic-bezier(.2,0,0,1);
+ --bg:var(--md-sys-color-surface); --panel:var(--md-sys-color-surface-container-low); --panel-raised:var(--md-sys-color-surface-container-high);
+ --text:var(--md-sys-color-on-surface); --muted:var(--md-sys-color-on-surface-variant); --quiet:var(--md-sys-color-on-surface-variant);
+ --mint:var(--md-sys-color-primary); --cyan:var(--md-sys-color-primary); --cyan-soft:var(--md-sys-color-primary);
+ --gold:var(--md-sys-color-secondary); --amber:var(--md-sys-color-secondary); --violet:var(--md-sys-color-secondary);
+ --action:var(--md-sys-color-primary); --action-text:var(--md-sys-color-on-primary); --focus:var(--md-sys-color-primary);
+ --line:var(--md-sys-color-outline-variant); --line-soft:var(--md-sys-color-outline-variant);
+ --paper:var(--panel); --ink:var(--text); --teal:var(--action); --coral:var(--gold);
+ --creator-panel:var(--md-sys-color-surface-container-low); --creator-input:var(--md-sys-color-surface-container-high);
+ --creator-action:var(--action); --creator-action-text:var(--action-text); --creator-border:var(--md-sys-color-outline);
+ --account-panel:var(--md-sys-color-surface-container); --account-selected:var(--md-sys-color-primary-container); --account-selected-text:var(--md-sys-color-on-primary-container);
+ --serif:Georgia,"Times New Roman",serif; --sans:system-ui,-apple-system,"Segoe UI",sans-serif;
+ --space-1:8px; --space-2:16px; --space-3:24px; --space-4:32px; --space-5:48px; --space-6:64px; --space-section:clamp(3rem,6vw,5rem);
+ color-scheme:dark; font-family:var(--sans); font-synthesis:none; text-rendering:optimizeLegibility;
+}
+:root[data-pixie-theme=light] {
+ color-scheme:light; --md-sys-color-surface:#E5EAEC; --md-sys-color-surface-container-lowest:#FFFFFF;
+ --md-sys-color-surface-container-low:#F0F3F4; --md-sys-color-surface-container:#DAE2E6;
+ --md-sys-color-surface-container-high:#D1DCE1; --md-sys-color-surface-container-highest:#C6D3DA;
+ --md-sys-color-on-surface:#071923; --md-sys-color-on-surface-variant:#354955;
+ --md-sys-color-primary:#175F66; --md-sys-color-on-primary:#FFFFFF;
+ --md-sys-color-primary-container:#BFE9EB; --md-sys-color-on-primary-container:#071923;
+ --md-sys-color-secondary:#755620; --md-sys-color-on-secondary:#FFFFFF;
+ --md-sys-color-secondary-container:#F2E5CE; --md-sys-color-on-secondary-container:#211823;
+ --md-sys-color-tertiary-container:#E8DFE8; --md-sys-color-on-tertiary-container:#211823;
+ --md-sys-color-outline:#667680; --md-sys-color-outline-variant:#A3B2BA;
+ --md-sys-color-error:#A3332D; --md-sys-color-error-container:#FFDAD6; --md-sys-color-on-error-container:#410002;
+}/* PIXIE's authoritative stylesheet. Guide and Companion inherit these roles.
+ Approved palette: owner direction, 28 October 2026. Generated artwork is recorded in design-qa.md. */
+/* Preserve the existing light preference with a mist surface, rather than a large beige canvas. */
+
+* {
+ box-sizing: border-box;
+}
+
+html {
+ scroll-padding-top: 24px;
+ scroll-padding-bottom: 120px;
+}
+
+body {
+ margin: 0;
+ background:var(--bg);
+ color:var(--text);
+ font:var(--pixie-font-size,18px)/1.6 var(--sans);
+}
+
+button,input,select,textarea {
+ font: inherit;
+}
+
+button,a,input,select,textarea,summary {
+ touch-action: manipulation;
+}
+
+a {
+ color: var(--mint);
+ text-underline-offset: .2em;
+}
+
+button {
+ cursor: pointer;
+}
+
+button:disabled {
+ opacity: .6;
+ cursor: not-allowed;
+}
+
+:focus-visible {
+ outline: 3px solid var(--focus);
+ outline-offset: 4px;
+}
+
+img {
+ max-width: 100%;
+ height: auto;
+}
+
+pre,code {
+ overflow-wrap: anywhere;
+ white-space: pre-wrap;
+}
+
+::selection {
+ background: var(--glacial-teal);
+ color: var(--midnight);
+}
+/* Public guide layouts and components */
+
+html:has(.pixie-guide) {
+ scroll-behavior: smooth;
+ scroll-padding-top: 92px;
+}
+
+:where(.pixie-guide) a {
+ color: var(--cyan-soft);
+ text-underline-offset: .2em;
+}
+
+:where(.pixie-guide) a:hover {
+ color: var(--text);
+}
+
+:where(.pixie-guide) button,
+:where(.pixie-guide) input,
+:where(.pixie-guide) select {
+ font: inherit;
+}
+
+:where(.pixie-guide) :focus-visible {
+ outline: 3px solid var(--amber);
+ outline-offset: 4px;
+}
+
+:where(.pixie-guide) ::selection {
+ color: var(--text);
+ background: var(--cyan);
+}
+
+:where(.pixie-guide) .site-shell {
+ width: min(1200px, calc(100% - 64px));
+ margin-inline: auto;
+}
+
+:where(.pixie-guide) .skip-link {
+ position: fixed;
+ z-index: 20;
+ top: 12px;
+ left: 12px;
+ transform: translateY(-150%);
+ padding: 10px 15px;
+ color: var(--action-text);
+ background: var(--cyan-soft);
+ border-radius: 4px;
+}
+
+:where(.pixie-guide) .skip-link:focus {
+ transform: translateY(0);
+}
+
+:where(.pixie-guide) .topbar {
+ display: flex;
+ min-height: 88px;
+ align-items: center;
+ justify-content: space-between;
+ gap: 25px;
+ border-bottom: 1px solid var(--line);
+ flex-wrap: wrap;
+}
+
+:where(.pixie-guide) .brand {
+ display: inline-flex;
+ align-items: center;
+ gap: 12px;
+ color: var(--text);
+ text-decoration: none;
+}
+
+:where(.pixie-guide) .brand-mark {
+ width: 44px;
+ height: 44px;
+ place-items: center;
+ border: 1px solid var(--line);
+ border-radius: 50%;
+ color: var(--cyan);
+ font: 30px/1 var(--serif);
+ display:none;
+}
+
+:where(.pixie-guide) .brand-words,
+:where(.pixie-guide) .footer-brand > span:last-child {
+ display: grid;
+ line-height: 1.15;
+}
+
+:where(.pixie-guide) .brand-words strong,
+:where(.pixie-guide) .footer-brand strong {
+ font: 600 21px/1.1 var(--serif);
+ letter-spacing: .13em;
+}
+
+:where(.pixie-guide) .brand-words small,
+:where(.pixie-guide) .footer-brand small {
+ margin-top: 5px;
+ color: var(--muted);
+ font: 18px/1.25 var(--sans);
+ letter-spacing: .07em;
+}
+
+:where(.pixie-guide) .top-nav a:hover {
+ color: var(--cyan);
+}
+
+:where(.pixie-guide) .preview-pill {
+ display: inline-flex;
+ align-items: center;
+ gap: 9px;
+ padding: 7px 12px;
+ border: 1px solid var(--line);
+ border-radius: 999px;
+ color: var(--muted);
+ font-size: 18px;
+ white-space: nowrap;
+}
+
+:where(.pixie-guide) .eyebrow {
+ display: flex;
+ align-items: center;
+ gap: 10px;
+ margin: 0 0 15px;
+ font-size: 18px;
+ line-height: 1.45;
+ font-weight: 700;
+ letter-spacing: .08em;
+ text-transform: uppercase;
+ color: var(--gold);
+}
+
+:where(.pixie-guide) .eyebrow-rule {
+ display: inline-block;
+ width: 28px;
+ height: 2px;
+ background: var(--cyan);
+}
+
+:where(.pixie-guide) h1,
+:where(.pixie-guide) h2,
+:where(.pixie-guide) h3,
+:where(.pixie-guide) p {
+ margin-top: 0;
+}
+
+:where(.pixie-guide) .hero h1 em {
+ font-weight: 400;
+ color:var(--text);
+ font-style:normal;
+}
+
+:where(.pixie-guide) .hero-actions {
+ display: flex;
+ align-items: center;
+ gap: 26px;
+ flex-wrap: wrap;
+ margin-top: 29px;
+}
+
+:where(.pixie-guide) .button:hover {
+ transform: translateY(-2px);
+}
+
+:where(.pixie-guide) .button-primary {
+ background: var(--action);
+ color: var(--action-text);
+ border-color: var(--action);
+}
+
+:where(.pixie-guide) .button-primary:hover {
+ background: var(--parchment);
+ color: var(--midnight);
+}
+
+:where(.pixie-guide) .button-secondary {
+ border-color: var(--line);
+ color: var(--text);
+ background: var(--panel);
+}
+
+:where(.pixie-guide) .button-secondary:hover {
+ border-color: var(--cyan);
+ background: var(--panel);
+}
+
+:where(.pixie-guide) .text-link {
+ font-size: 18px;
+ text-decoration: none;
+}
+
+:where(.pixie-guide) .hero-note {
+ margin: 18px 0 0;
+ color: var(--quiet);
+ font-size: 18px;
+}
+
+:where(.pixie-guide) .ecosystem-visual {
+ margin: 0 0 96px;
+ padding: 10px;
+ border: 1px solid var(--line);
+ background: var(--panel);
+ box-shadow: 0 0 36px var(--line);
+}
+
+:where(.pixie-guide) .ecosystem-visual img {
+ display: block;
+ width: 100%;
+ height: auto;
+ border-radius: 8px;
+ object-fit: contain;
+}
+
+:where(.pixie-guide) .ecosystem-visual figcaption {
+ padding: 9px 9px 1px;
+ color: var(--quiet);
+ font-size: 18px;
+}
+
+:where(.pixie-guide) .section-heading {
+ max-width: 880px;
+ margin-bottom: 25px;
+}
+
+:where(.pixie-guide) .section-heading h2,
+:where(.pixie-guide) .values-heading h2,
+:where(.pixie-guide) .questions-copy h2 {
+ margin: 0 0 12px;
+ font: 400 clamp(2.3rem, 5vw, 4rem)/1.04 var(--serif);
+ letter-spacing: -.025em;
+}
+
+:where(.pixie-guide) .section-heading > p:last-child,
+:where(.pixie-guide) .values-heading > p:last-child,
+:where(.pixie-guide) .questions-copy > p:last-child {
+ margin: 0;
+ color: var(--muted);
+ font-size: 18px;
+}
+
+:where(.pixie-guide) .story-section {
+ display: grid;
+ grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
+ gap: clamp(30px, 7vw, 86px);
+ align-items: start;
+ margin: 0 0 104px;
+ padding: 36px 0;
+ border-top: 1px solid var(--line);
+ border-bottom: 1px solid var(--line);
+}
+
+:where(.pixie-guide) .story-section .section-heading {
+ margin: 0;
+}
+
+:where(.pixie-guide) .story-source {
+ padding: 24px;
+ border-left: 3px solid var(--violet);
+ background:var(--md-sys-color-surface-container-low);
+ border:0;
+ border-radius:24px;
+}
+
+:where(.pixie-guide) .story-source p {
+ margin: 0 0 16px;
+ color: var(--muted);
+ font-size: 18px;
+ line-height: 1.65;
+}
+
+:where(.pixie-guide) .story-source p strong {
+ color: var(--text);
+}
+
+:where(.pixie-guide) .story-source .button {
+ margin-top: 4px;
+}
+
+:where(.pixie-guide) .why-section {
+ margin: 0 0 100px;
+}
+
+:where(.pixie-guide) .why-grid {
+ display: grid;
+ grid-template-columns: repeat(3, minmax(0, 1fr));
+ gap: 14px;
+}
+
+:where(.pixie-guide) .why-card {
+ min-width: 0;
+ padding: 23px 22px;
+ background:var(--md-sys-color-surface-container-low);
+ border:0;
+ border-radius:24px;
+}
+
+:where(.pixie-guide) .why-card:nth-child(2) {
+ border-top-color: var(--violet);
+}
+
+:where(.pixie-guide) .why-card:nth-child(3) {
+ border-top-color: var(--cyan);
+}
+
+:where(.pixie-guide) .why-label {
+ margin: 0 0 12px;
+ color: var(--cyan);
+ font-size: 18px;
+ font-weight: 700;
+ letter-spacing: .08em;
+}
+
+:where(.pixie-guide) .why-card h3 {
+ margin: 0 0 10px;
+ font: 400 clamp(1.55rem, 2.8vw, 2rem)/1.16 var(--serif);
+}
+
+:where(.pixie-guide) .why-card p:last-child {
+ margin: 0;
+ color: var(--muted);
+ font-size: 18px;
+ line-height: 1.6;
+}
+
+:where(.pixie-guide) .principle-band {
+ display: grid;
+ grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
+ gap: clamp(28px, 7vw, 80px);
+ align-items: start;
+ margin: 0 0 84px;
+ padding: 34px 30px;
+ box-shadow: inset 0 1px var(--line);
+ background:var(--md-sys-color-surface-container-low);
+ border:0;
+ border-radius:24px;
+}
+
+:where(.pixie-guide) .principle-band h2 {
+ margin: 0;
+ font: 400 clamp(2rem, 4vw, 3.2rem)/1.08 var(--serif);
+}
+
+:where(.pixie-guide) .principle-copy p {
+ margin: 0 0 14px;
+ color: var(--muted);
+ font-size: 18px;
+ line-height: 1.65;
+}
+
+:where(.pixie-guide) .principle-copy p:last-child {
+ margin-bottom: 0;
+}
+
+:where(.pixie-guide) .questions-section {
+ display: grid;
+ grid-template-columns: minmax(0, 1fr) auto;
+ gap: 30px;
+ align-items: end;
+ margin: 0 0 96px;
+ padding-bottom: 30px;
+ border-bottom: 1px solid var(--line);
+}
+
+:where(.pixie-guide) .questions-copy {
+ max-width: 850px;
+}
+
+:where(.pixie-guide) .questions-section > .text-link {
+ max-width: 340px;
+}
+
+:where(.pixie-guide) .directory-feature {
+ display: grid;
+ grid-template-columns: 62px minmax(0, 1fr) auto;
+ gap: 22px;
+ align-items: center;
+ margin: 0 0 96px;
+ padding: 28px 30px;
+ border: 1px solid var(--line);
+ background: linear-gradient(105deg, var(--panel), var(--panel) 72%);
+ box-shadow: inset 0 1px var(--line);
+}
+
+:where(.pixie-guide) .feature-symbol {
+ display: grid;
+ width: 54px;
+ height: 54px;
+ place-items: center;
+ border: 1px solid var(--line);
+ border-radius: 50%;
+ color: var(--cyan);
+ font-size: 26px;
+}
+
+:where(.pixie-guide) .feature-copy .eyebrow {
+ margin-bottom: 8px;
+}
+
+:where(.pixie-guide) .feature-copy h2 {
+ margin: 0 0 7px;
+ font: 400 clamp(1.8rem, 3vw, 2.5rem)/1.1 var(--serif);
+}
+
+:where(.pixie-guide) .feature-copy > p:last-child {
+ max-width: 690px;
+ margin: 0;
+ color: var(--muted);
+ font-size: 18px;
+}
+
+:where(.pixie-guide) .focus-section {
+ margin: 0 0 108px;
+}
+
+:where(.pixie-guide) .focus-list {
+ display: grid;
+ grid-template-columns: repeat(4, minmax(0, 1fr));
+ gap: 10px;
+ margin: 0;
+ padding: 0;
+ list-style: none;
+}
+
+:where(.pixie-guide) .focus-item {
+ display: flex;
+ min-height: 78px;
+ align-items: center;
+ gap: 14px;
+ padding: 14px 16px;
+ border: 1px solid var(--line);
+ background: var(--panel);
+}
+
+:where(.pixie-guide) .focus-number {
+ color: var(--cyan);
+ font-size: 18px;
+ font-weight: 700;
+}
+
+:where(.pixie-guide) .focus-name {
+ font-size: 18px;
+ line-height: 1.35;
+}
+
+:where(.pixie-guide) .roles-section {
+ margin: 0 0 104px;
+}
+
+:where(.pixie-guide) .roles-heading {
+ display: flex;
+ max-width: none;
+ justify-content: space-between;
+ align-items: flex-end;
+ gap: 32px;
+}
+
+:where(.pixie-guide) .roles-heading > div {
+ max-width: 820px;
+}
+
+:where(.pixie-guide) .roles-count {
+ display: flex;
+ align-items: center;
+ gap: 11px;
+ margin: 0 0 4px;
+ color: var(--muted);
+ font-size: 18px;
+ line-height: 1.4;
+ white-space: nowrap;
+}
+
+:where(.pixie-guide) .roles-count strong {
+ color: var(--cyan);
+ font: 400 3.5rem/.9 var(--serif);
+}
+
+:where(.pixie-guide) .role-grid {
+ display: grid;
+ grid-template-columns: repeat(2, minmax(0, 1fr));
+ gap: 14px;
+}
+
+:where(.pixie-guide) .role-card {
+ position: relative;
+ display: flex;
+ min-width: 0;
+ flex-direction: column;
+ padding: 24px 24px 22px 28px;
+ background:var(--md-sys-color-surface-container-low);
+ border:0;
+ border-radius:24px;
+}
+
+:where(.pixie-guide) .role-card::before {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ width: 3px;
+ background: linear-gradient(var(--cyan), var(--violet) 72%, transparent);
+ content: "";
+ display:none;
+}
+
+:where(.pixie-guide) .role-card:nth-child(4n + 2)::before,
+:where(.pixie-guide) .role-card:nth-child(4n + 3)::before {
+ background: linear-gradient(var(--violet), var(--cyan) 72%, transparent);
+}
+
+:where(.pixie-guide) .role-card-heading {
+ display: flex;
+ min-height: 31px;
+ justify-content: space-between;
+ align-items: center;
+ gap: 10px;
+}
+
+:where(.pixie-guide) .stage-label {
+ display: inline-flex;
+ align-items: center;
+ min-height: 30px;
+ padding: 4px 10px;
+ border: 1px solid var(--line);
+ border-radius: 99px;
+ color: var(--cyan-soft);
+ font-size: 18px;
+ line-height: 1.3;
+}
+
+:where(.pixie-guide) .role-spark {
+ color: var(--violet);
+ font-size: 22px;
+ display:none;
+}
+
+:where(.pixie-guide) .role-card h3 {
+ margin: 15px 0 6px;
+ font: 400 clamp(1.65rem, 3vw, 2.1rem)/1.12 var(--serif);
+}
+
+:where(.pixie-guide) .role-project {
+ margin: 0 0 12px;
+ color: var(--quiet);
+ font-size: 18px;
+ line-height: 1.45;
+}
+
+:where(.pixie-guide) .role-summary {
+ margin: 0 0 14px;
+ color: var(--muted);
+ font-size: 18px;
+ line-height: 1.6;
+}
+
+:where(.pixie-guide) .role-boundary {
+ margin: 0 0 18px;
+ padding: 11px 13px;
+ border-left: 2px solid var(--violet);
+ background: var(--panel);
+ color: var(--muted);
+ font-size: 18px;
+ line-height: 1.55;
+}
+
+:where(.pixie-guide) .role-boundary strong {
+ color: var(--text);
+}
+
+:where(.pixie-guide) .role-links,
+:where(.pixie-guide) .contribute-links {
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+ gap: 11px 20px;
+ margin-top: auto;
+ padding-top: 4px;
+}
+
+:where(.pixie-guide) .role-primary-link {
+ display: inline-flex;
+ min-height: 44px;
+ align-items: center;
+ padding: 8px 12px;
+ border: 1px solid var(--line);
+ border-radius: 4px;
+ color: var(--cyan-soft);
+ font-size: 18px;
+ font-weight: 700;
+ text-decoration: none;
+}
+
+:where(.pixie-guide) .role-primary-link::after {
+ margin-left: 8px;
+ content: "↗";
+}
+
+:where(.pixie-guide) .role-primary-link:hover {
+ border-color: var(--cyan);
+ background: var(--panel);
+}
+
+:where(.pixie-guide) .role-secondary-link {
+ font-size: 18px;
+}
+
+:where(.pixie-guide) .contribute-section {
+ margin: 0 0 96px;
+ padding-top: 40px;
+ border-top: 1px solid var(--line);
+}
+
+:where(.pixie-guide) .contribute-grid {
+ display: grid;
+ grid-template-columns: repeat(2, minmax(0, 1fr));
+ gap: 14px;
+}
+
+:where(.pixie-guide) .contribute-card {
+ display: flex;
+ flex-direction: column;
+ gap: 11px;
+ padding: 24px;
+ background:var(--md-sys-color-surface-container-low);
+ border:0;
+ border-radius:24px;
+}
+
+:where(.pixie-guide) .contribute-card h3 {
+ margin: 0;
+ font: 400 1.7rem/1.2 var(--serif);
+}
+
+:where(.pixie-guide) .contribute-card p {
+ margin: 0;
+ color: var(--muted);
+ font-size: 18px;
+ line-height: 1.6;
+}
+
+:where(.pixie-guide) .story-boundary-note {
+ margin: 18px 0 0;
+ padding: 14px 16px;
+ border-left: 2px solid var(--amber);
+ color: var(--muted);
+ font-size: 18px;
+}
+
+:where(.pixie-guide) .values-section {
+ display: grid;
+ grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr);
+ gap: clamp(32px, 8vw, 100px);
+ padding: 44px 0;
+ border-top: 1px solid var(--line);
+ border-bottom: 1px solid var(--line);
+}
+
+:where(.pixie-guide) .values-heading {
+ align-self: start;
+}
+
+:where(.pixie-guide) .values-heading h2 {
+ max-width: 500px;
+}
+
+:where(.pixie-guide) .values-list article {
+ display: grid;
+ grid-template-columns: 44px 1fr;
+ gap: 13px;
+ padding: 16px 0;
+ border-bottom: 1px solid var(--line-soft);
+}
+
+:where(.pixie-guide) .values-list article:last-child {
+ border: 0;
+}
+
+:where(.pixie-guide) .values-list article > span {
+ padding-top: 3px;
+ color: var(--cyan);
+ font-size: 18px;
+ font-weight: 700;
+}
+
+:where(.pixie-guide) .values-list h3 {
+ margin: 0 0 4px;
+ font: 400 1.45rem/1.2 var(--serif);
+}
+
+:where(.pixie-guide) .values-list p {
+ max-width: 610px;
+ margin: 0;
+ color: var(--muted);
+ font-size: 18px;
+ line-height: 1.55;
+}
+
+:where(.pixie-guide) .feedback-band {
+ display: grid;
+ grid-template-columns: minmax(0, 1.3fr) auto;
+ gap: 28px;
+ align-items: center;
+ margin: 80px 0 42px;
+ padding: 30px;
+ background:var(--md-sys-color-surface-container-low);
+ border:0;
+ border-radius:24px;
+}
+
+:where(.pixie-guide) .feedback-band h2 {
+ max-width: 720px;
+ margin: 0 0 10px;
+ font: 400 clamp(2rem, 4vw, 3rem)/1.08 var(--serif);
+}
+
+:where(.pixie-guide) .feedback-band p:not(.eyebrow) {
+ max-width: 770px;
+ margin: 0;
+ color: var(--muted);
+ font-size: 18px;
+ line-height: 1.6;
+}
+
+:where(.pixie-guide) .closing-band {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ gap: 22px;
+ margin-bottom: 70px;
+ padding: 28px 30px;
+ background:var(--md-sys-color-surface-container-low);
+ border:0;
+ border-radius:24px;
+}
+
+:where(.pixie-guide) .closing-band .eyebrow {
+ margin-bottom: 6px;
+}
+
+:where(.pixie-guide) .closing-band h2 {
+ margin: 0;
+ font: 400 clamp(1.8rem, 3.5vw, 2.7rem)/1.08 var(--serif);
+}
+
+:where(.pixie-guide) .footer {
+ display: grid;
+ grid-template-columns: 1fr 1.35fr auto;
+ gap: 18px 30px;
+ align-items: start;
+ padding: 25px 0 32px;
+ border-top: 1px solid var(--line);
+}
+
+:where(.pixie-guide) .footer-brand {
+ display: inline-flex;
+ align-items: center;
+ gap: 10px;
+}
+
+:where(.pixie-guide) .footer-mark {
+ color: var(--cyan);
+ font: 30px/1 var(--serif);
+ display:none;
+}
+
+:where(.pixie-guide) .footer > p {
+ max-width: 530px;
+ margin: 0;
+ color: var(--quiet);
+ font-size: 18px;
+ line-height: 1.55;
+}
+
+:where(.pixie-guide) .footer-links {
+ display: grid;
+ gap: 8px;
+}
+
+:where(.pixie-guide) .footer-links a {
+ font-size: 18px;
+}
+
+:where(.pixie-guide) .footer .footer-date {
+ grid-column: 1 / -1;
+ max-width: none;
+ padding-top: 13px;
+ border-top: 1px solid var(--line-soft);
+ font-size: 18px;
+}
+@media (max-width: 900px) {
+
+:where(.pixie-guide) .site-shell {
+ width: min(100% - 44px, 820px);
+}
+
+:where(.pixie-guide) .topbar {
+ flex-wrap: wrap;
+ padding: 12px 0;
+}
+
+:where(.pixie-guide) .top-nav {
+ order: 3;
+ width: 100%;
+ justify-content: space-between;
+ gap: 16px;
+ padding-top: 10px;
+ border-top: 1px solid var(--line-soft);
+}
+
+:where(.pixie-guide) .story-section,
+:where(.pixie-guide) .principle-band {
+ grid-template-columns: 1fr;
+ gap: 24px;
+}
+
+:where(.pixie-guide) .why-grid {
+ grid-template-columns: 1fr;
+}
+
+:where(.pixie-guide) .questions-section {
+ grid-template-columns: 1fr;
+ align-items: start;
+}
+
+:where(.pixie-guide) .directory-feature {
+ grid-template-columns: 54px 1fr;
+}
+
+:where(.pixie-guide) .directory-feature .button {
+ grid-column: 2;
+ justify-self: start;
+}
+
+:where(.pixie-guide) .focus-list {
+ grid-template-columns: repeat(2, minmax(0, 1fr));
+}
+
+:where(.pixie-guide) .contribute-grid {
+ grid-template-columns: 1fr;
+}
+
+:where(.pixie-guide) .values-section {
+ gap: 35px;
+}
+
+:where(.pixie-guide) .footer {
+ grid-template-columns: 1fr 1.4fr;
+}
+
+:where(.pixie-guide) .footer-links {
+ grid-column: 1 / -1;
+ display: flex;
+ flex-wrap: wrap;
+ gap: 12px 24px;
+}
+}
+@media (max-width: 650px) {
+
+:where(.pixie-guide) {
+ font-size: 18px;
+}
+
+:where(.pixie-guide) .site-shell {
+ width: calc(100% - 34px);
+}
+
+:where(.pixie-guide) .topbar {
+ min-height: 76px;
+}
+
+:where(.pixie-guide) .brand-mark {
+ width: 38px;
+ height: 38px;
+}
+
+:where(.pixie-guide) .brand-words strong {
+ font-size: 20px;
+}
+
+:where(.pixie-guide) .brand-words small {
+ font-size: 18px;
+}
+
+:where(.pixie-guide) .top-nav {
+ overflow-x: auto;
+ justify-content: flex-start;
+ gap: 23px;
+ padding-bottom: 4px;
+}
+
+:where(.pixie-guide) .top-nav a {
+ flex: 0 0 auto;
+ font-size: 18px;
+}
+
+:where(.pixie-guide) .preview-pill {
+ white-space: normal;
+}
+
+:where(.pixie-guide) .hero {
+ padding: 57px 0 27px;
+}
+
+:where(.pixie-guide) .hero h1 {
+ font-size: clamp(3.2rem, 13vw, 5.1rem);
+}
+
+:where(.pixie-guide) .hero-lede {
+ font-size: 18px;
+}
+
+:where(.pixie-guide) .hero-actions {
+ align-items: flex-start;
+ flex-direction: column;
+ gap: 16px;
+}
+
+:where(.pixie-guide) .ecosystem-visual {
+ margin-bottom: 68px;
+ padding: 6px;
+}
+
+:where(.pixie-guide) .ecosystem-visual figcaption {
+ font-size: 18px;
+}
+
+:where(.pixie-guide) .story-section {
+ margin-bottom: 76px;
+ padding: 28px 0;
+}
+
+:where(.pixie-guide) .story-source {
+ padding: 19px;
+}
+
+:where(.pixie-guide) .why-section {
+ margin-bottom: 76px;
+}
+
+:where(.pixie-guide) .principle-band {
+ margin-bottom: 68px;
+ padding: 24px 19px;
+}
+
+:where(.pixie-guide) .questions-section {
+ margin-bottom: 72px;
+}
+
+:where(.pixie-guide) .directory-feature {
+ grid-template-columns: 45px 1fr;
+ gap: 14px;
+ margin-bottom: 75px;
+ padding: 21px 18px;
+}
+
+:where(.pixie-guide) .feature-symbol {
+ width: 42px;
+ height: 42px;
+ font-size: 22px;
+}
+
+:where(.pixie-guide) .feature-copy h2 {
+ font-size: 1.9rem;
+}
+
+:where(.pixie-guide) .feature-copy > p:last-child {
+ font-size: 18px;
+}
+
+:where(.pixie-guide) .directory-feature .button {
+ grid-column: 1 / -1;
+}
+
+:where(.pixie-guide) .focus-section,
+:where(.pixie-guide) .roles-section {
+ margin-bottom: 78px;
+}
+
+:where(.pixie-guide) .section-heading h2,
+:where(.pixie-guide) .values-heading h2,
+:where(.pixie-guide) .questions-copy h2 {
+ font-size: clamp(2.2rem, 10vw, 3.3rem);
+}
+
+:where(.pixie-guide) .section-heading > p:last-child,
+:where(.pixie-guide) .values-heading > p:last-child,
+:where(.pixie-guide) .questions-copy > p:last-child {
+ font-size: 18px;
+}
+
+:where(.pixie-guide) .focus-list {
+ gap: 8px;
+}
+
+:where(.pixie-guide) .focus-item {
+ min-height: 74px;
+ gap: 9px;
+ padding: 11px 10px;
+}
+
+:where(.pixie-guide) .focus-name {
+ font-size: 18px;
+}
+
+:where(.pixie-guide) .roles-heading {
+ align-items: flex-start;
+ flex-direction: column;
+ gap: 14px;
+}
+
+:where(.pixie-guide) .role-grid {
+ grid-template-columns: 1fr;
+}
+
+:where(.pixie-guide) .role-card {
+ padding: 21px 18px 19px 23px;
+}
+
+:where(.pixie-guide) .role-card h3 {
+ font-size: 1.8rem;
+}
+
+:where(.pixie-guide) .role-summary,
+:where(.pixie-guide) .role-boundary {
+ font-size: 18px;
+}
+
+:where(.pixie-guide) .role-links,
+:where(.pixie-guide) .contribute-links {
+ align-items: flex-start;
+ flex-direction: column;
+}
+
+:where(.pixie-guide) .contribute-section {
+ margin-bottom: 76px;
+ padding-top: 30px;
+}
+
+:where(.pixie-guide) .contribute-card {
+ padding: 20px 18px;
+}
+
+:where(.pixie-guide) .values-section {
+ grid-template-columns: 1fr;
+ gap: 20px;
+ padding: 34px 0;
+}
+
+:where(.pixie-guide) .values-list p {
+ font-size: 18px;
+}
+
+:where(.pixie-guide) .feedback-band {
+ grid-template-columns: 1fr;
+ gap: 20px;
+ margin-top: 60px;
+ padding: 23px 19px;
+}
+
+:where(.pixie-guide) .feedback-band p:not(.eyebrow) {
+ font-size: 18px;
+}
+
+:where(.pixie-guide) .closing-band {
+ align-items: flex-start;
+ flex-direction: column;
+ margin-bottom: 48px;
+ padding: 23px 19px;
+}
+
+:where(.pixie-guide) .footer {
+ grid-template-columns: 1fr;
+ gap: 17px;
+}
+
+:where(.pixie-guide) .footer-links {
+ grid-column: auto;
+ display: grid;
+}
+
+:where(.pixie-guide) .footer .footer-date {
+ grid-column: auto;
+}
+}
+@media (max-width: 390px) {
+
+:where(.pixie-guide) .preview-pill {
+ padding: 6px 9px;
+}
+
+:where(.pixie-guide) .preview-pill span {
+ width: 8px;
+ height: 8px;
+}
+
+:where(.pixie-guide) .brand-words small {
+ letter-spacing: .02em;
+}
+
+:where(.pixie-guide) .focus-item {
+ align-items: flex-start;
+ flex-direction: column;
+ gap: 4px;
+}
+}
+@media (prefers-reduced-motion: reduce) {
+
+:where(.pixie-guide) *,
+:where(.pixie-guide) *::before,
+:where(.pixie-guide) *::after {
+ scroll-behavior: auto;
+ animation-duration: .01ms;
+ animation-iteration-count: 1;
+ transition-duration: .01ms;
+}
+}
+@media (forced-colors: active) {
+
+:where(.pixie-guide) .button,
+:where(.pixie-guide) .brand-mark,
+:where(.pixie-guide) .directory-feature,
+:where(.pixie-guide) .role-card,
+:where(.pixie-guide) .focus-item,
+:where(.pixie-guide) .why-card,
+:where(.pixie-guide) .contribute-card,
+:where(.pixie-guide) .feedback-band {
+ border: 1px solid CanvasText;
+}
+}
+
+:where(.pixie-guide) .guide-background {
+ margin: 36px 0;
+ border-block: 1px solid var(--line);
+ padding: 20px 0;
+}
+
+:where(.pixie-guide) summary {
+ cursor: pointer;
+ font-size: 18px;
+ padding: 12px 0;
+}
+
+:where(.pixie-guide) summary:focus-visible {
+ outline: 2px solid var(--cyan);
+ outline-offset: 4px;
+}
+
+:where(.pixie-guide) #start-work {
+ scroll-margin-top: 24px;
+}
+
+:where(.pixie-guide) .pixie-helper {
+ position: fixed;
+ right: max(16px, env(safe-area-inset-right));
+ bottom: max(16px, env(safe-area-inset-bottom));
+ z-index: 50;
+ max-width: min(360px, calc(100vw - 32px));
+ color: var(--text);
+}
+
+:where(.pixie-guide) .pixie-helper > summary {
+ margin-left: auto;
+ width: fit-content;
+ min-height: 48px;
+ list-style: none;
+ background:var(--md-sys-color-surface-container-high);
+ color:var(--text);
+ border:1px solid var(--line);
+ border-radius:24px;
+ display:flex;
+ align-items:center;
+ gap:12px;
+ padding:8px 16px 8px 8px;
+}
+
+:where(.pixie-guide) .pixie-helper > summary::-webkit-details-marker {
+ display: none;
+}
+
+:where(.pixie-guide) .pixie-helper nav {
+ margin-top: 8px;
+ padding: 20px;
+ max-height: 65vh;
+ overflow-y: auto;
+ background:var(--md-sys-color-surface-container-high);
+ color:var(--text);
+ border:1px solid var(--line);
+ border-radius:24px;
+}
+
+:where(.pixie-guide) .pixie-helper nav p,
+:where(.pixie-guide) .pixie-helper nav small {
+ display: block;
+ font-size: 18px;
+ line-height: 1.5;
+ margin: 12px 0;
+}
+
+:where(.pixie-guide) .pixie-helper nav a {
+ display: block;
+ padding: 12px 0;
+ color: var(--text);
+}
+
+:where(.pixie-guide) {
+ margin: 0;
+ color: var(--text);
+ font: 18px/1.65 var(--sans);
+ padding-bottom: 88px;
+ background: radial-gradient(ellipse at 85% 0,var(--plum),transparent 42rem),var(--bg);
+ font-size: var(--pixie-font-size,18px);
+ min-width: 0;
+ overflow-wrap: anywhere;
+}
+@media print {
+
+:where(.pixie-guide) .pixie-helper {
+ display: none;
+} }
+
+:where(.pixie-guide) .hero {
+ padding-block: var(--space-section) var(--space-4);
+ display:grid;
+ grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
+ gap:clamp(24px,4vw,48px);
+ align-items:start;
+ max-width:none;
+ padding:64px 0 48px;
+}
+
+:where(.pixie-guide) .hero h1 {
+ max-width: 1000px;
+ margin: 0;
+ font-size: clamp(3rem, 7vw, 6rem);
+ font:400 clamp(2.75rem,6vw,5rem)/1.06 var(--sans);
+ letter-spacing:-.045em;
+}
+
+:where(.pixie-guide) .hero-lede {
+ max-width: 48rem;
+ margin: 25px 0 0;
+ color: var(--muted);
+ font-size: clamp(1.15rem, 2vw, 1.35rem);
+ line-height: 1.65;
+}
+
+:where(.pixie-guide) .entry-grid {
+ display: grid;
+ grid-template-columns: repeat(3, minmax(0, 1fr));
+ gap: var(--space-3);
+}
+
+:where(.pixie-guide) .entry-card {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ gap: var(--space-2);
+ padding: var(--space-3);
+ min-width: 0;
+ background:var(--md-sys-color-surface-container-low);
+ border:0;
+ border-radius:24px;
+}
+
+:where(.pixie-guide) .entry-card h3 {
+ margin: 0;
+ font-size: 1.4rem;
+ line-height: 1.3;
+}
+
+:where(.pixie-guide) .entry-card p {
+ margin: 0;
+ color: var(--muted);
+}
+
+:where(.pixie-guide) .entry-card .button {
+ margin-top: auto;
+}
+
+:where(.pixie-guide) .handoff-note {
+ max-width: 70ch;
+ margin-block: var(--space-3) 0;
+ color: var(--quiet);
+}
+
+:where(.pixie-guide) .ebook-section {
+ display: grid;
+ grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
+ gap: var(--space-4);
+ align-items: center;
+ padding-block: var(--space-4);
+ margin-bottom: var(--space-section);
+}
+
+:where(.pixie-guide) .book-cover {
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ gap: var(--space-4);
+ min-height: 25rem;
+ padding: var(--space-4);
+ background:var(--md-sys-color-surface-container);
+ color:var(--text);
+ border-left:1px solid var(--gold);
+ border-radius:24px;
+}
+
+:where(.pixie-guide) .book-cover strong {
+ font: 400 clamp(2.4rem, 4vw, 3.5rem)/1.1 var(--serif);
+}
+
+:where(.pixie-guide) .ebook-copy h2 {
+ font: 400 clamp(2rem, 4vw, 3.5rem)/1.1 var(--serif);
+ margin-bottom: var(--space-3);
+}
+
+:where(.pixie-guide) .ebook-copy ul {
+ padding-left: var(--space-3);
+}
+
+:where(.pixie-guide) .ebook-copy li + li {
+ margin-top: var(--space-1);
+}
+
+:where(.pixie-guide) .button,
+:where(.pixie-guide) .top-nav a,
+:where(.pixie-guide) summary {
+ min-height: 48px;
+}
+
+:where(.pixie-guide) .top-nav a {
+ color: var(--muted);
+ font-size: 18px;
+ text-decoration: none;
+ display: inline-flex;
+ align-items: center;
+}
+
+:where(.pixie-guide) .button {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ gap: 12px;
+ border: 1px solid transparent;
+ font-size: 18px;
+ font-weight: 700;
+ line-height: 1.35;
+ text-decoration: none;
+ transition: transform .18s ease, background .18s ease, border-color .18s ease;
+ overflow-wrap: anywhere;
+ text-align: center;
+ border-radius:999px;
+ min-height:48px;
+ padding:12px 24px;
+}
+
+:where(.pixie-guide) .top-nav {
+ display: flex;
+ align-items: center;
+ gap: 25px;
+ flex-wrap: wrap;
+}
+
+:where(.pixie-guide) .entry-card,
+:where(.pixie-guide) .ebook-copy {
+ overflow-wrap: anywhere;
+}
+@media(max-width: 900px) {
+
+:where(.pixie-guide) .entry-grid,
+:where(.pixie-guide) .ebook-section {
+ grid-template-columns: 1fr;
+}
+
+:where(.pixie-guide) .book-cover {
+ max-width: 28rem;
+ width: 100%;
+ min-height: 22rem;
+} }
+@media(max-width: 650px) {
+
+:where(.pixie-guide) .top-nav {
+ overflow: visible;
+ gap: .5rem 1rem;
+}
+
+:where(.pixie-guide) .top-nav a {
+ flex: 0 1 auto;
+}
+
+:where(.pixie-guide) .entry-card .button,
+:where(.pixie-guide) .ebook-copy .button {
+ width: 100%;
+}
+
+:where(.pixie-guide) .ebook-section {
+ gap: var(--space-3);
+} }
+
+:where(.pixie-guide) .brand-words small {
+ font-size: 18px;
+ letter-spacing: .08em;
+}
+/* Project Companion layouts and components — scoped to its existing shell */
+
+:where(.pixie-companion) button,
+:where(.pixie-companion) input,
+:where(.pixie-companion) select,
+:where(.pixie-companion) textarea {
+ font: inherit;
+}
+
+:where(.pixie-companion) button,
+:where(.pixie-companion) a,
+:where(.pixie-companion) input,
+:where(.pixie-companion) select,
+:where(.pixie-companion) textarea {
+ touch-action: manipulation;
+}
+
+:where(.pixie-companion) button,
+:where(.pixie-companion) a {
+ -webkit-tap-highlight-color: transparent;
+}
+
+:where(.pixie-companion) a {
+ color: var(--mint);
+ text-underline-offset: 4px;
+}
+
+:where(.pixie-companion) button {
+ cursor: pointer;
+}
+
+:where(.pixie-companion) button:disabled {
+ opacity: .55;
+ cursor: wait;
+}
+
+:where(.pixie-companion) button:focus-visible,
+:where(.pixie-companion) a:focus-visible,
+:where(.pixie-companion) input:focus-visible,
+:where(.pixie-companion) select:focus-visible,
+:where(.pixie-companion) textarea:focus-visible,
+:where(.pixie-companion) summary:focus-visible {
+ outline: 3px solid var(--gold);
+ outline-offset: 4px;
+}
+
+:where(.pixie-companion) .skip {
+ position: absolute;
+ top: -100px;
+}
+
+:where(.pixie-companion) .skip:focus {
+ top: 12px;
+ background: var(--bg);
+ z-index: 2;
+ padding: 12px;
+}
+
+:where(.pixie-companion) .brand {
+ display: flex;
+ align-items: center;
+ color: var(--text);
+ text-decoration: none;
+ font-size:22px;
+ letter-spacing:.12em;
+ font-weight:650;
+ gap:12px;
+}
+
+:where(.pixie-companion) .sigil {
+ color: var(--gold);
+ font-size: 36px;
+ display:none;
+}
+
+:where(.pixie-companion) .brand-sub {
+ color: var(--muted);
+ border-left: 1px solid var(--line);
+ padding-left: 15px;
+ font-size:18px;
+ font-weight:400;
+ letter-spacing:.08em;
+}
+
+:where(.pixie-companion) .private {
+ letter-spacing: 1.5px;
+ color: var(--mint);
+ font-size: 18px;
+}
+
+:where(.pixie-companion) .intro {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ gap: 30px;
+ padding: 65px 0 48px;
+}
+
+:where(.pixie-companion) .eyebrow {
+ letter-spacing: 2px;
+ font-weight: 650;
+ margin: 0 0 15px;
+ font-size: 18px;
+ color: var(--gold);
+}
+
+:where(.pixie-companion) h1 {
+ font-family: Georgia,serif;
+ font-size: clamp(36px,4.5vw,64px);
+ font-weight: 400;
+ line-height: 1.08;
+ letter-spacing: -1.5px;
+ margin: 0 0 22px;
+}
+
+:where(.pixie-companion) .lede {
+ color: var(--muted);
+ max-width: 440px;
+ font-size: 18px;
+}
+
+:where(.pixie-companion) .promise {
+ border-left: 1px solid var(--line);
+ padding: 15px 36px;
+ font-family: Georgia,serif;
+ font-size: 24px;
+ line-height: 1.4;
+}
+
+:where(.pixie-companion) .promise small {
+ font: 18px system-ui;
+ color: var(--muted);
+}
+
+:where(.pixie-companion) .tiny-star {
+ color: var(--gold);
+ font-size: 36px;
+}
+
+:where(.pixie-companion) .workspace {
+ display: grid;
+ grid-template-columns: 260px 1fr;
+ border: 1px solid var(--line);
+ border-radius: 18px;
+ overflow: hidden;
+}
+
+:where(.pixie-companion) .projects {
+ padding: 28px 22px;
+ background:var(--md-sys-color-surface-container-low);
+}
+
+:where(.pixie-companion) .projects h2 {
+ font-size: 18px;
+ margin: 0;
+}
+
+:where(.pixie-companion) .muted {
+ color: var(--muted);
+ font-size: 18px;
+ margin: 4px 0 22px;
+}
+
+:where(.pixie-companion) .projects nav {
+ display: grid;
+ gap: 7px;
+}
+
+:where(.pixie-companion) .projects button {
+ background: transparent;
+ border: 1px solid transparent;
+ border-radius: 9px;
+ text-align: left;
+ padding: 12px 14px;
+ color: var(--text);
+ min-height: 62px;
+}
+
+:where(.pixie-companion) .projects button small {
+ display: block;
+ font-size: 18px;
+ color: var(--muted);
+}
+
+:where(.pixie-companion) .projects button[aria-pressed=true] {
+ background: var(--panel);
+ border-color: var(--line);
+}
+
+:where(.pixie-companion) .projects button:hover {
+ background: var(--panel);
+}
+
+:where(.pixie-companion) .outside {
+ display: block;
+ margin-top: 26px;
+ font-size: 18px;
+}
+
+:where(.pixie-companion) .work {
+ padding: 30px;
+ border-left: 1px solid var(--line);
+}
+
+:where(.pixie-companion) .project-head {
+ display: flex;
+ justify-content: space-between;
+ gap: 20px;
+}
+
+:where(.pixie-companion) .project-head h2 {
+ font: 28px Georgia,serif;
+ margin: 0;
+}
+
+:where(.pixie-companion) .project-head p:not(.eyebrow) {
+ color: var(--muted);
+ font-size: 18px;
+ max-width: 480px;
+}
+
+:where(.pixie-companion) .project-head>a {
+ font-size: 18px;
+ white-space: nowrap;
+}
+
+:where(.pixie-companion) .modes button {
+ background: transparent;
+ border: 1px solid var(--line);
+ color: var(--muted);
+ border-radius: 8px;
+ padding: 12px;
+ font-size: 18px;
+ text-align: left;
+ min-height: 60px;
+}
+
+:where(.pixie-companion) .modes button span {
+ display: block;
+ font-size: 18px;
+ color: var(--gold);
+}
+
+:where(.pixie-companion) .modes button[aria-pressed=true] {
+ border-color: var(--mint);
+ background: var(--action);
+ color: var(--action-text);
+}
+
+:where(.pixie-companion) .modes button[aria-pressed=true] span {
+ color: var(--action-text);
+}
+
+:where(.pixie-companion) .action-panel {
+ background:var(--md-sys-color-surface-container);
+ padding:24px;
+ border-radius:16px;
+}
+
+:where(.pixie-companion) h3 {
+ font-size: 18px;
+ margin: 0 0 8px;
+ font-weight: 600;
+}
+
+:where(.pixie-companion) p {
+ margin: 0 0 16px;
+}
+
+:where(.pixie-companion) .action-panel>p {
+ color: var(--muted);
+ font-size: 18px;
+}
+
+:where(.pixie-companion) .note {
+ line-height: 1.65;
+ font-size: 1em;
+ color: var(--muted);
+}
+
+:where(.pixie-companion) .primary {
+ border: 0;
+ border-radius: 7px;
+ padding: 12px 20px;
+ min-height: 48px;
+ font-weight: 650;
+ margin-top: 8px;
+ background: var(--action);
+ color: var(--action-text);
+}
+
+:where(.pixie-companion) .form-grid {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ gap: 15px;
+}
+
+:where(.pixie-companion) .form-grid .wide {
+ grid-column: 1/-1;
+}
+
+:where(.pixie-companion) label {
+ display: block;
+ font-size: 18px;
+ color: var(--muted);
+}
+
+:where(.pixie-companion) input,
+:where(.pixie-companion) textarea,
+:where(.pixie-companion) select {
+ display: block;
+ width: 100%;
+ background: var(--panel);
+ border: 1px solid var(--line);
+ color: var(--text);
+ padding: 11px 12px;
+ border-radius: 6px;
+ margin: 6px 0 14px;
+}
+
+:where(.pixie-companion) select {
+ max-width: 220px;
+}
+
+:where(.pixie-companion) textarea {
+ min-height: 90px;
+ resize: vertical;
+}
+
+:where(.pixie-companion) .result {
+ margin-top: 25px;
+ padding: 25px;
+ border: 1px solid var(--line);
+ border-radius: 12px;
+}
+
+:where(.pixie-companion) .result p,
+:where(.pixie-companion) .result li {
+ font-size: 18px;
+}
+
+:where(.pixie-companion) .result h3 {
+ margin-top: 18px;
+}
+
+:where(.pixie-companion) .result ul {
+ padding-left: 20px;
+ color: var(--muted);
+}
+
+:where(.pixie-companion) .freshness {
+ border-left: 3px solid var(--gold);
+ padding: 10px 15px;
+ background: var(--panel);
+ margin: 18px 0;
+}
+
+:where(.pixie-companion) .freshness strong {
+ display: block;
+ font-size: 18px;
+ text-transform: uppercase;
+ color: var(--gold);
+}
+
+:where(.pixie-companion) .freshness span {
+ font-size: 18px;
+}
+
+:where(.pixie-companion) .report {
+ min-height: 380px;
+ font: 18px/1.6 ui-monospace,monospace;
+}
+
+:where(.pixie-companion) .report-actions {
+ display: flex;
+ align-items: center;
+ gap: 20px;
+ margin-bottom: 18px;
+}
+
+:where(.pixie-companion) .report-actions button {
+ padding: 10px 20px;
+ border: 1px solid var(--mint);
+ background: transparent;
+ border-radius: 6px;
+ color: var(--mint);
+}
+
+:where(.pixie-companion) .error {
+ color: var(--text);
+ padding: 12px;
+ border-left: 3px solid var(--line);
+}
+
+:where(.pixie-companion) footer strong {
+ color: var(--text);
+}
+
+:where(.pixie-companion) summary {
+ cursor: pointer;
+ min-height: 44px;
+ padding-top: 8px;
+}
+@media(max-width:900px){
+
+:where(.pixie-companion) .shell {
+ padding: 0 24px;
+}
+
+:where(.pixie-companion) .promise {
+ display: none;
+}
+
+:where(.pixie-companion) .workspace {
+ grid-template-columns: 220px 1fr;
+}
+
+:where(.pixie-companion) .work {
+ padding: 20px;
+}
+
+:where(.pixie-companion) .modes {
+ grid-template-columns: 1fr;
+}
+
+:where(.pixie-companion) .modes button span {
+ display: inline;
+ margin-right: 12px;
+}
+
+:where(.pixie-companion) .modes button {
+ min-height: 48px;
+}
+
+:where(.pixie-companion) .project-head {
+ display: block;
+}}
+@media(max-width:650px){
+
+:where(.pixie-companion) .shell {
+ padding: 0 16px;
+}
+
+:where(.pixie-companion) .private {
+ display: none;
+}
+
+:where(.pixie-companion) .intro {
+ padding: 38px 0 25px;
+}
+
+:where(.pixie-companion) .workspace {
+ display: block;
+}
+
+:where(.pixie-companion) .projects nav {
+ grid-template-columns: 1fr 1fr;
+}
+
+:where(.pixie-companion) .projects {
+ padding: 20px;
+}
+
+:where(.pixie-companion) .projects button {
+ padding: 9px;
+ font-size: 18px;
+}
+
+:where(.pixie-companion) .work {
+ border-left: 0;
+ border-top: 1px solid var(--line);
+ padding: 18px;
+}
+
+:where(.pixie-companion) .form-grid {
+ grid-template-columns: 1fr;
+}
+
+:where(.pixie-companion) .action-panel,
+:where(.pixie-companion) .result {
+ padding: 18px;
+}
+
+:where(.pixie-companion) .brand-sub {
+ font-size: 18px;
+}}
+@media(prefers-reduced-motion:reduce){}
+
+html:has(.pixie-companion) {
+ scroll-padding-bottom: 110px;
+}
+
+:where(.pixie-companion) .helper-setting {
+ display: flex;
+ gap: 12px;
+ align-items: center;
+ flex-wrap: wrap;
+ margin-top: 20px;
+}
+
+:where(.pixie-companion) .helper-setting button {
+ background: transparent;
+ color: var(--mint);
+ border: 1px solid var(--line);
+ border-radius: 6px;
+ padding: 10px 14px;
+ min-height: 44px;
+}
+
+:where(.pixie-companion) .pixie-dock {
+ position: fixed;
+ right: max(20px,env(safe-area-inset-right));
+ bottom: max(16px,env(safe-area-inset-bottom));
+ z-index: 50;
+}
+
+:where(.pixie-companion) .pixie-launcher {
+ display: flex;
+ align-items: center;
+ gap: 12px;
+ text-align: left;
+ font-weight: 700;
+ background:var(--md-sys-color-surface-container-high);
+ color:var(--text);
+ border:1px solid var(--line);
+ padding:8px 20px 8px 8px;
+ box-shadow:0 6px 24px #0004;
+ letter-spacing:0;
+ min-height:64px;
+ border-radius:24px;
+}
+
+:where(.pixie-companion) .pixie-spark {
+ place-items: center;
+ width: 42px;
+ height: 42px;
+ background: var(--panel);
+ border-radius: 50%;
+ color: var(--text);
+ font-size: 30px;
+ display:none;
+}
+
+:where(.pixie-companion) .bubble-head {
+ display: flex;
+ gap: 10px;
+ justify-content: space-between;
+ align-items: flex-start;
+}
+
+:where(.pixie-companion) .bubble-head h2 {
+ font: 24px Georgia,serif;
+ margin: 0 0 14px;
+}
+
+:where(.pixie-companion) .close-helper {
+ background: transparent;
+ border: 1px solid var(--line);
+ border-radius: 50%;
+ color: var(--text);
+ width: 44px;
+ height: 44px;
+ font-size: 26px;
+ flex-shrink: 0;
+}
+
+:where(.pixie-companion) .context-label {
+ color: var(--gold);
+ font-size: 18px;
+ border-bottom: 1px solid var(--line);
+ padding-bottom: 12px;
+}
+
+:where(.pixie-companion) .helper-choices {
+ display: grid;
+ gap: 8px;
+ margin: 16px 0;
+}
+
+:where(.pixie-companion) .helper-choices button,
+:where(.pixie-companion) .quiet-helper {
+ min-height: 44px;
+ text-align: left;
+ background: transparent;
+ border: 1px solid var(--line);
+ border-radius: 6px;
+ padding: 8px 12px;
+ color: var(--mint);
+}
+
+:where(.pixie-companion) .quiet-helper {
+ width: 100%;
+}
+
+:where(.pixie-companion) .pixie-doors {
+ list-style: none;
+ padding: 0;
+}
+
+:where(.pixie-companion) .pixie-doors li {
+ padding: 10px 0;
+ border-bottom: 1px solid var(--line);
+}
+
+:where(.pixie-companion) .pixie-doors small {
+ display: block;
+ color: var(--muted);
+ font-size: 18px;
+}
+
+:where(.pixie-companion) #pixie-task {
+ scroll-margin-bottom: 120px;
+}
+@media(max-width:650px){
+
+:where(.pixie-companion) .pixie-dock {
+ right: max(16px,env(safe-area-inset-right));
+}
+
+:where(.pixie-companion) .pixie-bubble {
+ padding: 18px;
+}}
+
+:where(.pixie-companion) .onboarding {
+ margin: 0 0 28px;
+ background:var(--md-sys-color-surface-container-low);
+ border:0;
+ border-radius:24px;
+ padding:24px;
+}
+
+:where(.pixie-companion) .onboarding h2 {
+ font-size: 26px;
+}
+
+:where(.pixie-companion) .onboarding li {
+ padding: 7px 0;
+}
+
+:where(.pixie-companion) .onboarding p,
+:where(.pixie-companion) .onboarding li {
+ max-width: 80ch;
+}
+
+:where(.pixie-companion) .onboarding summary {
+ cursor: pointer;
+ padding: 12px 0;
+}
+
+:where(.pixie-companion) #principles dl>div {
+ margin: 18px 0;
+}
+
+:where(.pixie-companion) #principles dd {
+ margin: 6px 0 0;
+ max-width: 80ch;
+ line-height: 1.6;
+}
+
+:where(.pixie-companion) .modes {
+ display: grid;
+ grid-template-columns: repeat(auto-fit,minmax(150px,1fr));
+ gap: 8px;
+ margin: 23px 0;
+}
+
+:where(.pixie-companion) .creative-help .help-results {
+ display: grid;
+ grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr));
+ gap: 18px;
+ margin: 22px 0;
+}
+
+:where(.pixie-companion) .help-card {
+ border: 1px solid var(--line);
+ border-radius: 12px;
+ padding: 20px;
+ min-width: 0;
+}
+
+:where(.pixie-companion) .help-card .primary {
+ display: block;
+ width: 100%;
+ white-space: normal;
+}
+
+:where(.pixie-companion) .help-detail {
+ border-top: 1px solid var(--line);
+ padding-top: 24px;
+ margin-top: 24px;
+}
+
+:where(.pixie-companion) .help-recovery {
+ margin-top: 24px;
+ border-top: 1px solid var(--line);
+ padding-top: 18px;
+}
+
+:where(.pixie-companion) .creative-help textarea {
+ min-height: 80px;
+}
+
+:where(.pixie-companion) .creative-help textarea.report {
+ min-height: 330px;
+}
+
+:where(.pixie-companion) .review-choice {
+ display: flex;
+ align-items: flex-start;
+ gap: 12px;
+ margin: 20px 0;
+}
+
+:where(.pixie-companion) .review-choice input {
+ width: 22px;
+ height: 22px;
+ flex-shrink: 0;
+ margin: 0;
+}
+
+:where(.pixie-companion) .creative-help a,
+:where(.pixie-companion) .help-card {
+ overflow-wrap: anywhere;
+}
+
+:where(.pixie-companion) #find-help {
+ scroll-margin-top: 20px;
+}
+
+:where(.pixie-companion) .help-detail h3:focus {
+ outline: 2px solid var(--mint);
+ outline-offset: 5px;
+}
+
+:where(.pixie-companion) .shell {
+ margin: auto;
+ padding: 0;
+ margin-inline: auto;
+ max-width:1600px;
+}
+
+:where(.pixie-companion) header {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin: 0;
+ padding:16px clamp(20px,4vw,48px);
+ min-height:88px;
+ background:var(--md-sys-color-surface-container-low);
+ border-bottom:1px solid var(--line);
+ gap:16px 32px;
+ flex-wrap:wrap;
+}
+
+:where(.pixie-companion) .workspace-nav button {
+ border-bottom: 3px solid transparent;
+ padding:10px 16px;
+ border:0;
+ border-radius:999px;
+ font-size:1em;
+ color:var(--muted);
+ min-height:48px;
+ background:transparent;
+}
+
+:where(.pixie-companion) .workspace-nav button[aria-pressed=true] {
+ background:var(--md-sys-color-primary-container);
+ color:var(--md-sys-color-on-primary-container);
+ border-color:transparent;
+}
+
+:where(.pixie-companion) .workbench-name {
+ font: 24px/1.2 Georgia,serif;
+ padding-right: var(--space-4);
+ border-right: 1px solid var(--line);
+ display:none;
+}
+
+:where(.pixie-companion) .creative-help.onboarding {
+ display: grid;
+ padding: 0;
+ margin: 0;
+ border: 0;
+ border-radius: 0;
+ overflow: visible;
+ background:var(--bg);
+ color:var(--text);
+ grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);
+}
+
+:where(.pixie-companion) .help-main {
+ padding: 72px var(--space-6);
+ min-width: 0;
+}
+
+:where(.pixie-companion) .creative-help .eyebrow {
+ color: var(--ink);
+ font-size: 18px;
+ letter-spacing: 2px;
+ margin: 0 0 24px;
+}
+
+:where(.pixie-companion) .creative-help h1 {
+ font-size: clamp(38px,4.5vw,64px);
+ line-height: 1.12;
+ margin: 0 0 24px;
+ font:400 clamp(2rem,3.6vw,2.75rem)/1.2 var(--sans);
+ letter-spacing:-.035em;
+ color:var(--text);
+}
+
+:where(.pixie-companion) .coral-stop {
+ color: var(--text);
+}
+
+:where(.pixie-companion) .help-lede {
+ font-size: 20px;
+ line-height: 1.5;
+ max-width: 65ch;
+ margin: 0 0 56px;
+}
+
+:where(.pixie-companion) .help-stages {
+ display: flex;
+ justify-content: space-between;
+ gap: 8px;
+ list-style: none;
+ padding: 0;
+ margin: 0 0 56px;
+ border-bottom: 1px solid var(--line);
+}
+
+:where(.pixie-companion) .help-stages li {
+ font-size: 18px;
+ color: var(--text);
+ padding: 12px 0;
+ border-bottom: 3px solid transparent;
+}
+
+:where(.pixie-companion) .help-stages li[aria-current=step] {
+ border-color: var(--teal);
+ color: var(--ink);
+ font-weight: 650;
+}
+
+:where(.pixie-companion) .creative-help .form-grid {
+ gap: 24px 32px;
+ margin: 0 0 32px;
+}
+
+:where(.pixie-companion) .creative-help label {
+ font-size: 18px;
+ color: var(--ink);
+}
+
+:where(.pixie-companion) .creative-help input,
+:where(.pixie-companion) .creative-help select,
+:where(.pixie-companion) .creative-help textarea {
+ border: 1px solid var(--line);
+ min-height: 56px;
+ font-size: 18px;
+ line-height: 1.5;
+ padding: 12px 16px;
+ margin: 8px 0 0;
+ max-width: none;
+ background:var(--md-sys-color-surface-container-high);
+ color:var(--text);
+ border-radius:12px;
+ border-color:var(--md-sys-color-outline);
+}
+
+:where(.pixie-companion) .creative-help input::placeholder,
+:where(.pixie-companion) .creative-help textarea::placeholder {
+ color: var(--text);
+ opacity: 1;
+}
+
+:where(.pixie-companion) .creative-help input[type=checkbox] {
+ min-height: 24px;
+}
+
+:where(.pixie-companion) .creative-help input:focus-visible,
+:where(.pixie-companion) .creative-help textarea:focus-visible,
+:where(.pixie-companion) .creative-help select:focus-visible,
+:where(.pixie-companion) .creative-help a:focus-visible,
+:where(.pixie-companion) .creative-help button:focus-visible,
+:where(.pixie-companion) .creative-help summary:focus-visible {
+ outline: 3px solid var(--teal);
+ outline-offset: 4px;
+}
+
+:where(.pixie-companion) .creative-help .primary {
+ border: 1px solid var(--teal);
+ font-size: 18px;
+ white-space: normal;
+ border-radius:999px;
+ padding:12px 24px;
+ min-height:48px;
+ background:var(--action);
+ color:var(--action-text);
+ border-color:transparent;
+}
+
+:where(.pixie-companion) .creative-help .find-resources {
+ margin: 8px 0 0;
+ width:auto;
+ min-width:200px;
+}
+
+:where(.pixie-companion) .creative-help a {
+ color: var(--teal);
+}
+
+:where(.pixie-companion) .resume-shortcut {
+ display: inline-block;
+ margin-top: 32px;
+ padding-block: 8px;
+ min-height: 48px;
+}
+
+:where(.pixie-companion) .creative-help .note {
+ line-height: 1.6;
+ max-width: 65ch;
+ margin: 24px 0;
+ color: var(--muted);
+ font-size: 1em;
+}
+
+:where(.pixie-companion) .help-guidance {
+ min-width: 0;
+ background:var(--md-sys-color-surface-container-low);
+ color:var(--muted);
+ border-left:1px solid var(--line);
+ padding:64px 32px;
+}
+
+:where(.pixie-companion) .help-guidance h2 {
+ margin: 16px 0 32px;
+ font:400 1.6em/1.25 var(--sans);
+ color:var(--text);
+}
+
+:where(.pixie-companion) .help-guidance p {
+ font-size: 20px;
+ line-height: 1.65;
+ margin: 0 0 24px;
+}
+
+:where(.pixie-companion) .help-guidance>div,
+:where(.pixie-companion) .help-guidance .guidance-bottom {
+ border-top: 1px solid var(--line);
+ margin-top: 40px;
+ padding-top: 32px;
+}
+
+:where(.pixie-companion) .help-guidance .guidance-note,
+:where(.pixie-companion) .help-guidance details p {
+ font-size: 18px;
+ color: var(--text);
+}
+
+:where(.pixie-companion) .help-guidance a {
+ color: var(--mint);
+}
+
+:where(.pixie-companion) .help-guidance a:focus-visible,
+:where(.pixie-companion) .help-guidance summary:focus-visible {
+ outline-color: var(--mint);
+}
+
+:where(.pixie-companion) .help-guidance details {
+ margin-top: 32px;
+}
+
+:where(.pixie-companion) .help-guidance summary {
+ font-size: 18px;
+ min-height: 48px;
+}
+
+:where(.pixie-companion) .creative-help .help-card {
+ border-color: var(--line);
+ background: transparent;
+ padding: 24px;
+ min-width: 0;
+}
+
+:where(.pixie-companion) .creative-help .help-card h3 {
+ margin: 0 0 16px;
+}
+
+:where(.pixie-companion) .creative-help .help-card .primary {
+ margin-top: 24px;
+}
+
+:where(.pixie-companion) .creative-help .help-detail,
+:where(.pixie-companion) .creative-help .help-recovery {
+ border-color: var(--line);
+ margin-top: 32px;
+ padding-top: 32px;
+}
+
+:where(.pixie-companion) .creative-help .help-detail h3 {
+ font-size: 26px;
+ line-height: 1.3;
+}
+
+:where(.pixie-companion) .creative-help .report-actions {
+ flex-wrap: wrap;
+ gap: 16px;
+ margin-top: 24px;
+}
+
+:where(.pixie-companion) .creative-help .report-actions button,
+:where(.pixie-companion) .creative-help .help-recovery button {
+ background: transparent;
+ color: var(--teal);
+ border: 1px solid var(--teal);
+ border-radius: 7px;
+ min-height: 48px;
+ padding: 12px 18px;
+}
+
+:where(.pixie-companion) .creative-help .help-recovery button {
+ margin-top: 24px;
+}
+
+:where(.pixie-companion) .creative-help .error {
+ background: var(--panel);
+ border-color: var(--line);
+ color: var(--text);
+}
+
+:where(.pixie-companion) .creative-help input[type=file] {
+ padding: 12px;
+ max-width: 100%;
+}
+
+:where(.pixie-companion) .creative-help button:disabled {
+ opacity: .6;
+ cursor: not-allowed;
+}
+
+:where(.pixie-companion) .project-surface .intro {
+ padding: 48px 0;
+}
+
+:where(.pixie-companion) .project-surface .onboarding {
+ margin-block: 24px;
+}
+
+:where(.pixie-companion) .project-surface label,
+:where(.pixie-companion) .project-surface input,
+:where(.pixie-companion) .project-surface select,
+:where(.pixie-companion) .project-surface textarea,
+:where(.pixie-companion) .project-surface button {
+ font-size: 18px;
+}
+
+:where(.pixie-companion) .project-surface .modes {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 8px;
+}
+
+:where(.pixie-companion) .project-surface .modes button {
+ flex: 1 1 140px;
+ min-height: 56px;
+}
+
+:where(.pixie-companion) .project-surface .projects button small {
+ font-size: 18px;
+}
+
+:where(.pixie-companion) footer {
+ padding: 32px 48px;
+ color: var(--muted);
+ font-size: 18px;
+ padding-bottom: 125px;
+}
+
+:where(.pixie-companion) footer p {
+ margin-top: 6px;
+ max-width: 70ch;
+}
+
+:where(.pixie-companion) .help-main>details {
+ margin-top: 32px;
+}
+
+:where(.pixie-companion) .creative-help [role=status]:empty {
+ display: none;
+}
+
+:where(.pixie-companion) #followup-import {
+ scroll-margin-top: 24px;
+}
+
+:where(.pixie-companion) .creative-help h3,
+:where(.pixie-companion) .creative-help p,
+:where(.pixie-companion) .help-guidance p {
+ overflow-wrap: anywhere;
+}
+@media(max-width:1100px){
+
+:where(.pixie-companion) .help-main {
+ padding: 48px 32px;
+}
+
+:where(.pixie-companion) .help-guidance {
+ padding: 64px 32px;
+}
+
+:where(.pixie-companion) .workbench-name {
+ display: none;
+}
+
+:where(.pixie-companion) .creative-help.onboarding {
+ grid-template-columns: minmax(0,1.8fr) minmax(260px,1fr);
+}}
+@media(max-width:800px){
+
+:where(.pixie-companion) header {
+ padding: 16px 24px;
+ flex-wrap: wrap;
+}
+
+:where(.pixie-companion) .workspace-nav {
+ gap: 24px;
+}
+
+:where(.pixie-companion) .creative-help.onboarding {
+ grid-template-columns: 1fr;
+}
+
+:where(.pixie-companion) .help-main {
+ padding: 40px 24px;
+}
+
+:where(.pixie-companion) .help-guidance {
+ padding: 32px 24px;
+}
+
+:where(.pixie-companion) .help-guidance h2 {
+ margin-top: 0;
+}
+
+:where(.pixie-companion) .help-guidance>div,
+:where(.pixie-companion) .help-guidance .guidance-bottom {
+ margin-top: 24px;
+ padding-top: 24px;
+}
+
+:where(.pixie-companion) .help-lede,
+:where(.pixie-companion) .help-stages {
+ margin-bottom: 32px;
+}
+
+:where(.pixie-companion) .project-surface {
+ padding: 0 24px 32px;
+}
+
+:where(.pixie-companion) footer {
+ padding: 32px 24px;
+}}
+@media(max-width:600px){
+
+:where(.pixie-companion) .creative-help .form-grid {
+ grid-template-columns: 1fr;
+ gap: 24px;
+}
+
+:where(.pixie-companion) .brand-sub {
+ display: none;
+}
+
+:where(.pixie-companion) .workspace-nav {
+ gap: 20px;
+}
+
+:where(.pixie-companion) .help-stages li {
+ font-size: 18px;
+}
+
+:where(.pixie-companion) .help-stages {
+ gap: 4px;
+}
+
+:where(.pixie-companion) .help-main {
+ padding: 32px 20px;
+}
+
+:where(.pixie-companion) .help-lede {
+ font-size: 18px;
+}
+
+:where(.pixie-companion) .creative-help .help-results {
+ grid-template-columns: 1fr;
+}
+
+:where(.pixie-companion) .creative-help .report-actions {
+ align-items: stretch;
+ flex-direction: column;
+}
+
+:where(.pixie-companion) .creative-help .review-choice {
+ align-items: flex-start;
+}
+
+:where(.pixie-companion) .creative-help input[type=file] {
+ font-size: 18px;
+}
+
+:where(.pixie-companion) .project-surface {
+ padding-inline: 20px;
+}
+
+:where(.pixie-companion) .project-surface .projects nav {
+ grid-template-columns: 1fr;
+}
+
+:where(.pixie-companion) .help-guidance p {
+ font-size: 18px;
+}
+
+:where(.pixie-companion) .workspace-nav button {
+ font-size: 18px;
+}}
+
+:where(.pixie-companion) .account-field {
+ min-width: 0;
+}
+
+:where(.pixie-companion) .account-picker {
+ position: relative;
+ min-width: 0;
+ max-width: 100%;
+ margin-block: 8px 16px;
+}
+
+:where(.pixie-companion) .account-picker input {
+ width: 100%;
+ min-width: 0;
+ max-width: 100%;
+ font: inherit;
+ font-size: 1em;
+ min-height: 48px;
+}
+
+:where(.pixie-companion) .account-options {
+ list-style: none;
+ padding: 0;
+ margin: 8px 0;
+ border: 1px solid currentColor;
+ border-radius: 8px;
+ max-height: 19rem;
+ overflow: auto;
+ background: var(--account-panel,var(--panel,var(--panel)));
+ color: var(--account-text,var(--text,var(--text)));
+}
+
+:where(.pixie-companion) .account-options[hidden] {
+ display: none;
+}
+
+:where(.pixie-companion) .account-options [role=option] {
+ display: block;
+ cursor: pointer;
+ padding: 12px 16px;
+ min-height: 56px;
+ border-bottom: 1px solid currentColor;
+ overflow-wrap: anywhere;
+ font-size: 1em;
+ line-height: 1.5;
+}
+
+:where(.pixie-companion) .account-options [role=option]:last-child {
+ border-bottom: 0;
+}
+
+:where(.pixie-companion) .account-options [role=option] strong,
+:where(.pixie-companion) .account-options [role=option] span {
+ display: block;
+ font-size: inherit;
+ color: inherit;
+}
+
+:where(.pixie-companion) .account-options [role=option][aria-selected=true],
+:where(.pixie-companion) .account-options [role=option]:hover {
+ background: var(--account-selected,var(--panel));
+ color: var(--account-selected-text,var(--text));
+}
+
+:where(.pixie-companion) .account-hint {
+ font: inherit;
+ font-size: 1em;
+ line-height: 1.55;
+ color: inherit;
+ opacity: 1;
+ margin: 8px 0 12px;
+ max-width: 75ch;
+ overflow-wrap: anywhere;
+}
+
+:where(.pixie-companion) .account-hint:empty {
+ display: none;
+}
+
+:where(.pixie-companion) .account-panel {
+ padding: 24px;
+ margin-block: 24px;
+ border: 1px solid currentColor;
+ border-radius: 12px;
+ min-width: 0;
+}
+
+:where(.pixie-companion) .account-panel summary {
+ cursor: pointer;
+ min-height: 48px;
+ font-size: 1.1rem;
+ font-weight: 650;
+}
+
+:where(.pixie-companion) .account-panel p {
+ max-width: 75ch;
+ overflow-wrap: anywhere;
+}
+
+:where(.pixie-companion) .account-panel label {
+ display: block;
+ margin-block: 16px 8px;
+ font-size: 1em;
+}
+
+:where(.pixie-companion) .account-panel button,
+:where(.pixie-companion) .account-panel .button {
+ font: inherit;
+ font-size: 1em;
+ min-height: 48px;
+ padding: 12px 20px;
+ white-space: normal;
+}
+
+:where(.pixie-companion) .account-panel :focus-visible,
+:where(.pixie-companion) .account-picker :focus-visible {
+ outline: 3px solid currentColor;
+ outline-offset: 4px;
+}
+
+:where(.pixie-companion) .account-panel [hidden] {
+ display: none;
+}
+@media(forced-colors:active){
+
+:where(.pixie-companion) .account-options [aria-selected=true] {
+ outline: 3px solid Highlight;
+ outline-offset: -3px;
+}}
+
+:where(.pixie-companion) .workspace-nav {
+ display: flex;
+ align-items: center;
+ min-width: 0;
+ gap:8px;
+ flex-wrap:wrap;
+ margin-left:auto;
+}
+
+:where(.pixie-companion) .account-menu {
+ position: relative;
+ margin-left: auto;
+ flex: 0 0 auto;
+}
+
+:where(.pixie-companion) .account-menu>summary {
+ cursor: pointer;
+ min-height: 48px;
+ padding: 10px 16px;
+ border: 1px solid var(--mint);
+ border-radius: 7px;
+ color: var(--mint);
+ font-family: inherit;
+ font-size: 18px;
+ font-weight: 600;
+ line-height: 1.5;
+ white-space: nowrap;
+}
+
+:where(.pixie-companion) .account-menu .account-panel {
+ position: absolute;
+ z-index: 75;
+ right: 0;
+ top: calc(100% + 12px);
+ width: min(30rem,calc(100vw - 40px));
+ max-height: calc(100dvh - 120px);
+ overflow: auto;
+ overscroll-behavior: contain;
+ margin: 0;
+ padding: 24px;
+ background: var(--bg);
+ color: var(--text);
+ border-color: var(--mint);
+ box-shadow: 0 12px 36px var(--line);
+}
+
+:where(.pixie-companion) .account-menu h2 {
+ font-size: 24px;
+ line-height: 1.3;
+ margin: 0 0 16px;
+}
+
+:where(.pixie-companion) .account-menu .account-panel button {
+ border: 1px solid var(--mint);
+ border-radius: 7px;
+ padding: 12px 20px;
+ font-size: 18px;
+ min-height: 48px;
+ background: var(--action);
+ color: var(--action-text);
+}
+
+:where(.pixie-companion) .account-menu .account-panel input {
+ font-size: 18px;
+}
+
+:where(.pixie-companion) .account-menu summary:focus-visible {
+ outline: 3px solid var(--mint);
+ outline-offset: 4px;
+}
+@media(max-width:800px){
+
+:where(.pixie-companion) .workspace-nav {
+ width: 100%;
+ gap: 16px;
+}
+
+:where(.pixie-companion) .account-menu {
+ margin-left: auto;
+}}
+@media(max-width:400px){
+
+:where(.pixie-companion) .workspace-nav {
+ gap: 10px;
+}
+
+:where(.pixie-companion) .workspace-nav button,
+:where(.pixie-companion) .account-menu>summary {
+ font-size: 18px;
+}
+
+:where(.pixie-companion) .account-menu>summary {
+ padding-inline: 10px;
+}}
+
+:where(.pixie-companion) .project-handoff {
+ overflow-wrap: anywhere;
+ min-width: 0;
+}
+
+:where(.pixie-companion) .project-handoff summary {
+ cursor: pointer;
+ min-height: 48px;
+}
+
+:where(.pixie-companion) .project-handoff button {
+ font: inherit;
+ min-height: 48px;
+ padding: 12px 20px;
+ white-space: normal;
+}
+
+:where(.pixie-companion) .project-handoff dt {
+ font-weight: 650;
+}
+
+:where(.pixie-companion) .project-handoff dd {
+ margin: 0 0 16px;
+}
+
+:where(.pixie-companion) .project-handoff code {
+ font-size: 1em;
+ white-space: normal;
+ overflow-wrap: anywhere;
+}
+
+:where(.pixie-companion) .project-handoff p,
+:where(.pixie-companion) .project-handoff dl {
+ max-width: 75ch;
+}
+
+:where(.pixie-companion) .project-surface {
+ padding: 0 48px 48px;
+ font-size: 18px;
+}
+
+:where(.pixie-companion) .project-surface :is(.muted,.outside,.project-head>a,.project-head p:not(.eyebrow),.action-panel>p,.result p,.result li) {
+ font-size: 18px;
+}
+
+:where(.pixie-companion) .project-surface .note {
+ font-size: 18px;
+}
+
+:where(.pixie-companion) .project-surface :is(.eyebrow,.modes button span,.projects button small) {
+ font-size: 18px;
+}
@media(max-width:1100px){
- .project-surface{padding-inline:24px}
- .project-surface .workspace{grid-template-columns:minmax(0,1fr)}
- .project-surface .projects nav{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
- .project-surface .work{min-width:0;border-left:0;border-top:1px solid var(--line)}
- .project-surface .form-grid{grid-template-columns:minmax(0,1fr)}
-}
-
-/* Optional device hints remain readable and user-correctable on touch screens. */
-.device-context{margin:24px clamp(20px,4vw,48px);padding:20px;font-size:18px;min-width:0;overflow-wrap:anywhere}
-.device-context summary{min-height:48px;font-weight:600}
-.device-context label,.device-context select{font-size:18px}
-.device-context select{max-width:100%;width:auto;min-height:48px}
-.device-context .note{font-size:18px!important}
-
-/* Task stewardship uses the existing palette, typography and form controls. */
-.task-steward{min-width:0;overflow-wrap:anywhere}.task-steward fieldset{border:1px solid var(--line);margin:1rem 0;padding:1rem}.task-steward label{font:inherit}.task-steward .task-choice{display:flex;align-items:flex-start;gap:.75rem;min-height:44px;margin-block:1rem}.task-steward .task-choice input{flex:none;width:1.25rem;height:1.25rem;margin:.25rem 0}.task-steward button{font:inherit;min-height:44px;padding:.65rem 1rem;margin:.5rem .5rem .5rem 0}.task-steward select{max-width:100%;width:100%}.task-steward h3:focus{outline:3px solid var(--gold);outline-offset:4px}
-/* Creator workspace: one central theme, readable type, full-width work. */
-:root{--creator-panel:#172326;--creator-input:#0f1b1e;--creator-action:#b9dfc4;--creator-action-text:#10251f;--creator-border:#738b84}
-:root[data-pixie-theme=light]{color-scheme:light;--bg:#f6f4ec;--panel:#fffef8;--text:#18342e;--muted:#40574e;--mint:#155b48;--gold:#785100;--line:#7b9185;--creator-panel:#fffef8;--creator-input:#ffffff;--creator-action:#155b48;--creator-action-text:#ffffff;--creator-border:#627b6f}
-body{font-size:var(--pixie-font-size,18px)}
-.creator-workspace{padding:32px clamp(16px,4vw,48px);font-size:var(--pixie-font-size,18px);color:var(--text);overflow-wrap:anywhere;min-width:0}
-.creator-workspace h1{font-size:clamp(2rem,4vw,3.6rem);max-width:28ch;margin-bottom:24px}
-.creator-workspace h2{font-size:1.5em;line-height:1.3;margin:0 0 20px}.creator-workspace h3{font-size:1.15em;margin:0 0 16px}
-.creator-heading{display:flex;flex-wrap:wrap;align-items:start;justify-content:space-between;gap:24px}.workspace-preferences{display:flex;flex-wrap:wrap;gap:20px;border:1px solid var(--creator-border);padding:16px;border-radius:8px;min-width:0}.workspace-preferences legend{font-size:1em}
-.creator-workspace :is(p,label,input,select,textarea,button,summary,li,a,footer,blockquote){font:inherit;line-height:1.6;font-size:1em}
-.creator-workspace label{color:var(--text);margin:16px 0 8px}.creator-workspace :is(input,select,textarea){width:100%;max-width:100%;min-height:48px;background:var(--creator-input);color:var(--text);border:1px solid var(--creator-border);padding:12px;border-radius:6px}.creator-workspace textarea{min-height:100px;resize:vertical}
-.creator-card{padding:clamp(18px,3vw,32px);border:1px solid var(--creator-border);border-radius:12px;background:var(--creator-panel);margin:24px 0;min-width:0}.creator-card summary{font-weight:650;cursor:pointer;min-height:48px}.creator-resume{border-left:5px solid var(--mint)}
-.creator-workspace button{min-height:48px;padding:12px 20px;margin:8px 12px 8px 0;border-radius:7px;border:1px solid var(--mint);color:var(--mint);background:transparent;white-space:normal}.creator-workspace button.primary{background:var(--creator-action);color:var(--creator-action-text);border-color:var(--creator-action)}.creator-workspace button:disabled{opacity:.6;cursor:not-allowed}.creator-workspace button.danger{border-color:var(--text);color:var(--text)}
-.creator-workspace :focus-visible{outline:3px solid var(--gold);outline-offset:4px}.creator-workspace .creator-checkbox{display:flex;align-items:flex-start;gap:16px}.creator-checkbox input{width:24px!important;min-height:24px;flex:0 0 24px;margin-top:4px}.creator-item{border-top:1px solid var(--creator-border);padding-top:24px;margin-top:24px}.creator-workspace pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;max-height:30rem;overflow:auto}.creator-workspace .creator-handoff{min-height:400px}.creator-workspace blockquote{margin:20px 0;padding:16px;border-left:3px solid var(--mint)}.creator-workspace blockquote footer{padding:0;margin:0;color:var(--muted)}.creator-conversation{padding-left:24px}.creator-conversation p{white-space:pre-wrap}.creator-workspace .workspace-storage{border-left:3px solid var(--mint);padding:12px 20px}.creator-workspace .error{color:var(--text);border-color:var(--text);background:var(--creator-panel)}.creator-workspace .project-switch{max-width:100%}
-@media(max-width:900px){.creator-heading{display:block}.workspace-preferences{margin-top:24px}.creator-workspace{padding-inline:20px}.creator-workspace .creator-card{padding:20px}.workspace-nav{flex-wrap:wrap}}
-
-/* One existing helper, canonical Railway cutover. Reserve space for its collapsed control. */
-.shell>main{padding-bottom:calc(120px + env(safe-area-inset-bottom))}
-.helper-setting.pixie-dock{margin:0;max-width:calc(100vw - 40px)}
-.helper-setting.pixie-dock button{font-size:18px;min-height:48px;background:var(--bg)}
-.pixie-launcher small{font-size:16px;line-height:1.5;letter-spacing:normal}
-.pixie-bubble{font-size:18px;line-height:1.6;width:min(440px,calc(100vw - max(20px,env(safe-area-inset-left)) - max(20px,env(safe-area-inset-right))));max-height:calc(100dvh - 120px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-wrap:anywhere}
-.pixie-bubble .note,.pixie-bubble .context-label,.pixie-doors small{font-size:1em;line-height:1.6}
-.pixie-bubble button,.pixie-bubble summary,.pixie-bubble a{min-height:48px}
-.pixie-bubble summary{cursor:pointer;align-content:center}
-.pixie-doors a{display:inline-block;align-content:center}
-
-/* Override the legacy global 12px !important note rule only inside this menu. */
-.pixie-bubble .note{font-size:1em!important}
+
+:where(.pixie-companion) .project-surface {
+ padding-inline: 24px;
+}
+
+:where(.pixie-companion) .project-surface .workspace {
+ grid-template-columns: minmax(0,1fr);
+}
+
+:where(.pixie-companion) .project-surface .projects nav {
+ grid-template-columns: repeat(auto-fit,minmax(min(100%,200px),1fr));
+}
+
+:where(.pixie-companion) .project-surface .work {
+ min-width: 0;
+ border-left: 0;
+ border-top: 1px solid var(--line);
+}
+
+:where(.pixie-companion) .project-surface .form-grid {
+ grid-template-columns: minmax(0,1fr);
+}
+}
+
+:where(.pixie-companion) .device-context {
+ margin: 24px clamp(20px,4vw,48px);
+ padding: 20px;
+ font-size: 18px;
+ min-width: 0;
+ overflow-wrap: anywhere;
+}
+
+:where(.pixie-companion) .device-context summary {
+ min-height: 48px;
+ font-weight: 600;
+}
+
+:where(.pixie-companion) .device-context label,
+:where(.pixie-companion) .device-context select {
+ font-size: 18px;
+}
+
+:where(.pixie-companion) .device-context select {
+ max-width: 100%;
+ width: auto;
+ min-height: 48px;
+}
+
+:where(.pixie-companion) .device-context .note {
+ font-size: 18px;
+}
+
+:where(.pixie-companion) .task-steward {
+ min-width: 0;
+ overflow-wrap: anywhere;
+}
+
+:where(.pixie-companion) .task-steward fieldset {
+ border: 1px solid var(--line);
+ margin: 1rem 0;
+ padding: 1rem;
+}
+
+:where(.pixie-companion) .task-steward label {
+ font: inherit;
+}
+
+:where(.pixie-companion) .task-steward .task-choice {
+ display: flex;
+ align-items: flex-start;
+ gap: .75rem;
+ min-height: 44px;
+ margin-block: 1rem;
+}
+
+:where(.pixie-companion) .task-steward .task-choice input {
+ flex: none;
+ width: 1.25rem;
+ height: 1.25rem;
+ margin: .25rem 0;
+}
+
+:where(.pixie-companion) .task-steward button {
+ font: inherit;
+ min-height: 44px;
+ padding: .65rem 1rem;
+ margin: .5rem .5rem .5rem 0;
+}
+
+:where(.pixie-companion) .task-steward select {
+ max-width: 100%;
+ width: 100%;
+}
+
+:where(.pixie-companion) .task-steward h3:focus {
+ outline: 3px solid var(--gold);
+ outline-offset: 4px;
+}
+
+:where(.pixie-companion) {
+ margin: 0;
+ color: var(--text);
+ font: 18px/1.6 system-ui,sans-serif;
+ line-height: 1.6;
+ font-size: var(--pixie-font-size,18px);
+ background: var(--bg);
+}
+
+:where(.pixie-companion) .creator-workspace {
+ color: var(--text);
+ overflow-wrap: anywhere;
+ min-width: 0;
+ max-width:1200px;
+ margin:0 auto;
+ padding:48px clamp(20px,4vw,48px) 32px;
+ font-size:var(--pixie-font-size,18px);
+}
+
+:where(.pixie-companion) .creator-workspace h1 {
+ font-size: clamp(2rem,4vw,3.6rem);
+ font:400 clamp(2rem,3.6vw,2.75rem)/1.2 var(--sans);
+ letter-spacing:-.035em;
+ max-width:28ch;
+ margin-bottom:16px;
+}
+
+:where(.pixie-companion) .creator-workspace h2 {
+ font-size: 1.5em;
+ line-height: 1.3;
+ margin: 0 0 20px;
+ font:500 1.35em/1.3 var(--sans);
+ letter-spacing:-.02em;
+ margin-bottom:16px;
+}
+
+:where(.pixie-companion) .creator-workspace h3 {
+ font-size: 1.15em;
+ margin: 0 0 16px;
+ font:500 1.1em/1.4 var(--sans);
+}
+
+:where(.pixie-companion) .creator-heading {
+ flex-wrap: wrap;
+ align-items: start;
+ justify-content: space-between;
+ gap: 24px;
+ display:block;
+}
+
+:where(.pixie-companion) .workspace-preferences {
+ display:flex;
+ flex-wrap:wrap;
+ align-items:end;
+ gap:8px 24px;
+ padding:12px 0 16px;
+ border:0;
+ border-bottom:1px solid var(--line);
+ border-radius:0;
+ margin:0 0 24px;
+ min-width:0;
+}
+
+:where(.pixie-companion) .workspace-preferences legend {
+ color:var(--muted);
+ font-size:1em;
+ padding:0;
+ margin-bottom:4px;
+}
+
+:where(.pixie-companion) .creator-workspace :is(p,label,input,select,textarea,button,summary,li,a,footer,blockquote) {
+ font: inherit;
+ line-height: 1.6;
+ font-size: 1em;
+}
+
+:where(.pixie-companion) .creator-workspace label {
+ margin:20px 0 8px;
+ color:var(--muted);
+}
+
+:where(.pixie-companion) .creator-workspace :is(input,select,textarea) {
+ width: 100%;
+ max-width: 100%;
+ background:var(--md-sys-color-surface-container-high);
+ color:var(--text);
+ border:1px solid var(--md-sys-color-outline);
+ padding:12px 16px;
+ border-radius:12px;
+ min-height:56px;
+}
+
+:where(.pixie-companion) .creator-workspace textarea {
+ resize: vertical;
+ min-height:112px;
+}
+
+:where(.pixie-companion) .creator-card {
+ padding:clamp(20px,3vw,32px);
+ background:var(--md-sys-color-surface-container-low);
+ border:0;
+ border-radius:24px;
+ margin:24px 0;
+ min-width:0;
+}
+
+:where(.pixie-companion) .creator-card summary {
+ cursor: pointer;
+ font-weight:500;
+ font-size:1.15em;
+ min-height:48px;
+}
+
+:where(.pixie-companion) .creator-resume {
+ border-left: 5px solid var(--mint);
+}
+
+:where(.pixie-companion) .creator-workspace button {
+ white-space: normal;
+ padding:12px 24px;
+ border-radius:999px;
+ min-height:48px;
+ border:1px solid var(--md-sys-color-outline);
+ color:var(--mint);
+ background:transparent;
+ margin:8px 12px 8px 0;
+}
+
+:where(.pixie-companion) .creator-workspace button.primary {
+ border-color: var(--creator-action);
+ background:var(--md-sys-color-primary);
+ color:var(--md-sys-color-on-primary);
+ border:1px solid transparent;
+ font-weight:600;
+ margin-top:24px;
+}
+
+:where(.pixie-companion) .creator-workspace button:disabled {
+ opacity: .6;
+ cursor: not-allowed;
+}
+
+:where(.pixie-companion) .creator-workspace button.danger {
+ color:var(--md-sys-color-error);
+ border-color:var(--md-sys-color-outline);
+}
+
+:where(.pixie-companion) .creator-workspace :focus-visible {
+ outline: 3px solid var(--gold);
+ outline-offset: 4px;
+}
+
+:where(.pixie-companion) .creator-workspace .creator-checkbox {
+ display: flex;
+ align-items: flex-start;
+ gap: 16px;
+}
+
+:where(.pixie-companion) .creator-checkbox input {
+ margin-top: 4px;
+ width: 24px;
+ min-height: 24px;
+ flex: 0 0 24px;
+}
+
+:where(.pixie-companion) .creator-item {
+ border-top: 1px solid var(--creator-border);
+ padding-top: 24px;
+ margin-top: 24px;
+}
+
+:where(.pixie-companion) .creator-workspace pre {
+ white-space: pre-wrap;
+ overflow-wrap: anywhere;
+ font: inherit;
+ max-height: 30rem;
+ overflow: auto;
+}
+
+:where(.pixie-companion) .creator-workspace .creator-handoff {
+ min-height: 400px;
+}
+
+:where(.pixie-companion) .creator-workspace blockquote {
+ margin: 20px 0;
+ padding: 16px;
+ border-left: 3px solid var(--mint);
+}
+
+:where(.pixie-companion) .creator-workspace blockquote footer {
+ padding: 0;
+ margin: 0;
+ color: var(--muted);
+}
+
+:where(.pixie-companion) .creator-conversation {
+ padding-left: 24px;
+}
+
+:where(.pixie-companion) .creator-conversation p {
+ white-space: pre-wrap;
+}
+
+:where(.pixie-companion) .creator-workspace .workspace-storage {
+ border-left: 3px solid var(--mint);
+ padding:12px 16px;
+ background:var(--md-sys-color-surface-container);
+ color:var(--muted);
+ border:0;
+ border-radius:12px;
+ font-size:1em;
+ margin-bottom:24px;
+ max-width:72ch;
+}
+
+:where(.pixie-companion) .creator-workspace .error {
+ border-color: var(--text);
+ background:var(--md-sys-color-error-container);
+ color:var(--md-sys-color-on-error-container);
+ border:0;
+ border-radius:12px;
+}
+
+:where(.pixie-companion) .creator-workspace .project-switch {
+ max-width: 100%;
+}
+@media(max-width:900px){
+
+:where(.pixie-companion) .creator-heading {
+ display: block;
+}
+
+:where(.pixie-companion) .workspace-preferences {
+ margin-top: 24px;
+}
+
+:where(.pixie-companion) .creator-workspace {
+ padding-inline: 20px;
+}
+
+:where(.pixie-companion) .creator-workspace .creator-card {
+ padding: 20px;
+}
+
+:where(.pixie-companion) .workspace-nav {
+ flex-wrap: wrap;
+}}
+
+:where(.pixie-companion) .shell>main {
+ padding-bottom: calc(120px + env(safe-area-inset-bottom));
+}
+
+:where(.pixie-companion) .helper-setting.pixie-dock {
+ margin: 0;
+ max-width: calc(100vw - 40px);
+}
+
+:where(.pixie-companion) .helper-setting.pixie-dock button {
+ font-size: 18px;
+ min-height: 48px;
+ background: var(--bg);
+}
+
+:where(.pixie-companion) .pixie-launcher small {
+ display: block;
+ font-weight: 400;
+ letter-spacing: normal;
+ line-height: 1.5;
+ color:var(--muted);
+ font-size:1em;
+}
+
+:where(.pixie-companion) .pixie-bubble {
+ position: absolute;
+ bottom: 78px;
+ right: 0;
+ width: min(440px,calc(100vw - max(20px,env(safe-area-inset-left)) - max(20px,env(safe-area-inset-right))));
+ max-height: calc(100dvh - 120px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
+ overflow: auto;
+ overscroll-behavior: contain;
+ padding: 22px;
+ font-size: 18px;
+ line-height: 1.6;
+ overflow-wrap: anywhere;
+ background:var(--md-sys-color-surface-container-high);
+ color:var(--text);
+ border:1px solid var(--line);
+ border-radius:24px;
+ box-shadow:0 12px 40px #0004;
+}
+
+:where(.pixie-companion) .pixie-bubble .note,
+:where(.pixie-companion) .pixie-bubble .context-label,
+:where(.pixie-companion) .pixie-doors small {
+ font-size: 1em;
+ line-height: 1.6;
+}
+
+:where(.pixie-companion) .pixie-bubble button,
+:where(.pixie-companion) .pixie-bubble summary,
+:where(.pixie-companion) .pixie-bubble a {
+ min-height: 48px;
+}
+
+:where(.pixie-companion) .pixie-bubble summary {
+ color: var(--mint);
+ cursor: pointer;
+ align-content: center;
+}
+
+:where(.pixie-companion) .pixie-doors a {
+ display: inline-block;
+ align-content: center;
+}
+
+:where(.pixie-companion) .pixie-bubble .note {
+ font-size: 1em;
+}
+
+:where(.pixie-companion) .report-content {
+ white-space: pre-wrap;
+ overflow-wrap: anywhere;
+}/* Reflowable field guide: typography only, existing text and destinations preserved. */
+.pixie-reader { max-width:48rem; margin:auto; padding:clamp(20px,4vw,48px); }
+.pixie-reader section { padding:32px 0; border-bottom:1px solid var(--line); }
+.pixie-reader h1 { font:400 clamp(2rem,6vw,3rem)/1.15 var(--serif); }
+.pixie-reader h2 { font-size:1.25rem; color:var(--gold); margin-top:24px; }
+.pixie-reader .eyebrow { font-size:18px; letter-spacing:.08em; color:var(--gold); }
+@media print { .pixie-reader section { break-before:page; } }
+:where(.pixie-companion) .creator-heading>div>p:last-child {
+max-width:58ch;
+color:var(--muted);
+margin-bottom:24px;
+}
+:where(.pixie-companion) .workspace-preferences label {
+display:grid;
+gap:4px;
+margin:0;
+color:var(--muted);
+}
+:where(.pixie-companion) .workspace-preferences select {
+width:auto;
+min-width:120px;
+margin:0;
+padding:8px 36px 8px 12px;
+min-height:48px;
+background:var(--md-sys-color-surface-container);
+border:1px solid var(--md-sys-color-outline);
+border-radius:8px;
+color:var(--text);
+}
+:where(.pixie-companion) .workspace-preferences .device-context {
+margin:0 0 0 auto;
+padding:0;
+background:transparent;
+border:0;
+border-radius:0;
+font-size:1em;
+max-width:100%;
+}
+:where(.pixie-companion) .workspace-preferences .device-context summary {
+font-weight:400;
+color:var(--muted);
+padding:8px 0;
+min-height:48px;
+}
+:where(.pixie-companion) .creator-workspace>details.creator-card {
+max-width:820px;
+}
+:where(.pixie-companion) .intro h1 {
+font:400 clamp(2rem,3.6vw,2.75rem)/1.2 var(--sans);
+letter-spacing:-.035em;
+}
+/* Slow decorative presence, matching the studio's fixed-rhythm 7s pattern. */
+.pixie-breath { position:relative; isolation:isolate; }
+@keyframes pixie-breathe { 0%,100% {opacity:.45;} 50% {opacity:1;} }
+.pixie-brand-symbol { width:56px; height:56px; object-fit:contain; border-radius:16px; flex:none; }
+.pixie-helper-symbol { width:56px; height:56px; object-fit:contain; border-radius:16px; flex:none; }
+.pixie-symbol-frame { display:inline-flex; border-radius:16px; flex:none; }
+:where(.pixie-companion) .creator-workspace :is(button,input,select,textarea),:where(.pixie-companion) .workspace-nav button { transition:border-color var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard); }
+:where(.pixie-companion) button:not(:disabled):hover { background-color:var(--md-sys-color-primary-container); color:var(--md-sys-color-on-primary-container); }
+:where(.pixie-companion) button.primary:not(:disabled):hover { background-color:var(--md-sys-color-on-primary-container); color:var(--md-sys-color-on-primary); }
+@media (max-width:900px) { :where(.pixie-companion) .creator-workspace {padding-top:32px;} :where(.pixie-companion) .workspace-nav {margin-left:0;} :where(.pixie-companion) .creative-help.onboarding {grid-template-columns:1fr;} :where(.pixie-companion) .help-guidance {border-left:0; border-top:1px solid var(--line);padding:32px 24px;} }
+@media (max-width:600px) { :where(.pixie-companion) header {padding:12px 20px;} :where(.pixie-companion) .workspace-nav {gap:4px;} :where(.pixie-companion) .workspace-nav button {padding:8px 12px;} :where(.pixie-companion) .creator-workspace {padding-inline:20px;} :where(.pixie-companion) .workspace-preferences {gap:12px 16px;} :where(.pixie-companion) .workspace-preferences .device-context {margin-left:0;flex-basis:100%;} :where(.pixie-companion) .creator-card {padding:20px;border-radius:20px;} }
+@media (prefers-reduced-motion:reduce) { :where(.pixie-companion) button,:where(.pixie-companion) input,:where(.pixie-companion) select,:where(.pixie-companion) textarea {transition:none;} }
+.pixie-breath img { animation:pixie-sigil-breathe 7s ease-in-out infinite; }
+@keyframes pixie-sigil-breathe { 0%,100% {opacity:1;} 50% {opacity:.5;} }
+@media (prefers-reduced-motion:reduce) { .pixie-breath img { animation:none; opacity:1; } }
+:where(.pixie-companion) .creator-workspace .workspace-preferences label { margin:0; min-width:0; }
+@media (max-width:600px) {
+ :where(.pixie-companion) header {position:relative;}
+ :where(.pixie-companion) .workspace-nav {width:100%;}
+ :where(.pixie-companion) .workspace-nav .account-menu {position:absolute;top:16px;right:20px;}
+ :where(.pixie-companion) .workspace-preferences {display:grid;grid-template-columns:minmax(100px,.8fr) minmax(0,1.4fr);gap:16px 12px;}
+ :where(.pixie-companion) .creator-workspace .workspace-preferences select {width:100%;min-width:0;max-width:100%;padding-right:24px;}
+ :where(.pixie-companion) .workspace-preferences .device-context {grid-column:1/-1;}
+}
+/* Requested PIXIE hero illustration, isolated preview proposal. */
+:where(.pixie-guide) .hero-copy {min-width:0;}
+:where(.pixie-guide) .hero-portrait {margin:0;align-self:start;justify-self:end;width:100%;max-width:480px;pointer-events:none;}
+:where(.pixie-guide) .hero-portrait img {display:block;width:100%;height:auto;object-fit:contain;}
+@media(max-width:900px) { :where(.pixie-guide) .hero {grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px;} }
+@media(max-width:700px) { :where(.pixie-guide) .hero {grid-template-columns:minmax(0,1fr);padding-top:40px;gap:24px;} :where(.pixie-guide) .hero-portrait {max-width:320px;justify-self:center;} }
+}
+
+[hidden] {
+ display: none;
+}
diff --git a/apps/companion/app/layout.tsx b/apps/companion/app/layout.tsx
index 4343648..fad21b0 100644
--- a/apps/companion/app/layout.tsx
+++ b/apps/companion/app/layout.tsx
@@ -1,4 +1,4 @@
import type { Metadata } from 'next';
import './globals.css';
export const metadata:Metadata={title:'PIXIE · Project Companion',description:'Find your place in Loptr Lab. Source-linked status, bounded tasks and feedback drafts.'};
-export default function RootLayout({children}:{children:React.ReactNode}){return {children};}
+export default function RootLayout({children}:{children:React.ReactNode}){return {children};}
diff --git a/apps/companion/app/pixie-helper.tsx b/apps/companion/app/pixie-helper.tsx
index 08b6c0d..8a5a077 100644
--- a/apps/companion/app/pixie-helper.tsx
+++ b/apps/companion/app/pixie-helper.tsx
@@ -11,5 +11,5 @@ export default function PixieHelper({projectName,mode,onAction}:{projectName:str
function act(next:string){setOpen(false);onAction(next);}
return <>{hidden&&
{setHidden(false);setOpen(true);}}>Restore PIXIE help
}{!hidden&&
{if(e.relatedTarget&&!e.currentTarget.contains(e.relatedTarget as Node))setOpen(false);}} className="pixie-dock" aria-label="PIXIE contextual helper" onKeyDown={e=>{if(e.key==='Escape'&&open){e.preventDefault();close();}}}>
{open&&HERE WITH YOU
Greetings. I’m PIXIE. × {projectName} · {mode==='resume'?'Project status':mode==='contribute'?'Contribution':mode==='coordinate'?'Join & coordinate':mode==='checkpoint'?'Resume checkpoint':'Feedback draft'}
{guide.title} {guide.body}
act(mode)}>{guide.action} → act('resume')}>Where are we? act('contribute')}>Help me contribute act('coordinate')}>Join & coordinate act('checkpoint')}>Resume a checkpoint act('feedback')}>Report an observation
Built in public, with privacy by design. Start in public project channels; internal access follows onboarding. Read our principles .
Other PIXIE doors One PIXIE, separate tools and permissions. These links do not transfer your draft or sign you in.
PIXIE stays with the work. Source-linked public project snapshots and GitHub contribution checkpoints help you return to shared work. Private projects use the authorized workspace; reviewed creative drafts can return to their selected Companion project.
I use project information you explicitly supply or authorize. Files selected for import are read for that operation. I do not automatically inspect unrelated device files, other tabs or accounts, and I do not post automatically.
Use PIXIE in ChatGPT ChatGPT is a client of PIXIE tools, not another Companion application. Participant installation and migration of the existing connection to Railway are not yet verified; there is no public installation link here.
The existing owner-managed connection has separate client authentication. Opening ChatGPT is navigation only: it does not transfer this draft, browser sign-in, private project access or conversation context.
When an authorized PIXIE connection is available, ask for a supported public project status or checkpoint draft. Private workspace access is not granted by the current unscoped machine token. Keep private credentials out of chat.
I use only your selected project and task here. I don’t watch your typing, read other tabs, or change the project for you. Help is guided, not a free-form chat.
Hide PIXIE for this visit }
- open?close():setOpen(true)}>✦ PIXIE{open?'Close help':'Can I help you?'} }>;
+
open?close():setOpen(true)}>PIXIE{open?'Close help':'Can I help you?'} }>;
}
diff --git a/apps/companion/design-qa.md b/apps/companion/design-qa.md
index 1dd6c87..9e7db4e 100644
--- a/apps/companion/design-qa.md
+++ b/apps/companion/design-qa.md
@@ -1,3 +1,136 @@
+# Approved main publication — 28 October 2026
+
+Owner reviewed the isolated Vercel previews and instructed “Push to main”. This
+supersedes the source-publication hold in the dated preview records below.
+Approved visual: https://pixie-ecosystem-guide-preview-rgxn10mi9-niquedevereaux-6363.vercel.app/
+
+Publish the reviewed guide, shared stylesheet, generated PIXIE sigil and hero art,
+and corresponding Companion presentation changes through the existing repository
+workflow. Main triggers the existing public guide Pages build/deployment. This
+approval does not change Railway settings, auto-deploy, DNS, installed MCP
+connections, or authorize migration/retirement of the old Site. Unverified live
+provider and physical-device acceptance gates remain stated below. The separately
+unidentified MCP information page remains outside this implemented change.
+
+Existing-work/source check: clean current main 63c96756c55592ff0fd59d67021e7c9ef621a909;
+repository AGENTS.md, canonical principles and ecosystem architecture were read;
+merged PR #5 correction and Creator #62 continuity were preserved. The 16-file
+change contains no OAuth, consent, private workspace, handoff, API/tool contract,
+source recovery or deployment configuration changes. server.mjs only adds the
+image/png MIME type needed to serve the reviewed generated brand symbol.
+
+The authoritative stylesheet remains apps/companion/app/globals.css. Companion,
+public guide and online field guide inherit it through existing build paths.
+New art is an owner-requested generated proposal accepted for this publication,
+not a recovered approved original or invented character chronology. Generated
+masters are preserved in assets/; the Companion public sigil copy is identical.
+Loptr Lab, Duet, 50 Ways and Made-Sick remain untouched.
+
+---
+
+# PIXIE hero illustration preview — 28 October 2026
+
+Owner requested a graphic like the supplied ethereal companion reference in the
+upper-right hero space, and asked whether the approved color scheme was followed.
+The seven source colors are intact: midnight #071923, plum #211823, slate #354955,
+mist #93999F, parchment #F2E5CE, gold #D5AB68, teal #A9E2E5. Material 3 surface,
+contrast and light-mode roles also use derived tones; the preview is not limited
+to only those seven RGB values. Artwork uses the source colorway with natural
+illustrative skin/shading tones. No palette replacement or new theme control.
+
+A new decorative illustration was generated from the owner's current visual
+reference and requested placement. It is a preview proposal, not a recovered
+approved Cameo, Winged Spark or Guiding Star original. Existing supplied originals
+were not overwritten. The generated sigil remains unchanged. Previous approved
+scope and preview-only boundaries persist; no chronology or capabilities added.
+
+Isolated copy: /workspace/work/pixie-hero-preview. Changes from previous preview:
+index.html hero-copy/figure; assets/pixie-hero-proposal.png; existing build asset
+copy; layout in the same apps/companion/app/globals.css; this existing QA record.
+Desktop/tablet use a two-column hero with the illustration on the upper right;
+mobile places it below copy/actions. Existing breathing and reduced-motion
+behavior remain unchanged. No text or controls overlap the graphic.
+
+Verification: existing guide check/build and Companion production build passed.
+Chromium viewports 1440/1194/1024/820/390/320 passed placement assertions, no
+horizontal overflow, no broken images, exact seven palette tokens, and keyboard
+skip navigation. Hero screenshots inspected at iPad and mobile widths. These are
+viewport checks, not physical iPad/Safari or VoiceOver acceptance. The previously
+passed 84-test suite and owner/helper checks concern the preceding runtime; no
+runtime logic changes are made here and they were not newly rerun for this art.
+
+Production and maintained sources remain unchanged. Excluded Loptr Lab, Duet,
+50 Ways and Made-Sick code/assets/settings/deployments remain untouched. Next:
+owner visual review of this new Vercel preview, not a production release.
+
+---
+
+# Material 3 and breathing PIXIE sigil — isolated preview, 28 October 2026
+
+Status: ready for owner visual review; no production approval inferred.
+
+This work is isolated under /workspace/work/pixie-m3-preview. The previous
+candidate and maintained repositories remain unchanged. No source was pushed,
+PR merged, production release promoted, DNS edited or Railway setting changed.
+
+Read-only references:
+- Material 3 color roles: https://m3.material.io/styles/color/roles
+- Official implementation guidance: https://developer.android.com/develop/ui/compose/designsystems/material3
+- Existing Design Bible: https://github.com/Loptr-Lab/veiled-dominion-engine/blob/main/docs/design/DESIGN_BIBLE.md
+- Existing Loptr Lab and Duet source: their current index.html/public/index.html.
+
+Design: explicit surface/container and corresponding on-color roles derived
+from the approved PIXIE palette; neutral blue-slate tonal containers replace
+large plum cards. Teal identifies actions/selection and gold remains a restrained
+identity signal. Light preference uses cool neutral surfaces. App typography,
+header/navigation, preferences and form spacing were reduced to a clear hierarchy.
+Existing labels, reading preferences, privacy controls and workflows are preserved.
+
+After confirming the supplied originals were not available as files, the owner
+explicitly requested a new symbol based on Duet and Loptr Lab. The new generated
+PIXIE proposal uses nested guiding-spark linework, an open orbit, aged gold and
+a teal core. It is a new proposal, not a recovered original or a replacement
+claimed to carry an established chronology. Header, helper and favicon use it.
+The generated master remains in generated_images; no excluded project asset
+was changed or copied as PIXIE's mark.
+
+Breathing adapts the existing fixed decorative rhythm: 7s ease-in-out, opacity
+1 at endpoints and .5 at midpoint. It animates the symbol, not live status or
+text. prefers-reduced-motion disables it and leaves opacity 1. The existing
+Design Bible remains the authority; no competing brand guidelines were created.
+
+Verification:
+- Existing Companion tests: 84/84 passed, none skipped.
+- Guide checks/build, Companion build and typecheck passed.
+- Existing task browser contract passed.
+- Existing owner/helper browser acceptance passed, including keyboard/Escape,
+ focus restoration, hidden-only restore, 28px helper notes, private DID isolation,
+ source failure/retry, account switching and dark/light text contrast. Identity
+ providers were synthetic; this is not live OAuth acceptance.
+- 24 browser viewport combinations: guide, online field guide and four Companion
+ views at 1440/820/390/320 CSS pixels; zero page errors, page overflow, broken
+ images, missing image alternatives or sampled text-contrast failures.
+- Motion inspected at exact timeline 0 and 3500ms, computed duration 7s and
+ easing ease-in-out. Reduced-motion computed animation none, opacity 1.
+- Generated icon rendered at 16/24/32/48px. Fine geometry naturally simplifies
+ at favicon size; header/helper use 56px. Physical iPad/VoiceOver remain untested.
+- Theme-switch transitions initially caused a transient contrast dip; background
+ color transitions were removed, and the unchanged owner browser check passed.
+
+Preview: https://pixie-ecosystem-guide-preview-cq2jm6xws-niquedevereaux-6363.vercel.app/
+Companion: /companion/index.html
+Vercel deployment dpl_iRdnQ8477fBX6iH6ucvSN9cDwfzq, READY, target staging.
+Only public built assets were uploaded. The static Companion uses browser
+storage; this preview does not replace or verify the Railway backend, provider
+sign-in or installed MCP connection. Local browser verification and remote HTTP
+verification are distinct. Owner review is next; production is on hold.
+
+Loptr Lab, Duet, 50 Ways and Made-Sick were inspected only where relevant and
+were not modified. The separately requested MCP information-page source remains
+unidentified; /mcp protocol behavior was preserved and not converted to HTML.
+
+---
+
# Creator workspace review checkpoint
Local implementation only; no release authorization, push, merge, deployment or synchronization.
@@ -48,3 +181,169 @@ commit; direct URL verification is blocked here by proxy CONNECT 403. Exact URL,
non-secret existing-service configuration, rollback and acceptance checks are in
`deployment/RAILWAY.md`. The Site, guide, installed plugin, domains and Tangled
remain unchanged. No Railway deployment or provisioning has been performed.
+
+# PIXIE identity review — 28 October 2026
+
+This dated implementation record extends the existing QA history below. It does
+not replace the authoritative brand guidelines, whose location has not yet been
+retrieved. Production publication remains pending owner review of the Vercel
+preview and resolution of the artwork, brand-document and MCP-page gaps.
+
+## Continuity and approved direction
+
+Read the current repository `AGENTS.md`, `lib/principles.mjs`, the canonical
+`ibloud/ibloud.github.io/docs/ECOSYSTEM_ARCHITECTURE.md`, Companion PR #5 metadata
+and discussion, and the affected guide, application, build and test sources.
+The authoritative baseline is guide main
+`63c96756c55592ff0fd59d67021e7c9ef621a909` (PR #5 merged). Its current-main
+Railway wording and merge-marker/obsolete-hosting regression checks are retained.
+Creator PR #62 is already merged; its current Vercel record identifies main
+`9358a26f97f6012e3107dd61ae96075ea1889569`. Creator source was not edited.
+Older local Companion and guide checkouts were preserved; this candidate was
+prepared in an isolated snapshot of current guide main rather than overwriting
+them. Existing JPEG and PDF blob IDs exactly match that main tree.
+
+The owner's supplied assignment approves these roles:
+
+| Palette | Role implemented in this candidate |
+| --- | --- |
+| Midnight ink `#071923` | Default canvas, input backgrounds and text on teal actions |
+| Velvet plum `#211823` | Companion cards, guidance, helper and guide atmosphere |
+| Blue slate `#354955` | Structural separators and secondary surfaces |
+| Mist gray `#93999F` | Secondary text on dark surfaces; existing light preference's canvas |
+| Warm parchment `#F2E5CE` | Primary reading text; small light-theme raised surfaces |
+| Aged gold `#D5AB68` | Headings, identity accents and orientation |
+| Glacial teal `#A9E2E5` | Links, selected navigation, actions and focus |
+
+Default surfaces remain dark. The existing light preference uses mist and ink,
+preserving a distinct light reading option without a large bright beige canvas.
+No reading controls or preference keys were added.
+
+## Implemented design and stylesheet ownership
+
+`apps/companion/app/globals.css` is the one authoritative stylesheet. It contains
+the palette and semantic roles, system sans-serif reading type, Georgia display
+type, 8/16/24/32/48/64px spacing, shared focus and reduced-motion behavior, guide,
+field-guide and Companion layouts, controls, responsive rules and existing
+account/helper presentation. Explicit pixel font sizes are at least 18px.
+Surface selectors are scoped so guide headings, headers and buttons cannot
+change Companion controls. The functional hidden attribute is kept outside the
+component cascade layer. All former `!important` declarations were removed;
+duplicate exact-selector declarations were consolidated in their conditions.
+
+Consumers:
+
+- Companion's static entry and existing React layout import this source directly
+ and identify their body as `pixie-companion`.
+- The public guide identifies its body as `pixie-guide`. Its `src/styles.css` is
+ only a local-development import adapter. The existing root build copies the
+ authoritative stylesheet byte-for-byte to `public/src/styles.css`; checks
+ reject generated stylesheet drift.
+- The online field guide uses `pixie-reader` and that same built stylesheet;
+ its competing embedded stylesheet was removed. Text, authorship, dates and
+ destinations remain intact. The supplied PDF was preserved, not regenerated.
+- Preformatted checkpoint/comment/Creator-return text uses the stylesheet's
+ existing report-content treatment instead of repeated inline presentation.
+
+This arrangement keeps the authoritative source inside the Companion module,
+so its existing module mirror projection remains self-contained. No mirror was
+written, activated or synchronized. No new package, dependency declaration,
+service, database, OAuth origin or deployment configuration was added.
+
+Voice remains warm, direct and practical: existing navigation and headings are
+retained with their factual project distinctions. No new integration, memory,
+hosting, public-installation or automatic-sharing claims were added. Existing
+source imagery remains uncropped with its alternatives and attribution intact.
+
+## Symbols and authoritative-brand update still pending
+
+The three approved generated originals were not found among the supplied local
+attachments, current guide/Companion tree, Creator tree or the relevant connected
+Drive searches. Their exact filenames and authoritative asset locations remain
+unknown; this is a retrieval gap, not evidence of deletion. No replacement art,
+symbol chronology or generated derivative was invented. Existing Unicode marks
+remain existing interface marks, not claimed versions of the approved artwork.
+
+| Approved expression | Intended use when the supplied original is available | Current status |
+| --- | --- | --- |
+| Guiding Star | Identity/orientation, navigation and legible favicon variants | Original and small-icon variants pending |
+| Winged Spark | Creative movement and capability-related content | Original and web variants pending |
+| PIXIE Cameo | The single existing companion helper's personality/presence | Original and web variants pending |
+
+Preserve each original and its source metadata before making web/icon variants.
+Verify the resulting artwork at actual small sizes and with meaningful image
+alternatives. Do not imply the three expressions establish a dated evolution.
+The palette/roles, inheritance, typography, spacing, accessibility, voice and
+image rules in this review must be incorporated into the existing authoritative
+brand document once its actual location is supplied; no competing guidelines
+were created here.
+
+The separately requested MCP information page could not be identified. Current
+source contains the protocol `/mcp` endpoint, not an HTML information page:
+GET remains 405 with POST guidance, and its tool contracts, authentication,
+connection instructions and privacy limits remain unchanged. This endpoint was
+not repurposed into a page. Visual acceptance of the existing information page
+requires its URL/source; it is not counted as completed.
+
+Current repository documentation names `pixie.loptrlab.com` as a planned guide
+domain. No evidence here establishes that the differently spelled
+`pixie.loprrlab.com` is intended, or that the planned domain is live. No DNS,
+domain, Railway settings, auto-deploy, production aliases or installed ChatGPT
+connection were changed.
+
+## Verification and limits
+
+- Companion: 84/84 existing Node unit/integration/security tests passed, with
+ none skipped; typecheck and production static build passed.
+- Guide: existing source/content/hosting checks and build passed, including the
+ retained current-main wording checks, shared-CSS drift assertion and rejection
+ of `!important`. `git diff --check` passed.
+- Chromium: 24 combinations of guide, online field guide, My projects, Find
+ help, Project work and Task stewardship at 1440, 820, 390 and 320 CSS pixels.
+ No page errors, horizontal page overflow or missing image alternatives were
+ found. The sampled visible text on resolved solid backgrounds passed 4.5:1;
+ this automated scan does not certify imagery, gradients or all interactive
+ states. Skip-link and guidance-heading contrast defects were corrected.
+- Existing task browser contract passed: review-gated export/import, stable
+ project identity, no scope expansion, keyboard skip navigation, contrast and
+ reduced-motion behavior. Existing owner browser checks passed: one helper,
+ hide/restore/Escape/focus, notes scaling to 28px, private DID isolation,
+ source-failure/retry, account switching and dark/light contrast.
+- Existing workspace browser journey passed for both real local server storage
+ and browser storage: create/save/reopen, sources/tasks, backups and restoration,
+ model-unavailable recovery, reading preferences and reflow. Its first run timed
+ out at the final browser-mode Tab assertion; an unchanged rerun passed both
+ storage modes. No application change was made to mask the timeout.
+- Existing identity browser tests passed approved Railway, legacy Site and
+ untrusted-origin fixtures. Tests use synthetic upstream identity dependencies;
+ real provider sign-in and physical iPad Safari/Files/VoiceOver remain pending.
+- The cross-application Creator browser test was not run to completion because
+ its reviewed Creator checkout was not present locally. No change to handoff
+ authorization, consent, storage or origin checks is part of this design patch.
+- New local implementation has no remote CI commit yet. Historical CI evidence
+ for merged PR #5 is not claimed as CI for this candidate.
+
+Vercel preview verified READY: `dpl_A3qjVM9pKLpRodTZFGYidd4yxSXy`, API target
+`staging` (non-production), in the existing `pixie-ecosystem-guide-preview` project.
+https://pixie-ecosystem-guide-preview-ojj0glgkz-niquedevereaux-6363.vercel.app/
+Guide HTML, Companion HTML, shared guide CSS, compiled Companion CSS and its
+entry JavaScript each returned HTTP 200 through the authenticated Vercel tool.
+This is remote HTTP verification; browser layout checks were performed locally.
+A temporary Vercel review link was created; project protection stays enabled.
+
+Vercel review uses only compiled public guide assets and a static Companion
+under `/companion/`. That Companion retains its existing browser-storage mode;
+the preview does not provide or verify Railway sign-in, MCP or durable server
+storage. Guide production links retain their original destinations. Review the
+preview before approving any source publication or production release.
+
+## Excluded-project proposals — not implemented
+
+Loptr Lab, Duet, 50 Ways and Made-Sick code, copy, images, styles, settings and
+deployments were untouched. Any later PIXIE-reference update there is a separate
+proposal: inspect the owning source, preserve each project's own identity/canon,
+and only consider navigation or symbol treatment after the approved artwork and
+authoritative brand guidance are available. Such changes need their own scoped
+review and verification; this record authorizes none of them.
+
+---
diff --git a/apps/companion/public/pixie-sigil-proposal.png b/apps/companion/public/pixie-sigil-proposal.png
new file mode 100644
index 0000000000000000000000000000000000000000..2f2f88570d7e2c9bca15d7fe649c6ed4b41b3a49
GIT binary patch
literal 1358741
zcmeFa3tUv?`ZoNmHH*angAAxRgxNwyEJa*10|OZ507*mQq4EGqI^zr=I^qFR*p;nu
z28F;Hu@o}#ushgEM=gUg8xYx$5S@cGcT%C9G@>-~^j^<^ZTEin`~KhW`+fiS|GwYP
z{o4j>SZh7cb3gZe-Pe8Hk61oq+C72(xA+r60@ICm-%kkFL;uKGeBxi5_$VQ>N-XA-
zO!{^4LrWLp;}Q63wP=@{Nib1LguF}=wyuzQKfqlN4BT~3|6NP}`L2gn7EGXbPKb@y
zYvL2E=5e|NYtFdX+yu+G1WkPWxCC>Yn46>5SS(g8#!@^o@VYztUuQ1-?*@%A7Z&EM
zEXrS2P>2WoJ{)-9PWpi1m_qyZ
a4S(+w1tb7|5k9|
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 Wb1rUjT1JWzLIJz6IIgx7AZ=UAI;f+B;d`8%
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 aLBI~ZI>FuY}qSr}u<`NL^{sM%F#
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