/* Two Ships pages: the game's own sticker look (lagoon, ink outlines, Bagel Fat One), under a slim studio bar in velvet. */
:root{color-scheme:light;--lagoon:#13bfb2;--wave:#5fe0d3;--paper:#fff6e3;--ink:#1d1033;--ink-soft:#4a3b63;--sun:#ffd23f;--pink:#ff4f9a;--gold:#ffb627;--velvet:#3a1140;--marquee:#ffc94a}
body.ts{margin:0;color:var(--ink);font-family:var(--gamebody);font-size:18px;line-height:1.55;
  background:radial-gradient(120% 50% at 50% 0%,#3ee6d6 0%,transparent 60%),radial-gradient(90% 60% at 100% 100%,#0fa4b8 0%,transparent 70%),var(--lagoon);
  padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
body.ts a{color:var(--ink);text-decoration-thickness:2px}
body.ts :focus-visible{outline:3px solid var(--pink);outline-offset:3px}
.studio-bar{background:var(--velvet);color:#fff3e3}
.studio-bar .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-block:10px;flex-wrap:wrap}
.studio-bar a{color:#fff3e3;text-decoration:none;display:flex;align-items:center;gap:10px;font-family:var(--display);font-size:.88rem;letter-spacing:.05em}
.studio-bar a img{width:30px;height:30px;border-radius:8px}
.studio-bar nav{display:flex;gap:4px}
.studio-bar nav a{font-family:var(--body);font-weight:500;font-size:.95rem;letter-spacing:0;padding:6px 12px;border-radius:999px}
.studio-bar nav a:hover{background:rgba(255,201,74,.16);color:var(--marquee)}

.ts-hero{padding-block:44px 30px}
.ts-hero .wrap{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center}
.ts-hero img.icon{width:clamp(140px,26vw,240px);border-radius:24%;border:6px solid var(--ink);box-shadow:10px 10px 0 var(--ink)}
.ts-title{margin:0;font-family:var(--game);font-weight:400;font-size:clamp(3.2rem,11vw,5.6rem);line-height:.95;color:var(--paper);
  text-shadow:4px 4px 0 var(--ink),-2px -2px 0 var(--ink),2px -2px 0 var(--ink),-2px 2px 0 var(--ink),8px 9px 0 var(--pink)}
.ts-tag{display:inline-block;margin:18px 0 0;background:var(--sun);border:3px solid var(--ink);border-radius:999px;padding:5px 20px;font-weight:800;font-size:clamp(1.1rem,3.4vw,1.35rem);transform:rotate(-2deg);box-shadow:4px 4px 0 var(--ink)}
.ts-line{margin:22px 0 0;font-family:var(--game);font-size:clamp(1.35rem,4vw,1.8rem);line-height:1.15;color:var(--paper);
  text-shadow:2px 2px 0 var(--ink),-1px -1px 0 var(--ink),1px -1px 0 var(--ink),-1px 1px 0 var(--ink)}
.ts-cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:24px}
.ts-btn{display:inline-flex;align-items:center;gap:8px;font:800 1.02rem var(--gamebody);text-decoration:none;border:3px solid var(--ink);border-radius:14px;padding:12px 20px;background:var(--ink);color:var(--paper);box-shadow:4px 4px 0 var(--pink)}
body.ts a.ts-btn{color:var(--paper)}
.ts-btn.soon{background:var(--paper);color:var(--ink);box-shadow:4px 4px 0 var(--ink);cursor:default}
.ts-note{font-weight:600;font-size:.95rem;color:var(--ink)}

.panel{background:var(--paper);border:3px solid var(--ink);border-radius:20px;box-shadow:6px 6px 0 var(--ink);padding:clamp(20px,4vw,32px)}
.ts-sec{padding-block:30px}
.ts-h2{margin:0 0 16px;font-family:var(--game);font-weight:400;font-size:clamp(1.9rem,5.5vw,2.6rem);line-height:1.05;color:var(--paper);
  text-shadow:3px 3px 0 var(--ink),-1.5px -1.5px 0 var(--ink),1.5px -1.5px 0 var(--ink),-1.5px 1.5px 0 var(--ink)}
.panel .ts-h2{color:var(--ink);text-shadow:none}

.shots{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 6px 22px;margin:0 -6px;-webkit-overflow-scrolling:touch}
.shots img{flex:0 0 auto;width:min(62vw,260px);scroll-snap-align:start;border-radius:22px;border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);background:var(--lagoon)}

.steps3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.step{display:grid;gap:8px;align-content:start}
.step b{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-family:var(--game);font-weight:400;font-size:1.4rem;border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink)}
.step:nth-child(1) b{background:var(--gold)}.step:nth-child(2) b{background:var(--pink)}.step:nth-child(3) b{background:var(--wave)}
.step h3{margin:4px 0 0;font-family:var(--game);font-weight:400;font-size:1.35rem}
.step p{margin:0;color:var(--ink-soft)}

.isles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.isle{border:3px solid var(--ink);border-radius:18px;padding:14px 14px 12px;background:var(--paper);box-shadow:4px 4px 0 var(--ink)}
.isle i{display:block;width:30px;height:30px;border-radius:50%;border:3px solid var(--ink);margin-bottom:8px}
.isle h3{margin:0;font-family:var(--game);font-weight:400;font-size:1.12rem;line-height:1.1}
.isle p{margin:4px 0 0;font-size:.92rem;color:var(--ink-soft);line-height:1.35}

.feats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;margin:0;padding:0;list-style:none}
.feats li{position:relative;padding-left:30px}
.feats li::before{content:"";position:absolute;left:0;top:.45em;width:16px;height:16px;border-radius:50%;background:var(--sun);border:2.5px solid var(--ink)}
.feats b{font-weight:800}

.private{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center}
.private svg{width:70px;height:auto}
.private h3{margin:0 0 4px;font-family:var(--game);font-weight:400;font-size:1.5rem}
.private p{margin:0}

/* document pages (privacy, support) */
.doc{max-width:820px}
.doc h1{margin:0 0 6px;font-family:var(--game);font-weight:400;font-size:clamp(2.2rem,7vw,3.2rem);line-height:1.02}
.doc .meta{margin:0 0 18px;color:var(--ink-soft);font-weight:600}
.doc h2{margin:28px 0 8px;font-family:var(--game);font-weight:400;font-size:1.45rem;line-height:1.15}
.doc p,.doc li{max-width:68ch}
.doc ul{padding-left:22px}
.langs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.langs a{font-weight:800;border:2.5px solid var(--ink);border-radius:999px;padding:4px 14px;text-decoration:none;background:#fff}
.short{background:#d9fbf5;border:2.5px solid var(--ink);border-radius:14px;padding:14px 18px;font-weight:600}
details.faq{border-bottom:2.5px dashed rgba(29,16,51,.25);padding:12px 0}
details.faq summary{cursor:pointer;font-weight:800;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;gap:12px}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";font-size:1.4rem;line-height:1}
details.faq[open] summary::after{content:"\2212"}
details.faq p{margin:8px 0 2px;color:var(--ink-soft)}
.mailbox{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;background:var(--sun);border:3px solid var(--ink);border-radius:16px;padding:16px 20px;box-shadow:4px 4px 0 var(--ink)}
.mailbox .email{font-weight:800;font-size:1.12rem;user-select:all;-webkit-user-select:all}
.mailbox button{font:800 .95rem var(--gamebody);border:2.5px solid var(--ink);background:var(--paper);border-radius:999px;padding:8px 16px;cursor:pointer}
hr.split{border:0;border-top:3px solid var(--ink);margin:40px 0 10px}

.ts-foot{background:var(--velvet);color:#e9d6dc;margin-top:40px;padding-block:28px 36px;font-size:.95rem}
.ts-foot .wrap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.ts-foot a{color:#e9d6dc}
.ts-foot nav{display:flex;gap:18px;flex-wrap:wrap}

@media (max-width:860px){ .isles{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:720px){
  .ts-hero .wrap{grid-template-columns:1fr}
  .steps3{grid-template-columns:1fr}
  .feats{grid-template-columns:1fr}
}
html:has(body.ts){background:#13bfb2;color-scheme:light}
body.ts .studio-bar a{color:#fff3e3}
body.ts .studio-bar nav a:hover{color:var(--marquee)}
body.ts .ts-foot a{color:#e9d6dc}
.ts-intro{margin:-6px 0 18px;font-weight:600;color:var(--ink-soft)}
.ts-sub{margin:-6px 0 18px;font-weight:700;color:var(--ink);max-width:60ch}
.made-by{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:28px;align-items:center}
.made-by img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:16px;border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);transform:rotate(-2deg)}
.made-by p{margin:0 0 10px;max-width:62ch}
@media (max-width:720px){ .made-by{grid-template-columns:1fr} .made-by img{max-width:240px} }
