@font-face{font-family:'Funnel Display';font-style:normal;font-weight:500 800;font-display:swap;src:url(fonts/funnel-display-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Funnel Display';font-style:normal;font-weight:500 800;font-display:swap;src:url(fonts/funnel-display-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Funnel Sans';font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/funnel-sans-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Funnel Sans';font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/funnel-sans-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Michroma';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/michroma-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Michroma';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/michroma-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/*
  PIKS limited edition, 20 komada. One-pager kao plakat: gore tajmer, u sredini PIKS od dijamant-piksela
  (isti motiv kao srce na kutiji), ispod naslov i prijava povlačenjem. Boje i reč PIKS su sa kutije:
  gradijent kutije od svetlog ka tamnijem, magenta za naglasak, tamna bobica za tekst.
  Scena: Instagram priča uveče, telefon u ruci, odluka za par sekundi. Sve staje na jedan ekran telefona.
*/
:root{
  --bg-top:  oklch(0.94 0.032 350);
  --bg-bot:  oklch(0.80 0.095 356);
  --magenta: oklch(0.60 0.215 358);     /* reč PIKS na kutiji */
  --mag-ink: oklch(0.47 0.19 358);      /* magenta za velika slova, dovoljno kontrasta */
  --ink:     oklch(0.29 0.075 355);
  --ink-2:   oklch(0.40 0.08 355);
  --white:   oklch(0.985 0.007 350);
  --track:   oklch(0.33 0.10 356);
  --err:     oklch(0.45 0.17 25);
  --display:"Funnel Display","Helvetica Neue",Arial,sans-serif;
  --body:"Funnel Sans","Helvetica Neue",Arial,sans-serif;
  --wide:"Michroma","Funnel Display",sans-serif;
  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-drawer:cubic-bezier(.32,.72,0,1);
  --gut:max(16px,env(safe-area-inset-left,0px));
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100svh;color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:clip;
  background:
    radial-gradient(60% 38% at 50% 44%,oklch(0.985 0.015 350 / .75) 0%,transparent 70%),
    radial-gradient(120% 60% at 0% 100%,oklch(0.74 0.12 356 / .55) 0%,transparent 60%),
    linear-gradient(180deg,var(--bg-top) 0%,oklch(0.88 0.06 352) 55%,var(--bg-bot) 100%);
  background-attachment:fixed}
img{display:block;max-width:100%}
a{color:inherit}
p{margin:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}

.poster{min-height:100svh;max-width:520px;margin:0 auto;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;justify-items:center;
  padding:calc(14px + env(safe-area-inset-top,0px)) var(--gut) calc(14px + env(safe-area-inset-bottom,0px));text-align:center}
.otkriveno .poster{grid-template-rows:auto minmax(0,1fr) auto auto}

/* vrh: reč PIKS sa kutije i oznaka serije */
/* logo i oznaka jedno ispod drugog, kao i tekst ispod naslova */
.vrh{width:100%;display:grid;justify-items:center;gap:8px}
.logo img{height:20px;width:auto}
.oznaka{display:grid;gap:3px;font-family:var(--wide);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2)}
.oznaka span{display:block}

/* tajmer: sporedan, tih; glavni su pikseli */
.tajmer{margin-top:clamp(18px,3.4svh,36px);display:grid;gap:6px}
.cifre{display:flex;align-items:flex-start;justify-content:center;gap:clamp(6px,2vw,12px);color:var(--ink)}
.cifre div{display:grid;gap:5px;min-width:1.8em}
.cifre b{font-family:var(--wide);font-weight:400;font-size:clamp(22px,6.6vw,34px);line-height:1;font-variant-numeric:tabular-nums}
.cifre i{font-family:var(--wide);font-style:normal;font-size:clamp(16px,4.6vw,24px);line-height:1.2;opacity:.28}
.cifre span{font-size:9.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);opacity:.8}

/* proizvod: dijamant-pikseli, jedino glavno na ekranu */
.proizvod{position:relative;margin:clamp(8px,2svh,20px) 0 0;width:100%;min-height:200px;display:grid;place-items:center}
.slike{position:relative;height:100%;max-height:min(48svh,500px);min-height:200px;aspect-ratio:4/5}
.slike img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 28px 34px oklch(0.45 0.16 358 / .28));
  image-rendering:auto}

/* naslov, tekst, forma */
.dole{width:100%;display:grid;gap:8px;justify-items:center;margin-top:clamp(14px,2.6svh,28px)}
h1{font-family:var(--display);font-weight:650;font-size:clamp(30px,9vw,44px);line-height:1.05;letter-spacing:-.02em;color:var(--ink);margin:0;text-wrap:balance}
.lead{font-size:15.5px;line-height:1.5;color:var(--ink-2);max-width:32ch;text-wrap:pretty}
.stihovi{display:grid;gap:2px;font-size:17px;line-height:1.4;color:var(--ink-2)}
.stihovi span{display:block}
.slot{width:100%;margin-top:18px}
.join{display:grid;gap:10px}
.mamac{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pill input{font:inherit;font-size:17px;text-align:center;color:var(--ink);background:var(--white);border:1.5px solid transparent;border-radius:999px;
  height:56px;padding:0 22px;width:100%;margin:0;-webkit-appearance:none;appearance:none;box-shadow:0 1px 0 oklch(0.45 0.12 358 / .12),0 10px 24px -14px oklch(0.45 0.16 358 / .4);
  transition:border-color 160ms ease,box-shadow 160ms ease}
.pill input::placeholder{color:oklch(0.55 0.06 355)}
.pill input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 4px oklch(0.29 0.075 355 / .14)}
.pill input[aria-invalid="true"]{border-color:var(--err);box-shadow:0 0 0 4px oklch(0.45 0.17 25 / .14)}
.note{font-size:12.5px;color:var(--ink-2);opacity:.85;min-height:1.5em}
.note.err{color:var(--err);font-weight:600}

/* klizač: prevuci da se prijaviš (AG1 referenca) */
.klizac{--x:0px;position:relative;display:block;height:64px;border-radius:999px;background:var(--track);overflow:hidden;text-decoration:none;
  touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
.trag{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,var(--magenta),oklch(0.66 0.2 358));
  transform-origin:0 50%;transform:translateX(calc(var(--x) - 100% + 64px))}
.natpis{position:absolute;inset:0;display:grid;place-items:center;padding-left:56px;font-family:var(--display);font-weight:600;font-size:16px;color:var(--white);
  letter-spacing:.005em;pointer-events:none;transition:opacity 160ms ease}
.dugme{position:absolute;top:6px;left:6px;width:52px;height:52px;border-radius:50%;border:0;padding:0;background:var(--white);display:grid;place-items:center;
  cursor:grab;transform:translateX(var(--x));box-shadow:0 6px 16px -6px oklch(0.2 0.08 355 / .55);touch-action:none}
.dugme img{width:24px;height:auto;pointer-events:none}
.dugme:active{cursor:grabbing}
.klizac.vuce .dugme,.klizac.vuce .trag{transition:none}
.klizac.saljem .natpis{opacity:.7}
.klizac.saljem .dugme img{animation:puls 900ms ease-in-out infinite}
@keyframes puls{50%{opacity:.35;scale:.85}}
@media (hover:hover) and (pointer:fine){ .dugme:hover{scale:1.04} }

/* uspeh */
.ok{display:grid;gap:6px;padding:20px;border-radius:28px;background:var(--white);text-align:center;box-shadow:0 18px 40px -24px oklch(0.45 0.16 358 / .55)}
.ok:focus{outline:none}
.ok strong{font-family:var(--display);font-weight:800;font-size:30px;line-height:1;letter-spacing:-.03em;color:var(--mag-ink)}
.ok p{color:var(--ink-2);font-size:15px}
.ok .deli{margin-top:8px;display:grid;gap:8px}
.btn{font:inherit;font-family:var(--display);font-weight:700;font-size:16px;border:0;border-radius:999px;min-height:50px;padding:0 22px;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:var(--track);color:var(--white);
  transition:transform 160ms var(--ease-out);-webkit-tap-highlight-color:transparent}
.btn:active{transform:scale(.97)}
.btn-tiho{background:oklch(0.94 0.032 350);color:var(--ink)}
.deli-linkovi{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.deli-linkovi[hidden]{display:none}

.futer{margin-top:12px;font-size:11.5px;color:var(--ink-2);opacity:.7}

/* ulaz: plakat se složi odozgo; zamena mozaika ide kroz zamućenje */
/* čist CSS: stranica se pojavi i ako skripta ne stigne; JS samo upisuje redosled (--d) */
[data-in]{animation:ulaz 700ms var(--ease-out) both;animation-delay:calc(var(--d,0) * 70ms)}
@keyframes ulaz{from{opacity:0;transform:translateY(14px);filter:blur(6px)}}

/* širi ekrani: isti plakat, malo veći */
@media (min-width:760px){
  .poster{max-width:600px;padding-top:28px}
  .logo img{height:24px}
  .oznaka{font-size:11px}
  .slike{max-height:min(48svh,520px)}
}
/* desktop: levo veliki PIKS, desno tajmer, naslov i prijava */
@media (min-width:1000px) and (min-aspect-ratio:5/4){
  .poster,.otkriveno .poster{max-width:1240px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);column-gap:clamp(32px,5vw,80px);
    grid-template-rows:1fr auto auto auto 1fr auto;
    grid-template-areas:"proizvod ." "proizvod vrh" "proizvod tajmer" "proizvod dole" "proizvod ." "futer futer";align-items:center}
  .otkriveno .poster{grid-template-rows:1fr auto auto 1fr auto;grid-template-areas:"proizvod ." "proizvod vrh" "proizvod dole" "proizvod ." "futer futer"}
  .vrh{grid-area:vrh;margin-bottom:28px}
  .tajmer{grid-area:tajmer;margin:0 0 28px}
  .proizvod{grid-area:proizvod;align-self:center}
  .slike{height:min(74svh,720px);max-height:none}
  .dole{grid-area:dole;align-self:start;margin:0}
  .futer{grid-area:futer}
  .cifre b{font-size:clamp(28px,2.6vw,40px)}
  h1{font-size:clamp(40px,3.6vw,56px)}
  .lead,.stihovi{font-size:18px}
}
@media (max-height:700px){
  .slike{max-height:38svh}
}

@media (prefers-reduced-motion:reduce){
  [data-in]{animation:ulaz-tiho 300ms ease both}
  .klizac.saljem .dugme img{animation:none}
  .btn:active{transform:none}
}
@keyframes ulaz-tiho{from{opacity:0}}
@media (prefers-contrast:more){
  :root{--ink-2:oklch(0.32 0.08 355);--mag-ink:oklch(0.42 0.19 358)}
}
