/* Forkaia App Shell · shared chrome for every /app/* page */
:root{--ink:#07070E;--mist:#0F0F1A;--card:#171723;--line:#2B2B3D;--sun:#22D3EE;--vio:#8B5CF6;--pink:#EC4899;--dim:rgba(255,255,255,0.6);--text:#fff;}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0;background:var(--ink);color:var(--text);font-family:-apple-system,'Inter',Segoe UI,Helvetica,sans-serif;min-height:100vh;overscroll-behavior-y:contain}
body{padding:env(safe-area-inset-top) 0 calc(72px + env(safe-area-inset-bottom)) 0}

/* === Topbar === */
.app-topbar{position:sticky;top:0;z-index:40;background:rgba(7,7,14,0.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line);padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.app-topbar .back{color:var(--sun);font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;font-weight:700;text-decoration:none;cursor:pointer;background:none;border:0;padding:4px 0}
.app-topbar h1{font-family:'Fraunces',Georgia,serif;font-size:17px;font-weight:600;margin:0;letter-spacing:-0.01em}
.app-topbar .ic{color:var(--dim);background:none;border:0;padding:4px}

/* === Scroll === */
.app-scroll{padding:20px 20px 24px}
.app-scroll h2{font-family:'Fraunces',Georgia,serif;font-size:28px;font-weight:500;letter-spacing:-0.025em;margin:16px 0 8px;line-height:1.1}
.app-scroll h2 em{font-style:italic;background:linear-gradient(90deg,#22D3EE,#8B5CF6,#EC4899);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:600}
.app-scroll .sub{color:var(--dim);font-size:14px;margin:0 0 24px;line-height:1.5}

/* === Lists & cards === */
.app-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:12px;text-decoration:none;color:inherit;display:block;transition:transform 0.15s,border-color 0.15s}
.app-card:active{transform:scale(0.98);border-color:var(--vio)}
.app-card .k{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:0.14em;color:var(--dim);text-transform:uppercase;font-weight:700}
.app-card .title{font-family:'Fraunces',serif;font-size:17px;font-weight:600;margin:6px 0 4px;color:#fff}
.app-card .desc{color:var(--dim);font-size:13px;line-height:1.45;margin:0}
.app-card .foot{display:flex;align-items:center;justify-content:space-between;margin-top:12px}
.app-card .pill{display:inline-block;padding:3px 10px;background:rgba(139,92,246,0.15);border:1px solid rgba(139,92,246,0.4);border-radius:999px;color:#C4B5FD;font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase}
.app-card .arrow{color:var(--sun);font-size:16px}

/* === Chip row === */
.app-chips{display:flex;gap:8px;overflow-x:auto;padding:4px 0 12px;scrollbar-width:none}
.app-chips::-webkit-scrollbar{display:none}
.app-chip{flex-shrink:0;padding:7px 14px;background:transparent;border:1px solid var(--line);border-radius:999px;color:var(--dim);font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.06em;font-weight:700;text-transform:uppercase;cursor:pointer;white-space:nowrap}
.app-chip.active{background:linear-gradient(90deg,#22D3EE,#8B5CF6);color:#fff;border-color:transparent}

/* === Score hero === */
.score-hero{background:linear-gradient(135deg,rgba(34,211,238,0.1),rgba(139,92,246,0.1),rgba(236,72,153,0.1));border:1px solid rgba(139,92,246,0.4);border-radius:20px;padding:28px 24px;text-align:center;margin-bottom:20px}
.score-hero .big{font-family:'Fraunces',serif;font-size:72px;font-weight:600;line-height:1;background:linear-gradient(90deg,#22D3EE,#8B5CF6,#EC4899);-webkit-background-clip:text;background-clip:text;color:transparent}
.score-hero .lab{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.14em;color:var(--dim);font-weight:700;text-transform:uppercase;margin-top:8px}
.score-hero .delta{color:#6EE7B7;font-size:13px;margin-top:6px;font-weight:600}

/* === Row list (Me page) === */
.app-row{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:10px;color:inherit;text-decoration:none;cursor:pointer}
.app-row .l{display:flex;align-items:center;gap:14px}
.app-row .l .ic{width:36px;height:36px;border-radius:10px;background:rgba(139,92,246,0.15);display:flex;align-items:center;justify-content:center;color:#C4B5FD;font-size:16px;font-weight:800;font-family:'Fraunces',serif}
.app-row .l .t{font-size:15px;font-weight:600}
.app-row .l .s{font-size:12px;color:var(--dim);margin-top:2px}
.app-row .r{color:var(--dim);font-size:16px}

/* === Bottom tabbar === */
.app-tabbar{position:fixed;bottom:0;left:0;right:0;z-index:50;background:rgba(7,7,14,0.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);padding:8px 0 calc(8px + env(safe-area-inset-bottom))}
.app-tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:4px 2px;color:var(--dim);text-decoration:none;font-size:10px;letter-spacing:0.04em;font-family:'JetBrains Mono',monospace;font-weight:600;text-transform:uppercase}
.app-tabbar a.active{color:#fff}
.app-tabbar svg{width:22px;height:22px;stroke-width:2}
.app-tabbar a.active svg{stroke:url(#tabgrad)}

@media (min-width:700px){
  body{max-width:460px;margin:0 auto;border-left:1px solid var(--line);border-right:1px solid var(--line);min-height:100vh}
  .app-tabbar{max-width:460px;margin:0 auto;left:50%;transform:translateX(-50%);border-left:1px solid var(--line);border-right:1px solid var(--line)}
}
