/* niko.ee public page. Themes switch with data-theme on <html>; designs with data-design. */
:root,
html[data-theme="ink"]{
  /* Ink: near-black with a faint blue cast, orange accent */
  --bg:#0c0f13; --glow:#161c26; --surface:#12161c; --line:#252b34; --fg:#edf0f3; --muted:#8f97a3;
  --accent:#ff8a3d; --accent-glow:rgba(255,138,61,.55); --on-accent:#1a0d04; --dot:#ff8a3d;
  --foil:linear-gradient(110deg,#ff7a2a 0%,#ff8a3d 40%,#ffb27a 50%,#ff8a3d 60%,#ff7a2a 100%);
  --card-a:#1a2029; --card-b:#0f1217; --card-edge:rgba(255,138,61,.22); --shine:rgba(220,230,245,.13);
  color-scheme:dark;
}
html[data-theme="mono"]{
  /* Monochrome: black and white, orange only in the small dot */
  --bg:#0b0b0c; --glow:#18181a; --surface:#141416; --line:#2a2a2d; --fg:#f2f2f0; --muted:#8e8e92;
  --accent:#e9e9e6; --accent-glow:rgba(255,138,61,.6); --on-accent:#0b0b0c; --dot:#ff8a3d;
  --foil:linear-gradient(110deg,#b9b9b9 0%,#f4f4f2 40%,#ffffff 50%,#d6d6d4 60%,#a7a7a7 100%);
  --card-a:#1b1b1d; --card-b:#0f0f10; --card-edge:rgba(255,255,255,.12); --shine:rgba(255,255,255,.16);
}
html[data-theme="pine"]{
  /* Pine: very dark green with brass */
  --bg:#0b1110; --glow:#14201c; --surface:#111916; --line:#22302b; --fg:#eef1ec; --muted:#8fa096;
  --accent:#d9b878; --accent-glow:rgba(217,184,120,.5); --on-accent:#16120a; --dot:#d9b878;
  --foil:linear-gradient(110deg,#b39258 0%,#d9b878 30%,#f3e2b8 46%,#cfae6e 62%,#a98a52 100%);
  --card-a:#16211d; --card-b:#0c1311; --card-edge:rgba(217,184,120,.22); --shine:rgba(245,235,205,.14);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.55;
  padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.gut{padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px))}

.ic{width:22px;height:22px;flex:none;fill:currentColor}
.view{min-height:100vh}
.view a{color:inherit}
.view :focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.note{min-height:1.4em;margin:0;font-size:14px;color:var(--accent)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.foil{background-image:var(--foil);background-size:220% 100%;background-position:var(--fx,50%) 50%;
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.btn{align-self:flex-start;border:0;cursor:pointer;color:var(--on-accent);
  background-image:var(--foil);background-size:220% 100%;background-position:30% 50%;transition:background-position .6s ease, opacity .2s}
.btn:hover{background-position:75% 50%}
.btn:disabled{opacity:.6;cursor:default}
.view label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted);font-weight:500;min-width:0}
.view input,.view textarea{font:inherit;font-size:16px;color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;width:100%}
.view textarea{min-height:120px;resize:vertical}
.view input:focus,.view textarea:focus{border-color:var(--accent);outline:none}
.view form{display:flex;flex-direction:column;gap:14px}
.view footer{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--muted)}
.view footer p{margin:0}
.view footer .privacy{font-size:11.5px;opacity:.75}

/* Classic */
.v1{background:radial-gradient(1100px 520px at 85% -5%, var(--glow), transparent 70%),
               radial-gradient(900px 420px at 0% 105%, var(--glow), transparent 70%), var(--bg)}
.v1 .wrap{max-width:520px;margin:0 auto;padding-block:64px 48px;display:flex;flex-direction:column;gap:40px}
.v1 header{display:flex;flex-direction:column;gap:20px}
.v1 .mark{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;
  border:1.5px solid transparent;background:linear-gradient(var(--bg),var(--bg)) padding-box, var(--foil) border-box;
  font:700 18px/1 "Unbounded","Arial Black",sans-serif}
.v1 h1{font:700 clamp(34px,9vw,52px)/1.04 "Unbounded","Arial Black",sans-serif;margin:0;letter-spacing:-.02em;overflow-wrap:anywhere}
.v1 .foil{animation:shimmer 9s ease-in-out infinite alternate}
@keyframes shimmer{from{background-position:0% 50%}to{background-position:100% 50%}}
.v1 .tagline{margin:-6px 0 0;font-size:17px;color:var(--fg);opacity:.85;max-width:40ch}
.v1 .domain{display:flex;align-items:center;gap:10px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0}
.v1 .domain::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--dot);box-shadow:0 0 10px var(--accent-glow)}
.v1 .links{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.v1 .links.one{grid-template-columns:1fr}
.v1 .links a{display:flex;align-items:center;gap:12px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;min-width:0;
  background:var(--surface);text-decoration:none;font-weight:600;transition:border-color .2s, transform .2s}
.v1 .links a:hover{border-color:var(--accent);transform:translateY(-2px)}
.v1 .links a > span{min-width:0}
.v1 .links .ic{color:var(--accent)}
.v1 .links small{display:block;font-weight:500;color:var(--muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v1 h2{font:500 18px/1.3 "Unbounded","Arial Black",sans-serif;margin:0 0 4px}
.v1 .btn{font:600 16px/1 "Manrope",sans-serif;border-radius:999px;padding:14px 26px}
.v1 footer{border-top:1px solid var(--line);padding-top:16px}

/* Business card */
.v2{font-family:"DM Sans",system-ui,sans-serif;background:radial-gradient(900px 520px at 50% -10%, var(--glow), transparent 70%), var(--bg)}
.v2 .wrap{max-width:560px;margin:0 auto;padding-block:64px 48px;display:flex;flex-direction:column;gap:48px}
.v2 .hero{display:flex;flex-direction:column;gap:28px}
.v2 .stage{perspective:1000px;display:flex;justify-content:center}
.v2 .card{position:relative;isolation:isolate;width:100%;max-width:520px;aspect-ratio:85/55;border-radius:12px;padding:7% 8%;
  display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),
             linear-gradient(150deg,var(--card-a),var(--card-b));
  box-shadow:0 40px 70px -30px rgba(0,0,0,.85), 0 0 0 1px var(--card-edge);
  transform:translateY(var(--ty,0px)) rotateX(var(--rx,4deg)) rotateY(var(--ry,-6deg))}
.v2 .card::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;
  background:radial-gradient(360px circle at var(--mx,75%) var(--my,10%), rgba(255,255,255,.075), transparent 45%)}
.v2 .card::before{content:"";position:absolute;inset:-50%;pointer-events:none;z-index:3;
  background:linear-gradient(115deg, transparent 42%, var(--shine) 48%, rgba(255,255,255,.22) 50%, var(--shine) 52%, transparent 58%);
  transform:translateX(-60%);animation:sweep 7s ease-in-out infinite}
@keyframes sweep{0%,55%{transform:translateX(-60%)}85%,100%{transform:translateX(60%)}}
.v2 .top{position:relative;z-index:4;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:12px}
.v2 .eyebrow{font-size:clamp(10px,2.6vw,12px);font-weight:700;letter-spacing:.24em;text-transform:uppercase}
.v2 .dot{position:relative;flex:none;width:10px;height:10px;border-radius:50%;background:var(--dot);box-shadow:0 0 12px var(--accent-glow)}
.v2 .glint{position:absolute;left:50%;top:50%;width:46px;height:46px;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.4);
  background:radial-gradient(circle, #ffffff 0 1.5px, transparent 3px),
             linear-gradient(90deg, transparent 47%, rgba(255,255,255,.9) 50%, transparent 53%),
             linear-gradient(0deg, transparent 47%, rgba(255,255,255,.9) 50%, transparent 53%);
  -webkit-mask-image:radial-gradient(circle, #000 0 16%, transparent 66%);
          mask-image:radial-gradient(circle, #000 0 16%, transparent 66%);
  animation:twinkle 7s ease-in-out infinite}
@keyframes twinkle{
  0%,76%{opacity:0;transform:translate(-50%,-50%) scale(.4) rotate(0deg)}
  82%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(45deg)}
  90%,100%{opacity:0;transform:translate(-50%,-50%) scale(.5) rotate(90deg)}}
.v2 .name{position:relative;z-index:4;display:flex;flex-direction:column;gap:8px;min-width:0}
.v2 h1{font:400 clamp(32px,9vw,56px)/1 "DM Serif Display",Georgia,serif;margin:0;overflow-wrap:anywhere}
.v2 .tagline{margin:0;font-size:clamp(11.5px,3.2vw,14px);color:var(--muted);letter-spacing:.02em}
.v2 .out-links{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}
.v2 .out-links a{display:inline-flex;align-items:center;gap:10px;padding:11px 18px;border:1px solid var(--line);border-radius:999px;
  background:var(--surface);text-decoration:none;font-weight:500;font-size:15px;transition:border-color .2s}
.v2 .out-links a:hover{border-color:var(--accent)}
.v2 .out-links .ic{width:19px;height:19px;color:var(--accent)}
.v2 h2{font:400 28px/1.1 "DM Serif Display",Georgia,serif;margin:0 0 4px}
.v2 .btn{font:700 15px/1 "DM Sans",sans-serif;border-radius:10px;padding:14px 24px}
.v2 footer{text-align:center;align-items:center}

@media (max-width:440px){
  .row,.v1 .links{grid-template-columns:1fr}
  .v1 .wrap,.v2 .wrap{padding-block:40px 32px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
