Clinical Card Viewer — Psychologist Portal
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<title>PPU Clinical Card Viewer — 6 Deck Suite | Psychologist Portal</title>
<link href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;600;700&family=Jost:wght@300;400;500;600&display=swap" rel="stylesheet"/>
<style>
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
--burg:#6B1A2A;--burg-deep:#4A0F1C;--burg-mid:#8B2438;
--burg-light:#F5E8EB;--burg-pale:#FBF3F5;
--gold:#C9963A;--gold-light:#E8C67A;--gold-pale:#FDF6E8;--gold-dark:#9A7020;
--teal:#1D9E75;--teal-light:#E1F5EE;--teal-dark:#0F6E56;
--navy:#042C53;--blue-mid:#185FA5;--blue-light:#E6F1FB;
--cream:#FAF7F2;--ink:#1C1008;--ink-mid:#4A3728;--ink-light:#8A7060;
--border:rgba(107,26,42,0.15);--shadow:0 4px 24px rgba(74,15,28,0.12);
}
body{font-family:'Jost',sans-serif;background:var(--cream);color:var(--ink);min-height:100vh}
body::before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse 80% 60% at 10% 20%,rgba(107,26,42,0.05) 0%,transparent 60%),radial-gradient(ellipse 60% 80% at 90% 80%,rgba(201,150,58,0.05) 0%,transparent 60%);pointer-events:none;z-index:0}
.wrap{position:relative;z-index:1;max-width:1060px;margin:0 auto;padding:0 20px 60px}
#reg-gate{position:fixed;inset:0;z-index:9999;background:linear-gradient(135deg,#042C53 0%,#0F3D6E 60%,#0A2E45 100%);display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}
.gate-card{background:#fff;border-radius:16px;width:100%;max-width:600px;overflow:hidden;box-shadow:0 32px 80px rgba(4,44,83,0.5);margin:auto}
.gate-hero{background:linear-gradient(135deg,#042C53,#185FA5);padding:1.8rem 2rem 1.4rem;position:relative;overflow:hidden}
.gate-hero::after{content:'';position:absolute;right:-40px;top:-40px;width:160px;height:160px;border-radius:50%;background:rgba(29,158,117,0.15)}
.gate-logo{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:700;color:#fff;margin-bottom:0.2rem;position:relative;z-index:1}
.gate-logo span{color:#C9963A}
.gate-tagline{font-size:11px;color:rgba(255,255,255,0.65);letter-spacing:0.06em;position:relative;z-index:1}
.gate-ticks{display:flex;gap:1rem;margin-top:1rem;position:relative;z-index:1;flex-wrap:wrap}
.gate-tick{display:flex;align-items:center;gap:6px;font-size:11px;color:rgba(255,255,255,0.85)}
.gate-tick-dot{width:16px;height:16px;border-radius:50%;background:#1D9E75;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:8px;color:#fff;font-weight:700}
.pdf-banner{background:#E1F5EE;border-left:4px solid #1D9E75;padding:14px 18px;display:flex;align-items:center;gap:14px}
.pdf-banner-text{flex:1}
.pdf-banner-title{font-size:12px;font-weight:700;color:#042C53;margin-bottom:3px}
.pdf-banner-sub{font-size:11px;color:#555;line-height:1.4}
.pdf-dl-btn{display:inline-block;background:#1D9E75;color:#fff;padding:8px 16px;border-radius:8px;font-size:11px;font-weight:700;text-decoration:none;white-space:nowrap;flex-shrink:0}
.gate-body{padding:1.6rem 2rem}
.gate-title{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:600;color:#042C53;margin-bottom:0.3rem}
.gate-sub{font-size:0.82rem;color:#888;margin-bottom:1.2rem;line-height:1.5}
.gate-form{display:flex;flex-direction:column;gap:0.85rem}
.gate-row{display:grid;grid-template-columns:1fr 1fr;gap:0.85rem}
.gate-field{display:flex;flex-direction:column;gap:4px}
.gate-field label{font-size:0.72rem;font-weight:700;color:#042C53;text-transform:uppercase;letter-spacing:0.06em}
.gate-field input,.gate-field select{padding:9px 12px;border:1.5px solid rgba(0,0,0,0.12);border-radius:8px;font-size:13px;font-family:'Jost',sans-serif;color:#1C1008;background:#FAFAF8;outline:none;transition:border-color 0.15s}
.gate-field input:focus,.gate-field select:focus{border-color:#185FA5;background:#fff}
.gate-field input.err,.gate-field select.err{border-color:#D85A30}
.gate-divider{height:1px;background:rgba(0,0,0,0.07);margin:0.2rem 0}
.gate-section-label{font-size:10px;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:0.2rem}
.gate-commission{display:grid;grid-template-columns:1fr 1fr;gap:0.7rem}
.comm-opt{border:1.5px solid rgba(0,0,0,0.12);border-radius:10px;padding:11px;cursor:pointer;transition:all 0.15s;background:#FAFAF8}
.comm-opt:hover{border-color:#185FA5;background:#EEF6FF}
.comm-opt.selected{border-color:#042C53;background:#EEF6FF}
.comm-opt-title{font-size:12px;font-weight:700;color:#042C53;margin-bottom:3px}
.comm-opt-desc{font-size:10px;color:#888;line-height:1.4}
.charity-row{display:none;gap:0.5rem;flex-wrap:wrap;margin-top:0.4rem}
.charity-row.show{display:flex}
.charity-btn{padding:4px 10px;border-radius:20px;border:1px solid rgba(0,0,0,0.12);background:#fff;font-size:10px;font-weight:600;color:#555;cursor:pointer}
.charity-btn.sel{background:#042C53;border-color:#042C53;color:#fff}
.gate-disclosure{background:#F4F3EF;border-radius:8px;padding:11px;font-size:10px;color:#555;line-height:1.6;margin-top:0.2rem;max-height:80px;overflow-y:auto;border:1px solid rgba(0,0,0,0.07)}
.gate-disclosure strong{color:#042C53}
.gate-agree{display:flex;align-items:flex-start;gap:8px;margin-top:0.4rem;cursor:pointer}
.gate-agree input{margin-top:2px;accent-color:#042C53;flex-shrink:0}
.gate-agree span{font-size:11px;color:#555;line-height:1.5}
.gate-submit{width:100%;padding:13px;background:linear-gradient(135deg,#042C53,#185FA5);border:none;border-radius:10px;color:#fff;font-family:'Jost',sans-serif;font-size:14px;font-weight:700;letter-spacing:0.04em;cursor:pointer;transition:all 0.2s;margin-top:0.4rem}
.gate-submit:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(4,44,83,0.35)}
.gate-error{font-size:11px;color:#D85A30;margin-top:0.3rem;display:none}
.gate-error.show{display:block}
.gate-sending{display:none;text-align:center;padding:2rem;font-size:13px;color:#555}
.gate-success{display:none;text-align:center;padding:2rem}
.gate-success-icon{font-size:48px;margin-bottom:1rem}
.gate-success-title{font-family:'Cormorant Garamond',serif;font-size:1.6rem;color:#042C53;margin-bottom:0.5rem}
.gate-success-msg{font-size:13px;color:#666;line-height:1.6;margin-bottom:1.5rem}
.gate-enter-btn{padding:13px 36px;background:linear-gradient(135deg,#1D9E75,#0F6E56);border:none;border-radius:10px;color:#fff;font-family:'Jost',sans-serif;font-size:14px;font-weight:700;cursor:pointer}
.phase-bar{background:white;border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:20px;box-shadow:var(--shadow)}
.phase-bar-title{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-light);font-weight:600;margin-bottom:10px}
.phases{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.phase-item{padding:8px 4px;border-radius:8px;text-align:center;cursor:pointer;transition:all .2s;border:1.5px solid transparent}
.phase-item.active{border-color:var(--burg)}
.phase-item .ph-num{width:22px;height:22px;border-radius:50%;margin:0 auto 4px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:white}
.phase-item .ph-name{font-size:8px;font-weight:600;color:var(--ink-mid);line-height:1.3}
.phase-item.active .ph-name{color:var(--burg)}
.hdr{display:flex;align-items:center;justify-content:space-between;padding:24px 0 20px;border-bottom:1px solid var(--border);margin-bottom:20px}
.logo{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:600;color:var(--burg-deep)}
.logo span{color:var(--gold)}
.logo small{display:block;font-family:'Jost',sans-serif;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-light);font-weight:500;margin-top:2px}
.hdr-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.badge{background:var(--teal-light);border:1px solid rgba(29,158,117,.3);border-radius:20px;padding:4px 12px;font-size:11px;color:var(--teal-dark);font-weight:600;letter-spacing:.05em}
.badge-gold{background:var(--gold-pale);border:1px solid rgba(201,150,58,.3);color:var(--gold-dark)}
.export-btn{background:var(--burg);color:white;border:none;border-radius:6px;padding:7px 14px;font-size:11px;font-family:'Jost',sans-serif;font-weight:500;cursor:pointer;letter-spacing:.04em}
.export-btn:hover{background:var(--burg-deep)}
.deck-selector{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:20px}
.deck-btn{padding:10px 6px;border-radius:10px;border:1.5px solid var(--border);background:white;cursor:pointer;text-align:center;transition:all .2s;font-family:'Jost',sans-serif}
.deck-btn:hover{border-color:var(--gold);background:var(--gold-pale)}
.deck-btn.active{border-color:var(--burg);background:var(--burg-light)}
.deck-btn .dk-icon{font-size:18px;margin-bottom:4px}
.deck-btn .dk-name{font-size:10px;font-weight:600;color:var(--burg-deep);line-height:1.3}
.deck-btn.active .dk-name{color:var(--burg)}
.deck-btn .dk-count{font-size:9px;color:var(--ink-light);margin-top:2px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px}
.stat{background:white;border:1px solid var(--border);border-radius:10px;padding:12px 14px;box-shadow:0 2px 8px rgba(74,15,28,.05)}
.stat-n{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:600;color:var(--burg);line-height:1}
.stat-l{font-size:10px;color:var(--ink-light);letter-spacing:.06em;text-transform:uppercase;font-weight:500;margin-top:3px}
.prog-wrap{margin-bottom:20px}
.prog-row{display:flex;justify-content:space-between;margin-bottom:6px}
.prog-row span{font-size:11px;color:var(--ink-light);font-weight:500}
.prog-row strong{font-size:11px;color:var(--burg);font-weight:600}
.prog-track{height:3px;background:var(--burg-light);border-radius:3px}
.prog-fill{height:3px;background:linear-gradient(90deg,var(--burg),var(--gold));border-radius:3px;transition:width .5s}
.main{display:grid;grid-template-columns:240px 1fr;gap:20px;align-items:start}
.grid-panel{background:white;border:1px solid var(--border);border-radius:12px;padding:14px;position:sticky;top:20px;box-shadow:0 2px 10px rgba(74,15,28,.06)}
.panel-title{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-light);font-weight:600;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.card-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;max-height:460px;overflow-y:auto}
.card-grid::-webkit-scrollbar{width:3px}
.card-grid::-webkit-scrollbar-thumb{background:var(--burg-light);border-radius:3px}
.mini{aspect-ratio:.75;border-radius:4px;border:1px solid var(--border);background:var(--cream);display:flex;align-items:center;justify-content:center;font-size:7px;text-align:center;color:var(--ink-light);cursor:pointer;transition:all .12s;padding:2px;line-height:1.2;overflow:hidden;position:relative}
.mini img{width:100%;height:100%;object-fit:cover;border-radius:3px;position:absolute;inset:0}
.mini span{position:relative;z-index:1;font-size:7px;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.4);color:white;padding:1px}
.mini.no-img span{color:var(--ink-light);text-shadow:none}
.mini:hover{border-color:var(--gold)}
.mini.active{border:2px solid var(--burg);box-shadow:0 0 0 2px var(--burg-light)}
.mini.done{opacity:.7}
.mini.done::after{content:'✓';position:absolute;top:1px;right:2px;font-size:7px;color:var(--gold);font-weight:700;z-index:2}
.legend{display:flex;gap:8px;margin-top:10px;padding-top:8px;border-top:1px solid var(--border);flex-wrap:wrap}
.leg-item{display:flex;align-items:center;gap:3px;font-size:9px;color:var(--ink-light)}
.leg-dot{width:7px;height:7px;border-radius:2px}
.active-panel{display:flex;flex-direction:column;gap:18px}
.card-display{background:white;border:1px solid var(--border);border-radius:14px;padding:24px;box-shadow:0 6px 32px rgba(74,15,28,.14);display:grid;grid-template-columns:190px 1fr;gap:24px;align-items:start}
.card-face{width:190px;height:256px;border-radius:12px;overflow:hidden;position:relative;box-shadow:0 8px 28px rgba(74,15,28,.2);cursor:pointer;transition:transform .2s;flex-shrink:0}
.card-face:hover{transform:translateY(-3px)}
.card-face img{width:100%;height:100%;object-fit:cover}
.card-face.ppu-card{background:linear-gradient(145deg,var(--burg-deep),var(--burg));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.card-face.ppu-card::after{content:'';position:absolute;inset:10px;border:1px solid rgba(201,150,58,.3);border-radius:8px;pointer-events:none}
.ppu-phrase{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:600;color:white;text-align:center;padding:0 14px;line-height:1.3;position:relative;z-index:1}
.ppu-num{font-size:9px;color:rgba(255,255,255,.4);letter-spacing:.12em;text-transform:uppercase;position:relative;z-index:1}
.card-deck-tag{display:inline-block;font-size:9px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;border-radius:20px;padding:3px 10px;margin-bottom:8px}
.tag-modal{background:#EEF6FF;color:#1A5FA8;border:1px solid #B3D4F5}
.tag-action{background:#FFF3E0;color:#8B4A00;border:1px solid #F5C97A}
.tag-pila{background:#E8F5E9;color:#1B5E20;border:1px solid #81C784}
.tag-ppu{background:var(--burg-light);color:var(--burg);border:1px solid rgba(107,26,42,.2)}
.tag-anchor{background:#F3E5F5;color:#6A1B9A;border:1px solid #CE93D8}
.tag-intensity{background:#FFF8E1;color:#F57F17;border:1px solid #FFE082}
.card-title-main{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:600;color:var(--burg-deep);line-height:1.1;margin-bottom:6px}
.card-sub{font-size:12px;color:var(--ink-light);margin-bottom:12px;font-style:italic}
.card-desc{font-size:13px;color:var(--ink-mid);line-height:1.65;margin-bottom:10px}
.phase-badge{display:inline-flex;align-items:center;gap:6px;background:var(--teal-light);border:1px solid rgba(29,158,117,.3);border-radius:20px;padding:4px 12px;margin-bottom:10px;font-size:10px;font-weight:600;color:var(--teal-dark)}
.fw-tags{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:16px}
.fw-tag{font-size:9px;background:var(--burg-pale);border:1px solid var(--border);border-radius:4px;padding:2px 7px;color:var(--burg);font-weight:500}
.nav-btns{display:flex;gap:8px}
.btn-prev{padding:8px 16px;border:1px solid var(--border);background:white;border-radius:7px;font-family:'Jost',sans-serif;font-size:11px;font-weight:500;color:var(--ink-mid);cursor:pointer;transition:all .15s}
.btn-prev:hover{border-color:var(--burg);color:var(--burg)}
.btn-next{padding:8px 18px;border:none;background:linear-gradient(135deg,var(--burg),var(--burg-mid));border-radius:7px;font-family:'Jost',sans-serif;font-size:11px;font-weight:600;color:white;cursor:pointer;box-shadow:0 3px 10px rgba(107,26,42,.3);transition:all .15s}
.btn-next:hover{transform:translateY(-1px)}
.session-setup{background:white;border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:18px;box-shadow:0 2px 10px rgba(74,15,28,.05)}
.session-setup-title{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-light);font-weight:600;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.session-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.session-field{display:flex;flex-direction:column;gap:4px}
.session-field label{font-size:10px;font-weight:600;color:var(--ink-mid);text-transform:uppercase;letter-spacing:.06em}
.session-field input,.session-field select{padding:7px 10px;border:1px solid var(--border);border-radius:7px;font-size:12px;font-family:'Jost',sans-serif;color:var(--ink);background:var(--cream);outline:none}
.session-field input:focus,.session-field select:focus{border-color:var(--burg-mid)}
.session-start-btn{background:linear-gradient(135deg,var(--burg),var(--burg-mid));color:white;border:none;border-radius:8px;padding:9px 20px;font-family:'Jost',sans-serif;font-size:12px;font-weight:600;cursor:pointer;letter-spacing:.04em}
.resp-panel{background:white;border:1px solid var(--border);border-radius:12px;padding:20px;box-shadow:0 2px 10px rgba(74,15,28,.05)}
.resp-title{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-light);font-weight:600;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.q-block{margin-bottom:16px}
.q-text{font-size:12px;color:var(--ink);font-weight:500;margin-bottom:8px}
.q-opts{display:flex;gap:6px;flex-wrap:wrap}
.q-opt{padding:5px 12px;border-radius:20px;border:1px solid var(--border);background:var(--cream);font-size:11px;color:var(--ink-mid);cursor:pointer;transition:all .12s;font-family:'Jost',sans-serif}
.q-opt:hover{border-color:var(--gold);background:var(--gold-pale)}
.q-opt.sel{background:var(--burg);border-color:var(--burg);color:white;font-weight:500}
.scale-wrap{display:flex;gap:5px;align-items:center}
.scale-lbl{font-size:10px;color:var(--ink-light);width:38px}
.scale-lbl:last-child{text-align:right}
.scale-btns{display:flex;gap:4px;flex:1;justify-content:center}
.sc-btn{width:30px;height:30px;border-radius:50%;border:1px solid var(--border);background:var(--cream);font-size:11px;font-weight:600;color:var(--ink-mid);cursor:pointer;transition:all .12s;font-family:'Jost',sans-serif;display:flex;align-items:center;justify-content:center}
.sc-btn:hover{border-color:var(--gold);background:var(--gold-pale)}
.sc-btn.sel{background:var(--burg);border-color:var(--burg);color:white}
.q-notes{width:100%;border:1px solid var(--border);border-radius:8px;padding:9px 11px;font-size:12px;font-family:'Jost',sans-serif;color:var(--ink);background:var(--cream);resize:none;height:60px;outline:none;transition:border-color .15s}
.q-notes:focus{border-color:var(--burg-mid);background:white}
.save-row{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--border);margin-top:4px}
.save-note{font-size:10px;color:var(--ink-light)}
.save-btn{padding:7px 18px;background:linear-gradient(135deg,var(--gold-dark),var(--gold));border:none;border-radius:6px;color:white;font-family:'Jost',sans-serif;font-size:11px;font-weight:600;cursor:pointer;letter-spacing:.05em;transition:all .15s}
.save-btn:hover{transform:translateY(-1px)}
.save-btn.saved{background:linear-gradient(135deg,#2D7A4F,#3DAA6A)}
.footer{margin-top:40px;padding-top:18px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.footer-l{font-size:10px;color:var(--ink-light);line-height:1.6}
.footer-l strong{color:var(--burg)}
.footer-r{font-size:10px;color:var(--ink-light);text-align:right}
.toast{position:fixed;bottom:20px;right:20px;z-index:9998;background:var(--burg-deep);color:white;padding:10px 18px;border-radius:8px;font-size:12px;font-weight:500;box-shadow:0 6px 20px rgba(74,15,28,.3);transform:translateY(60px);opacity:0;transition:all .3s}
.toast.show{transform:translateY(0);opacity:1}
@media(max-width:760px){
.main{grid-template-columns:1fr}
.stats{grid-template-columns:repeat(2,1fr)}
.deck-selector{grid-template-columns:repeat(3,1fr)}
.card-display{grid-template-columns:1fr}
.card-face{width:100%;height:200px}
.grid-panel{position:static}
.phases{grid-template-columns:repeat(4,1fr)}
.session-grid{grid-template-columns:1fr 1fr}
.gate-row,.gate-commission{grid-template-columns:1fr}
.gate-body{padding:1.2rem}
}
</style>
</head>
<div id="reg-gate">
<div class="gate-card">
<div class="gate-hero">
<div class="gate-logo">Power Phrase <span>Universe</span></div>
<div class="gate-tagline">FOUNDING PRACTITIONER PROGRAM 2026 — CLINICAL PORTAL</div>
<div class="gate-ticks">
<div class="gate-tick"><div class="gate-tick-dot">✓</div>Evidence-Informed</div>
<div class="gate-tick"><div class="gate-tick-dot">✓</div>AHPRA-Compliant</div>
<div class="gate-tick"><div class="gate-tick-dot">✓</div>6-Deck Suite</div>
<div class="gate-tick"><div class="gate-tick-dot">✓</div>7-Phase Framework</div>
</div>
</div>
<div class="pdf-banner">
<div class="pdf-banner-text">
<div class="pdf-banner-title">📋 Read before you register</div>
<div class="pdf-banner-sub">Download our Clinical Justification and CASEL Alignment document — the evidence base behind every card and phase in this portal.</div>
</div>
<a href="PASTE_YOUR_SHOPIFY_CDN_PDF_LINK_HERE" target="_blank" class="pdf-dl-btn">↓ Download PDF</a>
</div>
<div class="gate-body">
<div class="gate-title">Practitioner Registration</div>
<div class="gate-sub">Register to access the full 6-deck clinical suite, 7-phase session framework, response logging and session export. Your AHPRA number is required for verification.</div>
<div class="gate-form" id="gate-form">
<div class="gate-row">
<div class="gate-field">
<label>Full Name *</label>
<input type="text" id="g-name" placeholder="Dr. Jane Smith"/>
</div>
<div class="gate-field">
<label>Professional Title *</label>
<select id="g-title">
<option value="">Select title…</option>
<option>Registered Psychologist</option>
<option>Clinical Psychologist</option>
<option>Educational Psychologist</option>
<option>Developmental Psychologist</option>
<option>School Counsellor</option>
<option>Occupational Therapist</option>
<option>Speech Pathologist</option>
<option>Counsellor / Therapist</option>
<option>Other Allied Health</option>
</select>
</div>
</div>
<div class="gate-row">
<div class="gate-field">
<label>AHPRA Registration No. *</label>
<input type="text" id="g-ahpra" placeholder="e.g. PSY0001234567"/>
</div>
<div class="gate-field">
<label>Practice / Clinic Name</label>
<input type="text" id="g-clinic" placeholder="Clinic or school name"/>
</div>
</div>
<div class="gate-row">
<div class="gate-field">
<label>Email Address *</label>
<input type="email" id="g-email" placeholder="you@clinic.com.au"/>
</div>
<div class="gate-field">
<label>Phone (optional)</label>
<input type="tel" id="g-phone" placeholder="+61 4XX XXX XXX"/>
</div>
</div>
<div class="gate-field">
<label>Primary Age Group</label>
<select id="g-age">
<option value="">Select…</option>
<option>Early Childhood (0–5)</option>
<option>Primary School (6–12)</option>
<option>Secondary School (13–17)</option>
<option>Adults (18+)</option>
<option>Mixed / All ages</option>
</select>
</div>
<div class="gate-divider"></div>
<div>
<div class="gate-section-label">Commission Pathway *</div>
<div class="gate-commission">
<div class="comm-opt" id="comm-a" onclick="selectComm('A')">
<div class="comm-opt-title">Option A — Direct Commission</div>
<div class="comm-opt-desc">20% per referred sale paid directly to your practice. Client disclosure required.</div>
</div>
<div class="comm-opt" id="comm-b" onclick="selectComm('B')">
<div class="comm-opt-title">Option B — Charity Donation</div>
<div class="comm-opt-desc">20% donated to an Australian mental health charity in your clinic's name.</div>
</div>
</div>
<div class="charity-row" id="charity-row">
<div class="charity-btn" onclick="selectCharity(this)">Beyond Blue</div>
<div class="charity-btn" onclick="selectCharity(this)">Black Dog Institute</div>
<div class="charity-btn" onclick="selectCharity(this)">Other</div>
</div>
</div>
<div class="gate-divider"></div>
<div>
<div class="gate-section-label">AHPRA Disclosure and Agreement</div>
<div class="gate-disclosure">
<strong>Client Disclosure Statement:</strong> I would like to recommend Power Phrase Universe, which uses evidence-based SEL language cards developed in alignment with CBT and CASEL frameworks. I have been provided with a review copy as part of the Founding Practitioner Program. If you choose to purchase using my referral code, I receive a commission or a donation will be made to a charity in my clinic's name. This recommendation is made based on my professional judgment of its clinical utility. You are under no obligation to purchase.<br/><br/>
<strong>TGA Compliance:</strong> Power Phrase Universe is classified as an Educational SEL Tool, not a therapeutic device under the Therapeutic Goods Act 1989.
</div>
<div class="gate-agree">
<input type="checkbox" id="g-agree"/>
<span>I have read and understood the AHPRA disclosure. I agree to disclose my referral arrangement to clients and confirm my AHPRA registration number is accurate. *</span>
</div>
<div class="gate-error" id="gate-error">Please complete all required fields, select a commission pathway, and agree to the disclosure.</div>
</div>
<button class="gate-submit" onclick="submitGate()">Register and Access 6-Deck Clinical Portal</button>
</div>
<div class="gate-sending" id="gate-sending">
<div style="font-size:32px;margin-bottom:12px">⏳</div>
Submitting your registration…
</div>
<div class="gate-success" id="gate-success">
<div class="gate-success-icon">✦</div>
<div class="gate-success-title">Welcome to the Portal</div>
<div class="gate-success-msg">Your registration has been received. Your unique practitioner referral code and the Clinical Justification PDF will be emailed to you within 24 hours.<br/><br/>You now have full access to the 6-Deck Clinical Suite and 7-Phase Session Framework.</div>
<button class="gate-enter-btn" onclick="enterPortal()">Enter Clinical Portal</button>
</div>
</div>
</div>
</div>
<body>
<div class="wrap">
<header class="hdr">
<div class="logo">
Power Phrase <span>Universe</span>
<small>Clinical Card Viewer — 6 Deck Suite | 7-Phase Framework</small>
</div>
<div class="hdr-right">
<div class="badge">✓ AHPRA Verified</div>
<div class="badge badge-gold">✦ Founding Practitioner</div>
<button class="export-btn" onclick="exportSession()">Export Session ↓</button>
</div>
</header>
<div class="phase-bar">
<div class="phase-bar-title">Seven-Phase Clinical Session Framework — click any phase to jump</div>
<div class="phases" id="phase-bar">
<div class="phase-item active" onclick="jumpPhase(0)"><div class="ph-num" style="background:#1D9E75">1</div><div class="ph-name">PILA Cards</div></div>
<div class="phase-item" onclick="jumpPhase(1)"><div class="ph-num" style="background:#EF9F27">2</div><div class="ph-name">Feelings Intensity</div></div>
<div class="phase-item" onclick="jumpPhase(2)"><div class="ph-num" style="background:#D85A30">3</div><div class="ph-name">Anchor Cards</div></div>
<div class="phase-item" onclick="jumpPhase(3)"><div class="ph-num" style="background:#185FA5">4</div><div class="ph-name">Modal Verb Cards</div></div>
<div class="phase-item" onclick="jumpPhase(4)"><div class="ph-num" style="background:#6B1A2A">5</div><div class="ph-name">Power Action</div></div>
<div class="phase-item" onclick="jumpPhase(5)"><div class="ph-num" style="background:#042C53">6</div><div class="ph-name">Modal Sequences</div></div>
<div class="phase-item" onclick="jumpPhase(6)"><div class="ph-num" style="background:#444441">7</div><div class="ph-name">Session Export</div></div>
</div>
</div>
<div class="session-setup" id="session-setup">
<div class="session-setup-title">New Session — Child Details</div>
<div class="session-grid">
<div class="session-field"><label>Child First Name</label><input type="text" id="child-name" placeholder="First name only"/></div>
<div class="session-field"><label>Age</label><select id="child-age"><option value="">Select…</option><option>4</option><option>5</option><option>6</option><option>7</option><option>8</option><option>9</option><option>10</option><option>11</option><option>12</option><option>13</option><option>14</option><option>15</option><option>16</option></select></div>
<div class="session-field"><label>Session Number</label><select id="session-num"><option>Session 1</option><option>Session 2</option><option>Session 3</option><option>Session 4</option><option>Session 5</option><option>Session 6+</option><option>Ongoing</option></select></div>
<div class="session-field"><label>Presenting Concern</label><select id="presenting"><option value="">Select if applicable…</option><option>Anxiety</option><option>Depression</option><option>Trauma / PTSD</option><option>ADHD</option><option>ASD</option><option>Emotional dysregulation</option><option>Social difficulties</option><option>School refusal</option><option>Family breakdown</option><option>Grief and loss</option><option>Self-esteem</option><option>PDA profile</option><option>General wellbeing</option></select></div>
<div class="session-field"><label>Regulation on Arrival</label><select id="reg-level"><option value="">Select…</option><option>Green — calm and ready</option><option>Yellow — some tension</option><option>Orange — elevated distress</option><option>Red — acute dysregulation</option></select></div>
<div class="session-field" style="display:flex;align-items:flex-end"><button class="session-start-btn" onclick="startSession()">Begin Session →</button></div>
</div>
</div>
<div class="deck-selector" id="deck-selector"></div>
<div class="stats">
<div class="stat"><div class="stat-n" id="s-shown">1</div><div class="stat-l">Cards shown</div></div>
<div class="stat"><div class="stat-n" id="s-resp">0</div><div class="stat-l">Responses logged</div></div>
<div class="stat"><div class="stat-n" id="s-phase">Phase 1</div><div class="stat-l">Current phase</div></div>
<div class="stat"><div class="stat-n" id="s-top">—</div><div class="stat-l">Top response</div></div>
</div>
<div class="prog-wrap">
<div class="prog-row"><span id="prog-label">Session progress — Phase 1: PILA Cards</span><strong id="prog-pct">2%</strong></div>
<div class="prog-track"><div class="prog-fill" id="prog-fill" style="width:2%"></div></div>
</div>
<div class="main">
<div class="grid-panel">
<div class="panel-title">Cards — tap to present</div>
<div class="card-grid" id="card-grid"></div>
<div class="legend">
<div class="leg-item"><div class="leg-dot" style="border:2px solid var(--burg)"></div>Active</div>
<div class="leg-item"><div class="leg-dot" style="background:var(--gold-light)"></div>Shown ✓</div>
<div class="leg-item"><div class="leg-dot" style="background:var(--cream);border:1px solid var(--border)"></div>Unseen</div>
</div>
</div>
<div class="active-panel">
<div class="card-display" id="card-display">
<div class="card-face ppu-card" id="card-face" onclick="nextCard(1)">
<div class="ppu-phrase" id="card-phrase">Loading…</div>
<div class="ppu-num" id="card-num">Card 1</div>
</div>
<div class="card-meta">
<div class="phase-badge" id="phase-badge">Phase 1 — PILA Cards</div>
<div class="card-deck-tag tag-pila" id="card-deck-tag">PILA Cards</div>
<div class="card-title-main" id="card-title">Loading…</div>
<div class="card-sub" id="card-sub">Loading…</div>
<div class="card-desc" id="card-desc">Loading…</div>
<div class="fw-tags" id="card-tags"></div>
<div class="nav-btns">
<button class="btn-prev" onclick="nextCard(-1)">← Previous</button>
<button class="btn-next" onclick="nextCard(1)">Next card →</button>
</div>
</div>
</div>
<div class="resp-panel">
<div class="resp-title">Child response — log for this card</div>
<div class="q-block">
<div class="q-text">1. How did the child respond to this card?</div>
<div class="q-opts" id="q1">
<div class="q-opt" onclick="selQ(this,'q1')">Strong resonance</div>
<div class="q-opt" onclick="selQ(this,'q1')">Some interest</div>
<div class="q-opt" onclick="selQ(this,'q1')">Neutral</div>
<div class="q-opt" onclick="selQ(this,'q1')">Avoidance</div>
<div class="q-opt" onclick="selQ(this,'q1')">Distress</div>
</div>
</div>
<div class="q-block">
<div class="q-text">2. Emotional category observed</div>
<div class="q-opts" id="q2">
<div class="q-opt" onclick="selQ(this,'q2')">Safety / Calm</div>
<div class="q-opt" onclick="selQ(this,'q2')">Identity</div>
<div class="q-opt" onclick="selQ(this,'q2')">Regulation</div>
<div class="q-opt" onclick="selQ(this,'q2')">Connection</div>
<div class="q-opt" onclick="selQ(this,'q2')">Resilience</div>
<div class="q-opt" onclick="selQ(this,'q2')">Anxiety / Shutdown</div>
</div>
</div>
<div class="q-block">
<div class="q-text">3. Regulation shift observed (1 = none, 10 = breakthrough)</div>
<div class="scale-wrap">
<div class="scale-lbl">None</div>
<div class="scale-btns" id="q3">
<div class="sc-btn" onclick="selScale(this,'q3',1)">1</div>
<div class="sc-btn" onclick="selScale(this,'q3',2)">2</div>
<div class="sc-btn" onclick="selScale(this,'q3',3)">3</div>
<div class="sc-btn" onclick="selScale(this,'q3',4)">4</div>
<div class="sc-btn" onclick="selScale(this,'q3',5)">5</div>
<div class="sc-btn" onclick="selScale(this,'q3',6)">6</div>
<div class="sc-btn" onclick="selScale(this,'q3',7)">7</div>
<div class="sc-btn" onclick="selScale(this,'q3',8)">8</div>
<div class="sc-btn" onclick="selScale(this,'q3',9)">9</div>
<div class="sc-btn" onclick="selScale(this,'q3',10)">10</div>
</div>
<div class="scale-lbl">Breakthrough</div>
</div>
</div>
<div class="q-block">
<div class="q-text">4. Practitioner notes</div>
<textarea class="q-notes" id="q-notes" placeholder="Record observations, verbatim responses, or breakthrough moments…"></textarea>
</div>
<div class="save-row">
<div class="save-note">Saved per card — export full session as CSV at end of session</div>
<button class="save-btn" id="save-btn" onclick="saveResp()">Save response ✦</button>
</div>
</div>
</div>
</div>
<footer class="footer">
<div class="footer-l"><strong>Power Phrase Universe™</strong> — 6-Deck Clinical Suite · 7-Phase Framework · AHPRA-Compliant Referral Program<br>Developed in alignment with CASEL frameworks and CBT evidence-based psychological principles. Patent Pending.</div>
<div class="footer-r">powerphraseuniverse.com<br>Founder: Shree Danistha | Australian Teacher, 20+ Years<br>sales@shreepowerphraseuniverse.com</div>
</footer>
</div>
<div class="toast" id="toast">Response saved ✦</div>
<script>
const CDN='https://www.powerphraseuniverse.com/cdn/shop/files/';
const PHASES=[
{num:1,name:'PILA Cards',color:'#1D9E75',deckIndex:1},
{num:2,name:'Feelings Intensity',color:'#EF9F27',deckIndex:4},
{num:3,name:'Anchor Cards',color:'#D85A30',deckIndex:5},
{num:4,name:'Modal Verb Cards',color:'#185FA5',deckIndex:2},
{num:5,name:'Power Action',color:'#6B1A2A',deckIndex:3},
{num:6,name:'Modal Sequences',color:'#042C53',deckIndex:2},
{num:7,name:'Session Export',color:'#444441',deckIndex:-1},
];
const DECKS=[
{id:'ppu',name:'Power Phrase Universe',icon:'✦',tagClass:'tag-ppu',tagLabel:'PPU — Core Phrases',phase:'All Phases',cards:[
{phrase:'I Might Be',sub:'Opening possibility without pressure',desc:'Opens self-exploration without demanding certainty. Invites curiosity over declaration — activating prefrontal cortex reflection.',tags:['CBT','ACT','CASEL: Self-Awareness'],img:null},
{phrase:'I Can Try',sub:'Building courage gently',desc:'Removes pressure of guaranteed success while affirming capacity to engage. Ideal for fear-of-failure presentations.',tags:['CBT','CASEL: Self-Management'],img:null},
{phrase:"It's Okay",sub:'Validating difficult emotions',desc:'Provides permission to experience difficult emotions without shame. Activates top-down regulation.',tags:['DBT','ACT','CASEL: Self-Awareness'],img:null},
{phrase:'I Feel Safe',sub:'Anchoring emotional security',desc:'Activates the parasympathetic nervous system. Particularly effective at session opening.',tags:['CBT','CASEL: Self-Management'],img:null},
{phrase:'I Am Enough',sub:'Reinforcing intrinsic self-worth',desc:'Directly challenges negative core beliefs. Maps to Cognitive Restructuring in CBT.',tags:['CBT','CASEL: Self-Awareness'],img:null},
{phrase:'I Can Pause',sub:'Teaching emotional regulation',desc:'Introduces the cognitive pause — the gap between stimulus and response. A foundational DBT skill.',tags:['DBT','CASEL: Self-Management'],img:null},
{phrase:'I Notice',sub:'Building mindful self-awareness',desc:'A mindfulness anchor phrase. Encourages observational distance from emotional states.',tags:['ACT','CASEL: Self-Awareness'],img:null},
{phrase:'I Choose',sub:'Strengthening internal agency',desc:'Reinforces internal locus of control. Particularly powerful for children who feel powerless.',tags:['CBT','CASEL: Decision-Making'],img:null},
{phrase:'I Belong',sub:'Fostering community and inclusion',desc:'Addresses core social belonging needs. Effective in group therapy or classroom settings.',tags:['CASEL: Social Awareness','Narrative Therapy'],img:null},
{phrase:'I Am Brave',sub:'Growing confidence through small acts',desc:'Reframes bravery as an internal quality. Effective for anxious children who avoid challenge.',tags:['CBT','CASEL: Self-Confidence'],img:null},
{phrase:'I Can Ask',sub:'Normalising seeking help',desc:'Reduces shame associated with not knowing or needing support.',tags:['CBT','CASEL: Social Awareness'],img:null},
{phrase:'I Am Learning',sub:'Embracing a growth mindset',desc:'A growth mindset anchor. Reframes mistakes as part of a developmental process.',tags:['CBT','CASEL: Self-Management'],img:null},
{phrase:'I Can Rest',sub:'Permission for recovery',desc:'Validates rest as a healthy and necessary part of emotional regulation.',tags:['DBT','ACT'],img:null},
{phrase:'I Am Kind',sub:'Connecting kindness to identity',desc:'Anchors prosocial behaviour to identity. Most effective with children showing aggression.',tags:['CASEL: Social Awareness','Narrative Therapy'],img:null},
{phrase:'I Feel Strong',sub:'Building on moments of strength',desc:'Helps the child locate internal evidence of resilience.',tags:['Narrative Therapy','CASEL: Self-Awareness'],img:null},
{phrase:'I Can Wait',sub:'Building tolerance for uncertainty',desc:'Develops distress tolerance — a core DBT skill. Effective for impulsivity and ADHD.',tags:['DBT','CASEL: Self-Management'],img:null},
{phrase:'I Am Heard',sub:'Affirming the need to be witnessed',desc:'Particularly powerful with children who have experienced dismissal or emotional neglect.',tags:['Attachment Theory','CASEL: Social Awareness'],img:null},
{phrase:'I Can Change',sub:'Affirming neuroplasticity',desc:'Reflects the science of neuroplasticity back to the child. Supports hope and reduces helplessness.',tags:['CBT','ACT','CASEL: Self-Management'],img:null},
{phrase:'I Feel Calm',sub:'Language for the regulated state',desc:'Provides language for the experience of calm — which many dysregulated children cannot name.',tags:['DBT','Somatic','CASEL: Self-Management'],img:null},
{phrase:'I Am Curious',sub:'Activating exploration over anxiety',desc:'Reframes anxiety as curiosity — an ACT technique. Shifts from threat to wonder.',tags:['ACT','CASEL: Self-Awareness'],img:null},
{phrase:'I Can Breathe',sub:'Somatic regulation through language',desc:'Connects the Power Phrase to the physical act of breathing.',tags:['DBT','Somatic','CASEL: Self-Management'],img:null},
{phrase:'I Am Worthy',sub:'Challenging unworthiness at the core',desc:'Directly targets the core belief of unworthiness — most common in depression and social anxiety.',tags:['CBT','Schema Therapy'],img:null},
{phrase:'I Feel Joy',sub:'Naming and anchoring positive states',desc:'Many dysregulated children cannot identify or allow positive emotions. This phrase gives permission.',tags:['ACT','Positive Psychology'],img:null},
{phrase:'I Can Grow',sub:'Identity-level growth language',desc:'Frames growth as part of the child\'s identity.',tags:['CASEL: Self-Management','CBT'],img:null},
{phrase:'I Am Present',sub:'Grounding in the here and now',desc:'A mindfulness phrase anchoring the child in the present moment. Effective for trauma histories.',tags:['ACT','Trauma-Informed','CASEL: Self-Awareness'],img:null},
{phrase:'I Can Forgive',sub:'Opening the path through difficult feelings',desc:'Introduces forgiveness as a process. Effective in later therapy stages.',tags:['ACT','Narrative Therapy'],img:null},
{phrase:'I Feel Proud',sub:'Internalising achievement and effort',desc:'Builds internal pride not dependent on external validation.',tags:['CBT','Positive Psychology','CASEL: Self-Awareness'],img:null},
{phrase:'I Am Resilient',sub:'Identity-level resilience framing',desc:'Moves resilience from a behaviour to an identity.',tags:['Narrative Therapy','CBT','CASEL: Self-Management'],img:null},
{phrase:'I Can Share',sub:'Lowering the barrier to vulnerability',desc:'Normalises the act of sharing as safe and relational.',tags:['CASEL: Social Awareness','Attachment Theory'],img:null},
{phrase:'I Am Grateful',sub:'Building the gratitude-wellbeing link',desc:'Gratitude practice is one of the most evidenced positive psychology interventions.',tags:['Positive Psychology','CASEL: Social Awareness'],img:null},
{phrase:'I Feel Loved',sub:'Language for felt love and connection',desc:'Many children with insecure attachment cannot name or feel love.',tags:['Attachment Theory','CASEL: Relationship Skills'],img:null},
{phrase:'I Can Adapt',sub:'Flexibility as a strength',desc:'Teaches cognitive flexibility — the ability to shift perspective and strategy.',tags:['CBT','CASEL: Self-Management'],img:null},
{phrase:'I Am Honest',sub:'Connecting honesty to core identity',desc:'Anchors honesty to identity rather than rule-following.',tags:['Narrative Therapy','CASEL: Responsible Decision-Making'],img:null},
{phrase:'I Feel Seen',sub:'Affirming the need for visibility',desc:'Extremely powerful for children who have felt invisible or marginalised.',tags:['Attachment Theory','Trauma-Informed'],img:null},
{phrase:'I Can Heal',sub:'Framing healing as possible',desc:'Positions healing as a personal journey the child has agency over.',tags:['Trauma-Informed','ACT','CASEL: Self-Management'],img:null},
{phrase:'I Am Capable',sub:'Building competence-based identity',desc:'Challenges the core belief of incompetence.',tags:['CBT','CASEL: Self-Awareness'],img:null},
{phrase:'I Feel Wonder',sub:'Rekindling curiosity and delight',desc:'Reconnects the child to wonder as a coping state.',tags:['Positive Psychology','ACT'],img:null},
{phrase:'I Can Connect',sub:'Agency in building relationships',desc:'Positions connection as an active choice. Reduces passivity in social anxiety.',tags:['CASEL: Relationship Skills','CBT'],img:null},
{phrase:'I Am Unique',sub:'Celebrating individual difference',desc:'Particularly powerful for children who experience bullying due to perceived difference.',tags:['Narrative Therapy','CASEL: Self-Awareness'],img:null},
{phrase:'I Feel Hope',sub:'Language for future orientation',desc:'Hope is a measurable psychological construct — children who name hope have better outcomes.',tags:['CBT','Positive Psychology','CASEL: Self-Management'],img:null},
{phrase:'I Can Imagine',sub:'Activating the creative-reflective mind',desc:'Engages the default mode network — the brain\'s reflective centre.',tags:['ACT','Narrative Therapy'],img:null},
{phrase:'I Am Creative',sub:'Creativity as a core self-strength',desc:'Anchors creativity to identity. Can shift the entire self-narrative.',tags:['Positive Psychology','Narrative Therapy'],img:null},
{phrase:'I Feel Peace',sub:'Language for the still settled state',desc:'Provides language for inner peace — which many anxious children have never consciously named.',tags:['DBT','ACT','Somatic'],img:null},
{phrase:'I Can Lead',sub:'Positioning the child as capable',desc:'Shifts the child from passive to active. Powerful for children with a victim narrative.',tags:['Narrative Therapy','CASEL: Social Awareness'],img:null},
{phrase:'I Am Whole',sub:'Countering fragmentation and shame',desc:'A direct counter to the fragmentation experienced in trauma.',tags:['Trauma-Informed','Schema Therapy'],img:null},
{phrase:'I Feel Light',sub:'Language for relief and lightness',desc:'Gives language to the experience of emotional relief.',tags:['Somatic','DBT'],img:null},
{phrase:'I Can Support',sub:'Building the capacity to give care',desc:'Shifts the child\'s identity from receiver of care to giver — supporting self-worth.',tags:['CASEL: Social Awareness','Positive Psychology'],img:null},
{phrase:'I Am Ready',sub:'Language for empowered forward movement',desc:'A threshold phrase. Signals readiness to engage with challenge.',tags:['CBT','CASEL: Self-Management'],img:null},
{phrase:'I Feel Free',sub:'Language for liberation from constraint',desc:'Maps to ACT\'s psychological flexibility construct.',tags:['ACT','Positive Psychology'],img:null},
{phrase:'I Am Me',sub:'The foundational identity affirmation',desc:'The culminating phrase. Being yourself is enough valid and worthy of respect and love.',tags:['Narrative Therapy','CASEL: Self-Awareness','CBT'],img:null},
]},
{id:'pila',name:'PILA Cards',icon:'🌿',tagClass:'tag-pila',tagLabel:'Phase 1 — PILA | Somatic Safety',phase:'Phase 1',cards:[
{phrase:'Choose What Comes Next',sub:'Agency and forward movement',desc:'Invites the child to take ownership of next steps. Builds internal locus of control.',tags:['CBT','CASEL: Decision-Making'],img:CDN+'CHOOSE_WHAT_COMES_NEXT.png'},
{phrase:'Breathe Slowly',sub:'Somatic regulation anchor',desc:'Slow breathing activates the parasympathetic nervous system reducing cortisol and amygdala activation.',tags:['DBT','Somatic','Trauma-Informed'],img:CDN+'BRREATHE_SLOWLY_2.png'},
{phrase:'Breathe Slowly',sub:'Alternate version',desc:'Second version reinforcing the somatic regulation message with different visual anchors.',tags:['DBT','Somatic'],img:CDN+'BREATHE_SLOWLY.png'},
{phrase:'Take Space',sub:'Permission for self-regulation',desc:'Validates the need for physical and emotional space as a healthy coping strategy.',tags:['DBT','Trauma-Informed','CASEL: Self-Management'],img:CDN+'TAKE_SPACE.png'},
{phrase:'Try Again',sub:'Resilience without shame',desc:'Reframes failure as part of the learning process.',tags:['CBT','Growth Mindset','CASEL: Self-Management'],img:CDN+'TRY_AGAIN_2.png'},
{phrase:'Try Again',sub:'Alternate version',desc:'Second version reinforcing persistence.',tags:['CBT','Growth Mindset'],img:CDN+'TRY_AGAIN.png'},
{phrase:"I Won't Leave",sub:'Safety and relational anchoring',desc:'A powerful statement from practitioner to client. Establishes relational safety and models secure attachment.',tags:['Attachment Theory','Trauma-Informed'],img:CDN+'I_WONT_LEAVE_2.png'},
{phrase:"I Won't Leave",sub:'Alternate version',desc:'Second version. Repeated message reinforces the therapeutic relationship.',tags:['Attachment Theory'],img:CDN+'I_WONT_LEAVE.png'},
{phrase:"I Won't Rush You",sub:'Pacing and emotional safety',desc:'Communicates unconditional patience. Powerful for children who feel pressure to perform healing.',tags:['Trauma-Informed','Attachment Theory'],img:CDN+'I_WONT_RUSH_YOU_2.png'},
{phrase:"I Won't Rush You",sub:'Alternate version',desc:'Second version reinforcing the no-pressure environment.',tags:['Trauma-Informed'],img:CDN+'I_WONT_RUSH_YOU.png'},
{phrase:"I Won't Judge You",sub:'Unconditional acceptance',desc:'Removes the fear of judgment — a significant barrier to therapeutic disclosure.',tags:['ACT','Person-Centred','CASEL: Social Awareness'],img:CDN+'I_WONT_JUDGE_YOU.png'},
{phrase:"I Won't Judge You",sub:'Alternate version',desc:'Second version.',tags:['ACT','Person-Centred'],img:CDN+'I_WONT_JUDGEYOU_2.png'},
{phrase:"I Won't Make This Harder",sub:'Reducing perceived threat',desc:'Directly addresses the fear that therapy will increase suffering.',tags:['Trauma-Informed','CBT'],img:CDN+'I_wont_make_this_harder.png'},
{phrase:'I Am Still Here',sub:'Consistent relational presence',desc:'Models secure attachment and relational constancy. Powerful after ruptures or difficult sessions.',tags:['Attachment Theory','Trauma-Informed'],img:CDN+'I_AM_STILL_HERE.png'},
{phrase:"You're Important",sub:'Affirming inherent worth',desc:'A direct statement of value from practitioner to client. Counters the core belief of worthlessness.',tags:['CBT','Person-Centred'],img:CDN+'Your_important.png'},
{phrase:'Big Feelings Are Okay',sub:'Normalising emotional intensity',desc:'Validates emotional dysregulation as a normal human experience. Reduces shame.',tags:['DBT','ACT','CASEL: Self-Awareness'],img:CDN+'Big_feelings_are_okay.png'},
{phrase:'You Belong Here',sub:'Inclusion and relational safety',desc:'Establishes the therapeutic or educational space as safe and belonging to the child.',tags:['CASEL: Social Awareness','Attachment Theory'],img:CDN+'You_belong_here.png'},
{phrase:'You Belong Here',sub:'Alternate version',desc:'Second version for classroom or group settings.',tags:['CASEL: Social Awareness'],img:CDN+'You_belong_here..png'},
{phrase:'We Are Figuring This Out',sub:'Collaborative problem-solving',desc:'Positions the practitioner and child as co-investigators. Reduces power differential.',tags:['Narrative Therapy','CBT'],img:CDN+'figuring_out.png'},
{phrase:'We Will Figure This Out',sub:'Confidence in the process',desc:'Forward-oriented version. Expresses confidence without pressure.',tags:['CBT','Narrative Therapy'],img:CDN+'Figure_this_out.png'},
{phrase:'Your Learning Matters',sub:'Affirming educational identity',desc:'Connects the child\'s learning to their sense of value.',tags:['CASEL: Self-Awareness','Growth Mindset'],img:CDN+'your_learning.png'},
{phrase:'Right Now Is Okay',sub:'Present-moment acceptance',desc:'An ACT-grounded phrase bringing the child back to the present. Counters future-oriented anxiety.',tags:['ACT','DBT','CASEL: Self-Management'],img:CDN+'Right_now_is_okay.jpg'},
{phrase:'Pause',sub:'The foundational regulation anchor',desc:'The most fundamental regulation tool. Creates space between stimulus and response.',tags:['DBT','ACT','Somatic','CASEL: Self-Management'],img:CDN+'pause.jpg'},
]},
{id:'modal',name:'Modal Verb Cards',icon:'🗣️',tagClass:'tag-modal',tagLabel:'Phase 4 — Modal Verbs | Cognitive Flexibility',phase:'Phase 4',cards:[
{phrase:'I could',sub:'Possibility language',desc:'Opens possibility thinking. Reduces the perceived weight of commitment while expanding available options.',tags:['CBT','ACT','CASEL: Decision-Making'],img:CDN+'POWER_PHRASE_CARDS_SUNDAY_Page_01.jpg'},
{phrase:'I am going to',sub:'Intentional forward commitment',desc:'Transforms vague hope into concrete intention. Activates the prefrontal cortex planning function.',tags:['CBT','CASEL: Self-Management'],img:CDN+'POWER_PHRASE_CARDS_SUNDAY_Page_02.jpg'},
{phrase:'I might be',sub:'Tentative identity exploration',desc:'A softer identity phrase allowing the child to try on new self-concepts without full commitment.',tags:['ACT','Narrative Therapy'],img:CDN+'POWER_PHRASE_CARDS_SUNDAY_Page_03.jpg'},
{phrase:'I AM',sub:'Core identity declaration',desc:'The foundational identity statement. Present certain and grounded.',tags:['CBT','CASEL: Self-Awareness'],img:CDN+'POWER_PHRASE_CARDS_SUNDAY_Page_04.jpg'},
{phrase:'I WILL',sub:'Future commitment language',desc:'Expresses confident future intention. Builds motivation and activates goal-directed behaviour.',tags:['CBT','CASEL: Self-Management'],img:CDN+'POWER_PHRASE_CARDS_SUNDAY_Page_05.jpg'},
{phrase:'I AM',sub:'Identity alternate version',desc:'Second version of the core identity card.',tags:['CBT','CASEL: Self-Awareness'],img:CDN+'POWER_PHRASE_CARDS_SUNDAY_Page_06.jpg'},
{phrase:'I AM',sub:'Identity card version',desc:'Third version with card border format.',tags:['CBT','CASEL: Self-Awareness'],img:CDN+'POWER_PHRASE_CARDS_SUNDAY_Page_07.jpg'},
{phrase:'We shall',sub:'Collaborative future language',desc:'Introduces shared commitment and collective agency. Effective in group settings.',tags:['CASEL: Social Awareness','Relationship Skills'],img:CDN+'POWER_PHRASE_CARDS_SUNDAY_Page_08.jpg'},
{phrase:'I would',sub:'Conditional desire language',desc:'Opens up wishes and desires without pressure.',tags:['CBT','ACT'],img:CDN+'POWER_PHRASE_CARDS_SUNDAY_Page_09.jpg'},
{phrase:'I WOULD',sub:'Desire alternate version',desc:'Second version with stronger visual emphasis.',tags:['CBT','ACT'],img:CDN+'POWER_PHRASE_CARDS_SUNDAY_Page_10.jpg'},
{phrase:'I will',sub:'Personal commitment',desc:'A quieter more personal version of commitment language.',tags:['CBT','CASEL: Self-Management'],img:CDN+'POWER_PHRASE_CARDS_SUNDAY_Page_11.jpg'},
{phrase:'She will',sub:'Third-person empowerment',desc:'Introduces third-person perspective-taking. Helps children externalise the empowered version of themselves.',tags:['Narrative Therapy','CASEL: Social Awareness'],img:CDN+'POWER_PHRASE_CARDS_SUNDAY_Page_12.jpg'},
{phrase:'I need to',sub:'Needs identification language',desc:'Gives language to unmet needs. Children who can name needs can begin to have them met.',tags:['DBT','CASEL: Self-Awareness'],img:CDN+'POWER_PHRASE_CARDS_SUNDAY_Page_14.jpg'},
{phrase:'I need to',sub:'Needs alternate version',desc:'Second version.',tags:['DBT','CASEL: Self-Awareness'],img:CDN+'POWER_PHRASE_CARDS_SUNDAY_Page_15.jpg'},
{phrase:'I need to',sub:'Needs third version',desc:'Third version. Repetition reinforces the safety of naming needs.',tags:['DBT'],img:CDN+'POWER_PHRASE_CARDS_SUNDAY_Page_16.jpg'},
{phrase:'I could',sub:'Possibility alternate version',desc:'Second version with lighter visual styling.',tags:['CBT','ACT'],img:CDN+'POWER_PHRASE_CARDS_SUNDAY_Page_17.jpg'},
{phrase:'WE CAN',sub:'Collective capability language',desc:'Affirms collective agency and shared strength.',tags:['CASEL: Social Awareness','Relationship Skills'],img:CDN+'POWER_PHRASE_CARDS_SUNDAY_Page_20.jpg'},
{phrase:'WE CAN',sub:'Collective alternate version',desc:'Second version with more diverse representation.',tags:['CASEL: Social Awareness'],img:CDN+'POWER_PHRASE_CARDS_SUNDAY_Page_21.jpg'},
{phrase:'I might be',sub:'Tentative identity alternate',desc:'Second version.',tags:['ACT','Narrative Therapy'],img:CDN+'POWER_PHRASE_CARDS_SUNDAY_Page_22.jpg'},
{phrase:'I WANT TO',sub:'Desire and aspiration language',desc:'Names desire explicitly. Powerful for children who have suppressed wanting.',tags:['ACT','DBT','CASEL: Self-Awareness'],img:CDN+'POWER_PHRASE_CARDS_SUNDAY_Page_23.jpg'},
{phrase:'I NEED TO',sub:'Needs emphatic version',desc:'Emphasised version. Use when the child needs strong visual reinforcement.',tags:['DBT','CASEL: Self-Awareness'],img:CDN+'POWER_PHRASE_CARDS_SUNDAY_Page_24.jpg'},
{phrase:'I might be',sub:'Tentative third version',desc:'Third version.',tags:['ACT'],img:CDN+'POWER_PHRASE_CARDS_SUNDAY_Page_26.jpg'},
{phrase:'I will',sub:'Commitment quiet version',desc:'For children overwhelmed by strong visual language.',tags:['CBT','CASEL: Self-Management'],img:CDN+'POWER_PHRASE_CARDS_SUNDAY_Page_27.jpg'},
{phrase:'I WILL',sub:'Commitment bold version',desc:'Bold version for children who respond to strong confident declarations.',tags:['CBT','CASEL: Self-Management'],img:CDN+'POWER_PHRASE_CARDS_SUNDAY_Page_28.jpg'},
{phrase:'I AM',sub:'Identity fourth version',desc:'Fourth identity card.',tags:['CBT','CASEL: Self-Awareness'],img:CDN+'POWER_PHRASE_CARDS_SUNDAY_Page_29.jpg'},
{phrase:'I might be',sub:'Tentative fourth version',desc:'Fourth version.',tags:['ACT','Narrative Therapy'],img:CDN+'POWER_PHRASE_CARDS_SUNDAY_Page_30.jpg'},
{phrase:'I might be',sub:'Tentative fifth version',desc:'Fifth version.',tags:['ACT'],img:CDN+'POWER_PHRASE_CARDS_SUNDAY_Page_31.jpg'},
{phrase:'HE WILL',sub:'Third-person male empowerment',desc:'Third-person male empowerment card.',tags:['Narrative Therapy','CASEL: Social Awareness'],img:CDN+'POWER_PHRASE_CARDS_SUNDAY_Page_32.jpg'},
{phrase:'I would',sub:'Desire quiet version',desc:'Quieter version for children who find direct desire language threatening.',tags:['CBT','ACT'],img:CDN+'POWER_PHRASE_CARDS_SUNDAY_Page_33.jpg'},
{phrase:'I will',sub:'Commitment purple version',desc:'Colour variation helps children with sensory preferences engage more deeply.',tags:['CBT','CASEL: Self-Management'],img:CDN+'POWER_PHRASE_CARDS_SUNDAY_Page_34.jpg'},
{phrase:'SHE WILL',sub:'Third-person female empowerment',desc:'Supports girls in externalising the empowered version of themselves.',tags:['Narrative Therapy','CASEL: Social Awareness'],img:CDN+'POWER_PHRASE_CARDS_SUNDAY_Page_35.jpg'},
{phrase:'I could',sub:'Possibility third version',desc:'Third possibility card.',tags:['CBT','ACT'],img:CDN+'POWER_PHRASE_CARDS_SUNDAY_Page_36.jpg'},
]},
{id:'action',name:'Power Action Cards',icon:'⚡',tagClass:'tag-action',tagLabel:'Phase 5 — Power Action | Prosocial Identity',phase:'Phase 5',cards:[
{phrase:'Helping',sub:'Prosocial action and contribution',desc:'Children who help feel more connected capable and valued.',tags:['CASEL: Social Awareness','Prosocial'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_02.jpg'},
{phrase:'Comfort',sub:'Emotional warmth and self-soothing',desc:'Names comfort as both something to receive and give. Activates the attachment system.',tags:['Attachment Theory','DBT','Somatic'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_03.jpg'},
{phrase:'Empowered',sub:'Internal power and capability',desc:'A full-body felt-sense of power.',tags:['Somatic','CASEL: Self-Awareness','CBT'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_04.jpg'},
{phrase:'Survive',sub:'Resilience through adversity',desc:'Frames survival as a strength. Powerful for children who have been through difficult experiences.',tags:['Trauma-Informed','Narrative Therapy'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_05.jpg'},
{phrase:'Carry On',sub:'Persistence and forward movement',desc:'Action-oriented resilience. Moving forward despite difficulty.',tags:['CBT','ACT','Growth Mindset'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_06.jpg'},
{phrase:'Present',sub:'Mindful engagement with now',desc:'Being fully present — grounded in the body and moment. Counteracts dissociation.',tags:['ACT','Somatic','CASEL: Self-Awareness'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_07.jpg'},
{phrase:'Bear',sub:'Bearing difficulty with dignity',desc:'Holding difficulty without being destroyed by it. A distress tolerance concept from DBT.',tags:['DBT','ACT','Resilience'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_08.jpg'},
{phrase:'Abundant',sub:'Abundance mindset and possibility',desc:'Shifts the child from scarcity to abundance orientation.',tags:['Positive Psychology','CBT','Growth Mindset'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_09.jpg'},
{phrase:'Joyful',sub:'Permission for and celebration of joy',desc:'Many children with difficult histories feel unsafe experiencing joy.',tags:['ACT','Positive Psychology','CASEL: Self-Awareness'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_10.jpg'},
{phrase:'Persist',sub:'Determination and grit',desc:'The emotional and physical felt-sense of persistence.',tags:['CBT','Growth Mindset','CASEL: Self-Management'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_11.jpg'},
{phrase:'Satisfied',sub:'Contentment and completion',desc:'Names satisfaction — often absent in children with anxiety or perfectionism.',tags:['DBT','ACT','Positive Psychology'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_12.jpg'},
{phrase:'Energised',sub:'Vitality and activation',desc:'Helps children distinguish anxious arousal from excited readiness.',tags:['Somatic','CASEL: Self-Awareness'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_14.jpg'},
{phrase:'Important',sub:'Inherent significance and value',desc:'The felt sense of mattering. Counters the belief I am not important.',tags:['CBT','Person-Centred','CASEL: Self-Awareness'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_15.jpg'},
{phrase:'Brighten',sub:'Bringing light to self and others',desc:'The experience of brightening — both internally and relationally.',tags:['Positive Psychology','CASEL: Social Awareness'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_16.jpg'},
{phrase:'Brighten',sub:'Alternate version',desc:'Second version with torch imagery.',tags:['Positive Psychology'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_17.jpg'},
{phrase:'Applaud',sub:'Celebrating self and others',desc:'The act of celebration and acknowledgement.',tags:['Positive Psychology','CASEL: Social Awareness'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_20.jpg'},
{phrase:'Ordering',sub:'Understanding power dynamics',desc:'Shows an unhelpful communication pattern. Use therapeutically to help children name experiences.',tags:['Narrative Therapy','CASEL: Social Awareness'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_22.jpg'},
{phrase:'Lecturing',sub:'Recognising unhelpful communication',desc:'Names the experience of being lectured.',tags:['Narrative Therapy','CBT'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_23.jpg'},
{phrase:'Defend',sub:'Protection and advocacy',desc:'The act of defending someone who needs protection.',tags:['CASEL: Social Awareness','Prosocial'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_25.jpg'},
{phrase:'Support',sub:'Active relational care',desc:'Depicts active support in a moment of need.',tags:['CASEL: Relationship Skills','Attachment Theory'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_26.jpg'},
{phrase:'Safeguard',sub:'Protection and safety',desc:'Particularly powerful for children who have lacked consistent adult protection.',tags:['Attachment Theory','Trauma-Informed'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_27.jpg'},
{phrase:'Stand Guard',sub:'Active protection and vigilance',desc:'The act of standing guard — protecting others.',tags:['CASEL: Social Awareness','Prosocial'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_29.jpg'},
{phrase:'Shade',sub:'Shelter comfort and rest together',desc:'The act of providing shade — shelter from difficulty.',tags:['Attachment Theory','CASEL: Relationship Skills'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_30.jpg'},
{phrase:'Safe',sub:'The felt sense of safety',desc:'The embodied experience of safety — relaxed at peace held.',tags:['Attachment Theory','Trauma-Informed','Somatic'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_32.jpg'},
{phrase:'Preserve',sub:'Protecting what is precious',desc:'The act of preserving something valuable.',tags:['ACT','Narrative Therapy','Positive Psychology'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_33.jpg'},
{phrase:'Reassuring',sub:'Comfort through relationship',desc:'The experience of being reassured by a caring other.',tags:['Attachment Theory','DBT'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_37.jpg'},
{phrase:'Recover',sub:'Healing and restoration',desc:'The gentle process of recovery — normalises rest after difficulty.',tags:['Trauma-Informed','ACT','Somatic'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_38.jpg'},
{phrase:'Reassuring',sub:'Reassurance alternate version',desc:'Second version with different visual context.',tags:['Attachment Theory'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_39.jpg'},
{phrase:'Helping',sub:'Helping peer support version',desc:'Second helping card depicting peer support.',tags:['CASEL: Social Awareness','Prosocial'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_43.jpg'},
{phrase:'Helping',sub:'Helping gentle version',desc:'Third helping card with gentler imagery.',tags:['CASEL: Social Awareness'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_44.jpg'},
{phrase:'Trick Card',sub:'Mirror Me game mechanic',desc:'A playful engagement card. Use to break tension and build rapport.',tags:['Rapport-Building','Engagement'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_45.jpg'},
{phrase:'Helping',sub:'Helping fourth version',desc:'Fourth helping card.',tags:['CASEL: Social Awareness','Prosocial'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_49.jpg'},
{phrase:'Helping',sub:'Helping fifth version',desc:'Fifth helping card.',tags:['CASEL: Social Awareness'],img:CDN+'50_POWER_CARDS_FOR_CHINA_Page_50.jpg'},
]},
{id:'intensity',name:'Feelings Intensity',icon:'🌡️',tagClass:'tag-intensity',tagLabel:'Phase 2 — Feelings Intensity | Emotional Scaling',phase:'Phase 2',cards:[
{phrase:'Level 1 — Calm',sub:'Baseline regulation',desc:'The child identifies they are at a baseline calm state. Confirm safety and readiness to engage with session material.',tags:['DBT','CASEL: Self-Awareness'],img:null},
{phrase:'Level 2 — A Little Wobbly',sub:'Mild emotional activation',desc:'Slight tension or unease. The child is still accessible but may need grounding before proceeding.',tags:['DBT','Somatic'],img:null},
{phrase:'Level 3 — Worried',sub:'Moderate anxiety activation',desc:'Anxiety is present. Use PILA anchor cards before progressing to modal verb work.',tags:['CBT','DBT','CASEL: Self-Awareness'],img:null},
{phrase:'Level 4 — Upset',sub:'Elevated emotional distress',desc:'The child is noticeably upset. Stay in Phase 1 to 2. Do not progress to cognitive work until regulation improves.',tags:['DBT','Trauma-Informed'],img:null},
{phrase:'Level 5 — Overwhelmed',sub:'Acute dysregulation',desc:'The child is in acute distress. Use PILA safety anchors only. Physical co-regulation may be needed.',tags:['Trauma-Informed','Somatic','Attachment Theory'],img:null},
{phrase:'Level 6 — Shutdown',sub:'Dissociative or frozen state',desc:'The child has shut down. Gentle presence only. No verbal demands. Use I Am Still Here and Right Now Is Okay PILA cards.',tags:['Trauma-Informed','Attachment Theory'],img:null},
{phrase:'Level 7 — Explosive',sub:'Full amygdala hijack state',desc:'Full fight-or-flight activation. Session paused. Focus exclusively on physical safety and co-regulation.',tags:['Trauma-Informed','Somatic'],img:null},
{phrase:'Moving Up',sub:'Escalation pattern observed',desc:'The child intensity is increasing during the session. Return to Phase 1 PILA cards immediately.',tags:['DBT','CASEL: Self-Management'],img:null},
{phrase:'Moving Down',sub:'De-escalation observed',desc:'The child intensity is reducing. This is a significant positive indicator. Note the trigger and the card that supported the shift.',tags:['DBT','Positive Psychology'],img:null},
{phrase:'Steady',sub:'Holding regulated state',desc:'The child is maintaining a stable regulated state. This is the optimal window for modal verb and cognitive work.',tags:['DBT','ACT'],img:null},
]},
{id:'anchor',name:'Anchor Cards',icon:'⚓',tagClass:'tag-anchor',tagLabel:'Phase 3 — Anchor Cards | Safety Anchoring',phase:'Phase 3',cards:[
{phrase:'Nothing bad is happening',sub:'Safety anchor — acute distress',desc:'Grounding. Directly addresses the fear telling the nervous system you are safe. Use during escalating meltdown or panic attack.',tags:['Trauma-Informed','Somatic'],img:null},
{phrase:"I won't rush you",sub:'Time relief — sensory overload',desc:'Co-regulation. Removes the threat of the clock. Signals I am your sturdy leader and I prioritise your regulation over our schedule.',tags:['Attachment Theory','Trauma-Informed'],img:null},
{phrase:'Right now is okay',sub:'Validation anchor — shame spiral',desc:'Connection. Breaks the shame cycle. Says you are allowed to feel this. I am not leaving you even when you are at your worst.',tags:['ACT','DBT','Attachment Theory'],img:null},
{phrase:'Take space',sub:'Autonomy bridge — high crisis',desc:'Autonomy. Offers a dignified exit. Not abandonment — a skill-based request for regulation.',tags:['DBT','Trauma-Informed'],img:null},
{phrase:'I am here',sub:'Presence — confusion and fog',desc:'This card is the words. It is non-verbal validation that needs no explanation. Mirrors the sturdy presence the child needs.',tags:['Attachment Theory','Trauma-Informed'],img:null},
{phrase:'You are more than this moment',sub:'Identity stability',desc:'For children in a shame spiral who have collapsed their identity into their worst moment. Restores perspective.',tags:['Narrative Therapy','CBT'],img:null},
{phrase:'I love you even when it is loud',sub:'Unconditional love — lashing out',desc:'For the I hate you phase. The child needs to know the relationship survives their worst behaviour.',tags:['Attachment Theory','Trauma-Informed'],img:null},
{phrase:'You decide when you are ready',sub:'Agency anchor — power struggle',desc:'Restores the child sense of control without abandoning the therapeutic direction.',tags:['CBT','ACT','Trauma-Informed'],img:null},
{phrase:'You can say No right now',sub:'Permission anchor — demand avoidance',desc:'For PDA-profile children. Giving permission to say No paradoxically reduces avoidance and increases engagement.',tags:['Trauma-Informed','PDA Profile'],img:null},
{phrase:'My hands are staying down',sub:'Physical safety anchor',desc:'For physical aggression. Grounding physical safety in the practitioner body first then the child.',tags:['Somatic','Trauma-Informed'],img:null},
{phrase:"Let's find the quiet",sub:'Sensory relief anchor',desc:'For sensory meltdown. Offers a concrete action toward sensory relief without demanding compliance.',tags:['Somatic','ASD Support'],img:null},
{phrase:'I am not going anywhere',sub:'Relational permanence anchor',desc:'Directly counters abandonment fears. Use after ruptures difficult sessions or disclosures.',tags:['Attachment Theory','Trauma-Informed'],img:null},
]},
];
let activeDeck=0,currentCard=0,currentPhase=0;
let shown={},responses={},resonanceCounts={};
let sessionInfo={name:'',age:'',session:'',concern:'',regLevel:''};
let selectedComm='',selectedCharity='';
DECKS.forEach((_,i)=>{shown[i]=new Set();responses[i]={};});
function selectComm(opt){
selectedComm=opt;
document.getElementById('comm-a').classList.toggle('selected',opt==='A');
document.getElementById('comm-b').classList.toggle('selected',opt==='B');
document.getElementById('charity-row').classList.toggle('show',opt==='B');
if(opt==='A')selectedCharity='';
}
function selectCharity(el){
document.querySelectorAll('.charity-btn').forEach(b=>b.classList.remove('sel'));
el.classList.add('sel');selectedCharity=el.textContent;
}
function submitGate(){
const name=document.getElementById('g-name').value.trim();
const title=document.getElementById('g-title').value;
const ahpra=document.getElementById('g-ahpra').value.trim();
const email=document.getElementById('g-email').value.trim();
const agree=document.getElementById('g-agree').checked;
const errEl=document.getElementById('gate-error');
['g-name','g-title','g-ahpra','g-email'].forEach(id=>document.getElementById(id).classList.remove('err'));
let valid=true;
if(!name){document.getElementById('g-name').classList.add('err');valid=false;}
if(!title){document.getElementById('g-title').classList.add('err');valid=false;}
if(!ahpra){document.getElementById('g-ahpra').classList.add('err');valid=false;}
if(!email||!email.includes('@')){document.getElementById('g-email').classList.add('err');valid=false;}
if(!selectedComm||!agree)valid=false;
if(!valid){errEl.classList.add('show');return;}
errEl.classList.remove('show');
const clinic=document.getElementById('g-clinic').value.trim()||'Not provided';
const phone=document.getElementById('g-phone').value.trim()||'Not provided';
const age=document.getElementById('g-age').value||'Not specified';
const charity=selectedCharity?' — '+selectedCharity:'';
const comm=selectedComm==='A'?'Option A — Direct Commission':'Option B — Charity Donation'+charity;
const subject=encodeURIComponent('PPU Founding Practitioner Registration — '+name);
const body=encodeURIComponent('NEW PRACTITIONER REGISTRATION — Power Phrase Universe\n'+'═══════════════════════════════════════\n\n'+'Name: '+name+'\nTitle: '+title+'\nAHPRA Number: '+ahpra+'\nClinic / Practice: '+clinic+'\nEmail: '+email+'\nPhone: '+phone+'\nAge Group: '+age+'\nCommission Pathway: '+comm+'\n\nDisclosure agreed: YES\nPortal: 6-Deck Suite | 7-Phase Framework\nSubmitted: '+new Date().toLocaleString('en-AU')+'\n\n═══════════════════════════════════════\nPlease generate a unique referral code and send the Clinical Justification PDF within 24 hours.');
document.getElementById('gate-form').style.display='none';
document.getElementById('gate-sending').style.display='block';
setTimeout(function(){
window.location.href='mailto:sales@shreepowerphraseuniverse.com?subject='+subject+'&body='+body;
setTimeout(function(){document.getElementById('gate-sending').style.display='none';document.getElementById('gate-success').style.display='block';},1500);
},800);
}
function enterPortal(){document.getElementById('reg-gate').style.display='none';document.body.style.overflow='';}
document.body.style.overflow='hidden';
function startSession(){
sessionInfo.name=document.getElementById('child-name').value||'Client';
sessionInfo.age=document.getElementById('child-age').value||'';
sessionInfo.session=document.getElementById('session-num').value||'Session 1';
sessionInfo.concern=document.getElementById('presenting').value||'';
sessionInfo.regLevel=document.getElementById('reg-level').value||'';
document.getElementById('session-setup').style.display='none';
showToast('Session started — '+sessionInfo.name+' '+sessionInfo.session);
}
function jumpPhase(i){
if(i===6){exportSession();return;}
currentPhase=i;
switchDeck(PHASES[i].deckIndex);
document.querySelectorAll('.phase-item').forEach((el,j)=>el.classList.toggle('active',j===i));
}
function buildDeckSelector(){
document.getElementById('deck-selector').innerHTML=DECKS.map((d,i)=>`<div class="deck-btn${i===activeDeck?' active':''}" onclick="switchDeck(${i})"><div class="dk-icon">${d.icon}</div><div class="dk-name">${d.name}</div><div class="dk-count">${d.cards.length} cards</div></div>`).join('');
}
function switchDeck(i){activeDeck=i;currentCard=0;buildDeckSelector();updateCard();buildGrid();}
function buildGrid(){
document.getElementById('card-grid').innerHTML=DECKS[activeDeck].cards.map((c,i)=>{
const inner=c.img?`<img src="${c.img}" alt="${c.phrase}" onerror="this.style.display='none'"><span>${c.phrase}</span>`:`<span style="color:var(--ink-light);font-size:7px;font-weight:500;text-shadow:none">${c.phrase}</span>`;
return `<div class="mini${!c.img?' no-img':''}${i===currentCard?' active':''}${shown[activeDeck].has(i)?' done':''}" onclick="goCard(${i})" title="${c.phrase}">${inner}</div>`;
}).join('');
}
function goCard(i){shown[activeDeck].add(currentCard);currentCard=i;updateCard();buildGrid();}
function nextCard(dir){shown[activeDeck].add(currentCard);currentCard=Math.max(0,Math.min(DECKS[activeDeck].cards.length-1,currentCard+dir));updateCard();buildGrid();}
function updateCard(){
const deck=DECKS[activeDeck],c=deck.cards[currentCard],face=document.getElementById('card-face');
if(c.img){face.className='card-face';face.innerHTML=`<img src="${c.img}" alt="${c.phrase}" style="width:100%;height:100%;object-fit:cover" onerror="this.parentElement.className='card-face ppu-card';this.parentElement.innerHTML='<div class=\\'ppu-phrase\\'>${c.phrase}</div>'">`;}
else{face.className='card-face ppu-card';face.innerHTML=`<div class="ppu-phrase">${c.phrase}</div><div class="ppu-num">Card ${currentCard+1} of ${deck.cards.length}</div>`;}
document.getElementById('card-deck-tag').className='card-deck-tag '+deck.tagClass;
document.getElementById('card-deck-tag').textContent=deck.tagLabel;
document.getElementById('phase-badge').textContent=deck.phase||'';
document.getElementById('card-title').textContent=c.phrase;
document.getElementById('card-sub').textContent=c.sub;
document.getElementById('card-desc').textContent=c.desc;
document.getElementById('card-tags').innerHTML=c.tags.map(t=>`<span class="fw-tag">${t}</span>`).join('');
restoreResponses();updateStats();
}
function restoreResponses(){
document.querySelectorAll('.q-opt').forEach(o=>o.classList.remove('sel'));
document.querySelectorAll('.sc-btn').forEach(o=>o.classList.remove('sel'));
document.getElementById('q-notes').value='';
const btn=document.getElementById('save-btn');btn.textContent='Save response ✦';btn.classList.remove('saved');
if(responses[activeDeck]&&responses[activeDeck][currentCard]){
const r=responses[activeDeck][currentCard];
if(r.q1)document.querySelectorAll('#q1 .q-opt').forEach(o=>{if(o.textContent===r.q1)o.classList.add('sel');});
if(r.q2)document.querySelectorAll('#q2 .q-opt').forEach(o=>{if(o.textContent===r.q2)o.classList.add('sel');});
if(r.q3)document.querySelectorAll('#q3 .sc-btn').forEach(o=>{if(o.textContent==r.q3)o.classList.add('sel');});
if(r.notes)document.getElementById('q-notes').value=r.notes;
if(r.q1){btn.textContent='Saved ✓';btn.classList.add('saved');}
}
}
function updateStats(){
document.getElementById('s-shown').textContent=Object.values(shown).reduce((a,s)=>a+s.size,0)+1;
document.getElementById('s-resp').textContent=Object.values(responses).reduce((a,d)=>a+Object.keys(d).length,0);
document.getElementById('s-phase').textContent='Phase '+(currentPhase+1);
document.getElementById('prog-label').textContent='Session progress — '+PHASES[currentPhase].name;
const topR=Object.entries(resonanceCounts).sort((a,b)=>b[1]-a[1])[0];
document.getElementById('s-top').textContent=topR?topR[0].split(' ')[0]:'—';
const pct=Math.round(((shown[activeDeck].size+1)/DECKS[activeDeck].cards.length)*100);
document.getElementById('prog-fill').style.width=Math.min(pct,100)+'%';
document.getElementById('prog-pct').textContent=Math.min(pct,100)+'%';
}
function selQ(el,id){document.querySelectorAll('#'+id+' .q-opt').forEach(o=>o.classList.remove('sel'));el.classList.add('sel');}
function selScale(el,id,v){document.querySelectorAll('#'+id+' .sc-btn').forEach(o=>o.classList.remove('sel'));el.classList.add('sel');}
function saveResp(){
const q1=document.querySelector('#q1 .q-opt.sel'),q2=document.querySelector('#q2 .q-opt.sel'),q3=document.querySelector('#q3 .sc-btn.sel');
const c=DECKS[activeDeck].cards[currentCard];
responses[activeDeck][currentCard]={deck:DECKS[activeDeck].name,card:c.phrase,phase:'Phase '+(currentPhase+1)+' — '+PHASES[currentPhase].name,q1:q1?q1.textContent:null,q2:q2?q2.textContent:null,q3:q3?q3.textContent:null,notes:document.getElementById('q-notes').value};
if(q1)resonanceCounts[q1.textContent]=(resonanceCounts[q1.textContent]||0)+1;
shown[activeDeck].add(currentCard);
const btn=document.getElementById('save-btn');btn.textContent='Saved ✓';btn.classList.add('saved');
showToast('Response saved ✦');updateStats();buildGrid();
}
function showToast(msg){const t=document.getElementById('toast');if(msg)t.textContent=msg;t.classList.add('show');setTimeout(()=>t.classList.remove('show'),2400);}
function exportSession(){
let csv='Power Phrase Universe — Clinical Session Report\n';
csv+=`Child: ${sessionInfo.name} | Age: ${sessionInfo.age} | ${sessionInfo.session} | Concern: ${sessionInfo.concern} | Regulation on arrival: ${sessionInfo.regLevel}\n`;
csv+=`Date: ${new Date().toLocaleString('en-AU')} | Practitioner: AHPRA Verified\n\n`;
csv+='Phase,Deck,Card,Response,Emotional Category,Regulation Shift,Notes\n';
DECKS.forEach((deck,di)=>{Object.values(responses[di]).forEach(r=>{csv+=`"${r.phase}","${r.deck}","${r.card}","${r.q1||''}","${r.q2||''}","${r.q3||''}","${(r.notes||'').replace(/"/g,'""')}"\n`;});});
const blob=new Blob([csv],{type:'text/csv'});
const url=URL.createObjectURL(blob);
const a=document.createElement('a');a.href=url;a.download=`PPU_Session_${sessionInfo.name}_${new Date().toISOString().slice(0,10)}.csv`;a.click();
}
buildDeckSelector();buildGrid();updateCard();
</script>
</body>
</html>