dani.korea — Taegeuk, every screen

The complete redesign, in the language of the mock chosen on 2026-08-05. Every screen in the product, in both modes, plus the redesigned flow underneath them. Nothing here is implemented yet — this is the design to approve first.

Every file links one stylesheet, taegeuk.css, extracted verbatim from final-design.html. No file redeclares a value, so the whole set moves together.
Start with the flow. The screens follow from it, and it is where the old app was most wrong. Three faults it fixes: Trips and the trip were separate tabs, so the thing the product exists for sat behind a lobby; resources, ideas and seasons were top-level destinations competing with the one door that matters; and the encrypted document vault — fully built, biometric-gated, with MRZ OCR — had no entry point anywhere in the app, so nobody could reach their own passport scan.
🚨 v2 is the current design. The seven screens-* files below are v1. The product was repositioned on 2026-08-06 — dani.korea is KNOW (the handbook) and KEEP (the binder), and a sibling product does scheduling. The v1 frames keep their value as a design language — palette, type, components, drawn scenes — and are wrong about structure. Never navigate by them.
V2 · 1The phone shell The bar · Trip · Korea · You · Saved · ⊕ Capture · ⊕ held → Emergency · Search v2-1-shell.html → V2 · 2Desktop · tablet · Windows The rail, drag-and-drop capture, two-column shelves, 1440 · 1024 · 1280 v2-2-desktop.html → V2 · 3A Korea shelf KNOW and KEEP on one page, and what an honest gap looks like v2-3-shelf.html → V2 · 4Show someone — redesigned The four card kinds as one object · Emergency pinned · one search · the handover surface · write your own. Replaces the built screen. v2-4-show.html →
Still to draw in v2: the Trip surfaces · the rest of the Korea shelves · the rest of You · entry and plan · translation and capture · the party and Change.
00 The flow — read this first The four tabs, everything under each, the before/after, and the primary journey walked end to end. All 48 routes accounted for. flow.html → REF The approved mock The four screens chosen on 2026-08-05. The gold standard every file below is built against — where anything disagrees with this, this wins. ./final-design.html → 01 Getting in — 8 screens Splash · sign in · verify · passport · dates · cities · interests · trip welcome. Onboarding as a path through Trips, not a wall in front of the app. screens-1-entry.html → 02 Trips — 11 screens The spine. Trips home empty and populated · trip home as the container · shelf · item · days · collections · map · today · facts · settings. screens-2-trips.html → 03 Handbook — 11 screens Browse · section · card · the stub state · search · resources · watch later · ideas · seasons. Answer first, then the checklist, then the questions. screens-3-handbook.html → 04 Places — 6 screens Place detail · a user-added place as its own card · product · paste · clip sheet · checklist. Includes the show-this-to-a-driver block. screens-4-places.html → 05 You — 10 screens The tab that does not exist yet. Documents vault locked and unlocked · address card · allergy card · phrases · emergency · offline · settings · privacy. screens-5-you.html → 06 Entry & plan — 6 screens Entry wizard, its K-ETA answer and its no-rule-on-file state · e-Arrival · plan · export. Every claim here is a legal one. screens-6-entry-plan.html → 07 The tail — 4 routes, 6 frames Issue reader (written and unwritten) · one month opened · the shared plan a stranger opens with no app · the licences we are legally required to name. screens-7-tail.html →
Coverage: every route in app_routes.dart is drawn. 58 frames over 48 routes — more frames than routes because a screen with two truthful states gets both: place detail verified and user-added, a card answered and stub, search with results and empty, the vault locked and unlocked, trips home empty and populated, an issue written and unwritten. A route with no mock is where someone later invents a screen from prose, which is the one thing this set exists to prevent. Only /dev/gallery has none, and it is debug-only.
The rules every file above holds to
RuleWhy it is a rule and not a preference
Flag blue #0047A0 is structure Navigation, primary actions, progress. The same value in both modes — white on it is 8.6:1 either way.
Flag red #CD2E3A means a deadline If it is red, it has a date attached. Never emphasis, never branding. So the one red thing on a screen is the thing to do this week.
Blue-as-text lifts on dark only #0047A0 as thin text on #0D1117 is 2.41:1 — unreadable. #3D7BD9 is 4.55:1. Fills never lift.
Display caps at 700 / −0.3px / 1.16 900 at −1.6px and 0.94 leading was rejected — "too bold, they look bunched up". Those three compound.
DM Mono for every number A passport number, a PNR, a fare and a price are read character by character or copied. Tabular figures, unambiguous 0/O and 1/l.
English first, Korean in parentheses Gyeongbokgung Palace (경복궁). Two exceptions, both because the reader is Korean: the driver block and the carry cards.
Copy always copies the Korean The copy button exists so a Korean speaker can read it or Kakao T can route to it.
unknown is neutral, never red Coverage is partial forever and an honest gap is not an error. "We don't know the hours" must look different from "open".
Nothing draws under the status bar Shipped broken twice — a back button under the system clock, and a sheet title under it once a Korean keyboard made the sheet tall.
Image-led The brief was "show a lot of images on every page we can". A screen with a large empty region is the bug this redesign exists to fix.
The pictures

The mock never used photographs. Its heroes are five SVG illustrations drawn in flag blue and red, which is why it reads as rich with no photo library at all. They are in taegeuk-sprite.js and every file uses them.

SymbolSceneUsed for
#d-palaceGyeongbokgung against the mountains, dawn skyThe default hero. Trips home, sections, palaces
#d-seoulThe skyline and N Seoul Tower at duskSeoul, city-scale surfaces
#d-mtnRidgelines at sunrise, snow on the peaksHiking, seasons, Jeju, nature
#d-foodA bowl overhead, banchan beside itRestaurants, food shelves, markets
#d-marketNight-market awnings and lanternsMarkets, neighbourhoods, nightlife