diff --git a/docs/redesign/phase-2/TRACEABILITY.md b/docs/redesign/phase-2/TRACEABILITY.md index 4a5d505..19b9ebd 100644 --- a/docs/redesign/phase-2/TRACEABILITY.md +++ b/docs/redesign/phase-2/TRACEABILITY.md @@ -1,5 +1,7 @@ # Redesign traceability +CV frame/navigation successor: [P5-09 scoped frame trace](../phase-5/p5-09/README.md#approved-change-and-preservation-mapping) maps C05–C10, W05 and E07–E09 to the existing editor owner, Content-first studio, named section navigation, pane entry, visible save/version state and native actions. C01/C02, C11/C12 and W07 remain source/AI/export/frozen regression boundaries. The implementation record owns executed results and visual evidence; historical readiness findings below are retained. Human screen-reader acceptance, F04 and production font/photo qualification remain open. + Pagination successor: [P5-09 pagination-fidelity trace](../phase-5/p5-09-pagination-readiness/README.md#preservation-and-changed-owners) preserves C01/C02/C06–C12, W05/W07 and E05/E08/E09 through unchanged source/revision/export owners, native screen fragmentation, deterministic readiness and the original 16-fixture PDF oracle. The former six failures now pass the same tolerances. Human screen-reader, F04 and broader font/photo/fragment qualification remain separately recorded. CV readiness: [P5-09 integrity/fidelity trace](../phase-5/p5-09-readiness/README.md#regression-and-preservation-trace) maps C01/C02/C05–C12, W05/W07 and E05/E08/E09 to the existing canonical/lens/history/frozen boundaries, server expected-version/atomic comparison, recoverable editor state and native PDF measurements. Five backend, four editor and three native cases supplement the inherited evidence. G-CV-REV passes locally; six material multi-page fidelity failures keep G-CV-RENDER open and P5-09 NO-GO. Historical ledger gaps below are not erased; human screen-reader and F04 remain open. diff --git a/docs/redesign/phase-5/README.md b/docs/redesign/phase-5/README.md index 8d4538d..9b79e8c 100644 --- a/docs/redesign/phase-5/README.md +++ b/docs/redesign/phase-5/README.md @@ -1,6 +1,8 @@ # Phase 5 — Representative screens / major UI redesign plan -**Current successor: [CV pagination-fidelity repair](p5-09-pagination-readiness/README.md) — GO for P5-09.** The original 16 fixtures now pass the unchanged PDF oracle, including all six former page-count/placement failures. Preview uses native fragmentation, renderer-owned geometry/print rules and deterministic settled measurement; PDF output is unchanged. [Revision readiness](p5-09-readiness/README.md) remains accepted. Baseline: **941 backend / 422 frontend / 98 actual browser passes**, security 9/6/1, configuration 3. Broader font/photo/wrapped-line qualification remains explicit; no CV redesign or B07 has begun. P2-D01 remains an ordinary passing test; F04 and human screen-reader acceptance remain open. +**Current successor: [P5-09 CV editor frame/navigation](p5-09/README.md) — accepted locally, stop before P5-10.** Content-first studio, compact CV identity/scope/save/actions, ordered section navigation and keyboard pane entry retain the existing forms, revision owner and native renderer. Baseline: **941 backend / 426 frontend / 102 actual browser passes**, security 9/6/1, configuration 3; revision 5/5 and original fidelity 16/16, 36 aligned pages. Actual EN/Bokmål, light/dark, desktop/intermediate/phone evidence and incomplete accessibility findings are recorded. Production font/photo qualification, F04 and human screen-reader acceptance remain open. No P5-10+, Phase 8 or B07 implementation occurred. + +**Previous readiness: [CV pagination-fidelity repair](p5-09-pagination-readiness/README.md) — GO for P5-09.** The original 16 fixtures passed the unchanged PDF oracle, including all six former page-count/placement failures. Preview uses native fragmentation, renderer-owned geometry/print rules and deterministic settled measurement; PDF output is unchanged. [Revision readiness](p5-09-readiness/README.md) remains accepted. That checkpoint's baseline was **941 backend / 422 frontend / 98 actual browser passes**, security 9/6/1, configuration 3. No CV redesign or B07 had begun at that readiness checkpoint. P2-D01 remains ordinary passing; broader font/photo/wrapped-line qualification and production/manual acceptance remain explicit. **Previous implementation: [P5-08b Job sections](p5-08b/README.md).** Seven URL-backed sections and Application/Timeline subsections recompose the existing owners on the Phase 4 foundations. [Native readiness proof](p5-08b-readiness/README.md) and the ordinary passing P2-D01 regression remain authoritative for frozen packages/ZIPs. P5-08a header/Overview and all compatibility routes remain. `followMode` metadata is preserved; mode-specific UI stays deferred to the mail phase by Connor's decision. [P5-07 Analytics](p5-07/README.md), [P5-06 Dashboard](p5-06/README.md) and [P5-04b Jobs integration](p5-04b/README.md) remain authoritative for their areas. P5-02 manual screen-reader acceptance remains mandatory for P5-15. F04, incomplete accessibility checks, native touch, Board scaling and recorded timing/preference-save observations remain open. No CV redesign slice, Phase 8 or B07 has begun. @@ -66,7 +68,7 @@ Fresh local planning checks (2026-09-13): The two `.artifacts` validators are ignored local review tools, not new CI/application files. They validate documentation structure/targets, not future implementation behavior. Full application suites were not rerun for prose; their last actual evidence is the unchanged baseline above. Git push is limited to the requested feature branch; remote SHA and clean-tree status are verified and reported with the final commit. No production deployment or external provider check is claimed. -## Recommended next instruction +## Historical planning next instruction “Implement **P5-00 — Shell readiness gates only** from the documentation checkpoint, following `READINESS_GATES.md` and `PHASE5_PLAN.md`. Reproduce/protect each prerequisite against the current UI, preserve application behavior, run the full baseline, record real visual/accessibility evidence, commit/push the bounded readiness checkpoint, and stop before P5-01.” diff --git a/docs/redesign/phase-5/p5-09/README.md b/docs/redesign/phase-5/p5-09/README.md new file mode 100644 index 0000000..5e0644c --- /dev/null +++ b/docs/redesign/phase-5/p5-09/README.md @@ -0,0 +1,156 @@ +# P5-09 — CV editor frame and navigation + +Implementation starts from `efc9e7bdd481a7edf67a9a8d0b545888ee89a670` on `codex/ui-redesign-phase4`. This checkpoint owns the document frame/navigation only; section forms, preview rendering, template controls, AI review and the final responsive migration remain P5-10–P5-14. + +## Approved change and preservation mapping + +| Contracts | Existing behaviour | Bounded frame change | Required evidence | +| --- | --- | --- | --- | +| PRES-C05, PRES-C06 | Named variant, five studio tabs, duplicate/share/PDF | Content-first tabs; compact identity/actions; secondary actions in a named menu | Editor/action regressions; native lifecycle; EN/NB light/dark screenshots | +| PRES-C07 | Ordered, included/omitted and custom sections; pointer drag and move buttons | Section jump navigation opens/focuses the existing form; retained multi-open sections and stable identities | Selection/order/focus/persistence tests; native pointer and keyboard movement | +| PRES-C10 | One save queue, undo/redo, lazy history, restore-as-new-version, conflict recovery | Retain owner/handlers; visible save/version state and editing actions | Complete existing revision/recovery/dirty-guard tests; pending-save tab/resize controls | +| PRES-C08, PRES-C09, PRES-C11, PRES-C12 | Settings, AI review, physical preview and private/public PDF | Same tab consumers and document renderer; no document CSS/geometry changes | All controls/AI tests; 16-fixture fidelity and preview keyboard proof | +| PRES-W05 | Optional job association | Read-only link to the existing associated Job route; no package/tailoring changes | Deep-link and native frozen-package regressions | +| PRES-E07, PRES-E08, PRES-E09 | Existing routing, theme/locale, modal/focus, account boundary | Existing providers/routes, semantic tokens and focus system | Full browser/frontend/security baseline | + +PRES-C01/C02 source data and PRES-W07 submitted capture are regression boundaries: no canonical data, revision or submission semantics change. No new save, undo, template or preview state system is introduced. + +## Implementation decisions + +- Keep `CvBuilderEditor` as the single editing/save owner. Reorder its existing studio tabs so Content is primary; connect each tab to its corresponding panel. +- Keep Content mounted when another studio tab is selected so section navigation/expanded forms retain their editing context. Other advanced consumers retain their existing conditional lifetime. +- Use an ordered, named section selector rather than a permanent third sidebar that would squeeze the existing editor. Existing accordion forms and multi-open behaviour remain; navigation opens/focuses the requested section without editing data. +- Retain the current below-900px Edit/Preview modes and at-1024px split-pane transition. Do not impose the global shell breakpoint on the document workspace. +- Generated PDF remains authoritative. The accepted native-column preview, page geometry, font/layout readiness and fidelity tolerances remain unchanged. + +## Frame and retained owners + +The compact document header contains the editable CV name, **This CV only**, the acknowledged server version, optional associated-application link, save state and PDF export. Publication is explicitly indicated when enabled. Duplicate, publish/unpublish and copy-link use a named MUI overflow menu and the existing handlers. Escape returns focus to the trigger. Invalid-name/busy conditions and save-before-copy/export/publication behaviour remain in the original owner. + +The editing pane has a named h2, session undo/redo, and **Content / Template / Customize / AI Tools / History**. These are the existing five capabilities, reordered rather than replaced. Each tab identifies its panel. History still loads on selection; restore still confirms and uses the accepted expected-version protocol. The header's version identifies the current **settings revision**, not an immutable historical Career Profile snapshot. Only submitted packages capture frozen effective data/files; their native proof remains a regression boundary. + +Content begins with ordered section navigation. Options use the existing section/custom titles plus explicit Included/Omitted text. Choosing a section opens its existing form, focuses the named disclosure control and scrolls it into view; choosing the same collapsed section opens it again. Focusing any section updates the navigation context. More than one section can remain open. Stable section keys retain editing/focus identity across reordering, and navigation follows the same stored order used by the document. Pointer drag and the existing move-up/down buttons still call `useDragReorder`/`moveItem`; no separate document-order model exists. + +Keeping Content mounted across studio tabs retains current section/expanded context. Advanced consumers remain conditionally mounted; their fields/settings, source-reset behaviour, AI validators/review and template capabilities are unchanged. No detailed section forms were redesigned. Omitted sections retain readable controls and existing visibility labels; whole-container opacity remains removed as established in P4-01. + +The default Content pane adds many legitimate keyboard stops. Native testing reproduced the inherited long-document fixture's 80-Tab traversal ending before the preview. A **Go to preview** pane-navigation action now follows the section selector on non-compact screens. Keyboard traversal from the studio navigation reaches the selector, then this action; Enter focuses and reveals the existing preview region. The P4-03 fixture now tests that real keyboard path, retaining its focus-contrast, PageDown, Home/End, forward/backward exit, iframe entry, resize and failure/retry assertions. Its mobile path remains unchanged. No numeric traversal allowance was enlarged to hide the problem. + +The physical measurement iframe, page iframes, HTML helper, PDF generator, zoom/fit calculation and pagination readiness lifecycle are unchanged. The desktop grid shares available width between editor and preview rather than capping the editor at 480px; preview fit observes that width without changing the physical document geometry. There is no new zoom or print setting. + +## Responsive, theme and localisation contract + +- Below **900px**, existing Edit/Preview modes remain. Buttons now expose `aria-pressed`; both panes stay mounted and focus capture retains the focused pane across subsequent resizing. +- **900–1023px** retains the existing stacked editor/preview behaviour; at **1024px** the two-pane grid applies. No global shell breakpoint change. +- Native pending-save checks cover **899 / 900 / 1024px** without draft/focus loss. Native editing/preview checks cover **768 / 390 / 320px**; P4-03 also checks 1440px and preview scroll/exit. +- English and Bokmål labels use the existing translation owner. User-authored names/custom titles remain unchanged. At 320px, native Bokmål axe checks exposed horizontal overflow inside the existing profile-help Alert message beside its action. Its local flex wrapping/message wrapping now allows the action to reflow; no text is removed and no non-interactive text is made focusable to mask the issue. +- Existing MUI/Emotion semantic surfaces, borders, typography and focus-visible treatment are reused. No brand, font, dependency, global theme, shell or route change. + +## Files and tests + +| File | Responsibility | +| --- | --- | +| `job-tracker-ui/src/views/CvBuilderEditor.tsx` | Single existing owner; frame/actions/tab panels, section navigation/expanded context, pane entry and local responsive help wrapping | +| `job-tracker-ui/src/i18n/translations.ts` | Nine matching EN/Bokmål navigation/scope/action labels | +| `job-tracker-ui/src/cv-builder-deep-link.test.tsx` | Four new behavioural cases; intentional Content-first expectation and explicit Template selection | +| `job-tracker-ui/e2e/cv-editor-frame.spec.ts` | Four native theme/locale cases, persisted pointer/keyboard order, hidden/custom navigation, pending save through tabs/widths, owner isolation, public revoke/PDF/copy lifecycle and narrow states | +| `job-tracker-ui/e2e/builder-preview-keyboard.spec.ts` | Named keyboard pane-entry path; inherited scrolling/focus/resize/error checks retained | +| `job-tracker-ui/e2e/semantic-foundations.spec.ts` | Keyboard traversal explicitly verifies Content → Template → Customize in the approved new order; all focus/contrast/control assertions retained | +| `job-tracker-ui/e2e/smoke.spec.ts` | Intentional Content-first default; immediate first-disclosure assertion and keyboard activation of the second; both-open/native PDF assertions retained | +| This record/evidence, Phase 5 index, Phase 2 trace link and `docs/roadmap/todo.md` | Preservation, validation and checkpoint status | + +The four new frontend cases protect: omitted/custom section navigation without writes (including reopening and retaining multi-open state across tabs), keyboard move focus/persisted ordered navigation, save-before-duplicate from the secondary menu, and preview pane entry without modifying an unsaved draft. They supplement the existing acknowledged-save queue, restore races, conflict/draft recovery, dirty navigation, undo/redo, section CRUD, controls and AI accept/reject tests. + +The new native fixtures use disposable synthetic accounts and the real authenticated API. Only a current save response is deliberately held to test pending editing; profile/CV/job/public/PDF operations and readback are native. Initial fixture corrections (204 preference response, selected MUI combobox accessible name, automatic-save sequencing and a scoped locator typo) are not counted as passing validation. The final full run passes after those corrections and the actual keyboard/narrow-message fixes. Native touch/pointer variants beyond the exercised Chromium drag remain qualified. + +The first complete final-code browser attempt recorded **99/102 passing**: two inherited focus assertions still assumed Content → Customize adjacency, and the long Code-template fixture failed its two-open-section assertion after consecutive pointer clicks during expansion. The same Code-template case passed **1/1 in isolation without an application change**. This does not prove the original timing observation nonexistent. The fixture now asserts the first open state immediately and opens the second disclosure using its existing named keyboard control, retaining both-open assertions and native document checks. Pointer drag remains separately exercised in all four new frame cases; animated disclosure pointer/reflow timing remains qualified for the responsive acceptance slice rather than silently claimed fixed. The complete suite is rerun with the corrected fixtures; no retry/expected-failure marking suppresses a result. + +## Revision and rendering gates retained + +The complete backend suite remains **941/941**. The explicit `CvRevisionReadinessTests` subset remains **5/5**, including independent stale save/restore, stale expected-version rejection before history append, settings-history/restore/override reset, and foreign-owner read/history/save/restore denial. Existing frontend queue/race/recovery cases pass; the native browser suite proves concurrent-client rejection, retained/downloadable unsaved content and reviewed reload. The existing native frozen-package/source-change/account archive case, including ordinary passing P2-D01, remains green. This proves the accepted settings/history and immutable submitted-file contract; it does not turn settings revisions into historical Career Profile snapshots. + +The unchanged Python oracle compares all **16/16** fixtures, **36 preview pages / 36 native PDF pages**, at the original tolerances: exact page count and marker membership; page dimensions ≤0.5mm; marker position ≤2mm; font size ≤0.5pt; RGB component ≤1/255. There are no page-count, membership or measured-placement failures. Maximum measured absolute deviations are x **0.00000369mm**, y **1.493055mm**, font **0.005026pt**, RGB **0.00004510**. These tolerances are inherited, not widened for P5-09. + +| Fixture | Preview pages | PDF pages | Result | +| --- | ---: | ---: | --- | +| default-modern | 1 | 1 | Pass | +| default-minimal | 1 | 1 | Pass | +| default-executive | 1 | 1 | Pass | +| default-technical | 1 | 1 | Pass | +| default-ats-classic | 1 | 1 | Pass | +| default-nordic | 1 | 1 | Pass | +| default-elegant | 1 | 1 | Pass | +| default-creative | 1 | 1 | Pass | +| default-code | 1 | 1 | Pass | +| long-en-minimal | 4 | 4 | Pass | +| long-nb-code | 4 | 4 | Pass | +| compact-8mm-letter | 4 | 4 | Pass | +| roomy-28mm-nb | 5 | 5 | Pass | +| grid-and-bubbles | 1 | 1 | Pass | +| long-sidebar-nb | 5 | 5 | Pass | +| unbreakable-and-boundary | 4 | 4 | Pass | + +[Numerical results](evidence/fidelity-results.json), [native measurements](evidence/measurements.json) and [renderer-source hashes](evidence/renderer-source-hashes.json) are retained. All 16 `render.html` sources are byte-identical to the accepted pagination checkpoint. Representative native comparisons are [Modern page 1](evidence/default-modern-comparison-1.png), [long English page 4](evidence/long-en-minimal-comparison-4.png) and [28mm Bokmål page 5](evidence/roomy-28mm-nb-comparison-5.png). Visual inspection found no new clipping, missing sections or changed pagination. The marker oracle is bounded evidence, not a claim of every wrapped line/photo/font being production-qualified. + +The final native measurement durations are 22–71ms, median 41.25ms; the previous checkpoint recorded 22.7–54.1ms, median 40.65ms. These are single local observations, not a benchmark or a performance guarantee. No renderer/update measurement algorithm changed and no additional per-keystroke measurement loop was introduced. + +## Browser, visual and accessibility evidence + +Reviewed on **2026-10-07**, using actual rendered Chromium views and synthetic native data at `/career/builder/:id`. The [permanent case summary](evidence/browser-summary.json) records **102 actual passes**, 20.5 minutes, zero skips/flaky/unexpected/expected-failure cases. **98 inherited cases + 4 P5-09 cases** explains the count change. The corrected inherited expectations retain their functional assertions; no case is hidden or renamed to bypass a failure. + +| Trace / state | Representative visual evidence | Behavioural oracle | +| --- | --- | --- | +| PRES-C05/C06.frame — identity, essential actions, content/navigation/preview | [Light EN](evidence/light-en-desktop-content.png), [Light NB](evidence/light-nb-desktop-content.png), [Dark EN](evidence/dark-en-desktop-content.png), [Dark NB](evidence/dark-nb-desktop-content.png) | Four native frame cases; all five tabs; private/public PDF, publish/revoke and duplicate readback | +| PRES-C07.navigation — omitted/custom sections and persisted order | [Omitted Skills](evidence/light-en-omitted-section-focus.png), [reordered keyboard focus](evidence/dark-nb-reordered-section-focus.png) | Selector keyboard entry, native pointer drag, named move controls, native stored order and unchanged canonical profile | +| PRES-C10.save — unsaved/pending/conflict | [Unsaved](evidence/light-en-unsaved.png), [Saving](evidence/light-en-pending-save.png), [native conflict](evidence/light-en-native-conflict.png) | Existing queue/dirty/conflict tests; held native PUT through tabs/widths; native 409 retains and downloads draft before reviewed reload | +| PRES-C10.history — current revision and existing restoration entry | [Light EN history](evidence/light-en-history.png), [Dark NB history](evidence/dark-nb-history.png) | Lazy native revision read, five backend integrity cases and existing restore/undo/redo frontend cases | +| PRES-C06/E08.responsive — deliberate modes and reflow | [768px edit](evidence/light-en-edit-768.png), [900px pending](evidence/dark-nb-pending-900.png), [1024px pending](evidence/light-en-pending-1024.png), [320px NB edit](evidence/dark-nb-edit-320.png) | 899/900/1024 draft/focus checks; 768/390/320 no document overflow; all four P4-03 preview keyboard cases | +| PRES-C06/E08/E09.mobile — theme/locale edit and preview | [Light EN edit](evidence/light-en-edit-390.png), [Light NB preview](evidence/light-nb-preview-390.png), [Dark EN edit](evidence/dark-en-edit-390.png), [Dark NB preview](evidence/dark-nb-preview-390.png) | Explicit pressed mode, preserved input, named scroll region, keyboard entry/exit, PageDown/Home/End, iframe entry and focused-pane resizing | + +The other EN/NB × light/dark edit/preview/history captures are retained alongside these. Long authored CV/custom section names remain intact; input/select text may truncate in narrow controls with its complete accessible value retained. User-authored content and the CV's document language remain independent from UI language. No data is translated, removed or replaced to fit the frame. + +The stable screenshot replay uses an ignored copy of the same four native cases with screenshot-only `animations: "disabled"`, so indicator/menu transitions are captured at their endpoints. A fifth supplemental fixture pauses only the browser clock to capture the existing Unsaved debounce state, then resumes and proves the real persisted save. [Supplemental summary](evidence/supplemental-browser-summary.json): **5/5 passed**, separate from the permanent 102-case baseline. Command: `npm.cmd run test:e2e -- --config=../.artifacts/p5-09-save-state-capture.config.ts --output=../.artifacts/p5-09/visual-capture --reporter=line,json`, using the same local environment below. No app timing, notification lifetime, animations or persistence semantics were changed for capture. + +The [axe summary](evidence/axe-summary.json) preserves **189 scoped scans with zero reported violations**, including **12 new-frame scans** across populated Content, History and 320px Edit. This does **not** mean every check passed. New-frame incomplete findings include `color-contrast` (badge/input/tab/iframe/scroll states) and `aria-prohibited-attr` on the existing Tooltip-generated Undo/Redo wrapper spans. Across inherited scans, incomplete `aria-hidden-focus`, `aria-valid-attr-value` and `th-has-data-cells` also remain. They are recorded with targets, not reclassified as passes. Buttons retain independent accessible names; existing focus/contrast browser checks and screenshot inspection supplement these results. This is not human screen-reader or native touch certification. + +Native keyboard evidence covers studio arrow/Enter behaviour, section selector activation/focus, move controls, overflow Escape/focus return, pane entry/exit, history and mobile modes. Visual review covers useful pane space, readable semantic surfaces/secondary text in both themes, focus visibility, omitted/included indication, long labels and narrow reflow. Detailed section-form hierarchy and broader manual spoken-name/live-announcement acceptance remain later work. + +## Final validation + +Commands below ran against the final application candidate. Shell invocations use the repository's `rtk` prefix (`rtk proxy` for runners). Logs, raw browser reports/traces/auth state and native current-run PDFs remain ignored under `.artifacts/p5-09`; only safe summaries, synthetic visual evidence and measurements are committed. + +Browser environment: `DOTNET_ROOT=C:/Users/Connor/.dotnet`, `DOTNET_HOST_PATH=C:/Users/Connor/.dotnet/dotnet.exe`, `PLAYWRIGHT_STATIC_EXPORT=true`, `PLAYWRIGHT_PREBUILT_EXPORT=true`, `CV_FIDELITY_OUTPUT=../.artifacts/p5-09/fidelity`, `PLAYWRIGHT_JSON_OUTPUT_NAME=../.artifacts/p5-09/browser.json`. The test harness supplies disposable development API/data and existing test authentication configuration; no production service/provider was used. + +| Command | Result / baseline comparison | +| --- | --- | +| `dotnet.exe test JobTrackerApi.Tests/JobTrackerApi.Tests.csproj --configuration Release --no-restore --logger "trx;LogFileName=p5-09.trx" --results-directory .artifacts/p5-09/backend` | **941/941**, zero skipped/failed; unchanged | +| `npm.cmd test -- --runInBand --silent --json --outputFile=../.artifacts/p5-09/jest.json` | **426/426**, 80 suites; **+4** focused editor behaviours from 422 | +| `npm.cmd run test:e2e -- --output=../.artifacts/p5-09/browser --reporter=line,json` | **102/102 actual**, **+4** native frame cases from 98; no expected failures/skips/flaky cases | +| `npm.cmd run typecheck` | Passed | +| `npm.cmd exec tsc -- --project ../.artifacts/p5-09-readiness-e2e-tsconfig.json --noEmit --incremental false` | All permanent browser fixtures type-check; existing ignored validation config, no CI change | +| `npm.cmd run lint` | Passed, zero warnings allowed | +| `npm.cmd run build` with `NEXT_PUBLIC_API_BASE_URL=http://localhost:5302/api` | Passed, production static export; final recorded rerun exit 0 | +| `dotnet.exe build JobTrackerApi/JobTrackerApi.csproj --configuration Release --no-restore` | Passed, zero warnings/errors | +| `dotnet.exe test JobTrackerApi.Tests/JobTrackerApi.Tests.csproj --configuration Release --no-build --filter FullyQualifiedName~CvRevisionReadinessTests` | **5/5**, included in 941; unchanged revision contract | +| `npm.cmd run test:rate-limits -- --output=../.artifacts/p5-09/rate-limits --reporter=line` | **9/9**, unchanged | +| `npm.cmd exec playwright test -- --config=playwright.ingress.config.ts --output=../.artifacts/p5-09/ingress --reporter=line` | **6/6**, unchanged; local/application proof only | +| `npm.cmd run test:pdf-admission -- --output=../.artifacts/p5-09/pdf-admission --reporter=line` | **1/1**, unchanged | +| `python scripts/test-ingress.py` | **3/3**, unchanged configuration/Compose validation | +| `python scripts/test-supply-chain.py` / `python scripts/test-ollama-evaluation.py` / `node browser-extension/tests/capture-url.test.mjs` | **3 / 5 / 3 passed**, local ancillary fixtures | +| Bundled Python `-X utf8 scripts/verify-cv-fidelity.py .artifacts/p5-09/fidelity` | **16/16**, unchanged oracle/tolerances, **36/36** pages | +| `python scripts/supply-chain.py scan-secrets` / `git diff --check` / `git diff --cached --check` | Passed against the final staged candidate; no high-confidence credential patterns or whitespace errors | +| `python .artifacts/p4-04-check-doc-links.py` | **146** current/root Markdown documents, zero missing local file targets; historical archive/external URLs/anchors excluded | + +No backend, DTO, renderer, template consumer, provider tree, router, global theme, dependency, package script or CI file changed; a scoped `git diff --exit-code` against the source checkpoint confirms those owners unchanged. No infrastructure changes were required. + +## Acceptance and remaining scope + +**P5-09 frame/navigation accepted locally; stop before P5-10.** Revision safety and the measurable rendering gate remain green. No preserved capability is removed and all existing CV tabs/forms/actions remain accessible. This does not claim exhaustive coverage of all 57 contracts, complete CV accessibility or production release acceptance. + +- **P5-10:** detailed section editing, canonical source versus CV-specific override presentation and form hierarchy. Current form owners/data boundaries are retained for that migration. +- **P5-11:** live-preview presentation; preserve the native pagination/PDF truth contract. +- **P5-12/P5-13:** template/document-control and grounded AI review presentation. Existing owners and review/accept/reject behaviour remain unchanged here. +- **P5-14/P5-15:** full responsive/touch/pointer-reflow qualification and final cross-screen acceptance, including human screen-reader spoken names/live/state announcements and incomplete automated findings. +- **Production font/photo qualification and F04 production ingress evidence remain open.** Local rendering and ingress tests do not prove deployed fonts, photos, host/firewall/DNS/TLS. +- Dashboard preference-save 500, Board full-result scaling/native touch and deferred `followMode` compose UI remain separate open debt. P2-D01 remains ordinary passing and is not carried as an expected failure. + +No P5-10+, Phase 6–8 or B07 implementation occurred. The implementation checkpoint is the commit containing this record (`git log -1 -- docs/redesign/phase-5/p5-09/README.md`); remote equality and clean working-tree state are verified after pushing that checkpoint. diff --git a/docs/redesign/phase-5/p5-09/evidence/axe-summary.json b/docs/redesign/phase-5/p5-09/evidence/axe-summary.json new file mode 100644 index 0000000..41de36b --- /dev/null +++ b/docs/redesign/phase-5/p5-09/evidence/axe-summary.json @@ -0,0 +1,5751 @@ +{ + "scanCount": 189, + "scans": [ + { + "case": "[PRES-S01 S02 E07 E08 E09 J05 J09] Analytics native reports, direct entry, period, drill-down and owner isolation", + "state": "analytics-light-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-invisible" + ] + ] + } + ] + }, + { + "case": "[PRES-S01 S02 E07 E08 E09 J05 J09] Analytics native reports, direct entry, period, drill-down and owner isolation", + "state": "analytics-dark-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-invisible" + ] + ] + } + ] + }, + { + "case": "[PRES-J07 J05 W01 W02 E07 E08 E09] Board query membership matches Table and preserves moves, focus and route", + "state": "board-phone-light-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-invisible" + ], + [ + "a[href=\"/jobs?source=board&view=table\"]" + ], + [ + "a[href=\"/jobs?source=board&view=board\"]" + ], + [ + "#_r_60_" + ], + [ + "div[aria-labelledby=\"job-table-status-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-company-label\"]" + ], + [ + "#_r_63_" + ], + [ + "div[aria-labelledby=\"job-table-readiness-label\"]" + ] + ] + } + ] + }, + { + "case": "[PRES-J07 J05 W01 W02 E07 E08 E09] Board query membership matches Table and preserves moves, focus and route", + "state": "board-phone-dark-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-invisible" + ], + [ + "a[href=\"/jobs?source=board&view=table\"]" + ], + [ + "a[href=\"/jobs?source=board&view=board\"]" + ], + [ + "#_r_5v_" + ], + [ + "div[aria-labelledby=\"job-table-status-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-company-label\"]" + ], + [ + "#_r_62_" + ], + [ + "div[aria-labelledby=\"job-table-readiness-label\"]" + ] + ] + } + ] + }, + { + "case": "[PRES-J07 E08] Board loading, retryable error and fully empty columns", + "state": "board-empty-light-en-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + ".MuiChip-root" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_i_" + ], + [ + "div[aria-labelledby=\"job-table-status-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-company-label\"]" + ], + [ + "#_r_l_" + ], + [ + "div[aria-labelledby=\"job-table-readiness-label\"]" + ] + ] + } + ] + }, + { + "case": "[PRES-C06 PRES-C07 PRES-C10 PRES-E08] light/en preview keyboard, pagination and responsive state", + "state": "transition-900-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Undo\"]" + ], + [ + "span[aria-label=\"Redo\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#cv-studio-tab-1" + ], + [ + "#cv-studio-tab-4" + ], + [ + ".css-1ydlhs2 > .MuiButton-text.MuiButton-textPrimary.MuiButton-textSizeSmall" + ], + [ + "#_r_v_" + ], + [ + ".MuiButton-containedSizeMedium" + ], + [ + "iframe[title=\"CV preview page 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-C06 PRES-C07 PRES-C10 PRES-E08] light/en preview keyboard, pagination and responsive state", + "state": "transition-1024-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Undo\"]" + ], + [ + "span[aria-label=\"Redo\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#cv-studio-tab-4" + ], + [ + ".css-1ydlhs2 > .MuiButton-text.MuiButton-textPrimary.MuiButton-textSizeSmall" + ], + [ + "#_r_v_" + ], + [ + ".MuiButton-containedSizeMedium" + ], + [ + "iframe[title=\"CV preview page 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-C06 PRES-C07 PRES-C10 PRES-E08] light/en preview keyboard, pagination and responsive state", + "state": "transition-1440-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Undo\"]" + ], + [ + "span[aria-label=\"Redo\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#cv-studio-tab-1" + ], + [ + "#cv-studio-tab-4" + ], + [ + ".css-1ydlhs2 > .MuiButton-text.MuiButton-textPrimary.MuiButton-textSizeSmall" + ], + [ + "#_r_v_" + ], + [ + ".MuiButton-containedSizeMedium" + ], + [ + "iframe[title=\"CV preview page 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-C06 PRES-C07 PRES-C10 PRES-E08] light/en preview keyboard, pagination and responsive state", + "state": "loaded-final-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Undo\"]" + ], + [ + "span[aria-label=\"Redo\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#cv-studio-tab-1" + ], + [ + "#cv-studio-tab-4" + ], + [ + ".css-1ydlhs2 > .MuiButton-text.MuiButton-textPrimary.MuiButton-textSizeSmall" + ], + [ + "#_r_v_" + ], + [ + ".MuiButton-containedSizeMedium" + ], + [ + "iframe[title=\"CV preview page 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-C06 PRES-C07 PRES-C10 PRES-E08] dark/nb preview keyboard, pagination and responsive state", + "state": "transition-900-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Angre\"]" + ], + [ + "span[aria-label=\"Gjør om\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#cv-studio-tab-1" + ], + [ + "#cv-studio-tab-4" + ], + [ + ".css-1ydlhs2 > .MuiButton-text.MuiButton-textPrimary.MuiButton-textSizeSmall" + ], + [ + "#_r_v_" + ], + [ + ".MuiButton-containedSizeMedium" + ], + [ + "iframe[title=\"CV-forhåndsvisning side 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-C06 PRES-C07 PRES-C10 PRES-E08] dark/nb preview keyboard, pagination and responsive state", + "state": "transition-1024-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Angre\"]" + ], + [ + "span[aria-label=\"Gjør om\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#cv-studio-tab-4" + ], + [ + ".css-1ydlhs2 > .MuiButton-text.MuiButton-textPrimary.MuiButton-textSizeSmall" + ], + [ + "#_r_v_" + ], + [ + ".MuiButton-containedSizeMedium" + ], + [ + "iframe[title=\"CV-forhåndsvisning side 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-C06 PRES-C07 PRES-C10 PRES-E08] dark/nb preview keyboard, pagination and responsive state", + "state": "transition-1440-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Angre\"]" + ], + [ + "span[aria-label=\"Gjør om\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#cv-studio-tab-1" + ], + [ + "#cv-studio-tab-4" + ], + [ + ".css-1ydlhs2 > .MuiButton-text.MuiButton-textPrimary.MuiButton-textSizeSmall" + ], + [ + "#_r_v_" + ], + [ + ".MuiButton-containedSizeMedium" + ], + [ + "iframe[title=\"CV-forhåndsvisning side 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-C06 PRES-C07 PRES-C10 PRES-E08] dark/nb preview keyboard, pagination and responsive state", + "state": "loaded-final-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Angre\"]" + ], + [ + "span[aria-label=\"Gjør om\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".css-15ja76x" + ], + [ + "#cv-studio-tab-1" + ], + [ + "#cv-studio-tab-4" + ], + [ + ".css-1ydlhs2 > .MuiButton-text.MuiButton-textPrimary.MuiButton-textSizeSmall" + ], + [ + "#_r_v_" + ], + [ + ".MuiButton-containedSizeMedium" + ], + [ + "iframe[title=\"CV-forhåndsvisning side 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-C06 PRES-C07 PRES-C10 PRES-E08] light/nb preview keyboard, pagination and responsive state", + "state": "transition-900-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Angre\"]" + ], + [ + "span[aria-label=\"Gjør om\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#cv-studio-tab-1" + ], + [ + "#cv-studio-tab-4" + ], + [ + ".css-1ydlhs2 > .MuiButton-text.MuiButton-textPrimary.MuiButton-textSizeSmall" + ], + [ + "#_r_v_" + ], + [ + ".MuiButton-containedSizeMedium" + ], + [ + "iframe[title=\"CV-forhåndsvisning side 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-C06 PRES-C07 PRES-C10 PRES-E08] light/nb preview keyboard, pagination and responsive state", + "state": "transition-1024-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Angre\"]" + ], + [ + "span[aria-label=\"Gjør om\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#cv-studio-tab-4" + ], + [ + ".css-1ydlhs2 > .MuiButton-text.MuiButton-textPrimary.MuiButton-textSizeSmall" + ], + [ + "#_r_v_" + ], + [ + ".MuiButton-containedSizeMedium" + ], + [ + "iframe[title=\"CV-forhåndsvisning side 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-C06 PRES-C07 PRES-C10 PRES-E08] light/nb preview keyboard, pagination and responsive state", + "state": "transition-1440-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Angre\"]" + ], + [ + "span[aria-label=\"Gjør om\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#cv-studio-tab-1" + ], + [ + "#cv-studio-tab-4" + ], + [ + ".css-1ydlhs2 > .MuiButton-text.MuiButton-textPrimary.MuiButton-textSizeSmall" + ], + [ + "#_r_v_" + ], + [ + ".MuiButton-containedSizeMedium" + ], + [ + "iframe[title=\"CV-forhåndsvisning side 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-C06 PRES-C07 PRES-C10 PRES-E08] light/nb preview keyboard, pagination and responsive state", + "state": "loaded-final-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Angre\"]" + ], + [ + "span[aria-label=\"Gjør om\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".css-15ja76x" + ], + [ + "#cv-studio-tab-1" + ], + [ + "#cv-studio-tab-4" + ], + [ + ".css-1ydlhs2 > .MuiButton-text.MuiButton-textPrimary.MuiButton-textSizeSmall" + ], + [ + "#_r_v_" + ], + [ + ".MuiButton-containedSizeMedium" + ], + [ + "iframe[title=\"CV-forhåndsvisning side 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-C06 PRES-C07 PRES-C10 PRES-E08] dark/en preview keyboard, pagination and responsive state", + "state": "transition-900-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Undo\"]" + ], + [ + "span[aria-label=\"Redo\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#cv-studio-tab-1" + ], + [ + "#cv-studio-tab-4" + ], + [ + ".css-1ydlhs2 > .MuiButton-text.MuiButton-textPrimary.MuiButton-textSizeSmall" + ], + [ + "#_r_v_" + ], + [ + ".MuiButton-containedSizeMedium" + ], + [ + "iframe[title=\"CV preview page 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-C06 PRES-C07 PRES-C10 PRES-E08] dark/en preview keyboard, pagination and responsive state", + "state": "transition-1024-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Undo\"]" + ], + [ + "span[aria-label=\"Redo\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#cv-studio-tab-4" + ], + [ + ".css-1ydlhs2 > .MuiButton-text.MuiButton-textPrimary.MuiButton-textSizeSmall" + ], + [ + "#_r_v_" + ], + [ + ".MuiButton-containedSizeMedium" + ], + [ + "iframe[title=\"CV preview page 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-C06 PRES-C07 PRES-C10 PRES-E08] dark/en preview keyboard, pagination and responsive state", + "state": "transition-1440-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Undo\"]" + ], + [ + "span[aria-label=\"Redo\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#cv-studio-tab-1" + ], + [ + "#cv-studio-tab-4" + ], + [ + ".css-1ydlhs2 > .MuiButton-text.MuiButton-textPrimary.MuiButton-textSizeSmall" + ], + [ + "#_r_v_" + ], + [ + ".MuiButton-containedSizeMedium" + ], + [ + "iframe[title=\"CV preview page 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-C06 PRES-C07 PRES-C10 PRES-E08] dark/en preview keyboard, pagination and responsive state", + "state": "loaded-final-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Undo\"]" + ], + [ + "span[aria-label=\"Redo\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#cv-studio-tab-1" + ], + [ + "#cv-studio-tab-4" + ], + [ + ".css-1ydlhs2 > .MuiButton-text.MuiButton-textPrimary.MuiButton-textSizeSmall" + ], + [ + "#_r_v_" + ], + [ + ".MuiButton-containedSizeMedium" + ], + [ + "iframe[title=\"CV preview page 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-C05 C06 C07 C10 W05 E08] light/en CV frame navigation, actions and pending editing", + "state": "desktop-content-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Undo\"]" + ], + [ + "span[aria-label=\"Redo\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_11_" + ], + [ + "iframe[title=\"CV preview page 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-C05 C06 C07 C10 W05 E08] light/en CV frame navigation, actions and pending editing", + "state": "history-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Undo\"]" + ], + [ + "span[aria-label=\"Redo\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".css-15ja76x" + ], + [ + "#cv-studio-tab-1" + ], + [ + "#cv-studio-tab-0" + ], + [ + "#cv-studio-tab-2" + ], + [ + "#cv-studio-tab-4" + ], + [ + "iframe[title=\"CV preview page 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-C05 C06 C07 C10 W05 E08] light/en CV frame navigation, actions and pending editing", + "state": "phone-edit-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Undo\"]" + ], + [ + "span[aria-label=\"Redo\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".css-15ja76x" + ], + [ + ".css-1o5rj1a" + ], + [ + ".css-gxlcvs" + ], + [ + "#cv-studio-tab-1" + ], + [ + "#cv-studio-tab-0" + ], + [ + "#cv-studio-tab-2" + ], + [ + "#_r_11_" + ], + [ + "#_r_3i_" + ], + [ + "#_r_3s_" + ], + [ + "#_r_40_" + ], + [ + "#_r_42_" + ], + [ + "#_r_4c_" + ] + ] + } + ] + }, + { + "case": "[PRES-C05 C06 C07 C10 W05 E08] dark/nb CV frame navigation, actions and pending editing", + "state": "desktop-content-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Angre\"]" + ], + [ + "span[aria-label=\"Gjør om\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_10_" + ], + [ + "iframe[title=\"CV-forhåndsvisning side 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-C05 C06 C07 C10 W05 E08] dark/nb CV frame navigation, actions and pending editing", + "state": "history-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Angre\"]" + ], + [ + "span[aria-label=\"Gjør om\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".css-15ja76x" + ], + [ + "#cv-studio-tab-1" + ], + [ + "#cv-studio-tab-0" + ], + [ + "#cv-studio-tab-2" + ], + [ + "#cv-studio-tab-4" + ], + [ + "iframe[title=\"CV-forhåndsvisning side 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-C05 C06 C07 C10 W05 E08] dark/nb CV frame navigation, actions and pending editing", + "state": "phone-edit-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Angre\"]" + ], + [ + "span[aria-label=\"Gjør om\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".css-15ja76x" + ], + [ + ".css-1o5rj1a" + ], + [ + ".css-gxlcvs" + ], + [ + "#cv-studio-tab-1" + ], + [ + "#cv-studio-tab-0" + ], + [ + "#cv-studio-tab-2" + ], + [ + "#_r_10_" + ], + [ + "#_r_3h_" + ], + [ + "#_r_3r_" + ], + [ + "#_r_3v_" + ], + [ + "#_r_41_" + ], + [ + "#_r_4b_" + ] + ] + } + ] + }, + { + "case": "[PRES-C05 C06 C07 C10 W05 E08] light/nb CV frame navigation, actions and pending editing", + "state": "desktop-content-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Angre\"]" + ], + [ + "span[aria-label=\"Gjør om\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_10_" + ], + [ + "iframe[title=\"CV-forhåndsvisning side 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-C05 C06 C07 C10 W05 E08] light/nb CV frame navigation, actions and pending editing", + "state": "history-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Angre\"]" + ], + [ + "span[aria-label=\"Gjør om\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".css-15ja76x" + ], + [ + "#cv-studio-tab-1" + ], + [ + "#cv-studio-tab-0" + ], + [ + "#cv-studio-tab-2" + ], + [ + "#cv-studio-tab-4" + ], + [ + "iframe[title=\"CV-forhåndsvisning side 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-C05 C06 C07 C10 W05 E08] light/nb CV frame navigation, actions and pending editing", + "state": "phone-edit-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Angre\"]" + ], + [ + "span[aria-label=\"Gjør om\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".css-15ja76x" + ], + [ + ".css-1o5rj1a" + ], + [ + ".css-gxlcvs" + ], + [ + "h2" + ], + [ + "#cv-studio-tab-1" + ], + [ + "#cv-studio-tab-0" + ], + [ + "#cv-studio-tab-2" + ], + [ + "#_r_10_" + ], + [ + "#_r_3h_" + ], + [ + "#_r_3r_" + ], + [ + "#_r_3v_" + ], + [ + "#_r_41_" + ], + [ + "#_r_4b_" + ] + ] + } + ] + }, + { + "case": "[PRES-C05 C06 C07 C10 W05 E08] dark/en CV frame navigation, actions and pending editing", + "state": "desktop-content-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Undo\"]" + ], + [ + "span[aria-label=\"Redo\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_11_" + ], + [ + "iframe[title=\"CV preview page 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-C05 C06 C07 C10 W05 E08] dark/en CV frame navigation, actions and pending editing", + "state": "history-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Undo\"]" + ], + [ + "span[aria-label=\"Redo\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".css-15ja76x" + ], + [ + "#cv-studio-tab-1" + ], + [ + "#cv-studio-tab-0" + ], + [ + "#cv-studio-tab-2" + ], + [ + "#cv-studio-tab-4" + ], + [ + "iframe[title=\"CV preview page 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-C05 C06 C07 C10 W05 E08] dark/en CV frame navigation, actions and pending editing", + "state": "phone-edit-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Undo\"]" + ], + [ + "span[aria-label=\"Redo\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".css-15ja76x" + ], + [ + ".css-1o5rj1a" + ], + [ + ".css-gxlcvs" + ], + [ + "h2" + ], + [ + "#cv-studio-tab-1" + ], + [ + "#cv-studio-tab-0" + ], + [ + "#cv-studio-tab-2" + ], + [ + "#_r_11_" + ], + [ + "#_r_3i_" + ], + [ + "#_r_3s_" + ], + [ + "#_r_40_" + ], + [ + "#_r_42_" + ], + [ + "#_r_4c_" + ] + ] + } + ] + }, + { + "case": "[PRES-S01 S02 E07 E08 E09] Dashboard native data, visibility and responsive presentation", + "state": "dashboard-light-menu-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-hidden-focus", + "targets": [ + [ + "#root" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-invisible" + ], + [ + ".css-17t4hgu" + ] + ] + } + ] + }, + { + "case": "[PRES-S01 S02 E07 E08 E09] Dashboard native data, visibility and responsive presentation", + "state": "dashboard-light-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-invisible" + ], + [ + ".Mui-focusVisible" + ] + ] + } + ] + }, + { + "case": "[PRES-S01 S02 E07 E08 E09] Dashboard native data, visibility and responsive presentation", + "state": "dashboard-dark-menu-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-hidden-focus", + "targets": [ + [ + "#root" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-invisible" + ], + [ + ".css-17t4hgu" + ] + ] + } + ] + }, + { + "case": "[PRES-S01 S02 E07 E08 E09] Dashboard native data, visibility and responsive presentation", + "state": "dashboard-dark-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-invisible" + ], + [ + ".Mui-focusVisible" + ] + ] + } + ] + }, + { + "case": "[PRES-W01 W02 W03 J05 E08 E09] native Job header/Overview retains actions, custom status, aliases and mobile progress keyboard access", + "state": "job-overview-light-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-invisible" + ], + [ + ".css-1vcc3k.MuiBox-root:nth-child(4) > .css-b7tg9p.MuiStack-root > .css-1etkf64.MuiTypography-caption" + ], + [ + ".css-1vcc3k.MuiBox-root:nth-child(5) > .css-b7tg9p.MuiStack-root > .css-1etkf64.MuiTypography-caption" + ], + [ + ".css-1h36fbo" + ], + [ + ".css-1vcc3k.MuiBox-root:nth-child(7) > .css-b7tg9p.MuiStack-root > .css-1etkf64.MuiTypography-caption" + ] + ] + } + ] + }, + { + "case": "[PRES-W01 W02 W03 J05 E08 E09] native Job header/Overview retains actions, custom status, aliases and mobile progress keyboard access", + "state": "job-overview-dark-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-invisible" + ], + [ + ".css-1vcc3k.MuiBox-root:nth-child(4) > .css-b7tg9p.MuiStack-root > .css-1etkf64.MuiTypography-caption" + ], + [ + ".css-1vcc3k.MuiBox-root:nth-child(5) > .css-b7tg9p.MuiStack-root > .css-1etkf64.MuiTypography-caption" + ], + [ + ".css-1h36fbo" + ], + [ + ".css-1vcc3k.MuiBox-root:nth-child(7) > .css-b7tg9p.MuiStack-root > .css-1etkf64.MuiTypography-caption" + ] + ] + } + ] + }, + { + "case": "[PRES-W01–W11 E08 E09] native Job sections retain drafts, frozen documents, tasks and history (en, light)", + "state": "sections-documents-en-light-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".MuiSelect-select" + ] + ] + } + ] + }, + { + "case": "[PRES-W01–W11 E08 E09] native Job sections retain drafts, frozen documents, tasks and history (en, light)", + "state": "sections-correspondence-en-light-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_11_" + ] + ] + } + ] + }, + { + "case": "[PRES-W01–W11 E08 E09] native Job sections retain drafts, frozen documents, tasks and history (en, light)", + "state": "sections-notes-tasks-en-light-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "section[aria-labelledby=\"_r_15_\"] > .css-31l7gp.MuiBox-root > .css-qfnqh.MuiStack-root > .css-1c9ky8i.MuiStack-root:nth-child(1) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Move up\"]" + ], + [ + "section[aria-labelledby=\"_r_15_\"] > .css-31l7gp.MuiBox-root > .css-qfnqh.MuiStack-root > .css-1c9ky8i.MuiStack-root:nth-child(1) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Move down\"]" + ], + [ + "section[aria-labelledby=\"_r_15_\"] > .css-31l7gp.MuiBox-root > .css-qfnqh.MuiStack-root > .css-1c9ky8i.MuiStack-root:nth-child(1) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Not relevant for this role\"]" + ], + [ + "section[aria-labelledby=\"_r_15_\"] > .css-31l7gp.MuiBox-root > .css-qfnqh.MuiStack-root > .css-1c9ky8i.MuiStack-root:nth-child(2) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Move up\"]" + ], + [ + "section[aria-labelledby=\"_r_15_\"] > .css-31l7gp.MuiBox-root > .css-qfnqh.MuiStack-root > .css-1c9ky8i.MuiStack-root:nth-child(2) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Move down\"]" + ], + [ + "section[aria-labelledby=\"_r_15_\"] > .css-31l7gp.MuiBox-root > .css-qfnqh.MuiStack-root > .css-1c9ky8i.MuiStack-root:nth-child(2) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Not relevant for this role\"]" + ], + [ + ".css-1c9ky8i.MuiStack-root:nth-child(3) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Move up\"]" + ], + [ + ".css-1c9ky8i.MuiStack-root:nth-child(3) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Move down\"]" + ], + [ + ".css-1c9ky8i.MuiStack-root:nth-child(3) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Not relevant for this role\"]" + ], + [ + ".css-1c9ky8i.MuiStack-root:nth-child(4) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Move up\"]" + ], + [ + ".css-1c9ky8i.MuiStack-root:nth-child(4) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Move down\"]" + ], + [ + ".css-1c9ky8i.MuiStack-root:nth-child(4) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Not relevant for this role\"]" + ], + [ + ".css-1c9ky8i.MuiStack-root:nth-child(5) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Move up\"]" + ], + [ + ".css-1c9ky8i.MuiStack-root:nth-child(5) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Move down\"]" + ], + [ + ".css-1c9ky8i.MuiStack-root:nth-child(5) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Not relevant for this role\"]" + ], + [ + ".css-1c9ky8i.MuiStack-root:nth-child(6) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Move up\"]" + ], + [ + ".css-1c9ky8i.MuiStack-root:nth-child(6) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Move down\"]" + ], + [ + ".css-1c9ky8i.MuiStack-root:nth-child(6) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Not relevant for this role\"]" + ], + [ + ".css-1c9ky8i.MuiStack-root:nth-child(7) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Move up\"]" + ], + [ + ".css-1c9ky8i.MuiStack-root:nth-child(7) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Move down\"]" + ], + [ + ".css-1c9ky8i.MuiStack-root:nth-child(7) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Not relevant for this role\"]" + ], + [ + ".css-1c9ky8i.MuiStack-root:nth-child(8) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Move up\"]" + ], + [ + ".css-1c9ky8i.MuiStack-root:nth-child(8) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Move down\"]" + ], + [ + ".css-1c9ky8i.MuiStack-root:nth-child(8) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Not relevant for this role\"]" + ], + [ + ".css-1c9ky8i.MuiStack-root:nth-child(9) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Move up\"]" + ], + [ + ".css-1c9ky8i.MuiStack-root:nth-child(9) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Move down\"]" + ], + [ + ".css-1c9ky8i.MuiStack-root:nth-child(9) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Not relevant for this role\"]" + ], + [ + "section[aria-labelledby=\"_r_2s_\"] > .css-31l7gp.MuiBox-root > .css-qfnqh.MuiStack-root > .css-1c9ky8i.MuiStack-root > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Move up\"]" + ], + [ + "section[aria-labelledby=\"_r_2s_\"] > .css-31l7gp.MuiBox-root > .css-qfnqh.MuiStack-root > .css-1c9ky8i.MuiStack-root > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Move down\"]" + ], + [ + "section[aria-labelledby=\"_r_2s_\"] > .css-31l7gp.MuiBox-root > .css-qfnqh.MuiStack-root > .css-1c9ky8i.MuiStack-root > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Not relevant for this role\"]" + ], + [ + "section[aria-labelledby=\"_r_33_\"] > .css-31l7gp.MuiBox-root > .css-qfnqh.MuiStack-root > .css-1c9ky8i.MuiStack-root:nth-child(1) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Move up\"]" + ], + [ + "section[aria-labelledby=\"_r_33_\"] > .css-31l7gp.MuiBox-root > .css-qfnqh.MuiStack-root > .css-1c9ky8i.MuiStack-root:nth-child(1) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Move down\"]" + ], + [ + "section[aria-labelledby=\"_r_33_\"] > .css-31l7gp.MuiBox-root > .css-qfnqh.MuiStack-root > .css-1c9ky8i.MuiStack-root:nth-child(1) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Not relevant for this role\"]" + ], + [ + "section[aria-labelledby=\"_r_33_\"] > .css-31l7gp.MuiBox-root > .css-qfnqh.MuiStack-root > .css-1c9ky8i.MuiStack-root:nth-child(2) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Move up\"]" + ], + [ + "section[aria-labelledby=\"_r_33_\"] > .css-31l7gp.MuiBox-root > .css-qfnqh.MuiStack-root > .css-1c9ky8i.MuiStack-root:nth-child(2) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Move down\"]" + ], + [ + "section[aria-labelledby=\"_r_33_\"] > .css-31l7gp.MuiBox-root > .css-qfnqh.MuiStack-root > .css-1c9ky8i.MuiStack-root:nth-child(2) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Not relevant for this role\"]" + ], + [ + "section[aria-labelledby=\"_r_3g_\"] > .css-31l7gp.MuiBox-root > .css-qfnqh.MuiStack-root > .css-1c9ky8i.MuiStack-root:nth-child(1) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Move up\"]" + ], + [ + "section[aria-labelledby=\"_r_3g_\"] > .css-31l7gp.MuiBox-root > .css-qfnqh.MuiStack-root > .css-1c9ky8i.MuiStack-root:nth-child(1) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Move down\"]" + ], + [ + "section[aria-labelledby=\"_r_3g_\"] > .css-31l7gp.MuiBox-root > .css-qfnqh.MuiStack-root > .css-1c9ky8i.MuiStack-root:nth-child(1) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Not relevant for this role\"]" + ], + [ + "section[aria-labelledby=\"_r_3g_\"] > .css-31l7gp.MuiBox-root > .css-qfnqh.MuiStack-root > .css-1c9ky8i.MuiStack-root:nth-child(2) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Move up\"]" + ], + [ + "section[aria-labelledby=\"_r_3g_\"] > .css-31l7gp.MuiBox-root > .css-qfnqh.MuiStack-root > .css-1c9ky8i.MuiStack-root:nth-child(2) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Move down\"]" + ], + [ + "section[aria-labelledby=\"_r_3g_\"] > .css-31l7gp.MuiBox-root > .css-qfnqh.MuiStack-root > .css-1c9ky8i.MuiStack-root:nth-child(2) > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Not relevant for this role\"]" + ], + [ + "section[aria-labelledby=\"_r_3t_\"] > .css-31l7gp.MuiBox-root > .css-qfnqh.MuiStack-root > .css-1c9ky8i.MuiStack-root > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Move up\"]" + ], + [ + "section[aria-labelledby=\"_r_3t_\"] > .css-31l7gp.MuiBox-root > .css-qfnqh.MuiStack-root > .css-1c9ky8i.MuiStack-root > .checklist-actions.css-1iqpi3n.MuiStack-root > span[aria-label=\"Move down\"]" + ], + [ + "span[aria-label=\"Delete\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_44_" + ] + ] + } + ] + }, + { + "case": "[PRES-W01–W11 E08 E09] native Job sections retain drafts, frozen documents, tasks and history (en, light)", + "state": "sections-interview-en-light-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Delete\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_1e_" + ], + [ + "#_r_1i_" + ], + [ + "#_r_1k_" + ], + [ + "#_r_14_" + ], + [ + "#_r_16_" + ], + [ + "#_r_18_" + ], + [ + "#_r_1m_" + ], + [ + "#_r_1n_" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 PRES-E08 PRES-J08 PRES-C08 PRES-C09 PRES-W06 PRES-W08] light/en/1440 named controls, modal keyboard and retained draft", + "state": "command-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-valid-attr-value", + "targets": [ + [ + ".MuiPaper-elevation24" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".Mui-selected.MuiListItemButton-dense.css-1e9t9wa > .MuiListItemText-dense.MuiListItemText-multiline.css-1ar2zzj > .css-wokl4i.MuiTypography-body2.MuiListItemText-primary" + ], + [ + ".Mui-selected.MuiListItemButton-dense.css-1e9t9wa > .MuiListItemText-dense.MuiListItemText-multiline.css-1ar2zzj > .MuiListItemText-secondary.css-ncbwgh" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 PRES-E08 PRES-J08 PRES-C08 PRES-C09 PRES-W06 PRES-W08] light/en/1440 named controls, modal keyboard and retained draft", + "state": "cv-controls-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-hidden-focus", + "targets": [ + [ + ":root" + ] + ] + }, + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Undo\"]" + ], + [ + "span[aria-label=\"Redo\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#cv-studio-tab-2" + ], + [ + ".MuiSelect-select.MuiSelect-outlined[aria-labelledby=\"_r_3b_-cvEditorHeadingFont\"]" + ], + [ + "div[aria-label=\"Skills presentation\"]" + ], + [ + "div[aria-label=\"Page size\"]" + ], + [ + "div[aria-label=\"Density\"]" + ], + [ + "div[aria-label=\"Language\"]" + ], + [ + "div[aria-label=\"Date format\"]" + ], + [ + "iframe[title=\"CV preview page 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 PRES-E08 PRES-J08 PRES-C08 PRES-C09 PRES-W06 PRES-W08] light/en/1440 named controls, modal keyboard and retained draft", + "state": "cover-controls-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_1i_" + ], + [ + "div[aria-labelledby=\"_r_u_-coverAiAction\"]" + ], + [ + "div[aria-labelledby=\"_r_u_-coverAiTone\"]" + ], + [ + "div[aria-labelledby=\"_r_u_-coverAiDocumentLanguage\"]" + ], + [ + "#_r_17_" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 PRES-E08 PRES-J08 PRES-C08 PRES-C09 PRES-W06 PRES-W08] light/en/1440 named controls, modal keyboard and retained draft", + "state": "prompt-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + "#_r_20_" + ], + [ + ".css-m42v8x" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 PRES-E08 PRES-J08 PRES-C08 PRES-C09 PRES-W06 PRES-W08] light/en/1440 named controls, modal keyboard and retained draft", + "state": "confirm-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".Mui-focusVisible" + ], + [ + ".MuiButton-containedError" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 PRES-E08 PRES-J08 PRES-C08 PRES-C09 PRES-W06 PRES-W08] dark/nb/1440 named controls, modal keyboard and retained draft", + "state": "command-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-valid-attr-value", + "targets": [ + [ + ".MuiPaper-elevation24" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".Mui-selected.MuiListItemButton-dense.css-1e9t9wa > .MuiListItemText-dense.MuiListItemText-multiline.css-1ar2zzj > .css-wokl4i.MuiTypography-body2.MuiListItemText-primary" + ], + [ + ".Mui-selected.MuiListItemButton-dense.css-1e9t9wa > .MuiListItemText-dense.MuiListItemText-multiline.css-1ar2zzj > .MuiListItemText-secondary.css-ncbwgh" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 PRES-E08 PRES-J08 PRES-C08 PRES-C09 PRES-W06 PRES-W08] dark/nb/1440 named controls, modal keyboard and retained draft", + "state": "cv-controls-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-hidden-focus", + "targets": [ + [ + "#menu-" + ] + ] + }, + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Angre\"]" + ], + [ + "span[aria-label=\"Gjør om\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#cv-studio-tab-2" + ], + [ + ".MuiSelect-select.MuiSelect-outlined[aria-labelledby=\"_r_3b_-cvEditorHeadingFont\"]" + ], + [ + "div[aria-label=\"Visning av ferdigheter\"]" + ], + [ + "div[aria-label=\"Sidestørrelse\"]" + ], + [ + "div[aria-label=\"Tetthet\"]" + ], + [ + "div[aria-label=\"Dokumentspråk\"]" + ], + [ + "div[aria-label=\"Datoformat\"]" + ], + [ + "iframe[title=\"CV-forhåndsvisning side 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 PRES-E08 PRES-J08 PRES-C08 PRES-C09 PRES-W06 PRES-W08] dark/nb/1440 named controls, modal keyboard and retained draft", + "state": "cover-controls-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_1t_" + ], + [ + "div[aria-labelledby=\"_r_19_-coverAiAction\"]" + ], + [ + "div[aria-labelledby=\"_r_19_-coverAiTone\"]" + ], + [ + "div[aria-labelledby=\"_r_19_-coverAiDocumentLanguage\"]" + ], + [ + "#_r_1i_" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 PRES-E08 PRES-J08 PRES-C08 PRES-C09 PRES-W06 PRES-W08] dark/nb/1440 named controls, modal keyboard and retained draft", + "state": "prompt-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + "#_r_1q_" + ], + [ + ".css-m42v8x" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 PRES-E08 PRES-J08 PRES-C08 PRES-C09 PRES-W06 PRES-W08] dark/nb/1440 named controls, modal keyboard and retained draft", + "state": "confirm-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".Mui-focusVisible" + ], + [ + ".MuiButton-containedError" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 PRES-E08 PRES-J08 PRES-C08 PRES-C09 PRES-W06 PRES-W08] light/nb/390 named controls, modal keyboard and retained draft", + "state": "command-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-valid-attr-value", + "targets": [ + [ + ".MuiPaper-elevation24" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".Mui-selected.MuiListItemButton-dense.css-1e9t9wa > .MuiListItemText-dense.MuiListItemText-multiline.css-1ar2zzj > .css-wokl4i.MuiTypography-body2.MuiListItemText-primary" + ], + [ + ".Mui-selected.MuiListItemButton-dense.css-1e9t9wa > .MuiListItemText-dense.MuiListItemText-multiline.css-1ar2zzj > .MuiListItemText-secondary.css-ncbwgh" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 PRES-E08 PRES-J08 PRES-C08 PRES-C09 PRES-W06 PRES-W08] light/nb/390 named controls, modal keyboard and retained draft", + "state": "cv-controls-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-hidden-focus", + "targets": [ + [ + "#menu-" + ] + ] + }, + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Angre\"]" + ], + [ + "span[aria-label=\"Gjør om\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#cv-studio-tab-2" + ], + [ + ".MuiSelect-select.MuiSelect-outlined[aria-labelledby=\"_r_3d_-cvEditorHeadingFont\"]" + ], + [ + "div[aria-label=\"Visning av ferdigheter\"]" + ], + [ + "div[aria-label=\"Sidestørrelse\"]" + ], + [ + "div[aria-label=\"Tetthet\"]" + ], + [ + "div[aria-label=\"Dokumentspråk\"]" + ], + [ + "div[aria-label=\"Datoformat\"]" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 PRES-E08 PRES-J08 PRES-C08 PRES-C09 PRES-W06 PRES-W08] light/nb/390 named controls, modal keyboard and retained draft", + "state": "cover-controls-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".css-1vcc3k.MuiBox-root:nth-child(4) > .css-b7tg9p.MuiStack-root > .css-1etkf64.MuiTypography-caption" + ], + [ + ".css-1vcc3k.MuiBox-root:nth-child(5) > .css-b7tg9p.MuiStack-root > .css-1etkf64.MuiTypography-caption" + ], + [ + ".css-1vcc3k.MuiBox-root:nth-child(6) > .css-b7tg9p.MuiStack-root > .css-1etkf64.MuiTypography-caption" + ], + [ + ".css-1vcc3k.MuiBox-root:nth-child(7) > .css-b7tg9p.MuiStack-root > .css-1etkf64.MuiTypography-caption" + ], + [ + "#_r_1d_" + ], + [ + "div[aria-labelledby=\"_r_v_-coverAiAction\"]" + ], + [ + "div[aria-labelledby=\"_r_v_-coverAiTone\"]" + ], + [ + "div[aria-labelledby=\"_r_v_-coverAiDocumentLanguage\"]" + ], + [ + "#_r_1k_" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 PRES-E08 PRES-J08 PRES-C08 PRES-C09 PRES-W06 PRES-W08] light/nb/390 named controls, modal keyboard and retained draft", + "state": "prompt-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + "#_r_1r_" + ], + [ + ".css-m42v8x" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 PRES-E08 PRES-J08 PRES-C08 PRES-C09 PRES-W06 PRES-W08] light/nb/390 named controls, modal keyboard and retained draft", + "state": "confirm-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiAlert-message" + ], + [ + ".Mui-focusVisible" + ], + [ + ".MuiButton-containedError" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 PRES-E08 PRES-J08 PRES-C08 PRES-C09 PRES-W06 PRES-W08] dark/en/390 named controls, modal keyboard and retained draft", + "state": "command-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-valid-attr-value", + "targets": [ + [ + ".MuiPaper-elevation24" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".Mui-selected.MuiListItemButton-dense.css-1e9t9wa > .MuiListItemText-dense.MuiListItemText-multiline.css-1ar2zzj > .css-wokl4i.MuiTypography-body2.MuiListItemText-primary" + ], + [ + ".Mui-selected.MuiListItemButton-dense.css-1e9t9wa > .MuiListItemText-dense.MuiListItemText-multiline.css-1ar2zzj > .MuiListItemText-secondary.css-ncbwgh" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 PRES-E08 PRES-J08 PRES-C08 PRES-C09 PRES-W06 PRES-W08] dark/en/390 named controls, modal keyboard and retained draft", + "state": "cv-controls-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-hidden-focus", + "targets": [ + [ + ":root" + ] + ] + }, + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Undo\"]" + ], + [ + "span[aria-label=\"Redo\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#cv-studio-tab-2" + ], + [ + ".MuiSelect-select.MuiSelect-outlined[aria-labelledby=\"_r_3d_-cvEditorHeadingFont\"]" + ], + [ + "div[aria-label=\"Skills presentation\"]" + ], + [ + "div[aria-label=\"Page size\"]" + ], + [ + "div[aria-label=\"Density\"]" + ], + [ + "div[aria-label=\"Language\"]" + ], + [ + "div[aria-label=\"Date format\"]" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 PRES-E08 PRES-J08 PRES-C08 PRES-C09 PRES-W06 PRES-W08] dark/en/390 named controls, modal keyboard and retained draft", + "state": "cover-controls-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".css-1vcc3k.MuiBox-root:nth-child(4) > .css-b7tg9p.MuiStack-root > .css-1etkf64.MuiTypography-caption" + ], + [ + ".css-1vcc3k.MuiBox-root:nth-child(5) > .css-b7tg9p.MuiStack-root > .css-1etkf64.MuiTypography-caption" + ], + [ + ".css-1vcc3k.MuiBox-root:nth-child(6) > .css-b7tg9p.MuiStack-root > .css-1etkf64.MuiTypography-caption" + ], + [ + ".css-1vcc3k.MuiBox-root:nth-child(7) > .css-b7tg9p.MuiStack-root > .css-1etkf64.MuiTypography-caption" + ], + [ + "#_r_1d_" + ], + [ + "div[aria-labelledby=\"_r_v_-coverAiAction\"]" + ], + [ + "div[aria-labelledby=\"_r_v_-coverAiTone\"]" + ], + [ + "div[aria-labelledby=\"_r_v_-coverAiDocumentLanguage\"]" + ], + [ + "#_r_1k_" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 PRES-E08 PRES-J08 PRES-C08 PRES-C09 PRES-W06 PRES-W08] dark/en/390 named controls, modal keyboard and retained draft", + "state": "prompt-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + "#_r_1r_" + ], + [ + ".css-m42v8x" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 PRES-E08 PRES-J08 PRES-C08 PRES-C09 PRES-W06 PRES-W08] dark/en/390 named controls, modal keyboard and retained draft", + "state": "confirm-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".Mui-focusVisible" + ], + [ + ".MuiButton-containedError" + ] + ] + } + ] + }, + { + "case": "[PRES-W01 PRES-W04 PRES-W08 PRES-E08 PRES-E09] native workspace aliases, keyboard sections and history retain context (en, light)", + "state": "navigation-axe", + "violations": [], + "incomplete": [] + }, + { + "case": "[PRES-W01 PRES-W04 PRES-W08 PRES-E08 PRES-E09] native workspace aliases, keyboard sections and history retain context (en, dark)", + "state": "navigation-axe", + "violations": [], + "incomplete": [] + }, + { + "case": "[PRES-W01 PRES-W04 PRES-W08 PRES-E08 PRES-E09] native workspace aliases, keyboard sections and history retain context (nb, light)", + "state": "navigation-axe", + "violations": [], + "incomplete": [] + }, + { + "case": "[PRES-W01 PRES-W04 PRES-W08 PRES-E08 PRES-E09] native workspace aliases, keyboard sections and history retain context (nb, dark)", + "state": "navigation-axe", + "violations": [], + "incomplete": [] + }, + { + "case": "[PRES-E08 PRES-J08] light/en/1440 loading → error → retry → empty → populated", + "state": "loaded-error-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-J08] light/en/1440 loading → error → retry → empty → populated", + "state": "loaded-company-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-J08] light/en/1440 loading → error → retry → empty → populated", + "state": "loaded-company-dialog-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-hidden-focus", + "targets": [ + [ + "#root" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_n_" + ], + [ + "#_r_o_" + ], + [ + "#_r_p_" + ], + [ + "#_r_q_" + ], + [ + "#_r_r_" + ], + [ + "#_r_s_" + ], + [ + "#_r_t_" + ], + [ + "#_r_u_" + ], + [ + "#_r_v_" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-J08] light/en/390 loading → error → retry → empty → populated", + "state": "loaded-error-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-J08] light/en/390 loading → error → retry → empty → populated", + "state": "loaded-company-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-J08] light/en/390 loading → error → retry → empty → populated", + "state": "loaded-company-dialog-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-hidden-focus", + "targets": [ + [ + "#root" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_o_" + ], + [ + "#_r_p_" + ], + [ + "#_r_q_" + ], + [ + "#_r_r_" + ], + [ + "#_r_s_" + ], + [ + "#_r_t_" + ], + [ + "#_r_u_" + ], + [ + "#_r_v_" + ], + [ + "#_r_10_" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-J08] light/nb/1440 loading → error → retry → empty → populated", + "state": "loaded-error-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-J08] light/nb/1440 loading → error → retry → empty → populated", + "state": "loaded-company-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-J08] light/nb/1440 loading → error → retry → empty → populated", + "state": "loaded-company-dialog-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-hidden-focus", + "targets": [ + [ + "#root" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_n_" + ], + [ + "#_r_o_" + ], + [ + "#_r_p_" + ], + [ + "#_r_q_" + ], + [ + "#_r_r_" + ], + [ + "#_r_s_" + ], + [ + "#_r_t_" + ], + [ + "#_r_u_" + ], + [ + "#_r_v_" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-J08] light/nb/390 loading → error → retry → empty → populated", + "state": "loaded-error-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-J08] light/nb/390 loading → error → retry → empty → populated", + "state": "loaded-company-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-J08] light/nb/390 loading → error → retry → empty → populated", + "state": "loaded-company-dialog-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-hidden-focus", + "targets": [ + [ + "#root" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_o_" + ], + [ + "#_r_p_" + ], + [ + "#_r_q_" + ], + [ + "#_r_r_" + ], + [ + "#_r_s_" + ], + [ + "#_r_t_" + ], + [ + "#_r_u_" + ], + [ + "#_r_v_" + ], + [ + "#_r_10_" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 PRES-E08 PRES-J05 PRES-J07] light loaded status semantics, navigation and command focus", + "state": "loaded-jobs-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-invisible" + ], + [ + "#_r_g_" + ], + [ + "div[aria-labelledby=\"job-table-status-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-company-label\"]" + ], + [ + "#_r_j_" + ], + [ + "div[aria-labelledby=\"job-table-readiness-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-density-label\"]" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-C06 PRES-C07 PRES-C08 PRES-C09 PRES-C11 PRES-S03] light loaded CV tabs, selects and settings", + "state": "loaded-cv-template-button-hover-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Undo\"]" + ], + [ + "span[aria-label=\"Redo\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_v_" + ], + [ + "iframe[title=\"CV preview page 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-C06 PRES-C07 PRES-C08 PRES-C09 PRES-C11 PRES-S03] light loaded CV tabs, selects and settings", + "state": "loaded-cv-content-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Undo\"]" + ], + [ + "span[aria-label=\"Redo\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".css-15ja76x" + ], + [ + "#cv-studio-tab-1" + ], + [ + "#_r_r_" + ], + [ + "#_r_v_" + ], + [ + "iframe[title=\"CV preview page 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-C06 PRES-C07 PRES-C08 PRES-C09 PRES-C11 PRES-S03] light loaded CV tabs, selects and settings", + "state": "loaded-cv-customize-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Undo\"]" + ], + [ + "span[aria-label=\"Redo\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".css-15ja76x" + ], + [ + "#cv-studio-tab-1" + ], + [ + "#cv-studio-tab-0" + ], + [ + "#cv-studio-tab-2" + ], + [ + "div[aria-label=\"Skills presentation\"]" + ], + [ + "div[aria-label=\"Page size\"]" + ], + [ + "div[aria-label=\"Density\"]" + ], + [ + "div[aria-label=\"Language\"]" + ], + [ + "div[aria-label=\"Date format\"]" + ], + [ + "iframe[title=\"CV preview page 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-C06 PRES-C07 PRES-C08 PRES-C09 PRES-C11 PRES-S03] light loaded CV tabs, selects and settings", + "state": "loaded-cv-ai-locked-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Undo\"]" + ], + [ + "span[aria-label=\"Redo\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".css-15ja76x" + ], + [ + "#cv-studio-tab-1" + ], + [ + "#cv-studio-tab-0" + ], + [ + "#cv-studio-tab-2" + ], + [ + "#cv-studio-tab-3" + ], + [ + "#_r_3t_" + ], + [ + "iframe[title=\"CV preview page 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-C06 PRES-C07 PRES-C08 PRES-C09 PRES-C11 PRES-S03] light loaded CV tabs, selects and settings", + "state": "loaded-cv-history-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Undo\"]" + ], + [ + "span[aria-label=\"Redo\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".css-15ja76x" + ], + [ + "#cv-studio-tab-1" + ], + [ + "#cv-studio-tab-0" + ], + [ + "#cv-studio-tab-2" + ], + [ + "#cv-studio-tab-3" + ], + [ + "#cv-studio-tab-4" + ], + [ + "iframe[title=\"CV preview page 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-C06 PRES-C07 PRES-C08 PRES-C09 PRES-C11 PRES-S03] light loaded CV tabs, selects and settings", + "state": "loaded-settings-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".Mui-selected.MuiTab-root.MuiTab-textColorPrimary" + ], + [ + ".MuiButton-containedSizeMedium" + ], + [ + ".css-17t4hgu" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-J08] dark/en/1440 loading → error → retry → empty → populated", + "state": "loaded-error-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-J08] dark/en/1440 loading → error → retry → empty → populated", + "state": "loaded-company-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-J08] dark/en/1440 loading → error → retry → empty → populated", + "state": "loaded-company-dialog-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-hidden-focus", + "targets": [ + [ + "#root" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_n_" + ], + [ + "#_r_o_" + ], + [ + "#_r_p_" + ], + [ + "#_r_q_" + ], + [ + "#_r_r_" + ], + [ + "#_r_s_" + ], + [ + "#_r_t_" + ], + [ + "#_r_u_" + ], + [ + "#_r_v_" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-J08] dark/en/390 loading → error → retry → empty → populated", + "state": "loaded-error-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-J08] dark/en/390 loading → error → retry → empty → populated", + "state": "loaded-company-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-J08] dark/en/390 loading → error → retry → empty → populated", + "state": "loaded-company-dialog-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-hidden-focus", + "targets": [ + [ + "#root" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_o_" + ], + [ + "#_r_p_" + ], + [ + "#_r_q_" + ], + [ + "#_r_r_" + ], + [ + "#_r_s_" + ], + [ + "#_r_t_" + ], + [ + "#_r_u_" + ], + [ + "#_r_v_" + ], + [ + "#_r_10_" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-J08] dark/nb/1440 loading → error → retry → empty → populated", + "state": "loaded-error-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-J08] dark/nb/1440 loading → error → retry → empty → populated", + "state": "loaded-company-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-J08] dark/nb/1440 loading → error → retry → empty → populated", + "state": "loaded-company-dialog-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-hidden-focus", + "targets": [ + [ + "#root" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_n_" + ], + [ + "#_r_o_" + ], + [ + "#_r_p_" + ], + [ + "#_r_q_" + ], + [ + "#_r_r_" + ], + [ + "#_r_s_" + ], + [ + "#_r_t_" + ], + [ + "#_r_u_" + ], + [ + "#_r_v_" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-J08] dark/nb/390 loading → error → retry → empty → populated", + "state": "loaded-error-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-J08] dark/nb/390 loading → error → retry → empty → populated", + "state": "loaded-company-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-J08] dark/nb/390 loading → error → retry → empty → populated", + "state": "loaded-company-dialog-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-hidden-focus", + "targets": [ + [ + "#root" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_o_" + ], + [ + "#_r_p_" + ], + [ + "#_r_q_" + ], + [ + "#_r_r_" + ], + [ + "#_r_s_" + ], + [ + "#_r_t_" + ], + [ + "#_r_u_" + ], + [ + "#_r_v_" + ], + [ + "#_r_10_" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 PRES-E08 PRES-J05 PRES-J07] dark loaded status semantics, navigation and command focus", + "state": "loaded-jobs-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-invisible" + ], + [ + "#_r_g_" + ], + [ + "div[aria-labelledby=\"job-table-status-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-company-label\"]" + ], + [ + "#_r_j_" + ], + [ + "div[aria-labelledby=\"job-table-readiness-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-density-label\"]" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-C06 PRES-C07 PRES-C08 PRES-C09 PRES-C11 PRES-S03] dark loaded CV tabs, selects and settings", + "state": "loaded-cv-template-button-hover-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Undo\"]" + ], + [ + "span[aria-label=\"Redo\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_v_" + ], + [ + "iframe[title=\"CV preview page 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-C06 PRES-C07 PRES-C08 PRES-C09 PRES-C11 PRES-S03] dark loaded CV tabs, selects and settings", + "state": "loaded-cv-content-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Undo\"]" + ], + [ + "span[aria-label=\"Redo\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".css-15ja76x" + ], + [ + "#cv-studio-tab-1" + ], + [ + "#_r_r_" + ], + [ + "#_r_v_" + ], + [ + "iframe[title=\"CV preview page 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-C06 PRES-C07 PRES-C08 PRES-C09 PRES-C11 PRES-S03] dark loaded CV tabs, selects and settings", + "state": "loaded-cv-customize-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Undo\"]" + ], + [ + "span[aria-label=\"Redo\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".css-15ja76x" + ], + [ + "#cv-studio-tab-1" + ], + [ + "#cv-studio-tab-0" + ], + [ + "#cv-studio-tab-2" + ], + [ + "div[aria-label=\"Skills presentation\"]" + ], + [ + "div[aria-label=\"Page size\"]" + ], + [ + "div[aria-label=\"Density\"]" + ], + [ + "div[aria-label=\"Language\"]" + ], + [ + "div[aria-label=\"Date format\"]" + ], + [ + "iframe[title=\"CV preview page 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-C06 PRES-C07 PRES-C08 PRES-C09 PRES-C11 PRES-S03] dark loaded CV tabs, selects and settings", + "state": "loaded-cv-ai-locked-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Undo\"]" + ], + [ + "span[aria-label=\"Redo\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".css-15ja76x" + ], + [ + "#cv-studio-tab-1" + ], + [ + "#cv-studio-tab-0" + ], + [ + "#cv-studio-tab-2" + ], + [ + "#cv-studio-tab-3" + ], + [ + "#_r_3t_" + ], + [ + "iframe[title=\"CV preview page 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-C06 PRES-C07 PRES-C08 PRES-C09 PRES-C11 PRES-S03] dark loaded CV tabs, selects and settings", + "state": "loaded-cv-history-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + "span[aria-label=\"Undo\"]" + ], + [ + "span[aria-label=\"Redo\"]" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".css-15ja76x" + ], + [ + "#cv-studio-tab-1" + ], + [ + "#cv-studio-tab-0" + ], + [ + "#cv-studio-tab-2" + ], + [ + "#cv-studio-tab-3" + ], + [ + "#cv-studio-tab-4" + ], + [ + "iframe[title=\"CV preview page 1\"]", + "h1" + ] + ] + } + ] + }, + { + "case": "[PRES-E08 PRES-C06 PRES-C07 PRES-C08 PRES-C09 PRES-C11 PRES-S03] dark loaded CV tabs, selects and settings", + "state": "loaded-settings-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".Mui-selected.MuiTab-root.MuiTab-textColorPrimary" + ], + [ + ".MuiButton-containedSizeMedium" + ], + [ + ".css-17t4hgu" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 E08 E09 S03 S04 S05 J05 J10 M06 W11] light/en Settings headings, reflow and retained actions", + "state": "general-light-en-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "div[aria-labelledby=\"theme-mode-label\"]" + ], + [ + "div[aria-labelledby=\"language-label\"]" + ], + [ + "div[aria-labelledby=\"page-size-label\"]" + ], + [ + "#_r_1e_" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 E08 E09 S03 S04 S05 J05 J10 M06 W11] light/en Settings headings, reflow and retained actions", + "state": "phone-light-en-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "div[aria-labelledby=\"settings-section-label\"]" + ], + [ + "div[aria-labelledby=\"theme-mode-label\"]" + ], + [ + "div[aria-labelledby=\"language-label\"]" + ], + [ + "div[aria-labelledby=\"page-size-label\"]" + ], + [ + "#_r_1e_" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 E08 E09 S03 S04 S05 J05 J10 M06 W11] light/en Settings headings, reflow and retained actions", + "state": "rules-error-light-en-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-hidden-focus", + "targets": [ + [ + "#menu-" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".MuiSelect-select" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 E08 E09 S03 S04 S05 J05 J10 M06 W11] light/en Settings headings, reflow and retained actions", + "state": "notifications-error-light-en-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".MuiSelect-select" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 E08 E09 S03 S04 S05 J05 J10 M06 W11] light/en Settings headings, reflow and retained actions", + "state": "backup-light-en-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-hidden-focus", + "targets": [ + [ + "#menu-" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".MuiSelect-select" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 E08 E09 S03 S04 S05 J05 J10 M06 W11] light/nb Settings headings, reflow and retained actions", + "state": "general-light-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "div[aria-labelledby=\"theme-mode-label\"]" + ], + [ + "div[aria-labelledby=\"language-label\"]" + ], + [ + "div[aria-labelledby=\"page-size-label\"]" + ], + [ + "#_r_1e_" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 E08 E09 S03 S04 S05 J05 J10 M06 W11] light/nb Settings headings, reflow and retained actions", + "state": "phone-light-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "div[aria-labelledby=\"settings-section-label\"]" + ], + [ + "div[aria-labelledby=\"theme-mode-label\"]" + ], + [ + "div[aria-labelledby=\"language-label\"]" + ], + [ + "div[aria-labelledby=\"page-size-label\"]" + ], + [ + "#_r_1e_" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 E08 E09 S03 S04 S05 J05 J10 M06 W11] light/nb Settings headings, reflow and retained actions", + "state": "rules-error-light-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-hidden-focus", + "targets": [ + [ + "#menu-" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".MuiSelect-select" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 E08 E09 S03 S04 S05 J05 J10 M06 W11] light/nb Settings headings, reflow and retained actions", + "state": "notifications-error-light-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".MuiSelect-select" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 E08 E09 S03 S04 S05 J05 J10 M06 W11] light/nb Settings headings, reflow and retained actions", + "state": "backup-light-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-hidden-focus", + "targets": [ + [ + "#menu-" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".MuiSelect-select" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 E08 E09 S03 S04 S05 J05 J10 M06 W11] dark/en Settings headings, reflow and retained actions", + "state": "general-dark-en-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "div[aria-labelledby=\"theme-mode-label\"]" + ], + [ + "div[aria-labelledby=\"language-label\"]" + ], + [ + "div[aria-labelledby=\"page-size-label\"]" + ], + [ + "#_r_1e_" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 E08 E09 S03 S04 S05 J05 J10 M06 W11] dark/en Settings headings, reflow and retained actions", + "state": "phone-dark-en-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "div[aria-labelledby=\"settings-section-label\"]" + ], + [ + "div[aria-labelledby=\"theme-mode-label\"]" + ], + [ + "div[aria-labelledby=\"language-label\"]" + ], + [ + "div[aria-labelledby=\"page-size-label\"]" + ], + [ + "#_r_1e_" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 E08 E09 S03 S04 S05 J05 J10 M06 W11] dark/en Settings headings, reflow and retained actions", + "state": "rules-error-dark-en-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-hidden-focus", + "targets": [ + [ + "#menu-" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".MuiSelect-select" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 E08 E09 S03 S04 S05 J05 J10 M06 W11] dark/en Settings headings, reflow and retained actions", + "state": "notifications-error-dark-en-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".MuiSelect-select" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 E08 E09 S03 S04 S05 J05 J10 M06 W11] dark/en Settings headings, reflow and retained actions", + "state": "backup-dark-en-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-hidden-focus", + "targets": [ + [ + "#menu-" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".MuiSelect-select" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 E08 E09 S03 S04 S05 J05 J10 M06 W11] dark/nb Settings headings, reflow and retained actions", + "state": "general-dark-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "div[aria-labelledby=\"theme-mode-label\"]" + ], + [ + "div[aria-labelledby=\"language-label\"]" + ], + [ + "div[aria-labelledby=\"page-size-label\"]" + ], + [ + "#_r_1e_" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 E08 E09 S03 S04 S05 J05 J10 M06 W11] dark/nb Settings headings, reflow and retained actions", + "state": "phone-dark-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "div[aria-labelledby=\"settings-section-label\"]" + ], + [ + "div[aria-labelledby=\"theme-mode-label\"]" + ], + [ + "div[aria-labelledby=\"language-label\"]" + ], + [ + "div[aria-labelledby=\"page-size-label\"]" + ], + [ + "#_r_1e_" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 E08 E09 S03 S04 S05 J05 J10 M06 W11] dark/nb Settings headings, reflow and retained actions", + "state": "rules-error-dark-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-hidden-focus", + "targets": [ + [ + "#menu-" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".MuiSelect-select" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 E08 E09 S03 S04 S05 J05 J10 M06 W11] dark/nb Settings headings, reflow and retained actions", + "state": "notifications-error-dark-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".MuiSelect-select" + ] + ] + } + ] + }, + { + "case": "[PRES-E07 E08 E09 S03 S04 S05 J05 J10 M06 W11] dark/nb Settings headings, reflow and retained actions", + "state": "backup-dark-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-hidden-focus", + "targets": [ + [ + "#menu-" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + ".MuiSelect-select" + ] + ] + } + ] + }, + { + "case": "[P5-00 PRES-E07 E08 A03] light-en mobile labels, focus and admin reflow", + "state": "account-metadata-light-en-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".css-1bb2m2l" + ] + ] + } + ] + }, + { + "case": "[P5-00 PRES-E07 E08 A03] light-en mobile labels, focus and admin reflow", + "state": "drawer-light-en-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".Mui-focusVisible > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Job search\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-j56oom.MuiListItemButton-root[aria-label=\"Job Applications\"] > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Job search\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-1rv7atp[aria-label=\"Job Applications\"] > .css-1ohqk82.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-m9zpd7.MuiListItemButton-root.MuiListItemButton-gutters > .MuiListItemText-root.css-a2y5gf > .css-1x12d21.MuiTypography-body2" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Job search\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-1rv7atp[aria-label=\"Job Applications\"] > .css-1ohqk82.MuiListItem-root.MuiListItem-gutters:nth-child(2) > .css-m9zpd7.MuiListItemButton-root.MuiListItemButton-gutters > .MuiListItemText-root.css-a2y5gf > .css-1x12d21.MuiTypography-body2" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Job search\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-1rv7atp[aria-label=\"Job Applications\"] > .css-1ohqk82.MuiListItem-root.MuiListItem-gutters:nth-child(3) > .css-m9zpd7.MuiListItemButton-root.MuiListItemButton-gutters > .MuiListItemText-root.css-a2y5gf > .css-1x12d21.MuiTypography-body2" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Job search\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-1rv7atp[aria-label=\"Job Applications\"] > .css-1ohqk82.MuiListItem-root.MuiListItem-gutters:nth-child(4) > .css-m9zpd7.MuiListItemButton-root.MuiListItemButton-gutters > .MuiListItemText-root.css-a2y5gf > .css-1x12d21.MuiTypography-body2" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Job search\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-1rv7atp[aria-label=\"Job Applications\"] > .css-1ohqk82.MuiListItem-root.MuiListItem-gutters:nth-child(5) > .css-m9zpd7.MuiListItemButton-root.MuiListItemButton-gutters > .MuiListItemText-root.css-a2y5gf > .css-1x12d21.MuiTypography-body2" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Job search\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(2) > .css-j56oom.MuiListItemButton-root[aria-label=\"Job email\"] > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(3) > .MuiList-padding.css-k1qkeu[aria-label=\"Career\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-j56oom.MuiListItemButton-root[aria-label=\"Career profile\"] > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(3) > .MuiList-padding.css-k1qkeu[aria-label=\"Career\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(2) > .css-j56oom.MuiListItemButton-root[aria-label=\"CV Builder\"] > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(4) > .MuiList-padding.css-k1qkeu[aria-label=\"Insights\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters > .css-j56oom.MuiListItemButton-root[aria-label=\"Analytics\"] > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(1) > .MuiList-padding.css-k1qkeu[aria-label=\"Admin\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-j56oom.MuiListItemButton-root[aria-label=\"Audit log\"] > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(1) > .MuiList-padding.css-k1qkeu[aria-label=\"Admin\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(2) > .css-j56oom.MuiListItemButton-root[aria-label=\"Users\"] > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(1) > .MuiList-padding.css-k1qkeu[aria-label=\"Admin\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(3) > .css-j56oom.MuiListItemButton-root[aria-label=\"System\"] > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Account\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters > .Mui-selected[aria-current=\"page\"][aria-label=\"Settings\"] > .MuiListItemText-root.css-a2y5gf > .css-12qg13c.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Account\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters > .css-1rv7atp[aria-label=\"Settings\"] > .css-1ohqk82.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-m9zpd7.MuiListItemButton-root.MuiListItemButton-gutters > .MuiListItemText-root.css-a2y5gf > .css-1x12d21.MuiTypography-body2" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Account\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters > .css-1rv7atp[aria-label=\"Settings\"] > .css-1ohqk82.MuiListItem-root.MuiListItem-gutters:nth-child(2) > .css-m9zpd7.MuiListItemButton-root.MuiListItemButton-gutters > .MuiListItemText-root.css-a2y5gf > .css-1x12d21.MuiTypography-body2" + ] + ] + } + ] + }, + { + "case": "[P5-00 PRES-E07 J03 J08] light-en command list, keyboard and no-write actions", + "state": "commands-light-en-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-valid-attr-value", + "targets": [ + [ + ".MuiPaper-rounded" + ] + ] + } + ] + }, + { + "case": "[P5-00 PRES-E07 J03 J08] light-en command list, keyboard and no-write actions", + "state": "commands-empty-light-en-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-valid-attr-value", + "targets": [ + [ + ".MuiPaper-elevation24" + ] + ] + } + ] + }, + { + "case": "[P5-02 PRES-E07 E08 E09 S02] light-en utility search and notification states", + "state": "utility-error-light-en-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-valid-attr-value", + "targets": [ + [ + ".MuiPaper-elevation24" + ] + ] + } + ] + }, + { + "case": "[P5-02 PRES-E07 E08 E09 S02] light-en utility search and notification states", + "state": "utility-notifications-light-en-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + ".MuiPaper-elevation8" + ] + ] + } + ] + }, + { + "case": "[P5-00 PRES-E08 C06 S05] light-en real Tooltip contrast and open-toast action access", + "state": "redo-tooltip-light-en-axe", + "violations": [], + "incomplete": [] + }, + { + "case": "[P5-00 PRES-E08 C06 S05] light-en real Tooltip contrast and open-toast action access", + "state": "shell-tooltip-light-en-axe", + "violations": [], + "incomplete": [] + }, + { + "case": "[P5-01 PRES-E07 E08 A03] light-en grouped shell, rail menu and route focus", + "state": "grouped-shell-light-en-axe", + "violations": [], + "incomplete": [] + }, + { + "case": "[P5-01 PRES-E07 E08 A03] light-en grouped shell, rail menu and route focus", + "state": "grouped-mobile-light-en-axe", + "violations": [], + "incomplete": [] + }, + { + "case": "[P5-00 PRES-E07 E08 A03] light-nb mobile labels, focus and admin reflow", + "state": "account-metadata-light-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".css-1bb2m2l" + ] + ] + } + ] + }, + { + "case": "[P5-00 PRES-E07 E08 A03] light-nb mobile labels, focus and admin reflow", + "state": "drawer-light-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".Mui-focusVisible > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Jobbsøk\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-j56oom.MuiListItemButton-root[aria-label=\"Jobbsøknader\"] > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Jobbsøk\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-1rv7atp[aria-label=\"Jobbsøknader\"] > .css-1ohqk82.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-m9zpd7.MuiListItemButton-root.MuiListItemButton-gutters > .MuiListItemText-root.css-a2y5gf > .css-1x12d21.MuiTypography-body2" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Jobbsøk\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-1rv7atp[aria-label=\"Jobbsøknader\"] > .css-1ohqk82.MuiListItem-root.MuiListItem-gutters:nth-child(2) > .css-m9zpd7.MuiListItemButton-root.MuiListItemButton-gutters > .MuiListItemText-root.css-a2y5gf > .css-1x12d21.MuiTypography-body2" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Jobbsøk\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-1rv7atp[aria-label=\"Jobbsøknader\"] > .css-1ohqk82.MuiListItem-root.MuiListItem-gutters:nth-child(3) > .css-m9zpd7.MuiListItemButton-root.MuiListItemButton-gutters > .MuiListItemText-root.css-a2y5gf > .css-1x12d21.MuiTypography-body2" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Jobbsøk\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-1rv7atp[aria-label=\"Jobbsøknader\"] > .css-1ohqk82.MuiListItem-root.MuiListItem-gutters:nth-child(4) > .css-m9zpd7.MuiListItemButton-root.MuiListItemButton-gutters > .MuiListItemText-root.css-a2y5gf > .css-1x12d21.MuiTypography-body2" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Jobbsøk\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-1rv7atp[aria-label=\"Jobbsøknader\"] > .css-1ohqk82.MuiListItem-root.MuiListItem-gutters:nth-child(5) > .css-m9zpd7.MuiListItemButton-root.MuiListItemButton-gutters > .MuiListItemText-root.css-a2y5gf > .css-1x12d21.MuiTypography-body2" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Jobbsøk\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(2) > .css-j56oom.MuiListItemButton-root[aria-label=\"Jobb-e-post\"] > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(3) > .MuiList-padding.css-k1qkeu[aria-label=\"Karriere\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-j56oom.MuiListItemButton-root[aria-label=\"Karriereprofil\"] > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(3) > .MuiList-padding.css-k1qkeu[aria-label=\"Karriere\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(2) > .css-j56oom.MuiListItemButton-root[aria-label=\"CV-bygger\"] > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(4) > .MuiList-padding.css-k1qkeu[aria-label=\"Innsikt\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters > .css-j56oom.MuiListItemButton-root[aria-label=\"Analyse\"] > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(1) > .MuiList-padding.css-k1qkeu[aria-label=\"Admin\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-j56oom.MuiListItemButton-root[aria-label=\"Revisjonslogg\"] > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(1) > .MuiList-padding.css-k1qkeu[aria-label=\"Admin\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(2) > .css-j56oom.MuiListItemButton-root[aria-label=\"Brukere\"] > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(1) > .MuiList-padding.css-k1qkeu[aria-label=\"Admin\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(3) > .css-j56oom.MuiListItemButton-root[aria-label=\"System\"] > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Konto\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters > .Mui-selected[aria-current=\"page\"][aria-label=\"Innstillinger\"] > .MuiListItemText-root.css-a2y5gf > .css-12qg13c.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Konto\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters > .css-1rv7atp[aria-label=\"Innstillinger\"] > .css-1ohqk82.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-m9zpd7.MuiListItemButton-root.MuiListItemButton-gutters > .MuiListItemText-root.css-a2y5gf > .css-1x12d21.MuiTypography-body2" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Konto\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters > .css-1rv7atp[aria-label=\"Innstillinger\"] > .css-1ohqk82.MuiListItem-root.MuiListItem-gutters:nth-child(2) > .css-m9zpd7.MuiListItemButton-root.MuiListItemButton-gutters > .MuiListItemText-root.css-a2y5gf > .css-1x12d21.MuiTypography-body2" + ] + ] + } + ] + }, + { + "case": "[P5-00 PRES-E07 J03 J08] light-nb command list, keyboard and no-write actions", + "state": "commands-light-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-valid-attr-value", + "targets": [ + [ + ".MuiPaper-rounded" + ] + ] + } + ] + }, + { + "case": "[P5-00 PRES-E07 J03 J08] light-nb command list, keyboard and no-write actions", + "state": "commands-empty-light-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-valid-attr-value", + "targets": [ + [ + ".MuiPaper-elevation24" + ] + ] + } + ] + }, + { + "case": "[P5-02 PRES-E07 E08 E09 S02] light-nb utility search and notification states", + "state": "utility-error-light-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-valid-attr-value", + "targets": [ + [ + ".MuiPaper-elevation24" + ] + ] + } + ] + }, + { + "case": "[P5-02 PRES-E07 E08 E09 S02] light-nb utility search and notification states", + "state": "utility-notifications-light-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + ".MuiPaper-elevation8" + ] + ] + } + ] + }, + { + "case": "[P5-00 PRES-E08 C06 S05] light-nb real Tooltip contrast and open-toast action access", + "state": "redo-tooltip-light-nb-axe", + "violations": [], + "incomplete": [] + }, + { + "case": "[P5-00 PRES-E08 C06 S05] light-nb real Tooltip contrast and open-toast action access", + "state": "shell-tooltip-light-nb-axe", + "violations": [], + "incomplete": [] + }, + { + "case": "[P5-01 PRES-E07 E08 A03] light-nb grouped shell, rail menu and route focus", + "state": "grouped-shell-light-nb-axe", + "violations": [], + "incomplete": [] + }, + { + "case": "[P5-01 PRES-E07 E08 A03] light-nb grouped shell, rail menu and route focus", + "state": "grouped-mobile-light-nb-axe", + "violations": [], + "incomplete": [] + }, + { + "case": "[P5-00 PRES-E07 E08 A03] dark-en mobile labels, focus and admin reflow", + "state": "account-metadata-dark-en-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".css-1bb2m2l" + ] + ] + } + ] + }, + { + "case": "[P5-00 PRES-E07 E08 A03] dark-en mobile labels, focus and admin reflow", + "state": "drawer-dark-en-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".Mui-focusVisible > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Job search\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-j56oom.MuiListItemButton-root[aria-label=\"Job Applications\"] > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Job search\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-1rv7atp[aria-label=\"Job Applications\"] > .css-1ohqk82.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-m9zpd7.MuiListItemButton-root.MuiListItemButton-gutters > .MuiListItemText-root.css-a2y5gf > .css-1x12d21.MuiTypography-body2" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Job search\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-1rv7atp[aria-label=\"Job Applications\"] > .css-1ohqk82.MuiListItem-root.MuiListItem-gutters:nth-child(2) > .css-m9zpd7.MuiListItemButton-root.MuiListItemButton-gutters > .MuiListItemText-root.css-a2y5gf > .css-1x12d21.MuiTypography-body2" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Job search\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-1rv7atp[aria-label=\"Job Applications\"] > .css-1ohqk82.MuiListItem-root.MuiListItem-gutters:nth-child(3) > .css-m9zpd7.MuiListItemButton-root.MuiListItemButton-gutters > .MuiListItemText-root.css-a2y5gf > .css-1x12d21.MuiTypography-body2" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Job search\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-1rv7atp[aria-label=\"Job Applications\"] > .css-1ohqk82.MuiListItem-root.MuiListItem-gutters:nth-child(4) > .css-m9zpd7.MuiListItemButton-root.MuiListItemButton-gutters > .MuiListItemText-root.css-a2y5gf > .css-1x12d21.MuiTypography-body2" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Job search\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-1rv7atp[aria-label=\"Job Applications\"] > .css-1ohqk82.MuiListItem-root.MuiListItem-gutters:nth-child(5) > .css-m9zpd7.MuiListItemButton-root.MuiListItemButton-gutters > .MuiListItemText-root.css-a2y5gf > .css-1x12d21.MuiTypography-body2" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Job search\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(2) > .css-j56oom.MuiListItemButton-root[aria-label=\"Job email\"] > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(3) > .MuiList-padding.css-k1qkeu[aria-label=\"Career\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-j56oom.MuiListItemButton-root[aria-label=\"Career profile\"] > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(3) > .MuiList-padding.css-k1qkeu[aria-label=\"Career\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(2) > .css-j56oom.MuiListItemButton-root[aria-label=\"CV Builder\"] > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(4) > .MuiList-padding.css-k1qkeu[aria-label=\"Insights\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters > .css-j56oom.MuiListItemButton-root[aria-label=\"Analytics\"] > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(1) > .MuiList-padding.css-k1qkeu[aria-label=\"Admin\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-j56oom.MuiListItemButton-root[aria-label=\"Audit log\"] > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(1) > .MuiList-padding.css-k1qkeu[aria-label=\"Admin\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(2) > .css-j56oom.MuiListItemButton-root[aria-label=\"Users\"] > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(1) > .MuiList-padding.css-k1qkeu[aria-label=\"Admin\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(3) > .css-j56oom.MuiListItemButton-root[aria-label=\"System\"] > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Account\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters > .Mui-selected[aria-current=\"page\"][aria-label=\"Settings\"] > .MuiListItemText-root.css-a2y5gf > .css-12qg13c.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Account\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters > .css-1rv7atp[aria-label=\"Settings\"] > .css-1ohqk82.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-m9zpd7.MuiListItemButton-root.MuiListItemButton-gutters > .MuiListItemText-root.css-a2y5gf > .css-1x12d21.MuiTypography-body2" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Account\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters > .css-1rv7atp[aria-label=\"Settings\"] > .css-1ohqk82.MuiListItem-root.MuiListItem-gutters:nth-child(2) > .css-m9zpd7.MuiListItemButton-root.MuiListItemButton-gutters > .MuiListItemText-root.css-a2y5gf > .css-1x12d21.MuiTypography-body2" + ] + ] + } + ] + }, + { + "case": "[P5-00 PRES-E07 J03 J08] dark-en command list, keyboard and no-write actions", + "state": "commands-dark-en-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-valid-attr-value", + "targets": [ + [ + ".MuiPaper-rounded" + ] + ] + } + ] + }, + { + "case": "[P5-00 PRES-E07 J03 J08] dark-en command list, keyboard and no-write actions", + "state": "commands-empty-dark-en-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-valid-attr-value", + "targets": [ + [ + ".MuiPaper-elevation24" + ] + ] + } + ] + }, + { + "case": "[P5-02 PRES-E07 E08 E09 S02] dark-en utility search and notification states", + "state": "utility-error-dark-en-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-valid-attr-value", + "targets": [ + [ + ".MuiPaper-elevation24" + ] + ] + } + ] + }, + { + "case": "[P5-02 PRES-E07 E08 E09 S02] dark-en utility search and notification states", + "state": "utility-notifications-dark-en-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + ".MuiPaper-elevation8" + ] + ] + } + ] + }, + { + "case": "[P5-00 PRES-E08 C06 S05] dark-en real Tooltip contrast and open-toast action access", + "state": "redo-tooltip-dark-en-axe", + "violations": [], + "incomplete": [] + }, + { + "case": "[P5-00 PRES-E08 C06 S05] dark-en real Tooltip contrast and open-toast action access", + "state": "shell-tooltip-dark-en-axe", + "violations": [], + "incomplete": [] + }, + { + "case": "[P5-01 PRES-E07 E08 A03] dark-en grouped shell, rail menu and route focus", + "state": "grouped-shell-dark-en-axe", + "violations": [], + "incomplete": [] + }, + { + "case": "[P5-01 PRES-E07 E08 A03] dark-en grouped shell, rail menu and route focus", + "state": "grouped-mobile-dark-en-axe", + "violations": [], + "incomplete": [] + }, + { + "case": "[P5-00 PRES-E07 E08 A03] dark-nb mobile labels, focus and admin reflow", + "state": "account-metadata-dark-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".css-1bb2m2l" + ] + ] + } + ] + }, + { + "case": "[P5-00 PRES-E07 E08 A03] dark-nb mobile labels, focus and admin reflow", + "state": "drawer-dark-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".Mui-focusVisible > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Jobbsøk\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-j56oom.MuiListItemButton-root[aria-label=\"Jobbsøknader\"] > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Jobbsøk\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-1rv7atp[aria-label=\"Jobbsøknader\"] > .css-1ohqk82.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-m9zpd7.MuiListItemButton-root.MuiListItemButton-gutters > .MuiListItemText-root.css-a2y5gf > .css-1x12d21.MuiTypography-body2" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Jobbsøk\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-1rv7atp[aria-label=\"Jobbsøknader\"] > .css-1ohqk82.MuiListItem-root.MuiListItem-gutters:nth-child(2) > .css-m9zpd7.MuiListItemButton-root.MuiListItemButton-gutters > .MuiListItemText-root.css-a2y5gf > .css-1x12d21.MuiTypography-body2" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Jobbsøk\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-1rv7atp[aria-label=\"Jobbsøknader\"] > .css-1ohqk82.MuiListItem-root.MuiListItem-gutters:nth-child(3) > .css-m9zpd7.MuiListItemButton-root.MuiListItemButton-gutters > .MuiListItemText-root.css-a2y5gf > .css-1x12d21.MuiTypography-body2" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Jobbsøk\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-1rv7atp[aria-label=\"Jobbsøknader\"] > .css-1ohqk82.MuiListItem-root.MuiListItem-gutters:nth-child(4) > .css-m9zpd7.MuiListItemButton-root.MuiListItemButton-gutters > .MuiListItemText-root.css-a2y5gf > .css-1x12d21.MuiTypography-body2" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Jobbsøk\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-1rv7atp[aria-label=\"Jobbsøknader\"] > .css-1ohqk82.MuiListItem-root.MuiListItem-gutters:nth-child(5) > .css-m9zpd7.MuiListItemButton-root.MuiListItemButton-gutters > .MuiListItemText-root.css-a2y5gf > .css-1x12d21.MuiTypography-body2" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Jobbsøk\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(2) > .css-j56oom.MuiListItemButton-root[aria-label=\"Jobb-e-post\"] > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(3) > .MuiList-padding.css-k1qkeu[aria-label=\"Karriere\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-j56oom.MuiListItemButton-root[aria-label=\"Karriereprofil\"] > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(3) > .MuiList-padding.css-k1qkeu[aria-label=\"Karriere\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(2) > .css-j56oom.MuiListItemButton-root[aria-label=\"CV-bygger\"] > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-184269b.MuiBox-root > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(4) > .MuiList-padding.css-k1qkeu[aria-label=\"Innsikt\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters > .css-j56oom.MuiListItemButton-root[aria-label=\"Analyse\"] > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(1) > .MuiList-padding.css-k1qkeu[aria-label=\"Admin\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-j56oom.MuiListItemButton-root[aria-label=\"Revisjonslogg\"] > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(1) > .MuiList-padding.css-k1qkeu[aria-label=\"Admin\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(2) > .css-j56oom.MuiListItemButton-root[aria-label=\"Brukere\"] > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(1) > .MuiList-padding.css-k1qkeu[aria-label=\"Admin\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters:nth-child(3) > .css-j56oom.MuiListItemButton-root[aria-label=\"System\"] > .MuiListItemText-root.css-a2y5gf > .css-1e345qr.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Konto\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters > .Mui-selected[aria-current=\"page\"][aria-label=\"Innstillinger\"] > .MuiListItemText-root.css-a2y5gf > .css-12qg13c.MuiTypography-body1.MuiListItemText-primary" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Konto\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters > .css-1rv7atp[aria-label=\"Innstillinger\"] > .css-1ohqk82.MuiListItem-root.MuiListItem-gutters:nth-child(1) > .css-m9zpd7.MuiListItemButton-root.MuiListItemButton-gutters > .MuiListItemText-root.css-a2y5gf > .css-1x12d21.MuiTypography-body2" + ], + [ + ".MuiPaper-elevation16 > .css-1vpgucn > .css-6zugs3.MuiBox-root > .css-r91acf.MuiBox-root:nth-child(2) > .MuiList-padding.css-k1qkeu[aria-label=\"Konto\"] > .css-hapf9j.MuiListItem-root.MuiListItem-gutters > .css-1rv7atp[aria-label=\"Innstillinger\"] > .css-1ohqk82.MuiListItem-root.MuiListItem-gutters:nth-child(2) > .css-m9zpd7.MuiListItemButton-root.MuiListItemButton-gutters > .MuiListItemText-root.css-a2y5gf > .css-1x12d21.MuiTypography-body2" + ] + ] + } + ] + }, + { + "case": "[P5-00 PRES-E07 J03 J08] dark-nb command list, keyboard and no-write actions", + "state": "commands-dark-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-valid-attr-value", + "targets": [ + [ + ".MuiPaper-rounded" + ] + ] + } + ] + }, + { + "case": "[P5-00 PRES-E07 J03 J08] dark-nb command list, keyboard and no-write actions", + "state": "commands-empty-dark-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-valid-attr-value", + "targets": [ + [ + ".MuiPaper-elevation24" + ] + ] + } + ] + }, + { + "case": "[P5-02 PRES-E07 E08 E09 S02] dark-nb utility search and notification states", + "state": "utility-error-dark-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-valid-attr-value", + "targets": [ + [ + ".MuiPaper-elevation24" + ] + ] + } + ] + }, + { + "case": "[P5-02 PRES-E07 E08 E09 S02] dark-nb utility search and notification states", + "state": "utility-notifications-dark-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-prohibited-attr", + "targets": [ + [ + ".MuiPaper-elevation8" + ] + ] + } + ] + }, + { + "case": "[P5-00 PRES-E08 C06 S05] dark-nb real Tooltip contrast and open-toast action access", + "state": "redo-tooltip-dark-nb-axe", + "violations": [], + "incomplete": [] + }, + { + "case": "[P5-00 PRES-E08 C06 S05] dark-nb real Tooltip contrast and open-toast action access", + "state": "shell-tooltip-dark-nb-axe", + "violations": [], + "incomplete": [] + }, + { + "case": "[P5-01 PRES-E07 E08 A03] dark-nb grouped shell, rail menu and route focus", + "state": "grouped-shell-dark-nb-axe", + "violations": [], + "incomplete": [] + }, + { + "case": "[P5-01 PRES-E07 E08 A03] dark-nb grouped shell, rail menu and route focus", + "state": "grouped-mobile-dark-nb-axe", + "violations": [], + "incomplete": [] + }, + { + "case": "[PRES-J05 J06 W01 W02 S03 E08 E09] light/en table and cards preserve behavior at both densities", + "state": "desktop-comfortable-light-en-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_g_" + ], + [ + "div[aria-labelledby=\"job-table-status-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-company-label\"]" + ], + [ + "#_r_j_" + ], + [ + "div[aria-labelledby=\"job-table-readiness-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-density-label\"]" + ], + [ + ".css-98liy8 > .css-1laywfi > .css-ubcfx2.MuiBox-root > .MuiChip-filled.MuiChip-colorWarning.MuiChip-clickableColorWarning > .css-4y436t.MuiChip-label.MuiChip-labelSmall" + ] + ] + } + ] + }, + { + "case": "[PRES-J05 J06 W01 W02 S03 E08 E09] light/en table and cards preserve behavior at both densities", + "state": "desktop-compact-light-en-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_g_" + ], + [ + "div[aria-labelledby=\"job-table-status-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-company-label\"]" + ], + [ + "#_r_j_" + ], + [ + "div[aria-labelledby=\"job-table-readiness-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-density-label\"]" + ], + [ + ".css-98liy8 > .css-1laywfi > .css-ubcfx2.MuiBox-root > .MuiChip-filled.MuiChip-colorWarning.MuiChip-clickableColorWarning > .css-4y436t.MuiChip-label.MuiChip-labelSmall" + ] + ] + } + ] + }, + { + "case": "[PRES-J05 J06 W01 W02 S03 E08 E09] light/en table and cards preserve behavior at both densities", + "state": "phone-comfortable-light-en-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_4e_" + ], + [ + "div[aria-labelledby=\"job-table-status-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-company-label\"]" + ], + [ + "#_r_4h_" + ], + [ + "div[aria-labelledby=\"job-table-readiness-label\"]" + ], + [ + ".MuiButton-text" + ], + [ + "div[aria-labelledby=\"job-table-density-label\"]" + ], + [ + ".css-14z6lsx" + ], + [ + ".Mui-focusVisible" + ], + [ + ".css-14mgqxp > .MuiFormControlLabel-label.css-1k1e65w.MuiTypography-body1" + ] + ] + } + ] + }, + { + "case": "[PRES-J05 J06 W01 W02 S03 E08 E09] light/en table and cards preserve behavior at both densities", + "state": "phone-compact-light-en-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_a0_" + ], + [ + "div[aria-labelledby=\"job-table-status-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-company-label\"]" + ], + [ + "#_r_a3_" + ], + [ + "div[aria-labelledby=\"job-table-readiness-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-density-label\"]" + ], + [ + ".css-fkab0k" + ] + ] + } + ] + }, + { + "case": "[PRES-J05 J06 W01 W02 S03 E08 E09] light/en table and cards preserve behavior at both densities", + "state": "empty-trash-light-en-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_d_" + ], + [ + "div[aria-labelledby=\"job-table-status-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-company-label\"]" + ], + [ + "#_r_g_" + ], + [ + "div[aria-labelledby=\"job-table-density-label\"]" + ] + ] + } + ] + }, + { + "case": "[PRES-J05 J06 W01 W02 S03 E08 E09] light/en table and cards preserve behavior at both densities", + "state": "list-error-light-en-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-hidden-focus", + "targets": [ + [ + "#menu-" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_g_" + ], + [ + "div[aria-labelledby=\"job-table-status-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-company-label\"]" + ], + [ + "#_r_j_" + ], + [ + "div[aria-labelledby=\"job-table-readiness-label\"]" + ], + [ + ".MuiSelect-outlined.css-1ehla7j[aria-labelledby=\"job-table-density-label\"]" + ] + ] + }, + { + "id": "th-has-data-cells", + "targets": [ + [ + "table" + ] + ] + } + ] + }, + { + "case": "[PRES-J05 J06 W01 W02 S03 E08 E09] light/nb table and cards preserve behavior at both densities", + "state": "desktop-comfortable-light-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_g_" + ], + [ + "div[aria-labelledby=\"job-table-status-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-company-label\"]" + ], + [ + "#_r_j_" + ], + [ + "div[aria-labelledby=\"job-table-readiness-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-density-label\"]" + ], + [ + ".css-98liy8 > .css-1laywfi > .css-ubcfx2.MuiBox-root > .MuiChip-filled.MuiChip-colorWarning.MuiChip-clickableColorWarning > .css-4y436t.MuiChip-label.MuiChip-labelSmall" + ] + ] + } + ] + }, + { + "case": "[PRES-J05 J06 W01 W02 S03 E08 E09] light/nb table and cards preserve behavior at both densities", + "state": "desktop-compact-light-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_g_" + ], + [ + "div[aria-labelledby=\"job-table-status-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-company-label\"]" + ], + [ + "#_r_j_" + ], + [ + "div[aria-labelledby=\"job-table-readiness-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-density-label\"]" + ], + [ + ".css-98liy8 > .css-1laywfi > .css-ubcfx2.MuiBox-root > .MuiChip-filled.MuiChip-colorWarning.MuiChip-clickableColorWarning > .css-4y436t.MuiChip-label.MuiChip-labelSmall" + ] + ] + } + ] + }, + { + "case": "[PRES-J05 J06 W01 W02 S03 E08 E09] light/nb table and cards preserve behavior at both densities", + "state": "phone-comfortable-light-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-hidden-focus", + "targets": [ + [ + ".MuiPopover-root" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_4e_" + ], + [ + "div[aria-labelledby=\"job-table-status-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-company-label\"]" + ], + [ + "#_r_4h_" + ], + [ + "div[aria-labelledby=\"job-table-readiness-label\"]" + ], + [ + ".MuiButton-text" + ], + [ + "div[aria-labelledby=\"job-table-density-label\"]" + ], + [ + ".css-14z6lsx" + ], + [ + ".Mui-focusVisible" + ], + [ + ".css-14mgqxp > .MuiFormControlLabel-label.css-1k1e65w.MuiTypography-body1" + ] + ] + } + ] + }, + { + "case": "[PRES-J05 J06 W01 W02 S03 E08 E09] light/nb table and cards preserve behavior at both densities", + "state": "phone-compact-light-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_a0_" + ], + [ + "div[aria-labelledby=\"job-table-status-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-company-label\"]" + ], + [ + "#_r_a3_" + ], + [ + "div[aria-labelledby=\"job-table-readiness-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-density-label\"]" + ] + ] + } + ] + }, + { + "case": "[PRES-J05 J06 W01 W02 S03 E08 E09] light/nb table and cards preserve behavior at both densities", + "state": "empty-trash-light-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_d_" + ], + [ + "div[aria-labelledby=\"job-table-status-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-company-label\"]" + ], + [ + "#_r_g_" + ], + [ + "div[aria-labelledby=\"job-table-density-label\"]" + ] + ] + } + ] + }, + { + "case": "[PRES-J05 J06 W01 W02 S03 E08 E09] light/nb table and cards preserve behavior at both densities", + "state": "list-error-light-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-hidden-focus", + "targets": [ + [ + "#menu-" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_g_" + ], + [ + "div[aria-labelledby=\"job-table-status-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-company-label\"]" + ], + [ + "#_r_j_" + ], + [ + "div[aria-labelledby=\"job-table-readiness-label\"]" + ], + [ + ".MuiSelect-outlined.css-1ehla7j[aria-labelledby=\"job-table-density-label\"]" + ] + ] + }, + { + "id": "th-has-data-cells", + "targets": [ + [ + "table" + ] + ] + } + ] + }, + { + "case": "[PRES-J05 J06 W01 W02 S03 E08 E09] dark/en table and cards preserve behavior at both densities", + "state": "desktop-comfortable-dark-en-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_g_" + ], + [ + "div[aria-labelledby=\"job-table-status-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-company-label\"]" + ], + [ + "#_r_j_" + ], + [ + "div[aria-labelledby=\"job-table-readiness-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-density-label\"]" + ], + [ + ".css-98liy8 > .css-1laywfi > .css-ubcfx2.MuiBox-root > .MuiChip-filled.MuiChip-colorWarning.MuiChip-clickableColorWarning > .css-4y436t.MuiChip-label.MuiChip-labelSmall" + ] + ] + } + ] + }, + { + "case": "[PRES-J05 J06 W01 W02 S03 E08 E09] dark/en table and cards preserve behavior at both densities", + "state": "desktop-compact-dark-en-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_g_" + ], + [ + "div[aria-labelledby=\"job-table-status-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-company-label\"]" + ], + [ + "#_r_j_" + ], + [ + "div[aria-labelledby=\"job-table-readiness-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-density-label\"]" + ], + [ + ".css-98liy8 > .css-1laywfi > .css-ubcfx2.MuiBox-root > .MuiChip-filled.MuiChip-colorWarning.MuiChip-clickableColorWarning > .css-4y436t.MuiChip-label.MuiChip-labelSmall" + ] + ] + } + ] + }, + { + "case": "[PRES-J05 J06 W01 W02 S03 E08 E09] dark/en table and cards preserve behavior at both densities", + "state": "phone-comfortable-dark-en-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-hidden-focus", + "targets": [ + [ + ".MuiPopover-root" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_4e_" + ], + [ + "div[aria-labelledby=\"job-table-status-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-company-label\"]" + ], + [ + "#_r_4h_" + ], + [ + "div[aria-labelledby=\"job-table-readiness-label\"]" + ], + [ + ".MuiButton-text" + ], + [ + "div[aria-labelledby=\"job-table-density-label\"]" + ], + [ + ".css-14z6lsx" + ], + [ + ".Mui-focusVisible" + ], + [ + ".css-14mgqxp > .MuiFormControlLabel-label.css-1k1e65w.MuiTypography-body1" + ] + ] + } + ] + }, + { + "case": "[PRES-J05 J06 W01 W02 S03 E08 E09] dark/en table and cards preserve behavior at both densities", + "state": "phone-compact-dark-en-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_a0_" + ], + [ + "div[aria-labelledby=\"job-table-status-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-company-label\"]" + ], + [ + "#_r_a3_" + ], + [ + "div[aria-labelledby=\"job-table-readiness-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-density-label\"]" + ], + [ + ".css-fkab0k" + ] + ] + } + ] + }, + { + "case": "[PRES-J05 J06 W01 W02 S03 E08 E09] dark/en table and cards preserve behavior at both densities", + "state": "empty-trash-dark-en-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_d_" + ], + [ + "div[aria-labelledby=\"job-table-status-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-company-label\"]" + ], + [ + "#_r_g_" + ], + [ + "div[aria-labelledby=\"job-table-density-label\"]" + ] + ] + } + ] + }, + { + "case": "[PRES-J05 J06 W01 W02 S03 E08 E09] dark/en table and cards preserve behavior at both densities", + "state": "list-error-dark-en-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_g_" + ], + [ + "div[aria-labelledby=\"job-table-status-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-company-label\"]" + ], + [ + "#_r_j_" + ], + [ + "div[aria-labelledby=\"job-table-readiness-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-density-label\"]" + ] + ] + }, + { + "id": "th-has-data-cells", + "targets": [ + [ + "table" + ] + ] + } + ] + }, + { + "case": "[PRES-J05 J06 W01 W02 S03 E08 E09] dark/nb table and cards preserve behavior at both densities", + "state": "desktop-comfortable-dark-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_g_" + ], + [ + "div[aria-labelledby=\"job-table-status-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-company-label\"]" + ], + [ + "#_r_j_" + ], + [ + "div[aria-labelledby=\"job-table-readiness-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-density-label\"]" + ], + [ + ".css-98liy8 > .css-1laywfi > .css-ubcfx2.MuiBox-root > .MuiChip-filled.MuiChip-colorWarning.MuiChip-clickableColorWarning > .css-4y436t.MuiChip-label.MuiChip-labelSmall" + ] + ] + } + ] + }, + { + "case": "[PRES-J05 J06 W01 W02 S03 E08 E09] dark/nb table and cards preserve behavior at both densities", + "state": "desktop-compact-dark-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_g_" + ], + [ + "div[aria-labelledby=\"job-table-status-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-company-label\"]" + ], + [ + "#_r_j_" + ], + [ + "div[aria-labelledby=\"job-table-readiness-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-density-label\"]" + ], + [ + ".css-98liy8 > .css-1laywfi > .css-ubcfx2.MuiBox-root > .MuiChip-filled.MuiChip-colorWarning.MuiChip-clickableColorWarning > .css-4y436t.MuiChip-label.MuiChip-labelSmall" + ] + ] + } + ] + }, + { + "case": "[PRES-J05 J06 W01 W02 S03 E08 E09] dark/nb table and cards preserve behavior at both densities", + "state": "phone-comfortable-dark-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "aria-hidden-focus", + "targets": [ + [ + ".MuiPopover-root" + ] + ] + }, + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_4e_" + ], + [ + "div[aria-labelledby=\"job-table-status-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-company-label\"]" + ], + [ + "#_r_4h_" + ], + [ + "div[aria-labelledby=\"job-table-readiness-label\"]" + ], + [ + ".MuiButton-text" + ], + [ + "div[aria-labelledby=\"job-table-density-label\"]" + ], + [ + ".css-14z6lsx" + ], + [ + ".Mui-focusVisible" + ], + [ + ".css-14mgqxp > .MuiFormControlLabel-label.css-1k1e65w.MuiTypography-body1" + ] + ] + } + ] + }, + { + "case": "[PRES-J05 J06 W01 W02 S03 E08 E09] dark/nb table and cards preserve behavior at both densities", + "state": "phone-compact-dark-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_a0_" + ], + [ + "div[aria-labelledby=\"job-table-status-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-company-label\"]" + ], + [ + "#_r_a3_" + ], + [ + "div[aria-labelledby=\"job-table-readiness-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-density-label\"]" + ] + ] + } + ] + }, + { + "case": "[PRES-J05 J06 W01 W02 S03 E08 E09] dark/nb table and cards preserve behavior at both densities", + "state": "empty-trash-dark-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_d_" + ], + [ + "div[aria-labelledby=\"job-table-status-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-company-label\"]" + ], + [ + "#_r_g_" + ], + [ + "div[aria-labelledby=\"job-table-density-label\"]" + ] + ] + } + ] + }, + { + "case": "[PRES-J05 J06 W01 W02 S03 E08 E09] dark/nb table and cards preserve behavior at both densities", + "state": "list-error-dark-nb-axe", + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "targets": [ + [ + ".MuiBadge-badge" + ], + [ + "#_r_g_" + ], + [ + "div[aria-labelledby=\"job-table-status-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-company-label\"]" + ], + [ + "#_r_j_" + ], + [ + "div[aria-labelledby=\"job-table-readiness-label\"]" + ], + [ + "div[aria-labelledby=\"job-table-density-label\"]" + ] + ] + }, + { + "id": "th-has-data-cells", + "targets": [ + [ + "table" + ] + ] + } + ] + } + ] +} diff --git a/docs/redesign/phase-5/p5-09/evidence/browser-summary.json b/docs/redesign/phase-5/p5-09/evidence/browser-summary.json new file mode 100644 index 0000000..9d1455e --- /dev/null +++ b/docs/redesign/phase-5/p5-09/evidence/browser-summary.json @@ -0,0 +1,1236 @@ +{ + "stats": { + "startTime": "2026-10-07T10:02:12.172Z", + "duration": 1232858.796, + "expected": 102, + "skipped": 0, + "unexpected": 0, + "flaky": 0 + }, + "cases": [ + { + "file": "accessibility.spec.ts", + "title": "public entry points meet automated WCAG A and AA checks", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 2855 + } + ] + }, + { + "file": "accessibility.spec.ts", + "title": "primary authenticated workspaces meet automated WCAG A and AA checks", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 10105 + } + ] + }, + { + "file": "account-isolation.spec.ts", + "title": "retained profile request from A cannot write using B cookies and fresh B CSRF", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 942 + } + ] + }, + { + "file": "account-isolation.spec.ts", + "title": "missing and forged session contexts fail closed while same-account profile saves work", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 566 + } + ] + }, + { + "file": "account-isolation.spec.ts", + "title": "crafted CV identifiers cannot cross read update delete or job-association ownership", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 936 + } + ] + }, + { + "file": "account-isolation.spec.ts", + "title": "[P5-00 PRES-E05 E07 E08] account switch disposes open command, account and notification surfaces", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 7722 + } + ] + }, + { + "file": "account-isolation.spec.ts", + "title": "two tabs discard A's private form before B can use it, including Back navigation", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 6022 + } + ] + }, + { + "file": "analytics-presentation.spec.ts", + "title": "[PRES-S01 S02 E07 E08 E09 J05 J09] Analytics native reports, direct entry, period, drill-down and owner isolation", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 21236 + } + ] + }, + { + "file": "analytics-presentation.spec.ts", + "title": "[PRES-S01 E08] Analytics independent loading and failure states never masquerade as empty reports", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 4198 + } + ] + }, + { + "file": "board-presentation.spec.ts", + "title": "[PRES-J07 J05 W01 W02 E07 E08 E09] Board query membership matches Table and preserves moves, focus and route", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 43316 + } + ] + }, + { + "file": "board-presentation.spec.ts", + "title": "[PRES-J05 J07 E07 W01] legacy Board replaces history and preserves query, hash and route state; default Jobs stays Table", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 2427 + } + ] + }, + { + "file": "board-presentation.spec.ts", + "title": "[PRES-J07 E08] Board loading, retryable error and fully empty columns", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 4277 + } + ] + }, + { + "file": "builder-preview-keyboard.spec.ts", + "title": "[PRES-C06 PRES-C07 PRES-C10 PRES-E08] light/en preview keyboard, pagination and responsive state", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 29667 + } + ] + }, + { + "file": "builder-preview-keyboard.spec.ts", + "title": "[PRES-C06 PRES-C07 PRES-C10 PRES-E08] dark/nb preview keyboard, pagination and responsive state", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 31475 + } + ] + }, + { + "file": "builder-preview-keyboard.spec.ts", + "title": "[PRES-C06 PRES-C07 PRES-C10 PRES-E08] light/nb preview keyboard, pagination and responsive state", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 31801 + } + ] + }, + { + "file": "builder-preview-keyboard.spec.ts", + "title": "[PRES-C06 PRES-C07 PRES-C10 PRES-E08] dark/en preview keyboard, pagination and responsive state", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 29503 + } + ] + }, + { + "file": "csv-export.spec.ts", + "title": "CSV export has safe cells and headers, and browser download preserves its UTF-8 bytes", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 4869 + } + ] + }, + { + "file": "cv-editor-frame.spec.ts", + "title": "[PRES-C05 C06 C07 C10 W05 E08] light/en CV frame navigation, actions and pending editing", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 31040 + } + ] + }, + { + "file": "cv-editor-frame.spec.ts", + "title": "[PRES-C05 C06 C07 C10 W05 E08] dark/nb CV frame navigation, actions and pending editing", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 31348 + } + ] + }, + { + "file": "cv-editor-frame.spec.ts", + "title": "[PRES-C05 C06 C07 C10 W05 E08] light/nb CV frame navigation, actions and pending editing", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 34582 + } + ] + }, + { + "file": "cv-editor-frame.spec.ts", + "title": "[PRES-C05 C06 C07 C10 W05 E08] dark/en CV frame navigation, actions and pending editing", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 34759 + } + ] + }, + { + "file": "cv-pagination.spec.ts", + "title": "[PRES-C09 C12] original flowing/boundary fixtures retain native PDF page membership", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 1012 + } + ] + }, + { + "file": "cv-pagination.spec.ts", + "title": "[PRES-C06 C09] pagination waits for image layout and publishes one settled measurement", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 522 + } + ] + }, + { + "file": "cv-readiness.spec.ts", + "title": "[PRES-C06 C08 C09 C12] native preview/PDF fidelity corpus records unchanged output at fixed settings", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 91088 + } + ] + }, + { + "file": "cv-readiness.spec.ts", + "title": "[PRES-C10 E05] independent authenticated clients cannot save or restore a stale CV revision", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 665 + } + ] + }, + { + "file": "cv-readiness.spec.ts", + "title": "[PRES-C06 C10 E08] stale editor retains and downloads its draft; reviewed reload resumes versioned saves", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 5589 + } + ] + }, + { + "file": "dashboard-presentation.spec.ts", + "title": "[PRES-S01 S02 E07 E08 E09] Dashboard native data, visibility and responsive presentation", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 33576 + } + ] + }, + { + "file": "dashboard-presentation.spec.ts", + "title": "[PRES-S01 E08] Dashboard loading and independent failed resources retain retry and exact values", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 4178 + } + ] + }, + { + "file": "job-discovery.spec.ts", + "title": "discovery remains usable across widths and opens the reviewed import", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 6394 + } + ] + }, + { + "file": "job-overview-presentation.spec.ts", + "title": "[PRES-W01 W02 W03 J05 E08 E09] native Job header/Overview retains actions, custom status, aliases and mobile progress keyboard access", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 19995 + } + ] + }, + { + "file": "job-overview-presentation.spec.ts", + "title": "[PRES-W01 W02 E08] Job Overview loading, failed read, retry and unavailable resource remain explicit", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 2121 + } + ] + }, + { + "file": "job-sections-presentation.spec.ts", + "title": "[PRES-W01 W08 M01 E08] Job section loading and partial read failures stay explicit and recover locally", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 8016 + } + ] + }, + { + "file": "job-sections-presentation.spec.ts", + "title": "[PRES-W01–W11 E08 E09] native Job sections retain drafts, frozen documents, tasks and history (en, light)", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 34382 + } + ] + }, + { + "file": "job-sections-presentation.spec.ts", + "title": "[PRES-W01–W11 E08 E09] native Job sections retain drafts, frozen documents, tasks and history (en, dark)", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 29243 + } + ] + }, + { + "file": "job-sections-presentation.spec.ts", + "title": "[PRES-W01–W11 E08 E09] native Job sections retain drafts, frozen documents, tasks and history (nb, light)", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 28513 + } + ] + }, + { + "file": "job-sections-presentation.spec.ts", + "title": "[PRES-W01–W11 E08 E09] native Job sections retain drafts, frozen documents, tasks and history (nb, dark)", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 29049 + } + ] + }, + { + "file": "kanban-theme.spec.ts", + "title": "kanban columns use dark theme surfaces", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 5170 + } + ] + }, + { + "file": "named-controls-modal-state.spec.ts", + "title": "[PRES-E07 PRES-E08 PRES-J08 PRES-C08 PRES-C09 PRES-W06 PRES-W08] light/en/1440 named controls, modal keyboard and retained draft", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 19147 + } + ] + }, + { + "file": "named-controls-modal-state.spec.ts", + "title": "[PRES-E07 PRES-E08 PRES-J08 PRES-C08 PRES-C09 PRES-W06 PRES-W08] dark/nb/1440 named controls, modal keyboard and retained draft", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 18533 + } + ] + }, + { + "file": "named-controls-modal-state.spec.ts", + "title": "[PRES-E07 PRES-E08 PRES-J08 PRES-C08 PRES-C09 PRES-W06 PRES-W08] light/nb/390 named controls, modal keyboard and retained draft", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 16514 + } + ] + }, + { + "file": "named-controls-modal-state.spec.ts", + "title": "[PRES-E07 PRES-E08 PRES-J08 PRES-C08 PRES-C09 PRES-W06 PRES-W08] dark/en/390 named controls, modal keyboard and retained draft", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 16919 + } + ] + }, + { + "file": "redesign-preservation.spec.ts", + "title": "[PRES-C01 PRES-C06 PRES-C07 PRES-C10] mobile CV override persists without changing the canonical profile or sibling CV", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 4791 + } + ] + }, + { + "file": "redesign-preservation.spec.ts", + "title": "[PRES-W01 PRES-W05 PRES-W06 PRES-W07 PRES-W08] legacy workspace preserves frozen documents after current sources change", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 4694 + } + ] + }, + { + "file": "redesign-preservation.spec.ts", + "title": "[PRES-W01 PRES-W04 PRES-W08 PRES-E08 PRES-E09] native workspace aliases, keyboard sections and history retain context (en, light)", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 18724 + } + ] + }, + { + "file": "redesign-preservation.spec.ts", + "title": "[PRES-W01 PRES-W04 PRES-W08 PRES-E08 PRES-E09] native workspace aliases, keyboard sections and history retain context (en, dark)", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 18832 + } + ] + }, + { + "file": "redesign-preservation.spec.ts", + "title": "[PRES-W01 PRES-W04 PRES-W08 PRES-E08 PRES-E09] native workspace aliases, keyboard sections and history retain context (nb, light)", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 15339 + } + ] + }, + { + "file": "redesign-preservation.spec.ts", + "title": "[PRES-W01 PRES-W04 PRES-W08 PRES-E08 PRES-E09] native workspace aliases, keyboard sections and history retain context (nb, dark)", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 14424 + } + ] + }, + { + "file": "redesign-preservation.spec.ts", + "title": "[PRES-S03 PRES-W11] responsive settings navigation keeps rule edits and persists notification preferences", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 3305 + } + ] + }, + { + "file": "redesign-preservation.spec.ts", + "title": "[PRES-S03] rule changes persist through the real API", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 391 + } + ] + }, + { + "file": "redesign-preservation.spec.ts", + "title": "[PRES-E07 PRES-W01 PRES-J04] keyboard command navigation and legacy workspace entry preserve the selected job", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 2857 + } + ] + }, + { + "file": "redesign-preservation.spec.ts", + "title": "[PRES-A01 PRES-S04 PRES-E07] non-admin navigation cannot grant API privileges or unlock CV AI", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 3086 + } + ] + }, + { + "file": "semantic-foundations.spec.ts", + "title": "[PRES-E08 PRES-J08] light/en/1440 loading → error → retry → empty → populated", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 5608 + } + ] + }, + { + "file": "semantic-foundations.spec.ts", + "title": "[PRES-E08 PRES-J08] light/en/390 loading → error → retry → empty → populated", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 5233 + } + ] + }, + { + "file": "semantic-foundations.spec.ts", + "title": "[PRES-E08 PRES-J08] light/nb/1440 loading → error → retry → empty → populated", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 5614 + } + ] + }, + { + "file": "semantic-foundations.spec.ts", + "title": "[PRES-E08 PRES-J08] light/nb/390 loading → error → retry → empty → populated", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 5430 + } + ] + }, + { + "file": "semantic-foundations.spec.ts", + "title": "[PRES-E07 PRES-E08 PRES-J05 PRES-J07] light loaded status semantics, navigation and command focus", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 3310 + } + ] + }, + { + "file": "semantic-foundations.spec.ts", + "title": "[PRES-E08 PRES-C06 PRES-C07 PRES-C08 PRES-C09 PRES-C11 PRES-S03] light loaded CV tabs, selects and settings", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 13661 + } + ] + }, + { + "file": "semantic-foundations.spec.ts", + "title": "[PRES-E08 PRES-J08] dark/en/1440 loading → error → retry → empty → populated", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 5377 + } + ] + }, + { + "file": "semantic-foundations.spec.ts", + "title": "[PRES-E08 PRES-J08] dark/en/390 loading → error → retry → empty → populated", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 5004 + } + ] + }, + { + "file": "semantic-foundations.spec.ts", + "title": "[PRES-E08 PRES-J08] dark/nb/1440 loading → error → retry → empty → populated", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 4794 + } + ] + }, + { + "file": "semantic-foundations.spec.ts", + "title": "[PRES-E08 PRES-J08] dark/nb/390 loading → error → retry → empty → populated", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 4643 + } + ] + }, + { + "file": "semantic-foundations.spec.ts", + "title": "[PRES-E07 PRES-E08 PRES-J05 PRES-J07] dark loaded status semantics, navigation and command focus", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 2679 + } + ] + }, + { + "file": "semantic-foundations.spec.ts", + "title": "[PRES-E08 PRES-C06 PRES-C07 PRES-C08 PRES-C09 PRES-C11 PRES-S03] dark loaded CV tabs, selects and settings", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 11454 + } + ] + }, + { + "file": "settings-page-layout.spec.ts", + "title": "[PRES-E07 E08 E09 S03 S04 S05 J05 J10 M06 W11] light/en Settings headings, reflow and retained actions", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 12500 + } + ] + }, + { + "file": "settings-page-layout.spec.ts", + "title": "[PRES-E07 E08 E09 S03 S04 S05 J05 J10 M06 W11] light/nb Settings headings, reflow and retained actions", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 12019 + } + ] + }, + { + "file": "settings-page-layout.spec.ts", + "title": "[PRES-E07 E08 E09 S03 S04 S05 J05 J10 M06 W11] dark/en Settings headings, reflow and retained actions", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 12110 + } + ] + }, + { + "file": "settings-page-layout.spec.ts", + "title": "[PRES-E07 E08 E09 S03 S04 S05 J05 J10 M06 W11] dark/nb Settings headings, reflow and retained actions", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 12158 + } + ] + }, + { + "file": "shell-readiness.spec.ts", + "title": "[P5-00 PRES-E07 E08 A03] light-en mobile labels, focus and admin reflow", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 11745 + } + ] + }, + { + "file": "shell-readiness.spec.ts", + "title": "[P5-00 PRES-E07 J03 J08] light-en command list, keyboard and no-write actions", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 4225 + } + ] + }, + { + "file": "shell-readiness.spec.ts", + "title": "[P5-02 PRES-E07 E08 E09 S02] light-en utility search and notification states", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 3521 + } + ] + }, + { + "file": "shell-readiness.spec.ts", + "title": "[P5-00 PRES-E08 C06 S05] light-en real Tooltip contrast and open-toast action access", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 11407 + } + ] + }, + { + "file": "shell-readiness.spec.ts", + "title": "[P5-01 PRES-E07 E08 A03] light-en grouped shell, rail menu and route focus", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 3959 + } + ] + }, + { + "file": "shell-readiness.spec.ts", + "title": "[P5-00 PRES-E07 E09 C06 S02 S03] light-en dirty editor survives shell utilities and cancel", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 5439 + } + ] + }, + { + "file": "shell-readiness.spec.ts", + "title": "[P5-00 PRES-E07 E08 A03] light-nb mobile labels, focus and admin reflow", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 11824 + } + ] + }, + { + "file": "shell-readiness.spec.ts", + "title": "[P5-00 PRES-E07 J03 J08] light-nb command list, keyboard and no-write actions", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 4144 + } + ] + }, + { + "file": "shell-readiness.spec.ts", + "title": "[P5-02 PRES-E07 E08 E09 S02] light-nb utility search and notification states", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 3454 + } + ] + }, + { + "file": "shell-readiness.spec.ts", + "title": "[P5-00 PRES-E08 C06 S05] light-nb real Tooltip contrast and open-toast action access", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 10623 + } + ] + }, + { + "file": "shell-readiness.spec.ts", + "title": "[P5-01 PRES-E07 E08 A03] light-nb grouped shell, rail menu and route focus", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 3913 + } + ] + }, + { + "file": "shell-readiness.spec.ts", + "title": "[P5-00 PRES-E07 E08 A03] dark-en mobile labels, focus and admin reflow", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 11571 + } + ] + }, + { + "file": "shell-readiness.spec.ts", + "title": "[P5-00 PRES-E07 J03 J08] dark-en command list, keyboard and no-write actions", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 4375 + } + ] + }, + { + "file": "shell-readiness.spec.ts", + "title": "[P5-02 PRES-E07 E08 E09 S02] dark-en utility search and notification states", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 3821 + } + ] + }, + { + "file": "shell-readiness.spec.ts", + "title": "[P5-00 PRES-E08 C06 S05] dark-en real Tooltip contrast and open-toast action access", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 12155 + } + ] + }, + { + "file": "shell-readiness.spec.ts", + "title": "[P5-01 PRES-E07 E08 A03] dark-en grouped shell, rail menu and route focus", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 4152 + } + ] + }, + { + "file": "shell-readiness.spec.ts", + "title": "[P5-00 PRES-E07 E08 A03] dark-nb mobile labels, focus and admin reflow", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 12762 + } + ] + }, + { + "file": "shell-readiness.spec.ts", + "title": "[P5-00 PRES-E07 J03 J08] dark-nb command list, keyboard and no-write actions", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 4442 + } + ] + }, + { + "file": "shell-readiness.spec.ts", + "title": "[P5-02 PRES-E07 E08 E09 S02] dark-nb utility search and notification states", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 3601 + } + ] + }, + { + "file": "shell-readiness.spec.ts", + "title": "[P5-00 PRES-E08 C06 S05] dark-nb real Tooltip contrast and open-toast action access", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 11262 + } + ] + }, + { + "file": "shell-readiness.spec.ts", + "title": "[P5-01 PRES-E07 E08 A03] dark-nb grouped shell, rail menu and route focus", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 4169 + } + ] + }, + { + "file": "shell-readiness.spec.ts", + "title": "[P5-00 PRES-E07 E09 C06 S02 S03] dark-nb dirty editor survives shell utilities and cancel", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 6185 + } + ] + }, + { + "file": "smoke.spec.ts", + "title": "API liveness and database readiness are separate public probes", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 112 + } + ] + }, + { + "file": "smoke.spec.ts", + "title": "public plans stay honest, responsive and keyboard accessible", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 2831 + } + ] + }, + { + "file": "smoke.spec.ts", + "title": "login establishes an authenticated session", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 1198 + } + ] + }, + { + "file": "smoke.spec.ts", + "title": "a Free account keeps manual work available while AI actions stay honestly locked", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 5373 + } + ] + }, + { + "file": "smoke.spec.ts", + "title": "a saved job can be created through the reviewed UI flow", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 2157 + } + ] + }, + { + "file": "smoke.spec.ts", + "title": "the dedicated application workspace survives deep links, long data and unsaved navigation", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 8508 + } + ] + }, + { + "file": "smoke.spec.ts", + "title": "Career Workspace loads from the authenticated application shell", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 13895 + } + ] + }, + { + "file": "smoke.spec.ts", + "title": "a public CV renders anonymously and downloads as PDF", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 1987 + } + ] + }, + { + "file": "smoke.spec.ts", + "title": "the Code template exports a long structured CV as searchable multi-page PDF", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 7171 + } + ] + }, + { + "file": "table-density.spec.ts", + "title": "[PRES-J05 J06 W01 W02 S03 E08 E09] light/en table and cards preserve behavior at both densities", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 20385 + } + ] + }, + { + "file": "table-density.spec.ts", + "title": "[PRES-J05 J06 W01 W02 S03 E08 E09] light/nb table and cards preserve behavior at both densities", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 19629 + } + ] + }, + { + "file": "table-density.spec.ts", + "title": "[PRES-J05 J06 W01 W02 S03 E08 E09] dark/en table and cards preserve behavior at both densities", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 19677 + } + ] + }, + { + "file": "table-density.spec.ts", + "title": "[PRES-J05 J06 W01 W02 S03 E08 E09] dark/nb table and cards preserve behavior at both densities", + "status": "expected", + "expectedStatus": "passed", + "attempts": [ + { + "status": "passed", + "durationMs": 19851 + } + ] + } + ] +} diff --git a/docs/redesign/phase-5/p5-09/evidence/dark-en-desktop-content.png b/docs/redesign/phase-5/p5-09/evidence/dark-en-desktop-content.png new file mode 100644 index 0000000..b0e2809 Binary files /dev/null and b/docs/redesign/phase-5/p5-09/evidence/dark-en-desktop-content.png differ diff --git a/docs/redesign/phase-5/p5-09/evidence/dark-en-edit-390.png b/docs/redesign/phase-5/p5-09/evidence/dark-en-edit-390.png new file mode 100644 index 0000000..9a16d83 Binary files /dev/null and b/docs/redesign/phase-5/p5-09/evidence/dark-en-edit-390.png differ diff --git a/docs/redesign/phase-5/p5-09/evidence/dark-en-history.png b/docs/redesign/phase-5/p5-09/evidence/dark-en-history.png new file mode 100644 index 0000000..5d4b0d8 Binary files /dev/null and b/docs/redesign/phase-5/p5-09/evidence/dark-en-history.png differ diff --git a/docs/redesign/phase-5/p5-09/evidence/dark-en-preview-390.png b/docs/redesign/phase-5/p5-09/evidence/dark-en-preview-390.png new file mode 100644 index 0000000..56504d6 Binary files /dev/null and b/docs/redesign/phase-5/p5-09/evidence/dark-en-preview-390.png differ diff --git a/docs/redesign/phase-5/p5-09/evidence/dark-nb-desktop-content.png b/docs/redesign/phase-5/p5-09/evidence/dark-nb-desktop-content.png new file mode 100644 index 0000000..e8db2b4 Binary files /dev/null and b/docs/redesign/phase-5/p5-09/evidence/dark-nb-desktop-content.png differ diff --git a/docs/redesign/phase-5/p5-09/evidence/dark-nb-edit-320.png b/docs/redesign/phase-5/p5-09/evidence/dark-nb-edit-320.png new file mode 100644 index 0000000..414100c Binary files /dev/null and b/docs/redesign/phase-5/p5-09/evidence/dark-nb-edit-320.png differ diff --git a/docs/redesign/phase-5/p5-09/evidence/dark-nb-edit-390.png b/docs/redesign/phase-5/p5-09/evidence/dark-nb-edit-390.png new file mode 100644 index 0000000..a69c811 Binary files /dev/null and b/docs/redesign/phase-5/p5-09/evidence/dark-nb-edit-390.png differ diff --git a/docs/redesign/phase-5/p5-09/evidence/dark-nb-history.png b/docs/redesign/phase-5/p5-09/evidence/dark-nb-history.png new file mode 100644 index 0000000..65c42f0 Binary files /dev/null and b/docs/redesign/phase-5/p5-09/evidence/dark-nb-history.png differ diff --git a/docs/redesign/phase-5/p5-09/evidence/dark-nb-pending-900.png b/docs/redesign/phase-5/p5-09/evidence/dark-nb-pending-900.png new file mode 100644 index 0000000..1ea16b9 Binary files /dev/null and b/docs/redesign/phase-5/p5-09/evidence/dark-nb-pending-900.png differ diff --git a/docs/redesign/phase-5/p5-09/evidence/dark-nb-preview-390.png b/docs/redesign/phase-5/p5-09/evidence/dark-nb-preview-390.png new file mode 100644 index 0000000..eb85ec7 Binary files /dev/null and b/docs/redesign/phase-5/p5-09/evidence/dark-nb-preview-390.png differ diff --git a/docs/redesign/phase-5/p5-09/evidence/dark-nb-reordered-section-focus.png b/docs/redesign/phase-5/p5-09/evidence/dark-nb-reordered-section-focus.png new file mode 100644 index 0000000..5675d79 Binary files /dev/null and b/docs/redesign/phase-5/p5-09/evidence/dark-nb-reordered-section-focus.png differ diff --git a/docs/redesign/phase-5/p5-09/evidence/default-modern-comparison-1.png b/docs/redesign/phase-5/p5-09/evidence/default-modern-comparison-1.png new file mode 100644 index 0000000..bf91c3d Binary files /dev/null and b/docs/redesign/phase-5/p5-09/evidence/default-modern-comparison-1.png differ diff --git a/docs/redesign/phase-5/p5-09/evidence/fidelity-results.json b/docs/redesign/phase-5/p5-09/evidence/fidelity-results.json new file mode 100644 index 0000000..a461893 --- /dev/null +++ b/docs/redesign/phase-5/p5-09/evidence/fidelity-results.json @@ -0,0 +1,2986 @@ +{ + "tolerances": { + "pageDimensionMm": 0.5, + "positionMm": 2, + "fontPt": 0.5, + "rgbComponent": 0.00392156862745098, + "pageCountAndMembership": "exact" + }, + "browserVersion": "151.0.7922.34", + "passed": 16, + "total": 16, + "fixtures": [ + { + "fixture": "default-modern", + "pass": true, + "failures": [], + "previewPages": 1, + "pdfPages": 1, + "fontNames": [ + "AAAAAA+SegoeUI-Bold", + "BAAAAA+SegoeUI" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.8846697945210119, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 1.1543915080462135, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.9466801572814106, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.9549481108404655, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 1.224669824365667, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "P01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 1.1419864412927418, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.9218730223856111, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "Åse Fixture\nCareer platform engineer\nase@example.test Oslo, Norge\nPROFESSIONAL SUMMARY\nR01 Builds reliable and accessible career software using documented evidence.\nPROFESSIONAL EXPERIENCE\nE01 Platform engineer\nNordlys Fixture AS\nB01 Delivered accessible application workflows with documented outcomes.\nB02 Maintained reliable APIs and verified releases.\nEDUCATION\nE02 Computer science\nFixture University\nPROJECTS\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\nSKILLS\nC# React Norsk Accessibility\nLANGUAGES\nNorsk — Native", + "glyphBoundsPt": [ + 45.35156061035156, + 50.27343534527347, + 404.4988765624195, + 549.1329995190109 + ] + } + ] + }, + { + "fixture": "default-minimal", + "pass": true, + "failures": [], + "previewPages": 1, + "pdfPages": 1, + "fontNames": [ + "AAAAAA+Arial-BoldMT", + "BAAAAA+ArialMT" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.23840431700673748, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.2504673297077049, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.3210852416595337, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.32935319521854844, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.34141620791947574, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "P01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.27940338673890797, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.3376192305484088, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "Åse Fixture\nCareer platform engineer\nase@example.test Oslo, Norge\nProfessional Summary\nR01 Builds reliable and accessible career software using documented evidence.\nProfessional Experience\nE01 Platform engineer\nNordlys Fixture AS\nB01 Delivered accessible application workflows with documented outcomes.\nB02 Maintained reliable APIs and verified releases.\nEducation\nE02 Computer science\nFixture University\nProjects\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\nSkills\nC# · React · Norsk · Accessibility\nLanguages\nNorsk — Native", + "glyphBoundsPt": [ + 45.35156061035156, + 47.08593547808607, + 412.1041846030788, + 548.0121011340744 + ] + } + ] + }, + { + "fixture": "default-executive", + "pass": true, + "failures": [], + "previewPages": 1, + "pdfPages": 1, + "fontNames": [ + "AAAAAA+Georgia-Bold", + "BAAAAA+Georgia" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.18982195911552188, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.23753521760940605, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.30557576736205694, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.31384372092107166, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.3615569794149959, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "P01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.33261704182818697, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.3882555234384297, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 3.921568627450467e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "Åse Fixture\nCareer platform engineer\nase@example.test Oslo, Norge\nProfessional Summary\nR01 Builds reliable and accessible career software using documented evidence.\nProfessional Experience\nE01 Platform engineer\nNordlys Fixture AS\nB01 Delivered accessible application workflows with documented outcomes.\nB02 Maintained reliable APIs and verified releases.\nEducation\nE02 Computer science\nFixture University\nProjects\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\nSkills\nC# · React · Norsk · Accessibility\nLanguages\nNorsk — Native", + "glyphBoundsPt": [ + 45.35156061035156, + 47.919431563356966, + 404.3816489774241, + 563.8316439427281 + ] + } + ] + }, + { + "fixture": "default-technical", + "pass": true, + "failures": [], + "previewPages": 1, + "pdfPages": 1, + "fontNames": [ + "AAAAAA+Arial-BoldMT", + "BAAAAA+ArialMT" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 2.1144274124177778e-06, + "deltaYmm": 0.2623550758939605, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.9270142247130983e-06, + "deltaYmm": 0.3343444905847756, + "fontDeltaPt": 4.3749992073571775e-07, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 2.1144274124177778e-06, + "deltaYmm": 0.27475597545992514, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 2.1144274124177778e-06, + "deltaYmm": 0.1465979824043807, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.9270142247130983e-06, + "deltaYmm": 0.27646518867508024, + "fontDeltaPt": 4.3749992073571775e-07, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "P01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.9270142247130983e-06, + "deltaYmm": 0.28059828902232004, + "fontDeltaPt": 4.3750003442255547e-07, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 2.1144274124177778e-06, + "deltaYmm": 0.022572538480772168, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "Åse Professional Summary\nFixture R01 Builds reliable and accessible career software using documented\nevidence.\nCareer platform\nengineer\nProfessional Experience\nE01 Platform engineer\nase@example.tes\nt Nordlys Fixture AS\nOslo, Norge B01 Delivered accessible application workflows with documented\noutcomes.\nSkills B02 Maintained reliable APIs and verified releases.\nC#\nEducation\nReact\nE02 Computer science\nNorsk\nFixture University\nAccessibility\nProjects\nLanguages\nP01 Evidence workspace\nNorsk — Native B03 Created a source-grounded review workflow.", + "glyphBoundsPt": [ + 45.35156061035156, + 46.45019332457525, + 526.7734687109811, + 344.76210960282447 + ] + } + ] + }, + { + "fixture": "default-ats-classic", + "pass": true, + "failures": [], + "previewPages": 1, + "pdfPages": 1, + "fontNames": [ + "AAAAAA+Arial-BoldMT", + "BAAAAA+ArialMT" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.21773375511438012, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.20912620592295006, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.2797441178747789, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.28801207143383367, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.27940452224240364, + "fontDeltaPt": 0.005025608125045267, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "P01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.19672113916945838, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.2549369829789592, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "Åse Fixture\nCareer platform engineer\nase@example.test Oslo, Norge\nPROFESSIONAL SUMMARY\nR01 Builds reliable and accessible career software using documented evidence.\nPROFESSIONAL EXPERIENCE\nE01 Platform engineer\nNordlys Fixture AS\nB01 Delivered accessible application workflows with documented outcomes.\nB02 Maintained reliable APIs and verified releases.\nEDUCATION\nE02 Computer science\nFixture University\nPROJECTS\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\nSKILLS\nC#\nReact\nNorsk\nAccessibility\nLANGUAGES\nNorsk — Native", + "glyphBoundsPt": [ + 45.35156061035156, + 47.08593547808607, + 412.1041846030788, + 600.5120989465744 + ] + } + ] + }, + { + "fixture": "default-nordic", + "pass": true, + "failures": [], + "previewPages": 1, + "pdfPages": 1, + "fontNames": [ + "AAAAAA+SegoeUI-Bold", + "BAAAAA+SegoeUI" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.8350616432189417, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 3.1372549019609286e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 1.1254537201990138, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 3.1372549019609286e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.917742369434211, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 3.1372549019609286e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.946680686448096, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 3.1372549019609286e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 1.2164023999732976, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 3.1372549019609286e-05 + }, + { + "token": "P01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 1.1337190169003926, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 3.1372549019609286e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.9136055979932417, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 3.1372549019609286e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "PROFESSIONAL SUMMARY Åse\nR01 Builds reliable and accessible career software using documented Fixture\nevidence.\nCareer platform\nengineer\nPROFESSIONAL EXPERIENCE\nE01 Platform engineer ase@example.tes\nt\nNordlys Fixture AS\nOslo, Norge\nB01 Delivered accessible application workflows with documented\noutcomes.\nSKILLS\nB02 Maintained reliable APIs and verified releases.\nC# React\nEDUCATION\nNorsk\nE02 Computer science\nFixture University Accessibility\nPROJECTS LANGUAGES\nP01 Evidence workspace Norsk — Native\nB03 Created a source-grounded review workflow.", + "glyphBoundsPt": [ + 45.35156061035156, + 48.609958661877954, + 549.9178689110568, + 371.50912266022937 + ] + } + ] + }, + { + "fixture": "default-elegant", + "pass": true, + "failures": [], + "previewPages": 1, + "pdfPages": 1, + "fontNames": [ + "AAAAAA+SegoeUI", + "BAAAAA+Georgia-Bold", + "CAAAAA+SegoeUI-Bold" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 1.0541681506842109, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 3.1372549019609286e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 1.1709275474559542, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 3.1372549019609286e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.9632161966911514, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 3.1372549019609286e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.9714841502501661, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 3.1372549019609286e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 1.0882435470219096, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 3.1372549019609286e-05 + }, + { + "token": "P01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 1.1171811695045502, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 3.1372549019609286e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.8970677505974194, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 3.1372549019609286e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "CURRICULUM VITAE\nÅse Fixture\nCareer platform engineer\nase@example.test Oslo, Norge\nProfessional Summary\nR01 Builds reliable and accessible career software using documented evidence.\nProfessional Experience\nE01 Platform engineer\nNordlys Fixture AS\nB01 Delivered accessible application workflows with documented outcomes.\nB02 Maintained reliable APIs and verified releases.\nEducation\nE02 Computer science\nFixture University\nProjects\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\nSkills\nC# React Norsk Accessibility\nLanguages\nNorsk — Native", + "glyphBoundsPt": [ + 45.35156061035156, + 47.632322215319846, + 404.4988765624195, + 600.1329973940109 + ] + } + ] + }, + { + "fixture": "default-creative", + "pass": true, + "failures": [], + "previewPages": 1, + "pdfPages": 1, + "fontNames": [ + "AAAAAA+SegoeUI-Bold", + "BAAAAA+SegoeUI" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 2.1144274124177778e-06, + "deltaYmm": 1.0624379673508535, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 1.764705882352502e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.9270142247130983e-06, + "deltaYmm": 1.3156230461538534, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 1.764705882352502e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 2.1144274124177778e-06, + "deltaYmm": 0.8433283730800265, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 1.764705882352502e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 2.1144274124177778e-06, + "deltaYmm": 0.8722666900939117, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 1.764705882352502e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.9270142247130983e-06, + "deltaYmm": 1.104781405442041, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 1.764705882352502e-05 + }, + { + "token": "P01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.9270142247130983e-06, + "deltaYmm": 1.2494743465010878, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 1.764705882352502e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 2.1144274124177778e-06, + "deltaYmm": 1.029360927593937, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 1.764705882352502e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "Åse Professional Summary\nFixture R01 Builds reliable and accessible career software using documented\nevidence.\nCareer platform\nengineer\nProfessional Experience\nase@example.tes E01 Platform engineer\nt Nordlys Fixture AS\nOslo, Norge B01 Delivered accessible application workflows with documented\noutcomes.\nSkills B02 Maintained reliable APIs and verified releases.\nC# React\nEducation\nNorsk\nE02 Computer science\nAccessibility Fixture University\nProjects\nLanguages\nP01 Evidence workspace\nNorsk — Native\nB03 Created a source-grounded review workflow.", + "glyphBoundsPt": [ + 45.35156061035156, + 48.7617166882618, + 536.2813995678008, + 363.25912300397937 + ] + } + ] + }, + { + "fixture": "default-code", + "pass": true, + "failures": [], + "previewPages": 1, + "pdfPages": 1, + "fontNames": [ + "AAAAAA+SegoeUI-Bold", + "BAAAAA+SegoeUI", + "CAAAAA+Consolas-Bold" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3408694274723905, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.4617630733497646, + "fontDeltaPt": 0.005025658124935717, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.2623199936181995, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.2747220727848567, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.395615718662311, + "fontDeltaPt": 0.005025658125049404, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "P01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.4328217356761774, + "fontDeltaPt": 0.00502565812499256, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.2168424621946015, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "Åse Fixture\nCareer platform engineer\nase@example.test Oslo, Norge\n01 — PROFESSIONAL SUMMARY\nR01 Builds reliable and accessible career software using documented evidence.\n02 — PROFESSIONAL EXPERIENCE\nE01 Platform engineer\nNordlys Fixture AS\nB01 Delivered accessible application workflows with documented outcomes.\nB02 Maintained reliable APIs and verified releases.\n03 — EDUCATION\nE02 Computer science\nFixture University\n04 — PROJECTS\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\n05 — SKILLS\nC#\nReact\nNorsk\nAccessibility\n06 — LANGUAGES\nNorsk — Native", + "glyphBoundsPt": [ + 43.19531070019531, + 48.39990026333737, + 381.55365235795125, + 565.482412882962 + ] + } + ] + }, + { + "fixture": "long-en-minimal", + "pass": true, + "failures": [], + "previewPages": 4, + "pdfPages": 4, + "fontNames": [ + "AAAAAA+Arial-BoldMT", + "BAAAAA+ArialMT" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.23840431700673748, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.2504673297077049, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.3210852416595337, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.39136428558311953, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.1970600071977014, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.17604846061041962, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B04", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.24666637256228857, + "fontDeltaPt": 0.002475491562471177, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B05", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.3169454164859145, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B06", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.3872244604095003, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E03", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.39094513795416674, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B07", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.19697972759697155, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B08", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.26725877152059746, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B09", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.33753781544418326, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E04", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.31652626885694163, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B10", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.3871441808087905, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B11", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.19283990242333224, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B12", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.26311894634695815, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E05", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.25857139472509827, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B13", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.32918930667692714, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B14", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.3994683506004728, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B15", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.20516407221507474, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E06", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.18415252562783307, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B16", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.25477043757968193, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B17", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.32504948150330787, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B18", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.3953285254269338, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E02", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.3825111350897526, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E08", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.34530344238135574, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "P01", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.28329062120090825, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B03", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.34150646501022863, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "Åse Fixture\nPlatform engineer with experience in accessible and reliable application workflows\nase@example.test Oslo, Norge\nProfessional Summary\nR01 Builds reliable and accessible career software using documented evidence.\nProfessional Experience\nE01 Workflow and integration engineer\nNordlys Fixture 1\nB01 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nB02 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nB03 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nDeveloped reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible\nnavigation, documented source evidence and explicit review for people managing their careers. Developed\nreliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers.\nE02 Workflow and integration engineer\nNordlys Fixture 2\nB04 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nB05 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nB06 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nDeveloped reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source", + "glyphBoundsPt": [ + 45.35156061035156, + 47.08593547808607, + 549.9112904894672, + 782.118578210681 + ] + }, + { + "page": 2, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "evidence and explicit review for people managing their careers. Developed reliable workflows with accessible\nnavigation, documented source evidence and explicit review for people managing their careers. Developed\nreliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers.\nE03 Workflow and integration engineer\nNordlys Fixture 3\nB07 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nB08 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nB09 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nDeveloped reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible\nnavigation, documented source evidence and explicit review for people managing their careers. Developed\nreliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers.\nE04 Workflow and integration engineer\nNordlys Fixture 4\nB10 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nB11 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nB12 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nDeveloped reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible\nnavigation, documented source evidence and explicit review for people managing their careers. Developed\nreliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers.", + "glyphBoundsPt": [ + 45.35156061035156, + 46.871108920993265, + 549.9112904894672, + 767.8685788044307 + ] + }, + { + "page": 3, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "E05 Workflow and integration engineer\nNordlys Fixture 5\nB13 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nB14 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nB15 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nDeveloped reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible\nnavigation, documented source evidence and explicit review for people managing their careers. Developed\nreliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers.\nE06 Workflow and integration engineer\nNordlys Fixture 6\nB16 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nB17 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nB18 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nDeveloped reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible\nnavigation, documented source evidence and explicit review for people managing their careers. Developed\nreliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers.", + "glyphBoundsPt": [ + 45.35156061035156, + 47.58499322520481, + 549.9112904894672, + 683.1185823356808 + ] + }, + { + "page": 4, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "Education\nE02 Computer science\nFixture University\nE08 Videreutdanning i universell utforming og informasjonsarkitektur\nFixture Academy\nProjects\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\nSkills\nC# · React · Norsk · Accessibility\nLanguages\nNorsk — Native", + "glyphBoundsPt": [ + 45.35156061035156, + 47.54296673904298, + 408.051991873659, + 335.76210997782437 + ] + } + ] + }, + { + "fixture": "long-nb-code", + "pass": true, + "failures": [], + "previewPages": 4, + "pdfPages": 4, + "fontNames": [ + "AAAAAA+SegoeUI-Bold", + "BAAAAA+SegoeUI", + "CAAAAA+Consolas-Bold" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3408694274723905, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.4617630733497646, + "fontDeltaPt": 0.005025658124935717, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.2623199936181995, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3491355399723557, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.4359510863265321, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.3542717506067425, + "fontDeltaPt": 0.00502565812499256, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B04", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.4194119931841813, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B05", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.2416442172293136, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B06", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3284597635834698, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E03", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.3293904325511838, + "fontDeltaPt": 0.005025658124935717, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B07", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3945306751286426, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B08", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.216762899173775, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B09", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3035784455279311, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E04", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.2218991098081617, + "fontDeltaPt": 0.00502565812499256, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B10", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.2870393523856005, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B11", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3738548987397168, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B12", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.460670445093913, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E05", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.3789911093741036, + "fontDeltaPt": 0.00502565812499256, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B13", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.4441313519515624, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B14", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.2663635759967347, + "fontDeltaPt": 0.0024756165624957305, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B15", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.328301993531498, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E06", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.2466226578117086, + "fontDeltaPt": 0.005025658125049404, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B16", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3117629003891271, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B17", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3985784467433235, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B18", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.2208106707884159, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E02", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.300361395919303, + "fontDeltaPt": 0.00502565812499256, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E08", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.4409206743915568, + "fontDeltaPt": 0.00502565812499256, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "P01", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.2135433690963993, + "fontDeltaPt": 0.00502565812499256, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B03", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.2621474179238674, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "Åse Fixture\nPlattformutvikler med erfaring fra tilgjengelige, pålitelige arbeidsflyter\nase@example.test Oslo, Norge\n01 — PROFIL\nR01 Builds reliable and accessible career software using documented evidence.\n02 — ARBEIDSERFARING\nE01 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 1\nB01 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB02 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB03 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nUtviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nE02 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 2\nB04 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB05 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB06 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nUtviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere.", + "glyphBoundsPt": [ + 43.19531070019531, + 48.39990026333737, + 550.4331237820651, + 782.3585195678572 + ] + }, + { + "page": 2, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "E03 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 3\nB07 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB08 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB09 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nUtviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nE04 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 4\nB10 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB11 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB12 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nUtviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nE05 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 5\nB13 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB14 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere.", + "glyphBoundsPt": [ + 43.19531070019531, + 46.9638995529009, + 550.4331237820651, + 779.3585196928572 + ] + }, + { + "page": 3, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "B15 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nUtviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nE06 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 6\nB16 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB17 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB18 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nUtviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\n03 — UTDANNING\nE02 Computer science\nFixture University\nE08 Videreutdanning i universell utforming og informasjonsarkitektur\nFixture Academy\n04 — PROSJEKTER\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\n05 — FERDIGHETER\nC#\nReact\nNorsk\nAccessibility", + "glyphBoundsPt": [ + 43.19531070019531, + 46.9610504344198, + 550.4331237820651, + 758.3585205678573 + ] + }, + { + "page": 4, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "06 — SPRÅK\nNorsk — Native", + "glyphBoundsPt": [ + 43.19531070019531, + 45.69976097835922, + 112.36207023748328, + 81.73243303921174 + ] + } + ] + }, + { + "fixture": "compact-8mm-letter", + "pass": true, + "failures": [], + "previewPages": 4, + "pdfPages": 4, + "fontNames": [ + "AAAAAA+Arial-BoldMT", + "BAAAAA+ArialMT" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.35829410294419367, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 2.731960717896855e-07, + "deltaYmm": 0.38689375036736284, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.45751166231919166, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.5567295193504602, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.39136405407268465, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 2.731960717896855e-07, + "deltaYmm": 0.5357174325722038, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B04", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.3417520222150287, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B05", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.4409698792462772, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B06", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.5401877362775457, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E03", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 2.731960717896855e-07, + "deltaYmm": 0.4406394889090288, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B07", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.5112574008608577, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B08", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.3458919355830621, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B09", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.44510979261433065, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E04", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 2.731960717896855e-07, + "deltaYmm": 0.32487984880482573, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B10", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.39549776075667464, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B11", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.49471561778794315, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B12", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.3293501525101877, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E05", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 2.731960717896855e-07, + "deltaYmm": 0.4737035310097269, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B13", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.5443214429615557, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B14", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.37895597768380024, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B15", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.45338030381237815, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E06", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 2.731960717896855e-07, + "deltaYmm": 0.33315036000289333, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B16", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.40376827195472215, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B17", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.5029861289859907, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B18", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.3376206637082352, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E02", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 2.731960717896855e-07, + "deltaYmm": 0.5522535822251378, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E08", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 2.731960717896855e-07, + "deltaYmm": 0.43649785574944844, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "P01", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 2.731960717896855e-07, + "deltaYmm": 0.39102166929104226, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B03", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.44923751310052307, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 215.89999999999998, + 279.4 + ], + "text": "Åse Fixture\nPlatform engineer with experience in accessible and reliable application workflows\nase@example.test Oslo, Norge\nPROFESSIONAL SUMMARY\nR01 Builds reliable and accessible career software using documented evidence.\nPROFESSIONAL EXPERIENCE\nE01 Workflow and integration engineer\nNordlys Fixture 1\nB01 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers.\nB02 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers.\nB03 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable\nworkflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nDeveloped reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers.\nE02 Workflow and integration engineer\nNordlys Fixture 2\nB04 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers.\nB05 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers.\nB06 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable\nworkflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nDeveloped reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers.", + "glyphBoundsPt": [ + 18.58593672558594, + 20.835936571835987, + 587.6313359927984, + 768.6185787731808 + ] + }, + { + "page": 2, + "dimensionsMm": [ + 215.89999999999998, + 279.4 + ], + "text": "E03 Workflow and integration engineer\nNordlys Fixture 3\nB07 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers.\nB08 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers.\nB09 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable\nworkflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nDeveloped reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers.\nE04 Workflow and integration engineer\nNordlys Fixture 4\nB10 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers.\nB11 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers.\nB12 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable\nworkflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nDeveloped reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers.\nE05 Workflow and integration engineer\nNordlys Fixture 5\nB13 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers.\nB14 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers.", + "glyphBoundsPt": [ + 18.58593672558594, + 21.334994318954728, + 587.6313359927984, + 771.6185786481808 + ] + }, + { + "page": 3, + "dimensionsMm": [ + 215.89999999999998, + 279.4 + ], + "text": "B15 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable\nworkflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nDeveloped reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers.\nE06 Workflow and integration engineer\nNordlys Fixture 6\nB16 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers.\nB17 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers.\nB18 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable\nworkflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nDeveloped reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers.\nEDUCATION\nE02 Computer science\nFixture University\nE08 Videreutdanning i universell utforming og informasjonsarkitektur\nFixture Academy\nPROJECTS\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\nSKILLS\nC#\nReact\nNorsk\nAccessibility", + "glyphBoundsPt": [ + 18.58593672558594, + 20.62111001474375, + 587.6313359927984, + 720.6185807731813 + ] + }, + { + "page": 4, + "dimensionsMm": [ + 215.89999999999998, + 279.4 + ], + "text": "LANGUAGES\nNorsk — Native", + "glyphBoundsPt": [ + 18.58593672558594, + 21.211522291760616, + 95.17926274729487, + 57.512121571574085 + ] + } + ] + }, + { + "fixture": "roomy-28mm-nb", + "pass": true, + "failures": [], + "previewPages": 5, + "pdfPages": 5, + "fontNames": [ + "AAAAAA+SegoeUI-Bold", + "BAAAAA+SegoeUI" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.012826464659883, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.376660156064228e-06, + "deltaYmm": 1.3610962450254052, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.14511659894808, + "fontDeltaPt": 0.0024754915624427554, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.2236635192605956, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.0376271172640672, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.376660156064228e-06, + "deltaYmm": 1.2701393852163572, + "fontDeltaPt": 0.005025608125002634, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B04", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.0954271758578251, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B05", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.1739740961703409, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B06", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 0.9879376941738325, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E03", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.376660156064228e-06, + "deltaYmm": 1.4850332844351664, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B07", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.0044703160488773, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B08", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.0830172363613528, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B09", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.1615641566738284, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E04", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 1.376660156064228e-06, + "deltaYmm": 1.3113203576990557, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B10", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.0953407116217306, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B11", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.1738876319342262, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B12", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 0.9878512299376777, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E05", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 1.376660156064228e-06, + "deltaYmm": 1.4849468201989915, + "fontDeltaPt": 0.005025608125002634, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B13", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.0952605091911456, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B14", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.1738074295036212, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B15", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 0.9877710275070728, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E06", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 1.376660156064228e-06, + "deltaYmm": 1.4848666177684868, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B16", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.0043036493820774, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B17", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.0828505696947937, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B18", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.1613974900073496, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E02", + "previewPage": 5, + "pdfPage": 5, + "deltaXmm": 1.376660156064228e-06, + "deltaYmm": 1.4930542145565866, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E08", + "previewPage": 5, + "pdfPage": 5, + "deltaXmm": 1.376660156064228e-06, + "deltaYmm": 1.402102966119161, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "P01", + "previewPage": 5, + "pdfPage": 5, + "deltaXmm": 1.376660156064228e-06, + "deltaYmm": 1.493052241205946, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B03", + "previewPage": 5, + "pdfPage": 5, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.103440091309301, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "Åse Fixture\nPlattformutvikler med erfaring fra tilgjengelige, pålitelige arbeidsflyter\nase@example.test Oslo, Norge\nPROFIL\nR01 Builds reliable and accessible career software using documented evidence.\nARBEIDSERFARING\nE01 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 1\nB01 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB02 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB03 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nUtviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag\nog tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med\ntilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nE02 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 2", + "glyphBoundsPt": [ + 93.65624609765625, + 99.02343331402346, + 499.10543914547947, + 743.5091071602294 + ] + }, + { + "page": 2, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "B04 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB05 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB06 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nUtviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag\nog tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med\ntilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nE03 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 3\nB07 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB08 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB09 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige", + "glyphBoundsPt": [ + 93.65624609765625, + 98.26163412054177, + 499.10543914547947, + 742.0091072227292 + ] + }, + { + "page": 3, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nUtviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag\nog tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med\ntilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nE04 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 4\nB10 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB11 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB12 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nUtviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag\nog tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med\ntilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nE05 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 5", + "glyphBoundsPt": [ + 93.65624609765625, + 98.26163412054177, + 499.10543914547947, + 733.7591075664791 + ] + }, + { + "page": 4, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "B13 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB14 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB15 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nUtviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag\nog tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med\ntilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nE06 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 6\nB16 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB17 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB18 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige", + "glyphBoundsPt": [ + 93.65624609765625, + 98.26163412054154, + 499.10543914547947, + 742.0091072227292 + ] + }, + { + "page": 5, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nUtviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag\nog tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med\ntilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nUTDANNING\nE02 Computer science\nFixture University\nE08 Videreutdanning i universell utforming og informasjonsarkitektur\nFixture Academy\nPROSJEKTER\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\nFERDIGHETER\nC# React Norsk Accessibility\nSPRÅK\nNorsk — Native", + "glyphBoundsPt": [ + 93.65624609765625, + 98.26163412054132, + 499.10543914547947, + 607.6329970815107 + ] + } + ] + }, + { + "fixture": "grid-and-bubbles", + "pass": true, + "failures": [], + "previewPages": 1, + "pdfPages": 1, + "fontNames": [ + "AAAAAA+Arial-BoldMT", + "BAAAAA+ArialMT" + ], + "comparisons": [ + { + "token": "P01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.2256635021035085, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.2838793459129893, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.30834377632225735, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.3789616882741062, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.3872296418331209, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.14745014712825316, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.1595131598291805, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "Åse Fixture\nCareer platform engineer\nase@example.test Oslo, Norge\nProjects\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\nSkills\nC# · React · Norsk · Accessibility\nProfessional Experience\nE01 Platform engineer\nNordlys Fixture AS\nB01 Delivered accessible application workflows with documented outcomes.\nB02 Maintained reliable APIs and verified releases.\nProfessional Summary\nR01 Builds reliable and accessible career software using documented evidence.\nEducation\nE02 Computer science\nFixture University\nLanguages\nNorsk — Native", + "glyphBoundsPt": [ + 45.35156061035156, + 47.08593547808607, + 412.1041846030788, + 552.5121009465745 + ] + } + ] + }, + { + "fixture": "long-sidebar-nb", + "pass": true, + "failures": [], + "previewPages": 5, + "pdfPages": 5, + "fontNames": [ + "AAAAAA+Arial-BoldMT", + "BAAAAA+ArialMT", + "CAAAAA+Consolas-Bold" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.2623550758939605, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 3.49987250353302e-06, + "deltaYmm": 0.3343444905847756, + "fontDeltaPt": 4.3749992073571775e-07, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.27475597545992514, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.12179234681410282, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.2334120404772845, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 3.49987250353302e-06, + "deltaYmm": 0.2929966750466093, + "fontDeltaPt": 4.374999775791366e-07, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B04", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.23340815992171868, + "fontDeltaPt": 0.0050255456249956865, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B05", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.08044453127589639, + "fontDeltaPt": 0.005025545624981476, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B06", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.01835889394947985, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "E03", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 3.49987250353302e-06, + "deltaYmm": 0.3425268508277685, + "fontDeltaPt": 4.3749992073571775e-07, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B07", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.018355013393893987, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B08", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.1299747070570957, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B09", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.2415944007203175, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "E04", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 3.49987250353302e-06, + "deltaYmm": 0.3011790352895821, + "fontDeltaPt": 4.3750000600084604e-07, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B10", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.14643355367180483, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B11", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.25805324733492635, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B12", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.10508961868910406, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "E05", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 3.49987250353302e-06, + "deltaYmm": 0.429257575567493, + "fontDeltaPt": 4.3750003442255547e-07, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B13", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.10508573813359841, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B14", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.21670543179680013, + "fontDeltaPt": 0.0050255456249956865, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B15", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.06374180315097785, + "fontDeltaPt": 0.0050255456249956865, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "E06", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 3.49987250353302e-06, + "deltaYmm": 0.40437386523766095, + "fontDeltaPt": 4.3749992073571775e-07, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B16", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.08020202780378645, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B17", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.19182172146690796, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B18", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.038858092821085675, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "E02", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 3.49987250353302e-06, + "deltaYmm": 0.3010139230503117, + "fontDeltaPt": 4.374999775791366e-07, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "E08", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 3.49987250353302e-06, + "deltaYmm": 0.3671591500468748, + "fontDeltaPt": 4.374999775791366e-07, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "P01", + "previewPage": 5, + "pdfPage": 5, + "deltaXmm": 3.49987250353302e-06, + "deltaYmm": 0.5117790544736865, + "fontDeltaPt": 4.3749992073571775e-07, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B03", + "previewPage": 5, + "pdfPage": 5, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.25375330393217876, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "Åse Profil\nFixture R01 Builds reliable and accessible career software using documented\nevidence.\nPlattformutvikler med\nerfaring fra\nArbeidserfaring\ntilgjengelige, pålitelige\narbeidsflyter E01 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 1\nase@example.test B01 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\nOslo, Norge\narbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nFerdigheter\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nSamarbeid Norsk\nnorske arbeidssøkere.\nTilgje\nB02 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon,\nngelig\ndokumentert kildegrunnlag og tydelige vurderinger for norske\nhet\narbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nSpråk\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nNorsk — Native\nnorske arbeidssøkere.\nB03 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere.\nE02 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 2\nB04 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere.\nB05 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig", + "glyphBoundsPt": [ + 45.35156061035156, + 46.45019332457525, + 543.7773705024852, + 778.2620915403244 + ] + }, + { + "page": 2, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere.\nB06 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere.\nE03 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 3\nB07 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere.\nB08 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere.\nB09 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere.\nE04 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 4", + "glyphBoundsPt": [ + 238.10155257910156, + 46.517122179699186, + 541.6400492415406, + 788.0120911340741 + ] + }, + { + "page": 3, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "B10 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere.\nB11 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere.\nB12 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere.\nE05 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 5\nB13 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere.\nB14 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere.\nB15 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for", + "glyphBoundsPt": [ + 238.10155257910156, + 46.51712217969941, + 541.6400492415406, + 790.2620910403243 + ] + }, + { + "page": 4, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere.\nE06 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 6\nB16 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere.\nB17 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere.\nB18 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidssøkere.\nUtdanning\nE02 Computer science\nFixture University\nE08 Videreutdanning i universell utforming og\ninformasjonsarkitektur\nFixture Academy", + "glyphBoundsPt": [ + 238.10155257910156, + 46.51712217969941, + 541.6400492415406, + 737.7620932278246 + ] + }, + { + "page": 5, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "Prosjekter\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.", + "glyphBoundsPt": [ + 238.10155257910156, + 47.54296673904253, + 458.26688706372056, + 94.26212004032413 + ] + } + ] + }, + { + "fixture": "unbreakable-and-boundary", + "pass": true, + "failures": [], + "previewPages": 4, + "pdfPages": 4, + "fontNames": [ + "AAAAAA+SegoeUI-Bold", + "BAAAAA+SegoeUI", + "CAAAAA+Consolas-Bold" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3408694274723905, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.4617630733497646, + "fontDeltaPt": 0.005025658124935717, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.2623199936181995, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3491355399723557, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.4359510863265321, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.3542717506067425, + "fontDeltaPt": 0.00502565812499256, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B04", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.4194119931841813, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B05", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.2416442172293136, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B06", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3284597635834698, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E03", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.3293904325511838, + "fontDeltaPt": 0.005025658124935717, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B07", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3945306751286426, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B08", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.216762899173775, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B09", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3035784455279311, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E04", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.2218991098081617, + "fontDeltaPt": 0.00502565812499256, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B10", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.2870393523856005, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B11", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3738548987397168, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B12", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.460670445093913, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E05", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.3789911093741036, + "fontDeltaPt": 0.00502565812499256, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B13", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.4441313519515624, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B14", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.2663635759967347, + "fontDeltaPt": 0.0024756165624957305, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B15", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.328301993531498, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E06", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.2466226578117086, + "fontDeltaPt": 0.005025658125049404, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B16", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3117629003891271, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B17", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3985784467433235, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B18", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.2208106707884159, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E02", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.300361395919303, + "fontDeltaPt": 0.00502565812499256, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E08", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.4409206743915568, + "fontDeltaPt": 0.00502565812499256, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "P01", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.2135433690963993, + "fontDeltaPt": 0.00502565812499256, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B03", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.2621474179238674, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "S09", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 1.0445529540782495e-06, + "deltaYmm": 0.6517525032163634, + "fontDeltaPt": 0.0024749615624948262, + "colorDelta": 3.725490196078429e-05 + }, + { + "token": "R09", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.2331328341564494, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "R10", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.245533325823131, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "Åse Fixture\nPlatform engineer with experience in accessible and reliable application workflows\nase@example.test Oslo, Norge\n01 — PROFESSIONAL SUMMARY\nR01 Builds reliable and accessible career software using documented evidence.\n02 — PROFESSIONAL EXPERIENCE\nE01 Workflow and integration engineer\nNordlys Fixture 1\nB01 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers.\nB02 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers.\nB03 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers. Developed\nreliable workflows with accessible navigation, documented source evidence and explicit review for people managing\ntheir careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible\nnavigation, documented source evidence and explicit review for people managing their careers.\nE02 Workflow and integration engineer\nNordlys Fixture 2\nB04 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers.\nB05 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers.\nB06 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers. Developed\nreliable workflows with accessible navigation, documented source evidence and explicit review for people managing\ntheir careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible\nnavigation, documented source evidence and explicit review for people managing their careers.", + "glyphBoundsPt": [ + 43.19531070019531, + 48.39990026333737, + 549.0611897192267, + 782.3585195678572 + ] + }, + { + "page": 2, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "E03 Workflow and integration engineer\nNordlys Fixture 3\nB07 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers.\nB08 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers.\nB09 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers. Developed\nreliable workflows with accessible navigation, documented source evidence and explicit review for people managing\ntheir careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible\nnavigation, documented source evidence and explicit review for people managing their careers.\nE04 Workflow and integration engineer\nNordlys Fixture 4\nB10 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers.\nB11 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers.\nB12 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers. Developed\nreliable workflows with accessible navigation, documented source evidence and explicit review for people managing\ntheir careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible\nnavigation, documented source evidence and explicit review for people managing their careers.\nE05 Workflow and integration engineer\nNordlys Fixture 5\nB13 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers.\nB14 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers.", + "glyphBoundsPt": [ + 43.19531070019531, + 46.9638995529009, + 549.0611897192267, + 779.3585196928572 + ] + }, + { + "page": 3, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "B15 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers. Developed\nreliable workflows with accessible navigation, documented source evidence and explicit review for people managing\ntheir careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible\nnavigation, documented source evidence and explicit review for people managing their careers.\nE06 Workflow and integration engineer\nNordlys Fixture 6\nB16 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers.\nB17 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers.\nB18 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers. Developed\nreliable workflows with accessible navigation, documented source evidence and explicit review for people managing\ntheir careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible\nnavigation, documented source evidence and explicit review for people managing their careers.\n03 — EDUCATION\nE02 Computer science\nFixture University\nE08 Videreutdanning i universell utforming og informasjonsarkitektur\nFixture Academy\n04 — PROJECTS\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\n05 — SKILLS\nC#\nReact\nNorsk\nAccessibility", + "glyphBoundsPt": [ + 43.19531070019531, + 46.9610504344198, + 549.0611897192267, + 758.3585205678573 + ] + }, + { + "page": 4, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "06 — LANGUAGES\nNorsk — Native\n07 — S09 BOUNDARY CONTENT\nR09\nUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvi\ndenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreak\nableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceU\nnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvid\nenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreaka\nbleEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUn\nbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvide\nnce\nR10 Final recorded paragraph — æøå.", + "glyphBoundsPt": [ + 43.19531070019531, + 45.69976097835922, + 552.0684606989041, + 263.35854119285716 + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/docs/redesign/phase-5/p5-09/evidence/light-en-desktop-content.png b/docs/redesign/phase-5/p5-09/evidence/light-en-desktop-content.png new file mode 100644 index 0000000..26afeb7 Binary files /dev/null and b/docs/redesign/phase-5/p5-09/evidence/light-en-desktop-content.png differ diff --git a/docs/redesign/phase-5/p5-09/evidence/light-en-edit-390.png b/docs/redesign/phase-5/p5-09/evidence/light-en-edit-390.png new file mode 100644 index 0000000..ced47e8 Binary files /dev/null and b/docs/redesign/phase-5/p5-09/evidence/light-en-edit-390.png differ diff --git a/docs/redesign/phase-5/p5-09/evidence/light-en-edit-768.png b/docs/redesign/phase-5/p5-09/evidence/light-en-edit-768.png new file mode 100644 index 0000000..c651c50 Binary files /dev/null and b/docs/redesign/phase-5/p5-09/evidence/light-en-edit-768.png differ diff --git a/docs/redesign/phase-5/p5-09/evidence/light-en-history.png b/docs/redesign/phase-5/p5-09/evidence/light-en-history.png new file mode 100644 index 0000000..60eddc6 Binary files /dev/null and b/docs/redesign/phase-5/p5-09/evidence/light-en-history.png differ diff --git a/docs/redesign/phase-5/p5-09/evidence/light-en-native-conflict.png b/docs/redesign/phase-5/p5-09/evidence/light-en-native-conflict.png new file mode 100644 index 0000000..b28bd6f Binary files /dev/null and b/docs/redesign/phase-5/p5-09/evidence/light-en-native-conflict.png differ diff --git a/docs/redesign/phase-5/p5-09/evidence/light-en-omitted-section-focus.png b/docs/redesign/phase-5/p5-09/evidence/light-en-omitted-section-focus.png new file mode 100644 index 0000000..f95c881 Binary files /dev/null and b/docs/redesign/phase-5/p5-09/evidence/light-en-omitted-section-focus.png differ diff --git a/docs/redesign/phase-5/p5-09/evidence/light-en-pending-1024.png b/docs/redesign/phase-5/p5-09/evidence/light-en-pending-1024.png new file mode 100644 index 0000000..0a69919 Binary files /dev/null and b/docs/redesign/phase-5/p5-09/evidence/light-en-pending-1024.png differ diff --git a/docs/redesign/phase-5/p5-09/evidence/light-en-pending-save.png b/docs/redesign/phase-5/p5-09/evidence/light-en-pending-save.png new file mode 100644 index 0000000..46a4a83 Binary files /dev/null and b/docs/redesign/phase-5/p5-09/evidence/light-en-pending-save.png differ diff --git a/docs/redesign/phase-5/p5-09/evidence/light-en-preview-390.png b/docs/redesign/phase-5/p5-09/evidence/light-en-preview-390.png new file mode 100644 index 0000000..27e55d5 Binary files /dev/null and b/docs/redesign/phase-5/p5-09/evidence/light-en-preview-390.png differ diff --git a/docs/redesign/phase-5/p5-09/evidence/light-en-unsaved.png b/docs/redesign/phase-5/p5-09/evidence/light-en-unsaved.png new file mode 100644 index 0000000..f4e9120 Binary files /dev/null and b/docs/redesign/phase-5/p5-09/evidence/light-en-unsaved.png differ diff --git a/docs/redesign/phase-5/p5-09/evidence/light-nb-desktop-content.png b/docs/redesign/phase-5/p5-09/evidence/light-nb-desktop-content.png new file mode 100644 index 0000000..4754050 Binary files /dev/null and b/docs/redesign/phase-5/p5-09/evidence/light-nb-desktop-content.png differ diff --git a/docs/redesign/phase-5/p5-09/evidence/light-nb-edit-390.png b/docs/redesign/phase-5/p5-09/evidence/light-nb-edit-390.png new file mode 100644 index 0000000..09af496 Binary files /dev/null and b/docs/redesign/phase-5/p5-09/evidence/light-nb-edit-390.png differ diff --git a/docs/redesign/phase-5/p5-09/evidence/light-nb-history.png b/docs/redesign/phase-5/p5-09/evidence/light-nb-history.png new file mode 100644 index 0000000..5abbf7d Binary files /dev/null and b/docs/redesign/phase-5/p5-09/evidence/light-nb-history.png differ diff --git a/docs/redesign/phase-5/p5-09/evidence/light-nb-preview-390.png b/docs/redesign/phase-5/p5-09/evidence/light-nb-preview-390.png new file mode 100644 index 0000000..fe8540a Binary files /dev/null and b/docs/redesign/phase-5/p5-09/evidence/light-nb-preview-390.png differ diff --git a/docs/redesign/phase-5/p5-09/evidence/long-en-minimal-comparison-4.png b/docs/redesign/phase-5/p5-09/evidence/long-en-minimal-comparison-4.png new file mode 100644 index 0000000..a7535ad Binary files /dev/null and b/docs/redesign/phase-5/p5-09/evidence/long-en-minimal-comparison-4.png differ diff --git a/docs/redesign/phase-5/p5-09/evidence/measurements.json b/docs/redesign/phase-5/p5-09/evidence/measurements.json new file mode 100644 index 0000000..0b17fa1 --- /dev/null +++ b/docs/redesign/phase-5/p5-09/evidence/measurements.json @@ -0,0 +1,8540 @@ +{ + "browserVersion": "151.0.7922.34", + "fixtures": [ + { + "fixture": "default-modern", + "settings": { + "themeId": "modern", + "accentColor": null, + "headingFont": null, + "bodyFont": null, + "density": null, + "pageSize": null, + "dateFormat": null, + "language": "en", + "headline": null, + "textColor": null, + "mutedColor": null, + "headingColor": null, + "backgroundColor": null, + "baseFontSizePt": null, + "headingSizePt": null, + "lineHeight": null, + "pageMarginMm": null, + "sectionGapMm": null, + "entryGapMm": null, + "headingStyle": null, + "headerStyle": null, + "skillsStyle": null, + "skillGroups": null, + "layout": null, + "sidebarWidthMm": null, + "sidebarSections": null, + "showPhoto": false, + "showPageNumbers": false, + "showIcons": true, + "sections": [ + { + "key": "summary", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "experience", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "education", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "projects", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "skills", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "languages", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "interests", + "hidden": true, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + } + ], + "overrides": {}, + "customSections": [] + }, + "previewPages": 1, + "measured": { + "width": 793.6875, + "contentHeight": 1122.52, + "usableHeight": 1002, + "layoutDurationMs": 34.20000000298023, + "text": "Åse Fixture\nCareer platform engineer\nase@example.test\nOslo, Norge\nPROFESSIONAL SUMMARY\nR01 Builds reliable and accessible career software using documented evidence.\nPROFESSIONAL EXPERIENCE\nE01 Platform engineer\nNordlys Fixture AS\nB01 Delivered accessible application workflows with documented outcomes.\nB02 Maintained reliable APIs and verified releases.\nEDUCATION\nE02 Computer science\nFixture University\nPROJECTS\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\nSKILLS\nC#\nReact\nNorsk\nAccessibility\nLANGUAGES\nNorsk — Native", + "tokens": [ + { + "token": "R01", + "x": 77.46875, + "y": 206.671875, + "rawX": 77.46875, + "rawY": 206.671875, + "page": 1, + "width": 22.359375, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "E01", + "x": 60.46875, + "y": 283.65625, + "rawX": 60.46875, + "rawY": 283.65625, + "page": 1, + "width": 24.671875, + "height": 20, + "fontSize": "14.6667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B01", + "x": 77.46875, + "y": 329.4375, + "rawX": 77.46875, + "rawY": 329.4375, + "page": 1, + "width": 22.015625, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B02", + "x": 77.46875, + "y": 354.40625, + "rawX": 77.46875, + "rawY": 354.40625, + "page": 1, + "width": 22.015625, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "E02", + "x": 60.46875, + "y": 431.390625, + "rawX": 60.46875, + "rawY": 431.390625, + "page": 1, + "width": 24.671875, + "height": 20, + "fontSize": "14.6667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "P01", + "x": 60.46875, + "y": 530.703125, + "rawX": 60.46875, + "rawY": 530.703125, + "page": 1, + "width": 25.875, + "height": 20, + "fontSize": "14.6667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B03", + "x": 77.46875, + "y": 551.53125, + "rawX": 77.46875, + "rawY": 551.53125, + "page": 1, + "width": 22.015625, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + } + ], + "body": { + "x": 0, + "y": 0, + "width": 794, + "height": 1062.46875, + "font": "\"Segoe UI\", Roboto, Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(17, 24, 39)", + "background": "rgba(0, 0, 0, 0)", + "padding": "60.4724px 0px 0px", + "margin": "0px" + }, + "page": { + "x": 0, + "y": 60.46875, + "width": 793.6875, + "height": 676.640625, + "font": "\"Segoe UI\", Roboto, Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(17, 24, 39)", + "background": "rgb(255, 255, 255)", + "padding": "0px", + "margin": "0px" + }, + "header": { + "x": 0, + "y": 60.46875, + "width": 793.6875, + "height": 110.8125, + "font": "\"Segoe UI\", Roboto, Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(255, 255, 255)", + "background": "rgb(37, 99, 235)", + "padding": "0px 60.4724px 22.6772px", + "margin": "0px" + }, + "main": { + "x": 0, + "y": 171.28125, + "width": 793.6875, + "height": 565.828125, + "font": "\"Segoe UI\", Roboto, Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(17, 24, 39)", + "background": "rgba(0, 0, 0, 0)", + "padding": "0px 60.4724px", + "margin": "0px" + }, + "sidebar": null, + "parsedRules": [ + "* { box-sizing: border-box; }", + ":root { --cv-accent-color: #2563eb; --cv-accent-ink: #fff; --cv-accent-soft: color-mix(in srgb,#2563eb 28%,transparent); --cv-ink: #111827; --cv-muted: #4b5563; --cv-paper: #ffffff; --cv-page-margin: 16mm; }", + "html, body { min-width: 0px; }", + "body { margin: 0px; background: rgb(233, 237, 242); color: var(--cv-ink); font-family: \"Segoe UI\", Roboto, Arial, sans-serif; font-size: 10pt; line-height: 1.42; print-color-adjust: exact; }", + ".page { width: 210mm; min-height: 297mm; margin: 0px auto; background: var(--cv-paper); overflow: visible; overflow-wrap: anywhere; word-break: normal; }", + "h1, h2 { font-family: \"Segoe UI\", Roboto, Arial, sans-serif; }", + ".name { margin: 0px; font-size: 24pt; color: rgb(17, 24, 39); line-height: 1.1; overflow-wrap: anywhere; }", + ".kicker { text-transform: uppercase; letter-spacing: 0.3em; font-size: 7.5pt; color: rgb(37, 99, 235); margin-bottom: 1.5mm; }", + ".headline { margin-top: 1.5mm; color: rgb(75, 85, 99); font-size: 10.5pt; }", + ".head-text, .main, .sidebar, .cols > * { min-width: 0px; }", + ".head-text { flex: 1 1 0%; }", + ".photo { width: 30mm; height: 30mm; overflow: hidden; flex: 0 0 auto; border: 1px solid var(--cv-accent-soft); }", + ".photo-square { border-radius: 2mm; }", + ".photo-rounded { border-radius: 5mm; }", + ".photo-circle { border-radius: 50%; }", + ".photo img { width: 100%; height: 100%; object-fit: cover; display: block; }", + ".contact { display: flex; gap: 3mm; flex-wrap: wrap; color: rgb(75, 85, 99); font-size: 9.5pt; margin-top: 2.5mm; }", + ".contact-stacked { flex-direction: column; gap: 1.8mm; }", + ".contact-item { display: inline-flex; align-items: center; gap: 1.2mm; min-width: 0px; max-width: 100%; overflow-wrap: anywhere; }", + ".contact a { color: inherit; text-decoration: none; min-width: 0px; overflow-wrap: anywhere; word-break: break-word; }", + ".main a { color: var(--cv-accent-color); text-decoration-color: var(--cv-accent-soft); }", + ".contact svg { width: 3.2mm; height: 3.2mm; flex: 0 0 auto; opacity: 0.85; }", + ".hero { margin-bottom: 6mm; }", + ".hero .name { font-size: 21pt; }", + ".section { margin-top: 6mm; }", + ".section:first-child { margin-top: 0px; }", + ".section-title { margin: 0px 0px 2.6mm; font-size: 12pt; font-weight: 700; color: rgb(37, 99, 235); }", + ".section-title { text-transform: uppercase; letter-spacing: 0.14em; font-size: 10.2pt; color: var(--cv-accent-color); border-bottom: 1px solid var(--cv-accent-soft); padding-bottom: 1.4mm; }", + ".section-presentation-grid { display: grid; grid-template-columns: repeat(var(--cv-section-columns,1),minmax(0,1fr)); column-gap: 4mm; align-items: start; }", + ".section-presentation-grid > .section-title { grid-column: 1 / -1; }", + ".section-presentation-grid > .entry { min-width: 0px; }", + ".section-presentation-compact > .entry { margin-bottom: 2.48mm; }", + ".section-presentation-compact > .bullets li { margin-bottom: 0.75mm; }", + ".section-presentation-bubble > .tags, .section-presentation-bubble > .bullets { list-style: none; padding: 0px; display: flex; flex-wrap: wrap; gap: 1.4mm; }", + ".section-presentation-bubble > .bullets li, .section-presentation-bubble > .tags li { margin: 0px; border: 1px solid var(--cv-accent-soft); border-radius: 999px; padding: 0.7mm 2.2mm; }", + ".section-presentation-bubble > .bullets li::marker { content: \"\"; }", + ".bullets { margin: 0px; padding-left: 4.5mm; }", + ".bullets li { margin: 0px 0px 1.6mm; }", + ".bullets li::marker { color: var(--cv-accent-color); }", + ".tags { list-style: none; margin: 0px; padding: 0px; display: flex; flex-wrap: wrap; gap: 1.8mm; }", + ".skills-text { margin: 0px; overflow-wrap: anywhere; }", + ".tag { border: 1px solid var(--cv-accent-soft); border-radius: 999px; padding: 0.7mm 2.2mm; font-size: 9.5pt; max-width: 100%; overflow-wrap: anywhere; }", + ".paragraphs p { margin: 0px 0px 1.8mm; white-space: pre-line; }", + ".skill-groups { display: grid; gap: 1.7mm; }", + ".skill-group { display: grid; grid-template-columns: minmax(24mm, 0.3fr) minmax(0px, 1fr); gap: 3mm; break-inside: avoid; }", + ".skill-group-name { font-family: \"Roboto Mono\", Consolas, monospace; font-weight: 700; color: var(--cv-accent-color); overflow-wrap: anywhere; }", + ".skill-group-items { display: flex; flex-wrap: wrap; gap: 0.8mm 3mm; list-style: none; margin: 0px; padding: 0px; }", + ".skill-group-items li { overflow-wrap: anywhere; }", + ".entry { margin-bottom: 4.5mm; }", + ".entry:last-child { margin-bottom: 0px; }", + ".entry-head { display: flex; justify-content: space-between; gap: 1.5mm 4mm; align-items: baseline; flex-wrap: wrap; break-after: avoid; }", + ".entry-title { font-weight: 700; font-size: 11pt; min-width: 0px; flex: 1 1 50mm; overflow-wrap: anywhere; }", + ".entry-meta { color: rgb(75, 85, 99); font-size: 9.5pt; white-space: normal; text-align: right; max-width: 100%; overflow-wrap: anywhere; }", + ".entry-subtitle { color: rgb(75, 85, 99); font-size: 10pt; margin: 0.4mm 0px 1.2mm; }", + ".entry-tags { margin-top: 1.4mm; }", + ".main { padding: 0px 16mm 16mm; }", + ".header { padding: 16mm 16mm 6mm; display: flex; gap: 6mm; align-items: center; }", + ".header-band { background: rgb(37, 99, 235); color: rgb(255, 255, 255); }", + ".header-band .name, .header-band .headline, .header-band .contact, .header-band .contact-item, .header-band a { color: rgb(255, 255, 255); }", + ".header-centered { flex-direction: column; text-align: center; justify-content: center; }", + ".header-centered .contact { justify-content: center; }", + ".header-plain { border-bottom: 2px solid rgb(37, 99, 235); }", + ".entry { break-inside: avoid; }", + ".entry-flow { break-inside: auto; }", + ".section-title { break-after: avoid; }", + ".section-title + .entry, .section-title + .bullets, .section-title + .tags, .section-title + .paragraphs, .section-title + .skill-groups { break-before: avoid; }", + ".section { break-inside: avoid; }", + ".section-flow { break-inside: auto; }", + ".tag, .contact-item { break-inside: avoid; }", + ".bullets li { break-inside: avoid; orphans: 2; widows: 2; overflow-wrap: anywhere; }", + ".bullets li.item-flow { break-inside: auto; }", + "@media print {\n body { background: transparent; }\n .page { width: auto; min-height: 0px; margin: 0px; }\n .cols { min-height: 0px; }\n .header { padding-top: 0px; }\n .main, .sidebar { padding-top: 0px; padding-bottom: 0px; }\n}", + "@page { size: 210mm 297mm; margin: 16mm 0px; }", + "body { background: transparent; }", + ".page { width: auto; min-height: 0px; margin: 0px; }", + ".cols { min-height: 0px; }", + ".header { padding-top: 0px; }", + ".main, .sidebar { padding-top: 0px; padding-bottom: 0px; }", + "html, body { overflow: hidden !important; background: transparent !important; }", + "body { padding-top: 60.4724px; }", + "[data-cv-preview-flow] { width: 793.688px; height: 1002px; column-width: 793.688px; column-gap: 0px; column-fill: auto; transform-origin: left top; }" + ], + "sections": [ + { + "key": "section section-summary section-presentation-rows", + "title": "Professional Summary", + "fragments": [ + { + "x": 60.46875, + "y": 171.28125, + "width": 672.75, + "height": 54.3125 + } + ] + }, + { + "key": "section section-experience section-presentation-rows", + "title": "Professional Experience", + "fragments": [ + { + "x": 60.46875, + "y": 248.265625, + "width": 672.75, + "height": 125.0625 + } + ] + }, + { + "key": "section section-education section-presentation-rows", + "title": "Education", + "fragments": [ + { + "x": 60.46875, + "y": 396, + "width": 672.75, + "height": 76.640625 + } + ] + }, + { + "key": "section section-projects section-presentation-rows", + "title": "Projects", + "fragments": [ + { + "x": 60.46875, + "y": 495.3125, + "width": 672.75, + "height": 75.140625 + } + ] + }, + { + "key": "section section-skills section-presentation-rows", + "title": "Skills", + "fragments": [ + { + "x": 60.46875, + "y": 593.125, + "width": 672.75, + "height": 60.65625 + } + ] + }, + { + "key": "section section-languages section-presentation-rows", + "title": "Languages", + "fragments": [ + { + "x": 60.46875, + "y": 676.453125, + "width": 672.75, + "height": 60.65625 + } + ] + } + ], + "effectiveMargin": "16mm", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.34 Safari/537.36" + } + }, + { + "fixture": "default-minimal", + "settings": { + "themeId": "minimal", + "accentColor": null, + "headingFont": null, + "bodyFont": null, + "density": null, + "pageSize": null, + "dateFormat": null, + "language": "en", + "headline": null, + "textColor": null, + "mutedColor": null, + "headingColor": null, + "backgroundColor": null, + "baseFontSizePt": null, + "headingSizePt": null, + "lineHeight": null, + "pageMarginMm": null, + "sectionGapMm": null, + "entryGapMm": null, + "headingStyle": null, + "headerStyle": null, + "skillsStyle": null, + "skillGroups": null, + "layout": null, + "sidebarWidthMm": null, + "sidebarSections": null, + "showPhoto": false, + "showPageNumbers": false, + "showIcons": true, + "sections": [ + { + "key": "summary", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "experience", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "education", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "projects", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "skills", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "languages", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "interests", + "hidden": true, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + } + ], + "overrides": {}, + "customSections": [] + }, + "previewPages": 1, + "measured": { + "width": 793.6875, + "contentHeight": 1122.52, + "usableHeight": 1002, + "layoutDurationMs": 71, + "text": "Åse Fixture\nCareer platform engineer\nase@example.test\nOslo, Norge\nProfessional Summary\nR01 Builds reliable and accessible career software using documented evidence.\nProfessional Experience\nE01 Platform engineer\nNordlys Fixture AS\nB01 Delivered accessible application workflows with documented outcomes.\nB02 Maintained reliable APIs and verified releases.\nEducation\nE02 Computer science\nFixture University\nProjects\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\nSkills\n\nC# · React · Norsk · Accessibility\n\nLanguages\nNorsk — Native", + "tokens": [ + { + "token": "R01", + "x": 77.46875, + "y": 210.59375, + "rawX": 77.46875, + "rawY": 210.59375, + "page": 1, + "width": 24.46875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "E01", + "x": 60.46875, + "y": 289.5, + "rawX": 60.46875, + "rawY": 289.5, + "page": 1, + "width": 26.09375, + "height": 16, + "fontSize": "14.6667px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B01", + "x": 77.46875, + "y": 334.28125, + "rawX": 77.46875, + "rawY": 334.28125, + "page": 1, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B02", + "x": 77.46875, + "y": 359.25, + "rawX": 77.46875, + "rawY": 359.25, + "page": 1, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "E02", + "x": 60.46875, + "y": 438.15625, + "rawX": 60.46875, + "rawY": 438.15625, + "page": 1, + "width": 26.09375, + "height": 16, + "fontSize": "14.6667px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "P01", + "x": 60.46875, + "y": 538.390625, + "rawX": 60.46875, + "rawY": 538.390625, + "page": 1, + "width": 26.09375, + "height": 16, + "fontSize": "14.6667px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B03", + "x": 77.46875, + "y": 558.21875, + "rawX": 77.46875, + "rawY": 558.21875, + "page": 1, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + } + ], + "body": { + "x": 0, + "y": 0, + "width": 794, + "height": 1062.46875, + "font": "\"Helvetica Neue\", Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(17, 24, 39)", + "background": "rgba(0, 0, 0, 0)", + "padding": "60.4724px 0px 0px", + "margin": "0px" + }, + "page": { + "x": 0, + "y": 60.46875, + "width": 793.6875, + "height": 677.828125, + "font": "\"Helvetica Neue\", Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(17, 24, 39)", + "background": "rgb(255, 255, 255)", + "padding": "0px", + "margin": "0px" + }, + "header": { + "x": 0, + "y": 60.46875, + "width": 793.6875, + "height": 116.59375, + "font": "\"Helvetica Neue\", Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(17, 24, 39)", + "background": "rgba(0, 0, 0, 0)", + "padding": "0px 60.4724px 26.4567px", + "margin": "0px" + }, + "main": { + "x": 0, + "y": 177.0625, + "width": 793.6875, + "height": 561.234375, + "font": "\"Helvetica Neue\", Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(17, 24, 39)", + "background": "rgba(0, 0, 0, 0)", + "padding": "0px 60.4724px", + "margin": "0px" + }, + "sidebar": null, + "parsedRules": [ + "* { box-sizing: border-box; }", + ":root { --cv-accent-color: #111827; --cv-accent-ink: #fff; --cv-accent-soft: color-mix(in srgb,#111827 28%,transparent); --cv-ink: #111827; --cv-muted: #6b7280; --cv-paper: #ffffff; --cv-page-margin: 16mm; }", + "html, body { min-width: 0px; }", + "body { margin: 0px; background: rgb(233, 237, 242); color: var(--cv-ink); font-family: \"Helvetica Neue\", Arial, sans-serif; font-size: 10pt; line-height: 1.42; print-color-adjust: exact; }", + ".page { width: 210mm; min-height: 297mm; margin: 0px auto; background: var(--cv-paper); overflow: visible; overflow-wrap: anywhere; word-break: normal; }", + "h1, h2 { font-family: \"Helvetica Neue\", Arial, sans-serif; }", + ".name { margin: 0px; font-size: 24pt; color: rgb(17, 24, 39); line-height: 1.1; overflow-wrap: anywhere; }", + ".kicker { text-transform: uppercase; letter-spacing: 0.3em; font-size: 7.5pt; color: rgb(17, 24, 39); margin-bottom: 1.5mm; }", + ".headline { margin-top: 1.5mm; color: rgb(107, 114, 128); font-size: 10.5pt; }", + ".head-text, .main, .sidebar, .cols > * { min-width: 0px; }", + ".head-text { flex: 1 1 0%; }", + ".photo { width: 30mm; height: 30mm; overflow: hidden; flex: 0 0 auto; border: 1px solid var(--cv-accent-soft); }", + ".photo-square { border-radius: 2mm; }", + ".photo-rounded { border-radius: 5mm; }", + ".photo-circle { border-radius: 50%; }", + ".photo img { width: 100%; height: 100%; object-fit: cover; display: block; }", + ".contact { display: flex; gap: 3mm; flex-wrap: wrap; color: rgb(107, 114, 128); font-size: 9.5pt; margin-top: 2.5mm; }", + ".contact-stacked { flex-direction: column; gap: 1.8mm; }", + ".contact-item { display: inline-flex; align-items: center; gap: 1.2mm; min-width: 0px; max-width: 100%; overflow-wrap: anywhere; }", + ".contact a { color: inherit; text-decoration: none; min-width: 0px; overflow-wrap: anywhere; word-break: break-word; }", + ".main a { color: var(--cv-accent-color); text-decoration-color: var(--cv-accent-soft); }", + ".contact svg { width: 3.2mm; height: 3.2mm; flex: 0 0 auto; opacity: 0.85; }", + ".hero { margin-bottom: 7mm; }", + ".hero .name { font-size: 21pt; }", + ".section { margin-top: 7mm; }", + ".section:first-child { margin-top: 0px; }", + ".section-title { margin: 0px 0px 2.6mm; font-size: 12pt; font-weight: 700; color: rgb(17, 24, 39); }", + ".section-title { letter-spacing: 0.01em; }", + ".section-presentation-grid { display: grid; grid-template-columns: repeat(var(--cv-section-columns,1),minmax(0,1fr)); column-gap: 4mm; align-items: start; }", + ".section-presentation-grid > .section-title { grid-column: 1 / -1; }", + ".section-presentation-grid > .entry { min-width: 0px; }", + ".section-presentation-compact > .entry { margin-bottom: 2.75mm; }", + ".section-presentation-compact > .bullets li { margin-bottom: 0.75mm; }", + ".section-presentation-bubble > .tags, .section-presentation-bubble > .bullets { list-style: none; padding: 0px; display: flex; flex-wrap: wrap; gap: 1.4mm; }", + ".section-presentation-bubble > .bullets li, .section-presentation-bubble > .tags li { margin: 0px; border: 1px solid var(--cv-accent-soft); border-radius: 999px; padding: 0.7mm 2.2mm; }", + ".section-presentation-bubble > .bullets li::marker { content: \"\"; }", + ".bullets { margin: 0px; padding-left: 4.5mm; }", + ".bullets li { margin: 0px 0px 1.6mm; }", + ".bullets li::marker { color: var(--cv-accent-color); }", + ".tags { list-style: none; margin: 0px; padding: 0px; display: flex; flex-wrap: wrap; gap: 1.8mm; }", + ".skills-text { margin: 0px; overflow-wrap: anywhere; }", + ".tag { border: 1px solid var(--cv-accent-soft); border-radius: 999px; padding: 0.7mm 2.2mm; font-size: 9.5pt; max-width: 100%; overflow-wrap: anywhere; }", + ".paragraphs p { margin: 0px 0px 1.8mm; white-space: pre-line; }", + ".skill-groups { display: grid; gap: 1.7mm; }", + ".skill-group { display: grid; grid-template-columns: minmax(24mm, 0.3fr) minmax(0px, 1fr); gap: 3mm; break-inside: avoid; }", + ".skill-group-name { font-family: \"Roboto Mono\", Consolas, monospace; font-weight: 700; color: var(--cv-accent-color); overflow-wrap: anywhere; }", + ".skill-group-items { display: flex; flex-wrap: wrap; gap: 0.8mm 3mm; list-style: none; margin: 0px; padding: 0px; }", + ".skill-group-items li { overflow-wrap: anywhere; }", + ".entry { margin-bottom: 5mm; }", + ".entry:last-child { margin-bottom: 0px; }", + ".entry-head { display: flex; justify-content: space-between; gap: 1.5mm 4mm; align-items: baseline; flex-wrap: wrap; break-after: avoid; }", + ".entry-title { font-weight: 700; font-size: 11pt; min-width: 0px; flex: 1 1 50mm; overflow-wrap: anywhere; }", + ".entry-meta { color: rgb(107, 114, 128); font-size: 9.5pt; white-space: normal; text-align: right; max-width: 100%; overflow-wrap: anywhere; }", + ".entry-subtitle { color: rgb(107, 114, 128); font-size: 10pt; margin: 0.4mm 0px 1.2mm; }", + ".entry-tags { margin-top: 1.4mm; }", + ".main { padding: 0px 16mm 16mm; }", + ".header { padding: 16mm 16mm 7mm; display: flex; gap: 6mm; align-items: center; }", + ".header-band { background: rgb(17, 24, 39); color: rgb(255, 255, 255); }", + ".header-band .name, .header-band .headline, .header-band .contact, .header-band .contact-item, .header-band a { color: rgb(255, 255, 255); }", + ".header-centered { flex-direction: column; text-align: center; justify-content: center; }", + ".header-centered .contact { justify-content: center; }", + ".header-plain { border-bottom: 2px solid rgb(17, 24, 39); }", + ".entry { break-inside: avoid; }", + ".entry-flow { break-inside: auto; }", + ".section-title { break-after: avoid; }", + ".section-title + .entry, .section-title + .bullets, .section-title + .tags, .section-title + .paragraphs, .section-title + .skill-groups { break-before: avoid; }", + ".section { break-inside: avoid; }", + ".section-flow { break-inside: auto; }", + ".tag, .contact-item { break-inside: avoid; }", + ".bullets li { break-inside: avoid; orphans: 2; widows: 2; overflow-wrap: anywhere; }", + ".bullets li.item-flow { break-inside: auto; }", + "@media print {\n body { background: transparent; }\n .page { width: auto; min-height: 0px; margin: 0px; }\n .cols { min-height: 0px; }\n .header { padding-top: 0px; }\n .main, .sidebar { padding-top: 0px; padding-bottom: 0px; }\n}", + "@page { size: 210mm 297mm; margin: 16mm 0px; }", + "body { background: transparent; }", + ".page { width: auto; min-height: 0px; margin: 0px; }", + ".cols { min-height: 0px; }", + ".header { padding-top: 0px; }", + ".main, .sidebar { padding-top: 0px; padding-bottom: 0px; }", + "html, body { overflow: hidden !important; background: transparent !important; }", + "body { padding-top: 60.4724px; }", + "[data-cv-preview-flow] { width: 793.688px; height: 1002px; column-width: 793.688px; column-gap: 0px; column-fill: auto; transform-origin: left top; }" + ], + "sections": [ + { + "key": "section section-summary section-presentation-rows", + "title": "Professional Summary", + "fragments": [ + { + "x": 60.46875, + "y": 177.0625, + "width": 672.75, + "height": 51.453125 + } + ] + }, + { + "key": "section section-experience section-presentation-rows", + "title": "Professional Experience", + "fragments": [ + { + "x": 60.46875, + "y": 254.96875, + "width": 672.75, + "height": 122.203125 + } + ] + }, + { + "key": "section section-education section-presentation-rows", + "title": "Education", + "fragments": [ + { + "x": 60.46875, + "y": 403.625, + "width": 672.75, + "height": 73.78125 + } + ] + }, + { + "key": "section section-projects section-presentation-rows", + "title": "Projects", + "fragments": [ + { + "x": 60.46875, + "y": 503.859375, + "width": 672.75, + "height": 72.28125 + } + ] + }, + { + "key": "section section-skills section-presentation-rows", + "title": "Skills", + "fragments": [ + { + "x": 60.46875, + "y": 602.59375, + "width": 672.75, + "height": 51.453125 + } + ] + }, + { + "key": "section section-languages section-presentation-rows", + "title": "Languages", + "fragments": [ + { + "x": 60.46875, + "y": 680.5, + "width": 672.75, + "height": 57.796875 + } + ] + } + ], + "effectiveMargin": "16mm", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.34 Safari/537.36" + } + }, + { + "fixture": "default-executive", + "settings": { + "themeId": "executive", + "accentColor": null, + "headingFont": null, + "bodyFont": null, + "density": null, + "pageSize": null, + "dateFormat": null, + "language": "en", + "headline": null, + "textColor": null, + "mutedColor": null, + "headingColor": null, + "backgroundColor": null, + "baseFontSizePt": null, + "headingSizePt": null, + "lineHeight": null, + "pageMarginMm": null, + "sectionGapMm": null, + "entryGapMm": null, + "headingStyle": null, + "headerStyle": null, + "skillsStyle": null, + "skillGroups": null, + "layout": null, + "sidebarWidthMm": null, + "sidebarSections": null, + "showPhoto": false, + "showPageNumbers": false, + "showIcons": true, + "sections": [ + { + "key": "summary", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "experience", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "education", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "projects", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "skills", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "languages", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "interests", + "hidden": true, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + } + ], + "overrides": {}, + "customSections": [] + }, + "previewPages": 1, + "measured": { + "width": 793.6875, + "contentHeight": 1122.52, + "usableHeight": 1002, + "layoutDurationMs": 36.20000000298023, + "text": "Åse Fixture\nCareer platform engineer\nase@example.test\nOslo, Norge\nProfessional Summary\nR01 Builds reliable and accessible career software using documented evidence.\nProfessional Experience\nE01 Platform engineer\nNordlys Fixture AS\nB01 Delivered accessible application workflows with documented outcomes.\nB02 Maintained reliable APIs and verified releases.\nEducation\nE02 Computer science\nFixture University\nProjects\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\nSkills\n\nC# · React · Norsk · Accessibility\n\nLanguages\nNorsk — Native", + "tokens": [ + { + "token": "R01", + "x": 77.46875, + "y": 215.875, + "rawX": 77.46875, + "rawY": 215.875, + "page": 1, + "width": 23.265625, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "Georgia, \"Times New Roman\", serif", + "color": "rgb(28, 25, 23)" + }, + { + "token": "E01", + "x": 60.46875, + "y": 297.65625, + "rawX": 60.46875, + "rawY": 297.65625, + "page": 1, + "width": 28.046875, + "height": 16, + "fontSize": "14.6667px", + "fontFamily": "Georgia, \"Times New Roman\", serif", + "color": "rgb(28, 25, 23)" + }, + { + "token": "B01", + "x": 77.46875, + "y": 342.4375, + "rawX": 77.46875, + "rawY": 342.4375, + "page": 1, + "width": 22.625, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "Georgia, \"Times New Roman\", serif", + "color": "rgb(28, 25, 23)" + }, + { + "token": "B02", + "x": 77.46875, + "y": 367.40625, + "rawX": 77.46875, + "rawY": 367.40625, + "page": 1, + "width": 24.34375, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "Georgia, \"Times New Roman\", serif", + "color": "rgb(28, 25, 23)" + }, + { + "token": "E02", + "x": 60.46875, + "y": 449.1875, + "rawX": 60.46875, + "rawY": 449.1875, + "page": 1, + "width": 30.046875, + "height": 16, + "fontSize": "14.6667px", + "fontFamily": "Georgia, \"Times New Roman\", serif", + "color": "rgb(28, 25, 23)" + }, + { + "token": "P01", + "x": 60.46875, + "y": 552.296875, + "rawX": 60.46875, + "rawY": 552.296875, + "page": 1, + "width": 27.75, + "height": 16, + "fontSize": "14.6667px", + "fontFamily": "Georgia, \"Times New Roman\", serif", + "color": "rgb(28, 25, 23)" + }, + { + "token": "B03", + "x": 77.46875, + "y": 572.125, + "rawX": 77.46875, + "rawY": 572.125, + "page": 1, + "width": 24.265625, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "Georgia, \"Times New Roman\", serif", + "color": "rgb(28, 25, 23)" + } + ], + "body": { + "x": 0, + "y": 0, + "width": 794, + "height": 1062.46875, + "font": "Georgia, \"Times New Roman\", serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(28, 25, 23)", + "background": "rgba(0, 0, 0, 0)", + "padding": "60.4724px 0px 0px", + "margin": "0px" + }, + "page": { + "x": 0, + "y": 60.46875, + "width": 793.6875, + "height": 697.484375, + "font": "Georgia, \"Times New Roman\", serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(28, 25, 23)", + "background": "rgb(255, 255, 255)", + "padding": "0px", + "margin": "0px" + }, + "header": { + "x": 0, + "y": 60.46875, + "width": 793.6875, + "height": 115.21875, + "font": "Georgia, \"Times New Roman\", serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(28, 25, 23)", + "background": "rgba(0, 0, 0, 0)", + "padding": "0px 60.4724px 22.6772px", + "margin": "0px" + }, + "main": { + "x": 0, + "y": 175.6875, + "width": 793.6875, + "height": 582.265625, + "font": "Georgia, \"Times New Roman\", serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(28, 25, 23)", + "background": "rgba(0, 0, 0, 0)", + "padding": "0px 60.4724px", + "margin": "0px" + }, + "sidebar": null, + "parsedRules": [ + "* { box-sizing: border-box; }", + ":root { --cv-accent-color: #7c2d12; --cv-accent-ink: #fff; --cv-accent-soft: color-mix(in srgb,#7c2d12 28%,transparent); --cv-ink: #1c1917; --cv-muted: #57534e; --cv-paper: #ffffff; --cv-page-margin: 16mm; }", + "html, body { min-width: 0px; }", + "body { margin: 0px; background: rgb(233, 237, 242); color: var(--cv-ink); font-family: Georgia, \"Times New Roman\", serif; font-size: 10pt; line-height: 1.42; print-color-adjust: exact; }", + ".page { width: 210mm; min-height: 297mm; margin: 0px auto; background: var(--cv-paper); overflow: visible; overflow-wrap: anywhere; word-break: normal; }", + "h1, h2 { font-family: Georgia, \"Times New Roman\", serif; }", + ".name { margin: 0px; font-size: 27pt; color: rgb(28, 25, 23); line-height: 1.1; overflow-wrap: anywhere; }", + ".kicker { text-transform: uppercase; letter-spacing: 0.3em; font-size: 7.5pt; color: rgb(124, 45, 18); margin-bottom: 1.5mm; }", + ".headline { margin-top: 1.5mm; color: rgb(87, 83, 78); font-size: 10.5pt; }", + ".head-text, .main, .sidebar, .cols > * { min-width: 0px; }", + ".head-text { flex: 1 1 0%; }", + ".photo { width: 30mm; height: 30mm; overflow: hidden; flex: 0 0 auto; border: 1px solid var(--cv-accent-soft); }", + ".photo-square { border-radius: 2mm; }", + ".photo-rounded { border-radius: 5mm; }", + ".photo-circle { border-radius: 50%; }", + ".photo img { width: 100%; height: 100%; object-fit: cover; display: block; }", + ".contact { display: flex; gap: 3mm; flex-wrap: wrap; color: rgb(87, 83, 78); font-size: 9.5pt; margin-top: 2.5mm; }", + ".contact-stacked { flex-direction: column; gap: 1.8mm; }", + ".contact-item { display: inline-flex; align-items: center; gap: 1.2mm; min-width: 0px; max-width: 100%; overflow-wrap: anywhere; }", + ".contact a { color: inherit; text-decoration: none; min-width: 0px; overflow-wrap: anywhere; word-break: break-word; }", + ".main a { color: var(--cv-accent-color); text-decoration-color: var(--cv-accent-soft); }", + ".contact svg { width: 3.2mm; height: 3.2mm; flex: 0 0 auto; opacity: 0.85; }", + ".hero { margin-bottom: 6mm; }", + ".hero .name { font-size: 24pt; }", + ".section { margin-top: 6mm; }", + ".section:first-child { margin-top: 0px; }", + ".section-title { margin: 0px 0px 2.6mm; font-size: 12pt; font-weight: 700; color: rgb(124, 45, 18); }", + ".section-title { border-bottom: 1.5px solid var(--cv-accent-soft); padding-bottom: 1.5mm; }", + ".section-presentation-grid { display: grid; grid-template-columns: repeat(var(--cv-section-columns,1),minmax(0,1fr)); column-gap: 4mm; align-items: start; }", + ".section-presentation-grid > .section-title { grid-column: 1 / -1; }", + ".section-presentation-grid > .entry { min-width: 0px; }", + ".section-presentation-compact > .entry { margin-bottom: 2.48mm; }", + ".section-presentation-compact > .bullets li { margin-bottom: 0.75mm; }", + ".section-presentation-bubble > .tags, .section-presentation-bubble > .bullets { list-style: none; padding: 0px; display: flex; flex-wrap: wrap; gap: 1.4mm; }", + ".section-presentation-bubble > .bullets li, .section-presentation-bubble > .tags li { margin: 0px; border: 1px solid var(--cv-accent-soft); border-radius: 999px; padding: 0.7mm 2.2mm; }", + ".section-presentation-bubble > .bullets li::marker { content: \"\"; }", + ".bullets { margin: 0px; padding-left: 4.5mm; }", + ".bullets li { margin: 0px 0px 1.6mm; }", + ".bullets li::marker { color: var(--cv-accent-color); }", + ".tags { list-style: none; margin: 0px; padding: 0px; display: flex; flex-wrap: wrap; gap: 1.8mm; }", + ".skills-text { margin: 0px; overflow-wrap: anywhere; }", + ".tag { border: 1px solid var(--cv-accent-soft); border-radius: 999px; padding: 0.7mm 2.2mm; font-size: 9.5pt; max-width: 100%; overflow-wrap: anywhere; }", + ".paragraphs p { margin: 0px 0px 1.8mm; white-space: pre-line; }", + ".skill-groups { display: grid; gap: 1.7mm; }", + ".skill-group { display: grid; grid-template-columns: minmax(24mm, 0.3fr) minmax(0px, 1fr); gap: 3mm; break-inside: avoid; }", + ".skill-group-name { font-family: \"Roboto Mono\", Consolas, monospace; font-weight: 700; color: var(--cv-accent-color); overflow-wrap: anywhere; }", + ".skill-group-items { display: flex; flex-wrap: wrap; gap: 0.8mm 3mm; list-style: none; margin: 0px; padding: 0px; }", + ".skill-group-items li { overflow-wrap: anywhere; }", + ".entry { margin-bottom: 4.5mm; }", + ".entry:last-child { margin-bottom: 0px; }", + ".entry-head { display: flex; justify-content: space-between; gap: 1.5mm 4mm; align-items: baseline; flex-wrap: wrap; break-after: avoid; }", + ".entry-title { font-weight: 700; font-size: 11pt; min-width: 0px; flex: 1 1 50mm; overflow-wrap: anywhere; }", + ".entry-meta { color: rgb(87, 83, 78); font-size: 9.5pt; white-space: normal; text-align: right; max-width: 100%; overflow-wrap: anywhere; }", + ".entry-subtitle { color: rgb(87, 83, 78); font-size: 10pt; margin: 0.4mm 0px 1.2mm; }", + ".entry-tags { margin-top: 1.4mm; }", + ".main { padding: 0px 16mm 16mm; }", + ".header { padding: 16mm 16mm 6mm; display: flex; gap: 6mm; align-items: center; }", + ".header-band { background: rgb(124, 45, 18); color: rgb(255, 255, 255); }", + ".header-band .name, .header-band .headline, .header-band .contact, .header-band .contact-item, .header-band a { color: rgb(255, 255, 255); }", + ".header-centered { flex-direction: column; text-align: center; justify-content: center; }", + ".header-centered .contact { justify-content: center; }", + ".header-plain { border-bottom: 2px solid rgb(124, 45, 18); }", + ".entry { break-inside: avoid; }", + ".entry-flow { break-inside: auto; }", + ".section-title { break-after: avoid; }", + ".section-title + .entry, .section-title + .bullets, .section-title + .tags, .section-title + .paragraphs, .section-title + .skill-groups { break-before: avoid; }", + ".section { break-inside: avoid; }", + ".section-flow { break-inside: auto; }", + ".tag, .contact-item { break-inside: avoid; }", + ".bullets li { break-inside: avoid; orphans: 2; widows: 2; overflow-wrap: anywhere; }", + ".bullets li.item-flow { break-inside: auto; }", + "@media print {\n body { background: transparent; }\n .page { width: auto; min-height: 0px; margin: 0px; }\n .cols { min-height: 0px; }\n .header { padding-top: 0px; }\n .main, .sidebar { padding-top: 0px; padding-bottom: 0px; }\n}", + "@page { size: 210mm 297mm; margin: 16mm 0px; }", + "body { background: transparent; }", + ".page { width: auto; min-height: 0px; margin: 0px; }", + ".cols { min-height: 0px; }", + ".header { padding-top: 0px; }", + ".main, .sidebar { padding-top: 0px; padding-bottom: 0px; }", + "html, body { overflow: hidden !important; background: transparent !important; }", + "body { padding-top: 60.4724px; }", + "[data-cv-preview-flow] { width: 793.688px; height: 1002px; column-width: 793.688px; column-gap: 0px; column-fill: auto; transform-origin: left top; }" + ], + "sections": [ + { + "key": "section section-summary section-presentation-rows", + "title": "Professional Summary", + "fragments": [ + { + "x": 60.46875, + "y": 175.6875, + "width": 672.75, + "height": 58.109375 + } + ] + }, + { + "key": "section section-experience section-presentation-rows", + "title": "Professional Experience", + "fragments": [ + { + "x": 60.46875, + "y": 256.46875, + "width": 672.75, + "height": 128.859375 + } + ] + }, + { + "key": "section section-education section-presentation-rows", + "title": "Education", + "fragments": [ + { + "x": 60.46875, + "y": 408, + "width": 672.75, + "height": 80.4375 + } + ] + }, + { + "key": "section section-projects section-presentation-rows", + "title": "Projects", + "fragments": [ + { + "x": 60.46875, + "y": 511.109375, + "width": 672.75, + "height": 78.9375 + } + ] + }, + { + "key": "section section-skills section-presentation-rows", + "title": "Skills", + "fragments": [ + { + "x": 60.46875, + "y": 612.71875, + "width": 672.75, + "height": 58.109375 + } + ] + }, + { + "key": "section section-languages section-presentation-rows", + "title": "Languages", + "fragments": [ + { + "x": 60.46875, + "y": 693.5, + "width": 672.75, + "height": 64.453125 + } + ] + } + ], + "effectiveMargin": "16mm", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.34 Safari/537.36" + } + }, + { + "fixture": "default-technical", + "settings": { + "themeId": "technical", + "accentColor": null, + "headingFont": null, + "bodyFont": null, + "density": null, + "pageSize": null, + "dateFormat": null, + "language": "en", + "headline": null, + "textColor": null, + "mutedColor": null, + "headingColor": null, + "backgroundColor": null, + "baseFontSizePt": null, + "headingSizePt": null, + "lineHeight": null, + "pageMarginMm": null, + "sectionGapMm": null, + "entryGapMm": null, + "headingStyle": null, + "headerStyle": null, + "skillsStyle": null, + "skillGroups": null, + "layout": null, + "sidebarWidthMm": null, + "sidebarSections": null, + "showPhoto": false, + "showPageNumbers": false, + "showIcons": true, + "sections": [ + { + "key": "summary", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "experience", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "education", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "projects", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "skills", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "languages", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "interests", + "hidden": true, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + } + ], + "overrides": {}, + "customSections": [] + }, + "previewPages": 1, + "measured": { + "width": 793.6875, + "contentHeight": 1122.52, + "usableHeight": 1002, + "layoutDurationMs": 49.79999999701977, + "text": "Åse Fixture\nCareer platform engineer\nase@example.test\nOslo, Norge\nSkills\nC#\nReact\nNorsk\nAccessibility\nLanguages\nNorsk — Native\nProfessional Summary\nR01 Builds reliable and accessible career software using documented evidence.\nProfessional Experience\nE01 Platform engineer\nNordlys Fixture AS\nB01 Delivered accessible application workflows with documented outcomes.\nB02 Maintained reliable APIs and verified releases.\nEducation\nE02 Computer science\nFixture University\nProjects\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.", + "tokens": [ + { + "token": "R01", + "x": 311.796875, + "y": 93.03125, + "rawX": 311.796875, + "rawY": 93.03125, + "page": 1, + "width": 23.234375, + "height": 14, + "fontSize": "12.6667px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "E01", + "x": 294.796875, + "y": 181.703125, + "rawX": 294.796875, + "rawY": 181.703125, + "page": 1, + "width": 24.921875, + "height": 16, + "fontSize": "14px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "B01", + "x": 311.796875, + "y": 223.984375, + "rawX": 311.796875, + "rawY": 223.984375, + "page": 1, + "width": 22.53125, + "height": 14, + "fontSize": "12.6667px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "B02", + "x": 311.796875, + "y": 264.46875, + "rawX": 311.796875, + "rawY": 264.46875, + "page": 1, + "width": 22.53125, + "height": 14, + "fontSize": "12.6667px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "E02", + "x": 294.796875, + "y": 335.921875, + "rawX": 294.796875, + "rawY": 335.921875, + "page": 1, + "width": 24.921875, + "height": 16, + "fontSize": "14px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "P01", + "x": 294.796875, + "y": 427.90625, + "rawX": 294.796875, + "rawY": 427.90625, + "page": 1, + "width": 24.921875, + "height": 16, + "fontSize": "14px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "B03", + "x": 311.796875, + "y": 446.9375, + "rawX": 311.796875, + "rawY": 446.9375, + "page": 1, + "width": 22.53125, + "height": 14, + "fontSize": "12.6667px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + } + ], + "body": { + "x": 0, + "y": 0, + "width": 794, + "height": 1062.46875, + "font": "Roboto, Arial, sans-serif", + "fontSize": "12.6667px", + "lineHeight": "17.2267px", + "color": "rgb(16, 42, 67)", + "background": "rgba(0, 0, 0, 0)", + "padding": "60.4724px 0px 0px", + "margin": "0px" + }, + "page": { + "x": 0, + "y": 60.46875, + "width": 793.6875, + "height": 408.734375, + "font": "Roboto, Arial, sans-serif", + "fontSize": "12.6667px", + "lineHeight": "17.2267px", + "color": "rgb(16, 42, 67)", + "background": "rgb(255, 255, 255)", + "padding": "0px", + "margin": "0px" + }, + "header": { + "x": 60.46875, + "y": 60.46875, + "width": 113.390625, + "height": 103.5, + "font": "Roboto, Arial, sans-serif", + "fontSize": "12.6667px", + "lineHeight": "17.2267px", + "color": "rgb(255, 255, 255)", + "background": "rgba(0, 0, 0, 0)", + "padding": "0px", + "margin": "0px 0px 22.6772px" + }, + "main": { + "x": 234.328125, + "y": 60.46875, + "width": 559.359375, + "height": 408.734375, + "font": "Roboto, Arial, sans-serif", + "fontSize": "12.6667px", + "lineHeight": "17.2267px", + "color": "rgb(16, 42, 67)", + "background": "rgba(0, 0, 0, 0)", + "padding": "0px 60.4724px", + "margin": "0px" + }, + "sidebar": { + "x": 0, + "y": 60.46875, + "width": 234.328125, + "height": 408.734375, + "font": "Roboto, Arial, sans-serif", + "fontSize": "12.6667px", + "lineHeight": "17.2267px", + "color": "rgb(255, 255, 255)", + "background": "rgb(15, 76, 92)", + "padding": "0px 60.4724px", + "margin": "0px" + }, + "parsedRules": [ + "* { box-sizing: border-box; }", + ":root { --cv-accent-color: #0f4c5c; --cv-accent-ink: #fff; --cv-accent-soft: color-mix(in srgb,#0f4c5c 28%,transparent); --cv-ink: #102a43; --cv-muted: #486581; --cv-paper: #ffffff; --cv-page-margin: 16mm; }", + "html, body { min-width: 0px; }", + "body { margin: 0px; background: rgb(233, 237, 242); color: var(--cv-ink); font-family: Roboto, Arial, sans-serif; font-size: 9.5pt; line-height: 1.36; print-color-adjust: exact; }", + ".page { width: 210mm; min-height: 297mm; margin: 0px auto; background: var(--cv-paper); overflow: visible; overflow-wrap: anywhere; word-break: normal; }", + "h1, h2 { font-family: Roboto, Arial, sans-serif; }", + ".name { margin: 0px; font-size: 24pt; color: rgb(16, 42, 67); line-height: 1.1; overflow-wrap: anywhere; }", + ".kicker { text-transform: uppercase; letter-spacing: 0.3em; font-size: 7.5pt; color: rgb(15, 76, 92); margin-bottom: 1.5mm; }", + ".headline { margin-top: 1.5mm; color: rgb(72, 101, 129); font-size: 10pt; }", + ".head-text, .main, .sidebar, .cols > * { min-width: 0px; }", + ".head-text { flex: 1 1 0%; }", + ".photo { width: 30mm; height: 30mm; overflow: hidden; flex: 0 0 auto; border: 1px solid var(--cv-accent-soft); }", + ".photo-square { border-radius: 2mm; }", + ".photo-rounded { border-radius: 5mm; }", + ".photo-circle { border-radius: 50%; }", + ".photo img { width: 100%; height: 100%; object-fit: cover; display: block; }", + ".contact { display: flex; gap: 3mm; flex-wrap: wrap; color: rgb(72, 101, 129); font-size: 9pt; margin-top: 2.5mm; }", + ".contact-stacked { flex-direction: column; gap: 1.8mm; }", + ".contact-item { display: inline-flex; align-items: center; gap: 1.2mm; min-width: 0px; max-width: 100%; overflow-wrap: anywhere; }", + ".contact a { color: inherit; text-decoration: none; min-width: 0px; overflow-wrap: anywhere; word-break: break-word; }", + ".main a { color: var(--cv-accent-color); text-decoration-color: var(--cv-accent-soft); }", + ".contact svg { width: 3.2mm; height: 3.2mm; flex: 0 0 auto; opacity: 0.85; }", + ".hero { margin-bottom: 6mm; }", + ".hero .name { font-size: 21pt; }", + ".section { margin-top: 6mm; }", + ".section:first-child { margin-top: 0px; }", + ".section-title { margin: 0px 0px 2.6mm; font-size: 12pt; font-weight: 700; color: rgb(15, 76, 92); }", + ".section-title { padding-left: 2.5mm; border-left: 3px solid rgb(15, 76, 92); }", + ".section-presentation-grid { display: grid; grid-template-columns: repeat(var(--cv-section-columns,1),minmax(0,1fr)); column-gap: 4mm; align-items: start; }", + ".section-presentation-grid > .section-title { grid-column: 1 / -1; }", + ".section-presentation-grid > .entry { min-width: 0px; }", + ".section-presentation-compact > .entry { margin-bottom: 2.48mm; }", + ".section-presentation-compact > .bullets li { margin-bottom: 0.75mm; }", + ".section-presentation-bubble > .tags, .section-presentation-bubble > .bullets { list-style: none; padding: 0px; display: flex; flex-wrap: wrap; gap: 1.4mm; }", + ".section-presentation-bubble > .bullets li, .section-presentation-bubble > .tags li { margin: 0px; border: 1px solid var(--cv-accent-soft); border-radius: 999px; padding: 0.7mm 2.2mm; }", + ".section-presentation-bubble > .bullets li::marker { content: \"\"; }", + ".bullets { margin: 0px; padding-left: 4.5mm; }", + ".bullets li { margin: 0px 0px 1.6mm; }", + ".bullets li::marker { color: var(--cv-accent-color); }", + ".tags { list-style: none; margin: 0px; padding: 0px; display: flex; flex-wrap: wrap; gap: 1.8mm; }", + ".skills-text { margin: 0px; overflow-wrap: anywhere; }", + ".tag { border: 1px solid var(--cv-accent-soft); border-radius: 999px; padding: 0.7mm 2.2mm; font-size: 9pt; max-width: 100%; overflow-wrap: anywhere; }", + ".paragraphs p { margin: 0px 0px 1.8mm; white-space: pre-line; }", + ".skill-groups { display: grid; gap: 1.7mm; }", + ".skill-group { display: grid; grid-template-columns: minmax(24mm, 0.3fr) minmax(0px, 1fr); gap: 3mm; break-inside: avoid; }", + ".skill-group-name { font-family: \"Roboto Mono\", Consolas, monospace; font-weight: 700; color: var(--cv-accent-color); overflow-wrap: anywhere; }", + ".skill-group-items { display: flex; flex-wrap: wrap; gap: 0.8mm 3mm; list-style: none; margin: 0px; padding: 0px; }", + ".skill-group-items li { overflow-wrap: anywhere; }", + ".entry { margin-bottom: 4.5mm; }", + ".entry:last-child { margin-bottom: 0px; }", + ".entry-head { display: flex; justify-content: space-between; gap: 1.5mm 4mm; align-items: baseline; flex-wrap: wrap; break-after: avoid; }", + ".entry-title { font-weight: 700; font-size: 10.5pt; min-width: 0px; flex: 1 1 50mm; overflow-wrap: anywhere; }", + ".entry-meta { color: rgb(72, 101, 129); font-size: 9pt; white-space: normal; text-align: right; max-width: 100%; overflow-wrap: anywhere; }", + ".entry-subtitle { color: rgb(72, 101, 129); font-size: 9.5pt; margin: 0.4mm 0px 1.2mm; }", + ".entry-tags { margin-top: 1.4mm; }", + ".cols { display: grid; grid-template-columns: 62mm minmax(0px, 1fr); min-height: 297mm; }", + ".sidebar { background: var(--cv-accent-color); color: var(--cv-accent-ink); padding: 16mm; }", + ".sidebar .section-title { color: var(--cv-accent-ink); border-color: color-mix(in srgb,var(--cv-accent-ink) 38%,transparent); }", + ".sidebar .tag { border-color: color-mix(in srgb,var(--cv-accent-ink) 45%,transparent); }", + ".sidebar .contact, .sidebar .headline, .sidebar .entry-meta, .sidebar .entry-subtitle { color: var(--cv-accent-ink); }", + ".sidebar a { color: inherit; }", + ".main { padding: 16mm; }", + ".hero .name { color: var(--cv-accent-ink); }", + ".entry { break-inside: avoid; }", + ".entry-flow { break-inside: auto; }", + ".section-title { break-after: avoid; }", + ".section-title + .entry, .section-title + .bullets, .section-title + .tags, .section-title + .paragraphs, .section-title + .skill-groups { break-before: avoid; }", + ".section { break-inside: avoid; }", + ".section-flow { break-inside: auto; }", + ".tag, .contact-item { break-inside: avoid; }", + ".bullets li { break-inside: avoid; orphans: 2; widows: 2; overflow-wrap: anywhere; }", + ".bullets li.item-flow { break-inside: auto; }", + "@media print {\n body { background: transparent; }\n .page { width: auto; min-height: 0px; margin: 0px; }\n .cols { min-height: 0px; }\n .header { padding-top: 0px; }\n .main, .sidebar { padding-top: 0px; padding-bottom: 0px; }\n}", + "@page { size: 210mm 297mm; margin: 16mm 0px; }", + "body { background: transparent; }", + ".page { width: auto; min-height: 0px; margin: 0px; }", + ".cols { min-height: 0px; }", + ".header { padding-top: 0px; }", + ".main, .sidebar { padding-top: 0px; padding-bottom: 0px; }", + "html, body { overflow: hidden !important; background: transparent !important; }", + "body { padding-top: 60.4724px; }", + "[data-cv-preview-flow] { width: 793.688px; height: 1002px; column-width: 793.688px; column-gap: 0px; column-fill: auto; transform-origin: left top; }" + ], + "sections": [ + { + "key": "section section-skills section-presentation-rows", + "title": "Skills", + "fragments": [ + { + "x": 60.46875, + "y": 265.046875, + "width": 113.390625, + "height": 118.578125 + } + ] + }, + { + "key": "section section-languages section-presentation-rows", + "title": "Languages", + "fragments": [ + { + "x": 60.46875, + "y": 406.296875, + "width": 113.390625, + "height": 55.15625 + } + ] + }, + { + "key": "section section-summary section-presentation-rows", + "title": "Professional Summary", + "fragments": [ + { + "x": 294.796875, + "y": 60.46875, + "width": 438.421875, + "height": 66 + } + ] + }, + { + "key": "section section-experience section-presentation-rows", + "title": "Professional Experience", + "fragments": [ + { + "x": 294.796875, + "y": 149.140625, + "width": 438.421875, + "height": 131.546875 + } + ] + }, + { + "key": "section section-education section-presentation-rows", + "title": "Education", + "fragments": [ + { + "x": 294.796875, + "y": 303.359375, + "width": 438.421875, + "height": 69.3125 + } + ] + }, + { + "key": "section section-projects section-presentation-rows", + "title": "Projects", + "fragments": [ + { + "x": 294.796875, + "y": 395.34375, + "width": 438.421875, + "height": 67.8125 + } + ] + } + ], + "effectiveMargin": "16mm", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.34 Safari/537.36" + } + }, + { + "fixture": "default-ats-classic", + "settings": { + "themeId": "ats-classic", + "accentColor": null, + "headingFont": null, + "bodyFont": null, + "density": null, + "pageSize": null, + "dateFormat": null, + "language": "en", + "headline": null, + "textColor": null, + "mutedColor": null, + "headingColor": null, + "backgroundColor": null, + "baseFontSizePt": null, + "headingSizePt": null, + "lineHeight": null, + "pageMarginMm": null, + "sectionGapMm": null, + "entryGapMm": null, + "headingStyle": null, + "headerStyle": null, + "skillsStyle": null, + "skillGroups": null, + "layout": null, + "sidebarWidthMm": null, + "sidebarSections": null, + "showPhoto": false, + "showPageNumbers": false, + "showIcons": true, + "sections": [ + { + "key": "summary", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "experience", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "education", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "projects", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "skills", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "languages", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "interests", + "hidden": true, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + } + ], + "overrides": {}, + "customSections": [] + }, + "previewPages": 1, + "measured": { + "width": 793.6875, + "contentHeight": 1122.52, + "usableHeight": 1002, + "layoutDurationMs": 22, + "text": "Åse Fixture\nCareer platform engineer\nase@example.test\nOslo, Norge\nPROFESSIONAL SUMMARY\nR01 Builds reliable and accessible career software using documented evidence.\nPROFESSIONAL EXPERIENCE\nE01 Platform engineer\nNordlys Fixture AS\nB01 Delivered accessible application workflows with documented outcomes.\nB02 Maintained reliable APIs and verified releases.\nEDUCATION\nE02 Computer science\nFixture University\nPROJECTS\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\nSKILLS\nC#\nReact\nNorsk\nAccessibility\nLANGUAGES\nNorsk — Native", + "tokens": [ + { + "token": "R01", + "x": 77.46875, + "y": 209.671875, + "rawX": 77.46875, + "rawY": 209.671875, + "page": 1, + "width": 24.46875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "E01", + "x": 60.46875, + "y": 287.65625, + "rawX": 60.46875, + "rawY": 287.65625, + "page": 1, + "width": 26.09375, + "height": 16, + "fontSize": "14.6667px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B01", + "x": 77.46875, + "y": 332.4375, + "rawX": 77.46875, + "rawY": 332.4375, + "page": 1, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B02", + "x": 77.46875, + "y": 357.40625, + "rawX": 77.46875, + "rawY": 357.40625, + "page": 1, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "E02", + "x": 60.46875, + "y": 435.390625, + "rawX": 60.46875, + "rawY": 435.390625, + "page": 1, + "width": 26.09375, + "height": 16, + "fontSize": "14.6667px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "P01", + "x": 60.46875, + "y": 534.703125, + "rawX": 60.46875, + "rawY": 534.703125, + "page": 1, + "width": 26.09375, + "height": 16, + "fontSize": "14.6667px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B03", + "x": 77.46875, + "y": 554.53125, + "rawX": 77.46875, + "rawY": 554.53125, + "page": 1, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + } + ], + "body": { + "x": 0, + "y": 0, + "width": 794, + "height": 1062.46875, + "font": "Arial, Helvetica, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(17, 24, 39)", + "background": "rgba(0, 0, 0, 0)", + "padding": "60.4724px 0px 0px", + "margin": "0px" + }, + "page": { + "x": 0, + "y": 60.46875, + "width": 793.6875, + "height": 747.203125, + "font": "Arial, Helvetica, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(17, 24, 39)", + "background": "rgb(255, 255, 255)", + "padding": "0px", + "margin": "0px" + }, + "header": { + "x": 0, + "y": 60.46875, + "width": 793.6875, + "height": 112.8125, + "font": "Arial, Helvetica, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(17, 24, 39)", + "background": "rgba(0, 0, 0, 0)", + "padding": "0px 60.4724px 22.6772px", + "margin": "0px" + }, + "main": { + "x": 0, + "y": 173.28125, + "width": 793.6875, + "height": 634.390625, + "font": "Arial, Helvetica, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(17, 24, 39)", + "background": "rgba(0, 0, 0, 0)", + "padding": "0px 60.4724px", + "margin": "0px" + }, + "sidebar": null, + "parsedRules": [ + "* { box-sizing: border-box; }", + ":root { --cv-accent-color: #334155; --cv-accent-ink: #fff; --cv-accent-soft: color-mix(in srgb,#334155 28%,transparent); --cv-ink: #111827; --cv-muted: #374151; --cv-paper: #ffffff; --cv-page-margin: 16mm; }", + "html, body { min-width: 0px; }", + "body { margin: 0px; background: rgb(233, 237, 242); color: var(--cv-ink); font-family: Arial, Helvetica, sans-serif; font-size: 10pt; line-height: 1.42; print-color-adjust: exact; }", + ".page { width: 210mm; min-height: 297mm; margin: 0px auto; background: var(--cv-paper); overflow: visible; overflow-wrap: anywhere; word-break: normal; }", + "h1, h2 { font-family: Arial, Helvetica, sans-serif; }", + ".name { margin: 0px; font-size: 24pt; color: rgb(17, 24, 39); line-height: 1.1; overflow-wrap: anywhere; }", + ".kicker { text-transform: uppercase; letter-spacing: 0.3em; font-size: 7.5pt; color: rgb(51, 65, 85); margin-bottom: 1.5mm; }", + ".headline { margin-top: 1.5mm; color: rgb(55, 65, 81); font-size: 10.5pt; }", + ".head-text, .main, .sidebar, .cols > * { min-width: 0px; }", + ".head-text { flex: 1 1 0%; }", + ".photo { width: 30mm; height: 30mm; overflow: hidden; flex: 0 0 auto; border: 1px solid var(--cv-accent-soft); }", + ".photo-square { border-radius: 2mm; }", + ".photo-rounded { border-radius: 5mm; }", + ".photo-circle { border-radius: 50%; }", + ".photo img { width: 100%; height: 100%; object-fit: cover; display: block; }", + ".contact { display: flex; gap: 3mm; flex-wrap: wrap; color: rgb(55, 65, 81); font-size: 9.5pt; margin-top: 2.5mm; }", + ".contact-stacked { flex-direction: column; gap: 1.8mm; }", + ".contact-item { display: inline-flex; align-items: center; gap: 1.2mm; min-width: 0px; max-width: 100%; overflow-wrap: anywhere; }", + ".contact a { color: inherit; text-decoration: none; min-width: 0px; overflow-wrap: anywhere; word-break: break-word; }", + ".main a { color: var(--cv-accent-color); text-decoration-color: var(--cv-accent-soft); }", + ".contact svg { width: 3.2mm; height: 3.2mm; flex: 0 0 auto; opacity: 0.85; }", + ".hero { margin-bottom: 6mm; }", + ".hero .name { font-size: 21pt; }", + ".section { margin-top: 6mm; }", + ".section:first-child { margin-top: 0px; }", + ".section-title { margin: 0px 0px 2.6mm; font-size: 12pt; font-weight: 700; color: rgb(51, 65, 85); }", + ".section-title { text-transform: uppercase; letter-spacing: 0.14em; font-size: 10.2pt; color: var(--cv-accent-color); border-bottom: 1px solid var(--cv-accent-soft); padding-bottom: 1.4mm; }", + ".section-presentation-grid { display: grid; grid-template-columns: repeat(var(--cv-section-columns,1),minmax(0,1fr)); column-gap: 4mm; align-items: start; }", + ".section-presentation-grid > .section-title { grid-column: 1 / -1; }", + ".section-presentation-grid > .entry { min-width: 0px; }", + ".section-presentation-compact > .entry { margin-bottom: 2.48mm; }", + ".section-presentation-compact > .bullets li { margin-bottom: 0.75mm; }", + ".section-presentation-bubble > .tags, .section-presentation-bubble > .bullets { list-style: none; padding: 0px; display: flex; flex-wrap: wrap; gap: 1.4mm; }", + ".section-presentation-bubble > .bullets li, .section-presentation-bubble > .tags li { margin: 0px; border: 1px solid var(--cv-accent-soft); border-radius: 999px; padding: 0.7mm 2.2mm; }", + ".section-presentation-bubble > .bullets li::marker { content: \"\"; }", + ".bullets { margin: 0px; padding-left: 4.5mm; }", + ".bullets li { margin: 0px 0px 1.6mm; }", + ".bullets li::marker { color: var(--cv-accent-color); }", + ".tags { list-style: none; margin: 0px; padding: 0px; display: flex; flex-wrap: wrap; gap: 1.8mm; }", + ".skills-text { margin: 0px; overflow-wrap: anywhere; }", + ".tag { border: 1px solid var(--cv-accent-soft); border-radius: 999px; padding: 0.7mm 2.2mm; font-size: 9.5pt; max-width: 100%; overflow-wrap: anywhere; }", + ".paragraphs p { margin: 0px 0px 1.8mm; white-space: pre-line; }", + ".skill-groups { display: grid; gap: 1.7mm; }", + ".skill-group { display: grid; grid-template-columns: minmax(24mm, 0.3fr) minmax(0px, 1fr); gap: 3mm; break-inside: avoid; }", + ".skill-group-name { font-family: \"Roboto Mono\", Consolas, monospace; font-weight: 700; color: var(--cv-accent-color); overflow-wrap: anywhere; }", + ".skill-group-items { display: flex; flex-wrap: wrap; gap: 0.8mm 3mm; list-style: none; margin: 0px; padding: 0px; }", + ".skill-group-items li { overflow-wrap: anywhere; }", + ".entry { margin-bottom: 4.5mm; }", + ".entry:last-child { margin-bottom: 0px; }", + ".entry-head { display: flex; justify-content: space-between; gap: 1.5mm 4mm; align-items: baseline; flex-wrap: wrap; break-after: avoid; }", + ".entry-title { font-weight: 700; font-size: 11pt; min-width: 0px; flex: 1 1 50mm; overflow-wrap: anywhere; }", + ".entry-meta { color: rgb(55, 65, 81); font-size: 9.5pt; white-space: normal; text-align: right; max-width: 100%; overflow-wrap: anywhere; }", + ".entry-subtitle { color: rgb(55, 65, 81); font-size: 10pt; margin: 0.4mm 0px 1.2mm; }", + ".entry-tags { margin-top: 1.4mm; }", + ".main { padding: 0px 16mm 16mm; }", + ".header { padding: 16mm 16mm 6mm; display: flex; gap: 6mm; align-items: center; }", + ".header-band { background: rgb(51, 65, 85); color: rgb(255, 255, 255); }", + ".header-band .name, .header-band .headline, .header-band .contact, .header-band .contact-item, .header-band a { color: rgb(255, 255, 255); }", + ".header-centered { flex-direction: column; text-align: center; justify-content: center; }", + ".header-centered .contact { justify-content: center; }", + ".header-plain { border-bottom: 2px solid rgb(51, 65, 85); }", + ".entry { break-inside: avoid; }", + ".entry-flow { break-inside: auto; }", + ".section-title { break-after: avoid; }", + ".section-title + .entry, .section-title + .bullets, .section-title + .tags, .section-title + .paragraphs, .section-title + .skill-groups { break-before: avoid; }", + ".section { break-inside: avoid; }", + ".section-flow { break-inside: auto; }", + ".tag, .contact-item { break-inside: avoid; }", + ".bullets li { break-inside: avoid; orphans: 2; widows: 2; overflow-wrap: anywhere; }", + ".bullets li.item-flow { break-inside: auto; }", + "@media print {\n body { background: transparent; }\n .page { width: auto; min-height: 0px; margin: 0px; }\n .cols { min-height: 0px; }\n .header { padding-top: 0px; }\n .main, .sidebar { padding-top: 0px; padding-bottom: 0px; }\n}", + "@page { size: 210mm 297mm; margin: 16mm 0px; }", + "body { background: transparent; }", + ".page { width: auto; min-height: 0px; margin: 0px; }", + ".cols { min-height: 0px; }", + ".header { padding-top: 0px; }", + ".main, .sidebar { padding-top: 0px; padding-bottom: 0px; }", + "html, body { overflow: hidden !important; background: transparent !important; }", + "body { padding-top: 60.4724px; }", + "[data-cv-preview-flow] { width: 793.688px; height: 1002px; column-width: 793.688px; column-gap: 0px; column-fill: auto; transform-origin: left top; }" + ], + "sections": [ + { + "key": "section section-summary section-presentation-rows", + "title": "Professional Summary", + "fragments": [ + { + "x": 60.46875, + "y": 173.28125, + "width": 672.75, + "height": 54.3125 + } + ] + }, + { + "key": "section section-experience section-presentation-rows", + "title": "Professional Experience", + "fragments": [ + { + "x": 60.46875, + "y": 250.265625, + "width": 672.75, + "height": 125.0625 + } + ] + }, + { + "key": "section section-education section-presentation-rows", + "title": "Education", + "fragments": [ + { + "x": 60.46875, + "y": 398, + "width": 672.75, + "height": 76.640625 + } + ] + }, + { + "key": "section section-projects section-presentation-rows", + "title": "Projects", + "fragments": [ + { + "x": 60.46875, + "y": 497.3125, + "width": 672.75, + "height": 75.140625 + } + ] + }, + { + "key": "section section-skills section-presentation-rows", + "title": "Skills", + "fragments": [ + { + "x": 60.46875, + "y": 595.125, + "width": 672.75, + "height": 129.21875 + } + ] + }, + { + "key": "section section-languages section-presentation-rows", + "title": "Languages", + "fragments": [ + { + "x": 60.46875, + "y": 747.015625, + "width": 672.75, + "height": 60.65625 + } + ] + } + ], + "effectiveMargin": "16mm", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.34 Safari/537.36" + } + }, + { + "fixture": "default-nordic", + "settings": { + "themeId": "nordic", + "accentColor": null, + "headingFont": null, + "bodyFont": null, + "density": null, + "pageSize": null, + "dateFormat": null, + "language": "en", + "headline": null, + "textColor": null, + "mutedColor": null, + "headingColor": null, + "backgroundColor": null, + "baseFontSizePt": null, + "headingSizePt": null, + "lineHeight": null, + "pageMarginMm": null, + "sectionGapMm": null, + "entryGapMm": null, + "headingStyle": null, + "headerStyle": null, + "skillsStyle": null, + "skillGroups": null, + "layout": null, + "sidebarWidthMm": null, + "sidebarSections": null, + "showPhoto": false, + "showPageNumbers": false, + "showIcons": true, + "sections": [ + { + "key": "summary", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "experience", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "education", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "projects", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "skills", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "languages", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "interests", + "hidden": true, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + } + ], + "overrides": {}, + "customSections": [] + }, + "previewPages": 1, + "measured": { + "width": 793.6875, + "contentHeight": 1122.52, + "usableHeight": 1002, + "layoutDurationMs": 51.29999999701977, + "text": "PROFESSIONAL SUMMARY\nR01 Builds reliable and accessible career software using documented evidence.\nPROFESSIONAL EXPERIENCE\nE01 Platform engineer\nNordlys Fixture AS\nB01 Delivered accessible application workflows with documented outcomes.\nB02 Maintained reliable APIs and verified releases.\nEDUCATION\nE02 Computer science\nFixture University\nPROJECTS\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\nÅse Fixture\nCareer platform engineer\nase@example.test\nOslo, Norge\nSKILLS\nC#\nReact\nNorsk\nAccessibility\nLANGUAGES\nNorsk — Native", + "tokens": [ + { + "token": "R01", + "x": 77.46875, + "y": 95.859375, + "rawX": 77.46875, + "rawY": 95.859375, + "page": 1, + "width": 22.359375, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Arial, sans-serif", + "color": "rgb(31, 41, 55)" + }, + { + "token": "E01", + "x": 60.46875, + "y": 191.765625, + "rawX": 60.46875, + "rawY": 191.765625, + "page": 1, + "width": 24.671875, + "height": 20, + "fontSize": "14.6667px", + "fontFamily": "\"Segoe UI\", Arial, sans-serif", + "color": "rgb(31, 41, 55)" + }, + { + "token": "B01", + "x": 77.46875, + "y": 237.546875, + "rawX": 77.46875, + "rawY": 237.546875, + "page": 1, + "width": 22.015625, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Arial, sans-serif", + "color": "rgb(31, 41, 55)" + }, + { + "token": "B02", + "x": 77.46875, + "y": 281.4375, + "rawX": 77.46875, + "rawY": 281.4375, + "page": 1, + "width": 22.015625, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Arial, sans-serif", + "color": "rgb(31, 41, 55)" + }, + { + "token": "E02", + "x": 60.46875, + "y": 358.421875, + "rawX": 60.46875, + "rawY": 358.421875, + "page": 1, + "width": 24.671875, + "height": 20, + "fontSize": "14.6667px", + "fontFamily": "\"Segoe UI\", Arial, sans-serif", + "color": "rgb(31, 41, 55)" + }, + { + "token": "P01", + "x": 60.46875, + "y": 457.734375, + "rawX": 60.46875, + "rawY": 457.734375, + "page": 1, + "width": 25.875, + "height": 20, + "fontSize": "14.6667px", + "fontFamily": "\"Segoe UI\", Arial, sans-serif", + "color": "rgb(31, 41, 55)" + }, + { + "token": "B03", + "x": 77.46875, + "y": 478.5625, + "rawX": 77.46875, + "rawY": 478.5625, + "page": 1, + "width": 22.015625, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Arial, sans-serif", + "color": "rgb(31, 41, 55)" + } + ], + "body": { + "x": 0, + "y": 0, + "width": 794, + "height": 1062.46875, + "font": "\"Segoe UI\", Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(31, 41, 55)", + "background": "rgba(0, 0, 0, 0)", + "padding": "60.4724px 0px 0px", + "margin": "0px" + }, + "page": { + "x": 0, + "y": 60.46875, + "width": 793.6875, + "height": 443.0625, + "font": "\"Segoe UI\", Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(31, 41, 55)", + "background": "rgb(255, 255, 255)", + "padding": "0px", + "margin": "0px" + }, + "header": { + "x": 619.828125, + "y": 60.46875, + "width": 113.390625, + "height": 107, + "font": "\"Segoe UI\", Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(255, 255, 255)", + "background": "rgba(0, 0, 0, 0)", + "padding": "0px", + "margin": "0px 0px 22.6772px" + }, + "main": { + "x": 0, + "y": 60.46875, + "width": 559.359375, + "height": 443.0625, + "font": "\"Segoe UI\", Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(31, 41, 55)", + "background": "rgba(0, 0, 0, 0)", + "padding": "0px 60.4724px", + "margin": "0px" + }, + "sidebar": { + "x": 559.359375, + "y": 60.46875, + "width": 234.328125, + "height": 443.0625, + "font": "\"Segoe UI\", Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(255, 255, 255)", + "background": "rgb(59, 110, 165)", + "padding": "0px 60.4724px", + "margin": "0px" + }, + "parsedRules": [ + "* { box-sizing: border-box; }", + ":root { --cv-accent-color: #3b6ea5; --cv-accent-ink: #fff; --cv-accent-soft: color-mix(in srgb,#3b6ea5 28%,transparent); --cv-ink: #1f2937; --cv-muted: #4b5563; --cv-paper: #ffffff; --cv-page-margin: 16mm; }", + "html, body { min-width: 0px; }", + "body { margin: 0px; background: rgb(233, 237, 242); color: var(--cv-ink); font-family: \"Segoe UI\", Arial, sans-serif; font-size: 10pt; line-height: 1.42; print-color-adjust: exact; }", + ".page { width: 210mm; min-height: 297mm; margin: 0px auto; background: var(--cv-paper); overflow: visible; overflow-wrap: anywhere; word-break: normal; }", + "h1, h2 { font-family: \"Segoe UI\", Arial, sans-serif; }", + ".name { margin: 0px; font-size: 24pt; color: rgb(31, 41, 55); line-height: 1.1; overflow-wrap: anywhere; }", + ".kicker { text-transform: uppercase; letter-spacing: 0.3em; font-size: 7.5pt; color: rgb(59, 110, 165); margin-bottom: 1.5mm; }", + ".headline { margin-top: 1.5mm; color: rgb(75, 85, 99); font-size: 10.5pt; }", + ".head-text, .main, .sidebar, .cols > * { min-width: 0px; }", + ".head-text { flex: 1 1 0%; }", + ".photo { width: 30mm; height: 30mm; overflow: hidden; flex: 0 0 auto; border: 1px solid var(--cv-accent-soft); }", + ".photo-square { border-radius: 2mm; }", + ".photo-rounded { border-radius: 5mm; }", + ".photo-circle { border-radius: 50%; }", + ".photo img { width: 100%; height: 100%; object-fit: cover; display: block; }", + ".contact { display: flex; gap: 3mm; flex-wrap: wrap; color: rgb(75, 85, 99); font-size: 9.5pt; margin-top: 2.5mm; }", + ".contact-stacked { flex-direction: column; gap: 1.8mm; }", + ".contact-item { display: inline-flex; align-items: center; gap: 1.2mm; min-width: 0px; max-width: 100%; overflow-wrap: anywhere; }", + ".contact a { color: inherit; text-decoration: none; min-width: 0px; overflow-wrap: anywhere; word-break: break-word; }", + ".main a { color: var(--cv-accent-color); text-decoration-color: var(--cv-accent-soft); }", + ".contact svg { width: 3.2mm; height: 3.2mm; flex: 0 0 auto; opacity: 0.85; }", + ".hero { margin-bottom: 6mm; }", + ".hero .name { font-size: 21pt; }", + ".section { margin-top: 6mm; }", + ".section:first-child { margin-top: 0px; }", + ".section-title { margin: 0px 0px 2.6mm; font-size: 12pt; font-weight: 700; color: rgb(59, 110, 165); }", + ".section-title { text-transform: uppercase; letter-spacing: 0.14em; font-size: 10.2pt; color: var(--cv-accent-color); border-bottom: 1px solid var(--cv-accent-soft); padding-bottom: 1.4mm; }", + ".section-presentation-grid { display: grid; grid-template-columns: repeat(var(--cv-section-columns,1),minmax(0,1fr)); column-gap: 4mm; align-items: start; }", + ".section-presentation-grid > .section-title { grid-column: 1 / -1; }", + ".section-presentation-grid > .entry { min-width: 0px; }", + ".section-presentation-compact > .entry { margin-bottom: 2.48mm; }", + ".section-presentation-compact > .bullets li { margin-bottom: 0.75mm; }", + ".section-presentation-bubble > .tags, .section-presentation-bubble > .bullets { list-style: none; padding: 0px; display: flex; flex-wrap: wrap; gap: 1.4mm; }", + ".section-presentation-bubble > .bullets li, .section-presentation-bubble > .tags li { margin: 0px; border: 1px solid var(--cv-accent-soft); border-radius: 999px; padding: 0.7mm 2.2mm; }", + ".section-presentation-bubble > .bullets li::marker { content: \"\"; }", + ".bullets { margin: 0px; padding-left: 4.5mm; }", + ".bullets li { margin: 0px 0px 1.6mm; }", + ".bullets li::marker { color: var(--cv-accent-color); }", + ".tags { list-style: none; margin: 0px; padding: 0px; display: flex; flex-wrap: wrap; gap: 1.8mm; }", + ".skills-text { margin: 0px; overflow-wrap: anywhere; }", + ".tag { border: 1px solid var(--cv-accent-soft); border-radius: 999px; padding: 0.7mm 2.2mm; font-size: 9.5pt; max-width: 100%; overflow-wrap: anywhere; }", + ".paragraphs p { margin: 0px 0px 1.8mm; white-space: pre-line; }", + ".skill-groups { display: grid; gap: 1.7mm; }", + ".skill-group { display: grid; grid-template-columns: minmax(24mm, 0.3fr) minmax(0px, 1fr); gap: 3mm; break-inside: avoid; }", + ".skill-group-name { font-family: \"Roboto Mono\", Consolas, monospace; font-weight: 700; color: var(--cv-accent-color); overflow-wrap: anywhere; }", + ".skill-group-items { display: flex; flex-wrap: wrap; gap: 0.8mm 3mm; list-style: none; margin: 0px; padding: 0px; }", + ".skill-group-items li { overflow-wrap: anywhere; }", + ".entry { margin-bottom: 4.5mm; }", + ".entry:last-child { margin-bottom: 0px; }", + ".entry-head { display: flex; justify-content: space-between; gap: 1.5mm 4mm; align-items: baseline; flex-wrap: wrap; break-after: avoid; }", + ".entry-title { font-weight: 700; font-size: 11pt; min-width: 0px; flex: 1 1 50mm; overflow-wrap: anywhere; }", + ".entry-meta { color: rgb(75, 85, 99); font-size: 9.5pt; white-space: normal; text-align: right; max-width: 100%; overflow-wrap: anywhere; }", + ".entry-subtitle { color: rgb(75, 85, 99); font-size: 10pt; margin: 0.4mm 0px 1.2mm; }", + ".entry-tags { margin-top: 1.4mm; }", + ".cols { display: grid; grid-template-columns: minmax(0px, 1fr) 62mm; min-height: 297mm; }", + ".sidebar { background: var(--cv-accent-color); color: var(--cv-accent-ink); padding: 16mm; }", + ".sidebar .section-title { color: var(--cv-accent-ink); border-color: color-mix(in srgb,var(--cv-accent-ink) 38%,transparent); }", + ".sidebar .tag { border-color: color-mix(in srgb,var(--cv-accent-ink) 45%,transparent); }", + ".sidebar .contact, .sidebar .headline, .sidebar .entry-meta, .sidebar .entry-subtitle { color: var(--cv-accent-ink); }", + ".sidebar a { color: inherit; }", + ".main { padding: 16mm; }", + ".hero .name { color: var(--cv-accent-ink); }", + ".entry { break-inside: avoid; }", + ".entry-flow { break-inside: auto; }", + ".section-title { break-after: avoid; }", + ".section-title + .entry, .section-title + .bullets, .section-title + .tags, .section-title + .paragraphs, .section-title + .skill-groups { break-before: avoid; }", + ".section { break-inside: avoid; }", + ".section-flow { break-inside: auto; }", + ".tag, .contact-item { break-inside: avoid; }", + ".bullets li { break-inside: avoid; orphans: 2; widows: 2; overflow-wrap: anywhere; }", + ".bullets li.item-flow { break-inside: auto; }", + "@media print {\n body { background: transparent; }\n .page { width: auto; min-height: 0px; margin: 0px; }\n .cols { min-height: 0px; }\n .header { padding-top: 0px; }\n .main, .sidebar { padding-top: 0px; padding-bottom: 0px; }\n}", + "@page { size: 210mm 297mm; margin: 16mm 0px; }", + "body { background: transparent; }", + ".page { width: auto; min-height: 0px; margin: 0px; }", + ".cols { min-height: 0px; }", + ".header { padding-top: 0px; }", + ".main, .sidebar { padding-top: 0px; padding-bottom: 0px; }", + "html, body { overflow: hidden !important; background: transparent !important; }", + "body { padding-top: 60.4724px; }", + "[data-cv-preview-flow] { width: 793.688px; height: 1002px; column-width: 793.688px; column-gap: 0px; column-fill: auto; transform-origin: left top; }" + ], + "sections": [ + { + "key": "section section-summary section-presentation-rows", + "title": "Professional Summary", + "fragments": [ + { + "x": 60.46875, + "y": 60.46875, + "width": 438.421875, + "height": 73.234375 + } + ] + }, + { + "key": "section section-experience section-presentation-rows", + "title": "Professional Experience", + "fragments": [ + { + "x": 60.46875, + "y": 156.375, + "width": 438.421875, + "height": 143.984375 + } + ] + }, + { + "key": "section section-education section-presentation-rows", + "title": "Education", + "fragments": [ + { + "x": 60.46875, + "y": 323.03125, + "width": 438.421875, + "height": 76.640625 + } + ] + }, + { + "key": "section section-projects section-presentation-rows", + "title": "Projects", + "fragments": [ + { + "x": 60.46875, + "y": 422.34375, + "width": 438.421875, + "height": 75.140625 + } + ] + }, + { + "key": "section section-skills section-presentation-rows", + "title": "Skills", + "fragments": [ + { + "x": 619.828125, + "y": 273.5625, + "width": 113.390625, + "height": 124.78125 + } + ] + }, + { + "key": "section section-languages section-presentation-rows", + "title": "Languages", + "fragments": [ + { + "x": 619.828125, + "y": 421.015625, + "width": 113.390625, + "height": 60.65625 + } + ] + } + ], + "effectiveMargin": "16mm", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.34 Safari/537.36" + } + }, + { + "fixture": "default-elegant", + "settings": { + "themeId": "elegant", + "accentColor": null, + "headingFont": null, + "bodyFont": null, + "density": null, + "pageSize": null, + "dateFormat": null, + "language": "en", + "headline": null, + "textColor": null, + "mutedColor": null, + "headingColor": null, + "backgroundColor": null, + "baseFontSizePt": null, + "headingSizePt": null, + "lineHeight": null, + "pageMarginMm": null, + "sectionGapMm": null, + "entryGapMm": null, + "headingStyle": null, + "headerStyle": null, + "skillsStyle": null, + "skillGroups": null, + "layout": null, + "sidebarWidthMm": null, + "sidebarSections": null, + "showPhoto": false, + "showPageNumbers": false, + "showIcons": true, + "sections": [ + { + "key": "summary", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "experience", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "education", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "projects", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "skills", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "languages", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "interests", + "hidden": true, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + } + ], + "overrides": {}, + "customSections": [] + }, + "previewPages": 1, + "measured": { + "width": 793.6875, + "contentHeight": 1122.52, + "usableHeight": 1002, + "layoutDurationMs": 30.100000008940697, + "text": "CURRICULUM VITAE\nÅse Fixture\nCareer platform engineer\nase@example.test\nOslo, Norge\nProfessional Summary\nR01 Builds reliable and accessible career software using documented evidence.\nProfessional Experience\nE01 Platform engineer\nNordlys Fixture AS\nB01 Delivered accessible application workflows with documented outcomes.\nB02 Maintained reliable APIs and verified releases.\nEducation\nE02 Computer science\nFixture University\nProjects\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\nSkills\nC#\nReact\nNorsk\nAccessibility\nLanguages\nNorsk — Native", + "tokens": [ + { + "token": "R01", + "x": 77.46875, + "y": 237.03125, + "rawX": 77.46875, + "rawY": 237.03125, + "page": 1, + "width": 22.359375, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Arial, sans-serif", + "color": "rgb(31, 41, 55)" + }, + { + "token": "E01", + "x": 60.46875, + "y": 321.59375, + "rawX": 60.46875, + "rawY": 321.59375, + "page": 1, + "width": 24.671875, + "height": 20, + "fontSize": "14.6667px", + "fontFamily": "\"Segoe UI\", Arial, sans-serif", + "color": "rgb(31, 41, 55)" + }, + { + "token": "B01", + "x": 77.46875, + "y": 367.375, + "rawX": 77.46875, + "rawY": 367.375, + "page": 1, + "width": 22.015625, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Arial, sans-serif", + "color": "rgb(31, 41, 55)" + }, + { + "token": "B02", + "x": 77.46875, + "y": 392.34375, + "rawX": 77.46875, + "rawY": 392.34375, + "page": 1, + "width": 22.015625, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Arial, sans-serif", + "color": "rgb(31, 41, 55)" + }, + { + "token": "E02", + "x": 60.46875, + "y": 476.90625, + "rawX": 60.46875, + "rawY": 476.90625, + "page": 1, + "width": 24.671875, + "height": 20, + "fontSize": "14.6667px", + "fontFamily": "\"Segoe UI\", Arial, sans-serif", + "color": "rgb(31, 41, 55)" + }, + { + "token": "P01", + "x": 60.46875, + "y": 583.796875, + "rawX": 60.46875, + "rawY": 583.796875, + "page": 1, + "width": 25.875, + "height": 20, + "fontSize": "14.6667px", + "fontFamily": "\"Segoe UI\", Arial, sans-serif", + "color": "rgb(31, 41, 55)" + }, + { + "token": "B03", + "x": 77.46875, + "y": 604.625, + "rawX": 77.46875, + "rawY": 604.625, + "page": 1, + "width": 22.015625, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Arial, sans-serif", + "color": "rgb(31, 41, 55)" + } + ], + "body": { + "x": 0, + "y": 0, + "width": 794, + "height": 1062.46875, + "font": "\"Segoe UI\", Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(31, 41, 55)", + "background": "rgba(0, 0, 0, 0)", + "padding": "60.4724px 0px 0px", + "margin": "0px" + }, + "page": { + "x": 0, + "y": 60.46875, + "width": 793.6875, + "height": 744.890625, + "font": "\"Segoe UI\", Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(31, 41, 55)", + "background": "rgb(255, 255, 255)", + "padding": "0px", + "margin": "0px" + }, + "header": { + "x": 0, + "y": 60.46875, + "width": 793.6875, + "height": 137.375, + "font": "\"Segoe UI\", Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(31, 41, 55)", + "background": "rgba(0, 0, 0, 0)", + "padding": "0px 60.4724px 26.4567px", + "margin": "0px" + }, + "main": { + "x": 0, + "y": 197.84375, + "width": 793.6875, + "height": 607.515625, + "font": "\"Segoe UI\", Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(31, 41, 55)", + "background": "rgba(0, 0, 0, 0)", + "padding": "0px 60.4724px", + "margin": "0px" + }, + "sidebar": null, + "parsedRules": [ + "* { box-sizing: border-box; }", + ":root { --cv-accent-color: #7c3aed; --cv-accent-ink: #fff; --cv-accent-soft: color-mix(in srgb,#7c3aed 28%,transparent); --cv-ink: #1f2937; --cv-muted: #4b5563; --cv-paper: #ffffff; --cv-page-margin: 16mm; }", + "html, body { min-width: 0px; }", + "body { margin: 0px; background: rgb(233, 237, 242); color: var(--cv-ink); font-family: \"Segoe UI\", Arial, sans-serif; font-size: 10pt; line-height: 1.42; print-color-adjust: exact; }", + ".page { width: 210mm; min-height: 297mm; margin: 0px auto; background: var(--cv-paper); overflow: visible; overflow-wrap: anywhere; word-break: normal; }", + "h1, h2 { font-family: Georgia, \"Times New Roman\", serif; }", + ".name { margin: 0px; font-size: 26pt; color: rgb(31, 41, 55); line-height: 1.1; overflow-wrap: anywhere; }", + ".kicker { text-transform: uppercase; letter-spacing: 0.3em; font-size: 7.5pt; color: rgb(124, 58, 237); margin-bottom: 1.5mm; }", + ".headline { margin-top: 1.5mm; color: rgb(75, 85, 99); font-size: 10.5pt; }", + ".head-text, .main, .sidebar, .cols > * { min-width: 0px; }", + ".head-text { flex: 1 1 0%; }", + ".photo { width: 30mm; height: 30mm; overflow: hidden; flex: 0 0 auto; border: 1px solid var(--cv-accent-soft); }", + ".photo-square { border-radius: 2mm; }", + ".photo-rounded { border-radius: 5mm; }", + ".photo-circle { border-radius: 50%; }", + ".photo img { width: 100%; height: 100%; object-fit: cover; display: block; }", + ".contact { display: flex; gap: 3mm; flex-wrap: wrap; color: rgb(75, 85, 99); font-size: 9.5pt; margin-top: 2.5mm; }", + ".contact-stacked { flex-direction: column; gap: 1.8mm; }", + ".contact-item { display: inline-flex; align-items: center; gap: 1.2mm; min-width: 0px; max-width: 100%; overflow-wrap: anywhere; }", + ".contact a { color: inherit; text-decoration: none; min-width: 0px; overflow-wrap: anywhere; word-break: break-word; }", + ".main a { color: var(--cv-accent-color); text-decoration-color: var(--cv-accent-soft); }", + ".contact svg { width: 3.2mm; height: 3.2mm; flex: 0 0 auto; opacity: 0.85; }", + ".hero { margin-bottom: 7mm; }", + ".hero .name { font-size: 23pt; }", + ".section { margin-top: 7mm; }", + ".section:first-child { margin-top: 0px; }", + ".section-title { margin: 0px 0px 2.6mm; font-size: 12pt; font-weight: 700; color: rgb(124, 58, 237); }", + ".section-title { border-bottom: 1.5px solid var(--cv-accent-soft); padding-bottom: 1.5mm; }", + ".section-presentation-grid { display: grid; grid-template-columns: repeat(var(--cv-section-columns,1),minmax(0,1fr)); column-gap: 4mm; align-items: start; }", + ".section-presentation-grid > .section-title { grid-column: 1 / -1; }", + ".section-presentation-grid > .entry { min-width: 0px; }", + ".section-presentation-compact > .entry { margin-bottom: 2.48mm; }", + ".section-presentation-compact > .bullets li { margin-bottom: 0.75mm; }", + ".section-presentation-bubble > .tags, .section-presentation-bubble > .bullets { list-style: none; padding: 0px; display: flex; flex-wrap: wrap; gap: 1.4mm; }", + ".section-presentation-bubble > .bullets li, .section-presentation-bubble > .tags li { margin: 0px; border: 1px solid var(--cv-accent-soft); border-radius: 999px; padding: 0.7mm 2.2mm; }", + ".section-presentation-bubble > .bullets li::marker { content: \"\"; }", + ".bullets { margin: 0px; padding-left: 4.5mm; }", + ".bullets li { margin: 0px 0px 1.6mm; }", + ".bullets li::marker { color: var(--cv-accent-color); }", + ".tags { list-style: none; margin: 0px; padding: 0px; display: flex; flex-wrap: wrap; gap: 1.8mm; }", + ".skills-text { margin: 0px; overflow-wrap: anywhere; }", + ".tag { border: 1px solid var(--cv-accent-soft); border-radius: 999px; padding: 0.7mm 2.2mm; font-size: 9.5pt; max-width: 100%; overflow-wrap: anywhere; }", + ".paragraphs p { margin: 0px 0px 1.8mm; white-space: pre-line; }", + ".skill-groups { display: grid; gap: 1.7mm; }", + ".skill-group { display: grid; grid-template-columns: minmax(24mm, 0.3fr) minmax(0px, 1fr); gap: 3mm; break-inside: avoid; }", + ".skill-group-name { font-family: \"Roboto Mono\", Consolas, monospace; font-weight: 700; color: var(--cv-accent-color); overflow-wrap: anywhere; }", + ".skill-group-items { display: flex; flex-wrap: wrap; gap: 0.8mm 3mm; list-style: none; margin: 0px; padding: 0px; }", + ".skill-group-items li { overflow-wrap: anywhere; }", + ".entry { margin-bottom: 4.5mm; }", + ".entry:last-child { margin-bottom: 0px; }", + ".entry-head { display: flex; justify-content: space-between; gap: 1.5mm 4mm; align-items: baseline; flex-wrap: wrap; break-after: avoid; }", + ".entry-title { font-weight: 700; font-size: 11pt; min-width: 0px; flex: 1 1 50mm; overflow-wrap: anywhere; }", + ".entry-meta { color: rgb(75, 85, 99); font-size: 9.5pt; white-space: normal; text-align: right; max-width: 100%; overflow-wrap: anywhere; }", + ".entry-subtitle { color: rgb(75, 85, 99); font-size: 10pt; margin: 0.4mm 0px 1.2mm; }", + ".entry-tags { margin-top: 1.4mm; }", + ".main { padding: 0px 16mm 16mm; }", + ".header { padding: 16mm 16mm 7mm; display: flex; gap: 6mm; align-items: center; }", + ".header-band { background: rgb(124, 58, 237); color: rgb(255, 255, 255); }", + ".header-band .name, .header-band .headline, .header-band .contact, .header-band .contact-item, .header-band a { color: rgb(255, 255, 255); }", + ".header-centered { flex-direction: column; text-align: center; justify-content: center; }", + ".header-centered .contact { justify-content: center; }", + ".header-plain { border-bottom: 2px solid rgb(124, 58, 237); }", + ".entry { break-inside: avoid; }", + ".entry-flow { break-inside: auto; }", + ".section-title { break-after: avoid; }", + ".section-title + .entry, .section-title + .bullets, .section-title + .tags, .section-title + .paragraphs, .section-title + .skill-groups { break-before: avoid; }", + ".section { break-inside: avoid; }", + ".section-flow { break-inside: auto; }", + ".tag, .contact-item { break-inside: avoid; }", + ".bullets li { break-inside: avoid; orphans: 2; widows: 2; overflow-wrap: anywhere; }", + ".bullets li.item-flow { break-inside: auto; }", + "@media print {\n body { background: transparent; }\n .page { width: auto; min-height: 0px; margin: 0px; }\n .cols { min-height: 0px; }\n .header { padding-top: 0px; }\n .main, .sidebar { padding-top: 0px; padding-bottom: 0px; }\n}", + "@page { size: 210mm 297mm; margin: 16mm 0px; }", + "body { background: transparent; }", + ".page { width: auto; min-height: 0px; margin: 0px; }", + ".cols { min-height: 0px; }", + ".header { padding-top: 0px; }", + ".main, .sidebar { padding-top: 0px; padding-bottom: 0px; }", + "html, body { overflow: hidden !important; background: transparent !important; }", + "body { padding-top: 60.4724px; }", + "[data-cv-preview-flow] { width: 793.688px; height: 1002px; column-width: 793.688px; column-gap: 0px; column-fill: auto; transform-origin: left top; }" + ], + "sections": [ + { + "key": "section section-summary section-presentation-rows", + "title": "Professional Summary", + "fragments": [ + { + "x": 60.46875, + "y": 197.84375, + "width": 672.75, + "height": 58.109375 + } + ] + }, + { + "key": "section section-experience section-presentation-rows", + "title": "Professional Experience", + "fragments": [ + { + "x": 60.46875, + "y": 282.40625, + "width": 672.75, + "height": 128.859375 + } + ] + }, + { + "key": "section section-education section-presentation-rows", + "title": "Education", + "fragments": [ + { + "x": 60.46875, + "y": 437.71875, + "width": 672.75, + "height": 80.4375 + } + ] + }, + { + "key": "section section-projects section-presentation-rows", + "title": "Projects", + "fragments": [ + { + "x": 60.46875, + "y": 544.609375, + "width": 672.75, + "height": 78.9375 + } + ] + }, + { + "key": "section section-skills section-presentation-rows", + "title": "Skills", + "fragments": [ + { + "x": 60.46875, + "y": 650, + "width": 672.75, + "height": 64.453125 + } + ] + }, + { + "key": "section section-languages section-presentation-rows", + "title": "Languages", + "fragments": [ + { + "x": 60.46875, + "y": 740.90625, + "width": 672.75, + "height": 64.453125 + } + ] + } + ], + "effectiveMargin": "16mm", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.34 Safari/537.36" + } + }, + { + "fixture": "default-creative", + "settings": { + "themeId": "creative", + "accentColor": null, + "headingFont": null, + "bodyFont": null, + "density": null, + "pageSize": null, + "dateFormat": null, + "language": "en", + "headline": null, + "textColor": null, + "mutedColor": null, + "headingColor": null, + "backgroundColor": null, + "baseFontSizePt": null, + "headingSizePt": null, + "lineHeight": null, + "pageMarginMm": null, + "sectionGapMm": null, + "entryGapMm": null, + "headingStyle": null, + "headerStyle": null, + "skillsStyle": null, + "skillGroups": null, + "layout": null, + "sidebarWidthMm": null, + "sidebarSections": null, + "showPhoto": false, + "showPageNumbers": false, + "showIcons": true, + "sections": [ + { + "key": "summary", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "experience", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "education", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "projects", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "skills", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "languages", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "interests", + "hidden": true, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + } + ], + "overrides": {}, + "customSections": [] + }, + "previewPages": 1, + "measured": { + "width": 793.6875, + "contentHeight": 1122.52, + "usableHeight": 1002, + "layoutDurationMs": 53.8999999910593, + "text": "Åse Fixture\nCareer platform engineer\nase@example.test\nOslo, Norge\nSkills\nC#\nReact\nNorsk\nAccessibility\nLanguages\nNorsk — Native\nProfessional Summary\nR01 Builds reliable and accessible career software using documented evidence.\nProfessional Experience\nE01 Platform engineer\nNordlys Fixture AS\nB01 Delivered accessible application workflows with documented outcomes.\nB02 Maintained reliable APIs and verified releases.\nEducation\nE02 Computer science\nFixture University\nProjects\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.", + "tokens": [ + { + "token": "R01", + "x": 311.796875, + "y": 93, + "rawX": 311.796875, + "rawY": 93, + "page": 1, + "width": 22.359375, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Arial, sans-serif", + "color": "rgb(24, 24, 27)" + }, + { + "token": "E01", + "x": 294.796875, + "y": 186.046875, + "rawX": 294.796875, + "rawY": 186.046875, + "page": 1, + "width": 24.671875, + "height": 20, + "fontSize": "14.6667px", + "fontFamily": "\"Segoe UI\", Arial, sans-serif", + "color": "rgb(24, 24, 27)" + }, + { + "token": "B01", + "x": 311.796875, + "y": 231.828125, + "rawX": 311.796875, + "rawY": 231.828125, + "page": 1, + "width": 22.015625, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Arial, sans-serif", + "color": "rgb(24, 24, 27)" + }, + { + "token": "B02", + "x": 311.796875, + "y": 275.71875, + "rawX": 311.796875, + "rawY": 275.71875, + "page": 1, + "width": 22.015625, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Arial, sans-serif", + "color": "rgb(24, 24, 27)" + }, + { + "token": "E02", + "x": 294.796875, + "y": 349.84375, + "rawX": 294.796875, + "rawY": 349.84375, + "page": 1, + "width": 24.671875, + "height": 20, + "fontSize": "14.6667px", + "fontFamily": "\"Segoe UI\", Arial, sans-serif", + "color": "rgb(24, 24, 27)" + }, + { + "token": "P01", + "x": 294.796875, + "y": 446.296875, + "rawX": 294.796875, + "rawY": 446.296875, + "page": 1, + "width": 25.875, + "height": 20, + "fontSize": "14.6667px", + "fontFamily": "\"Segoe UI\", Arial, sans-serif", + "color": "rgb(24, 24, 27)" + }, + { + "token": "B03", + "x": 311.796875, + "y": 467.125, + "rawX": 311.796875, + "rawY": 467.125, + "page": 1, + "width": 22.015625, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Arial, sans-serif", + "color": "rgb(24, 24, 27)" + } + ], + "body": { + "x": 0, + "y": 0, + "width": 794, + "height": 1062.46875, + "font": "\"Segoe UI\", Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(24, 24, 27)", + "background": "rgba(0, 0, 0, 0)", + "padding": "60.4724px 0px 0px", + "margin": "0px" + }, + "page": { + "x": 0, + "y": 60.46875, + "width": 793.6875, + "height": 431.625, + "font": "\"Segoe UI\", Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(24, 24, 27)", + "background": "rgb(255, 255, 255)", + "padding": "0px", + "margin": "0px" + }, + "header": { + "x": 60.46875, + "y": 60.46875, + "width": 113.390625, + "height": 107, + "font": "\"Segoe UI\", Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(255, 255, 255)", + "background": "rgba(0, 0, 0, 0)", + "padding": "0px", + "margin": "0px 0px 22.6772px" + }, + "main": { + "x": 234.328125, + "y": 60.46875, + "width": 559.359375, + "height": 431.625, + "font": "\"Segoe UI\", Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(24, 24, 27)", + "background": "rgba(0, 0, 0, 0)", + "padding": "0px 60.4724px", + "margin": "0px" + }, + "sidebar": { + "x": 0, + "y": 60.46875, + "width": 234.328125, + "height": 431.625, + "font": "\"Segoe UI\", Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(255, 255, 255)", + "background": "rgb(219, 39, 119)", + "padding": "0px 60.4724px", + "margin": "0px" + }, + "parsedRules": [ + "* { box-sizing: border-box; }", + ":root { --cv-accent-color: #db2777; --cv-accent-ink: #fff; --cv-accent-soft: color-mix(in srgb,#db2777 28%,transparent); --cv-ink: #18181b; --cv-muted: #52525b; --cv-paper: #ffffff; --cv-page-margin: 16mm; }", + "html, body { min-width: 0px; }", + "body { margin: 0px; background: rgb(233, 237, 242); color: var(--cv-ink); font-family: \"Segoe UI\", Arial, sans-serif; font-size: 10pt; line-height: 1.42; print-color-adjust: exact; }", + ".page { width: 210mm; min-height: 297mm; margin: 0px auto; background: var(--cv-paper); overflow: visible; overflow-wrap: anywhere; word-break: normal; }", + "h1, h2 { font-family: Poppins, \"Segoe UI\", Arial, sans-serif; }", + ".name { margin: 0px; font-size: 24pt; color: rgb(24, 24, 27); line-height: 1.1; overflow-wrap: anywhere; }", + ".kicker { text-transform: uppercase; letter-spacing: 0.3em; font-size: 7.5pt; color: rgb(219, 39, 119); margin-bottom: 1.5mm; }", + ".headline { margin-top: 1.5mm; color: rgb(82, 82, 91); font-size: 10.5pt; }", + ".head-text, .main, .sidebar, .cols > * { min-width: 0px; }", + ".head-text { flex: 1 1 0%; }", + ".photo { width: 30mm; height: 30mm; overflow: hidden; flex: 0 0 auto; border: 1px solid var(--cv-accent-soft); }", + ".photo-square { border-radius: 2mm; }", + ".photo-rounded { border-radius: 5mm; }", + ".photo-circle { border-radius: 50%; }", + ".photo img { width: 100%; height: 100%; object-fit: cover; display: block; }", + ".contact { display: flex; gap: 3mm; flex-wrap: wrap; color: rgb(82, 82, 91); font-size: 9.5pt; margin-top: 2.5mm; }", + ".contact-stacked { flex-direction: column; gap: 1.8mm; }", + ".contact-item { display: inline-flex; align-items: center; gap: 1.2mm; min-width: 0px; max-width: 100%; overflow-wrap: anywhere; }", + ".contact a { color: inherit; text-decoration: none; min-width: 0px; overflow-wrap: anywhere; word-break: break-word; }", + ".main a { color: var(--cv-accent-color); text-decoration-color: var(--cv-accent-soft); }", + ".contact svg { width: 3.2mm; height: 3.2mm; flex: 0 0 auto; opacity: 0.85; }", + ".hero { margin-bottom: 6mm; }", + ".hero .name { font-size: 21pt; }", + ".section { margin-top: 6mm; }", + ".section:first-child { margin-top: 0px; }", + ".section-title { margin: 0px 0px 2.6mm; font-size: 12pt; font-weight: 700; color: rgb(219, 39, 119); }", + ".section-title { padding-left: 2.5mm; border-left: 3px solid rgb(219, 39, 119); }", + ".section-presentation-grid { display: grid; grid-template-columns: repeat(var(--cv-section-columns,1),minmax(0,1fr)); column-gap: 4mm; align-items: start; }", + ".section-presentation-grid > .section-title { grid-column: 1 / -1; }", + ".section-presentation-grid > .entry { min-width: 0px; }", + ".section-presentation-compact > .entry { margin-bottom: 2.48mm; }", + ".section-presentation-compact > .bullets li { margin-bottom: 0.75mm; }", + ".section-presentation-bubble > .tags, .section-presentation-bubble > .bullets { list-style: none; padding: 0px; display: flex; flex-wrap: wrap; gap: 1.4mm; }", + ".section-presentation-bubble > .bullets li, .section-presentation-bubble > .tags li { margin: 0px; border: 1px solid var(--cv-accent-soft); border-radius: 999px; padding: 0.7mm 2.2mm; }", + ".section-presentation-bubble > .bullets li::marker { content: \"\"; }", + ".bullets { margin: 0px; padding-left: 4.5mm; }", + ".bullets li { margin: 0px 0px 1.6mm; }", + ".bullets li::marker { color: var(--cv-accent-color); }", + ".tags { list-style: none; margin: 0px; padding: 0px; display: flex; flex-wrap: wrap; gap: 1.8mm; }", + ".skills-text { margin: 0px; overflow-wrap: anywhere; }", + ".tag { border: 1px solid var(--cv-accent-soft); border-radius: 999px; padding: 0.7mm 2.2mm; font-size: 9.5pt; max-width: 100%; overflow-wrap: anywhere; }", + ".paragraphs p { margin: 0px 0px 1.8mm; white-space: pre-line; }", + ".skill-groups { display: grid; gap: 1.7mm; }", + ".skill-group { display: grid; grid-template-columns: minmax(24mm, 0.3fr) minmax(0px, 1fr); gap: 3mm; break-inside: avoid; }", + ".skill-group-name { font-family: \"Roboto Mono\", Consolas, monospace; font-weight: 700; color: var(--cv-accent-color); overflow-wrap: anywhere; }", + ".skill-group-items { display: flex; flex-wrap: wrap; gap: 0.8mm 3mm; list-style: none; margin: 0px; padding: 0px; }", + ".skill-group-items li { overflow-wrap: anywhere; }", + ".entry { margin-bottom: 4.5mm; }", + ".entry:last-child { margin-bottom: 0px; }", + ".entry-head { display: flex; justify-content: space-between; gap: 1.5mm 4mm; align-items: baseline; flex-wrap: wrap; break-after: avoid; }", + ".entry-title { font-weight: 700; font-size: 11pt; min-width: 0px; flex: 1 1 50mm; overflow-wrap: anywhere; }", + ".entry-meta { color: rgb(82, 82, 91); font-size: 9.5pt; white-space: normal; text-align: right; max-width: 100%; overflow-wrap: anywhere; }", + ".entry-subtitle { color: rgb(82, 82, 91); font-size: 10pt; margin: 0.4mm 0px 1.2mm; }", + ".entry-tags { margin-top: 1.4mm; }", + ".cols { display: grid; grid-template-columns: 62mm minmax(0px, 1fr); min-height: 297mm; }", + ".sidebar { background: var(--cv-accent-color); color: var(--cv-accent-ink); padding: 16mm; }", + ".sidebar .section-title { color: var(--cv-accent-ink); border-color: color-mix(in srgb,var(--cv-accent-ink) 38%,transparent); }", + ".sidebar .tag { border-color: color-mix(in srgb,var(--cv-accent-ink) 45%,transparent); }", + ".sidebar .contact, .sidebar .headline, .sidebar .entry-meta, .sidebar .entry-subtitle { color: var(--cv-accent-ink); }", + ".sidebar a { color: inherit; }", + ".main { padding: 16mm; }", + ".hero .name { color: var(--cv-accent-ink); }", + ".entry { break-inside: avoid; }", + ".entry-flow { break-inside: auto; }", + ".section-title { break-after: avoid; }", + ".section-title + .entry, .section-title + .bullets, .section-title + .tags, .section-title + .paragraphs, .section-title + .skill-groups { break-before: avoid; }", + ".section { break-inside: avoid; }", + ".section-flow { break-inside: auto; }", + ".tag, .contact-item { break-inside: avoid; }", + ".bullets li { break-inside: avoid; orphans: 2; widows: 2; overflow-wrap: anywhere; }", + ".bullets li.item-flow { break-inside: auto; }", + "@media print {\n body { background: transparent; }\n .page { width: auto; min-height: 0px; margin: 0px; }\n .cols { min-height: 0px; }\n .header { padding-top: 0px; }\n .main, .sidebar { padding-top: 0px; padding-bottom: 0px; }\n}", + "@page { size: 210mm 297mm; margin: 16mm 0px; }", + "body { background: transparent; }", + ".page { width: auto; min-height: 0px; margin: 0px; }", + ".cols { min-height: 0px; }", + ".header { padding-top: 0px; }", + ".main, .sidebar { padding-top: 0px; padding-bottom: 0px; }", + "html, body { overflow: hidden !important; background: transparent !important; }", + "body { padding-top: 60.4724px; }", + "[data-cv-preview-flow] { width: 793.688px; height: 1002px; column-width: 793.688px; column-gap: 0px; column-fill: auto; transform-origin: left top; }" + ], + "sections": [ + { + "key": "section section-skills section-presentation-rows", + "title": "Skills", + "fragments": [ + { + "x": 60.46875, + "y": 273.5625, + "width": 113.390625, + "height": 121.921875 + } + ] + }, + { + "key": "section section-languages section-presentation-rows", + "title": "Languages", + "fragments": [ + { + "x": 60.46875, + "y": 418.15625, + "width": 113.390625, + "height": 57.796875 + } + ] + }, + { + "key": "section section-summary section-presentation-rows", + "title": "Professional Summary", + "fragments": [ + { + "x": 294.796875, + "y": 60.46875, + "width": 438.421875, + "height": 70.375 + } + ] + }, + { + "key": "section section-experience section-presentation-rows", + "title": "Professional Experience", + "fragments": [ + { + "x": 294.796875, + "y": 153.515625, + "width": 438.421875, + "height": 141.125 + } + ] + }, + { + "key": "section section-education section-presentation-rows", + "title": "Education", + "fragments": [ + { + "x": 294.796875, + "y": 317.3125, + "width": 438.421875, + "height": 73.78125 + } + ] + }, + { + "key": "section section-projects section-presentation-rows", + "title": "Projects", + "fragments": [ + { + "x": 294.796875, + "y": 413.765625, + "width": 438.421875, + "height": 72.28125 + } + ] + } + ], + "effectiveMargin": "16mm", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.34 Safari/537.36" + } + }, + { + "fixture": "default-code", + "settings": { + "themeId": "code", + "accentColor": null, + "headingFont": null, + "bodyFont": null, + "density": null, + "pageSize": null, + "dateFormat": null, + "language": "en", + "headline": null, + "textColor": null, + "mutedColor": null, + "headingColor": null, + "backgroundColor": null, + "baseFontSizePt": null, + "headingSizePt": null, + "lineHeight": null, + "pageMarginMm": null, + "sectionGapMm": null, + "entryGapMm": null, + "headingStyle": null, + "headerStyle": null, + "skillsStyle": null, + "skillGroups": null, + "layout": null, + "sidebarWidthMm": null, + "sidebarSections": null, + "showPhoto": false, + "showPageNumbers": false, + "showIcons": true, + "sections": [ + { + "key": "summary", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "experience", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "education", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "projects", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "skills", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "languages", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "interests", + "hidden": true, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + } + ], + "overrides": {}, + "customSections": [] + }, + "previewPages": 1, + "measured": { + "width": 793.6875, + "contentHeight": 1122.52, + "usableHeight": 1008, + "layoutDurationMs": 37.30000001192093, + "text": "Åse Fixture\nCareer platform engineer\nase@example.test\nOslo, Norge\nPROFESSIONAL SUMMARY\nR01 Builds reliable and accessible career software using documented evidence.\nPROFESSIONAL EXPERIENCE\nE01 Platform engineer\nNordlys Fixture AS\nB01 Delivered accessible application workflows with documented outcomes.\nB02 Maintained reliable APIs and verified releases.\nEDUCATION\nE02 Computer science\nFixture University\nPROJECTS\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\nSKILLS\nC#\nReact\nNorsk\nAccessibility\nLANGUAGES\nNorsk — Native", + "tokens": [ + { + "token": "R01", + "x": 74.59375, + "y": 200.546875, + "rawX": 74.59375, + "rawY": 200.546875, + "page": 1, + "width": 21.015625, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "E01", + "x": 57.59375, + "y": 271.09375, + "rawX": 57.59375, + "rawY": 271.09375, + "page": 1, + "width": 23.328125, + "height": 18, + "fontSize": "13.8667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B01", + "x": 74.59375, + "y": 314.84375, + "rawX": 74.59375, + "rawY": 314.84375, + "page": 1, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B02", + "x": 74.59375, + "y": 338.796875, + "rawX": 74.59375, + "rawY": 338.796875, + "page": 1, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "E02", + "x": 57.59375, + "y": 409.34375, + "rawX": 57.59375, + "rawY": 409.34375, + "page": 1, + "width": 23.328125, + "height": 18, + "fontSize": "13.8667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "P01", + "x": 57.59375, + "y": 501.203125, + "rawX": 57.59375, + "rawY": 501.203125, + "page": 1, + "width": 24.46875, + "height": 18, + "fontSize": "13.8667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B03", + "x": 74.59375, + "y": 521.015625, + "rawX": 74.59375, + "rawY": 521.015625, + "page": 1, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + } + ], + "body": { + "x": 0, + "y": 0, + "width": 794, + "height": 1065.59375, + "font": "\"Segoe UI\", Roboto, Arial, sans-serif", + "fontSize": "12.5333px", + "lineHeight": "17.9227px", + "color": "rgb(23, 26, 32)", + "background": "rgba(0, 0, 0, 0)", + "padding": "57.6px 0px 0px", + "margin": "0px" + }, + "page": { + "x": 0, + "y": 57.59375, + "width": 793.6875, + "height": 700.609375, + "font": "\"Segoe UI\", Roboto, Arial, sans-serif", + "fontSize": "12.5333px", + "lineHeight": "17.9227px", + "color": "rgb(23, 26, 32)", + "background": "rgb(255, 255, 255)", + "padding": "0px", + "margin": "0px" + }, + "header": { + "x": 0, + "y": 57.59375, + "width": 793.6875, + "height": 111.46875, + "font": "\"Segoe UI\", Roboto, Arial, sans-serif", + "fontSize": "12.5333px", + "lineHeight": "17.9227px", + "color": "rgb(23, 26, 32)", + "background": "rgba(0, 0, 0, 0)", + "padding": "0px 57.6px 21.1654px", + "margin": "0px" + }, + "main": { + "x": 0, + "y": 169.0625, + "width": 793.6875, + "height": 589.140625, + "font": "\"Segoe UI\", Roboto, Arial, sans-serif", + "fontSize": "12.5333px", + "lineHeight": "17.9227px", + "color": "rgb(23, 26, 32)", + "background": "rgba(0, 0, 0, 0)", + "padding": "0px 57.6px", + "margin": "0px" + }, + "sidebar": null, + "parsedRules": [ + "* { box-sizing: border-box; }", + ":root { --cv-accent-color: #0b7a63; --cv-accent-ink: #fff; --cv-accent-soft: color-mix(in srgb,#0b7a63 28%,transparent); --cv-ink: #171a20; --cv-muted: #555e6b; --cv-paper: #ffffff; --cv-page-margin: 15.24mm; }", + "html, body { min-width: 0px; }", + "body { margin: 0px; background: rgb(233, 237, 242); color: var(--cv-ink); font-family: \"Segoe UI\", Roboto, Arial, sans-serif; font-size: 9.4pt; line-height: 1.43; print-color-adjust: exact; }", + ".page { width: 210mm; min-height: 297mm; margin: 0px auto; background: var(--cv-paper); overflow: visible; overflow-wrap: anywhere; word-break: normal; }", + "h1, h2 { font-family: \"Segoe UI\", Roboto, Arial, sans-serif; }", + ".name { margin: 0px; font-size: 25.5pt; color: rgb(23, 26, 32); line-height: 1.1; overflow-wrap: anywhere; }", + ".kicker { text-transform: uppercase; letter-spacing: 0.3em; font-size: 7.5pt; color: rgb(11, 122, 99); margin-bottom: 1.5mm; }", + ".headline { margin-top: 1.5mm; color: rgb(85, 94, 107); font-size: 9.9pt; }", + ".head-text, .main, .sidebar, .cols > * { min-width: 0px; }", + ".head-text { flex: 1 1 0%; }", + ".photo { width: 30mm; height: 30mm; overflow: hidden; flex: 0 0 auto; border: 1px solid var(--cv-accent-soft); }", + ".photo-square { border-radius: 2mm; }", + ".photo-rounded { border-radius: 5mm; }", + ".photo-circle { border-radius: 50%; }", + ".photo img { width: 100%; height: 100%; object-fit: cover; display: block; }", + ".contact { display: flex; gap: 3mm; flex-wrap: wrap; color: rgb(85, 94, 107); font-size: 8.9pt; margin-top: 2.5mm; }", + ".contact-stacked { flex-direction: column; gap: 1.8mm; }", + ".contact-item { display: inline-flex; align-items: center; gap: 1.2mm; min-width: 0px; max-width: 100%; overflow-wrap: anywhere; }", + ".contact a { color: inherit; text-decoration: none; min-width: 0px; overflow-wrap: anywhere; word-break: break-word; }", + ".main a { color: var(--cv-accent-color); text-decoration-color: var(--cv-accent-soft); }", + ".contact svg { width: 3.2mm; height: 3.2mm; flex: 0 0 auto; opacity: 0.85; }", + ".hero { margin-bottom: 5.6mm; }", + ".hero .name { font-size: 22.5pt; }", + ".section { margin-top: 5.6mm; }", + ".section:first-child { margin-top: 0px; }", + ".section-title { margin: 0px 0px 2.6mm; font-size: 9.5pt; font-weight: 700; color: rgb(11, 122, 99); }", + ".section-title { text-transform: uppercase; letter-spacing: 0.14em; font-size: 8.08pt; color: var(--cv-accent-color); border-bottom: 1px solid var(--cv-accent-soft); padding-bottom: 1.4mm; }", + ".section-presentation-grid { display: grid; grid-template-columns: repeat(var(--cv-section-columns,1),minmax(0,1fr)); column-gap: 4mm; align-items: start; }", + ".section-presentation-grid > .section-title { grid-column: 1 / -1; }", + ".section-presentation-grid > .entry { min-width: 0px; }", + ".section-presentation-compact > .entry { margin-bottom: 2.37mm; }", + ".section-presentation-compact > .bullets li { margin-bottom: 0.75mm; }", + ".section-presentation-bubble > .tags, .section-presentation-bubble > .bullets { list-style: none; padding: 0px; display: flex; flex-wrap: wrap; gap: 1.4mm; }", + ".section-presentation-bubble > .bullets li, .section-presentation-bubble > .tags li { margin: 0px; border: 1px solid var(--cv-accent-soft); border-radius: 999px; padding: 0.7mm 2.2mm; }", + ".section-presentation-bubble > .bullets li::marker { content: \"\"; }", + ".bullets { margin: 0px; padding-left: 4.5mm; }", + ".bullets li { margin: 0px 0px 1.6mm; }", + ".bullets li::marker { color: var(--cv-accent-color); }", + ".tags { list-style: none; margin: 0px; padding: 0px; display: flex; flex-wrap: wrap; gap: 1.8mm; }", + ".skills-text { margin: 0px; overflow-wrap: anywhere; }", + ".tag { border: 1px solid var(--cv-accent-soft); border-radius: 999px; padding: 0.7mm 2.2mm; font-size: 8.9pt; max-width: 100%; overflow-wrap: anywhere; }", + ".paragraphs p { margin: 0px 0px 1.8mm; white-space: pre-line; }", + ".skill-groups { display: grid; gap: 1.7mm; }", + ".skill-group { display: grid; grid-template-columns: minmax(24mm, 0.3fr) minmax(0px, 1fr); gap: 3mm; break-inside: avoid; }", + ".skill-group-name { font-family: Consolas, \"Courier New\", monospace; font-weight: 700; color: var(--cv-accent-color); overflow-wrap: anywhere; }", + ".skill-group-items { display: flex; flex-wrap: wrap; gap: 0.8mm 3mm; list-style: none; margin: 0px; padding: 0px; }", + ".skill-group-items li { overflow-wrap: anywhere; }", + ".entry { margin-bottom: 4.3mm; }", + ".entry:last-child { margin-bottom: 0px; }", + ".entry-head { display: flex; justify-content: space-between; gap: 1.5mm 4mm; align-items: baseline; flex-wrap: wrap; break-after: avoid; }", + ".entry-title { font-weight: 700; font-size: 10.4pt; min-width: 0px; flex: 1 1 50mm; overflow-wrap: anywhere; }", + ".entry-meta { color: rgb(85, 94, 107); font-size: 8.9pt; white-space: normal; text-align: right; max-width: 100%; overflow-wrap: anywhere; }", + ".entry-subtitle { color: rgb(85, 94, 107); font-size: 9.4pt; margin: 0.4mm 0px 1.2mm; }", + ".entry-tags { margin-top: 1.4mm; }", + ".main { padding: 0px 15.24mm 15.24mm; }", + ".header { padding: 15.24mm 15.24mm 5.6mm; display: flex; gap: 6mm; align-items: center; }", + ".header-band { background: rgb(11, 122, 99); color: rgb(255, 255, 255); }", + ".header-band .name, .header-band .headline, .header-band .contact, .header-band .contact-item, .header-band a { color: rgb(255, 255, 255); }", + ".header-centered { flex-direction: column; text-align: center; justify-content: center; }", + ".header-centered .contact { justify-content: center; }", + ".header-plain { border-bottom: 2px solid rgb(11, 122, 99); }", + ".main { counter-reset: cv-section 0; }", + ".main > .section > .section-title { counter-increment: cv-section 1; font-family: Consolas, \"Courier New\", monospace; font-weight: 600; }", + ".main > .section > .section-title::before { content: counter(cv-section, decimal-leading-zero) \" — \"; color: var(--cv-accent-color); }", + ".entry { break-inside: avoid; }", + ".entry-flow { break-inside: auto; }", + ".section-title { break-after: avoid; }", + ".section-title + .entry, .section-title + .bullets, .section-title + .tags, .section-title + .paragraphs, .section-title + .skill-groups { break-before: avoid; }", + ".section { break-inside: avoid; }", + ".section-flow { break-inside: auto; }", + ".tag, .contact-item { break-inside: avoid; }", + ".bullets li { break-inside: avoid; orphans: 2; widows: 2; overflow-wrap: anywhere; }", + ".bullets li.item-flow { break-inside: auto; }", + "@media print {\n body { background: transparent; }\n .page { width: auto; min-height: 0px; margin: 0px; }\n .cols { min-height: 0px; }\n .header { padding-top: 0px; }\n .main, .sidebar { padding-top: 0px; padding-bottom: 0px; }\n}", + "@page { size: 210mm 297mm; margin: 15.24mm 0px; }", + "body { background: transparent; }", + ".page { width: auto; min-height: 0px; margin: 0px; }", + ".cols { min-height: 0px; }", + ".header { padding-top: 0px; }", + ".main, .sidebar { padding-top: 0px; padding-bottom: 0px; }", + "html, body { overflow: hidden !important; background: transparent !important; }", + "body { padding-top: 57.6px; }", + "[data-cv-preview-flow] { width: 793.688px; height: 1008px; column-width: 793.688px; column-gap: 0px; column-fill: auto; transform-origin: left top; }" + ], + "sections": [ + { + "key": "section section-summary section-presentation-rows", + "title": "Professional Summary", + "fragments": [ + { + "x": 57.59375, + "y": 169.0625, + "width": 678.5, + "height": 49.390625 + } + ] + }, + { + "key": "section section-experience section-presentation-rows", + "title": "Professional Experience", + "fragments": [ + { + "x": 57.59375, + "y": 239.609375, + "width": 678.5, + "height": 117.09375 + } + ] + }, + { + "key": "section section-education section-presentation-rows", + "title": "Education", + "fragments": [ + { + "x": 57.59375, + "y": 377.859375, + "width": 678.5, + "height": 70.703125 + } + ] + }, + { + "key": "section section-projects section-presentation-rows", + "title": "Projects", + "fragments": [ + { + "x": 57.59375, + "y": 469.71875, + "width": 678.5, + "height": 69.203125 + } + ] + }, + { + "key": "section section-skills section-presentation-rows", + "title": "Skills", + "fragments": [ + { + "x": 57.59375, + "y": 560.078125, + "width": 678.5, + "height": 121.25 + } + ] + }, + { + "key": "section section-languages section-presentation-rows", + "title": "Languages", + "fragments": [ + { + "x": 57.59375, + "y": 702.484375, + "width": 678.5, + "height": 55.71875 + } + ] + } + ], + "effectiveMargin": "15.24mm", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.34 Safari/537.36" + } + }, + { + "fixture": "long-en-minimal", + "settings": { + "themeId": "minimal", + "accentColor": null, + "headingFont": null, + "bodyFont": null, + "density": null, + "pageSize": null, + "dateFormat": null, + "language": "en", + "headline": null, + "textColor": null, + "mutedColor": null, + "headingColor": null, + "backgroundColor": null, + "baseFontSizePt": null, + "headingSizePt": null, + "lineHeight": null, + "pageMarginMm": null, + "sectionGapMm": null, + "entryGapMm": null, + "headingStyle": null, + "headerStyle": null, + "skillsStyle": null, + "skillGroups": null, + "layout": null, + "sidebarWidthMm": null, + "sidebarSections": null, + "showPhoto": false, + "showPageNumbers": false, + "showIcons": true, + "sections": [ + { + "key": "summary", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "experience", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "education", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "projects", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "skills", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "languages", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "interests", + "hidden": true, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + } + ], + "overrides": {}, + "customSections": [] + }, + "previewPages": 4, + "measured": { + "width": 793.6875, + "contentHeight": 4490.08, + "usableHeight": 1002, + "layoutDurationMs": 41.20000000298023, + "text": "Åse Fixture\nPlatform engineer with experience in accessible and reliable application workflows\nase@example.test\nOslo, Norge\nProfessional Summary\nR01 Builds reliable and accessible career software using documented evidence.\nProfessional Experience\nE01 Workflow and integration engineer\nNordlys Fixture 1\nB01 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB02 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB03 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nE02 Workflow and integration engineer\nNordlys Fixture 2\nB04 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB05 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB06 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nE03 Workflow and integration engineer\nNordlys Fixture 3\nB07 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB08 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB09 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nE04 Workflow and integration engineer\nNordlys Fixture 4\nB10 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB11 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB12 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nE05 Workflow and integration engineer\nNordlys Fixture 5\nB13 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB14 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB15 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nE06 Workflow and integration engineer\nNordlys Fixture 6\nB16 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB17 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB18 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nEducation\nE02 Computer science\nFixture University\nE08 Videreutdanning i universell utforming og informasjonsarkitektur\nFixture Academy\nProjects\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\nSkills\n\nC# · React · Norsk · Accessibility\n\nLanguages\nNorsk — Native", + "tokens": [ + { + "token": "R01", + "x": 77.46875, + "y": 210.59375, + "rawX": 77.46875, + "rawY": 210.59375, + "page": 1, + "width": 24.46875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "E01", + "x": 60.46875, + "y": 289.5, + "rawX": 60.46875, + "rawY": 289.5, + "page": 1, + "width": 26.09375, + "height": 16, + "fontSize": "14.6667px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B01", + "x": 77.46875, + "y": 334.28125, + "rawX": 77.46875, + "rawY": 334.28125, + "page": 1, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B02", + "x": 77.46875, + "y": 416.015625, + "rawX": 77.46875, + "rawY": 416.015625, + "page": 1, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B03", + "x": 77.46875, + "y": 497.75, + "rawX": 77.46875, + "rawY": 497.75, + "page": 1, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "E02", + "x": 60.46875, + "y": 725.78125, + "rawX": 60.46875, + "rawY": 725.78125, + "page": 1, + "width": 26.09375, + "height": 16, + "fontSize": "14.6667px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B04", + "x": 77.46875, + "y": 770.5625, + "rawX": 77.46875, + "rawY": 770.5625, + "page": 1, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B05", + "x": 77.46875, + "y": 852.296875, + "rawX": 77.46875, + "rawY": 852.296875, + "page": 1, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B06", + "x": 77.46875, + "y": 934.03125, + "rawX": 77.46875, + "rawY": 934.03125, + "page": 1, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "E03", + "x": 60.46875, + "y": 1298.48875, + "rawX": 854.15625, + "rawY": 175.96875, + "page": 2, + "width": 26.09375, + "height": 16, + "fontSize": "14.6667px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B07", + "x": 77.46875, + "y": 1343.27, + "rawX": 871.15625, + "rawY": 220.75, + "page": 2, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B08", + "x": 77.46875, + "y": 1425.004375, + "rawX": 871.15625, + "rawY": 302.484375, + "page": 2, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B09", + "x": 77.46875, + "y": 1506.73875, + "rawX": 871.15625, + "rawY": 384.21875, + "page": 2, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "E04", + "x": 60.46875, + "y": 1734.77, + "rawX": 854.15625, + "rawY": 612.25, + "page": 2, + "width": 26.09375, + "height": 16, + "fontSize": "14.6667px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B10", + "x": 77.46875, + "y": 1779.55125, + "rawX": 871.15625, + "rawY": 657.03125, + "page": 2, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B11", + "x": 77.46875, + "y": 1861.285625, + "rawX": 871.15625, + "rawY": 738.765625, + "page": 2, + "width": 22.734375, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B12", + "x": 77.46875, + "y": 1943.02, + "rawX": 871.15625, + "rawY": 820.5, + "page": 2, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "E05", + "x": 60.46875, + "y": 2307.50875, + "rawX": 1647.84375, + "rawY": 62.46875, + "page": 3, + "width": 26.09375, + "height": 16, + "fontSize": "14.6667px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B13", + "x": 77.46875, + "y": 2352.29, + "rawX": 1664.84375, + "rawY": 107.25, + "page": 3, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B14", + "x": 77.46875, + "y": 2434.024375, + "rawX": 1664.84375, + "rawY": 188.984375, + "page": 3, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B15", + "x": 77.46875, + "y": 2515.75875, + "rawX": 1664.84375, + "rawY": 270.71875, + "page": 3, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "E06", + "x": 60.46875, + "y": 2743.79, + "rawX": 1647.84375, + "rawY": 498.75, + "page": 3, + "width": 26.09375, + "height": 16, + "fontSize": "14.6667px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B16", + "x": 77.46875, + "y": 2788.57125, + "rawX": 1664.84375, + "rawY": 543.53125, + "page": 3, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B17", + "x": 77.46875, + "y": 2870.305625, + "rawX": 1664.84375, + "rawY": 625.265625, + "page": 3, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B18", + "x": 77.46875, + "y": 2952.04, + "rawX": 1664.84375, + "rawY": 707, + "page": 3, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "E02", + "x": 60.46875, + "y": 3462.56, + "rawX": 2441.53125, + "rawY": 95, + "page": 4, + "width": 26.09375, + "height": 16, + "fontSize": "14.6667px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "E08", + "x": 60.46875, + "y": 3522.700625, + "rawX": 2441.53125, + "rawY": 155.140625, + "page": 4, + "width": 26.09375, + "height": 16, + "fontSize": "14.6667px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "P01", + "x": 60.46875, + "y": 3622.935, + "rawX": 2441.53125, + "rawY": 255.375, + "page": 4, + "width": 26.09375, + "height": 16, + "fontSize": "14.6667px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B03", + "x": 77.46875, + "y": 3642.763125, + "rawX": 2458.53125, + "rawY": 275.203125, + "page": 4, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + } + ], + "body": { + "x": 0, + "y": 0, + "width": 794, + "height": 1062.46875, + "font": "\"Helvetica Neue\", Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(17, 24, 39)", + "background": "rgba(0, 0, 0, 0)", + "padding": "60.4724px 0px 0px", + "margin": "0px" + }, + "page": { + "x": 0, + "y": 60.46875, + "width": 3174.75, + "height": 1002, + "font": "\"Helvetica Neue\", Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(17, 24, 39)", + "background": "rgb(255, 255, 255)", + "padding": "0px", + "margin": "0px" + }, + "header": { + "x": 0, + "y": 60.46875, + "width": 793.6875, + "height": 116.59375, + "font": "\"Helvetica Neue\", Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(17, 24, 39)", + "background": "rgba(0, 0, 0, 0)", + "padding": "0px 60.4724px 26.4567px", + "margin": "0px" + }, + "main": { + "x": 0, + "y": 60.46875, + "width": 3174.75, + "height": 1002, + "font": "\"Helvetica Neue\", Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(17, 24, 39)", + "background": "rgba(0, 0, 0, 0)", + "padding": "0px 60.4724px", + "margin": "0px" + }, + "sidebar": null, + "parsedRules": [ + "* { box-sizing: border-box; }", + ":root { --cv-accent-color: #111827; --cv-accent-ink: #fff; --cv-accent-soft: color-mix(in srgb,#111827 28%,transparent); --cv-ink: #111827; --cv-muted: #6b7280; --cv-paper: #ffffff; --cv-page-margin: 16mm; }", + "html, body { min-width: 0px; }", + "body { margin: 0px; background: rgb(233, 237, 242); color: var(--cv-ink); font-family: \"Helvetica Neue\", Arial, sans-serif; font-size: 10pt; line-height: 1.42; print-color-adjust: exact; }", + ".page { width: 210mm; min-height: 297mm; margin: 0px auto; background: var(--cv-paper); overflow: visible; overflow-wrap: anywhere; word-break: normal; }", + "h1, h2 { font-family: \"Helvetica Neue\", Arial, sans-serif; }", + ".name { margin: 0px; font-size: 24pt; color: rgb(17, 24, 39); line-height: 1.1; overflow-wrap: anywhere; }", + ".kicker { text-transform: uppercase; letter-spacing: 0.3em; font-size: 7.5pt; color: rgb(17, 24, 39); margin-bottom: 1.5mm; }", + ".headline { margin-top: 1.5mm; color: rgb(107, 114, 128); font-size: 10.5pt; }", + ".head-text, .main, .sidebar, .cols > * { min-width: 0px; }", + ".head-text { flex: 1 1 0%; }", + ".photo { width: 30mm; height: 30mm; overflow: hidden; flex: 0 0 auto; border: 1px solid var(--cv-accent-soft); }", + ".photo-square { border-radius: 2mm; }", + ".photo-rounded { border-radius: 5mm; }", + ".photo-circle { border-radius: 50%; }", + ".photo img { width: 100%; height: 100%; object-fit: cover; display: block; }", + ".contact { display: flex; gap: 3mm; flex-wrap: wrap; color: rgb(107, 114, 128); font-size: 9.5pt; margin-top: 2.5mm; }", + ".contact-stacked { flex-direction: column; gap: 1.8mm; }", + ".contact-item { display: inline-flex; align-items: center; gap: 1.2mm; min-width: 0px; max-width: 100%; overflow-wrap: anywhere; }", + ".contact a { color: inherit; text-decoration: none; min-width: 0px; overflow-wrap: anywhere; word-break: break-word; }", + ".main a { color: var(--cv-accent-color); text-decoration-color: var(--cv-accent-soft); }", + ".contact svg { width: 3.2mm; height: 3.2mm; flex: 0 0 auto; opacity: 0.85; }", + ".hero { margin-bottom: 7mm; }", + ".hero .name { font-size: 21pt; }", + ".section { margin-top: 7mm; }", + ".section:first-child { margin-top: 0px; }", + ".section-title { margin: 0px 0px 2.6mm; font-size: 12pt; font-weight: 700; color: rgb(17, 24, 39); }", + ".section-title { letter-spacing: 0.01em; }", + ".section-presentation-grid { display: grid; grid-template-columns: repeat(var(--cv-section-columns,1),minmax(0,1fr)); column-gap: 4mm; align-items: start; }", + ".section-presentation-grid > .section-title { grid-column: 1 / -1; }", + ".section-presentation-grid > .entry { min-width: 0px; }", + ".section-presentation-compact > .entry { margin-bottom: 2.75mm; }", + ".section-presentation-compact > .bullets li { margin-bottom: 0.75mm; }", + ".section-presentation-bubble > .tags, .section-presentation-bubble > .bullets { list-style: none; padding: 0px; display: flex; flex-wrap: wrap; gap: 1.4mm; }", + ".section-presentation-bubble > .bullets li, .section-presentation-bubble > .tags li { margin: 0px; border: 1px solid var(--cv-accent-soft); border-radius: 999px; padding: 0.7mm 2.2mm; }", + ".section-presentation-bubble > .bullets li::marker { content: \"\"; }", + ".bullets { margin: 0px; padding-left: 4.5mm; }", + ".bullets li { margin: 0px 0px 1.6mm; }", + ".bullets li::marker { color: var(--cv-accent-color); }", + ".tags { list-style: none; margin: 0px; padding: 0px; display: flex; flex-wrap: wrap; gap: 1.8mm; }", + ".skills-text { margin: 0px; overflow-wrap: anywhere; }", + ".tag { border: 1px solid var(--cv-accent-soft); border-radius: 999px; padding: 0.7mm 2.2mm; font-size: 9.5pt; max-width: 100%; overflow-wrap: anywhere; }", + ".paragraphs p { margin: 0px 0px 1.8mm; white-space: pre-line; }", + ".skill-groups { display: grid; gap: 1.7mm; }", + ".skill-group { display: grid; grid-template-columns: minmax(24mm, 0.3fr) minmax(0px, 1fr); gap: 3mm; break-inside: avoid; }", + ".skill-group-name { font-family: \"Roboto Mono\", Consolas, monospace; font-weight: 700; color: var(--cv-accent-color); overflow-wrap: anywhere; }", + ".skill-group-items { display: flex; flex-wrap: wrap; gap: 0.8mm 3mm; list-style: none; margin: 0px; padding: 0px; }", + ".skill-group-items li { overflow-wrap: anywhere; }", + ".entry { margin-bottom: 5mm; }", + ".entry:last-child { margin-bottom: 0px; }", + ".entry-head { display: flex; justify-content: space-between; gap: 1.5mm 4mm; align-items: baseline; flex-wrap: wrap; break-after: avoid; }", + ".entry-title { font-weight: 700; font-size: 11pt; min-width: 0px; flex: 1 1 50mm; overflow-wrap: anywhere; }", + ".entry-meta { color: rgb(107, 114, 128); font-size: 9.5pt; white-space: normal; text-align: right; max-width: 100%; overflow-wrap: anywhere; }", + ".entry-subtitle { color: rgb(107, 114, 128); font-size: 10pt; margin: 0.4mm 0px 1.2mm; }", + ".entry-tags { margin-top: 1.4mm; }", + ".main { padding: 0px 16mm 16mm; }", + ".header { padding: 16mm 16mm 7mm; display: flex; gap: 6mm; align-items: center; }", + ".header-band { background: rgb(17, 24, 39); color: rgb(255, 255, 255); }", + ".header-band .name, .header-band .headline, .header-band .contact, .header-band .contact-item, .header-band a { color: rgb(255, 255, 255); }", + ".header-centered { flex-direction: column; text-align: center; justify-content: center; }", + ".header-centered .contact { justify-content: center; }", + ".header-plain { border-bottom: 2px solid rgb(17, 24, 39); }", + ".entry { break-inside: avoid; }", + ".entry-flow { break-inside: auto; }", + ".section-title { break-after: avoid; }", + ".section-title + .entry, .section-title + .bullets, .section-title + .tags, .section-title + .paragraphs, .section-title + .skill-groups { break-before: avoid; }", + ".section { break-inside: avoid; }", + ".section-flow { break-inside: auto; }", + ".tag, .contact-item { break-inside: avoid; }", + ".bullets li { break-inside: avoid; orphans: 2; widows: 2; overflow-wrap: anywhere; }", + ".bullets li.item-flow { break-inside: auto; }", + "@media print {\n body { background: transparent; }\n .page { width: auto; min-height: 0px; margin: 0px; }\n .cols { min-height: 0px; }\n .header { padding-top: 0px; }\n .main, .sidebar { padding-top: 0px; padding-bottom: 0px; }\n}", + "@page { size: 210mm 297mm; margin: 16mm 0px; }", + "body { background: transparent; }", + ".page { width: auto; min-height: 0px; margin: 0px; }", + ".cols { min-height: 0px; }", + ".header { padding-top: 0px; }", + ".main, .sidebar { padding-top: 0px; padding-bottom: 0px; }", + "html, body { overflow: hidden !important; background: transparent !important; }", + "body { padding-top: 60.4724px; }", + "[data-cv-preview-flow] { width: 793.688px; height: 1002px; column-width: 793.688px; column-gap: 0px; column-fill: auto; transform-origin: left top; }" + ], + "sections": [ + { + "key": "section section-summary section-presentation-rows", + "title": "Professional Summary", + "fragments": [ + { + "x": 60.46875, + "y": 177.0625, + "width": 672.75, + "height": 51.453125 + } + ] + }, + { + "key": "section section-experience section-flow section-presentation-rows", + "title": "Professional Experience", + "fragments": [ + { + "x": 60.46875, + "y": 254.96875, + "width": 672.75, + "height": 807.5 + }, + { + "x": 854.15625, + "y": 60.46875, + "width": 672.75, + "height": 1002 + }, + { + "x": 1647.84375, + "y": 60.46875, + "width": 672.75, + "height": 853.671875 + } + ] + }, + { + "key": "section section-education section-presentation-rows", + "title": "Education", + "fragments": [ + { + "x": 2441.53125, + "y": 60.46875, + "width": 672.75, + "height": 133.921875 + } + ] + }, + { + "key": "section section-projects section-presentation-rows", + "title": "Projects", + "fragments": [ + { + "x": 2441.53125, + "y": 220.84375, + "width": 672.75, + "height": 72.28125 + } + ] + }, + { + "key": "section section-skills section-presentation-rows", + "title": "Skills", + "fragments": [ + { + "x": 2441.53125, + "y": 319.578125, + "width": 672.75, + "height": 51.453125 + } + ] + }, + { + "key": "section section-languages section-presentation-rows", + "title": "Languages", + "fragments": [ + { + "x": 2441.53125, + "y": 397.484375, + "width": 672.75, + "height": 57.796875 + } + ] + } + ], + "effectiveMargin": "16mm", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.34 Safari/537.36" + } + }, + { + "fixture": "long-nb-code", + "settings": { + "themeId": "code", + "accentColor": null, + "headingFont": null, + "bodyFont": null, + "density": null, + "pageSize": null, + "dateFormat": null, + "language": "nb", + "headline": null, + "textColor": null, + "mutedColor": null, + "headingColor": null, + "backgroundColor": null, + "baseFontSizePt": null, + "headingSizePt": null, + "lineHeight": null, + "pageMarginMm": null, + "sectionGapMm": null, + "entryGapMm": null, + "headingStyle": null, + "headerStyle": null, + "skillsStyle": null, + "skillGroups": null, + "layout": null, + "sidebarWidthMm": null, + "sidebarSections": null, + "showPhoto": false, + "showPageNumbers": false, + "showIcons": true, + "sections": [ + { + "key": "summary", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "experience", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "education", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "projects", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "skills", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "languages", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "interests", + "hidden": true, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + } + ], + "overrides": {}, + "customSections": [] + }, + "previewPages": 4, + "measured": { + "width": 793.6875, + "contentHeight": 4490.08, + "usableHeight": 1008, + "layoutDurationMs": 44.900000005960464, + "text": "Åse Fixture\nPlattformutvikler med erfaring fra tilgjengelige, pålitelige arbeidsflyter\nase@example.test\nOslo, Norge\nPROFIL\nR01 Builds reliable and accessible career software using documented evidence.\nARBEIDSERFARING\nE01 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 1\nB01 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB02 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB03 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nE02 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 2\nB04 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB05 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB06 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nE03 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 3\nB07 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB08 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB09 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nE04 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 4\nB10 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB11 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB12 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nE05 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 5\nB13 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB14 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB15 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nE06 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 6\nB16 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB17 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB18 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nUTDANNING\nE02 Computer science\nFixture University\nE08 Videreutdanning i universell utforming og informasjonsarkitektur\nFixture Academy\nPROSJEKTER\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\nFERDIGHETER\nC#\nReact\nNorsk\nAccessibility\nSPRÅK\nNorsk — Native", + "tokens": [ + { + "token": "R01", + "x": 74.59375, + "y": 200.546875, + "rawX": 74.59375, + "rawY": 200.546875, + "page": 1, + "width": 21.015625, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "E01", + "x": 57.59375, + "y": 271.09375, + "rawX": 57.59375, + "rawY": 271.09375, + "page": 1, + "width": 23.328125, + "height": 18, + "fontSize": "13.8667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B01", + "x": 74.59375, + "y": 314.84375, + "rawX": 74.59375, + "rawY": 314.84375, + "page": 1, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B02", + "x": 74.59375, + "y": 392.515625, + "rawX": 74.59375, + "rawY": 392.515625, + "page": 1, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B03", + "x": 74.59375, + "y": 470.1875, + "rawX": 74.59375, + "rawY": 470.1875, + "page": 1, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "E02", + "x": 57.59375, + "y": 665.5, + "rawX": 57.59375, + "rawY": 665.5, + "page": 1, + "width": 23.328125, + "height": 18, + "fontSize": "13.8667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B04", + "x": 74.59375, + "y": 709.25, + "rawX": 74.59375, + "rawY": 709.25, + "page": 1, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B05", + "x": 74.59375, + "y": 786.921875, + "rawX": 74.59375, + "rawY": 786.921875, + "page": 1, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B06", + "x": 74.59375, + "y": 864.59375, + "rawX": 74.59375, + "rawY": 864.59375, + "page": 1, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "E03", + "x": 57.59375, + "y": 1180.11375, + "rawX": 851.28125, + "rawY": 57.59375, + "page": 2, + "width": 23.328125, + "height": 18, + "fontSize": "13.8667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B07", + "x": 74.59375, + "y": 1223.86375, + "rawX": 868.28125, + "rawY": 101.34375, + "page": 2, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B08", + "x": 74.59375, + "y": 1301.535625, + "rawX": 868.28125, + "rawY": 179.015625, + "page": 2, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B09", + "x": 74.59375, + "y": 1379.2075, + "rawX": 868.28125, + "rawY": 256.6875, + "page": 2, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "E04", + "x": 57.59375, + "y": 1574.52, + "rawX": 851.28125, + "rawY": 452, + "page": 2, + "width": 23.328125, + "height": 18, + "fontSize": "13.8667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B10", + "x": 74.59375, + "y": 1618.27, + "rawX": 868.28125, + "rawY": 495.75, + "page": 2, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B11", + "x": 74.59375, + "y": 1695.941875, + "rawX": 868.28125, + "rawY": 573.421875, + "page": 2, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B12", + "x": 74.59375, + "y": 1773.61375, + "rawX": 868.28125, + "rawY": 651.09375, + "page": 2, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "E05", + "x": 57.59375, + "y": 1968.92625, + "rawX": 851.28125, + "rawY": 846.40625, + "page": 2, + "width": 23.328125, + "height": 18, + "fontSize": "13.8667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B13", + "x": 74.59375, + "y": 2012.67625, + "rawX": 868.28125, + "rawY": 890.15625, + "page": 2, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B14", + "x": 74.59375, + "y": 2090.348125, + "rawX": 868.28125, + "rawY": 967.828125, + "page": 2, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B15", + "x": 74.59375, + "y": 2302.63375, + "rawX": 1661.96875, + "rawY": 57.59375, + "page": 3, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "E06", + "x": 57.59375, + "y": 2497.94625, + "rawX": 1644.96875, + "rawY": 252.90625, + "page": 3, + "width": 23.328125, + "height": 18, + "fontSize": "13.8667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B16", + "x": 74.59375, + "y": 2541.69625, + "rawX": 1661.96875, + "rawY": 296.65625, + "page": 3, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B17", + "x": 74.59375, + "y": 2619.368125, + "rawX": 1661.96875, + "rawY": 374.328125, + "page": 3, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B18", + "x": 74.59375, + "y": 2697.04, + "rawX": 1661.96875, + "rawY": 452, + "page": 3, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "E02", + "x": 57.59375, + "y": 2928.743125, + "rawX": 1644.96875, + "rawY": 683.703125, + "page": 3, + "width": 23.328125, + "height": 18, + "fontSize": "13.8667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "E08", + "x": 57.59375, + "y": 2984.211875, + "rawX": 1644.96875, + "rawY": 739.171875, + "page": 3, + "width": 23.328125, + "height": 18, + "fontSize": "13.8667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "P01", + "x": 57.59375, + "y": 3076.07125, + "rawX": 1644.96875, + "rawY": 831.03125, + "page": 3, + "width": 24.46875, + "height": 18, + "fontSize": "13.8667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B03", + "x": 74.59375, + "y": 3095.88375, + "rawX": 1661.96875, + "rawY": 850.84375, + "page": 3, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + } + ], + "body": { + "x": 0, + "y": 0, + "width": 794, + "height": 1065.59375, + "font": "\"Segoe UI\", Roboto, Arial, sans-serif", + "fontSize": "12.5333px", + "lineHeight": "17.9227px", + "color": "rgb(23, 26, 32)", + "background": "rgba(0, 0, 0, 0)", + "padding": "57.6px 0px 0px", + "margin": "0px" + }, + "page": { + "x": 0, + "y": 57.59375, + "width": 3174.75, + "height": 1008, + "font": "\"Segoe UI\", Roboto, Arial, sans-serif", + "fontSize": "12.5333px", + "lineHeight": "17.9227px", + "color": "rgb(23, 26, 32)", + "background": "rgb(255, 255, 255)", + "padding": "0px", + "margin": "0px" + }, + "header": { + "x": 0, + "y": 57.59375, + "width": 793.6875, + "height": 111.46875, + "font": "\"Segoe UI\", Roboto, Arial, sans-serif", + "fontSize": "12.5333px", + "lineHeight": "17.9227px", + "color": "rgb(23, 26, 32)", + "background": "rgba(0, 0, 0, 0)", + "padding": "0px 57.6px 21.1654px", + "margin": "0px" + }, + "main": { + "x": 0, + "y": 57.59375, + "width": 3174.75, + "height": 1008, + "font": "\"Segoe UI\", Roboto, Arial, sans-serif", + "fontSize": "12.5333px", + "lineHeight": "17.9227px", + "color": "rgb(23, 26, 32)", + "background": "rgba(0, 0, 0, 0)", + "padding": "0px 57.6px", + "margin": "0px" + }, + "sidebar": null, + "parsedRules": [ + "* { box-sizing: border-box; }", + ":root { --cv-accent-color: #0b7a63; --cv-accent-ink: #fff; --cv-accent-soft: color-mix(in srgb,#0b7a63 28%,transparent); --cv-ink: #171a20; --cv-muted: #555e6b; --cv-paper: #ffffff; --cv-page-margin: 15.24mm; }", + "html, body { min-width: 0px; }", + "body { margin: 0px; background: rgb(233, 237, 242); color: var(--cv-ink); font-family: \"Segoe UI\", Roboto, Arial, sans-serif; font-size: 9.4pt; line-height: 1.43; print-color-adjust: exact; }", + ".page { width: 210mm; min-height: 297mm; margin: 0px auto; background: var(--cv-paper); overflow: visible; overflow-wrap: anywhere; word-break: normal; }", + "h1, h2 { font-family: \"Segoe UI\", Roboto, Arial, sans-serif; }", + ".name { margin: 0px; font-size: 25.5pt; color: rgb(23, 26, 32); line-height: 1.1; overflow-wrap: anywhere; }", + ".kicker { text-transform: uppercase; letter-spacing: 0.3em; font-size: 7.5pt; color: rgb(11, 122, 99); margin-bottom: 1.5mm; }", + ".headline { margin-top: 1.5mm; color: rgb(85, 94, 107); font-size: 9.9pt; }", + ".head-text, .main, .sidebar, .cols > * { min-width: 0px; }", + ".head-text { flex: 1 1 0%; }", + ".photo { width: 30mm; height: 30mm; overflow: hidden; flex: 0 0 auto; border: 1px solid var(--cv-accent-soft); }", + ".photo-square { border-radius: 2mm; }", + ".photo-rounded { border-radius: 5mm; }", + ".photo-circle { border-radius: 50%; }", + ".photo img { width: 100%; height: 100%; object-fit: cover; display: block; }", + ".contact { display: flex; gap: 3mm; flex-wrap: wrap; color: rgb(85, 94, 107); font-size: 8.9pt; margin-top: 2.5mm; }", + ".contact-stacked { flex-direction: column; gap: 1.8mm; }", + ".contact-item { display: inline-flex; align-items: center; gap: 1.2mm; min-width: 0px; max-width: 100%; overflow-wrap: anywhere; }", + ".contact a { color: inherit; text-decoration: none; min-width: 0px; overflow-wrap: anywhere; word-break: break-word; }", + ".main a { color: var(--cv-accent-color); text-decoration-color: var(--cv-accent-soft); }", + ".contact svg { width: 3.2mm; height: 3.2mm; flex: 0 0 auto; opacity: 0.85; }", + ".hero { margin-bottom: 5.6mm; }", + ".hero .name { font-size: 22.5pt; }", + ".section { margin-top: 5.6mm; }", + ".section:first-child { margin-top: 0px; }", + ".section-title { margin: 0px 0px 2.6mm; font-size: 9.5pt; font-weight: 700; color: rgb(11, 122, 99); }", + ".section-title { text-transform: uppercase; letter-spacing: 0.14em; font-size: 8.08pt; color: var(--cv-accent-color); border-bottom: 1px solid var(--cv-accent-soft); padding-bottom: 1.4mm; }", + ".section-presentation-grid { display: grid; grid-template-columns: repeat(var(--cv-section-columns,1),minmax(0,1fr)); column-gap: 4mm; align-items: start; }", + ".section-presentation-grid > .section-title { grid-column: 1 / -1; }", + ".section-presentation-grid > .entry { min-width: 0px; }", + ".section-presentation-compact > .entry { margin-bottom: 2.37mm; }", + ".section-presentation-compact > .bullets li { margin-bottom: 0.75mm; }", + ".section-presentation-bubble > .tags, .section-presentation-bubble > .bullets { list-style: none; padding: 0px; display: flex; flex-wrap: wrap; gap: 1.4mm; }", + ".section-presentation-bubble > .bullets li, .section-presentation-bubble > .tags li { margin: 0px; border: 1px solid var(--cv-accent-soft); border-radius: 999px; padding: 0.7mm 2.2mm; }", + ".section-presentation-bubble > .bullets li::marker { content: \"\"; }", + ".bullets { margin: 0px; padding-left: 4.5mm; }", + ".bullets li { margin: 0px 0px 1.6mm; }", + ".bullets li::marker { color: var(--cv-accent-color); }", + ".tags { list-style: none; margin: 0px; padding: 0px; display: flex; flex-wrap: wrap; gap: 1.8mm; }", + ".skills-text { margin: 0px; overflow-wrap: anywhere; }", + ".tag { border: 1px solid var(--cv-accent-soft); border-radius: 999px; padding: 0.7mm 2.2mm; font-size: 8.9pt; max-width: 100%; overflow-wrap: anywhere; }", + ".paragraphs p { margin: 0px 0px 1.8mm; white-space: pre-line; }", + ".skill-groups { display: grid; gap: 1.7mm; }", + ".skill-group { display: grid; grid-template-columns: minmax(24mm, 0.3fr) minmax(0px, 1fr); gap: 3mm; break-inside: avoid; }", + ".skill-group-name { font-family: Consolas, \"Courier New\", monospace; font-weight: 700; color: var(--cv-accent-color); overflow-wrap: anywhere; }", + ".skill-group-items { display: flex; flex-wrap: wrap; gap: 0.8mm 3mm; list-style: none; margin: 0px; padding: 0px; }", + ".skill-group-items li { overflow-wrap: anywhere; }", + ".entry { margin-bottom: 4.3mm; }", + ".entry:last-child { margin-bottom: 0px; }", + ".entry-head { display: flex; justify-content: space-between; gap: 1.5mm 4mm; align-items: baseline; flex-wrap: wrap; break-after: avoid; }", + ".entry-title { font-weight: 700; font-size: 10.4pt; min-width: 0px; flex: 1 1 50mm; overflow-wrap: anywhere; }", + ".entry-meta { color: rgb(85, 94, 107); font-size: 8.9pt; white-space: normal; text-align: right; max-width: 100%; overflow-wrap: anywhere; }", + ".entry-subtitle { color: rgb(85, 94, 107); font-size: 9.4pt; margin: 0.4mm 0px 1.2mm; }", + ".entry-tags { margin-top: 1.4mm; }", + ".main { padding: 0px 15.24mm 15.24mm; }", + ".header { padding: 15.24mm 15.24mm 5.6mm; display: flex; gap: 6mm; align-items: center; }", + ".header-band { background: rgb(11, 122, 99); color: rgb(255, 255, 255); }", + ".header-band .name, .header-band .headline, .header-band .contact, .header-band .contact-item, .header-band a { color: rgb(255, 255, 255); }", + ".header-centered { flex-direction: column; text-align: center; justify-content: center; }", + ".header-centered .contact { justify-content: center; }", + ".header-plain { border-bottom: 2px solid rgb(11, 122, 99); }", + ".main { counter-reset: cv-section 0; }", + ".main > .section > .section-title { counter-increment: cv-section 1; font-family: Consolas, \"Courier New\", monospace; font-weight: 600; }", + ".main > .section > .section-title::before { content: counter(cv-section, decimal-leading-zero) \" — \"; color: var(--cv-accent-color); }", + ".entry { break-inside: avoid; }", + ".entry-flow { break-inside: auto; }", + ".section-title { break-after: avoid; }", + ".section-title + .entry, .section-title + .bullets, .section-title + .tags, .section-title + .paragraphs, .section-title + .skill-groups { break-before: avoid; }", + ".section { break-inside: avoid; }", + ".section-flow { break-inside: auto; }", + ".tag, .contact-item { break-inside: avoid; }", + ".bullets li { break-inside: avoid; orphans: 2; widows: 2; overflow-wrap: anywhere; }", + ".bullets li.item-flow { break-inside: auto; }", + "@media print {\n body { background: transparent; }\n .page { width: auto; min-height: 0px; margin: 0px; }\n .cols { min-height: 0px; }\n .header { padding-top: 0px; }\n .main, .sidebar { padding-top: 0px; padding-bottom: 0px; }\n}", + "@page { size: 210mm 297mm; margin: 15.24mm 0px; }", + "body { background: transparent; }", + ".page { width: auto; min-height: 0px; margin: 0px; }", + ".cols { min-height: 0px; }", + ".header { padding-top: 0px; }", + ".main, .sidebar { padding-top: 0px; padding-bottom: 0px; }", + "html, body { overflow: hidden !important; background: transparent !important; }", + "body { padding-top: 57.6px; }", + "[data-cv-preview-flow] { width: 793.688px; height: 1008px; column-width: 793.688px; column-gap: 0px; column-fill: auto; transform-origin: left top; }" + ], + "sections": [ + { + "key": "section section-summary section-presentation-rows", + "title": "Profil", + "fragments": [ + { + "x": 57.59375, + "y": 169.0625, + "width": 678.5, + "height": 49.390625 + } + ] + }, + { + "key": "section section-experience section-flow section-presentation-rows", + "title": "Arbeidserfaring", + "fragments": [ + { + "x": 57.59375, + "y": 239.609375, + "width": 678.5, + "height": 825.984375 + }, + { + "x": 851.28125, + "y": 57.59375, + "width": 678.5, + "height": 1008 + }, + { + "x": 1644.96875, + "y": 57.59375, + "width": 678.5, + "height": 573.46875 + } + ] + }, + { + "key": "section section-education section-presentation-rows", + "title": "Utdanning", + "fragments": [ + { + "x": 1644.96875, + "y": 652.21875, + "width": 678.5, + "height": 126.171875 + } + ] + }, + { + "key": "section section-projects section-presentation-rows", + "title": "Prosjekter", + "fragments": [ + { + "x": 1644.96875, + "y": 799.546875, + "width": 678.5, + "height": 69.203125 + } + ] + }, + { + "key": "section section-skills section-presentation-rows", + "title": "Ferdigheter", + "fragments": [ + { + "x": 1644.96875, + "y": 889.90625, + "width": 678.5, + "height": 121.25 + } + ] + }, + { + "key": "section section-languages section-presentation-rows", + "title": "Språk", + "fragments": [ + { + "x": 2438.65625, + "y": 57.59375, + "width": 678.5, + "height": 55.71875 + } + ] + } + ], + "effectiveMargin": "15.24mm", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.34 Safari/537.36" + } + }, + { + "fixture": "compact-8mm-letter", + "settings": { + "themeId": "ats-classic", + "accentColor": null, + "headingFont": null, + "bodyFont": null, + "density": "compact", + "pageSize": "letter", + "dateFormat": null, + "language": "en", + "headline": null, + "textColor": null, + "mutedColor": null, + "headingColor": null, + "backgroundColor": null, + "baseFontSizePt": null, + "headingSizePt": null, + "lineHeight": null, + "pageMarginMm": 8, + "sectionGapMm": 3, + "entryGapMm": 2, + "headingStyle": null, + "headerStyle": null, + "skillsStyle": null, + "skillGroups": null, + "layout": null, + "sidebarWidthMm": null, + "sidebarSections": null, + "showPhoto": false, + "showPageNumbers": false, + "showIcons": true, + "sections": [ + { + "key": "summary", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "experience", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "education", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "projects", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "skills", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "languages", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "interests", + "hidden": true, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + } + ], + "overrides": {}, + "customSections": [] + }, + "previewPages": 4, + "measured": { + "width": 816, + "contentHeight": 4224, + "usableHeight": 1007, + "layoutDurationMs": 38.099999994039536, + "text": "Åse Fixture\nPlatform engineer with experience in accessible and reliable application workflows\nase@example.test\nOslo, Norge\nPROFESSIONAL SUMMARY\nR01 Builds reliable and accessible career software using documented evidence.\nPROFESSIONAL EXPERIENCE\nE01 Workflow and integration engineer\nNordlys Fixture 1\nB01 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB02 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB03 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nE02 Workflow and integration engineer\nNordlys Fixture 2\nB04 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB05 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB06 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nE03 Workflow and integration engineer\nNordlys Fixture 3\nB07 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB08 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB09 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nE04 Workflow and integration engineer\nNordlys Fixture 4\nB10 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB11 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB12 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nE05 Workflow and integration engineer\nNordlys Fixture 5\nB13 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB14 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB15 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nE06 Workflow and integration engineer\nNordlys Fixture 6\nB16 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB17 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB18 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nEDUCATION\nE02 Computer science\nFixture University\nE08 Videreutdanning i universell utforming og informasjonsarkitektur\nFixture Academy\nPROJECTS\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\nSKILLS\nC#\nReact\nNorsk\nAccessibility\nLANGUAGES\nNorsk — Native", + "tokens": [ + { + "token": "R01", + "x": 41.78125, + "y": 168.140625, + "rawX": 41.78125, + "rawY": 168.140625, + "page": 1, + "width": 24.46875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "E01", + "x": 24.78125, + "y": 230.984375, + "rawX": 24.78125, + "rawY": 230.984375, + "page": 1, + "width": 26.09375, + "height": 16, + "fontSize": "14.6667px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B01", + "x": 41.78125, + "y": 275.765625, + "rawX": 41.78125, + "rawY": 275.765625, + "page": 1, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B02", + "x": 41.78125, + "y": 356.390625, + "rawX": 41.78125, + "rawY": 356.390625, + "page": 1, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B03", + "x": 41.78125, + "y": 437.015625, + "rawX": 41.78125, + "rawY": 437.015625, + "page": 1, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "E02", + "x": 24.78125, + "y": 633.421875, + "rawX": 24.78125, + "rawY": 633.421875, + "page": 1, + "width": 26.09375, + "height": 16, + "fontSize": "14.6667px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B04", + "x": 41.78125, + "y": 678.203125, + "rawX": 41.78125, + "rawY": 678.203125, + "page": 1, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B05", + "x": 41.78125, + "y": 758.828125, + "rawX": 41.78125, + "rawY": 758.828125, + "page": 1, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B06", + "x": 41.78125, + "y": 839.453125, + "rawX": 41.78125, + "rawY": 839.453125, + "page": 1, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "E03", + "x": 24.78125, + "y": 1082.78125, + "rawX": 840.78125, + "rawY": 26.78125, + "page": 2, + "width": 26.09375, + "height": 16, + "fontSize": "14.6667px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B07", + "x": 41.78125, + "y": 1127.5625, + "rawX": 857.78125, + "rawY": 71.5625, + "page": 2, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B08", + "x": 41.78125, + "y": 1208.1875, + "rawX": 857.78125, + "rawY": 152.1875, + "page": 2, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B09", + "x": 41.78125, + "y": 1288.8125, + "rawX": 857.78125, + "rawY": 232.8125, + "page": 2, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "E04", + "x": 24.78125, + "y": 1485.21875, + "rawX": 840.78125, + "rawY": 429.21875, + "page": 2, + "width": 26.09375, + "height": 16, + "fontSize": "14.6667px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B10", + "x": 41.78125, + "y": 1530, + "rawX": 857.78125, + "rawY": 474, + "page": 2, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B11", + "x": 41.78125, + "y": 1610.625, + "rawX": 857.78125, + "rawY": 554.625, + "page": 2, + "width": 22.734375, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B12", + "x": 41.78125, + "y": 1691.25, + "rawX": 857.78125, + "rawY": 635.25, + "page": 2, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "E05", + "x": 24.78125, + "y": 1887.65625, + "rawX": 840.78125, + "rawY": 831.65625, + "page": 2, + "width": 26.09375, + "height": 16, + "fontSize": "14.6667px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B13", + "x": 41.78125, + "y": 1932.4375, + "rawX": 857.78125, + "rawY": 876.4375, + "page": 2, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B14", + "x": 41.78125, + "y": 2013.0625, + "rawX": 857.78125, + "rawY": 957.0625, + "page": 2, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B15", + "x": 41.78125, + "y": 2137.78125, + "rawX": 1673.78125, + "rawY": 25.78125, + "page": 3, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "E06", + "x": 24.78125, + "y": 2334.1875, + "rawX": 1656.78125, + "rawY": 222.1875, + "page": 3, + "width": 26.09375, + "height": 16, + "fontSize": "14.6667px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B16", + "x": 41.78125, + "y": 2378.96875, + "rawX": 1673.78125, + "rawY": 266.96875, + "page": 3, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B17", + "x": 41.78125, + "y": 2459.59375, + "rawX": 1673.78125, + "rawY": 347.59375, + "page": 3, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B18", + "x": 41.78125, + "y": 2540.21875, + "rawX": 1673.78125, + "rawY": 428.21875, + "page": 3, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "E02", + "x": 24.78125, + "y": 2773.359375, + "rawX": 1656.78125, + "rawY": 661.359375, + "page": 3, + "width": 26.09375, + "height": 16, + "fontSize": "14.6667px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "E08", + "x": 24.78125, + "y": 2820.796875, + "rawX": 1656.78125, + "rawY": 708.796875, + "page": 3, + "width": 26.09375, + "height": 16, + "fontSize": "14.6667px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "P01", + "x": 24.78125, + "y": 2904.96875, + "rawX": 1656.78125, + "rawY": 792.96875, + "page": 3, + "width": 26.09375, + "height": 16, + "fontSize": "14.6667px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B03", + "x": 41.78125, + "y": 2924.796875, + "rawX": 1673.78125, + "rawY": 812.796875, + "page": 3, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "Arial, Helvetica, sans-serif", + "color": "rgb(17, 24, 39)" + } + ], + "body": { + "x": 0, + "y": 0, + "width": 816, + "height": 1031.78125, + "font": "Arial, Helvetica, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(17, 24, 39)", + "background": "rgba(0, 0, 0, 0)", + "padding": "24.7937px 0px 0px", + "margin": "0px" + }, + "page": { + "x": 0, + "y": 24.78125, + "width": 3264, + "height": 1007, + "font": "Arial, Helvetica, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(17, 24, 39)", + "background": "rgb(255, 255, 255)", + "padding": "0px", + "margin": "0px" + }, + "header": { + "x": 0, + "y": 24.78125, + "width": 816, + "height": 108.734375, + "font": "Arial, Helvetica, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(17, 24, 39)", + "background": "rgba(0, 0, 0, 0)", + "padding": "0px 24.7937px 18.5953px", + "margin": "0px" + }, + "main": { + "x": 0, + "y": 24.78125, + "width": 3264, + "height": 1007, + "font": "Arial, Helvetica, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(17, 24, 39)", + "background": "rgba(0, 0, 0, 0)", + "padding": "0px 24.7937px", + "margin": "0px" + }, + "sidebar": null, + "parsedRules": [ + "* { box-sizing: border-box; }", + ":root { --cv-accent-color: #334155; --cv-accent-ink: #fff; --cv-accent-soft: color-mix(in srgb,#334155 28%,transparent); --cv-ink: #111827; --cv-muted: #374151; --cv-paper: #ffffff; --cv-page-margin: 6.56mm; }", + "html, body { min-width: 0px; }", + "body { margin: 0px; background: rgb(233, 237, 242); color: var(--cv-ink); font-family: Arial, Helvetica, sans-serif; font-size: 10pt; line-height: 1.42; print-color-adjust: exact; }", + ".page { width: 215.9mm; min-height: 279.4mm; margin: 0px auto; background: var(--cv-paper); overflow: visible; overflow-wrap: anywhere; word-break: normal; }", + "h1, h2 { font-family: Arial, Helvetica, sans-serif; }", + ".name { margin: 0px; font-size: 24pt; color: rgb(17, 24, 39); line-height: 1.1; overflow-wrap: anywhere; }", + ".kicker { text-transform: uppercase; letter-spacing: 0.3em; font-size: 7.5pt; color: rgb(51, 65, 85); margin-bottom: 1.5mm; }", + ".headline { margin-top: 1.5mm; color: rgb(55, 65, 81); font-size: 10.5pt; }", + ".head-text, .main, .sidebar, .cols > * { min-width: 0px; }", + ".head-text { flex: 1 1 0%; }", + ".photo { width: 30mm; height: 30mm; overflow: hidden; flex: 0 0 auto; border: 1px solid var(--cv-accent-soft); }", + ".photo-square { border-radius: 2mm; }", + ".photo-rounded { border-radius: 5mm; }", + ".photo-circle { border-radius: 50%; }", + ".photo img { width: 100%; height: 100%; object-fit: cover; display: block; }", + ".contact { display: flex; gap: 3mm; flex-wrap: wrap; color: rgb(55, 65, 81); font-size: 9.5pt; margin-top: 2.5mm; }", + ".contact-stacked { flex-direction: column; gap: 1.8mm; }", + ".contact-item { display: inline-flex; align-items: center; gap: 1.2mm; min-width: 0px; max-width: 100%; overflow-wrap: anywhere; }", + ".contact a { color: inherit; text-decoration: none; min-width: 0px; overflow-wrap: anywhere; word-break: break-word; }", + ".main a { color: var(--cv-accent-color); text-decoration-color: var(--cv-accent-soft); }", + ".contact svg { width: 3.2mm; height: 3.2mm; flex: 0 0 auto; opacity: 0.85; }", + ".hero { margin-bottom: 2.46mm; }", + ".hero .name { font-size: 21pt; }", + ".section { margin-top: 2.46mm; }", + ".section:first-child { margin-top: 0px; }", + ".section-title { margin: 0px 0px 2.13mm; font-size: 12pt; font-weight: 700; color: rgb(51, 65, 85); }", + ".section-title { text-transform: uppercase; letter-spacing: 0.14em; font-size: 10.2pt; color: var(--cv-accent-color); border-bottom: 1px solid var(--cv-accent-soft); padding-bottom: 1.4mm; }", + ".section-presentation-grid { display: grid; grid-template-columns: repeat(var(--cv-section-columns,1),minmax(0,1fr)); column-gap: 4mm; align-items: start; }", + ".section-presentation-grid > .section-title { grid-column: 1 / -1; }", + ".section-presentation-grid > .entry { min-width: 0px; }", + ".section-presentation-compact > .entry { margin-bottom: 1.5mm; }", + ".section-presentation-compact > .bullets li { margin-bottom: 0.62mm; }", + ".section-presentation-bubble > .tags, .section-presentation-bubble > .bullets { list-style: none; padding: 0px; display: flex; flex-wrap: wrap; gap: 1.4mm; }", + ".section-presentation-bubble > .bullets li, .section-presentation-bubble > .tags li { margin: 0px; border: 1px solid var(--cv-accent-soft); border-radius: 999px; padding: 0.7mm 2.2mm; }", + ".section-presentation-bubble > .bullets li::marker { content: \"\"; }", + ".bullets { margin: 0px; padding-left: 4.5mm; }", + ".bullets li { margin: 0px 0px 1.31mm; }", + ".bullets li::marker { color: var(--cv-accent-color); }", + ".tags { list-style: none; margin: 0px; padding: 0px; display: flex; flex-wrap: wrap; gap: 1.8mm; }", + ".skills-text { margin: 0px; overflow-wrap: anywhere; }", + ".tag { border: 1px solid var(--cv-accent-soft); border-radius: 999px; padding: 0.7mm 2.2mm; font-size: 9.5pt; max-width: 100%; overflow-wrap: anywhere; }", + ".paragraphs p { margin: 0px 0px 1.48mm; white-space: pre-line; }", + ".skill-groups { display: grid; gap: 1.39mm; }", + ".skill-group { display: grid; grid-template-columns: minmax(24mm, 0.3fr) minmax(0px, 1fr); gap: 3mm; break-inside: avoid; }", + ".skill-group-name { font-family: \"Roboto Mono\", Consolas, monospace; font-weight: 700; color: var(--cv-accent-color); overflow-wrap: anywhere; }", + ".skill-group-items { display: flex; flex-wrap: wrap; gap: 0.8mm 3mm; list-style: none; margin: 0px; padding: 0px; }", + ".skill-group-items li { overflow-wrap: anywhere; }", + ".entry { margin-bottom: 1.64mm; }", + ".entry:last-child { margin-bottom: 0px; }", + ".entry-head { display: flex; justify-content: space-between; gap: 1.5mm 4mm; align-items: baseline; flex-wrap: wrap; break-after: avoid; }", + ".entry-title { font-weight: 700; font-size: 11pt; min-width: 0px; flex: 1 1 50mm; overflow-wrap: anywhere; }", + ".entry-meta { color: rgb(55, 65, 81); font-size: 9.5pt; white-space: normal; text-align: right; max-width: 100%; overflow-wrap: anywhere; }", + ".entry-subtitle { color: rgb(55, 65, 81); font-size: 10pt; margin: 0.4mm 0px 1.2mm; }", + ".entry-tags { margin-top: 1.4mm; }", + ".main { padding: 0px 6.56mm 6.56mm; }", + ".header { padding: 6.56mm 6.56mm 4.92mm; display: flex; gap: 6mm; align-items: center; }", + ".header-band { background: rgb(51, 65, 85); color: rgb(255, 255, 255); }", + ".header-band .name, .header-band .headline, .header-band .contact, .header-band .contact-item, .header-band a { color: rgb(255, 255, 255); }", + ".header-centered { flex-direction: column; text-align: center; justify-content: center; }", + ".header-centered .contact { justify-content: center; }", + ".header-plain { border-bottom: 2px solid rgb(51, 65, 85); }", + ".entry { break-inside: avoid; }", + ".entry-flow { break-inside: auto; }", + ".section-title { break-after: avoid; }", + ".section-title + .entry, .section-title + .bullets, .section-title + .tags, .section-title + .paragraphs, .section-title + .skill-groups { break-before: avoid; }", + ".section { break-inside: avoid; }", + ".section-flow { break-inside: auto; }", + ".tag, .contact-item { break-inside: avoid; }", + ".bullets li { break-inside: avoid; orphans: 2; widows: 2; overflow-wrap: anywhere; }", + ".bullets li.item-flow { break-inside: auto; }", + "@media print {\n body { background: transparent; }\n .page { width: auto; min-height: 0px; margin: 0px; }\n .cols { min-height: 0px; }\n .header { padding-top: 0px; }\n .main, .sidebar { padding-top: 0px; padding-bottom: 0px; }\n}", + "@page { size: 215.9mm 279.4mm; margin: 6.56mm 0px; }", + "body { background: transparent; }", + ".page { width: auto; min-height: 0px; margin: 0px; }", + ".cols { min-height: 0px; }", + ".header { padding-top: 0px; }", + ".main, .sidebar { padding-top: 0px; padding-bottom: 0px; }", + "html, body { overflow: hidden !important; background: transparent !important; }", + "body { padding-top: 24.7937px; }", + "[data-cv-preview-flow] { width: 816px; height: 1007px; column-width: 816px; column-gap: 0px; column-fill: auto; transform-origin: left top; }" + ], + "sections": [ + { + "key": "section section-summary section-presentation-rows", + "title": "Professional Summary", + "fragments": [ + { + "x": 24.78125, + "y": 133.515625, + "width": 766.4375, + "height": 52.546875 + } + ] + }, + { + "key": "section section-experience section-flow section-presentation-rows", + "title": "Professional Experience", + "fragments": [ + { + "x": 24.78125, + "y": 195.359375, + "width": 766.4375, + "height": 836.421875 + }, + { + "x": 840.78125, + "y": 24.78125, + "width": 766.4375, + "height": 1007 + }, + { + "x": 1656.78125, + "y": 24.78125, + "width": 766.4375, + "height": 591.65625 + } + ] + }, + { + "key": "section section-education section-presentation-rows", + "title": "Education", + "fragments": [ + { + "x": 1656.78125, + "y": 625.734375, + "width": 766.4375, + "height": 122.3125 + } + ] + }, + { + "key": "section section-projects section-presentation-rows", + "title": "Projects", + "fragments": [ + { + "x": 1656.78125, + "y": 757.34375, + "width": 766.4375, + "height": 73.375 + } + ] + }, + { + "key": "section section-skills section-presentation-rows", + "title": "Skills", + "fragments": [ + { + "x": 1656.78125, + "y": 840.015625, + "width": 766.4375, + "height": 124.125 + } + ] + }, + { + "key": "section section-languages section-presentation-rows", + "title": "Languages", + "fragments": [ + { + "x": 2472.78125, + "y": 24.78125, + "width": 766.4375, + "height": 58.890625 + } + ] + } + ], + "effectiveMargin": "6.56mm", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.34 Safari/537.36" + } + }, + { + "fixture": "roomy-28mm-nb", + "settings": { + "themeId": "modern", + "accentColor": null, + "headingFont": null, + "bodyFont": null, + "density": "roomy", + "pageSize": null, + "dateFormat": null, + "language": "nb", + "headline": null, + "textColor": null, + "mutedColor": null, + "headingColor": null, + "backgroundColor": null, + "baseFontSizePt": null, + "headingSizePt": null, + "lineHeight": 1.6, + "pageMarginMm": 28, + "sectionGapMm": null, + "entryGapMm": null, + "headingStyle": null, + "headerStyle": null, + "skillsStyle": null, + "skillGroups": null, + "layout": null, + "sidebarWidthMm": null, + "sidebarSections": null, + "showPhoto": false, + "showPageNumbers": false, + "showIcons": true, + "sections": [ + { + "key": "summary", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "experience", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "education", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "projects", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "skills", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "languages", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "interests", + "hidden": true, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + } + ], + "overrides": {}, + "customSections": [] + }, + "previewPages": 5, + "measured": { + "width": 793.6875, + "contentHeight": 5612.6, + "usableHeight": 873, + "layoutDurationMs": 41.29999999701977, + "text": "Åse Fixture\nPlattformutvikler med erfaring fra tilgjengelige, pålitelige arbeidsflyter\nase@example.test\nOslo, Norge\nPROFIL\nR01 Builds reliable and accessible career software using documented evidence.\nARBEIDSERFARING\nE01 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 1\nB01 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB02 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB03 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nE02 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 2\nB04 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB05 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB06 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nE03 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 3\nB07 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB08 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB09 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nE04 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 4\nB10 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB11 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB12 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nE05 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 5\nB13 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB14 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB15 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nE06 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 6\nB16 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB17 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB18 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nUTDANNING\nE02 Computer science\nFixture University\nE08 Videreutdanning i universell utforming og informasjonsarkitektur\nFixture Academy\nPROSJEKTER\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\nFERDIGHETER\nC#\nReact\nNorsk\nAccessibility\nSPRÅK\nNorsk — Native", + "tokens": [ + { + "token": "R01", + "x": 141.875, + "y": 286.1875, + "rawX": 141.875, + "rawY": 286.1875, + "page": 1, + "width": 22.359375, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "E01", + "x": 124.875, + "y": 372.875, + "rawX": 124.875, + "rawY": 372.875, + "page": 1, + "width": 24.671875, + "height": 20, + "fontSize": "14.6667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B01", + "x": 141.875, + "y": 424.6875, + "rawX": 141.875, + "rawY": 424.6875, + "page": 1, + "width": 22.015625, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B02", + "x": 141.875, + "y": 538.390625, + "rawX": 141.875, + "rawY": 538.390625, + "page": 1, + "width": 22.015625, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B03", + "x": 141.875, + "y": 652.09375, + "rawX": 141.875, + "rawY": 652.09375, + "page": 1, + "width": 22.015625, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "E02", + "x": 124.875, + "y": 948.21875, + "rawX": 124.875, + "rawY": 948.21875, + "page": 1, + "width": 24.671875, + "height": 20, + "fontSize": "14.6667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B04", + "x": 141.875, + "y": 1249.395, + "rawX": 935.5625, + "rawY": 126.875, + "page": 2, + "width": 22.015625, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B05", + "x": 141.875, + "y": 1363.098125, + "rawX": 935.5625, + "rawY": 240.578125, + "page": 2, + "width": 22.015625, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B06", + "x": 141.875, + "y": 1476.80125, + "rawX": 935.5625, + "rawY": 354.28125, + "page": 2, + "width": 22.015625, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "E03", + "x": 124.875, + "y": 1772.92625, + "rawX": 918.5625, + "rawY": 650.40625, + "page": 2, + "width": 24.671875, + "height": 20, + "fontSize": "14.6667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B07", + "x": 141.875, + "y": 1824.73875, + "rawX": 935.5625, + "rawY": 702.21875, + "page": 2, + "width": 22.015625, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B08", + "x": 141.875, + "y": 1938.441875, + "rawX": 935.5625, + "rawY": 815.921875, + "page": 2, + "width": 22.015625, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B09", + "x": 141.875, + "y": 2052.145, + "rawX": 935.5625, + "rawY": 929.625, + "page": 2, + "width": 22.015625, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "E04", + "x": 124.875, + "y": 2604.1025, + "rawX": 1712.25, + "rawY": 359.0625, + "page": 3, + "width": 24.671875, + "height": 20, + "fontSize": "14.6667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B10", + "x": 141.875, + "y": 2655.915, + "rawX": 1729.25, + "rawY": 410.875, + "page": 3, + "width": 22.015625, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B11", + "x": 141.875, + "y": 2769.618125, + "rawX": 1729.25, + "rawY": 524.578125, + "page": 3, + "width": 22.015625, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B12", + "x": 141.875, + "y": 2883.32125, + "rawX": 1729.25, + "rawY": 638.28125, + "page": 3, + "width": 22.015625, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "E05", + "x": 124.875, + "y": 3179.44625, + "rawX": 1712.25, + "rawY": 934.40625, + "page": 3, + "width": 24.671875, + "height": 20, + "fontSize": "14.6667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B13", + "x": 141.875, + "y": 3494.435, + "rawX": 2522.9375, + "rawY": 126.875, + "page": 4, + "width": 22.015625, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B14", + "x": 141.875, + "y": 3608.138125, + "rawX": 2522.9375, + "rawY": 240.578125, + "page": 4, + "width": 22.015625, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B15", + "x": 141.875, + "y": 3721.84125, + "rawX": 2522.9375, + "rawY": 354.28125, + "page": 4, + "width": 22.015625, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "E06", + "x": 124.875, + "y": 4017.96625, + "rawX": 2505.9375, + "rawY": 650.40625, + "page": 4, + "width": 24.671875, + "height": 20, + "fontSize": "14.6667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B16", + "x": 141.875, + "y": 4069.77875, + "rawX": 2522.9375, + "rawY": 702.21875, + "page": 4, + "width": 22.015625, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B17", + "x": 141.875, + "y": 4183.4818749999995, + "rawX": 2522.9375, + "rawY": 815.921875, + "page": 4, + "width": 22.015625, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B18", + "x": 141.875, + "y": 4297.1849999999995, + "rawX": 2522.9375, + "rawY": 929.625, + "page": 4, + "width": 22.015625, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "E02", + "x": 124.875, + "y": 4895.455, + "rawX": 3299.625, + "rawY": 405.375, + "page": 5, + "width": 24.671875, + "height": 20, + "fontSize": "14.6667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "E08", + "x": 124.875, + "y": 4961.79875, + "rawX": 3299.625, + "rawY": 471.71875, + "page": 5, + "width": 24.671875, + "height": 20, + "fontSize": "14.6667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "P01", + "x": 124.875, + "y": 5074.455, + "rawX": 3299.625, + "rawY": 584.375, + "page": 5, + "width": 25.875, + "height": 20, + "fontSize": "14.6667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B03", + "x": 141.875, + "y": 5098.92375, + "rawX": 3316.625, + "rawY": 608.84375, + "page": 5, + "width": 22.015625, + "height": 17, + "fontSize": "13.3333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(17, 24, 39)" + } + ], + "body": { + "x": 0, + "y": 0, + "width": 794, + "height": 997.875, + "font": "\"Segoe UI\", Roboto, Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "21.3333px", + "color": "rgb(17, 24, 39)", + "background": "rgba(0, 0, 0, 0)", + "padding": "124.876px 0px 0px", + "margin": "0px" + }, + "page": { + "x": 0, + "y": 124.875, + "width": 3968.4375, + "height": 873, + "font": "\"Segoe UI\", Roboto, Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "21.3333px", + "color": "rgb(17, 24, 39)", + "background": "rgb(255, 255, 255)", + "padding": "0px", + "margin": "0px" + }, + "header": { + "x": 0, + "y": 124.875, + "width": 793.6875, + "height": 119.6875, + "font": "\"Segoe UI\", Roboto, Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "21.3333px", + "color": "rgb(255, 255, 255)", + "background": "rgb(37, 99, 235)", + "padding": "0px 124.876px 26.7591px", + "margin": "0px" + }, + "main": { + "x": 0, + "y": 124.875, + "width": 3968.4375, + "height": 873, + "font": "\"Segoe UI\", Roboto, Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "21.3333px", + "color": "rgb(17, 24, 39)", + "background": "rgba(0, 0, 0, 0)", + "padding": "0px 124.876px", + "margin": "0px" + }, + "sidebar": null, + "parsedRules": [ + "* { box-sizing: border-box; }", + ":root { --cv-accent-color: #2563eb; --cv-accent-ink: #fff; --cv-accent-soft: color-mix(in srgb,#2563eb 28%,transparent); --cv-ink: #111827; --cv-muted: #4b5563; --cv-paper: #ffffff; --cv-page-margin: 33.04mm; }", + "html, body { min-width: 0px; }", + "body { margin: 0px; background: rgb(233, 237, 242); color: var(--cv-ink); font-family: \"Segoe UI\", Roboto, Arial, sans-serif; font-size: 10pt; line-height: 1.6; print-color-adjust: exact; }", + ".page { width: 210mm; min-height: 297mm; margin: 0px auto; background: var(--cv-paper); overflow: visible; overflow-wrap: anywhere; word-break: normal; }", + "h1, h2 { font-family: \"Segoe UI\", Roboto, Arial, sans-serif; }", + ".name { margin: 0px; font-size: 24pt; color: rgb(17, 24, 39); line-height: 1.1; overflow-wrap: anywhere; }", + ".kicker { text-transform: uppercase; letter-spacing: 0.3em; font-size: 7.5pt; color: rgb(37, 99, 235); margin-bottom: 1.5mm; }", + ".headline { margin-top: 1.5mm; color: rgb(75, 85, 99); font-size: 10.5pt; }", + ".head-text, .main, .sidebar, .cols > * { min-width: 0px; }", + ".head-text { flex: 1 1 0%; }", + ".photo { width: 30mm; height: 30mm; overflow: hidden; flex: 0 0 auto; border: 1px solid var(--cv-accent-soft); }", + ".photo-square { border-radius: 2mm; }", + ".photo-rounded { border-radius: 5mm; }", + ".photo-circle { border-radius: 50%; }", + ".photo img { width: 100%; height: 100%; object-fit: cover; display: block; }", + ".contact { display: flex; gap: 3mm; flex-wrap: wrap; color: rgb(75, 85, 99); font-size: 9.5pt; margin-top: 2.5mm; }", + ".contact-stacked { flex-direction: column; gap: 1.8mm; }", + ".contact-item { display: inline-flex; align-items: center; gap: 1.2mm; min-width: 0px; max-width: 100%; overflow-wrap: anywhere; }", + ".contact a { color: inherit; text-decoration: none; min-width: 0px; overflow-wrap: anywhere; word-break: break-word; }", + ".main a { color: var(--cv-accent-color); text-decoration-color: var(--cv-accent-soft); }", + ".contact svg { width: 3.2mm; height: 3.2mm; flex: 0 0 auto; opacity: 0.85; }", + ".hero { margin-bottom: 7.08mm; }", + ".hero .name { font-size: 21pt; }", + ".section { margin-top: 7.08mm; }", + ".section:first-child { margin-top: 0px; }", + ".section-title { margin: 0px 0px 3.07mm; font-size: 12pt; font-weight: 700; color: rgb(37, 99, 235); }", + ".section-title { text-transform: uppercase; letter-spacing: 0.14em; font-size: 10.2pt; color: var(--cv-accent-color); border-bottom: 1px solid var(--cv-accent-soft); padding-bottom: 1.4mm; }", + ".section-presentation-grid { display: grid; grid-template-columns: repeat(var(--cv-section-columns,1),minmax(0,1fr)); column-gap: 4mm; align-items: start; }", + ".section-presentation-grid > .section-title { grid-column: 1 / -1; }", + ".section-presentation-grid > .entry { min-width: 0px; }", + ".section-presentation-compact > .entry { margin-bottom: 2.92mm; }", + ".section-presentation-compact > .bullets li { margin-bottom: 0.89mm; }", + ".section-presentation-bubble > .tags, .section-presentation-bubble > .bullets { list-style: none; padding: 0px; display: flex; flex-wrap: wrap; gap: 1.4mm; }", + ".section-presentation-bubble > .bullets li, .section-presentation-bubble > .tags li { margin: 0px; border: 1px solid var(--cv-accent-soft); border-radius: 999px; padding: 0.7mm 2.2mm; }", + ".section-presentation-bubble > .bullets li::marker { content: \"\"; }", + ".bullets { margin: 0px; padding-left: 4.5mm; }", + ".bullets li { margin: 0px 0px 1.89mm; }", + ".bullets li::marker { color: var(--cv-accent-color); }", + ".tags { list-style: none; margin: 0px; padding: 0px; display: flex; flex-wrap: wrap; gap: 1.8mm; }", + ".skills-text { margin: 0px; overflow-wrap: anywhere; }", + ".tag { border: 1px solid var(--cv-accent-soft); border-radius: 999px; padding: 0.7mm 2.2mm; font-size: 9.5pt; max-width: 100%; overflow-wrap: anywhere; }", + ".paragraphs p { margin: 0px 0px 2.12mm; white-space: pre-line; }", + ".skill-groups { display: grid; gap: 2.01mm; }", + ".skill-group { display: grid; grid-template-columns: minmax(24mm, 0.3fr) minmax(0px, 1fr); gap: 3mm; break-inside: avoid; }", + ".skill-group-name { font-family: \"Roboto Mono\", Consolas, monospace; font-weight: 700; color: var(--cv-accent-color); overflow-wrap: anywhere; }", + ".skill-group-items { display: flex; flex-wrap: wrap; gap: 0.8mm 3mm; list-style: none; margin: 0px; padding: 0px; }", + ".skill-group-items li { overflow-wrap: anywhere; }", + ".entry { margin-bottom: 5.31mm; }", + ".entry:last-child { margin-bottom: 0px; }", + ".entry-head { display: flex; justify-content: space-between; gap: 1.5mm 4mm; align-items: baseline; flex-wrap: wrap; break-after: avoid; }", + ".entry-title { font-weight: 700; font-size: 11pt; min-width: 0px; flex: 1 1 50mm; overflow-wrap: anywhere; }", + ".entry-meta { color: rgb(75, 85, 99); font-size: 9.5pt; white-space: normal; text-align: right; max-width: 100%; overflow-wrap: anywhere; }", + ".entry-subtitle { color: rgb(75, 85, 99); font-size: 10pt; margin: 0.4mm 0px 1.2mm; }", + ".entry-tags { margin-top: 1.4mm; }", + ".main { padding: 0px 33.04mm 33.04mm; }", + ".header { padding: 33.04mm 33.04mm 7.08mm; display: flex; gap: 6mm; align-items: center; }", + ".header-band { background: rgb(37, 99, 235); color: rgb(255, 255, 255); }", + ".header-band .name, .header-band .headline, .header-band .contact, .header-band .contact-item, .header-band a { color: rgb(255, 255, 255); }", + ".header-centered { flex-direction: column; text-align: center; justify-content: center; }", + ".header-centered .contact { justify-content: center; }", + ".header-plain { border-bottom: 2px solid rgb(37, 99, 235); }", + ".entry { break-inside: avoid; }", + ".entry-flow { break-inside: auto; }", + ".section-title { break-after: avoid; }", + ".section-title + .entry, .section-title + .bullets, .section-title + .tags, .section-title + .paragraphs, .section-title + .skill-groups { break-before: avoid; }", + ".section { break-inside: avoid; }", + ".section-flow { break-inside: auto; }", + ".tag, .contact-item { break-inside: avoid; }", + ".bullets li { break-inside: avoid; orphans: 2; widows: 2; overflow-wrap: anywhere; }", + ".bullets li.item-flow { break-inside: auto; }", + "@media print {\n body { background: transparent; }\n .page { width: auto; min-height: 0px; margin: 0px; }\n .cols { min-height: 0px; }\n .header { padding-top: 0px; }\n .main, .sidebar { padding-top: 0px; padding-bottom: 0px; }\n}", + "@page { size: 210mm 297mm; margin: 33.04mm 0px; }", + "body { background: transparent; }", + ".page { width: auto; min-height: 0px; margin: 0px; }", + ".cols { min-height: 0px; }", + ".header { padding-top: 0px; }", + ".main, .sidebar { padding-top: 0px; padding-bottom: 0px; }", + "html, body { overflow: hidden !important; background: transparent !important; }", + "body { padding-top: 124.876px; }", + "[data-cv-preview-flow] { width: 793.688px; height: 873px; column-width: 793.688px; column-gap: 0px; column-fill: auto; transform-origin: left top; }" + ], + "sections": [ + { + "key": "section section-summary section-presentation-rows", + "title": "Profil", + "fragments": [ + { + "x": 124.875, + "y": 244.5625, + "width": 543.9375, + "height": 60.9375 + } + ] + }, + { + "key": "section section-experience section-flow section-presentation-rows", + "title": "Arbeidserfaring", + "fragments": [ + { + "x": 124.875, + "y": 332.25, + "width": 543.9375, + "height": 665.625 + }, + { + "x": 918.5625, + "y": 124.875, + "width": 543.9375, + "height": 873 + }, + { + "x": 1712.25, + "y": 124.875, + "width": 543.9375, + "height": 873 + }, + { + "x": 2505.9375, + "y": 124.875, + "width": 543.9375, + "height": 873 + }, + { + "x": 3299.625, + "y": 124.875, + "width": 543.9375, + "height": 213.125 + } + ] + }, + { + "key": "section section-education section-presentation-rows", + "title": "Utdanning", + "fragments": [ + { + "x": 3299.625, + "y": 364.75, + "width": 543.9375, + "height": 152.25 + } + ] + }, + { + "key": "section section-projects section-presentation-rows", + "title": "Prosjekter", + "fragments": [ + { + "x": 3299.625, + "y": 543.75, + "width": 543.9375, + "height": 84.40625 + } + ] + }, + { + "key": "section section-skills section-presentation-rows", + "title": "Ferdigheter", + "fragments": [ + { + "x": 3299.625, + "y": 654.90625, + "width": 543.9375, + "height": 67.171875 + } + ] + }, + { + "key": "section section-languages section-presentation-rows", + "title": "Språk", + "fragments": [ + { + "x": 3299.625, + "y": 748.828125, + "width": 543.9375, + "height": 67.171875 + } + ] + } + ], + "effectiveMargin": "33.04mm", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.34 Safari/537.36" + } + }, + { + "fixture": "grid-and-bubbles", + "settings": { + "themeId": "minimal", + "accentColor": "#126b55", + "headingFont": null, + "bodyFont": null, + "density": null, + "pageSize": null, + "dateFormat": null, + "language": "en", + "headline": null, + "textColor": null, + "mutedColor": null, + "headingColor": null, + "backgroundColor": null, + "baseFontSizePt": null, + "headingSizePt": null, + "lineHeight": null, + "pageMarginMm": null, + "sectionGapMm": null, + "entryGapMm": null, + "headingStyle": null, + "headerStyle": null, + "skillsStyle": null, + "skillGroups": null, + "layout": null, + "sidebarWidthMm": null, + "sidebarSections": null, + "showPhoto": false, + "showPageNumbers": false, + "showIcons": true, + "sections": [ + { + "key": "projects", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": "grid", + "columns": 2 + }, + { + "key": "skills", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": "bubble", + "columns": null + }, + { + "key": "experience", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "interests", + "hidden": true, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + } + ], + "overrides": {}, + "customSections": [] + }, + "previewPages": 1, + "measured": { + "width": 793.6875, + "contentHeight": 1122.52, + "usableHeight": 1002, + "layoutDurationMs": 54.69999998807907, + "text": "Åse Fixture\nCareer platform engineer\nase@example.test\nOslo, Norge\nProjects\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\nSkills\n\nC# · React · Norsk · Accessibility\n\nProfessional Experience\nE01 Platform engineer\nNordlys Fixture AS\nB01 Delivered accessible application workflows with documented outcomes.\nB02 Maintained reliable APIs and verified releases.\nProfessional Summary\nR01 Builds reliable and accessible career software using documented evidence.\nEducation\nE02 Computer science\nFixture University\nLanguages\nNorsk — Native", + "tokens": [ + { + "token": "P01", + "x": 60.46875, + "y": 211.59375, + "rawX": 60.46875, + "rawY": 211.59375, + "page": 1, + "width": 26.09375, + "height": 16, + "fontSize": "14.6667px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B03", + "x": 77.46875, + "y": 231.421875, + "rawX": 77.46875, + "rawY": 231.421875, + "page": 1, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "E01", + "x": 60.46875, + "y": 394.28125, + "rawX": 60.46875, + "rawY": 394.28125, + "page": 1, + "width": 26.09375, + "height": 16, + "fontSize": "14.6667px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B01", + "x": 77.46875, + "y": 439.0625, + "rawX": 77.46875, + "rawY": 439.0625, + "page": 1, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "B02", + "x": 77.46875, + "y": 464.03125, + "rawX": 77.46875, + "rawY": 464.03125, + "page": 1, + "width": 23.71875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "R01", + "x": 77.46875, + "y": 541.9375, + "rawX": 77.46875, + "rawY": 541.9375, + "page": 1, + "width": 24.46875, + "height": 15, + "fontSize": "13.3333px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + }, + { + "token": "E02", + "x": 60.46875, + "y": 620.84375, + "rawX": 60.46875, + "rawY": 620.84375, + "page": 1, + "width": 26.09375, + "height": 16, + "fontSize": "14.6667px", + "fontFamily": "\"Helvetica Neue\", Arial, sans-serif", + "color": "rgb(17, 24, 39)" + } + ], + "body": { + "x": 0, + "y": 0, + "width": 794, + "height": 1062.46875, + "font": "\"Helvetica Neue\", Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(17, 24, 39)", + "background": "rgba(0, 0, 0, 0)", + "padding": "60.4724px 0px 0px", + "margin": "0px" + }, + "page": { + "x": 0, + "y": 60.46875, + "width": 793.6875, + "height": 683.875, + "font": "\"Helvetica Neue\", Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(17, 24, 39)", + "background": "rgb(255, 255, 255)", + "padding": "0px", + "margin": "0px" + }, + "header": { + "x": 0, + "y": 60.46875, + "width": 793.6875, + "height": 116.59375, + "font": "\"Helvetica Neue\", Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(17, 24, 39)", + "background": "rgba(0, 0, 0, 0)", + "padding": "0px 60.4724px 26.4567px", + "margin": "0px" + }, + "main": { + "x": 0, + "y": 177.0625, + "width": 793.6875, + "height": 567.28125, + "font": "\"Helvetica Neue\", Arial, sans-serif", + "fontSize": "13.3333px", + "lineHeight": "18.9333px", + "color": "rgb(17, 24, 39)", + "background": "rgba(0, 0, 0, 0)", + "padding": "0px 60.4724px", + "margin": "0px" + }, + "sidebar": null, + "parsedRules": [ + "* { box-sizing: border-box; }", + ":root { --cv-accent-color: #126b55; --cv-accent-ink: #fff; --cv-accent-soft: color-mix(in srgb,#126b55 28%,transparent); --cv-ink: #111827; --cv-muted: #6b7280; --cv-paper: #ffffff; --cv-page-margin: 16mm; }", + "html, body { min-width: 0px; }", + "body { margin: 0px; background: rgb(233, 237, 242); color: var(--cv-ink); font-family: \"Helvetica Neue\", Arial, sans-serif; font-size: 10pt; line-height: 1.42; print-color-adjust: exact; }", + ".page { width: 210mm; min-height: 297mm; margin: 0px auto; background: var(--cv-paper); overflow: visible; overflow-wrap: anywhere; word-break: normal; }", + "h1, h2 { font-family: \"Helvetica Neue\", Arial, sans-serif; }", + ".name { margin: 0px; font-size: 24pt; color: rgb(17, 24, 39); line-height: 1.1; overflow-wrap: anywhere; }", + ".kicker { text-transform: uppercase; letter-spacing: 0.3em; font-size: 7.5pt; color: rgb(18, 107, 85); margin-bottom: 1.5mm; }", + ".headline { margin-top: 1.5mm; color: rgb(107, 114, 128); font-size: 10.5pt; }", + ".head-text, .main, .sidebar, .cols > * { min-width: 0px; }", + ".head-text { flex: 1 1 0%; }", + ".photo { width: 30mm; height: 30mm; overflow: hidden; flex: 0 0 auto; border: 1px solid var(--cv-accent-soft); }", + ".photo-square { border-radius: 2mm; }", + ".photo-rounded { border-radius: 5mm; }", + ".photo-circle { border-radius: 50%; }", + ".photo img { width: 100%; height: 100%; object-fit: cover; display: block; }", + ".contact { display: flex; gap: 3mm; flex-wrap: wrap; color: rgb(107, 114, 128); font-size: 9.5pt; margin-top: 2.5mm; }", + ".contact-stacked { flex-direction: column; gap: 1.8mm; }", + ".contact-item { display: inline-flex; align-items: center; gap: 1.2mm; min-width: 0px; max-width: 100%; overflow-wrap: anywhere; }", + ".contact a { color: inherit; text-decoration: none; min-width: 0px; overflow-wrap: anywhere; word-break: break-word; }", + ".main a { color: var(--cv-accent-color); text-decoration-color: var(--cv-accent-soft); }", + ".contact svg { width: 3.2mm; height: 3.2mm; flex: 0 0 auto; opacity: 0.85; }", + ".hero { margin-bottom: 7mm; }", + ".hero .name { font-size: 21pt; }", + ".section { margin-top: 7mm; }", + ".section:first-child { margin-top: 0px; }", + ".section-title { margin: 0px 0px 2.6mm; font-size: 12pt; font-weight: 700; color: rgb(17, 24, 39); }", + ".section-title { letter-spacing: 0.01em; }", + ".section-presentation-grid { display: grid; grid-template-columns: repeat(var(--cv-section-columns,1),minmax(0,1fr)); column-gap: 4mm; align-items: start; }", + ".section-presentation-grid > .section-title { grid-column: 1 / -1; }", + ".section-presentation-grid > .entry { min-width: 0px; }", + ".section-presentation-compact > .entry { margin-bottom: 2.75mm; }", + ".section-presentation-compact > .bullets li { margin-bottom: 0.75mm; }", + ".section-presentation-bubble > .tags, .section-presentation-bubble > .bullets { list-style: none; padding: 0px; display: flex; flex-wrap: wrap; gap: 1.4mm; }", + ".section-presentation-bubble > .bullets li, .section-presentation-bubble > .tags li { margin: 0px; border: 1px solid var(--cv-accent-soft); border-radius: 999px; padding: 0.7mm 2.2mm; }", + ".section-presentation-bubble > .bullets li::marker { content: \"\"; }", + ".bullets { margin: 0px; padding-left: 4.5mm; }", + ".bullets li { margin: 0px 0px 1.6mm; }", + ".bullets li::marker { color: var(--cv-accent-color); }", + ".tags { list-style: none; margin: 0px; padding: 0px; display: flex; flex-wrap: wrap; gap: 1.8mm; }", + ".skills-text { margin: 0px; overflow-wrap: anywhere; }", + ".tag { border: 1px solid var(--cv-accent-soft); border-radius: 999px; padding: 0.7mm 2.2mm; font-size: 9.5pt; max-width: 100%; overflow-wrap: anywhere; }", + ".paragraphs p { margin: 0px 0px 1.8mm; white-space: pre-line; }", + ".skill-groups { display: grid; gap: 1.7mm; }", + ".skill-group { display: grid; grid-template-columns: minmax(24mm, 0.3fr) minmax(0px, 1fr); gap: 3mm; break-inside: avoid; }", + ".skill-group-name { font-family: \"Roboto Mono\", Consolas, monospace; font-weight: 700; color: var(--cv-accent-color); overflow-wrap: anywhere; }", + ".skill-group-items { display: flex; flex-wrap: wrap; gap: 0.8mm 3mm; list-style: none; margin: 0px; padding: 0px; }", + ".skill-group-items li { overflow-wrap: anywhere; }", + ".entry { margin-bottom: 5mm; }", + ".entry:last-child { margin-bottom: 0px; }", + ".entry-head { display: flex; justify-content: space-between; gap: 1.5mm 4mm; align-items: baseline; flex-wrap: wrap; break-after: avoid; }", + ".entry-title { font-weight: 700; font-size: 11pt; min-width: 0px; flex: 1 1 50mm; overflow-wrap: anywhere; }", + ".entry-meta { color: rgb(107, 114, 128); font-size: 9.5pt; white-space: normal; text-align: right; max-width: 100%; overflow-wrap: anywhere; }", + ".entry-subtitle { color: rgb(107, 114, 128); font-size: 10pt; margin: 0.4mm 0px 1.2mm; }", + ".entry-tags { margin-top: 1.4mm; }", + ".main { padding: 0px 16mm 16mm; }", + ".header { padding: 16mm 16mm 7mm; display: flex; gap: 6mm; align-items: center; }", + ".header-band { background: rgb(18, 107, 85); color: rgb(255, 255, 255); }", + ".header-band .name, .header-band .headline, .header-band .contact, .header-band .contact-item, .header-band a { color: rgb(255, 255, 255); }", + ".header-centered { flex-direction: column; text-align: center; justify-content: center; }", + ".header-centered .contact { justify-content: center; }", + ".header-plain { border-bottom: 2px solid rgb(18, 107, 85); }", + ".entry { break-inside: avoid; }", + ".entry-flow { break-inside: auto; }", + ".section-title { break-after: avoid; }", + ".section-title + .entry, .section-title + .bullets, .section-title + .tags, .section-title + .paragraphs, .section-title + .skill-groups { break-before: avoid; }", + ".section { break-inside: avoid; }", + ".section-flow { break-inside: auto; }", + ".tag, .contact-item { break-inside: avoid; }", + ".bullets li { break-inside: avoid; orphans: 2; widows: 2; overflow-wrap: anywhere; }", + ".bullets li.item-flow { break-inside: auto; }", + "@media print {\n body { background: transparent; }\n .page { width: auto; min-height: 0px; margin: 0px; }\n .cols { min-height: 0px; }\n .header { padding-top: 0px; }\n .main, .sidebar { padding-top: 0px; padding-bottom: 0px; }\n}", + "@page { size: 210mm 297mm; margin: 16mm 0px; }", + "body { background: transparent; }", + ".page { width: auto; min-height: 0px; margin: 0px; }", + ".cols { min-height: 0px; }", + ".header { padding-top: 0px; }", + ".main, .sidebar { padding-top: 0px; padding-bottom: 0px; }", + "html, body { overflow: hidden !important; background: transparent !important; }", + "body { padding-top: 60.4724px; }", + "[data-cv-preview-flow] { width: 793.688px; height: 1002px; column-width: 793.688px; column-gap: 0px; column-fill: auto; transform-origin: left top; }" + ], + "sections": [ + { + "key": "section section-projects section-presentation-grid", + "title": "Projects", + "fragments": [ + { + "x": 60.46875, + "y": 177.0625, + "width": 672.75, + "height": 78.328125 + } + ] + }, + { + "key": "section section-skills section-presentation-bubble", + "title": "Skills", + "fragments": [ + { + "x": 60.46875, + "y": 281.84375, + "width": 672.75, + "height": 51.453125 + } + ] + }, + { + "key": "section section-experience section-presentation-rows", + "title": "Professional Experience", + "fragments": [ + { + "x": 60.46875, + "y": 359.75, + "width": 672.75, + "height": 122.203125 + } + ] + }, + { + "key": "section section-summary section-presentation-rows", + "title": "Professional Summary", + "fragments": [ + { + "x": 60.46875, + "y": 508.40625, + "width": 672.75, + "height": 51.453125 + } + ] + }, + { + "key": "section section-education section-presentation-rows", + "title": "Education", + "fragments": [ + { + "x": 60.46875, + "y": 586.3125, + "width": 672.75, + "height": 73.78125 + } + ] + }, + { + "key": "section section-languages section-presentation-rows", + "title": "Languages", + "fragments": [ + { + "x": 60.46875, + "y": 686.546875, + "width": 672.75, + "height": 57.796875 + } + ] + } + ], + "effectiveMargin": "16mm", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.34 Safari/537.36" + } + }, + { + "fixture": "long-sidebar-nb", + "settings": { + "themeId": "technical", + "accentColor": null, + "headingFont": null, + "bodyFont": null, + "density": null, + "pageSize": null, + "dateFormat": null, + "language": "nb", + "headline": null, + "textColor": null, + "mutedColor": null, + "headingColor": null, + "backgroundColor": null, + "baseFontSizePt": null, + "headingSizePt": null, + "lineHeight": null, + "pageMarginMm": null, + "sectionGapMm": null, + "entryGapMm": null, + "headingStyle": null, + "headerStyle": null, + "skillsStyle": "grouped", + "skillGroups": [ + { + "name": "Samarbeid", + "items": [ + "Norsk", + "Tilgjengelighet" + ] + } + ], + "layout": null, + "sidebarWidthMm": 68, + "sidebarSections": null, + "showPhoto": false, + "showPageNumbers": false, + "showIcons": true, + "sections": [ + { + "key": "summary", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "experience", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "education", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "projects", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "skills", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "languages", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "interests", + "hidden": true, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + } + ], + "overrides": {}, + "customSections": [] + }, + "previewPages": 5, + "measured": { + "width": 793.6875, + "contentHeight": 5612.6, + "usableHeight": 1002, + "layoutDurationMs": 44.400000005960464, + "text": "Åse Fixture\nPlattformutvikler med erfaring fra tilgjengelige, pålitelige arbeidsflyter\nase@example.test\nOslo, Norge\nFerdigheter\nSamarbeid\nNorsk\nTilgjengelighet\nSpråk\nNorsk — Native\nProfil\nR01 Builds reliable and accessible career software using documented evidence.\nArbeidserfaring\nE01 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 1\nB01 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB02 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB03 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nE02 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 2\nB04 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB05 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB06 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nE03 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 3\nB07 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB08 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB09 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nE04 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 4\nB10 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB11 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB12 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nE05 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 5\nB13 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB14 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB15 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nE06 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 6\nB16 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB17 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nB18 Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere. Utviklet pålitelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidssøkere.\nUtdanning\nE02 Computer science\nFixture University\nE08 Videreutdanning i universell utforming og informasjonsarkitektur\nFixture Academy\nProsjekter\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.", + "tokens": [ + { + "token": "R01", + "x": 334.46875, + "y": 93.03125, + "rawX": 334.46875, + "rawY": 93.03125, + "page": 1, + "width": 23.234375, + "height": 14, + "fontSize": "12.6667px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "E01", + "x": 317.46875, + "y": 181.703125, + "rawX": 317.46875, + "rawY": 181.703125, + "page": 1, + "width": 24.921875, + "height": 16, + "fontSize": "14px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "B01", + "x": 334.46875, + "y": 223.984375, + "rawX": 334.46875, + "rawY": 223.984375, + "page": 1, + "width": 22.53125, + "height": 14, + "fontSize": "12.6667px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "B02", + "x": 334.46875, + "y": 350.5625, + "rawX": 334.46875, + "rawY": 350.5625, + "page": 1, + "width": 22.53125, + "height": 14, + "fontSize": "12.6667px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "B03", + "x": 334.46875, + "y": 477.140625, + "rawX": 334.46875, + "rawY": 477.140625, + "page": 1, + "width": 22.53125, + "height": 14, + "fontSize": "12.6667px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "E02", + "x": 317.46875, + "y": 786.859375, + "rawX": 317.46875, + "rawY": 786.859375, + "page": 1, + "width": 24.921875, + "height": 16, + "fontSize": "14px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "B04", + "x": 334.46875, + "y": 829.140625, + "rawX": 334.46875, + "rawY": 829.140625, + "page": 1, + "width": 22.53125, + "height": 14, + "fontSize": "12.6667px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "B05", + "x": 334.46875, + "y": 955.71875, + "rawX": 334.46875, + "rawY": 955.71875, + "page": 1, + "width": 22.53125, + "height": 14, + "fontSize": "12.6667px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "B06", + "x": 334.46875, + "y": 1224.473125, + "rawX": 1128.15625, + "rawY": 101.953125, + "page": 2, + "width": 22.53125, + "height": 14, + "fontSize": "12.6667px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "E03", + "x": 317.46875, + "y": 1534.191875, + "rawX": 1111.15625, + "rawY": 411.671875, + "page": 2, + "width": 24.921875, + "height": 16, + "fontSize": "14px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "B07", + "x": 334.46875, + "y": 1576.473125, + "rawX": 1128.15625, + "rawY": 453.953125, + "page": 2, + "width": 22.53125, + "height": 14, + "fontSize": "12.6667px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "B08", + "x": 334.46875, + "y": 1703.05125, + "rawX": 1128.15625, + "rawY": 580.53125, + "page": 2, + "width": 22.53125, + "height": 14, + "fontSize": "12.6667px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "B09", + "x": 334.46875, + "y": 1829.629375, + "rawX": 1128.15625, + "rawY": 707.109375, + "page": 2, + "width": 22.53125, + "height": 14, + "fontSize": "12.6667px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "E04", + "x": 317.46875, + "y": 2139.348125, + "rawX": 1111.15625, + "rawY": 1016.828125, + "page": 2, + "width": 24.921875, + "height": 16, + "fontSize": "14px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "B10", + "x": 334.46875, + "y": 2306.50875, + "rawX": 1921.84375, + "rawY": 61.46875, + "page": 3, + "width": 22.53125, + "height": 14, + "fontSize": "12.6667px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "B11", + "x": 334.46875, + "y": 2433.086875, + "rawX": 1921.84375, + "rawY": 188.046875, + "page": 3, + "width": 21.59375, + "height": 14, + "fontSize": "12.6667px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "B12", + "x": 334.46875, + "y": 2559.665, + "rawX": 1921.84375, + "rawY": 314.625, + "page": 3, + "width": 22.53125, + "height": 14, + "fontSize": "12.6667px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "E05", + "x": 317.46875, + "y": 2869.38375, + "rawX": 1904.84375, + "rawY": 624.34375, + "page": 3, + "width": 24.921875, + "height": 16, + "fontSize": "14px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "B13", + "x": 334.46875, + "y": 2911.665, + "rawX": 1921.84375, + "rawY": 666.625, + "page": 3, + "width": 22.53125, + "height": 14, + "fontSize": "12.6667px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "B14", + "x": 334.46875, + "y": 3038.243125, + "rawX": 1921.84375, + "rawY": 793.203125, + "page": 3, + "width": 22.53125, + "height": 14, + "fontSize": "12.6667px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "B15", + "x": 334.46875, + "y": 3164.82125, + "rawX": 1921.84375, + "rawY": 919.78125, + "page": 3, + "width": 22.53125, + "height": 14, + "fontSize": "12.6667px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "E06", + "x": 317.46875, + "y": 3600.9975, + "rawX": 2698.53125, + "rawY": 233.4375, + "page": 4, + "width": 24.921875, + "height": 16, + "fontSize": "14px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "B16", + "x": 334.46875, + "y": 3643.27875, + "rawX": 2715.53125, + "rawY": 275.71875, + "page": 4, + "width": 22.53125, + "height": 14, + "fontSize": "12.6667px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "B17", + "x": 334.46875, + "y": 3769.856875, + "rawX": 2715.53125, + "rawY": 402.296875, + "page": 4, + "width": 22.53125, + "height": 14, + "fontSize": "12.6667px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "B18", + "x": 334.46875, + "y": 3896.435, + "rawX": 2715.53125, + "rawY": 528.875, + "page": 4, + "width": 22.53125, + "height": 14, + "fontSize": "12.6667px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "E02", + "x": 317.46875, + "y": 4243.3881249999995, + "rawX": 2698.53125, + "rawY": 875.828125, + "page": 4, + "width": 24.921875, + "height": 16, + "fontSize": "14px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "E08", + "x": 317.46875, + "y": 4298.1381249999995, + "rawX": 2698.53125, + "rawY": 930.578125, + "page": 4, + "width": 24.921875, + "height": 16, + "fontSize": "14px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "P01", + "x": 317.46875, + "y": 4583.11125, + "rawX": 3492.21875, + "rawY": 93.03125, + "page": 5, + "width": 24.921875, + "height": 16, + "fontSize": "14px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + }, + { + "token": "B03", + "x": 334.46875, + "y": 4602.1425, + "rawX": 3509.21875, + "rawY": 112.0625, + "page": 5, + "width": 22.53125, + "height": 14, + "fontSize": "12.6667px", + "fontFamily": "Roboto, Arial, sans-serif", + "color": "rgb(16, 42, 67)" + } + ], + "body": { + "x": 0, + "y": 0, + "width": 794, + "height": 1062.46875, + "font": "Roboto, Arial, sans-serif", + "fontSize": "12.6667px", + "lineHeight": "17.2267px", + "color": "rgb(16, 42, 67)", + "background": "rgba(0, 0, 0, 0)", + "padding": "60.4724px 0px 0px", + "margin": "0px" + }, + "page": { + "x": 0, + "y": 60.46875, + "width": 3968.4375, + "height": 1002, + "font": "Roboto, Arial, sans-serif", + "fontSize": "12.6667px", + "lineHeight": "17.2267px", + "color": "rgb(16, 42, 67)", + "background": "rgb(255, 255, 255)", + "padding": "0px", + "margin": "0px" + }, + "header": { + "x": 60.46875, + "y": 60.46875, + "width": 136.0625, + "height": 139.75, + "font": "Roboto, Arial, sans-serif", + "fontSize": "12.6667px", + "lineHeight": "17.2267px", + "color": "rgb(255, 255, 255)", + "background": "rgba(0, 0, 0, 0)", + "padding": "0px", + "margin": "0px 0px 22.6772px" + }, + "main": { + "x": 257, + "y": 60.46875, + "width": 3711.4375, + "height": 1002, + "font": "Roboto, Arial, sans-serif", + "fontSize": "12.6667px", + "lineHeight": "17.2267px", + "color": "rgb(16, 42, 67)", + "background": "rgba(0, 0, 0, 0)", + "padding": "0px 60.4724px", + "margin": "0px" + }, + "sidebar": { + "x": 0, + "y": 60.46875, + "width": 3431.75, + "height": 1002, + "font": "Roboto, Arial, sans-serif", + "fontSize": "12.6667px", + "lineHeight": "17.2267px", + "color": "rgb(255, 255, 255)", + "background": "rgb(15, 76, 92)", + "padding": "0px 60.4724px", + "margin": "0px" + }, + "parsedRules": [ + "* { box-sizing: border-box; }", + ":root { --cv-accent-color: #0f4c5c; --cv-accent-ink: #fff; --cv-accent-soft: color-mix(in srgb,#0f4c5c 28%,transparent); --cv-ink: #102a43; --cv-muted: #486581; --cv-paper: #ffffff; --cv-page-margin: 16mm; }", + "html, body { min-width: 0px; }", + "body { margin: 0px; background: rgb(233, 237, 242); color: var(--cv-ink); font-family: Roboto, Arial, sans-serif; font-size: 9.5pt; line-height: 1.36; print-color-adjust: exact; }", + ".page { width: 210mm; min-height: 297mm; margin: 0px auto; background: var(--cv-paper); overflow: visible; overflow-wrap: anywhere; word-break: normal; }", + "h1, h2 { font-family: Roboto, Arial, sans-serif; }", + ".name { margin: 0px; font-size: 24pt; color: rgb(16, 42, 67); line-height: 1.1; overflow-wrap: anywhere; }", + ".kicker { text-transform: uppercase; letter-spacing: 0.3em; font-size: 7.5pt; color: rgb(15, 76, 92); margin-bottom: 1.5mm; }", + ".headline { margin-top: 1.5mm; color: rgb(72, 101, 129); font-size: 10pt; }", + ".head-text, .main, .sidebar, .cols > * { min-width: 0px; }", + ".head-text { flex: 1 1 0%; }", + ".photo { width: 30mm; height: 30mm; overflow: hidden; flex: 0 0 auto; border: 1px solid var(--cv-accent-soft); }", + ".photo-square { border-radius: 2mm; }", + ".photo-rounded { border-radius: 5mm; }", + ".photo-circle { border-radius: 50%; }", + ".photo img { width: 100%; height: 100%; object-fit: cover; display: block; }", + ".contact { display: flex; gap: 3mm; flex-wrap: wrap; color: rgb(72, 101, 129); font-size: 9pt; margin-top: 2.5mm; }", + ".contact-stacked { flex-direction: column; gap: 1.8mm; }", + ".contact-item { display: inline-flex; align-items: center; gap: 1.2mm; min-width: 0px; max-width: 100%; overflow-wrap: anywhere; }", + ".contact a { color: inherit; text-decoration: none; min-width: 0px; overflow-wrap: anywhere; word-break: break-word; }", + ".main a { color: var(--cv-accent-color); text-decoration-color: var(--cv-accent-soft); }", + ".contact svg { width: 3.2mm; height: 3.2mm; flex: 0 0 auto; opacity: 0.85; }", + ".hero { margin-bottom: 6mm; }", + ".hero .name { font-size: 21pt; }", + ".section { margin-top: 6mm; }", + ".section:first-child { margin-top: 0px; }", + ".section-title { margin: 0px 0px 2.6mm; font-size: 12pt; font-weight: 700; color: rgb(15, 76, 92); }", + ".section-title { padding-left: 2.5mm; border-left: 3px solid rgb(15, 76, 92); }", + ".section-presentation-grid { display: grid; grid-template-columns: repeat(var(--cv-section-columns,1),minmax(0,1fr)); column-gap: 4mm; align-items: start; }", + ".section-presentation-grid > .section-title { grid-column: 1 / -1; }", + ".section-presentation-grid > .entry { min-width: 0px; }", + ".section-presentation-compact > .entry { margin-bottom: 2.48mm; }", + ".section-presentation-compact > .bullets li { margin-bottom: 0.75mm; }", + ".section-presentation-bubble > .tags, .section-presentation-bubble > .bullets { list-style: none; padding: 0px; display: flex; flex-wrap: wrap; gap: 1.4mm; }", + ".section-presentation-bubble > .bullets li, .section-presentation-bubble > .tags li { margin: 0px; border: 1px solid var(--cv-accent-soft); border-radius: 999px; padding: 0.7mm 2.2mm; }", + ".section-presentation-bubble > .bullets li::marker { content: \"\"; }", + ".bullets { margin: 0px; padding-left: 4.5mm; }", + ".bullets li { margin: 0px 0px 1.6mm; }", + ".bullets li::marker { color: var(--cv-accent-color); }", + ".tags { list-style: none; margin: 0px; padding: 0px; display: flex; flex-wrap: wrap; gap: 1.8mm; }", + ".skills-text { margin: 0px; overflow-wrap: anywhere; }", + ".tag { border: 1px solid var(--cv-accent-soft); border-radius: 999px; padding: 0.7mm 2.2mm; font-size: 9pt; max-width: 100%; overflow-wrap: anywhere; }", + ".paragraphs p { margin: 0px 0px 1.8mm; white-space: pre-line; }", + ".skill-groups { display: grid; gap: 1.7mm; }", + ".skill-group { display: grid; grid-template-columns: minmax(24mm, 0.3fr) minmax(0px, 1fr); gap: 3mm; break-inside: avoid; }", + ".skill-group-name { font-family: \"Roboto Mono\", Consolas, monospace; font-weight: 700; color: var(--cv-accent-color); overflow-wrap: anywhere; }", + ".skill-group-items { display: flex; flex-wrap: wrap; gap: 0.8mm 3mm; list-style: none; margin: 0px; padding: 0px; }", + ".skill-group-items li { overflow-wrap: anywhere; }", + ".entry { margin-bottom: 4.5mm; }", + ".entry:last-child { margin-bottom: 0px; }", + ".entry-head { display: flex; justify-content: space-between; gap: 1.5mm 4mm; align-items: baseline; flex-wrap: wrap; break-after: avoid; }", + ".entry-title { font-weight: 700; font-size: 10.5pt; min-width: 0px; flex: 1 1 50mm; overflow-wrap: anywhere; }", + ".entry-meta { color: rgb(72, 101, 129); font-size: 9pt; white-space: normal; text-align: right; max-width: 100%; overflow-wrap: anywhere; }", + ".entry-subtitle { color: rgb(72, 101, 129); font-size: 9.5pt; margin: 0.4mm 0px 1.2mm; }", + ".entry-tags { margin-top: 1.4mm; }", + ".cols { display: grid; grid-template-columns: 68mm minmax(0px, 1fr); min-height: 297mm; }", + ".sidebar { background: var(--cv-accent-color); color: var(--cv-accent-ink); padding: 16mm; }", + ".sidebar .section-title { color: var(--cv-accent-ink); border-color: color-mix(in srgb,var(--cv-accent-ink) 38%,transparent); }", + ".sidebar .tag { border-color: color-mix(in srgb,var(--cv-accent-ink) 45%,transparent); }", + ".sidebar .contact, .sidebar .headline, .sidebar .entry-meta, .sidebar .entry-subtitle { color: var(--cv-accent-ink); }", + ".sidebar a { color: inherit; }", + ".main { padding: 16mm; }", + ".hero .name { color: var(--cv-accent-ink); }", + ".entry { break-inside: avoid; }", + ".entry-flow { break-inside: auto; }", + ".section-title { break-after: avoid; }", + ".section-title + .entry, .section-title + .bullets, .section-title + .tags, .section-title + .paragraphs, .section-title + .skill-groups { break-before: avoid; }", + ".section { break-inside: avoid; }", + ".section-flow { break-inside: auto; }", + ".tag, .contact-item { break-inside: avoid; }", + ".bullets li { break-inside: avoid; orphans: 2; widows: 2; overflow-wrap: anywhere; }", + ".bullets li.item-flow { break-inside: auto; }", + "@media print {\n body { background: transparent; }\n .page { width: auto; min-height: 0px; margin: 0px; }\n .cols { min-height: 0px; }\n .header { padding-top: 0px; }\n .main, .sidebar { padding-top: 0px; padding-bottom: 0px; }\n}", + "@page { size: 210mm 297mm; margin: 16mm 0px; }", + "body { background: transparent; }", + ".page { width: auto; min-height: 0px; margin: 0px; }", + ".cols { min-height: 0px; }", + ".header { padding-top: 0px; }", + ".main, .sidebar { padding-top: 0px; padding-bottom: 0px; }", + "html, body { overflow: hidden !important; background: transparent !important; }", + "body { padding-top: 60.4724px; }", + "[data-cv-preview-flow] { width: 793.688px; height: 1002px; column-width: 793.688px; column-gap: 0px; column-fill: auto; transform-origin: left top; }" + ], + "sections": [ + { + "key": "section section-skills section-presentation-rows", + "title": "Ferdigheter", + "fragments": [ + { + "x": 60.46875, + "y": 284.984375, + "width": 136.0625, + "height": 103.453125 + } + ] + }, + { + "key": "section section-languages section-presentation-rows", + "title": "Språk", + "fragments": [ + { + "x": 60.46875, + "y": 411.109375, + "width": 136.0625, + "height": 55.15625 + } + ] + }, + { + "key": "section section-summary section-presentation-rows", + "title": "Profil", + "fragments": [ + { + "x": 317.46875, + "y": 60.46875, + "width": 415.75, + "height": 66 + } + ] + }, + { + "key": "section section-experience section-flow section-presentation-rows", + "title": "Arbeidserfaring", + "fragments": [ + { + "x": 317.46875, + "y": 149.140625, + "width": 415.75, + "height": 913.328125 + }, + { + "x": 1111.15625, + "y": 60.46875, + "width": 415.75, + "height": 1002 + }, + { + "x": 1904.84375, + "y": 60.46875, + "width": 415.75, + "height": 1002 + }, + { + "x": 2698.53125, + "y": 60.46875, + "width": 415.75, + "height": 760.125 + } + ] + }, + { + "key": "section section-education section-presentation-rows", + "title": "Utdanning", + "fragments": [ + { + "x": 2698.53125, + "y": 843.265625, + "width": 415.75, + "height": 143.09375 + } + ] + }, + { + "key": "section section-projects section-presentation-rows", + "title": "Prosjekter", + "fragments": [ + { + "x": 3492.21875, + "y": 60.46875, + "width": 415.75, + "height": 67.8125 + } + ] + } + ], + "effectiveMargin": "16mm", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.34 Safari/537.36" + } + }, + { + "fixture": "unbreakable-and-boundary", + "settings": { + "themeId": "code", + "accentColor": null, + "headingFont": null, + "bodyFont": null, + "density": null, + "pageSize": null, + "dateFormat": null, + "language": "en", + "headline": null, + "textColor": null, + "mutedColor": null, + "headingColor": null, + "backgroundColor": null, + "baseFontSizePt": null, + "headingSizePt": null, + "lineHeight": null, + "pageMarginMm": null, + "sectionGapMm": null, + "entryGapMm": null, + "headingStyle": null, + "headerStyle": null, + "skillsStyle": null, + "skillGroups": null, + "layout": null, + "sidebarWidthMm": null, + "sidebarSections": null, + "showPhoto": false, + "showPageNumbers": false, + "showIcons": true, + "sections": [ + { + "key": "summary", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "experience", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "education", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "projects", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "skills", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "languages", + "hidden": false, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + }, + { + "key": "interests", + "hidden": true, + "title": null, + "itemOrder": null, + "items": null, + "presentation": null, + "columns": null + } + ], + "overrides": {}, + "customSections": [ + { + "key": "boundary", + "title": "S09 Boundary content", + "items": [ + "R09 UnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidence", + "R10 Final recorded paragraph — æøå." + ], + "hidden": false, + "presetKey": null, + "contentType": "paragraphs" + } + ] + }, + "previewPages": 4, + "measured": { + "width": 793.6875, + "contentHeight": 4490.08, + "usableHeight": 1008, + "layoutDurationMs": 36.900000005960464, + "text": "Åse Fixture\nPlatform engineer with experience in accessible and reliable application workflows\nase@example.test\nOslo, Norge\nPROFESSIONAL SUMMARY\nR01 Builds reliable and accessible career software using documented evidence.\nPROFESSIONAL EXPERIENCE\nE01 Workflow and integration engineer\nNordlys Fixture 1\nB01 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB02 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB03 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nE02 Workflow and integration engineer\nNordlys Fixture 2\nB04 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB05 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB06 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nE03 Workflow and integration engineer\nNordlys Fixture 3\nB07 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB08 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB09 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nE04 Workflow and integration engineer\nNordlys Fixture 4\nB10 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB11 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB12 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nE05 Workflow and integration engineer\nNordlys Fixture 5\nB13 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB14 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB15 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nE06 Workflow and integration engineer\nNordlys Fixture 6\nB16 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB17 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nB18 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nEDUCATION\nE02 Computer science\nFixture University\nE08 Videreutdanning i universell utforming og informasjonsarkitektur\nFixture Academy\nPROJECTS\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\nSKILLS\nC#\nReact\nNorsk\nAccessibility\nLANGUAGES\nNorsk — Native\nS09 BOUNDARY CONTENT\n\nR09 UnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidence\n\nR10 Final recorded paragraph — æøå.", + "tokens": [ + { + "token": "R01", + "x": 74.59375, + "y": 200.546875, + "rawX": 74.59375, + "rawY": 200.546875, + "page": 1, + "width": 21.015625, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "E01", + "x": 57.59375, + "y": 271.09375, + "rawX": 57.59375, + "rawY": 271.09375, + "page": 1, + "width": 23.328125, + "height": 18, + "fontSize": "13.8667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B01", + "x": 74.59375, + "y": 314.84375, + "rawX": 74.59375, + "rawY": 314.84375, + "page": 1, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B02", + "x": 74.59375, + "y": 392.515625, + "rawX": 74.59375, + "rawY": 392.515625, + "page": 1, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B03", + "x": 74.59375, + "y": 470.1875, + "rawX": 74.59375, + "rawY": 470.1875, + "page": 1, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "E02", + "x": 57.59375, + "y": 665.5, + "rawX": 57.59375, + "rawY": 665.5, + "page": 1, + "width": 23.328125, + "height": 18, + "fontSize": "13.8667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B04", + "x": 74.59375, + "y": 709.25, + "rawX": 74.59375, + "rawY": 709.25, + "page": 1, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B05", + "x": 74.59375, + "y": 786.921875, + "rawX": 74.59375, + "rawY": 786.921875, + "page": 1, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B06", + "x": 74.59375, + "y": 864.59375, + "rawX": 74.59375, + "rawY": 864.59375, + "page": 1, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "E03", + "x": 57.59375, + "y": 1180.11375, + "rawX": 851.28125, + "rawY": 57.59375, + "page": 2, + "width": 23.328125, + "height": 18, + "fontSize": "13.8667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B07", + "x": 74.59375, + "y": 1223.86375, + "rawX": 868.28125, + "rawY": 101.34375, + "page": 2, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B08", + "x": 74.59375, + "y": 1301.535625, + "rawX": 868.28125, + "rawY": 179.015625, + "page": 2, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B09", + "x": 74.59375, + "y": 1379.2075, + "rawX": 868.28125, + "rawY": 256.6875, + "page": 2, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "E04", + "x": 57.59375, + "y": 1574.52, + "rawX": 851.28125, + "rawY": 452, + "page": 2, + "width": 23.328125, + "height": 18, + "fontSize": "13.8667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B10", + "x": 74.59375, + "y": 1618.27, + "rawX": 868.28125, + "rawY": 495.75, + "page": 2, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B11", + "x": 74.59375, + "y": 1695.941875, + "rawX": 868.28125, + "rawY": 573.421875, + "page": 2, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B12", + "x": 74.59375, + "y": 1773.61375, + "rawX": 868.28125, + "rawY": 651.09375, + "page": 2, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "E05", + "x": 57.59375, + "y": 1968.92625, + "rawX": 851.28125, + "rawY": 846.40625, + "page": 2, + "width": 23.328125, + "height": 18, + "fontSize": "13.8667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B13", + "x": 74.59375, + "y": 2012.67625, + "rawX": 868.28125, + "rawY": 890.15625, + "page": 2, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B14", + "x": 74.59375, + "y": 2090.348125, + "rawX": 868.28125, + "rawY": 967.828125, + "page": 2, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B15", + "x": 74.59375, + "y": 2302.63375, + "rawX": 1661.96875, + "rawY": 57.59375, + "page": 3, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "E06", + "x": 57.59375, + "y": 2497.94625, + "rawX": 1644.96875, + "rawY": 252.90625, + "page": 3, + "width": 23.328125, + "height": 18, + "fontSize": "13.8667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B16", + "x": 74.59375, + "y": 2541.69625, + "rawX": 1661.96875, + "rawY": 296.65625, + "page": 3, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B17", + "x": 74.59375, + "y": 2619.368125, + "rawX": 1661.96875, + "rawY": 374.328125, + "page": 3, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B18", + "x": 74.59375, + "y": 2697.04, + "rawX": 1661.96875, + "rawY": 452, + "page": 3, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "E02", + "x": 57.59375, + "y": 2928.743125, + "rawX": 1644.96875, + "rawY": 683.703125, + "page": 3, + "width": 23.328125, + "height": 18, + "fontSize": "13.8667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "E08", + "x": 57.59375, + "y": 2984.211875, + "rawX": 1644.96875, + "rawY": 739.171875, + "page": 3, + "width": 23.328125, + "height": 18, + "fontSize": "13.8667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "P01", + "x": 57.59375, + "y": 3076.07125, + "rawX": 1644.96875, + "rawY": 831.03125, + "page": 3, + "width": 24.46875, + "height": 18, + "fontSize": "13.8667px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "B03", + "x": 74.59375, + "y": 3095.88375, + "rawX": 1661.96875, + "rawY": 850.84375, + "page": 3, + "width": 20.703125, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "S09", + "x": 94.75, + "y": 3503.02875, + "rawX": 2475.8125, + "rawY": 135.46875, + "page": 4, + "width": 22.296875, + "height": 13, + "fontSize": "10.7733px", + "fontFamily": "Consolas, \"Courier New\", monospace", + "color": "rgb(11, 122, 99)" + }, + { + "token": "R09", + "x": 57.59375, + "y": 3533.513125, + "rawX": 2438.65625, + "rawY": 165.953125, + "page": 4, + "width": 21.015625, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + }, + { + "token": "R10", + "x": 57.59375, + "y": 3701.46625, + "rawX": 2438.65625, + "rawY": 333.90625, + "page": 4, + "width": 21.015625, + "height": 17, + "fontSize": "12.5333px", + "fontFamily": "\"Segoe UI\", Roboto, Arial, sans-serif", + "color": "rgb(23, 26, 32)" + } + ], + "body": { + "x": 0, + "y": 0, + "width": 794, + "height": 1065.59375, + "font": "\"Segoe UI\", Roboto, Arial, sans-serif", + "fontSize": "12.5333px", + "lineHeight": "17.9227px", + "color": "rgb(23, 26, 32)", + "background": "rgba(0, 0, 0, 0)", + "padding": "57.6px 0px 0px", + "margin": "0px" + }, + "page": { + "x": 0, + "y": 57.59375, + "width": 3174.75, + "height": 1008, + "font": "\"Segoe UI\", Roboto, Arial, sans-serif", + "fontSize": "12.5333px", + "lineHeight": "17.9227px", + "color": "rgb(23, 26, 32)", + "background": "rgb(255, 255, 255)", + "padding": "0px", + "margin": "0px" + }, + "header": { + "x": 0, + "y": 57.59375, + "width": 793.6875, + "height": 111.46875, + "font": "\"Segoe UI\", Roboto, Arial, sans-serif", + "fontSize": "12.5333px", + "lineHeight": "17.9227px", + "color": "rgb(23, 26, 32)", + "background": "rgba(0, 0, 0, 0)", + "padding": "0px 57.6px 21.1654px", + "margin": "0px" + }, + "main": { + "x": 0, + "y": 57.59375, + "width": 3174.75, + "height": 1008, + "font": "\"Segoe UI\", Roboto, Arial, sans-serif", + "fontSize": "12.5333px", + "lineHeight": "17.9227px", + "color": "rgb(23, 26, 32)", + "background": "rgba(0, 0, 0, 0)", + "padding": "0px 57.6px", + "margin": "0px" + }, + "sidebar": null, + "parsedRules": [ + "* { box-sizing: border-box; }", + ":root { --cv-accent-color: #0b7a63; --cv-accent-ink: #fff; --cv-accent-soft: color-mix(in srgb,#0b7a63 28%,transparent); --cv-ink: #171a20; --cv-muted: #555e6b; --cv-paper: #ffffff; --cv-page-margin: 15.24mm; }", + "html, body { min-width: 0px; }", + "body { margin: 0px; background: rgb(233, 237, 242); color: var(--cv-ink); font-family: \"Segoe UI\", Roboto, Arial, sans-serif; font-size: 9.4pt; line-height: 1.43; print-color-adjust: exact; }", + ".page { width: 210mm; min-height: 297mm; margin: 0px auto; background: var(--cv-paper); overflow: visible; overflow-wrap: anywhere; word-break: normal; }", + "h1, h2 { font-family: \"Segoe UI\", Roboto, Arial, sans-serif; }", + ".name { margin: 0px; font-size: 25.5pt; color: rgb(23, 26, 32); line-height: 1.1; overflow-wrap: anywhere; }", + ".kicker { text-transform: uppercase; letter-spacing: 0.3em; font-size: 7.5pt; color: rgb(11, 122, 99); margin-bottom: 1.5mm; }", + ".headline { margin-top: 1.5mm; color: rgb(85, 94, 107); font-size: 9.9pt; }", + ".head-text, .main, .sidebar, .cols > * { min-width: 0px; }", + ".head-text { flex: 1 1 0%; }", + ".photo { width: 30mm; height: 30mm; overflow: hidden; flex: 0 0 auto; border: 1px solid var(--cv-accent-soft); }", + ".photo-square { border-radius: 2mm; }", + ".photo-rounded { border-radius: 5mm; }", + ".photo-circle { border-radius: 50%; }", + ".photo img { width: 100%; height: 100%; object-fit: cover; display: block; }", + ".contact { display: flex; gap: 3mm; flex-wrap: wrap; color: rgb(85, 94, 107); font-size: 8.9pt; margin-top: 2.5mm; }", + ".contact-stacked { flex-direction: column; gap: 1.8mm; }", + ".contact-item { display: inline-flex; align-items: center; gap: 1.2mm; min-width: 0px; max-width: 100%; overflow-wrap: anywhere; }", + ".contact a { color: inherit; text-decoration: none; min-width: 0px; overflow-wrap: anywhere; word-break: break-word; }", + ".main a { color: var(--cv-accent-color); text-decoration-color: var(--cv-accent-soft); }", + ".contact svg { width: 3.2mm; height: 3.2mm; flex: 0 0 auto; opacity: 0.85; }", + ".hero { margin-bottom: 5.6mm; }", + ".hero .name { font-size: 22.5pt; }", + ".section { margin-top: 5.6mm; }", + ".section:first-child { margin-top: 0px; }", + ".section-title { margin: 0px 0px 2.6mm; font-size: 9.5pt; font-weight: 700; color: rgb(11, 122, 99); }", + ".section-title { text-transform: uppercase; letter-spacing: 0.14em; font-size: 8.08pt; color: var(--cv-accent-color); border-bottom: 1px solid var(--cv-accent-soft); padding-bottom: 1.4mm; }", + ".section-presentation-grid { display: grid; grid-template-columns: repeat(var(--cv-section-columns,1),minmax(0,1fr)); column-gap: 4mm; align-items: start; }", + ".section-presentation-grid > .section-title { grid-column: 1 / -1; }", + ".section-presentation-grid > .entry { min-width: 0px; }", + ".section-presentation-compact > .entry { margin-bottom: 2.37mm; }", + ".section-presentation-compact > .bullets li { margin-bottom: 0.75mm; }", + ".section-presentation-bubble > .tags, .section-presentation-bubble > .bullets { list-style: none; padding: 0px; display: flex; flex-wrap: wrap; gap: 1.4mm; }", + ".section-presentation-bubble > .bullets li, .section-presentation-bubble > .tags li { margin: 0px; border: 1px solid var(--cv-accent-soft); border-radius: 999px; padding: 0.7mm 2.2mm; }", + ".section-presentation-bubble > .bullets li::marker { content: \"\"; }", + ".bullets { margin: 0px; padding-left: 4.5mm; }", + ".bullets li { margin: 0px 0px 1.6mm; }", + ".bullets li::marker { color: var(--cv-accent-color); }", + ".tags { list-style: none; margin: 0px; padding: 0px; display: flex; flex-wrap: wrap; gap: 1.8mm; }", + ".skills-text { margin: 0px; overflow-wrap: anywhere; }", + ".tag { border: 1px solid var(--cv-accent-soft); border-radius: 999px; padding: 0.7mm 2.2mm; font-size: 8.9pt; max-width: 100%; overflow-wrap: anywhere; }", + ".paragraphs p { margin: 0px 0px 1.8mm; white-space: pre-line; }", + ".skill-groups { display: grid; gap: 1.7mm; }", + ".skill-group { display: grid; grid-template-columns: minmax(24mm, 0.3fr) minmax(0px, 1fr); gap: 3mm; break-inside: avoid; }", + ".skill-group-name { font-family: Consolas, \"Courier New\", monospace; font-weight: 700; color: var(--cv-accent-color); overflow-wrap: anywhere; }", + ".skill-group-items { display: flex; flex-wrap: wrap; gap: 0.8mm 3mm; list-style: none; margin: 0px; padding: 0px; }", + ".skill-group-items li { overflow-wrap: anywhere; }", + ".entry { margin-bottom: 4.3mm; }", + ".entry:last-child { margin-bottom: 0px; }", + ".entry-head { display: flex; justify-content: space-between; gap: 1.5mm 4mm; align-items: baseline; flex-wrap: wrap; break-after: avoid; }", + ".entry-title { font-weight: 700; font-size: 10.4pt; min-width: 0px; flex: 1 1 50mm; overflow-wrap: anywhere; }", + ".entry-meta { color: rgb(85, 94, 107); font-size: 8.9pt; white-space: normal; text-align: right; max-width: 100%; overflow-wrap: anywhere; }", + ".entry-subtitle { color: rgb(85, 94, 107); font-size: 9.4pt; margin: 0.4mm 0px 1.2mm; }", + ".entry-tags { margin-top: 1.4mm; }", + ".main { padding: 0px 15.24mm 15.24mm; }", + ".header { padding: 15.24mm 15.24mm 5.6mm; display: flex; gap: 6mm; align-items: center; }", + ".header-band { background: rgb(11, 122, 99); color: rgb(255, 255, 255); }", + ".header-band .name, .header-band .headline, .header-band .contact, .header-band .contact-item, .header-band a { color: rgb(255, 255, 255); }", + ".header-centered { flex-direction: column; text-align: center; justify-content: center; }", + ".header-centered .contact { justify-content: center; }", + ".header-plain { border-bottom: 2px solid rgb(11, 122, 99); }", + ".main { counter-reset: cv-section 0; }", + ".main > .section > .section-title { counter-increment: cv-section 1; font-family: Consolas, \"Courier New\", monospace; font-weight: 600; }", + ".main > .section > .section-title::before { content: counter(cv-section, decimal-leading-zero) \" — \"; color: var(--cv-accent-color); }", + ".entry { break-inside: avoid; }", + ".entry-flow { break-inside: auto; }", + ".section-title { break-after: avoid; }", + ".section-title + .entry, .section-title + .bullets, .section-title + .tags, .section-title + .paragraphs, .section-title + .skill-groups { break-before: avoid; }", + ".section { break-inside: avoid; }", + ".section-flow { break-inside: auto; }", + ".tag, .contact-item { break-inside: avoid; }", + ".bullets li { break-inside: avoid; orphans: 2; widows: 2; overflow-wrap: anywhere; }", + ".bullets li.item-flow { break-inside: auto; }", + "@media print {\n body { background: transparent; }\n .page { width: auto; min-height: 0px; margin: 0px; }\n .cols { min-height: 0px; }\n .header { padding-top: 0px; }\n .main, .sidebar { padding-top: 0px; padding-bottom: 0px; }\n}", + "@page { size: 210mm 297mm; margin: 15.24mm 0px; }", + "body { background: transparent; }", + ".page { width: auto; min-height: 0px; margin: 0px; }", + ".cols { min-height: 0px; }", + ".header { padding-top: 0px; }", + ".main, .sidebar { padding-top: 0px; padding-bottom: 0px; }", + "html, body { overflow: hidden !important; background: transparent !important; }", + "body { padding-top: 57.6px; }", + "[data-cv-preview-flow] { width: 793.688px; height: 1008px; column-width: 793.688px; column-gap: 0px; column-fill: auto; transform-origin: left top; }" + ], + "sections": [ + { + "key": "section section-summary section-presentation-rows", + "title": "Professional Summary", + "fragments": [ + { + "x": 57.59375, + "y": 169.0625, + "width": 678.5, + "height": 49.390625 + } + ] + }, + { + "key": "section section-experience section-flow section-presentation-rows", + "title": "Professional Experience", + "fragments": [ + { + "x": 57.59375, + "y": 239.609375, + "width": 678.5, + "height": 825.984375 + }, + { + "x": 851.28125, + "y": 57.59375, + "width": 678.5, + "height": 1008 + }, + { + "x": 1644.96875, + "y": 57.59375, + "width": 678.5, + "height": 573.46875 + } + ] + }, + { + "key": "section section-education section-presentation-rows", + "title": "Education", + "fragments": [ + { + "x": 1644.96875, + "y": 652.21875, + "width": 678.5, + "height": 126.171875 + } + ] + }, + { + "key": "section section-projects section-presentation-rows", + "title": "Projects", + "fragments": [ + { + "x": 1644.96875, + "y": 799.546875, + "width": 678.5, + "height": 69.203125 + } + ] + }, + { + "key": "section section-skills section-presentation-rows", + "title": "Skills", + "fragments": [ + { + "x": 1644.96875, + "y": 889.90625, + "width": 678.5, + "height": 121.25 + } + ] + }, + { + "key": "section section-languages section-presentation-rows", + "title": "Languages", + "fragments": [ + { + "x": 2438.65625, + "y": 57.59375, + "width": 678.5, + "height": 55.71875 + } + ] + }, + { + "key": "section section-custom:boundary section-presentation-rows", + "title": "S09 Boundary content", + "fragments": [ + { + "x": 2438.65625, + "y": 134.46875, + "width": 678.5, + "height": 217.34375 + } + ] + } + ], + "effectiveMargin": "15.24mm", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.34 Safari/537.36" + } + } + ] +} \ No newline at end of file diff --git a/docs/redesign/phase-5/p5-09/evidence/renderer-source-hashes.json b/docs/redesign/phase-5/p5-09/evidence/renderer-source-hashes.json new file mode 100644 index 0000000..30f41ae --- /dev/null +++ b/docs/redesign/phase-5/p5-09/evidence/renderer-source-hashes.json @@ -0,0 +1,82 @@ +[ + { + "fixture": "default-modern", + "sha256": "8e768156c7ffd4ad8dae6914a6a57baa5114668dc53a861f3925e0be8cffb8aa", + "sameAsPaginationCheckpoint": true + }, + { + "fixture": "default-minimal", + "sha256": "26bd74195f0f5ed917751ec5aeb0321ef156f93f105e889cea3fa67b2952bb1c", + "sameAsPaginationCheckpoint": true + }, + { + "fixture": "default-executive", + "sha256": "d57da767c7c6cf446fe351fd381d33b95b555423db21feb84c9c1346775d8c48", + "sameAsPaginationCheckpoint": true + }, + { + "fixture": "default-technical", + "sha256": "681554ff60e68efa848e0a9e0ea6c2776526ea6a2017a05952ef724b08fc9e95", + "sameAsPaginationCheckpoint": true + }, + { + "fixture": "default-ats-classic", + "sha256": "f290eeef533983ea8a46c536e9747c0d88ee2cb7275f94366561c89645dc947b", + "sameAsPaginationCheckpoint": true + }, + { + "fixture": "default-nordic", + "sha256": "361c0d55d3596a6e56d03b02bdecd9c9dbf6b48b7cb0a4add7d75382ca3e2958", + "sameAsPaginationCheckpoint": true + }, + { + "fixture": "default-elegant", + "sha256": "816163e97d55be1fd726228fad0f7da471c707ca7879f0fbb036a1324dbdea47", + "sameAsPaginationCheckpoint": true + }, + { + "fixture": "default-creative", + "sha256": "1cd723eb101ac3d06f87b4c2f8fa28e53252075a0f3ff5aa6002d6f6c2be6799", + "sameAsPaginationCheckpoint": true + }, + { + "fixture": "default-code", + "sha256": "579dbd0e1c14afdee09f29f652e7742f5082c22e2de5f7c7ed06b954a2568d35", + "sameAsPaginationCheckpoint": true + }, + { + "fixture": "long-en-minimal", + "sha256": "2506bfc9473a1096e29f643b6d2958ff941e226e91ee67b7f05323dd28646a6a", + "sameAsPaginationCheckpoint": true + }, + { + "fixture": "long-nb-code", + "sha256": "48bcca5d8713960e7543d4f150bf1c7cc96e7227d9b04b69ed063241dbbc68df", + "sameAsPaginationCheckpoint": true + }, + { + "fixture": "compact-8mm-letter", + "sha256": "515fbd6d8e0d031d86fa4cf08dc71c8c508fb84ea385aa19116f6cf13c9c7567", + "sameAsPaginationCheckpoint": true + }, + { + "fixture": "roomy-28mm-nb", + "sha256": "cc0052318c874c2600ea0c137bd377411c0f6cd1c0115c1ed65c0d1173a3f1b9", + "sameAsPaginationCheckpoint": true + }, + { + "fixture": "grid-and-bubbles", + "sha256": "1e5fc270a8ecf02a6e6bd7ac7b0d1d50c9f15baa00fb4c37a39b7ab3c141de37", + "sameAsPaginationCheckpoint": true + }, + { + "fixture": "long-sidebar-nb", + "sha256": "823db293254304db0d8ca2a9bf249af6dd343de959d4a965e741ae4cde633590", + "sameAsPaginationCheckpoint": true + }, + { + "fixture": "unbreakable-and-boundary", + "sha256": "3faf425eb9ecf0be7e5294b5f60859133f24276df9a9d6ed2e569c3cd7069978", + "sameAsPaginationCheckpoint": true + } +] diff --git a/docs/redesign/phase-5/p5-09/evidence/roomy-28mm-nb-comparison-5.png b/docs/redesign/phase-5/p5-09/evidence/roomy-28mm-nb-comparison-5.png new file mode 100644 index 0000000..bbc4f7a Binary files /dev/null and b/docs/redesign/phase-5/p5-09/evidence/roomy-28mm-nb-comparison-5.png differ diff --git a/docs/redesign/phase-5/p5-09/evidence/supplemental-browser-summary.json b/docs/redesign/phase-5/p5-09/evidence/supplemental-browser-summary.json new file mode 100644 index 0000000..fcbfe3c --- /dev/null +++ b/docs/redesign/phase-5/p5-09/evidence/supplemental-browser-summary.json @@ -0,0 +1,48 @@ +{ + "procedure": "Four existing frame fixtures replayed with screenshot animations disabled, plus one browser-clock-paused native Unsaved capture followed by clock resume and successful persisted save. Separate from the permanent 102-case baseline.", + "stats": { + "startTime": "2026-10-07T10:23:58.430Z", + "duration": 97098.671, + "expected": 5, + "skipped": 0, + "unexpected": 0, + "flaky": 0 + }, + "cases": [ + { + "title": "[PRES-C05 C06 C07 C10 W05 E08] light/en CV frame navigation, actions and pending editing", + "status": "expected", + "attempts": [ + "passed" + ] + }, + { + "title": "[PRES-C05 C06 C07 C10 W05 E08] dark/nb CV frame navigation, actions and pending editing", + "status": "expected", + "attempts": [ + "passed" + ] + }, + { + "title": "[PRES-C05 C06 C07 C10 W05 E08] light/nb CV frame navigation, actions and pending editing", + "status": "expected", + "attempts": [ + "passed" + ] + }, + { + "title": "[PRES-C05 C06 C07 C10 W05 E08] dark/en CV frame navigation, actions and pending editing", + "status": "expected", + "attempts": [ + "passed" + ] + }, + { + "title": "supplemental native Unsaved frame capture", + "status": "expected", + "attempts": [ + "passed" + ] + } + ] +} diff --git a/docs/roadmap/todo.md b/docs/roadmap/todo.md index 490ae91..a5b2a1f 100644 --- a/docs/roadmap/todo.md +++ b/docs/roadmap/todo.md @@ -4,6 +4,8 @@ Status reconciled: 2026-10-07. ## Current repository work +- **P5-09 — CV editor frame/navigation complete:** [implementation record](../redesign/phase-5/p5-09/README.md). Content-first studio, compact document identity/scope/actions, ordered section navigation and explicit keyboard preview entry reuse the existing forms/save/history/render owners. Baseline: **941 backend / 426 frontend (+4) / 102 actual browser passes (+4)**, security 9/6/1, configuration 3; revision 5/5 and fidelity 16/16 with 36 aligned pages. EN/Bokmål, light/dark and desktop/intermediate/phone evidence retained; incomplete checks and pointer/reflow qualification are explicit. Stop before P5-10+ and B07. F04, production font/photo and human screen-reader acceptance stay open. + - **CV pagination-fidelity repair complete — GO for P5-09:** [native pagination evidence](../redesign/phase-5/p5-09-pagination-readiness/README.md) resolves all six original failures, **16/16** at unchanged tolerances, 36 preview/native PDF pages. PDF and accepted [revision protection](../redesign/phase-5/p5-09-readiness/README.md) remain unchanged. Baseline: **941 backend / 422 frontend / 98 actual browser passes (+2)**, security 9/6/1, configuration 3. Broader photo/wrapped-line/deployment-font qualification and native print-quality/control debt remain recorded. Stop before P5-09+ or B07; F04 and human screen-reader acceptance stay open. P2-D01 is ordinary passing. - **P5-08b — Job sections complete:** [section architecture/preservation record](../redesign/phase-5/p5-08b/README.md) owns seven URL-backed sections, Application and Timeline subsections, current versus frozen documents, readable Timeline/Notes/tasks/correspondence/interview presentation and local read-error handling. Existing native packages, legacy/numeric links, query/history, Jobs Back focus and all domain owners remain. Final baseline: **936 backend / 418 frontend (+6) / 93 actual browser passes (+5)**, zero expected failures; security 9/6/1, configuration 3. Eight scoped mounted-page scans have no violations but retain incomplete findings; human screen-reader acceptance is not passed. Stop before P5-09: revision/rendering gates remain; F04 stays open. Historical checkpoint counts below are not current expected failures. diff --git a/job-tracker-ui/e2e/builder-preview-keyboard.spec.ts b/job-tracker-ui/e2e/builder-preview-keyboard.spec.ts index 078740b..ed4487d 100644 --- a/job-tracker-ui/e2e/builder-preview-keyboard.spec.ts +++ b/job-tracker-ui/e2e/builder-preview-keyboard.spec.ts @@ -55,9 +55,20 @@ async function scan(page: Page, info: TestInfo, state: string) { } async function enterPreview(page: Page, region: Locator, start = page.getByRole("tab").last()) { - // Traverse the real tab order from a preceding control, not a DOM focus call on the region. + // Content is primary in P5-09. Reach the named pane-navigation action through + // the real tab order, rather than traversing every collapsed section control. await start.focus(); - for (let i = 0; i < 80 && !(await region.evaluate(node => node === document.activeElement)); i++) await page.keyboard.press("Tab"); + const previewEntry = page.getByRole("button", { name: /^(Go to preview|Gå til forhåndsvisning)$/ }); + if (await previewEntry.isVisible()) { + await page.keyboard.press("Tab"); + await expect(page.getByRole("combobox", { name: /^(Go to section|Gå til seksjon)/ })).toBeFocused(); + await page.keyboard.press("Tab"); + await expect(previewEntry).toBeFocused(); + await page.keyboard.press("Enter"); + } else { + // Mobile retains its existing Edit/Preview button and native tab entry. + for (let i = 0; i < 80 && !(await region.evaluate(node => node === document.activeElement)); i++) await page.keyboard.press("Tab"); + } await expect(region).toBeFocused(); const ring = await region.evaluate(node => { const css = getComputedStyle(node); diff --git a/job-tracker-ui/e2e/cv-editor-frame.spec.ts b/job-tracker-ui/e2e/cv-editor-frame.spec.ts new file mode 100644 index 0000000..eecc19c --- /dev/null +++ b/job-tracker-ui/e2e/cv-editor-frame.spec.ts @@ -0,0 +1,179 @@ +import { expect, test, type APIRequestContext, type Page, type TestInfo } from '@playwright/test'; +import AxeBuilder from '@axe-core/playwright'; +import { translations } from '../src/i18n/translations'; + +const apiUrl = 'http://localhost:5302/api'; +const password = 'E2ePassword123!'; +async function login(api: APIRequestContext, email: string) { + expect((await api.post(`${apiUrl}/auth/login`, { data: { email, password } })).status()).toBe(200); + const me = await (await api.get(`${apiUrl}/auth/me`)).json(); + return { 'X-CSRF-TOKEN': (await api.storageState()).cookies.find(cookie => cookie.name === 'XSRF-TOKEN')!.value, 'X-Session-Context': me.sessionContext as string }; +} +async function capture(page: Page, info: TestInfo, state: string) { + await page.evaluate(() => new Promise(resolve => requestAnimationFrame(() => requestAnimationFrame(resolve)))); + await page.screenshot({ path: info.outputPath(`${state}.png`) }); +} +async function scan(page: Page, info: TestInfo, state: string) { + const result = await new AxeBuilder({ page }).withTags(['wcag2a', 'wcag2aa', 'wcag21a', 'wcag21aa']).analyze(); + await info.attach(`${state}-axe`, { body: JSON.stringify({ violations: result.violations, incomplete: result.incomplete }), contentType: 'application/json' }); + expect(result.violations).toEqual([]); +} + +for (const [mode, language] of [['light', 'en'], ['dark', 'nb'], ['light', 'nb'], ['dark', 'en']] as const) { + test(`[PRES-C05 C06 C07 C10 W05 E08] ${mode}/${language} CV frame navigation, actions and pending editing`, async ({ page, context, playwright }, info) => { + test.setTimeout(180_000); + const t = translations[language]; + const label = (key: keyof typeof t, section: string) => t[key].replace('{section}', section); + const admin = await playwright.request.newContext(); + const adminHeaders = await login(admin, 'e2e@example.test'); + const email = `p509-${Date.now()}-${mode}-${language}@example.test`; + expect((await admin.post(`${apiUrl}/users`, { headers: adminHeaders, data: { email, password, roles: [] } })).status()).toBe(200); + await admin.dispose(); + const headers = await login(page.request, email); + await context.route('**/*', route => { + const url = new URL(route.request().url()); + return ['localhost', '127.0.0.1'].includes(url.hostname) || ['data:', 'blob:', 'about:'].includes(url.protocol) ? route.continue() : route.abort(); + }); + await context.addInitScript(({ mode, language }) => { localStorage.setItem('jobtracker.themeMode', mode); localStorage.setItem('uiLanguage', language); }, { mode, language }); + expect((await page.request.put(`${apiUrl}/auth/preferences/language`, { headers, data: { language: language === 'nb' ? 'nb-NO' : 'en' } })).status()).toBe(204); + const profile = { version: '1', contact: { fullName: 'Åse Eksempel', headline: 'Canonical career information', location: 'Oslo, Norge' }, + summary: ['Verified source experience.'], jobs: [{ id: 'job-1', title: 'Platform engineer', company: 'Nordlys AS', startDate: '2021-01', isCurrent: true, bullets: ['Maintained verified, accessible workflows.'] }], + education: [{ id: 'education-1', qualification: 'Computer science', institution: 'Fixture University', startDate: '2016-08', endDate: '2020-06' }], + projects: [{ id: 'project-1', name: 'Evidence workspace', bullets: ['Documented source-grounded reviews.'] }], skills: ['C#', 'React', 'Norsk'], + }; + expect((await page.request.put(`${apiUrl}/career/profile`, { headers, data: { profile } })).status()).toBe(200); + const source = await (await page.request.get(`${apiUrl}/career/profile`)).json(); + const company = await page.request.post(`${apiUrl}/companies`, { headers, data: { name: 'Nordlys fixture AS' } }); + expect(company.status()).toBe(201); + const job = await page.request.post(`${apiUrl}/jobapplications`, { headers, data: { companyId: (await company.json()).id, jobTitle: 'Application-linked CV fixture', status: 'Saved' } }); + expect(job.status()).toBe(201); const jobId = (await job.json()).id; + const created = await page.request.post(`${apiUrl}/cv/variants`, { headers, data: { name: 'Åse — dokumenterte kvalifikasjoner og erfaring', jobApplicationId: jobId, settings: { + themeId: 'minimal', sections: [{ key: 'summary' }, { key: 'experience' }, { key: 'education' }, { key: 'projects' }, { key: 'skills', hidden: true }], + customSections: [{ key: 'volunteer', title: 'Frivillig arbeid og dokumenterte bidrag', contentType: 'paragraphs', items: ['Eksisterende innhold — æøå.'] }], + } } }); + expect(created.status()).toBe(200); const cv = await created.json(); + const cvUrl = `${apiUrl}/cv/variants/${cv.id}`; + const read = async () => (await page.request.get(cvUrl)).json(); + const saved = async () => { await expect(page.getByText(t.cvEditorSaved, { exact: true })).toBeVisible(); }; + await page.setViewportSize({ width: 1440, height: 900 }); + await page.goto(`/career/builder/${cv.id}`); + await expect(page.getByLabel(t.cvEditorName, { exact: true })).toHaveValue(cv.name); + await expect(page.getByRole('tab', { name: t.cvEditorContent, exact: true })).toHaveAttribute('aria-selected', 'true'); + await expect(page.getByRole('tabpanel', { name: t.cvEditorContent, exact: true })).toBeVisible(); + await expect(page.getByText(t.cvEditorScope, { exact: true })).toBeVisible(); + await expect(page.getByRole('link', { name: t.cvEditorLinkedApplication })).toHaveAttribute('href', `/jobs/${jobId}`); + await expect(page.getByTitle(t.cvEditorPreviewPage.replace('{page}', '1'), { exact: true })).toBeVisible(); + await saved(); await capture(page, info, 'desktop-content'); await scan(page, info, 'desktop-content'); + + const sectionSelect = page.getByRole('combobox', { name: new RegExp(`^${t.cvEditorGoToSection}`) }); + await sectionSelect.click(); + await page.getByRole('option', { name: `${t.cvSectionSkills} · ${t.cvEditorOmitted}`, exact: true }).click(); + await expect(page.getByRole('button', { name: label('cvEditorCollapseSection', t.cvSectionSkills), exact: true })).toBeFocused(); + await expect(page.getByRole('button', { name: label('cvEditorShowSection', t.cvSectionSkills), exact: true })).toBeVisible(); + expect((await read()).version).toBe(cv.version); + await capture(page, info, 'omitted-section-focus'); + + // Native HTML drag path and the existing keyboard alternative both change the + // persisted document order; no simulated request or alternative order model. + await page.getByRole('group', { name: t.cvSectionProjects, exact: true }).dragTo(page.getByRole('group', { name: t.cvSectionExperience, exact: true })); + await saved(); + await expect.poll(async () => (await read()).settings.sections.slice(0, 4).map((row: { key: string }) => row.key)).toEqual(['summary', 'projects', 'experience', 'education']); + const move = page.getByRole('button', { name: label('cvEditorMoveSectionDown', t.cvSectionExperience), exact: true }); + await move.focus(); await page.keyboard.press('Enter'); + await expect(move).toBeFocused(); await saved(); + expect((await read()).settings.sections.slice(0, 4).map((row: { key: string }) => row.key)).toEqual(['summary', 'projects', 'education', 'experience']); + await capture(page, info, 'reordered-section-focus'); + + await sectionSelect.focus(); await page.keyboard.press('Space'); + await page.keyboard.press('End'); await page.keyboard.press('Enter'); + await expect(page.getByRole('button', { name: label('cvEditorCollapseSection', 'Frivillig arbeid og dokumenterte bidrag'), exact: true })).toBeFocused(); + let release!: () => void; + const hold = new Promise(resolve => { release = resolve; }); + let pending = false; + await page.route(cvUrl, async route => { + if (route.request().method() === 'PUT') { pending = true; await hold; } + await route.continue(); + }); + const headline = page.getByLabel(t.cvEditorHeadlineOverride, { exact: true }); + const editing = page.getByRole('region', { name: t.cvEditorEditingRegion, exact: true }); + try { + await headline.fill('Local CV draft — æøå'); + await expect.poll(() => pending).toBe(true); + await expect(page.getByText(t.cvEditorSaving, { exact: true })).toBeVisible(); + await capture(page, info, 'pending-save'); + await page.getByRole('tab', { name: t.cvEditorCustomize, exact: true }).click(); + await expect(page.getByLabel(t.cvEditorPageSize, { exact: true })).toBeVisible(); + await page.getByRole('tab', { name: t.cvEditorTemplate, exact: true }).click(); + await expect(page.getByRole('button', { name: t.cvEditorAllTemplates, exact: true })).toBeVisible(); + await page.getByRole('tab', { name: t.cvEditorContent, exact: true }).click(); + await expect(headline).toHaveValue('Local CV draft — æøå'); + await expect(sectionSelect).toContainText('Frivillig arbeid og dokumenterte bidrag'); + for (const width of [899, 900, 1024]) { + await headline.focus(); await page.setViewportSize({ width, height: 900 }); + await expect(headline).toBeFocused(); await expect(editing).toBeVisible(); + await expect(headline).toHaveValue('Local CV draft — æøå'); + expect(await page.evaluate(() => document.documentElement.scrollWidth <= innerWidth + 1)).toBe(true); + await capture(page, info, `pending-${width}`); + } + } finally { release(); } + await saved(); await page.unroute(cvUrl); + expect((await read()).settings.headline).toBe('Local CV draft — æøå'); + expect(await (await page.request.get(`${apiUrl}/career/profile`)).json()).toEqual(source); + await page.getByRole('button', { name: t.cvEditorUndo, exact: true }).click(); await saved(); + await expect(headline).toHaveValue(''); + await page.getByRole('button', { name: t.cvEditorRedo, exact: true }).click(); await saved(); + await expect(headline).toHaveValue('Local CV draft — æøå'); + + // Publication and PDF stay in the existing client handlers. Menu Escape returns + // focus; public state is explicit, and unpublishing revokes anonymous access. + const more = page.getByRole('button', { name: t.cvEditorMoreActions, exact: true }); + await more.click(); await page.keyboard.press('Escape'); await expect(more).toBeFocused(); + await more.click(); await page.getByRole('menuitem', { name: t.cvEditorShare, exact: true }).click(); + await expect(page.getByText(t.cvEditorShared, { exact: true })).toBeVisible(); + const publicCv = await read(); + const anonymous = await playwright.request.newContext(); + expect((await anonymous.get(`${apiUrl}/public-cv/${publicCv.publicSlug}`)).status()).toBe(200); + await more.click(); await expect(page.getByRole('menuitem', { name: t.cvEditorCopyLink, exact: true })).toBeVisible(); + await page.getByRole('menuitem', { name: t.cvEditorStopSharing, exact: true }).click(); + await expect(page.getByText(t.cvEditorShared, { exact: true })).toHaveCount(0); + expect((await anonymous.get(`${apiUrl}/public-cv/${publicCv.publicSlug}`)).status()).toBe(404); await anonymous.dispose(); + const pdfResponse = page.waitForResponse(response => response.url() === `${cvUrl}/export-pdf` && response.request().method() === 'POST'); + const download = page.waitForEvent('download'); + await page.getByRole('button', { name: t.cvEditorDownloadPdf, exact: true }).click(); + expect((await pdfResponse).status()).toBe(200); expect((await download).suggestedFilename()).toMatch(/\.pdf$/i); + + await page.setViewportSize({ width: 1440, height: 900 }); + await page.getByRole('tab', { name: t.cvEditorHistory, exact: true }).click(); + const history = page.getByRole('tabpanel', { name: t.cvEditorHistory, exact: true }); + await expect(history.getByText(t.cvEditorVersion.replace('{version}', '1'), { exact: true })).toBeVisible(); + await capture(page, info, 'history'); await scan(page, info, 'history'); + await page.getByRole('tab', { name: t.cvEditorAiTools, exact: true }).click(); + await expect(page.getByRole('tabpanel', { name: t.cvEditorAiTools, exact: true })).toBeVisible(); + await page.getByRole('tab', { name: t.cvEditorContent, exact: true }).click(); + await expect(sectionSelect).toContainText('Frivillig arbeid og dokumenterte bidrag'); + await expect(page.getByRole('button', { name: label('cvEditorCollapseSection', 'Frivillig arbeid og dokumenterte bidrag'), exact: true })).toBeVisible(); + for (const width of [768, 390, 320]) { + await headline.focus(); await page.setViewportSize({ width, height: 844 }); + await expect(editing).toBeVisible(); + await expect(page.getByRole('button', { name: t.cvEditorEdit, exact: true })).toHaveAttribute('aria-pressed', 'true'); + await page.getByLabel(t.cvEditorName, { exact: true }).scrollIntoViewIfNeeded(); + expect(await page.evaluate(() => document.documentElement.scrollWidth <= innerWidth + 1)).toBe(true); + await capture(page, info, `edit-${width}`); + await page.getByRole('button', { name: t.cvEditorPreview, exact: true }).click(); + await expect(page.getByRole('button', { name: t.cvEditorPreview, exact: true })).toHaveAttribute('aria-pressed', 'true'); + const preview = page.getByRole('region', { name: t.cvEditorLivePreview, exact: true }); + await expect(preview).toBeVisible(); await preview.focus(); await page.keyboard.press('End'); + await capture(page, info, `preview-${width}`); + await page.getByRole('button', { name: t.cvEditorEdit, exact: true }).click(); + await expect(headline).toHaveValue('Local CV draft — æøå'); + } + await scan(page, info, 'phone-edit'); + await page.setViewportSize({ width: 1440, height: 900 }); + await more.click(); + const copiedResponse = page.waitForResponse(response => response.url() === `${cvUrl}/duplicate`); + await page.getByRole('menuitem', { name: t.cvEditorDuplicate, exact: true }).click(); + const copied = await (await copiedResponse).json(); + await expect(page).toHaveURL(new RegExp(`/career/builder/${copied.id}$`)); + expect((await (await page.request.get(`${apiUrl}/cv/variants/${copied.id}`)).json()).settings).toEqual((await read()).settings); + }); +} diff --git a/job-tracker-ui/e2e/semantic-foundations.spec.ts b/job-tracker-ui/e2e/semantic-foundations.spec.ts index 23414d0..3d4d252 100644 --- a/job-tracker-ui/e2e/semantic-foundations.spec.ts +++ b/job-tracker-ui/e2e/semantic-foundations.spec.ts @@ -211,6 +211,8 @@ for (const mode of ["light", "dark"] as const) { const customize = page.getByRole("tab", { name: "Customize", exact: true }); await page.getByRole("tab", { name: "Content", exact: true }).focus(); await page.keyboard.press("ArrowRight"); + await expect(page.getByRole("tab", { name: "Template", exact: true })).toBeFocused(); + await page.keyboard.press("ArrowRight"); await expect(customize).toBeFocused(); await customize.press("Enter"); await keyboardFocus(page, customize); diff --git a/job-tracker-ui/e2e/smoke.spec.ts b/job-tracker-ui/e2e/smoke.spec.ts index bce6c21..6d7c012 100644 --- a/job-tracker-ui/e2e/smoke.spec.ts +++ b/job-tracker-ui/e2e/smoke.spec.ts @@ -509,10 +509,14 @@ test("the Code template exports a long structured CV as searchable multi-page PD await page.goto(`/career/builder/${variant.id}`); await expect(page.getByLabel("CV name")).toHaveValue("Code PDF Verification"); - await expect(page.getByRole("tab", { name: "Template" })).toHaveAttribute("aria-selected", "true"); + await expect(page.getByRole("tab", { name: "Content" })).toHaveAttribute("aria-selected", "true"); await page.getByRole("tab", { name: "Content" }).click(); await page.getByRole("button", { name: "Expand Experience" }).click(); - await page.getByRole("button", { name: "Expand Education" }).click(); + await expect(page.getByRole("button", { name: "Collapse Experience" })).toBeVisible(); + // Open the second disclosure with its keyboard contract while the long first + // section expands, avoiding a pointer target moving during the Collapse reflow. + await page.getByRole("button", { name: "Expand Education" }).focus(); + await page.keyboard.press("Enter"); await expect(page.getByRole("button", { name: "Collapse Experience" })).toBeVisible(); await expect(page.getByRole("button", { name: "Collapse Education" })).toBeVisible(); diff --git a/job-tracker-ui/src/cv-builder-deep-link.test.tsx b/job-tracker-ui/src/cv-builder-deep-link.test.tsx index 5d23d97..46098ad 100644 --- a/job-tracker-ui/src/cv-builder-deep-link.test.tsx +++ b/job-tracker-ui/src/cv-builder-deep-link.test.tsx @@ -81,6 +81,93 @@ async function openContentTab() { fireEvent.click(screen.getByRole('tab', { name: 'Content' })); } +test('section navigation opens and focuses omitted/custom sections without changing their data', async () => { + const settings = { ...variant.settings, + sections: [{ key: 'skills', hidden: true }, { key: 'custom:sample', hidden: false }], + customSections: [{ key: 'sample', title: 'Volunteer work', items: ['Bokmål: frivillig arbeid'], hidden: false }], + }; + routeGet(() => Promise.resolve({ data: { ...variant, settings } })); + renderAt(3); + await openContentTab(); + const navigation = screen.getByRole('navigation', { name: 'CV section navigation' }); + fireEvent.mouseDown(within(navigation).getByRole('combobox', { name: 'Go to section' })); + fireEvent.click(await screen.findByRole('option', { name: 'Skills · Omitted' })); + await waitFor(() => expect(screen.getByRole('button', { name: 'Collapse Skills' })).toHaveFocus()); + expect(screen.getByRole('button', { name: 'Show Skills section' })).toBeInTheDocument(); + fireEvent.click(screen.getByRole('button', { name: 'Collapse Skills' })); + fireEvent.mouseDown(within(navigation).getByRole('combobox', { name: /Go to section/ })); + fireEvent.click(await screen.findByRole('option', { name: 'Skills · Omitted' })); + await waitFor(() => expect(screen.getByRole('button', { name: 'Collapse Skills' })).toHaveFocus()); + fireEvent.mouseDown(within(navigation).getByRole('combobox', { name: 'Go to section' })); + fireEvent.click(await screen.findByRole('option', { name: 'Volunteer work · Included' })); + await waitFor(() => expect(screen.getByRole('button', { name: 'Collapse Volunteer work' })).toHaveFocus()); + expect(screen.getByDisplayValue('Bokmål: frivillig arbeid')).toBeInTheDocument(); + fireEvent.click(screen.getByRole('tab', { name: 'Customize' })); + fireEvent.click(screen.getByRole('tab', { name: 'Content' })); + expect(within(navigation).getByRole('combobox')).toHaveTextContent('Volunteer work'); + expect(screen.getByRole('button', { name: 'Collapse Skills' })).toHaveAttribute('aria-expanded', 'true'); + expect(screen.getByRole('button', { name: 'Collapse Volunteer work' })).toHaveAttribute('aria-expanded', 'true'); + expect(mockedApi.put).not.toHaveBeenCalled(); +}); + +test('keyboard move controls retain focus and persist the same section order shown by navigation', async () => { + routeGet(() => Promise.resolve({ data: { ...variant, settings: { ...variant.settings, + sections: [{ key: 'summary' }, { key: 'experience' }, { key: 'skills', hidden: true }], + } } })); + renderAt(3); + await openContentTab(); + const move = screen.getByRole('button', { name: 'Move Experience section down' }); + move.focus(); + fireEvent.click(move); + expect(move).toHaveFocus(); + fireEvent.mouseDown(screen.getByRole('combobox', { name: 'Go to section' })); + expect(screen.getAllByRole('option').slice(0, 3).map(option => option.textContent)).toEqual([ + 'Professional Summary · Included', 'Skills · Omitted', 'Experience · Included', + ]); + fireEvent.keyDown(screen.getByRole('listbox'), { key: 'Escape' }); + fireEvent.click(screen.getByRole('button', { name: 'Save now' })); + await screen.findByText('Saved'); + expect(mockedApi.put).toHaveBeenLastCalledWith('/cv/variants/3', expect.objectContaining({ + expectedVersion: 4, settings: expect.objectContaining({ sections: expect.arrayContaining([ + { key: 'summary' }, { key: 'skills', hidden: true }, { key: 'experience' }, + ]) }), + })); + expect((mockedApi.put.mock.calls[mockedApi.put.mock.calls.length - 1][1] as any).settings.sections.slice(0, 3).map((row: any) => row.key)).toEqual(['summary', 'skills', 'experience']); +}); + +test('secondary duplicate action saves the current draft before creating the copy', async () => { + routeGet(() => Promise.resolve({ data: variant })); + mockedApi.post.mockImplementation((url: string) => Promise.resolve({ data: url.endsWith('/duplicate') + ? { ...variant, id: 8, name: 'Backend CV copy' } : { html: '

CV

' } } as any)); + renderAt(3); + await openContentTab(); + fireEvent.change(screen.getByLabelText('Headline override'), { target: { value: 'Draft before copy' } }); + fireEvent.click(screen.getByRole('button', { name: 'More document actions' })); + fireEvent.click(screen.getByRole('menuitem', { name: 'Duplicate' })); + await waitFor(() => expect(mockedApi.post).toHaveBeenCalledWith('/cv/variants/3/duplicate', expect.anything())); + expect(mockedApi.put).toHaveBeenCalledWith('/cv/variants/3', expect.objectContaining({ + expectedVersion: 4, settings: expect.objectContaining({ headline: 'Draft before copy' }), + })); + expect(mockedApi.put.mock.invocationCallOrder[0]).toBeLessThan(mockedApi.post.mock.invocationCallOrder[ + mockedApi.post.mock.calls.findIndex(call => call[0] === '/cv/variants/3/duplicate') + ]); +}); + +test('pane navigation focuses the existing preview without changing the pending draft', async () => { + routeGet(() => Promise.resolve({ data: variant })); + renderAt(3); + await openContentTab(); + const headline = screen.getByLabelText('Headline override'); + fireEvent.change(headline, { target: { value: 'Retained draft' } }); + const preview = screen.getByRole('region', { name: 'Live preview' }); + preview.scrollIntoView = jest.fn(); + fireEvent.click(screen.getByRole('button', { name: 'Go to preview' })); + expect(preview).toHaveFocus(); + expect(headline).toHaveValue('Retained draft'); + expect(screen.getByText('Unsaved')).toBeInTheDocument(); + expect(mockedApi.put).not.toHaveBeenCalled(); +}); + test('deep link loads the exact variant named in the route', async () => { routeGet(() => Promise.resolve({ data: variant } as any)); @@ -256,12 +343,17 @@ test('restoring history uses the current version and never replaces edits made d expect(mockedApi.put).not.toHaveBeenCalled(); }); -test('professional editor starts with templates and combines design and layout controls', async () => { +test('Content is the primary studio panel and all advanced tabs retain their controls', async () => { routeGet(() => Promise.resolve({ data: variant } as any)); renderAt(3); await screen.findByDisplayValue('Backend CV'); - expect(screen.getByRole('tab', { name: 'Template' })).toHaveAttribute('aria-selected', 'true'); + const content = screen.getByRole('tab', { name: 'Content' }); + expect(content).toHaveAttribute('aria-selected', 'true'); + expect(screen.getByRole('tablist', { name: 'CV studio sections' }).firstElementChild).toBe(content); + expect(screen.getByRole('tabpanel', { name: 'Content' })).toBeInTheDocument(); + expect(screen.getByText('This CV only')).toBeInTheDocument(); + expect(screen.getByRole('link', { name: 'Linked application' })).toHaveAttribute('href', '/jobs/7'); fireEvent.click(screen.getByRole('tab', { name: 'Customize' })); expect(screen.getByText('Typography')).toBeInTheDocument(); expect(screen.getByLabelText('Body size')).toBeInTheDocument(); @@ -304,6 +396,7 @@ test('choosing a template restores its own structure instead of inheriting the p renderAt(3); await screen.findByDisplayValue('Backend CV'); + fireEvent.click(screen.getByRole('tab', { name: 'Template' })); fireEvent.click(screen.getByRole('button', { name: 'All templates' })); fireEvent.click(screen.getByRole('button', { name: /Technical/ })); fireEvent.click(screen.getByRole('button', { name: 'Save now' })); diff --git a/job-tracker-ui/src/i18n/translations.ts b/job-tracker-ui/src/i18n/translations.ts index 7655310..5d9a38a 100644 --- a/job-tracker-ui/src/i18n/translations.ts +++ b/job-tracker-ui/src/i18n/translations.ts @@ -528,6 +528,15 @@ export const translations = { cvEditorEdit: "Edit", cvEditorEditingRegion: "CV editing controls", cvEditorStudioNavigation: "CV studio sections", + cvEditorScope: "This CV only", + cvEditorLinkedApplication: "Linked application", + cvEditorShared: "Shared publicly", + cvEditorMoreActions: "More document actions", + cvEditorSectionNavigation: "CV section navigation", + cvEditorGoToSection: "Go to section", + cvEditorFocusPreview: "Go to preview", + cvEditorIncluded: "Included", + cvEditorOmitted: "Omitted", cvEditorPreview: "Preview", cvEditorDuplicate: "Duplicate", cvEditorUpdating: "Updating…", @@ -3066,6 +3075,15 @@ export const translations = { cvEditorEdit: "Rediger", cvEditorEditingRegion: "Redigeringskontroller for CV", cvEditorStudioNavigation: "Seksjoner i CV-studioet", + cvEditorScope: "Bare denne CV-en", + cvEditorLinkedApplication: "Tilknyttet søknad", + cvEditorShared: "Delt offentlig", + cvEditorMoreActions: "Flere dokumenthandlinger", + cvEditorSectionNavigation: "Navigasjon mellom CV-seksjoner", + cvEditorGoToSection: "Gå til seksjon", + cvEditorFocusPreview: "Gå til forhåndsvisning", + cvEditorIncluded: "Inkludert", + cvEditorOmitted: "Utelatt", cvEditorPreview: "Forhåndsvis", cvEditorDuplicate: "Dupliser", cvEditorUpdating: "Oppdaterer…", diff --git a/job-tracker-ui/src/views/CvBuilderEditor.tsx b/job-tracker-ui/src/views/CvBuilderEditor.tsx index 888354f..4e77942 100644 --- a/job-tracker-ui/src/views/CvBuilderEditor.tsx +++ b/job-tracker-ui/src/views/CvBuilderEditor.tsx @@ -2,8 +2,8 @@ import React, { useCallback, useEffect, useMemo, useRef, useState } from "react" import { Link as RouterLink, useBlocker, useNavigate, useParams } from "react-router-dom"; import { - Alert, Box, Button, Chip, Collapse, Dialog, DialogActions, DialogContent, DialogTitle, Divider, IconButton, - MenuItem, Paper, Skeleton, Stack, Tab, Tabs, TextField, Tooltip, Typography, + Alert, Box, Button, Chip, Collapse, Dialog, DialogActions, DialogContent, DialogTitle, IconButton, + Menu, MenuItem, Paper, Skeleton, Stack, Tab, Tabs, TextField, Tooltip, Typography, } from "@mui/material"; import useMediaQuery from "@mui/material/useMediaQuery"; import ArrowBackIcon from "@mui/icons-material/ArrowBack"; @@ -20,6 +20,7 @@ import DragIndicatorIcon from "@mui/icons-material/DragIndicator"; import ExpandMoreIcon from "@mui/icons-material/ExpandMore"; import UndoIcon from "@mui/icons-material/Undo"; import RedoIcon from "@mui/icons-material/Redo"; +import MoreHorizIcon from "@mui/icons-material/MoreHoriz"; import AutoFixHighIcon from "@mui/icons-material/AutoFixHigh"; import TranslateIcon from "@mui/icons-material/Translate"; import SpellcheckIcon from "@mui/icons-material/Spellcheck"; @@ -59,7 +60,9 @@ export default function CvBuilderEditor() { const [outline, setOutline] = useState(null); const [isPublic, setIsPublic] = useState(false); const [publicSlug, setPublicSlug] = useState(""); - const [tab, setTab] = useState(0); + const [jobApplicationId, setJobApplicationId] = useState(null); + const [actionsAnchor, setActionsAnchor] = useState(null); + const [tab, setTab] = useState(1); const [html, setHtml] = useState(""); const [zoom, setZoom] = useState(0.62); const [previewing, setPreviewing] = useState(false); @@ -127,6 +130,7 @@ export default function CvBuilderEditor() { latestSettings.current = variant.settings; setIsPublic(variant.isPublic); setPublicSlug(variant.publicSlug); + setJobApplicationId(variant.jobApplicationId ?? null); setSaveState("saved"); undoStack.current = []; redoStack.current = []; @@ -456,47 +460,68 @@ export default function CvBuilderEditor() { } - - - navigate("/career/builder")}> - renameVariant(e.target.value)} - error={!name.trim()} helperText={!name.trim() ? t("cvEditorNameRequired") : undefined} - sx={{ minWidth: { xs: 150, sm: 220 }, flex: "1 1 240px", maxWidth: 420 }} - slotProps={{ input: { style: { fontWeight: 800, fontSize: "1.05rem" } }, htmlInput: { "aria-label": t("cvEditorName") } }} /> - void retrySave()} /> - - - - {compactEditor && - - - } - - - - {isPublic && } - + + + + navigate("/career/builder")}> + + renameVariant(e.target.value)} fullWidth + error={!name.trim()} helperText={!name.trim() ? t("cvEditorNameRequired") : undefined} + sx={{ "& input": { typography: "sectionTitle" } }} + slotProps={{ htmlInput: { "aria-label": t("cvEditorName") } }} /> + + {t("cvEditorScope")} + {t("cvEditorVersion", { version: serverVersion.current })} + {jobApplicationId && } + {isPublic && } label={t("cvEditorShared")} variant="outlined" />} + void retrySave()} /> + + + + + + setActionsAnchor(event.currentTarget)}> + + setActionsAnchor(null)} slotProps={{ list: { "aria-label": t("cvEditorMoreActions") } }}> + { setActionsAnchor(null); void duplicateVariant(); }}>{t("cvEditorDuplicate")} + { setActionsAnchor(null); void togglePublic(); }}>{publishing ? t("cvEditorUpdating") : isPublic ? t("cvEditorStopSharing") : t("cvEditorShare")} + {isPublic && { setActionsAnchor(null); copyPublicLink(); }}>{t("cvEditorCopyLink")}} + + {compactEditor && + + + } - - setMobilePane("edit")} sx={{ display: compactEditor && mobilePane !== "edit" ? "none" : "block", p: 2, borderRadius: 3, position: { md: "sticky" }, top: 12, minWidth: 0, maxHeight: { md: "calc(100vh - 104px)" }, overflowY: { md: "auto" }, scrollbarWidth: "none", "&::-webkit-scrollbar": { display: "none" }, border: "1px solid", borderColor: "divider" }}> - - { setTab(v); if (v === 4) loadVersions(); }} variant="scrollable" scrollButtons="auto" allowScrollButtonsMobile sx={{ mb: 1.5, minHeight: 38 }}> - - - - - + + setMobilePane("edit")} sx={{ display: compactEditor && mobilePane !== "edit" ? "none" : "block", position: { md: "sticky" }, top: 12, minWidth: 0, maxHeight: { md: "calc(100vh - 104px)" }, overflowY: { md: "auto" }, scrollbarWidth: "none", "&::-webkit-scrollbar": { display: "none" } }}> + + {t("cvEditorEditingRegion")} + + + + + + { setTab(v); if (v === 4) loadVersions(); }} variant="scrollable" scrollButtons="auto" allowScrollButtonsMobile sx={{ borderBottom: "1px solid", borderColor: "divider" }}> + {[1, 0, 2, 3, 4].map((value) => )} - - {tab === 0 && sectionName(key, fallback, t)} />} - {tab === 1 && } - {tab === 2 && sectionName(key, fallback, t)} />} - {tab === 3 && } - {tab === 4 && } + + + {[0, 2, 3, 4].map((value) => )} + setMobilePane("preview")} sx={{ display: compactEditor && mobilePane !== "preview" ? "none" : "block", minWidth: 0 }}> @@ -562,8 +587,8 @@ function SaveBadge({ state, canRetry, onRetry }: { state: SaveState; canRetry: b const m = map[state]; if (!m.label) return null; return ( - - + + {state === "saved" ? {m.label} : } {(state === "unsaved" || state === "error") ? ( ) : null} @@ -783,14 +808,19 @@ function presetLabel(key: string, fallback: string, t: Translate) { return labels[key] ?? fallback; } -function ContentTab({ settings, update, outline }: { +function ContentTab({ settings, update, outline, showPreviewEntry, onFocusPreview }: { settings: CvVariantSettings; update: (p: Partial) => void; outline: CvOutline | null; + showPreviewEntry: boolean; + onFocusPreview: () => void; }) { const { t } = useI18n(); const { confirmAction } = useDialogActions(); const [addContentOpen, setAddContentOpen] = useState(false); + const [activeSection, setActiveSection] = useState(null); + const [expandedSections, setExpandedSections] = useState>(() => new Set()); + const sectionButtons = useRef>({}); // Full section list = configured order (once touched) else default, always including every known key. const sectionRows: CvSectionSetting[] = useMemo(() => { const populated = new Set((outline?.sections ?? []).map((section) => section.key)); @@ -813,6 +843,19 @@ function ContentTab({ settings, update, outline }: { const writeSections = (rows: CvSectionSetting[]) => update({ sections: rows }); const sectionDrag = useDragReorder((from, to) => writeSections(moveItem(sectionRows, from, to))); + const toggleSection = (key: string) => setExpandedSections((previous) => { + const next = new Set(previous); + if (next.has(key)) next.delete(key); else next.add(key); + return next; + }); + const goToSection = (key: string) => { + setActiveSection(key); + setExpandedSections((previous) => new Set(previous).add(key)); + requestAnimationFrame(() => { + sectionButtons.current[key]?.focus({ preventScroll: true }); + sectionButtons.current[key]?.scrollIntoView?.({ block: "nearest", inline: "nearest" }); + }); + }; const patchSection = (key: string, patch: Partial) => writeSections(sectionRows.map((r) => (r.key === key ? { ...r, ...patch } : r))); @@ -862,7 +905,19 @@ function ContentTab({ settings, update, outline }: { }; return ( - {t("cvEditorEditMasterProfile")}}> + + + row.key === activeSection) ? activeSection : ""} + onChange={(event) => setActiveSection(event.target.value)}> + {sectionRows.map((row) => goToSection(row.key)}> + {customBySectionKey[row.key]?.title ?? row.title ?? sectionName(row.key, SECTION_LABELS[row.key] ?? row.key, t)} · {t(row.hidden ? "cvEditorOmitted" : "cvEditorIncluded")} + )} + + + {showPreviewEntry && } + + {t("cvEditorEditMasterProfile")}}> {t("cvEditorMasterProfileHelp")} toggleSection(row.key)} + onSectionFocus={() => setActiveSection(row.key)} + toggleRef={(button) => { sectionButtons.current[row.key] = button; }} onMove={(d) => writeSections(moveItem(sectionRows, i, i + d))} onPatch={(p) => patchSection(row.key, p)} onRenameCustom={(title) => { @@ -945,7 +1004,7 @@ function AddContentCard({ title, description, added, onAdd }: { title: string; d } function SectionRow({ - row, index, total, dragProps, dragging, over, outlineSection, customSection, settings, onMove, onPatch, onRenameCustom, onUpdateCustom, onRemoveCustom, onUpdateSettings, + row, index, total, dragProps, dragging, over, outlineSection, customSection, settings, expanded, onToggle, onSectionFocus, toggleRef, onMove, onPatch, onRenameCustom, onUpdateCustom, onRemoveCustom, onUpdateSettings, }: { row: CvSectionSetting; index: number; @@ -956,6 +1015,10 @@ function SectionRow({ outlineSection?: CvOutlineSection; customSection?: CvCustomSectionSetting; settings: CvVariantSettings; + expanded: boolean; + onToggle: () => void; + onSectionFocus: () => void; + toggleRef: (button: HTMLButtonElement | null) => void; onMove: (delta: number) => void; onPatch: (patch: Partial) => void; onRenameCustom: (title: string) => void; @@ -965,7 +1028,6 @@ function SectionRow({ }) { const { t } = useI18n(); const { confirmAction } = useDialogActions(); - const [expanded, setExpanded] = useState(false); const sectionLabel = customSection?.title ?? row.title ?? sectionName(row.key, SECTION_LABELS[row.key] ?? row.key, t); const sourceItems = outlineSection?.kind === "tags" ? outlineSection.tags : outlineSection?.bullets ?? []; const editableItems = row.items ?? sourceItems; @@ -975,6 +1037,7 @@ function SectionRow({