/* Tukalos website: "After Hours, playful" (October 2026).
   Light by day, the night look after local sunset (set early in each page's <head>).
   Amber = I need. Blue = I have. Fredoka for headlines and buttons, Manrope for reading.
   Layout: one centred column (max 1160px), generous air, one glowing idea per screen. */
:root{
  --bg:#F5F6FA; --surface:#FFFFFF; --surface-2:#EEF1F7; --sunken:#E7EBF2; --glass:rgba(245,246,250,.86);
  --line:#E1E4EC; --line-2:#D3D8E3; --field:#C3CAD8;
  --ink:#0B1020; --ink-2:#2A3349; --muted:#5B6576; --muted-2:#626B7C;
  --amber:#F29A12; --amber-deep:#D9820A; --amber-soft:#FFF1DB; --amber-line:#F6D49B; --amber-text:#8A5300; --amber-head:#B86400;
  --blue:#3A6BEA; --blue-btn:#2F5BD3; --on-blue:#FFFFFF; --blue-soft:#E4ECFF; --blue-line:#B9CBF7; --blue-text:#1F3F9E; --blue-head:#1F3F9E;
  --ok:#1B9E5A; --ok-text:#11603F; --ok-soft:#E3F4EC; --danger:#9B1C1C; --danger-soft:#FDE8E8;
  --shadow:0 18px 40px -26px rgba(11,16,32,.45); --glow-amber:0 12px 36px -12px rgba(242,154,18,.7); --glow-blue:0 12px 36px -12px rgba(58,107,234,.6);
  --logo-tile:#0B1020; --logo-circle:#F3F5FB; --logo-ring:#FFB23F; --logo-dot:#6C95FF;
  --h-sky1:#DCE6FA; --h-sky2:#F5F6FA; --h-b1:#E3E8F2; --h-b2:#D6DDEA; --h-b3:#CAD3E3; --h-edge:#B9C3D6; --h-off:#C3CCDC; --h-lit:#FFD58A; --h-road:#C9D0DD; --h-arc:#0B1020;
  --display:"Fredoka", ui-rounded, "Arial Rounded MT Bold", system-ui, sans-serif;
  --body:"Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --wrap:1160px; --gutter:20px;
  color-scheme:light;
}
[data-theme=dark]{
  --bg:#0B1020; --surface:#151C30; --surface-2:#1B2440; --sunken:#10172A; --glass:rgba(11,16,32,.84);
  --line:#26304A; --line-2:#2E3854; --field:#3A4562;
  --ink:#F3F5FB; --ink-2:#D4DAEA; --muted:#A3ADC6; --muted-2:#8A95B2;
  --amber:#FFB23F; --amber-deep:#F29A12; --amber-soft:#2A1E0C; --amber-line:#5A3E12; --amber-text:#FFD9A0; --amber-head:#FFB23F;
  --blue:#6C95FF; --blue-btn:#6C95FF; --on-blue:#0B1020; --blue-soft:#121D3D; --blue-line:#2B427F; --blue-text:#C6D4FF; --blue-head:#8FB0FF;
  --ok:#5BD08F; --ok-text:#8FE3B4; --ok-soft:#10291F; --danger:#FF9B9B; --danger-soft:#3A1414;
  --shadow:0 20px 44px -24px rgba(0,0,0,.8); --glow-amber:0 0 42px -8px rgba(255,178,63,.75); --glow-blue:0 0 42px -8px rgba(108,149,255,.75);
  --logo-tile:#1B2440;
  --h-sky1:#0B1020; --h-sky2:#18213B; --h-b1:#151C30; --h-b2:#1B2440; --h-b3:#20294A; --h-edge:#2A3554; --h-off:#26304A; --h-road:#10172A; --h-arc:#F3F5FB;
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--body);-webkit-font-smoothing:antialiased;transition:background-color .4s,color .4s}
[hidden]{display:none!important}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.1;margin:0;text-wrap:balance;letter-spacing:-.005em}
p{margin:0}
a{color:var(--blue-text)}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:6px}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:12px;text-decoration:none;font-weight:700}
.skip:focus{top:12px}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding-inline:var(--gutter)}
.amber{color:var(--amber-head)}
.blue{color:var(--blue-head)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.lead{font-size:19px;line-height:1.55;color:var(--muted);max-width:60ch}
.muted{color:var(--muted)}
.todo{background:#FFF1DB;color:#8A5300;border-radius:4px;padding:0 4px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 26px;border-radius:16px;border:1.5px solid transparent;font:500 18px/1.1 var(--display);text-decoration:none;cursor:pointer;white-space:nowrap;transition:transform .15s cubic-bezier(.3,1.5,.5,1),background-color .2s,box-shadow .2s,border-color .2s}
.btn:active{transform:scale(.97)}
.btn-amber{background:var(--amber);color:#0B1020;box-shadow:var(--glow-amber)}
.btn-amber:hover{background:var(--amber-deep)}
.btn-blue{background:var(--blue-btn);color:var(--on-blue);box-shadow:var(--glow-blue)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn-ghost:hover{border-color:var(--ink)}
.btn-ink{background:var(--ink);color:var(--bg)}
.btn-sm{min-height:46px;padding:0 18px;font-size:16px}
.btn svg{flex:none}

/* header */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .2s}
.site-header.scrolled{border-bottom-color:var(--line)}
.hdr{display:flex;align-items:center;gap:24px;min-height:76px}
.brand{display:inline-flex;align-items:center;gap:10px;font:500 26px/1 var(--display);color:var(--ink);text-decoration:none}
.brand svg{width:40px;height:40px}
.nav{display:flex;gap:6px;margin-left:auto}
.nav a{padding:10px 14px;border-radius:12px;color:var(--muted);font-weight:700;font-size:15.5px;text-decoration:none}
.nav a:hover{color:var(--ink);background:var(--surface-2)}
.nav a[aria-current=page]{color:var(--ink)}
.nav a[aria-current=page]::after{content:"";display:block;width:6px;height:6px;margin:3px auto -9px;border-radius:50%;background:var(--amber);box-shadow:0 0 10px var(--amber)}
.hdr .open-app{margin-left:6px}
.menu-btn{display:none;margin-left:auto;width:48px;height:48px;border-radius:14px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);cursor:pointer;place-items:center}
.menu-panel{display:none}
@media (max-width:980px){
  .nav,.hdr .open-app{display:none}
  .menu-btn{display:grid}
  .menu-panel{display:block;position:fixed;inset:76px 0 auto 0;z-index:29;background:var(--bg);border-bottom:1px solid var(--line);padding:12px var(--gutter) 24px;box-shadow:var(--shadow);transform:translateY(-12px);opacity:0;visibility:hidden;transition:transform .25s cubic-bezier(.2,.8,.3,1),opacity .2s,visibility 0s linear .25s}
  .menu-panel.open{transform:none;opacity:1;visibility:visible;transition:transform .25s cubic-bezier(.2,.8,.3,1),opacity .2s}
  .menu-panel nav{display:flex;flex-direction:column}
  .menu-panel nav a{padding:14px 4px;border-bottom:1px solid var(--line);color:var(--ink);font:500 22px var(--display);text-decoration:none}
  .menu-panel nav a[aria-current=page]{color:var(--amber-head)}
  .menu-panel .btn{width:100%;margin-top:18px}
}

/* hero (home) */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,540px);gap:48px;align-items:center;padding-block:64px 72px}
.hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.tag{display:inline-flex;align-items:center;gap:10px;padding:8px 15px;border-radius:999px;border:1px solid var(--line-2);background:var(--surface);font-size:14.5px;font-weight:700}
.pulse{position:relative;width:9px;height:9px;border-radius:50%;background:var(--amber)}
.pulse::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--amber);animation:pulse 1.8s ease-out infinite}
@keyframes pulse{from{transform:scale(.5);opacity:1}to{transform:scale(1.6);opacity:0}}
.hero h1{font-size:56px;line-height:1.06}
.hero .lead{font-size:19px;max-width:30em}
.hero-btns{display:flex;flex-wrap:wrap;gap:12px}
.hero-art{position:relative}
.hood{display:block;width:100%;height:auto;border-radius:30px}
@media (max-width:900px){
  .hero{grid-template-columns:1fr;gap:32px;padding-block:36px 48px}
  .hero h1{font-size:40px}
}
@media (max-width:480px){
  :root{--gutter:16px}
  .hero h1{font-size:36px}
  .hero-btns{width:100%;flex-direction:column}
  .hero-btns .btn{width:100%}
}

/* neighbourhood scene */
.hood .h-sky1{stop-color:var(--h-sky1)}.hood .h-sky2{stop-color:var(--h-sky2)}
.hood .h-b1{fill:var(--h-b1)}.hood .h-b2{fill:var(--h-b2)}.hood .h-b3{fill:var(--h-b3)}
.hood .h-edge{stroke:var(--h-edge)}.hood .h-off{fill:var(--h-off)}.hood .h-lit{fill:var(--h-lit)}
.hood .h-road{fill:var(--h-road)}.hood .h-pole{fill:var(--h-edge)}
.hood .h-star,.hood .h-moon{fill:#F3F5FB}.hood .h-moon-cut{fill:var(--h-sky2)}
.hood .h-sun{fill:#FFD58A;opacity:.9}
[data-theme=dark] .hood .h-sun{display:none}
:root:not([data-theme=dark]) .hood .h-night{display:none}
.hood .h-arc{stroke:var(--h-arc);stroke-opacity:.5;stroke-dasharray:5 9;animation:h-flow 1.4s linear infinite}
.hood .h-ring{transform-box:fill-box;transform-origin:center;opacity:0;animation:h-ring 3.6s ease-out infinite}
.hood .d2{animation-delay:1.2s}.hood .d3{animation-delay:2.4s}
.hood .tw{animation:h-tw 5s ease-in-out infinite}
.hood .tw.d2{animation-delay:1.7s}.hood .tw.d3{animation-delay:3.1s}
@keyframes h-ring{0%{transform:scale(.15);opacity:.95}100%{transform:scale(1);opacity:0}}
@keyframes h-tw{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes h-flow{to{stroke-dashoffset:-28}}

/* waitlist */
.waitlist{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:32px;align-items:end;padding:36px;border-radius:30px;background:var(--surface);border:1px solid var(--line)}
.waitlist h2{font-size:32px}
.waitlist .wl-text{display:flex;flex-direction:column;gap:8px}
.wl-form{display:flex;flex-direction:column;gap:12px}
.wl-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:end}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label{font-size:14px;font-weight:700;color:var(--muted)}
.input{width:100%;min-height:54px;padding:0 16px;border-radius:14px;border:1.5px solid var(--field);background:var(--bg);color:var(--ink);font:500 16.5px var(--body)}
.input::placeholder{color:var(--muted-2)}
.input:focus{outline:3px solid var(--blue-soft);border-color:var(--blue)}
.input[aria-invalid=true]{border-color:var(--danger)}
.err{font-size:14px;font-weight:600;color:var(--danger)}
.form-notice{border-radius:14px;padding:11px 14px;font-size:15px;font-weight:600}
.form-notice.error{background:var(--danger-soft);color:var(--danger)}
.form-notice.info{background:var(--amber-soft);color:var(--amber-text)}
.wl-fine{font-size:13.5px;color:var(--muted)}
.wl-done{display:flex;align-items:center;gap:14px}
.wl-done .check{flex:none;width:52px;height:52px;border-radius:50%;background:var(--blue);color:var(--on-blue);display:grid;place-items:center;box-shadow:var(--glow-blue)}
.hp{position:absolute;left:-9999px}
@media (max-width:900px){.waitlist{grid-template-columns:1fr;padding:26px}.wl-row{grid-template-columns:1fr}.wl-row .btn{width:100%}}

/* footer */
.site-footer{margin-top:80px;border-top:1px solid var(--line);padding-block:40px 48px}
.ft{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:32px}
.ft .brand{font-size:24px}
.ft .brand svg{width:34px;height:34px}
.ft-tag{margin-top:12px;color:var(--muted);max-width:28ch}
.ft nav{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;align-content:start}
.ft nav a,.ft-legal a{color:var(--muted);text-decoration:none;font-weight:600}
.ft nav a:hover,.ft-legal a:hover{color:var(--ink)}
.ft-contact{display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:15px}
.ft-contact .mail{color:var(--ink);font-weight:700;text-decoration:none;font-size:16px}
.ft-legal{display:flex;gap:6px 14px;flex-wrap:wrap}
@media (max-width:800px){.ft{grid-template-columns:1fr}}

/* inner pages */
.page-hero{padding-block:56px 32px;display:flex;flex-direction:column;gap:16px}
.page-hero h1{font-size:52px;max-width:18ch}
@media (max-width:700px){.page-hero{padding-block:36px 20px}.page-hero h1{font-size:38px}}
.section{padding-block:40px}
.section-head{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}
.section-head h2{font-size:36px}
@media (max-width:700px){.section-head h2{font-size:29px}}
.cta-band{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:32px 36px;border-radius:30px;background:var(--surface);border:1px solid var(--line)}
.cta-band h2{font-size:30px}

/* commercial */
.player{position:relative;border-radius:30px;overflow:hidden;background:#0B1020;color:#F3F5FB;border:1px solid #26304A;box-shadow:var(--shadow);aspect-ratio:600/420;max-width:100%}
.player svg.scene{position:absolute;inset:0;width:100%;height:100%;display:block}
.cm-cap{position:absolute;left:50%;bottom:72px;transform:translateX(-50%);max-width:calc(100% - 32px);padding:10px 18px;border-radius:999px;background:rgba(11,16,32,.82);border:1px solid #2E3854;font:500 clamp(15px,2.2vw,21px)/1.3 var(--display);text-align:center;transition:opacity .35s}
.cm-cap:empty{opacity:0}
.cm-phone{position:absolute;right:6%;top:10%;width:min(34%,230px);aspect-ratio:9/17;border-radius:26px;background:#151C30;border:2px solid #2E3854;padding:16px 14px;display:flex;flex-direction:column;justify-content:center;gap:10px;opacity:0;transform:translateY(16px) scale(.96);transition:opacity .45s,transform .45s cubic-bezier(.2,.8,.3,1)}
.cm-phone.on{opacity:1;transform:none}
.cm-phone small{font-size:clamp(10px,1.4vw,13px);color:#A3ADC6}
.cm-phone .q{padding:8px 10px;border-radius:10px;border:1.5px solid #FFB23F;font-weight:700;font-size:clamp(11px,1.6vw,15px)}
.cm-phone .go{padding:9px 10px;border-radius:12px;background:#FFB23F;color:#0B1020;font:500 clamp(11px,1.6vw,15px) var(--display);text-align:center}
.cm-phone.tap .go{animation:tap .5s ease 1}
@keyframes tap{40%{transform:scale(.93);box-shadow:0 0 30px #FFB23F}100%{transform:none;box-shadow:0 0 22px rgba(255,178,63,.7)}}
.cm-moment{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:rgba(11,16,32,.9);opacity:0;visibility:hidden;transition:opacity .4s,visibility 0s linear .4s}
.cm-moment.on{opacity:1;visibility:visible;transition:opacity .4s}
.cm-join{position:relative;width:180px;height:100px}
.cm-join i{position:absolute;left:54px;top:14px;width:72px;height:72px;border-radius:50%}
.cm-join .n{background:#FFB23F;box-shadow:0 0 40px -4px rgba(255,178,63,.9);transform:translateX(-70px);transition:transform .9s cubic-bezier(.5,0,.2,1.25)}
.cm-join .h{background:#6C95FF;box-shadow:0 0 34px -4px rgba(108,149,255,.9);transform:translateX(70px);transition:transform .9s cubic-bezier(.5,0,.2,1.25)}
.cm-moment.on .cm-join .n{transform:none}
.cm-moment.on .cm-join .h{transform:scale(.63)}
.cm-moment b{font:500 clamp(20px,3.4vw,32px) var(--display)}
.cm-end{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:20px;text-align:center;background:radial-gradient(circle at 50% 42%,rgba(255,178,63,.18),transparent 55%),#0B1020;opacity:0;visibility:hidden;transition:opacity .5s,visibility 0s linear .5s}
.cm-end.on{opacity:1;visibility:visible;transition:opacity .5s}
.cm-end svg{width:54px;height:54px}
.cm-end p{font:500 clamp(22px,3.8vw,38px)/1.15 var(--display)}
.cm-end p span{color:#FFB23F}
.cm-end .btns{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.cm-end .btn-ghost{color:#F3F5FB;border-color:#2E3854}
.cm-bar{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:10px;padding:12px 14px;background:linear-gradient(transparent,rgba(11,16,32,.85))}
.cm-btn{flex:none;width:44px;height:44px;border-radius:14px;border:1px solid #2E3854;background:rgba(21,28,48,.9);color:#F3F5FB;display:grid;place-items:center;cursor:pointer}
.cm-btn:hover{border-color:#F3F5FB}
.cm-track{flex:1;height:4px;border-radius:2px;background:#2E3854;overflow:hidden}
.cm-track i{display:block;height:100%;width:0;background:#FFB23F;box-shadow:0 0 10px #FFB23F}
.cm-start{position:absolute;inset:0;display:grid;place-items:center;background:rgba(11,16,32,.35);border:0;cursor:pointer;color:#F3F5FB}
.cm-start span{display:inline-flex;align-items:center;gap:12px;padding:16px 26px;border-radius:999px;background:#FFB23F;color:#0B1020;font:500 20px var(--display);box-shadow:0 0 42px -8px rgba(255,178,63,.8)}
.player.playing .cm-start,.player.started .cm-start{display:none}
.player.paused-anim *{animation-play-state:paused!important}
@media (max-width:600px){.cm-cap{bottom:66px;border-radius:16px}.cm-phone{top:6%;right:4%;padding:10px 9px;border-radius:18px;gap:6px}}

/* story modal (home) */
.story-modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(5,8,18,.88);opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s linear .3s}
.story-modal.open{opacity:1;visibility:visible;transition:opacity .3s}
.story-modal .player{width:min(100%,1040px)}
.story-close{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));right:14px;width:48px;height:48px;border-radius:16px;border:1px solid #2E3854;background:#151C30;color:#F3F5FB;display:grid;place-items:center;cursor:pointer;z-index:2}

/* how it works: steps + switch */
.switch{display:inline-grid;grid-template-columns:1fr 1fr;padding:5px;gap:5px;border-radius:18px;background:var(--sunken)}
.switch button{min-height:50px;padding:0 24px;border:0;border-radius:14px;background:transparent;color:var(--muted);font:500 18px var(--display);cursor:pointer;display:inline-flex;align-items:center;gap:9px;transition:background-color .2s,color .2s,box-shadow .2s}
.switch button i{width:10px;height:10px;border-radius:50%}
.switch .sw-need i{background:var(--amber)}.switch .sw-have i{background:var(--blue)}
.switch .sw-need[aria-selected=true]{background:var(--amber);color:#0B1020;box-shadow:var(--glow-amber)}
.switch .sw-need[aria-selected=true] i{background:#0B1020}
.switch .sw-have[aria-selected=true]{background:var(--blue-btn);color:var(--on-blue);box-shadow:var(--glow-blue)}
.switch .sw-have[aria-selected=true] i{background:var(--on-blue)}
.steps{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;counter-reset:step}
.step{position:relative;display:flex;flex-direction:column;gap:12px;padding:26px 24px 28px;border-radius:26px;background:var(--surface);border:1px solid var(--line);animation:rise .45s cubic-bezier(.2,.8,.3,1) both}
.step:nth-child(2){animation-delay:.06s}.step:nth-child(3){animation-delay:.12s}
.step .num{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font:500 20px var(--display)}
.need-side .step .num{background:var(--amber-soft);color:var(--amber-text);box-shadow:inset 0 0 0 1.5px var(--amber-line)}
.have-side .step .num{background:var(--blue-soft);color:var(--blue-head);box-shadow:inset 0 0 0 1.5px var(--blue-line)}
.step h3{font-size:26px}
.step p{color:var(--muted)}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (max-width:800px){.steps{grid-template-columns:1fr}.switch{display:grid;width:100%}.switch button{justify-content:center;padding:0 10px}}
.examples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ex{display:flex;flex-direction:column;gap:10px;padding:20px;border-radius:24px;background:var(--surface);border:1px solid var(--line);transition:transform .2s cubic-bezier(.3,1.4,.5,1),box-shadow .2s}
.ex:hover{transform:translateY(-3px)}
.ex.need:hover{box-shadow:var(--glow-amber)}.ex.have:hover{box-shadow:var(--glow-blue)}
.ex .kind{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:800;align-self:flex-start;border-radius:999px;padding:4px 12px 4px 9px}
.ex .kind::before{content:"";width:9px;height:9px;border-radius:50%}
.ex.need .kind{background:var(--amber-soft);color:var(--amber-text)}.ex.need .kind::before{background:var(--amber);box-shadow:0 0 10px var(--amber)}
.ex.have .kind{background:var(--blue-soft);color:var(--blue-text)}.ex.have .kind::before{background:var(--blue);box-shadow:0 0 10px var(--blue)}
.ex b{font:500 22px/1.2 var(--display)}
.ex p{color:var(--muted);font-size:15.5px}
.ex .meta{margin-top:auto;font-size:14px;font-weight:700;color:var(--ink-2)}
@media (max-width:900px){.examples{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.examples{grid-template-columns:1fr}}

/* safety */
.pp-flow{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:30px;border-radius:30px;background:var(--surface);border:1px solid var(--blue-line);box-shadow:var(--glow-blue)}
.pp-flow .line{position:absolute;left:calc(30px + 16.66% - 8px);right:calc(30px + 16.66% - 8px);top:62px;height:4px;border-radius:2px;background:var(--line-2);overflow:hidden}
.pp-flow .line i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--amber),var(--blue));transform-origin:left;animation:fill-line 6s cubic-bezier(.6,0,.3,1) infinite}
@keyframes fill-line{0%{transform:scaleX(0)}45%,85%{transform:scaleX(1)}100%{transform:scaleX(1);opacity:0}}
.pp-step{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}
.pp-node{width:68px;height:68px;border-radius:22px;display:grid;place-items:center;background:var(--surface-2);border:1.5px solid var(--line-2);color:var(--ink);z-index:1}
.pp-step:nth-child(2) .pp-node{background:var(--amber-soft);border-color:var(--amber-line);color:var(--amber-head)}
.pp-step:nth-child(3) .pp-node{background:var(--blue-soft);border-color:var(--blue-line);color:var(--blue-head)}
.pp-step:nth-child(4) .pp-node{background:var(--ok-soft);border-color:var(--ok);color:var(--ok-text)}
.pp-step b{font:500 21px var(--display)}
.pp-step p{color:var(--muted);font-size:15px;max-width:26ch}
@media (max-width:760px){.pp-flow{grid-template-columns:1fr;padding:24px}.pp-flow .line{display:none}.pp-step{flex-direction:row;text-align:left;align-items:flex-start}.pp-step > div{display:flex;flex-direction:column;gap:4px}}
.fee-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:center;padding:30px;border-radius:30px;background:var(--surface);border:1px solid var(--line)}
.receipt{font-variant-numeric:tabular-nums;border-radius:20px;background:var(--bg);border:1px solid var(--line);padding:6px 18px}
.receipt div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.receipt div:first-child{border-top:0}
.receipt dt{color:var(--muted)}.receipt dd{margin:0;font-weight:700}
.receipt .total dt,.receipt .total dd{color:var(--ink);font-weight:800;font-size:19px}
.fee-big{font:500 34px/1.15 var(--display)}
@media (max-width:760px){.fee-card{grid-template-columns:1fr;padding:24px}.fee-big{font-size:27px}}
.promises{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.promise{display:flex;flex-direction:column;gap:10px;padding:22px;border-radius:24px;background:var(--surface);border:1px solid var(--line)}
.promise .ic{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:var(--surface-2);color:var(--ink)}
.promise:nth-child(odd) .ic{background:var(--amber-soft);color:var(--amber-head)}
.promise:nth-child(even) .ic{background:var(--blue-soft);color:var(--blue-head)}
.promise b{font:500 21px/1.2 var(--display)}
.promise p{color:var(--muted);font-size:15.5px}
@media (max-width:980px){.promises{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.promises{grid-template-columns:1fr}}
.note{padding:16px 18px;border-radius:18px;background:var(--amber-soft);color:var(--amber-text);font-weight:600;font-size:15.5px}

/* shops */
.shop-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:40px;align-items:center}
.ping-card{position:relative;padding:22px;border-radius:28px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px}
.ping-card .top{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;color:var(--muted)}
.ping-card .top i{width:10px;height:10px;border-radius:50%;background:var(--amber);box-shadow:0 0 12px var(--amber);animation:blink 1.6s ease-in-out infinite}
@keyframes blink{50%{opacity:.35}}
.ping-card b{font:500 26px/1.2 var(--display)}
.ping-card .row{display:flex;gap:8px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:13.5px;font-weight:700;background:var(--surface-2);color:var(--ink-2)}
.chip.now{background:var(--amber);color:#0B1020}
.chip.ok{background:var(--ok-soft);color:var(--ok-text)}
.ping-card .btn{width:100%}
@media (max-width:900px){.shop-hero{grid-template-columns:1fr}}
.cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:860px){.cols3{grid-template-columns:1fr}}
.founding{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px;align-items:center;padding:34px;border-radius:30px;background:radial-gradient(circle at 90% 0%,color-mix(in srgb,var(--amber) 22%,transparent),transparent 55%),var(--surface);border:1.5px solid var(--amber-line)}
.founding h2{font-size:34px}
.founding .act{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
@media (max-width:860px){.founding{grid-template-columns:1fr;padding:26px}.founding .act .btn{width:100%}}

/* help */
.faq-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.faq{padding:8px 22px;border-radius:26px;background:var(--surface);border:1px solid var(--line)}
.faq h2{display:flex;align-items:center;gap:10px;font-size:23px;padding:16px 0 6px}
.faq h2 i{width:10px;height:10px;border-radius:50%;background:var(--amber);box-shadow:0 0 10px var(--amber)}
.faq:nth-child(even) h2 i{background:var(--blue);box-shadow:0 0 10px var(--blue)}
.faq details{border-top:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 0;cursor:pointer;list-style:none;font-weight:700;font-size:16.5px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:28px;height:28px;border-radius:50%;background:var(--surface-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237A8396' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center no-repeat;transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 16px;color:var(--muted);max-width:60ch}
.faq details p + p{margin-top:-6px}
@media (max-width:860px){.faq-groups{grid-template-columns:1fr}}
.contact-card{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:26px 30px;border-radius:26px;background:var(--surface);border:1px solid var(--line)}
.contact-card .mail{font:500 24px var(--display);color:var(--ink);word-break:break-all}

/* about */
.about{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:48px;align-items:start}
.portrait{position:relative;aspect-ratio:4/5;border-radius:32px;overflow:hidden;background:radial-gradient(circle at 30% 30%,color-mix(in srgb,var(--amber) 40%,transparent),transparent 60%),radial-gradient(circle at 75% 75%,color-mix(in srgb,var(--blue) 40%,transparent),transparent 60%),var(--surface);border:1px solid var(--line);display:grid;place-items:center}
.portrait img{width:100%;height:100%;object-fit:cover}
.portrait .ph{display:flex;flex-direction:column;align-items:center;gap:14px;color:var(--muted);font-size:14px;font-weight:700}
.portrait .ph span{display:block;position:relative;width:150px;height:96px}
.portrait .ph i{position:absolute;left:39px;top:12px;width:72px;height:72px;border-radius:50%}
.portrait .ph .n{background:var(--amber);box-shadow:var(--glow-amber);transform:translateX(-26px)}
.portrait .ph .h{background:var(--blue);box-shadow:var(--glow-blue);transform:translateX(26px) scale(.63)}
.story{display:flex;flex-direction:column;gap:18px;font-size:19px;line-height:1.65;max-width:60ch}
.story p{color:var(--ink-2)}
.story .sig{font:500 22px var(--display);color:var(--amber-text)}
.values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:860px){.about{grid-template-columns:1fr}.portrait{max-width:360px}.values{grid-template-columns:1fr}}

/* legal pages */
.doc{max-width:780px;padding-block:48px 40px}
.doc h1{font-size:46px;margin-top:10px}
.doc h2{font-size:25px;margin-top:40px}
.doc h3{font-size:19px;margin-top:24px}
.doc p,.doc li{color:var(--ink-2);margin-top:10px;line-height:1.65}
.doc ul{padding-left:22px;margin:10px 0 0}
.doc li ul{margin-top:4px}
.doc strong{color:var(--ink)}
.doc hr{border:0;border-top:1px solid var(--line);margin:32px 0 0}
.doc .tbl{overflow-x:auto;margin-top:14px}
.doc table{border-collapse:collapse;width:100%;min-width:520px;font-size:15px}
.doc th,.doc td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--line);color:var(--ink-2)}
.doc th{color:var(--ink);font-weight:700;background:var(--surface)}

/* opening: the two circles glide together, about 2 seconds, once per visit */
.tk-intro{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;background:var(--bg);transition:opacity .45s ease,visibility 0s linear .45s}
.tk-intro.out{opacity:0;visibility:hidden;pointer-events:none}
.tk-intro .ti{display:flex;flex-direction:column;align-items:center;gap:18px}
.tk-intro .ti-join{position:relative;width:150px;height:96px}
.tk-intro .ti-a,.tk-intro .ti-b{position:absolute;left:43px;top:16px;width:64px;height:64px;border-radius:50%}
.tk-intro .ti-a{background:#FFB23F;box-shadow:0 0 40px -6px rgba(255,178,63,.85);animation:ti-a .8s cubic-bezier(.5,0,.2,1.25) .1s both}
.tk-intro .ti-b{background:#6C95FF;box-shadow:0 0 34px -6px rgba(108,149,255,.85);animation:ti-b .8s cubic-bezier(.5,0,.2,1.25) .1s both}
.tk-intro .ti-word{font:500 38px/1 var(--display);color:var(--ink);animation:ti-word .45s ease .75s both}
@keyframes ti-a{from{transform:translateX(-60px);opacity:0}to{transform:none;opacity:1}}
@keyframes ti-b{from{transform:translateX(60px);opacity:0}to{transform:scale(.63);opacity:1}}
@keyframes ti-word{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .hood .h-ring,.pulse::after{display:none}
  .tk-intro .ti-b{transform:scale(.63)}
}
.player .tw{animation:h-tw 5s ease-in-out infinite}
.player .tw.d2{animation-delay:1.7s}.player .tw.d3{animation-delay:3.1s}
.player .cm-bat{animation:blink 1s steps(2) infinite}
@media (max-width:420px){.btn{white-space:normal;text-align:center;padding:0 18px}}

/* "What can you Tukalos?": wishes drift in and fade out around the question */
.cloud{position:relative;height:460px;border-radius:30px;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--amber) 10%,transparent),transparent 60%),var(--surface);border:1px solid var(--line);overflow:hidden}
.cloud-center{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:0 24px;z-index:2;pointer-events:none}
.cloud-center > div{display:flex;flex-direction:column;gap:10px;align-items:center;padding:28px 36px;border-radius:999px;background:radial-gradient(closest-side,var(--surface) 70%,transparent)}
.cloud-center h2{font-size:40px}
.cloud-wishes{position:absolute;inset:0}
.wish{position:absolute;display:inline-flex;align-items:center;gap:8px;max-width:calc(100% - 24px);padding:8px 15px 8px 12px;border-radius:999px;background:var(--bg);border:1px solid var(--amber-line);color:var(--ink);font-weight:700;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transform:translate(-50%,-50%);box-shadow:0 10px 24px -18px rgba(11,16,32,.5)}
.wish::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 10px var(--amber)}
.wish.live{opacity:0;animation:wish 6.5s ease-in-out forwards}
@keyframes wish{0%{opacity:0;transform:translate(-50%,-50%) translateY(14px) scale(.94)}14%{opacity:1;transform:translate(-50%,-50%) scale(1)}78%{opacity:1;transform:translate(-50%,-50%) translateY(-8px)}100%{opacity:0;transform:translate(-50%,-50%) translateY(-20px) scale(.98)}}
.ideas{margin-top:14px;border-radius:22px;background:var(--surface);border:1px solid var(--line);padding:0 20px}
.ideas summary{cursor:pointer;padding:16px 0;font:500 18px var(--display);list-style:none;display:flex;align-items:center;gap:10px}
.ideas summary::-webkit-details-marker{display:none}
.ideas summary::before{content:"+";display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--amber-soft);color:var(--amber-text);font:700 18px/1 var(--body);transition:transform .25s}
.ideas[open] summary::before{transform:rotate(45deg)}
.ideas ul{list-style:none;margin:0;padding:0 0 20px;display:flex;flex-wrap:wrap;gap:8px}
.ideas li{padding:6px 12px;border-radius:999px;background:var(--surface-2);font-size:14.5px;font-weight:600;color:var(--ink-2)}
@media (max-width:700px){
  .cloud{height:500px}
  .cloud-center h2{font-size:30px}
  .cloud-center > div{padding:20px 12px}
  .wish{font-size:13.5px;padding:7px 12px 7px 10px}
}
@media (prefers-reduced-motion:reduce){.wish.live{animation:none;opacity:1}}
