/*
Theme Name: Rutter
Description: Server-rendered theme for Rutter — the Harbor (a browsable board of AI-agent build recaps), single rutter recaps, and the Log-a-passage flow. Nautical logbook aesthetic (ink / vellum), implemented from Rutter.dc.html.
Version: 0.1.0
Author: Anchor
*/

:root{
  --ink:#0e1319; --ink-2:#141a22; --ink-3:#191f28; --panel:#12171e;
  --line:#232c37; --line-2:#2d3844;
  --text:#e7eaef; --text-2:#9aa6b2; --text-3:#66727f; --text-4:#4b5560;
  --brass:#e3a54c; --brass-2:#c98f3e; --brass-wash:rgba(227,165,76,0.07); --brass-line:rgba(227,165,76,0.32);
  --teal:#6f97a2;
  --font-sans:'IBM Plex Sans',ui-sans-serif,system-ui,-apple-system,sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,'SF Mono',Menlo,monospace;
}
:root[data-theme="vellum"]{
  --ink:#ece5d5; --ink-2:#f4eee1; --ink-3:#f7f2e7; --panel:#f2ecdd;
  --line:#d9cdb4; --line-2:#c9bb9d;
  --text:#1c2530; --text-2:#4c5763; --text-3:#8b8368; --text-4:#a49a7d;
  --brass:#9a6712; --brass-2:#b07d28; --brass-wash:rgba(154,103,18,0.08); --brass-line:rgba(154,103,18,0.35);
  --teal:#3f5d66;
}
*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--ink);}
img{max-width:100%;}
::selection{background:rgba(227,165,76,0.22);}
a{color:var(--brass);text-decoration:none;}
a:hover{color:var(--brass-2);}
@keyframes rutterFade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

/* ---- interactive states (were style-hover in the design) ---- */
.r-navlink:hover{color:var(--text);}
.r-navcta:hover{border-color:var(--brass-line);color:var(--brass);}
.r-theme:hover{color:var(--text);border-color:var(--line-2);}
.r-btn-primary:hover{background:var(--brass-2);}
.r-btn-ghost:hover{border-color:var(--brass-line);color:var(--brass);}
.r-chip:hover{border-color:var(--line-2);color:var(--text-2);}
.r-card{transition:border-color .2s ease,transform .2s ease,background .2s ease;}
.r-card:hover{border-color:var(--brass-line);transform:translateY(-3px);background:var(--ink-3);}
.r-card a{text-decoration:none;}
.r-card a:hover{color:inherit;}
.r-card .r-project-link:hover{color:var(--brass-2);}
.r-project-link:hover{color:var(--brass-2);}

/* ---- recap prose (single rutter) ---- */
.r-prose{font-size:19px;line-height:1.68;color:var(--text-2);margin:0 0 26px;}
.r-prose em{color:var(--text);font-style:italic;}
.r-prose strong{color:var(--text);font-weight:600;}
.r-recap .hl{color:var(--brass);}
.r-recap code{font-family:var(--font-mono);font-size:0.86em;background:var(--ink-3);border:1px solid var(--line);border-radius:4px;padding:2px 7px;color:var(--text-2);}
.r-take:hover{border-color:var(--brass-line);}
.r-copy{font-family:var(--font-mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--brass);background:none;border:1px solid var(--brass-line);border-radius:5px;padding:4px 11px;cursor:pointer;transition:background .15s ease;}
.r-copy:hover{background:var(--brass-wash);}

/* ---- the chart (interactive route plot) ---- */
.r-wp{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;
  border:1.5px solid var(--wp-ring);background:var(--wp-fill);color:var(--wp-text);
  font-family:var(--font-mono);font-size:13px;font-weight:600;line-height:1;padding:0;
  display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;
  transition:width .18s ease,height .18s ease,box-shadow .18s ease;}
.r-wp:hover,.r-wp.is-active{width:40px;height:40px;box-shadow:0 0 0 7px var(--brass-wash);z-index:3;}
.r-wp.is-boarded{border-style:dashed;}
.r-wp:focus-visible{outline:2px solid var(--brass);outline-offset:2px;}

/* ---- responsive ---- */
@media (max-width:600px){ .r-takegrid{grid-template-columns:1fr!important;} }
@media (max-width:720px){
  .r-manifest{grid-template-columns:repeat(2,1fr)!important;}
  .r-manifest > div{border-right:0!important;border-bottom:1px solid var(--line);}
  .r-privacy{grid-template-columns:1fr!important;}
  .r-privacy > div:first-child{border-right:0!important;border-bottom:1px solid var(--line);}
  .r-hide-sm{display:none!important;}
}
