一、④段整套同步(用户选候选 A)
- 新增 `references/stage-proto-doc/assets/产品文档模板.html`(16 KB/247 行,从备份拷、转 LF)。
- ④段 SKILL.md 换成备份 15:28 那版,并按模板口径改齐:
· 「产品文档框架」从「四块+一附录」改成**六节** —— 页面结构/功能清单/使用场景/操作流程/
跨页与界面状态/待确认与偏离;与模板同构,⛔ 不从空白页重写结构。
· 编号从 R/S/F 改成 **P 页面/S 场景/F 功能/J 二级功能**,各自唯一、按展示顺序通排。
· 保留旧版有价值的要求:每项功能补齐 做什么/入口在哪/输入边界/异常与恢复;重点功能三处标红;
横向流程图每步写清页面/功能/操作/完成判据。
· 完成标准「七节」→「六节」,自查清单同步换掉「需求」那批条目,补模板与配图两条。
· 路径 `designs/<项目>/` → `docs/pm/<项目>/ui/`(2 处)。
· 补回本机那条「每份产出文档开头都要有一张图」的引用(指向主 skill,段内不复述)。
- 主 skill 同步:四段结构表④行、④段沿革、画图小节(④段画页面结构图 + 用户路径)。
二、open-design 移到技能根(用户选候选 A)
- `git mv product-planning/references/stage-delivery/assets/open-design → open-design/`(4178 文件)。
- `.gitignore` 白名单加 `!/open-design/` —— 否则移出去就不再纳入版本控制。
- 引用改 11 处:路径形态 `assets/open-design/...` → `<技能根>/open-design/...`;
「随段携带的自带件」改称「同根技能」;「路径怎么找」那条改成自带件(段内相对路径)与
同根技能(`<技能根>/<技能名>/`)两类分开写。
- open-design 自己的 ATTRIBUTION.md 两处同步(它现在与 oil-ui-pro 同层)。
- 副作用(有益):命名闸门读数由 2063 降到 225 —— 此前它把 open-design 里 919 个第三方 md
当成规则一起扫了;现在只扫本包 23 个 md。已确认④段的 H1 与 4a/4b/4c 子步仍在检查范围内。
三、验收
- check_naming.py --ws E:/ProgramData/AIProject/contentm_agent = 通过 225 / 失败 0 / 提示 27。
- 活文件里 `assets/open-design` 残留 0;工作区 CRLF 文件 0。
39 KiB
Ontwerpsysteem Geïnspireerd door Starbucks
Category: E-commerce & Retail Wereldwijd koffiemerk. Viertrapps groen systeem, warm crèmekleurig canvas, volronde knoppen.
1. Visueel Thema & Sfeer
Het ontwerpsysteem van Starbucks is een warm, zelfverzekerd retailvlagschip dat de groene kleur van hun schort op elke oppervlakte draagt. Het canvas wisselt af tussen een neutraal-warme crème (#f2f0eb) en een keramisch gebroken wit (#edebe9) — kleuren die verwijzen naar echte winkelmateriaal: de papieren servetten, de cafémuren, de houten afwerkingen — terwijl het kenmerkende Starbucks Groen (#006241) het merkanker vormt op heldbanden, CTA's en de Rewards-ervaring. De groenen zijn beschikbaar in vier gekalibreerde tinten (Starbucks, Accent, House, Uplift), elk toegewezen aan een specifieke oppervlakterol, en goud (#cba258) verschijnt uitsluitend bij Rewards-statusceremonies — niet als algemeen accent.
Typografie draagt het grootste deel van de merkstem. Het propriëtaire SoDoSans-lettertype (exclusief voor Starbucks) staat op vrijwel elke oppervlakte met een strak -0.16px letterafstand — het oogt zelfverzekerd en vriendelijk in plaats van modeblad-streng. Wat opvalt: de Rewards-pagina schakelt naar een warm schreeflettertype ("Lander Tall", "Iowan Old Style", Georgia) voor specifieke koptekstmomenten, wat subtiel de nostalgische sfeer van een koffiehuis-krijtbord oproept. En de Careers-pagina's gebruiken een handschriftlettertype ("Kalam", "Comic Sans MS", cursive) voor persoonlijke bekernaaminvullingen. Drie lettertypen, drie contexten — het systeem hanteert strakke regels over wanneer elk verschijnt.
De oppervlakten ademen door afgeronde geometrie. Elke knop is een 50px volronde pil. Kaarten hebben een afronding van 12px. De zwevende "Frap"-CTA — een cirkelvormige bestelknop van 56px in Green Accent (#00754A) — is de kenmerkende dieptestap van het product: hij zweeft rechtsonder met een gelaagde schaduwstapel (0 0 6px rgba(0,0,0,0.24) basis + 0 8px 12px rgba(0,0,0,0.14) omgevend) en comprimeert via scale(0.95) bij indrukken. Elevaties zijn verder ingetogen — kaartschaduwen blijven op een gefluisterde 0.14/0.24 alpha, de globale navigatie krijgt een rustige drielaagse schaduwstapel. Het hele systeem voelt aan als helder cafébordwerk: leesbaar, warm en nooit schreeuwend.
Belangrijkste Kenmerken:
- Viertrapps groen merkensysteem (Starbucks / Accent / House / Uplift), elk toegewezen aan een aparte oppervlakterol — niet één enkel "merkgroen"
- Goud uitsluitend gereserveerd voor Rewards-statusmomenten; nooit een universeel accent
- Warm-neutraal canvas (
#f2f0eb/#edebe9) in plaats van koud wit — verwijst naar cafématerialen - Exclusief propriëtair lettertype (SoDoSans) met strak
-0.16pxletterafstand als universele stem - Contextspecifieke letterwissels: schreef (Lander Tall) voor Rewards, script (Kalam) voor Careers-bekernames
- Volronde knoppen (
50pxradius) universeel,scale(0.95)actieve druk als kenmerkende micro-interactie - Zwevende "Frap"-ronde CTA (
56px, Green Accent vulling, gelaagde schaduwstapel) — het kenmerkende elevatielement van het product - Cadeaukaartoppervlakten ontworpen als gefotografeerd fysiek product — elke kaart is een afzonderlijke geïllustreerde foto, geen gegenereerde afbeelding
- 12px kaartafronding + fluisterzachte schaduwen houden inhoudskaarten vlak-plus-een-vleugje-lift
- Rem-gebaseerde ruimteschaal verankerd op 1,6rem (~16px) =
--space-3, oplopend tot 6,4rem (~64px)
Kleurblok paginaopbouw: Crème held → Witte inhoudsecties → Donkergroen (#1E3932) kenmerkenband met witte tekst → Crème bruikbaarheidszone → Donkergroen (#1E3932) voettekst met goud/witte tekst — een espresso-donkere boeking rond het heldere hoofddeel.
2. Kleurenpalet & Rollen
Geanalyseerde bronpagina's: startpagina, rewards, cadeaukaarten, productdetail (Pink Energy Drink), productvoeding (Cold Brew).
Primair
- Starbucks Green (
#006241): Het historische merkgroen. Gebruikt voor h1-koppen, primaire sectiekoppen op de Rewards-pagina en als het hoofdmerksignaal waar één dominante kleur nodig is. - Green Accent (
#00754A): Een iets helderder, meer lumineus groen. De primaire gevulde-CTA-kleur ("Explore our afternoon menu", "See the spring menu") en de vulling van de zwevende ronde Frap-knop. - House Green (
#1E3932): Het diepe bijna-zwarte merkgroen. Voettekstoppervlak, kenmerkenbanachtergronden, reward-statusdonkere oppervlakken en de koptekst "Free coffee is just the beginning" held-band op Rewards. - Green Uplift (
#2b5148): Een secundair middel-donker groen, spaarzaam gebruikt op decoratieve accenten en donkere-gradient-momenten. - Green Light (
#d4e9e2): Een bleke muntgroene was, gebruikt voor formulier-geldige-staatstinten en lichte groene bruikbaarheidsoppervlakten.
Secundair & Accent
- Gold (
#cba258): Vrijwel uitsluitend gereserveerd voor Rewards-statusceremonies — Gold-niveau-uitingen, partnerbadges (SkyMiles, Bonvoy) en premium aandoende accenten. Nooit een universeel merkkleur. - Gold Light (
#dfc49d): Zachter goud voor achtergrondwassen op Gold-niveau-secties. - Gold Lightest (
#faf6ee): Crème-goud paginaoppervlaktewas, gebruikt onder partnersecties op de Rewards-pagina — koppelt het goudaccent terug aan het warme neutrale systeem.
Oppervlak & Achtergrond
- White (
#ffffff): Primair kaart- en modaaloppervlak. Ook kaartopvulling op cadeaukaartpanelen. - Neutral Cool (
#f9f9f9): Subtiel koel-grijs oppervlak gebruikt voor uitklapmenu's ("Account"-uitklap), formulierkaartomhulsels en stille bruikbaarheidscontainers. - Neutral Warm (
#f2f0eb): Het warme crème primaire paginacanvas voor Rewards-bruikbaarheidszones en heldbanden. - Ceramic (
#edebe9): Een iets warmere/donkerdere crème voor zonescheiders, zachte paginasectiewassen en de Rewards-partnerband. - Black (
#000000): Diepe inkt, gereserveerd voor de donkere CTA-balk bovenaan de pagina ("Join now") en hoog-contrast bovenste-navigatie aanmeldknoppen.
Neutralen & Tekst
- Text Black (
rgba(0, 0, 0, 0.87)): Primaire kop- en bodytekstkleur op lichte oppervlakten. Niet puur zwart — een 87%-opaciteit zwart dat warmer aanvoelt. - Text Black Soft (
rgba(0, 0, 0, 0.58)): Secundaire/metadatatekst op lichte oppervlakten. - Text White (
rgba(255, 255, 255, 1)): Primaire kop-/bodytekst op donkergroene oppervlakten. - Text White Soft (
rgba(255, 255, 255, 0.70)): Secundaire tekst op donkergroene oppervlakten — voettekstlinkbeschrijvingen, bijschrifttekst. - Rewards Green (
#33433d): Een exclusief gedempte leisteengroen, uitsluitend gebruikt op tekstvakken van de Rewards-pagina — een iets "stoffiger" leeskleur dan Text Black die "reward-oppervlak" signaleert zonder volledig Starbucks Groen te gebruiken.
Semantisch & Accent
- Red (
#c82014): Fout- en destructiestatus (formulier ongeldig, destructieve acties). - Yellow (
#fbbc05): Waarschuwingsstatus, legale merktoets. - Green Light (
#d4e9e2bij 33% opaciteit =hsl(160 32% 87% / 33%)): Formulier-geldig-veld tintsachtergrond. - Red Tint (
hsl(4 82% 43% / 5%)): Ongeldig-veld tint op formulieren.
Zwart/Wit Alfatrappen
Twee parallelle doorschijnende schalen voor overlay- en secundaire tekstgebruik:
rgba(0,0,0,0.06)totrgba(0,0,0,0.90)in stappen van 10% — voor donkere overlays op lichte oppervlaktenrgba(255,255,255,0.10)totrgba(255,255,255,0.90)in stappen van 10% — voor lichte overlays op donkere oppervlakten
Gradiëntsysteem
Geen structurele gradiënt-tokens waargenomen. Oppervlaktehiërarchie is doorlopend op basis van effen kleurblokken — het systeem vertrouwt op zijn vijftrapps crème/groen oppervlaktenpalet in plaats van gradiënten.
3. Typografieregels
Lettertype Familie
- Primair:
SoDoSans, "Helvetica Neue", Helvetica, Arial, sans-serif— Het propriëtaire bedrijfslettertype van Starbucks, gebruikt op vrijwel elke oppervlakte - Laad-fallback:
"Helvetica Neue", Helvetica, Arial, sans-serif— Wat gebruikers zien vóór SoDoSans geladen is - Rewards Schreef:
"Lander Tall", "Iowan Old Style", Georgia, serif— Gebruikt op specifieke koptekstmomenten op de Rewards-pagina voor een warm redactioneel gevoel - Careers Script:
"Kalam", "Comic Sans MS", cursive— Uitsluitend gebruikt voor decoratieve "bekernaam"-accenten op Careers-pagina's, een verwijzing naar handgeschreven namen op Starbucks-bekers
Geen OpenType-stijlsets expliciet geactiveerd bij :root.
Hiërarchie
| Rol | Grootte | Gewicht | Regelhoogte | Letterafstand | Opmerkingen |
|---|---|---|---|---|---|
| Display (text-10) | 5,0rem / 80px | 400–600 | 1,2 | -0,16px | Grootste Rewards/held-display |
| Jumbo (text-9) | 3,6rem / 58px | 400–600 | 1,2 | -0,16px | Secundaire heldkoppen |
| Hero Large (text-8) | 2,8rem / 45px | 400–600 | 1,2–1,5 | -0,16px | Landingssectie-koppen |
| H1 | 24px | 600 | 36px | -0,16px | Starbucks-Green primaire kop |
| H2 | 24px | 400 | 36px | -0,16px | Regulier-gewicht sectietitel in Text Black |
| Body Large | 19px | 400–600 | 33,25px (~1,75) | -0,16px | Held-introtekst, kenmerkenbandtekst |
| Body (text-3) | 1,6rem / 16px | 400 | 1,5 (24px) | -0,01em | Standaard bodytekst |
| Small (text-2) | 1,4rem / ~14px | 400–600 | 1,5 | -0,01em | Knopetiket, metadata, formulierlabels |
| Micro (text-1) | 1,3rem / ~13px | 400 | 1,5 | -0,01em | Actief zweef-labelstatus, bijschrift-microtekst |
| Knopetiket | 14–16px | 400–600 | 1,2 | -0,01em | Alle pil-knopetiket |
Letterafstand-tokens:
letterSpacingNormal:-0.01em(standaard — strak, kenmerkend)letterSpacingLoose:0.1em(benadrukte hoofdletters)letterSpacingLooser:0.15em(hoofdletterstijl-labels, extreme nadruk)
Regelhoogte-tokens:
lineHeightNormal:1.5(body)lineHeightCompact:1.2(display/knoppen)
Principes
- Strakke negatieve tracking (
-0.01em) wordt bijna universeel toegepast — het hele product leest licht gecomprimeerd, wat SoDoSans zijn zelfverzekerde aanwezigheid geeft zonder dat het benauwd aanvoelt. - Gewichtsverschillen dragen hiërarchie, geen grootteverskillen. H1 en H2 delen dezelfde 24px/36px grootte; alleen gewicht (600 vs 400) en kleur (Starbucks-Green vs Text Black) onderscheiden ze.
- Groottetokens gebruiken rem, verankerd op
1rem = 10pxop deze site (via eenfont-size: 62.5%roottruc). Dus1.6rem= 16px,2.4rem= 24px, enz. De schaal is semantisch (textSize-1 t/m textSize-10), geen willekeurige pixelwaarden. - Contextspecifieke letterwissels — schreef bij Rewards, script bij Careers — zijn bewust en gelokaliseerd. Meng ze nooit met het primaire schreefloze lettertype op dezelfde oppervlakte.
- Bodytekst gaat nooit puur zwart — deze staat op
rgba(0,0,0,0.87)om overeen te komen met de temperatuur van het warm-neutrale canvas.
Opmerking over Lettertypevervangers
SoDoSans is propriëtair voor Starbucks (gelicentieerd van House Industries, niet publiek beschikbaar). Redelijke open-source vervangers:
- Inter (Google Fonts) — vergelijkbare humanistische geometrische verhoudingen, breed gewichtsbereik
- Manrope — iets ronder, vergelijkbaar zelfverzekerd gevoel
- Nunito Sans — warmer, goed als "café"-merkvervanger
Controleer bij vervanging of de strakke -0.01em / -0.16px tracking nog goed leest; sommige open-source lettertypen hebben -0.005em nodig.
Lander Tall (het Rewards-schreeflettertype) is ook aangepast — open-source vervangers: Iowan Old Style (al in fallback), Lora of Source Serif Pro. Kalam (Careers-script) is rechtstreeks beschikbaar op Google Fonts.
4. Componentstijlen
Knoppen
1. Primair Gevuld — "Explore our afternoon menu / Sign up for free"
- Achtergrond:
#00754A(Green Accent) - Tekst:
#ffffff - Rand:
1px solid #00754A - Radius:
50px(volronde pil) - Opvulling:
7px 16px - Lettertype: SoDoSans, 16px, gewicht 600, letterafstand
-0.01em - Actieve status:
transform: scale(0.95)via--buttonActiveScale - Overgang:
all 0.2s ease
2. Primair Omlijnd — "Give them a try / Start an order"
- Achtergrond: transparant
- Tekst:
#00754A(Green Accent) - Rand:
1px solid #00754A - Zelfde radius/opvulling/actief/overgang als Primair Gevuld
3. Zwart Gevuld — "Join now"
- Achtergrond:
#000000 - Tekst:
#ffffff - Rand:
1px solid #000000 - Radius:
50px, Opvulling:7px 16px - Lettertype: 14px, gewicht 600
- Gebruikt op de bovenkant-van-pagina aanmeldingsbalk en vergelijkbare conversiemomenten
4. Donker Omlijnd — "Sign in"
- Achtergrond: transparant
- Tekst:
rgba(0, 0, 0, 0.87)(Text Black) - Rand:
1px solid rgba(0, 0, 0, 0.87) - Radius:
50px, Opvulling:7px 16px - Lettertype: 14px, gewicht 600
5. Groen-op-Groen Omgekeerd — "See the spring menu"
- Achtergrond:
#ffffff - Tekst:
#00754A - Rand:
1px solid #ffffff - Gebruikt wanneer de oppervlakte achter de knop de donkergroene House Green-band is — witte knop met groene tekst in plaats van een gevulde groene pil op groene achtergrond
6. Omlijnd op Donker — "Learn more / Order now"
- Achtergrond: transparant
- Tekst:
#ffffff - Rand:
1px solid #ffffff - Gebruikt op donkergroene kenmerkendbanden voor secundaire actie gekoppeld aan een witte gevulde CTA
7. Toestemming Akkoord (donkergroene variant)
- Achtergrond:
rgb(0, 130, 72)(een specifieke variantgroen gebruikt in de cookietoestemmingsmodule) - Tekst:
#ffffff - Geen rand,
50pxradius,7px 16pxopvulling, 14px / gewicht 400 - Iets helderder dan Green Accent — gereserveerd voor de Akkoord-actie van de toestemmingsbanner
8. Frap — Zwevende Ronde Bestelknop
- Achtergrond:
#00754A(Green Accent) - Icoon:
#ffffff - Afmeting:
5.6rem / 56px(standaard),4rem / 40px(minivariant) - Radius:
50%(volledige cirkel) - Vaste positie rechtsonder,
-0.8remaanraakoffset voor extra tikcomfort - Schaduwstapel: basis
0 0 6px rgba(0,0,0,0.24)+ omgevend0 8px 12px rgba(0,0,0,0.14) - Actieve status: omgevende schaduw vervaagt naar
0 8px 12px rgba(0,0,0,0) - Dit is het kenmerkende elevatielement van het product — het zweeft boven elk gescrolde oppervlak
9. Volbreedte Feedbacktab — "Provide feedback"
- Achtergrond:
#00754A - Tekst:
#ffffff - Radius:
12px 12px 0px 0px(alleen bovenaan afgerond) - Opvulling:
8px 16px - Lettertype: 14px, gewicht 400
- Vaste positie rechtsonder-binnenin, bevestigd aan de viewport-rand
Kaarten & Containers
Inhoudskaart (standaard)
- Achtergrond:
#ffffff(--cardBackgroundColor) - Radius:
12px(--cardBorderRadius) - Schaduw:
0px 0px .5px 0px rgba(0,0,0,0.14), 0px 1px 1px 0px rgba(0,0,0,0.24)(--cardBoxShadow) - Gebruikt voor: featurekaarten, menu-item-tegels, reward-statuspanelen
Cadeaukaartpaneel
- Achtergrond: geïllustreerde fotografie vult de kaart (geen effen achtergrond)
- Radius: vergelijkbaar met kaarten (~
12px, iets strakker op hoeken) - Schaduw: lichter dan standaardkaart — deze worden behandeld als fysieke kaarten op het canvas
- Gelabeld per categorie boven het kaartgrid (Spring, Thank You, Birthday, Celebration, Mother's Day, Appreciation, Encouragement, Milestones, Anytime)
Rewards-statuskaarten (kenmerkend voor Rewards-pagina)
- Driekolomsraster: Bronze / Gold / Silver-achtig — elk een donkergroen (
#1E3932) paneel met:- Gekleurde gradiënt/kleur koptekstring
- Genummerd "Level"-badge
- Statustitel in grote SoDoSans gewicht 600
- Sterren/voordelen lijst in witte/doorschijnend-witte tekst
- Onderaan "As you earn more stars…" progressiebijschrift
Partnerkaart (Rewards)
- Achtergrond:
#faf6ee(Gold Lightest) warm-crème oppervlak - Inhoud: partnerlogo's ("SkyMiles", "Bonvoy") gecentreerd, met beschrijvende tekst eronder
- Radius en schaduw volgen standaard kaartspecificaties
Uitklapmenu (Account-uitklap, bovenste navigatie)
- Achtergrond:
#f9f9f9(Neutral Cool) - Menu-items op
24px / gewicht 400in Text Black - Geen rand — alleen achtergrondoppervlaktewijziging ten opzichte van witte navigatie
Modaal
- Opvulling:
2.4rem(--modalPadding) - Bovenste opvulling:
8.8rem(--modalTopPadding) — laat ruimte voor sluitknop/koptekst - Gecombineerde verticale opvulling:
11.2rem - Radius erft van kaartspecificaties (
12px)
Invoervelden & Formulieren
Zweef-label Invoerveld
- Label zweeft boven de invoerrand wanneer gefocust/ingevuld
- Desktoplabel lettergrootte:
1.9remstandaard, animeert naar1.4remwanneer actief - Mobiellabel lettergrootte:
1.6remstandaard, animeert naar1.3remactief - Label horizontale offset:
12pxvan links - Actief label translateert: omhoog naar
-12pxmet-50%Y-translatie - Veld opvulling:
12px - Formulier horizontale opvulling:
1.6rem - Validatie: geldig veld krijgt
rgba(green-light, 0.33)tint; ongeldig veld krijgtrgba(red, 0.05)tint - Overgang:
0.3s option-label-marker-expansion cubic-bezier(0.32, 2.32, 0.61, 0.27)bij aangevinkt invoer
Opticoon (checkbox/radio)
- Opvulling:
3pxbinnenin - Gebruikt de bovenstaande cubic-bezier-animatie voor aangevinkt invoer (een licht "veerkrachtige" 2.32 overshoot-curve)
Navigatie
Globale navigatie (bovenste balk)
- Vaste positie met progressieve hoogten:
64pxxs →72pxmobiel →83pxtablet →99pxdesktop - Schaduwstapel:
0 1px 3px rgba(0,0,0,0.1), 0 2px 2px rgba(0,0,0,0.06), 0 0 2px rgba(0,0,0,0.07)— drielaagse zachte lift - Links: Starbucks-woordmerlogo, verschoven met
99px(md) /131px(lg) van linkerrand - Primaire links inline in SoDoSans gewicht 400–600: Menu · Rewards · Gift Cards
- Rechts: Winkel zoeken link + Aanmelden (omlijnd) + Nu lid worden (zwart gevuld)
Subnavigatie (tweede balk, bijv. Rewards intern)
- Hoogte:
53px(globale subnavigatie) /48px(interne subnavigatie) - Doorgaans horizontale tabbladgroep onder de globale navigatie
Mobiele navigatie
- Klapt in tot een hamburgermenu-la onder tabletbreekpunt
- Zwevende Frap-knop blijft rechtsonder ongeacht de navigatiestatus
Beeldverwerking
- Heldfotografie: Productfoto's (dranken in doorzichtig glas met gekleurde achtergronden — koraal, salie, warm amber) beslaan ~40vw van een gesplitste heldopmaak; tekst beslaat de andere 60vw (
--headerCrateProportion: 40vw/--contentCrateProportion: 60vw) - Cadeaukaartillustraties: Elke kaart is een afzonderlijke geïllustreerde foto (geschilderd gevoel, handgetekend uitziend, warm kleurenpalet). Nooit generieke gegenereerde afbeeldingen.
- Rewards-ceremonie-afbeeldingen: Foto's van Starbucks Rewards App-schermen in de hand gehouden, scheve composities — product-in-context-fotografie.
- Menuthumbnails: Vierkante of 4:3 productfotografie met schone witte/crème achtergronden, lichte zachte slagschaduw rondom het glas.
- Beeldfade-in:
opacity 0.3s ease-inovergang bij afbeeldingsladingen (--imageFadeTransition).
Kenmerkband (donkergroene heldstrook)
Volbreedte #1E3932 (House Green) band met:
- Links: witte koptekst + subkop + CTA-rij
- Rechts: productfotografie of illustratie
- Splitverhouding ~40/60 of 50/50 afhankelijk van sectie
- Witte tekst doorlopend met
rgba(255,255,255,0.70)voor secundaire tekst - CTA's volgen Groen-op-Groen Omgekeerd (wit gevuld) + Omlijnd op Donker (witte omtrek) combinatie
Uitklapper / Accordeon
- Duur:
300ms(--expanderDuration) - Timingcurve:
cubic-bezier(0.25, 0.46, 0.45, 0.94)— een beheerste ease-out - Gebruikt voor FAQ-secties op Rewards en de cadeaupagina
Cookietoestemmingsmodule
Donkergroene modale kaart bovenaan de pagina met "Akkoord" (groen gevuld) en "Voorkeuren beheren" (omlijnd) knoppen. Verschijnt bij eerste bezoek; te sluiten.
Productdetailcomponenten (PDP-kenmerkcluster)
Een herhalend componentcluster gebruikt op menupagina's (bijv. /menu/product/40498/iced voor een drankdetail, /menu/product/.../nutrition voor voedingsfeiten). Deze breiden de componentenlijst uit zonder tokens te wijzigen.
Maatoptieselectie
- Horizontale rij van 4 bekerpicogramknoppen (Tall / Grande / Venti / Trenta)
- Elk item: bekersilhouetpicogram bovenaan, maatnaam eronder (16/700 in Starbucks-Green), vloeistof-ounce bijschrift (13/400 in Text Black Soft)
- Actieve status: een groene cirkelomtrekring (
2px solid #00754A) rondom het geselecteerde bekerpicogram - Inactief: geen ring, dezelfde typografie
- Volbreedte rij, gelijkmatige afstand
- Radius van container:
12pxof vlak; individuele picogrammen zijn50%cirkelvormig - Opvulling:
16px 24pxintern
Add-in / Melkselectie (omlijnde rechthoek)
- Achtergrond:
#ffffff - Rand:
1px solid #d6dbde(Invoerrand) - Radius:
4px - Volbreedte in zijn kolom
- Zweef-label boven bovenste rand: "Add-ins" / "Milk" / "Add-ins" — 13/700 in Text Black, hoofdletters,
0.325pxletterafstand - Weergegeven waarde gecentreerd (bijv. "Ice", "Coconut", "Strawberry Fruit Inclusions scoop"): 16/400 Text Black
- Chevron-neer-icoon rechts in Text Black Soft
- Focus: rand verschuift naar Green Accent (
#00754A)
Numerieke Stappenregelaar
- Ingebed in een Add-in-rij wanneer een hoeveelheid vereist is (bijv. Strawberry Fruit Inclusions scoop)
−min-knop + aantalnummer ++plus-knop, allemaal inline rechts van het label- Knoppen: cirkelvormig
32×32pxmet1px solid #d6dbderand, neutraal grijs icoon - Aantalnummer: 16/700 Text Black gecentreerd
Aanpassen Knop
- Achtergrond:
#ffffff - Tekst:
#00754A(Green Accent) - Rand:
1.5px solid #00754A - Radius:
50px(volronde pil) - Opvulling:
14px 40px(ruimer dan standaardpillen — dit is een secundaire primaire actie) - Label: "Customize" met een goud fonkelend ✨ icoon links ingezet
- Gebruikt voor: het betreden van de drankpersonalisatiestroom na maat-/melkselectie
Aan Bestelling Toevoegen Knop (PDP)
- Achtergrond:
#00754A(Green Accent) - Tekst:
#ffffff - Radius:
50px - Opvulling:
14px 32px - Vastgespeld rechtsboven op de productkaart en/of rechts uitgelijnd binnen de winkelsbeschikbaarheidsband
- Zelfde scale(0.95) actief gedrag als andere primaire CTA's
Rewards Kostenpil — "200★ item"
- Achtergrond: transparant
- Rand:
1px solid #cba258(Gold) - Tekst:
#cba258(Gold) - Radius:
50px(volronde pil) - Opvulling:
4px 12px - Inhoud: "200★ item" waarbij
★een klein gevuld sterrenglyph is — geeft aan hoeveel Rewards Stars vereist zijn om dit item in te wisselen - Lettertype: Proxima Nova 13/700 met
0.5pxletterafstand - Uitsluitend gebruikt op producten die inwisselbaar zijn via Rewards
Productbeschrijvingsband
- Volbreedte donkergroene band (
#1E3932House Green) - Bevat van boven naar beneden:
- Rewards Kostenpil (goud) indien van toepassing
- Productbeschrijving bodytekst in wit (16/400/1,5)
- Voedingssamenvatting inline ("140 calories, 25g sugar, 2.5g fat") met info-icoon tooltip — 14/700 wit
- "Full nutrition & ingredients list" omlijnde-wit-op-groen pil knop
- Opvulling:
32pxverticaal - Verschijnt onder de primaire productkoptekstband
Ingrediënten- / Voedingstabel
- Tweekolomsopmaak op de Voedingspagina
- Linkerkolom: "Ingredients" koptekst + lijst of "Not available for this item" plaatshouder tekstblok met een verklarende alinea in Text Black Soft 14/400
- Rechterkolom: "Nutrition" koptekst + label/waarde-rijen
- Elke rij: voedingsstoflabel (Proxima Nova 14/400) links, waarde (bijv. "140 calories", "25g", "205 mg**") rechts, gescheiden door een
1px solid #e7e7e7haarlijntje eronder - Voetnoot voor cafeïne/asterisktekens in 13/400 Text Black Soft onderaan
- Herbruikbaar patroon voor regelgevingconforme voedingstabellen
Winkelsbeschikbaarheidsselectie
- Verschijnt op donkergroene kenmerkband boven de maatoptierij
- Volbreedte afgeronde rechthoek met transparant-wit interieur
- Tekst: "For item availability, choose a store" in wit, 14/400
- Rechterkant: chevron-neer-aanduiding + boodschappentas SVG-icoon in witte omtrek
- Radius:
4px - Hoogte: ~48px
PDP Broodkruimelpad
- "Menu / Refreshers / Pink Energy Drink" spoor boven de producttitel
- Scheidingsteken:
/schuine streep in Text Black Soft - Huidige pagina is niet gelinkt, vorige pagina's zijn onderstreepte green-accent-links
- Lettertype: 14/400 Proxima Nova
- Verschijnt op alle PDP-pagina's
Terug Chevron-link (PDP voeding / detail sub-pagina's)
- "← Back" tekstlink boven sectiekoppen op de voedingspagina
- Tekst in Green Accent (
#00754A) 14/700 Proxima Nova - Links chevron
<in hetzelfde groen - Alternatief voor volledig broodkruimelpad op diepe subpagina's
5. Opmaakprincipes
Ruimtesysteem
Rem-gebaseerde semantische schaal (verankerd 1rem = 10px):
| Token | Rem | Pixels | Typisch gebruik |
|---|---|---|---|
--space-1 |
0.4rem |
4px | Kleinste inline opvulling |
--space-2 |
0.8rem |
8px | Kleine tussenruimte, knop verticale opvulling |
--space-3 |
1.6rem |
16px | Standaard — kaartopvulling, buitenste goot xs |
--space-4 |
2.4rem |
24px | Sectie binnenste ruimte, buitenste goot md |
--space-5 |
3.2rem |
32px | Grote ruimte tussen secties |
--space-6 |
4rem |
40px | Grote tussenruimten, buitenste goot lg, heldcrate |
--space-7 |
4.8rem |
48px | Sectie-naar-sectie-ruimte |
--space-8 |
5.6rem |
56px | Zeer grote ademruimte — Frap-hoogte |
--space-9 |
6.4rem |
64px | Breedste sectie-opvulling |
Goot-tokens:
--outerGutter: 1.6rem(16px, standaard / mobiel)--outerGutterMedium: 2.4rem(24px, tablet)--outerGutterLarge: 4.0rem(40px, desktop)
Universele ritme-constante: 1.6rem (16px) verschijnt op elke pagina als de standaard buitenste goot, kaartopvulling-basislijn en body-tekstgrootte 3 — de meest frequente ruimte-eenheid van het systeem.
Raster & Container
- Kolombreedte-schaal:
--columnWidthSmall: 343px/Medium: 500px/Large: 720px/XLarge: 1440px - Cadeaukaartgrid gebruikt een 3-5-koloms responsief raster van ~
343pxtegels - Rewards-statussectie: 3-kolomns donkergroene panelen bij
lg+breekpunten - Held: asymmetrische splitsing 40% (afbeelding) / 60% (inhoud) via
--headerCrateProportion/--contentCrateProportion
Witruimtefilosofie
Witruimte draagt het gevoel van "volop ruimte in het café." Sectie-opvulling is ruimhartig (40–64px). Inhoudsblokken worden gescheiden door witruimte in plaats van scheidingslijnen. Het crème canvas (#f2f0eb) is zelf een visuele ademteug tussen witte kaarten en groene kenmerkendbanden.
Afrondingsschaal
| Waarde | Gebruik |
|---|---|
12px |
Kaarten, modale vensters, menu-item-tegels (--cardBorderRadius) |
12px 12px 0 0 |
Volbreedte feedbacktab (alleen bovenaan afgerond) |
50px |
Alle knoppen — volronde pilradius (--buttonBorderRadius) |
50% |
Ronde iconen, Frap zwevende knop, avatarminiaturen |
| Speciaal | 3.3333%/5.298% elliptisch voor Starbucks-Visa-Card mockups (--svcRoundedCorners) |
6. Diepte & Elevatie
| Niveau | Behandeling | Gebruik |
|---|---|---|
| Kaart | 0 0 0.5px rgba(0,0,0,0.14), 0 1px 1px rgba(0,0,0,0.24) |
Standaard inhoudskaarten — een fluisterzachte dubbele schaduw |
| Globale navigatie | 0 1px 3px rgba(0,0,0,0.1), 0 2px 2px rgba(0,0,0,0.06), 0 0 2px rgba(0,0,0,0.07) |
Drielaagse zachte lift op de vaste bovenste balk |
| Frap Basis | 0 0 6px rgba(0,0,0,0.24) |
Basishalo rondom de zwevende ronde CTA |
| Frap Omgevend | 0 8px 12px rgba(0,0,0,0.14) |
Gestapelde richtinggevende omgeving — laat de Frap naar voren drijven |
| Cadeaukaart | Lichte slagschaduw rondom geïllustreerde foto | Fysiek-kaartgevoel voor cadeaupanelen |
| Starbucks Card (SVC) | drop-shadow(0 4px 1px rgba(0,0,0,0.11)) drop-shadow(0 0 2px rgba(0,0,0,0.24)) |
Gestapelde SVG-slagschaduwen voor Starbucks Card-visuals |
Schaduwfilosofie: Fluisterzacht, gelaagd over effen — het systeem gebruikt nooit een enkele zware slagschaduw. In plaats daarvan stapelt het 2–3 laag-alpha schaduwen met verschillende offsets om echte omgevings- en directe belichting te simuleren. De Frap-knop is het meest verheven element op elke pagina.
Decoratieve Diepte
- Geen gradiëntsysteem — oppervlakten zijn effen kleurblokken
- Kleurblokbanding draagt waargenomen diepte (donkergroene banden lezen als "verzonken kenmerkendzones" tussen crème/witte lichaamssecties)
- SVG-filterschaduwen op Starbucks-Card-visuals voegen een lichte 3D-fysicaliteit toe zonder box-shadow
7. Wel & Niet
Wel
- Gebruik Neutral Warm (
#f2f0eb) of Ceramic (#edebe9) als paginacanvas in plaats van puur wit — het warme crème is kenmerkend - Wijs de groentinten toe aan hun beoogde oppervlakterol — Starbucks Green voor koppen, Green Accent voor CTA's, House Green voor diepe banden, Uplift voor decoratief
- Houd de tracking strak op
-0.01em/-0.16pxop SoDoSans door het hele systeem - Gebruik 50px volronde pilradius op elke knop zonder uitzondering
- Pas
transform: scale(0.95)toe als de universele knop actieve status - Reserveer Gold uitsluitend voor Rewards-statusceremonemomenten
- Gebruik SoDoSans voor bijna alles; schakel over naar Lander Tall schreef alleen voor Rewards-redactionele koppen; reserveer Kalam-script voor Careers "bekernaam"-momenten
- Stapel 2–3 laag-alpha schaduwen in plaats van één zwaardere slagschaduw voor elevatie
- Gebruik de ronde Frap-CTA als de persistente zwevende bestelingang op elk winkeloppervlak
- Laat het crème canvas ademen tussen inhoudskaarten — gebruik witruimte, geen scheidingslijnen
Niet
- Gebruik geen puur wit als paginacanvas — de warme crèmetemperatuur is essentieel
- Kies niet één "merkgroen" — het viertrapps groene systeem is opzettelijk; alleen
#006241overal gebruiken vlakt het merk af - Gebruik Gold niet als universeel accent — het is uitsluitend een Rewards-signaal
- Maak de hoeken van knoppen niet vierkant — de 50px pil is universeel
- Voer geen gradiëntvullingen in — het systeem is doorlopend kleurblok
- Onderscheid h1 en h2 niet door grootte — de hiërarchie komt van gewicht + kleur (600 Starbucks-Green vs 400 Text Black)
- Gebruik geen puur zwart voor bodytekst —
rgba(0,0,0,0.87)past bij het warme canvas - Sla de
scale(0.95)actieve feedback op knoppen niet over — het is een kenmerkende micro-interactie - Stapel geen enkelvoudige zware schaduwen; stapel altijd 2–3 laag-alpha schaduwen
- Voer geen schreve lettertypen of scripts in de hoofdwinkelstroom in — ze horen thuis in Rewards- en Careers-contexten respectievelijk
8. Responsief Gedrag
Breekpunten
Afgeleid van componentbreedtetokens en progressieve navigatiehoogten:
| Naam | Breedte | Belangrijkste wijzigingen |
|---|---|---|
| xs | < 480px | Globale navigatie 64px; hamburgermenu; eénkolomsopmaak; pilknoppen volbreedte |
| Mobiel | 480–767px | Globale navigatie 72px; cadeaukaartgrid 2-koloms; kaartopvulling wordt strakker |
| Tablet | 768–1023px | Globale navigatie 83px; cadeaukaartgrid 3-koloms; held-splitsing begint te verschijnen |
| Desktop | 1024–1439px | Globale navigatie 99px; cadeaukaartgrid 4-koloms; volledig asymmetrische held 40/60 |
| XLarge | 1440px+ | Inhoud begrensd op --columnWidthXLarge; cadeaukaartgrid 5-koloms; extra crème marge |
Aanraakdoelwitten
- Pilknoppen bij
7px 16pxopvulling meten ~32px hoog — onder het WCAG AAA-minimum van 44px voor alleen-aanraakoppervlakken. Op mobiel kan knopopvulling visueel worden vergroot om aan het minimum te voldoen. - Zwevende ronde Frap-knop bij
56pxis ruim boven het minimum. - Frap gebruikt
--frapTouchOffset: calc(-1 * .8rem)om het tikgebied 8px voorbij de visuele rand uit te breiden. - Formulier zweef-label invoervelden vergroten hun labellettergrootte op mobiel (1,6rem basis vs 1,9rem desktop) — gemakkelijker te tikken en te lezen op armslengte.
Inklapstrategie
- Globale navigatiehoogte schaalt progressief: 64 → 72 → 83 → 99px over breekpunten, niet één enkele waarde
- Held-splitsing klapt in: 40/60 asymmetrische splitsing → gestapeld (afbeelding boven, inhoud eronder) op mobiel
- Cadeaukaartgrid: 5-koloms → 4-koloms → 3-koloms → 2-koloms → 1-koloms over breekpunten met aangepaste kaartbreedten
- Kenmerkendbanden: Blijven volbreedte maar tekst + afbeelding stapelen verticaal op mobiel
- Buitenste goot schaalt: 16px → 24px → 40px naarmate de viewport groter wordt
- Rewards 3-kolomns statuspanelen: Stapelen naar één kolom op mobiel
Beeldgedrag
- Heldproductfotografie crop strakker verticaal op mobiel; inhoud wordt het visuele anker
- Cadeaukaartillustraties bewaren beeldverhouding; kaartgrid herstroomt
opacity 0.3s ease-infade-in-overgang bij afbeeldingslading (voorkomt storend verschijnen)- Rewards app-in-hand fotografie schaalt proportioneel; nooit uitgerekt
9. Agent Promptgids
Snelle Kleurenreferentie
- Primaire CTA: "Green Accent (
#00754A)" - Primaire CTA-tekst: "White (
#ffffff)" - Merkkop: "Starbucks Green (
#006241)" - Kenmerkband / voettekst: "House Green (
#1E3932)" - Paginacanvas: "Neutral Warm (
#f2f0eb)" - Kaartcanvas: "White (
#ffffff)" - Koptekst op licht: "Text Black (
rgba(0,0,0,0.87))" - Bodytekst op licht: "Text Black Soft (
rgba(0,0,0,0.58))" - Bodytekst op donkergroen: "Text White Soft (
rgba(255,255,255,0.70))" - Rewards accent: "Gold (
#cba258)" - Rewards tekst: "Rewards Green (
#33433d)" - Destructief: "Red (
#c82014)"
Voorbeeldcomponentprompts
-
"Maak een primaire Starbucks CTA-pilknop met Green Accent (
#00754A) achtergrond, witte tekst 'Explore our afternoon menu', SoDoSans lettertype op 16px gewicht 600 met-0.01emletterafstand,50pxrand-radius (volronde pil),7px 16pxopvulling. Pastransform: scale(0.95)toe als de actieve status met een0.2s easeovergang." -
"Ontwerp een inhoudskaart met White (
#ffffff) achtergrond op12pxrand-radius, gelaagde schaduw0 0 0.5px rgba(0,0,0,0.14), 0 1px 1px rgba(0,0,0,0.24). Vul inhoud16–24px(--space-3t/m--space-4). Plaats op een Neutral Warm (#f2f0eb) paginacanvas met16pxtussenruimte naar gezusterlijke elementen." -
"Bouw de Frap zwevende ronde bestelknop —
56pxdiameter, Green Accent (#00754A) vulling, wit boodschappentasicoon gecentreerd. Gelaagde schaduw:0 0 6px rgba(0,0,0,0.24)+0 8px 12px rgba(0,0,0,0.14). Vaste positie rechtsonder met-0.8remaanraakoffset. Actieve status laat de omgevende schaduw zakken naar0 8px 12px rgba(0,0,0,0)metscale(0.95)." -
"Bouw een donkergroene kenmerkband — volbreedtesectie met House Green (
#1E3932) achtergrond. Linkerkolom: witte SoDoSans h2 op 24px gewicht 600, gevolgd door een Text White Soft (rgba(255,255,255,0.70)) bodytekstalina en een CTA-rij met twee knoppen (Wit-gevuld met Green Accent-tekst voor primair, Omlijnd-op-Donker witte rand voor secundair). Rechterkolom: productfotografie. Splitverhouding 40/60, verticaal gestapeld onder768px." -
"Maak een Rewards-statuskaart — House Green (
#1E3932) paneel met12pxrand-radius, gekleurde gradiënt bovenste streep (Bronze/Silver/Gold niveau). Titel in SoDoSans 24px gewicht 600 in wit. Voordelen lijst als witte opsommingstekens metrgba(255,255,255,0.70)secundaire bijschriften. Onderste progressietekst in Text White Soft. Stapel 3 panelen in een raster bijlg+, één kolom op mobiel." -
"Ontwerp een cadeaukaartpaneel — kaartradius overeenkomend met
12px, gevuld met een geïllustreerde foto (handgetekend aquarelgeschilderd gevoel) als het gehele oppervlak. Subtiele slagschaduw laat het aanvoelen als een fysieke kaart op het crème canvas. Groepeer onder een categorielabel ('Spring', 'Thank You', 'Birthday') in SoDoSans 24px gewicht 400 boven het raster." -
"Maak een Starbucks productdetailkoptekst — House Green (
#1E3932) band met broodkruimelpad 'Menu / Refreshers / Pink Energy Drink' in 14/400 wit boven de producttitel in SoDoSans 32/700 hoofdletters wit. Productfoto gecentreerd onder titel. Onder foto: een 4-kolomns maatselectierij — elke bekerknop toont een verticaal bekersilhouet, maatnaam ('Tall' / 'Grande' / 'Venti' / 'Trenta') in 16/700 wit, en vloeistof-ounce in 13/400 Text White Soft. De geselecteerde maat wikkelt het bekericoon in een2px solid #00754Acirkelring." -
"Bouw een Starbucks aanpasstroom — onder de maatselectie, 3 gestapelde omlijnde-rechthoek invoervelden (witte achtergrond,
1px solid #d6dbderand,4pxradius). Elk heeft een zweef-label ('Add-ins', 'Milk', 'Add-ins') boven de bovenste rand in 13/700 Text Black hoofdletters. Waarde gecentreerd (bijv. 'Ice', 'Coconut'). Rechts: chevron-neer in Text Black Soft. Voor de scoop-rij, embed een numerieke stappenregelaar (−1+met cirkelvormige32pxomlijnde knoppen). Onder alle drie velden: omlijnde groene 'Customize' pil met goud fonkelend icoon,50pxradius,14px 40pxopvulling. Combineer met een Green Accent gevulde 'Add to Order' pil in dezelfde rij." -
"Ontwerp een Starbucks productbeschrijvingsband — volbreedte House Green (
#1E3932) onder de productkoptekst. Bovenaan: een goud-omlijnde '200★ item' Rewards Kostenpil (50pxradius,4px 12pxopvulling, goud#cba258rand en tekst). Eronder: productbeschrijving in wit 16/400/1,5. Voedingsinline-samenvatting in wit 14/700 ('140 calories, 25g sugar, 2.5g fat') met info-icoon tooltip. Omlijnd-wit-op-groen pilknop 'Full nutrition & ingredients list'. 32px verticale opvulling." -
"Maak een Starbucks voedingstabel — tweekolomsopmaak binnen een witte kaart. Linkerkolom: 'Ingredients' koptekst (24/400 Text Black), gevolgd door ingrediëntenlijst of 'Not available for this item' plaatshouder alinea in 14/400 Text Black Soft. Rechterkolom: 'Nutrition' koptekst, dan label/waarde-rijen (voedingsstoflabel links, waarde rechts) gescheiden door
1px solid #e7e7e7haarlijntjes. Typografie: labels in 14/400 Text Black, waarden in 14/700 Text Black rechts uitgelijnd. Voetnootasterisktekens in 13/400 Text Black Soft onderaan."
Iteratiegids
Bij het verfijnen van bestaande schermen gegenereerd met dit ontwerpsysteem:
- Focus op ÉÉN component tegelijk
- Verwijs naar specifieke kleurnamen en hex-codes uit dit document
- Gebruik beschrijvende taal ("warm crème canvas," "viertrapps groen systeem") naast exacte waarden
- Bewaar de 50px pil +
scale(0.95)actieve status universeel - Controleer of de groenen zijn toegewezen aan hun correcte rol (Green Accent voor CTA, Starbucks Green voor kop, House Green voor band)
- Voer geen gradiënten in — het systeem is kleurblok
- Houd de SoDoSans tracking op
-0.01em/-0.16pxdoor het geheel
Bekende Hiaten
- SoDoSans is een propriëtair lettertype dat niet beschikbaar is op Google Fonts — gebruik bij publieke implementatie Inter of Manrope als vervanger en documenteer de uitwisseling
- Lander Tall (Rewards schreef) is ook aangepast — vervang door Iowan Old Style, Lora of Source Serif Pro
- Specifieke per-component animatietimings buiten de paar gedocumenteerde (
--duration: 0.4s,--iconTransition: all ease-out 0.2s,--expanderDuration: 300ms) zijn niet voor elk interactief oppervlak vastgelegd - Volledig formulierfoutstatus-styling (rode randdikte, icoonplaatsing) zichtbaar in het tint-token maar niet uitputtend geëxtraheerd
- Careers-paginaspecifieke componenten (bekernaamskaart, zoekradiogrid) worden gerefereerd in tokennamen maar worden niet gedekt door deze extractie
- Starbucks Visa Card / Starbucks-Card (SVC) gedetailleerde mockupspecificaties worden gesuggereerd door
--svcRoundedCorners- en--svcShadowFilter-tokens maar zijn niet volledig gedocumenteerd