/* Digital Dream AI — design tokens.
   Round r2026-08-22-03 replaces the dark-purple foundation canvas with the approved v2 pastel-lilac direction
   (references/01..06 of the Home + Dream Recording handoff). Raw brand values come from the approved moon-loader
   palette; semantic tokens map them to UI roles. Claude Design: extend this file, never hard-code colours in
   components. Contrast receipts for every text pair live in docs/DESIGN_RULES.md. */
:root {
  color-scheme: light;
  /* raw brand values (approved v2 loader + reference palette) */
  --dd-brand-blue: #8fc9de;
  --dd-brand-blue-deep: #5b94ad;
  --dd-brand-violet: #9e84d5;
  --dd-brand-lilac: #cbb8e8;
  --dd-brand-lilac-deep: #6b4cbf;
  --dd-brand-blush: #e9b2cf;
  /* THE DAY PAIR (r2026-08-25 owner order; corrected r2026-08-26, DF-134). The microphone wears the moon's pink.
     --dd-mic-plum is its own token and NOT a redefinition of --dd-brand-plum: that name was already declared later
     in this same block at #9279b6, so an earlier duplicate is simply dead — the last declaration wins — and other
     components already depend on the value it holds. A distinct token is also honest about what it is for: this is
     the deep end of the day microphone's face and the ink of the day corner moon, chosen so a white glyph clears
     3:1 on it (3.08:1 where the glyph actually sits, 5.6:1 at the light end) and the moon clears the canvas at
     5.25:1. Measured, not estimated — the previous figures in this comment were computed against a value the build
     never used. */
  --dd-brand-rose: #d98fb6;
  --dd-mic-plum: #8e4f9c;
  --dd-brand-gold: #d6a24a;
  --dd-brand-gold-light: #f3d69d;
  --dd-brand-halo: #d8c8f2;
  /* the pale disc that cuts the crescent on Home (reference 01_HOME.svg, #F5F0FB) */
  /* the mic ring's face (reference 01_HOME.svg, #F6F1FC — a shade warmer than the card surface) */
  /* the mic core: the reference paints it with the screen-wide primary ramp, so over the 108 px core it reads as
     this narrow slice of that ramp (measured at x=141..249 of the 24..366 gradient) */
  /* SCREEN_01_LIGHT micFill: radial 45%/30% r72%, #A08CF6 -> #7761EB; halo #8F78F5 at 12% */
  --dd-mic-core-1: var(--dd-brand-rose);
  --dd-mic-core-2: var(--dd-mic-plum);
  --dd-mic-halo: var(--dd-mic-plum);
  --dd-mic-face: #f6f1fc;
  /* graphic accent for icon strokes, checks and the switch (SCREEN_03/04/SETTINGS_LIGHT). This is a GRAPHIC colour
     (3:1 non-text), distinct from --dd-accent which must hold 4.5:1 as copy. */
  --dd-glyph-accent: #7761eb;
  --dd-crescent: #6e5bd4;
  --dd-lockup-ink: #34264d;
  --dd-footer-ink: #7b758e;
  --dd-stop-square: #ef5366;
  --dd-toast-bg: #ffffff;
  --dd-toast-border: #e4e0ed;
  --dd-choice-bg: #ffffff;
  --dd-choice-border: #e4e0ed;
  /* the seven ambient stars, per-star per-theme, verbatim from SCREEN_01 */
  --dd-star-1: #6f9db9; --dd-star-2: #d6a24a; --dd-star-3: #8f77d1; --dd-star-4: #d79bb7;
  --dd-star-5: #5b94ad; --dd-star-6: #7860c2; --dd-star-7: #d6a24a;
  --dd-moon-cut: #f5f0fb;
  --dd-brand-plum: #9279b6;

  /* V8 LIGHT PALETTE (r2026-08-24n) — 1:1 with the approved references: MOTION_IMPLEMENTATION.html
     :root[data-theme=light] and SCREEN_*_LIGHT.svg. bg #FCFCFF → bg2 #F5F4FB, ink #15131A, muted #696675.
     SUPERSEDED, kept here so restoring is one edit: bg #faf7ff, bg2 #eee7f8, ink #2d2142, muted #5f5273
     (the r2026-08-22-03 pastel-lilac twilight). V8 §2: older light-only capture rules cannot override the
     approved V8 references — owner confirmation on whether to keep V8's light or restore the pastel is the one
     open question at the end of the r2026-08-24n receipt.
     semantic colour tokens — sRGB first, OKLCH override below */
  /* r2026-08-24o, OWNER ORDER: the light canvas stays the ORIGINAL pastel — the one thing on these screens the
     uploaded V8 SVGs do not override ("единственное что надо было оставить — старый фон на светлом экране").
     Every other light value below is 1:1 from SCREEN_*_LIGHT. */
  --dd-bg: #faf7ff;
  --dd-bg-2: #eee7f8;
  --dd-surface: #fcfafe;
  --dd-on-accent: #ffffff;                              /* ink on accent-filled marks (assure tick) */
  --dd-surface-2: #f1ebf8;
  --dd-border: #d7cbe7;
  --dd-text: #15131a;
  --dd-text-muted: #696675;
  /* the primary CTA is a shallow pastel wash with a dark-plum foreground; deep lilac stays a role, never a fill */
  --dd-primary: #cdb9f4;
  --dd-primary-2: #bda4ea;
  --dd-on-primary: #2d2142;
  --dd-accent: #6b4cbf;
  /* #b75b72 is the reference mark colour: it clears 3:1 as a graphic but not 4.5:1 as copy,
     so error text uses the deeper plum-red and only the icon uses the mark. */
  --dd-error: #a34a60;
  /* r2026-08-24z2 (DF-173). The closing band of the flow screens: styles/app.css already read --dd-flowfoot in three
     rules and nothing declared it, so the band resolved to no height at all. One token, one place, per screen. */
  --dd-flowfoot: 46px;
  --dd-error-mark: #b75b72;
  /* the soft fill inside the "nothing is blocked" ring (reference 05_HOME_MIC_DENIED.svg) */
  --dd-error-soft: #f5dce4;
  --dd-success: #34796b;
  --dd-focus: #6b4cbf;

  /* app backdrop — the light lilac atmosphere the moon loader is masked over, so shell and loader read as one
     surface. Static by design: an animated backdrop costs main-thread time and puts M-WV-02 (INP) at risk for
     decoration. Washes are restrained on purpose (one lavender, one blush), never a full-screen saturated gradient. */
  --dd-backdrop-base: #faf7ff;
  --dd-backdrop-sheet: #eee7f8;
  /* the reference's two washes, colour and start opacity verbatim (washA #E4D7F6 at .68, washB #F3DDEB at .52) */
  --dd-wash-a: rgba(228, 215, 246, 0.34);
  --dd-wash-b: rgba(243, 221, 235, 0.26);
  --dd-backdrop-wash-1: rgba(228, 215, 246, 0.34);
  --dd-backdrop-wash-2: rgba(243, 221, 235, 0.26);
  --dd-shadow-soft: rgba(146, 121, 182, 0.16);
  --dd-shadow-card: rgba(146, 121, 182, 0.1);
  --dd-sheen: rgba(255, 255, 255, 0.18);
  /* V8: the live recording energy bars — both themes use the reference violet (#A08CF6 in SCREEN_02, light and dark) */
  --dd-wave: #a08cf6;
  /* ambient choreography clock — default here, overwritten from the ambientSequenceMs seam by src/ui/v8-shell.js */
  --dd-ambient-seq: 10s;
  --dd-stop-ring: #ef5366;
  /* the two cloud bands and the card panel (reference --cloud1/--cloud2/--panel/--border) */
  --dd-cloud-1: #f1eeff;
  --dd-cloud-2: #e9e5fa;
  --dd-panel: #ffffff;
  --dd-panel-border: #e3e0ec;
  --dd-stop-face: #fff8fa;

  /* type — system stack at foundation stage; brand faces are chosen in the design stage */
  --dd-font-display: "Avenir Next", "Segoe UI Variable Display", "Helvetica Neue", system-ui, sans-serif;
  --dd-font-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  /* the ONE family every approved artboard declares (assets/reference/v8/screen-0*.svg, verbatim). The artboard text
     uses this and nothing else: the references draw one family, so a display stack on the title would change both the
     metrics and the glyph widths the board was drawn with. */
  --dd-font-artboard: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  /* THE ARTBOARD PLACES TEXT BY ITS BASELINE, and CSS positions boxes, so the distance from the box top to the first
     baseline has to be known. It is a property of the resolved font, not a constant: these two are the font bounding
     box ascent and descent as a fraction of the font size, measured from the ACTUAL resolved family by the appearance
     boot before first paint. The values here are the fallback for an engine with no canvas text metrics, measured
     from the stack above. DF-108: they used to be one assumed 0.8, which put every baseline 1-3 px low and, worse,
     was the number the guard checked — so the approximation was verifying itself. */
  --dd-asc: 1.08;
  --dd-desc: 0.25;
  --dd-font-mono: ui-monospace, SFMono-Regular, Consolas, monospace;
  --dd-fs-body: 1rem;                                   /* 16px */
  --dd-fs-lead: 0.9375rem;                              /* 15px, capture-screen subtitles (02_CAPTURE_RECORDING) */
  /* DF-47: Home's subtitle is NOT the capture subtitle. 01_HOME.svg draws "Tell it before it fades." at 16 px and
     02_CAPTURE_RECORDING.svg draws "Speak naturally…" at 15 px — two roles that shared one token, so Home rendered a
     step small against its own approved reference. Overridden per subtree in styles/app.css, which also carries the
     skeleton ghost with it: --dd-lede-box below resolves var(--dd-fs-lead) where it is USED, so the reservation and
     the real text stay one number and the F-01 no-shift property survives the change. */
  --dd-fs-lead-home: 0.9375rem;   /* SCREEN_01 hint: 15px — in rem, so text-only zoom still works (TS-98) */
  /* SCREEN_01 title: 26px/600 — a GLOBAL token, so [TS-29] can see the number derives from here */
  --dd-fs-title-home: 1.625rem;                              /* 16px, Home subtitle (01_HOME) */
  --dd-fs-small: 0.875rem;                              /* 14px, captions only */
  --dd-fs-micro: 0.8125rem;                             /* 13px, meta rows */
  --dd-fs-eyebrow: 0.75rem;                             /* 12px, the brand lockup (reference 01_HOME) */
  /* the card eyebrow is a different size in the references: 11 px with 1.4 px tracking (03_CAPTURE_TRANSCRIPT) */
  --dd-fs-eyebrow-card: 0.6875rem;
  --dd-track-eyebrow-card: 0.127em;
  --dd-fs-read: 1.0625rem;                              /* 17px, transcript reading size */
  /* the references are a fixed 390 design: Home's title is 32 px and every capture screen's is 30 px. Declared in
     rem so a 200% text setting scales them (WCAG Resize Text) without a viewport-driven clamp under-sizing them. */
  --dd-fs-title: 2rem;
  --dd-fs-title-capture: 1.875rem;
  --dd-lh-body: 1.6;
  --dd-lh-read: 1.75;
  --dd-lh-title: 1.2;
  --dd-track-eyebrow: 0.2em;                            /* 2.4px at 12px — the reference's letter-spacing */

  /* space (4/8 scale) and rhythm tiers */
  --dd-s1: 4px; --dd-s2: 8px; --dd-s3: 12px; --dd-s4: 16px;
  --dd-s5: 24px; --dd-s6: 32px; --dd-s7: 48px;

  /* shape */
  --dd-r1: 8px; --dd-r2: 14px; --dd-r3: 20px; --dd-pill: 999px;

  /* motion */
  --dd-dur-micro: 180ms;
  --dd-dur-trans: 320ms;
  --dd-ease-out: cubic-bezier(0.22, 0.61, 0.36, 1);
  /* Loader reveal (DF-19). The inline loader is a large SVG tree with masks and filters: a paint that lands before
     styles/app.css is applied shows the blobs unclipped at the wrong size (flash of unstyled SVG). The loader starts
     invisible and this delay is the window in which nothing of it is painted; the duration is its fade. Because the
     delay is longer than a fast start, a fast start shows no loader at all instead of a flash. */
  --dd-loader-reveal-delay: 160ms;
  --dd-loader-reveal-dur: 320ms;

  /* control geometry — shared by content and skeleton so the swap never shifts layout */
  /* Home's vertical rhythm, taken box-edge by box-edge from uploads/01_HOME.svg at 390x844. The screens used one
     16 px gap everywhere, which drifted up to 80 px from the reference by the footnote. The skeleton reuses the same
     numbers, so a corresponding role never moves at the swap (F-01). */
  --dd-gap-brand-moon: 28px;
  --dd-gap-moon-title: 35px;
  --dd-gap-title-lede: 6px;
  /* DF-47: 48.4 = the reference's 50 px measured against a 15 px lede, less the 1.6 px the box grew when Home's lede
     took its true 16 px. The reference fixes BOTH the lede baseline (331) and the mic ring top (389); correcting the
     type size without this would have moved every role below the lede down by one line-height difference. */
  --dd-gap-lede-mic: 48.4px;
  --dd-gap-mic-action: 5px;
  --dd-gap-action-cta: 33px;
  --dd-gap-cta-footnote: 35px;
  --dd-control-h: 52px;
  --dd-control-min: 48px;
  /* the band the transient saved toast occupies: the control row it sits below, the gap, and its own two lines.
     The saved centre reads it to clear the toast instead of sliding under it on a short viewport. */
  --dd-toast-band: calc(var(--dd-control-min) + var(--dd-s4) + 4.6rem);
  /* THE ARTBOARD. assets/reference/v8/screen-0*.svg are 390x844 and the owner's order is a pixel-exact
     reproduction, so the capture surface is that box and src/ui/v8-shell.js scales it to the window. Declared
     here rather than in the stylesheet because the scale is a RATIO and its denominator is part of the contract:
     the guard that checks the scale reads these two numbers, not a literal in a transform (DF-102). */
  --dd-stage-w: 390px;
  --dd-stage-h: 844px;
  --dd-stage: 1;
  --dd-cta-h: 56px;
  /* SCREEN_01: halo r70 = 140, disc r58 = 116 */
  --dd-mic-ring: 140px;
  --dd-mic-core: 116px;
  --dd-moon-box: 140px;
  /* One moon, two screens. The loader canvas is 300 units wide and its crescent measures 110 of them (the nested
     svg is 184/300 of the canvas and the moon is r=90 of the nested 300); the Home emblem is a 140-unit box whose
     moon is 92. Sizing the loader canvas at moon-box x 1.7857 renders its crescent at exactly the emblem's 92 px,
     so the moon does not change size when the splash hands over to Home. The centre offset below aligns the two
     centres for the same reason: 0.6548 of the canvas width is the distance from the top of the loader svg to the
     crescent's centre. Both factors are geometry, not taste — TS-39 recomputes them from the markup. */
  --dd-moon-loader-w: calc(var(--dd-moon-box) * 1.7857);
  --dd-moon-loader-centre: calc(var(--dd-moon-loader-w) * 0.3667);
  /* The crescent sits 12.4 canvas units left of the canvas centre while the emblem's moon sits 7 px left of its box
     centre, so the splash canvas is nudged right by the difference. Without it the moon travels 3.3 px sideways at
     the handover — measured, not guessed. */
  --dd-moon-loader-nudge: calc(var(--dd-moon-loader-w) * 0.0132);
  --dd-brand-box: 20px;
  --dd-lede-box: calc(var(--dd-fs-lead) * var(--dd-lh-body));
  /* DF-44: the headline box is a ONE-line floor, not a two-line reservation. The two-line count was the older half of
     the F-01 repair; the other half — the skeleton ghost that lays out the REAL localized string in the real
     typography (index.html .sk__ghost, styles/app.css .sk--title .sk__ghost) — already reserves exactly the number of
     lines the string needs at the actual width, so the fixed count only added a permanent empty line. At 390x844 that
     line pushed Home's whole column 38.4 px below reference 01_HOME.svg (lede baseline 370 instead of 331, mic ring
     top 428 instead of 389) and dropped the legal control past the 844 fold. With an intrinsic box the skeleton and
     the content compute the same height by construction, so TS-08's no-shift property holds WITHOUT the reservation:
     measured 0.0 px per-role delta at 390, 360 and 320 px in EN and DE (round r2026-08-22-05c, Block 1). */
  --dd-title-box: calc(var(--dd-fs-title) * var(--dd-lh-title));
  --dd-body-box: calc(var(--dd-fs-body) * var(--dd-lh-body) * 3);
  /* the reference phone column, and the reading measure it may grow to where height is scarce and width is not
     (DF-84). 34rem keeps the line inside the 45-75 character band typography has used for a century, and being in rem
     it follows a text-only zoom like every other type decision here. */
  --dd-measure: 34rem;
  --dd-content-w: min(100%, 342px);

  /* ---- fit system: one design, every viewport (r2026-08-24f) ----------------------------------------------------
     Every number above is measured from the 390x844 reference set, so the reference has to stay EXACT at that size:
     a fluid token that merely passes through 390x844 is a different design that happens to agree at one point.
     These declarations describe the DISTANCE from the reference instead, and resolve to zero at it:
       --dd-stage-edge  half the design band, so a viewport-fixed decoration can be anchored to the content column
                        instead of to the window edge — 195px on a phone, still 195px on a 27-inch monitor, which is
                        why the sky field and the washes keep their reference offsets at any width
       --dd-short       how many pixels of height the window is missing against --dd-fit-h; 0px at and above it
     Space, decorative geometry and paddings then give up a declared SHARE of each missing pixel where they are used
     (the fit layer in styles/app.css), each with a floor derived from a token: hit targets never go under
     --dd-control-min, the emblem stops at 0.6 of its box. Type is deliberately NOT in this system — it stays in rem
     so a 200% text setting still scales it (WCAG 1.4.4, and text-only zoom does not move a viewport unit at all);
     fluid space with static, zoomable type is the current practice for exactly this reason. When the floors are
     reached the SCREEN scrolls inside itself (styles/app.css .screen) — never the document, which since r2026-08-24k
     is a clipped frame that cannot scroll at all. Never clip, never shrink a target below the floor.

     --dd-fit-h is 912px and NOT the 844 of the reference, because it is a measured fact rather than a design wish:
     at a true 390 width the first screen's own rows come to 764.2px plus 48 top and 100 bottom padding = 912.2. The
     reference is 844 because 01_HOME.svg has neither the footnote nor the legal entry the product added afterwards —
     two rows worth 68px. So the first screen has not fitted its design height since those rows arrived; it simply
     scrolled. The ramp therefore starts where the layout genuinely stops needing help, and at 844 it reclaims those
     68px instead of pretending they are not there. */
  --dd-design-w: 390px;
  --dd-design-h: 844px;
  --dd-fit-h: 912px;
  --dd-stage-edge: calc(min(100%, var(--dd-design-w)) / 2);
  /* --dd-short is measured against 100svh, the SMALL viewport, for one reason: it must measure the same box the shell
     is. The shell is html { height: 100% }, which on a phone resolves to the small viewport (toolbars showing). A ramp
     driven by 100dvh measured the DYNAMIC height instead, so the moment a phone's address bar retracted the ramp
     believed it had up to ~60px more room than the shell had, stopped compensating for them, and the screen overran —
     invisibly on desktop, where the two are identical, which is why it survived four rounds (DF-95). svh is also the
     stable choice on principle: dvh is re-evaluated as browser chrome moves, so anything built on it can flip back and
     forth mid-scroll, and a layout input that oscillates produces defects that cannot be reproduced afterwards. */
  --dd-short: max(0px, calc(var(--dd-fit-h) - 100svh));
  /* The QA console's entry point is docked in the foot of every screen (styles/app.css .console-toggle), so the space
     it occupies has to be reserved by the layout rather than added to the document. Derived from the control itself:
     its minimum height plus the inset it sits at, plus the same inset again as clearance above it. A SHIPPED build
     has no QA console — set this to 0px there and the 80px returns to the design with nothing else to change. */
  --dd-qa-dock: calc(var(--dd-control-min) + var(--dd-s4) * 2);
}
/* The one place where WIDTH costs HEIGHT. Measured at a 1000px-tall viewport: at 390 and 375 the Home title occupies
   one line (38.4px) and every other row is identical; at 374 and below it takes two (76.8px), and nothing else in the
   column rewraps at any width down to 320. So the height budget on a narrow phone is one title line short, and the
   ramp has to be told — otherwise 360x640 scrolls by 30px while 390x600, a SHORTER screen, fits.
   A media query rather than a fluid term because the cost is a step, not a slope: a line either fits or it does not.
   The height it adds is --dd-title-box, the title's own line box, so if the type scale moves this follows it. */
@media (max-width: 374px) {
  :root { --dd-short: max(0px, calc(var(--dd-fit-h) + var(--dd-title-box) - 100svh)); }
}
@supports (color: oklch(0.5 0.1 200)) {
  :root {
    --dd-bg-2: oklch(0.93 0.026 302);
    --dd-surface: oklch(0.99 0.006 300);
    --dd-surface-2: oklch(0.95 0.021 302);
    --dd-border: oklch(0.85 0.036 300);
    /* r2026-08-24o: the two ink overrides are GONE, not retuned — they resolved to the old pastel plum, so every
       oklch-capable browser painted #2d2142 while the sRGB literals (and the palette guard reading them) said
       #15131A. The uploaded screens' sRGB ink now stands everywhere. */
    --dd-primary: oklch(0.81 0.083 300);
    --dd-primary-2: oklch(0.75 0.093 297);
    --dd-on-primary: oklch(0.26 0.058 303);
    --dd-accent: oklch(0.48 0.174 293);
    --dd-error: oklch(0.47 0.115 5);
    --dd-error-mark: oklch(0.54 0.109 5);
    --dd-success: oklch(0.48 0.062 178);
    --dd-focus: oklch(0.48 0.174 293);
  }
}

/* ---- V8 DARK APPEARANCE (r2026-08-24m). Applied by the boot script in index.html <head> BEFORE first paint from
   the stored preference (dd.theme) or prefers-color-scheme, so a remembered Dark reload never flashes the light
   canvas. Only semantic tokens change; geometry, spacing and the fit system are theme-blind by construction. */
html[data-theme="dark"] {
  color-scheme: dark;
  --dd-bg: #06101c;
  --dd-bg-2: #0d1830;
  --dd-surface: #101b2c;
  --dd-surface-2: #16233a;
  --dd-border: #2b3a55;
  --dd-text: #f6f3ff;
  --dd-text-muted: #b9b4c8;
  --dd-primary: #4d3f96;
  --dd-primary-2: #5b4bb0;
  --dd-on-primary: #f6f3ff;
  --dd-on-accent: #0d1830;
  --dd-accent: #b7a5ff;
  --dd-focus: #b7a5ff;
  --dd-error-soft: #3a2230;
  --dd-success: #7fd0bf;
  --dd-backdrop-base: #06101c;
  --dd-backdrop-sheet: #0d1830;
  --dd-wash-a: rgba(112, 97, 235, 0.12);
  --dd-wash-b: rgba(215, 155, 183, 0.08);
  --dd-backdrop-wash-1: rgba(112, 97, 235, 0.12);
  --dd-backdrop-wash-2: rgba(215, 155, 183, 0.08);
  --dd-shadow-soft: rgba(0, 0, 0, 0.34);
  --dd-shadow-card: rgba(0, 0, 0, 0.26);
  --dd-sheen: rgba(255, 255, 255, 0.06);
  --dd-mic-face: #131f33;
  --dd-mic-core-1: var(--dd-brand-blush);
  --dd-mic-core-2: var(--dd-brand-lilac-deep);
  --dd-mic-halo: var(--dd-brand-blush);
  --dd-glyph-accent: #8a6cf6;
  --dd-crescent: #f8f5ff;
  --dd-lockup-ink: #f6f3ff;
  --dd-footer-ink: #aaa4bc;
  --dd-moon-cut: #0d1830;
  /* SCREEN_02_DARK stop: disc #501F2B, ring #E24D61, square #FFF7FA (inverted against light, where the square is red) */
  --dd-stop-face: #501f2b;
  --dd-stop-ring: #e24d61;
  --dd-stop-square: #fff7fa;
  --dd-toast-bg: #121c2c;
  --dd-toast-border: #243147;
  --dd-choice-bg: #101a2a;
  --dd-choice-border: #263349;
  --dd-star-1: #83a9d8; --dd-star-2: #d6a24a; --dd-star-3: #a08be4; --dd-star-4: #e7b2cc;
  --dd-star-5: #7ea6c4; --dd-star-6: #9579d8; --dd-star-7: #d6a24a;
  --dd-cloud-1: #121b3a;
  --dd-cloud-2: #18234b;
  --dd-panel: #111b2b;
  --dd-panel-border: #243147;
  --dd-wave: #b7a5ff;
}

