Skip to content
CAL ACE NURSING ACADEMY - CNA PROGRAM
  • Home
  • About Us
  • Pricing
  • Programs
    • Hybrid CNA
    • CE Units
    • RNA
    • BLS
    • HHA(coming)
  • Location
    • Sacramento
    • San Jose
    • Santa cruz
  • Testimonial
  • FAQs
CNA Register Now

 

 

⚑ EXAM MODE — CLIFF ROPEREZ 1L
60:00

PROMPT
YOUR ANSWER — IRAC FORMAT
0 words

 

IRAC TEMPLATE
ISSUE
Does [actor’s act] against [victim] constitute [claim] when [legal wrinkle]?
RULE
[Claim] requires [element 1], [element 2], [element 3], and [element 4].
APPLICATION
Here, [fact]. This satisfies [element] because [reasoning]. However, [counter-fact]. Therefore, [element analysis].
DEFENSE
[Defense] requires [elements]. Here, [apply facts]. Therefore, defense likely [applies/fails].
CONCLUSION
Therefore, [actor] is likely [liable/not liable] to [victim] for [claim].
P-C-E-F-D-C MANTRA
Party → Claim → Elements → Facts → Defense → Conclusion
VERB DISCIPLINE
Persons commit
Acts constitute
Claims require / bar / apply

CR 1L
Purdue Global Law
Mission
Dashboard
Calendar
Assignments
Courses
CL600 — ILA
CL610 — Contracts
CL620/623 — Torts
Study
Study Tools
Case Library
Outlines
Notes & KB
MCQ Drills
Flashcards
Workflow
AI Workflow
Bar Prep
System
Exam Mode
Settings
P · C · E · F · D · C

Mission Control
00:00:00

Mission Control
1L — Purdue Global Law School · Cliff Roperez · May 2026
Read the call first. Every time. Party → Claim → Elements → Facts → Defense → Conclusion.

—
Days In
0
Tasks Done Today
0
Pomodoros Today
—
Days to Cal Bar

Today’s Tasks
Read call of question — cold drill
CL600 · Daily · 10 min

High

Module readings — Torts duty/breach
CL623 · Module 7 · 45 min

High

5 MCQs — Offer & Acceptance
CL610 · 15 min

Med

Write one mini-IRAC from memory
Daily drill · 20 min

Med

Seminar prep — cold call card
CL600 · Before seminar · 10 min

Low

Study Timer — Pomodoro
25:00
FOCUS SESSION




Sessions today: 0

Class Progress — M5/15
CL600 — ILA33%
CL610 — Contracts I33%
CL620/623 — Torts I33%

Quick Launch
CL600 ILA
CL610 Contracts
CL620 Torts
MCQ Drill
AI Workflow
Study Tools
Exam Mode
Bar Prep

Upcoming Deadlines
CL600 — Case Brief
Module 3 · 75 pts · Cohen v. Petty

Due Soon

CL610 — Consideration Essay
Module 6 · 50 pts · IRAC format

M6

CL623 — Negligence Duty Essay
Module 7 · 100 pts · High stakes

M7

CL610 — Final Exam
Module 15 · 550 pts · Respondus

M15

Seminar Schedule — At a Glance
TUE
CL600 — ILA Seminar
Purdue Global · Weekly · 1 hr

Required

WED
CL610 — Contracts Seminar
Purdue Global · Weekly · 1 hr

Required

THU
CL623 — Torts Seminar
Purdue Global · Weekly · 1 hr

Required

After seminar: capture what professor emphasized. Add one trap to your outline.

Assignments & Deadlines
Sortable · Color-coded by urgency · All three courses


Course Assignment Module Points Est. Time Status Priority Action

CL600 — Introduction to Legal Analysis
Legal writing · IRAC · Case briefing · Exam structure
300
Final Points
15
Modules
1
Seminar/Week
Key Assignments — Red Zone
M3 — Case Brief: Cohen v. Petty (75 pts)
Write issue/holding/rationale 3 ways. Submit cleanest.
M5 — Tort Mini-Essay: Closed Book (100 pts)
Intentional torts. Rules memorized first. 20 min timed.
M9-11 — Contracts Essays (varies)
PER, SOF, defenses. Daily 10-min hypo starting M8.
M13 — Contracts Fact Pattern (varies)
CL600 contracts application. Proximate cause review in M12.
M15 — Final (300 pts)
Begin compression in M12. One timed essay + Respondus dry run.
Module Grid — CL600
Key Cases
Cohen v. Petty
Case Brief · M3
Issue: [To be entered]. Rule: [To be entered]. Holding: [To be entered].
McCann v. Walmart
False Imprisonment · Threats & barriers
Actual physical restraint not required. Confinement by threats, barriers, or assertion of legal authority.
Lucy v. Zehmer
Contracts · Objective intent
Unexpressed intent immaterial when words and acts objectively show assent.
Purdue Code — Essay Attack System
STEP 0 — CALL FIRST
Read call before facts. Circle: parties, claims, defenses, remedies. Do not discuss unasked claims.
STEP 1 — HEADING
Interrogative. Actor + Victim + Act + Claim + Legal Wrinkle. “Does Dre’s throwing constitute battery when…”
STEP 2 — RULE
Black-letter with elements. No storytelling. Complete enough to grade without hunting.
STEP 3 — APPLICATION
“Here” triggers. Facts for AND against each element. “Because” explains why. Element-by-element mini-IRAC.
STEP 4 — DEFENSE
Separate block. Treat defense like a claim — elements + application. Never bury in one sentence.
STEP 5 — CONCLUSION
Mirror the heading. “Therefore, Dre is likely liable for battery.” Short. Direct. Done.

CL610 — Contracts I
UCC · Common Law · Formation · Defenses · Conditions
550
Final Points
11
MCQ Sets
10
Essay Sets
15
Modules
Doctrine Heat Map — Must Know Cold
Offer
Acceptance
Consideration
Revocation
UCC 2-207
Modification
Promissory Estoppel
Statute of Frauds
Parol Evidence Rule
Mutual Mistake
Mailbox Rule
Conditions
Quasi-contract
Merchant Status
Controlling Law
Key Rules — Snap Cards
OBJECTIVE INTENT
A party’s unexpressed intent is immaterial when words and acts objectively show assent. (Lucy v. Zehmer)
CONSIDERATION
Bargained-for exchange. Motive ≠ consideration. Moral obligation generally insufficient. Past consideration insufficient.
MAILBOX RULE
Acceptance effective on dispatch. Revocation effective only on receipt. Watch crossing mail hypos.
Red Zone Modules
M5 — UCC 2-207 Battle of Forms
Make a flowchart. Know when additional terms become part of contract (merchant v. non-merchant).
M6 — Consideration Essay (50 pts)
Start Thu. Consideration vs. gift vs. moral obligation vs. promissory estoppel. Do NOT confuse motive with bargain.
M9–11 — PER + SOF + Defenses
Attack outline in M8. Daily 10-min formation/defense hypo. Do NOT mix mutual mistake + ambiguity + PER without sequence.
M11 — 100-Point Essay
Highest-stakes module essay. Full IRAC. Organize by contract/interrogatory. Never jump to breach before proving formation.


CL620/623 — Torts I
Intentional Torts · Negligence · Defenses · Causation · Damages
550
Final Points
4
MCQ Sets
10
Essay Sets
15
Modules
Tort Issue-Spotting Map
Injury Possible Torts
Fear of imminent contact Assault
Harmful/offensive contact Battery
Confinement False Imprisonment
Severe emotional distress IIED
Entry onto land Trespass to Land
Careless physical injury Negligence
Statute violation + injury Negligence Per Se
Unexplained accident Res Ipsa
Negligence Attack — 4 Elements
1. DUTY
Did defendant owe plaintiff a duty of care? General: reasonable person standard. Special relationships, land owner status, negligence per se.
2. BREACH
Did defendant fall below the standard? Reasonable person test. Custom, statutes, res ipsa loquitur.
3. CAUSATION
Actual cause (but-for / substantial factor) AND proximate cause (Palsgraf — foreseeable plaintiff, foreseeable harm). Do NOT stop at actual cause.
4. DAMAGES
Compensatory (general + special). Eggshell skull doctrine. Nominal and punitive when applicable.


TRAP: Intent does NOT mean intent to harm. Intent = purpose OR substantial certainty that harmful/offensive contact will result. Saying “intent to harm is required” = automatic error.

Study Tools
IRAC templates · Rule library · Case briefs · Outlines · Hypo generator
IRAC Template
Case Brief
Outlines
Flashcards
Hypo Generator
MCQ Drills

IRAC Builder — Live Template
ISSUE — Interrogative heading

RULE — Elements listed

APPLICATION — Start with “Here”

 

DEFENSE — Separate block

 

CONCLUSION — Mirror the heading

PREVIEW
Fill in fields to see your IRAC…


Hypo Generator

Click Generate Hypo to get a practice fact pattern.

Rule Statement Library — Black Letter
TORTS
BATTERY
Battery requires a voluntary act intended to cause harmful or offensive contact, and actual harmful or offensive contact results.
ASSAULT
Assault requires an act intended to cause apprehension of imminent harmful or offensive contact, and the plaintiff actually apprehends such contact.
FALSE IMPRISONMENT
FI requires intentional confinement within a bounded area, of which the plaintiff is either aware or harmed by. Physical restraint not required — threats, barriers, and assertion of legal authority suffice.
NEGLIGENCE
Negligence requires: (1) duty; (2) breach; (3) actual and proximate causation; and (4) damages.
CONTRACTS
CONTRACT FORMATION
A valid contract requires offer, acceptance, and consideration. Under UCC Article 2, controlling law governs goods; common law governs services.
CONSIDERATION
Consideration requires a bargained-for exchange in which each party gives something of legal value. Motive, moral obligation, and past consideration are insufficient.
STATUTE OF FRAUDS
Under UCC, a contract for goods ≥$500 must be in writing, identifying parties, subject matter, quantity, and price, signed by the party against whom enforcement is sought.
PROMISSORY ESTOPPEL
PE requires: (1) clear and definite promise; (2) promisor should have reasonably expected reliance; (3) promisee actually relied; and (4) injustice can only be avoided by enforcement.

MCQ Drills
500+ questions per course · Torts · Contracts · Legal Analysis
0
Correct
0
Attempted
—
% Score
0
Streak



Torts — Negligence
Q —
Loading question…
True / False Drills — 100 per course
Loading T/F question…

Flashcards
Click to flip · Rule recall · Element testing


Card 1 / —
FRONT — TAP TO FLIP
What are the elements of Battery?
RULE
Battery requires a voluntary act intended to cause harmful or offensive contact, and actual harmful or offensive contact results. Intent = purpose OR substantial certainty.



AI Workflow
Multi-AI command center · Prompts library · Quick-copy for issue spotting, briefing, hypos
🤖
Claude
Anthropic — Primary
Socratic · IRAC · Essays

🟢
ChatGPT
OpenAI — Pro
Rule synthesis · Outlines

💎
Gemini
Google — Ultra
Research · Cross-check

🪟
Copilot
Microsoft
Office integration

Study Tools
Quimbee

 

Studicata

 

CALI

 

Purdue Portal

 

1L Prompt Library — Select & Copy
Prompt Builder — Quick Copy


Select options above and click Build Prompt.

Open in Claude
Open in ChatGPT

Notes & Knowledge Base
Searchable · Tagged · Auto-save · Export ready






New Note

Torts
Contracts
ILA
Cases
Doctrine

 



Case Library
Structured brief database · Rule extraction · Quick search


Outlines
Master outlines · Attack plans · Flowcharts
TORTS ATTACK PLAN
1. Identify plaintiff’s injury
2. Match injury to possible torts
3. Identify defendant’s act
4. State rule with elements
5. Apply facts element-by-element
6. Defenses — separate block
7. Conditional conclusions where uncertain
8. Conclusion mirrors heading

CONTRACTS ATTACK PLAN
1. Controlling law: UCC or CL?
2. Merchant status
3. Offer — definite enough?
4. Acceptance — mirror? UCC variant?
5. Consideration — bargained exchange?
6. Defenses: SOF, PER, mistake
7. Conditions — express/implied
8. Breach → Damages → Remedies

NEGLIGENCE FLOWCHART
Duty? → Breach? → Actual Cause? → Proximate Cause? → Damages?

↓ Each step is its own mini-IRAC.
↓ Do NOT write one global negligence paragraph.
↓ Palsgraf for proximate cause.
↓ Eggshell skull for damages.

My Outlines — Add & Save


 

Calendar & Seminar Tracker
Weekly view · Countdowns · Seminar schedule
Countdown Timers
Weekly Seminar Schedule
This Week’s Tasks

Bar Prep — California Track
FYLSX Baby Bar → California Bar → Career
—
Days to Cal Bar
—
Days to FYLSX
3
1L Courses Active
2028
Target Bar Year
FYLSX — First Year Law Student Exam (Baby Bar)
Required for Purdue Global (CA registered unaccredited law school) students. 4 hours. Torts, Contracts, Criminal Law. Pass to continue.
Subjects: Torts · Contracts · Criminal Law
Format: 100 MCQ + 4 Essays
Passing: ~560/800
Strategy: Master the same black-letter rules you’re learning now.
Your edge: IRAC discipline from Day 1.
California Bar Exam
Format: Multistate Bar Exam (MBE) + PT + Essays
MBE Subjects: Torts, Contracts, ConLaw, CrimLaw, Evidence, Real Property, Civil Procedure
Essays: Wills, Trusts, CivPro, Community Property + MBE subjects
PT: Performance Test — legal memo or brief
Pass Rate: ~43% CA average. Build early.
Your mantra: P-C-E-F-D-C every single essay.
Career & Goals Tracker
CURRENT
1L — Purdue Global · Part-time · May 2026
MILESTONE 1
Pass FYLSX (Baby Bar) · End of 1L
MILESTONE 2
Pass California Bar · 2028 target
LONG GAME
JD + California license · Healthcare law / education law
FOUNDATION
Cal Ace Nursing Academy continues — law school is the long bet.
MPRE
Professional responsibility exam. Required for CA bar admission. Plan for 2L/3L.

Settings
Theme · Data management · Backup
Appearance
Font Size


Accent Color
Layout Density


Data Management


About
CR 1L — Cliff Roperez
Purdue Global Law School
Semester 1 · May 2026
Built for: FYLSX + Cal Bar
Mantra: P·C·E·F·D·C

 

Home
MCQ
Exam
AI
Notes

';const a=document.createElement('a');a.href='data:text/html;charset=utf-8,'+encodeURIComponent(html);a.download='notes.html';a.click();}

// ==================== CASES ==================== let casesDB=[...CASES_DB]; function renderCases(filter='all',search=''){ const list=document.getElementById('casesList'); if(!list)return; let data=casesDB; if(filter!=='all')data=data.filter(c=>c.course===filter); if(search)data=data.filter(c=>c.name.toLowerCase().includes(search)||(c.rule||'').toLowerCase().includes(search)); list.innerHTML=data.map(c=>`

${c.name}

${c.court} · ${c.year} · ${c.course}

Rule: ${c.rule}

Holding: ${c.holding}

${c.notes?`

${c.notes}

`:''}

`).join(''); } function addCase(){const name=prompt('Case name?');if(!name)return;casesDB.push({name,court:'',year:'',course:'Torts',rule:'[Enter rule]',holding:'[Enter holding]',reasoning:'',notes:''});renderCases();} function searchCases(){renderCases(document.getElementById('caseCourseFilter')?.value||'all',document.getElementById('caseSearch')?.value||'');}

// ==================== OUTLINES ==================== let outlines=JSON.parse(localStorage.getItem('outlines')||'[]'); function renderOutlines(){ const el=document.getElementById('savedOutlines'); if(!el)return; el.innerHTML=outlines.length?outlines.map((o,i)=>`

${o.title}

${o.course}

`).join(''):`

No saved outlines yet.

`; } function saveOutline(){ const title=document.getElementById('outlineTitle')?.value||'Untitled Outline'; const content=document.getElementById('outlineContent')?.value||''; const course=document.getElementById('outlineCourse')?.value||''; outlines.unshift({title,content,course}); localStorage.setItem('outlines',JSON.stringify(outlines)); renderOutlines(); } function loadOutline(i){const o=outlines[i];document.getElementById('outlineTitle').value=o.title;document.getElementById('outlineContent').value=o.content;document.getElementById('outlineCourse').value=o.course;} function deleteOutline(i){outlines.splice(i,1);localStorage.setItem('outlines',JSON.stringify(outlines));renderOutlines();} function expandOutline(type){ const content={ torts:`TORTS — MASTER ATTACK OUTLINE\n\nI. ISSUE SPOTTING\n1. Read call first — who suing whom?\n2. Identify plaintiff's injury\n3. Match injury to tort category\n4. Identify defendant's act\n5. Note any legal wrinkles\n\nII. INTENTIONAL TORTS\nA. Battery: Voluntary act + intent + harmful/offensive contact\nB. Assault: Act + intent + actual apprehension of imminent contact\nC. False Imprisonment: Intentional confinement + bounded area + awareness/harm\nD. IIED: Extreme/outrageous + intent/reckless + severe emotional distress\n\nIII. NEGLIGENCE\n1. Duty (reasonable person, special relationships, NPS)\n2. Breach (RPP standard, custom, res ipsa)\n3. Actual cause (but-for / substantial factor)\n4. Proximate cause (Palsgraf — foreseeable plaintiff/harm)\n5. Damages (compensatory, eggshell skull)\n\nIV. DEFENSES\n- Consent\n- Self-defense (reasonable force; deadly force limits)\n- Defense of property (no deadly force)\n- Necessity (public = complete; private = pay for damages)\n- Assumption of risk\n- Comparative/contributory negligence`, contracts:`CONTRACTS — MASTER ATTACK OUTLINE\n\nI. CONTROLLING LAW\nUCC Article 2: goods (tangible movable)\nCommon Law: services, real estate, employment\nMixed contracts: predominant purpose test\n\nII. MERCHANT STATUS (UCC)\nIs party a merchant? (deals in goods of that kind)\nMatters for: firm offers, 2-207, warranty\n\nIII. CONTRACT FORMATION\nA. Offer: definite terms + intent to be bound\nB. Acceptance:\n CL: mirror image rule (any variance = counteroffer)\n UCC 2-207: acceptance with additional terms\n Between merchants: additional terms IN unless material alteration/objection\nC. Consideration: bargained-for exchange\n Not: past consideration, moral obligation, gifts\n Exceptions: promissory estoppel, option contracts\n\nIV. DEFENSES TO FORMATION\n- SOF: goods ≥$500, real estate, marriage, suretyship, 1-year rule\n- Mutual mistake: both mistaken, material, at time of K\n- Duress / undue influence\n- Fraud / misrepresentation\n\nV. CONTRACT TERMS\n- PER: prior oral agreements contradicting final writing inadmissible\n- UCC gap fillers (price, delivery, time)\n\nVI. CONDITIONS\n- Express / implied\n- Condition precedent / subsequent\n- Waiver, excuse, prevention\n\nVII. BREACH & REMEDIES\n- Material vs. minor breach\n- Expectation, reliance, restitution\n- Specific performance (UQ goods, real estate)`, negligence:`NEGLIGENCE — ELEMENT FLOWCHART\n\n[DUTY?]\n→ General: defendant owes duty to foreseeable plaintiffs (Palsgraf)\n→ Special relationships: doctor/patient, carrier/passenger, landowner/invitee\n→ Negligence per se: statute + protected class + type of harm\n→ If YES → [BREACH?]\n\n[BREACH?]\n→ Reasonable Person of Prudent Care standard\n→ Custom (relevant but not conclusive)\n→ Res ipsa loquitur: ordinary accident? exclusive control? plaintiff no contribution?\n→ If YES → [ACTUAL CAUSE?]\n\n[ACTUAL CAUSE?]\n→ But-for test: injury would not have occurred but for defendant's act\n→ Substantial factor: multiple causes\n→ If YES → [PROXIMATE CAUSE?]\n\n[PROXIMATE CAUSE?]\n→ Palsgraf: foreseeable plaintiff in zone of danger?\n→ Foreseeable type of harm?\n→ Intervening vs. superseding cause\n→ Superseding: breaks chain only if unforeseeable\n→ If YES → [DAMAGES?]\n\n[DAMAGES?]\n→ Compensatory: general + special\n→ Eggshell skull: take plaintiff as you find them\n→ Nominal / punitive when applicable` }; document.getElementById('outlineContent').value=content[type]||''; document.getElementById('outlineTitle').value=type.charAt(0).toUpperCase()+type.slice(1)+' Master Outline'; }

// ==================== AI PROMPTS ==================== function renderPrompts(){ const list=document.getElementById('promptList'); if(!list)return; const presets=[ {label:'Issue Spotting — Torts',type:'issue',subject:'torts'}, {label:'Rule Synthesis — Contracts',type:'rule',subject:'contracts'}, {label:'Case Brief — Any',type:'brief',subject:'torts'}, {label:'Generate Hypo — Torts',type:'hypo',subject:'torts'}, {label:'Essay Practice — Contracts',type:'essay',subject:'contracts'}, {label:'Socratic Cold Call — Torts',type:'socratic',subject:'torts'}, ]; list.innerHTML=presets.map(p=>`

${p.label}

`).join(''); }

function copyPresetPrompt(type,subject){ const subMap={'torts':'torts','contracts':'contracts','legal analysis':'legal analysis'}; const prompt=PROMPTS[type]?.[subject]||PROMPTS[type]?.torts||'Prompt not found'; navigator.clipboard?.writeText(prompt).then(()=>alert('Prompt copied! Paste into Claude.')); }

function buildPrompt(){ const type=document.getElementById('promptType')?.value||'issue'; const sub=(document.getElementById('promptSubject')?.value||'Torts').toLowerCase(); const key=Object.keys(PROMPTS[type]||{}).find(k=>sub.includes(k))||Object.keys(PROMPTS[type]||{})[0]; const prompt=PROMPTS[type]?.[key]||'Prompt not configured for this combination.'; const el=document.getElementById('builtPrompt'); if(el)el.textContent=prompt; }

function copyPrompt(){ const txt=document.getElementById('builtPrompt')?.textContent||''; navigator.clipboard?.writeText(txt).then(()=>alert('Prompt copied!')); }

// ==================== CALENDAR ==================== function renderCalendar(){ const cl=document.getElementById('countdownList'); const ss=document.getElementById('seminarSchedule'); const wt=document.getElementById('weekTasks'); if(!cl||!ss)return; const now=new Date(); const countdowns=[ {label:'Cal Bar Exam',date:'2028-07-25',color:'var(--gold)'}, {label:'FYLSX Baby Bar',date:'2026-06-15',color:'var(--red)'}, {label:'Finals — M15',date:'2026-08-01',color:'var(--orange)'}, ]; cl.innerHTML=countdowns.map(c=>{ const d=Math.ceil((new Date(c.date)-now)/(1000*60*60*24)); return `

${c.label}

${d>0?d+' days':'—'}

`; }).join(''); const seminars=[ {day:'Monday',time:'—',course:'Self-study · All courses',note:'Office hours if needed'}, {day:'Tuesday',time:'Evening',course:'CL600 — ILA Seminar',note:'Case brief + writing focus'}, {day:'Wednesday',time:'Evening',course:'CL610 — Contracts Seminar',note:'Hypo + formation drill'}, {day:'Thursday',time:'Evening',course:'CL620/623 — Torts Seminar',note:'Negligence + defenses'}, {day:'Friday',time:'—',course:'Review + MCQ drill',note:'Catch-up day'}, {day:'Weekend',time:'Night',course:'Deep work session',note:'Essays + outlines'}, ]; ss.innerHTML=seminars.map(s=>`

${s.day.toUpperCase()}

${s.course}
${s.note}

${s.time!=='—'?`${s.time}`:''}

`).join(''); if(wt){ const tasks=['Read call first','5 MCQs','One mini-IRAC','Seminar cold-call card','Rule memorization','Post-seminar: capture professor signal','Before sleep: choose tomorrow\'s first task']; wt.innerHTML=tasks.map(t=>`

✓ ${t}

`).join(''); } }

// ==================== MODULE GRID ==================== function buildModuleGrid(){ const el=document.getElementById('cl600ModuleGrid'); if(!el)return; el.innerHTML=Array.from({length:15},(_,i)=>{ const m=i+1; const red=[3,5,9,10,11,13,15].includes(m); const done=m<=4; return `

M${m}

`; }).join(''); }

// ==================== EXAM MODE ==================== let examInterval,examRunning=false,examLeft=60*60; function toggleExamMode(){ const ov=document.getElementById('examOverlay'); ov.classList.toggle('active'); if(ov.classList.contains('active')){ examLeft=60*60;examRunning=true; document.getElementById('examAnswer').value=''; updateExamClock(); examInterval=setInterval(()=>{ if(examLeft>0){examLeft--;updateExamClock();} else{clearInterval(examInterval);alert('Time is up! Review your answer.');} },1000); }else{clearInterval(examInterval);examRunning=false;} } function updateExamClock(){ const m=Math.floor(examLeft/60).toString().padStart(2,'0'); const s=(examLeft%60).toString().padStart(2,'0'); const el=document.getElementById('examClock'); if(el)el.textContent=m+':'+s; if(examLeft<300&&el)el.style.color='var(--red)'; } function updateWC(){ const txt=document.getElementById('examAnswer')?.value||''; const wc=txt.trim().split(/\s+/).filter(w=>w).length; const el=document.getElementById('examWC'); if(el)el.textContent=wc+' words'; }

// ==================== SETTINGS ==================== function setFontSize(sz){document.body.style.fontSize=sz+'px';} function setAccent(c1,c2){document.documentElement.style.setProperty('--gold',c1);document.documentElement.style.setProperty('--gold2',c2);} function setDensity(d){const pd={compact:'12px',normal:'20px',comfortable:'28px'};document.querySelectorAll('.page').forEach(p=>p.style.padding=pd[d]);} function exportData(){ const data={notes,outlines,casesDB,mcqCorrect,mcqTotal,pomoSessions}; const a=document.createElement('a'); a.href='data:application/json;charset=utf-8,'+encodeURIComponent(JSON.stringify(data,null,2)); a.download='cliff_1L_data_'+Date.now()+'.json';a.click(); } function importData(){alert('To import: paste your JSON data into a text file, then use this button (file picker coming soon). For now, export regularly to back up.');} function confirmReset(){if(confirm('RESET ALL DATA? This cannot be undone. Notes, outlines, and progress will be deleted.')){{notes=[];outlines=[];mcqCorrect=0;mcqTotal=0;mcqStreak=0;pomoSessions=0;['notes','outlines','mcqCorrect','mcqTotal','mcqStreak','pomoSessions','tasksDone'].forEach(k=>localStorage.removeItem(k));alert('Data reset. Reload the page.');}}}

// ==================== ADD TASK ==================== function addTask(){ const title=prompt('Task title?'); if(!title)return; const tasks=document.getElementById('todayTasks'); if(!tasks)return; const div=document.createElement('div'); div.className='task-item'; div.setAttribute('onclick','toggleTask(this)'); div.innerHTML=`

${title}
Manual · Today

New`; tasks.appendChild(div); }

// ==================== INIT ==================== renderAssignments(); buildModuleGrid(); renderPrompts();

CAL ACE Nursing Academy

Flexible, CDPH-approved CNA Program in Santa Clara County — serving Milpitas, San Jose, Sacramento and Santa Cruz. Online theory, in-person clinicals, and weekend classes for working adults. Start your healthcare career with confidence.

Quick Links

  • About Us
  • FAQs
  • BPPE
  • Contact Us
  • Blog

Contact

1535 Landess Ave. Unit 103
Milpitas, CA 95035

San Jose | Saratoga | Santa Cruz | Sacramento

📞 (408) 256-0763

📧 calace@cna.school

Hours

Business Hours:
Mon–Sun, 9:00am–5:00pm

Open weekends for State Exams & In-person CE Units


Facebook X Instagram TikTok LinkedIn

© 2026 CAL ACE | All Rights Reserved | Privacy Policy