/* yunichee — shared styles for per-app detail pages (/orbit/, /pomodoro/, …)
   Edit hint: keep this in sync with the look of the top-level index.html. */
:root{
  --text:#122019;
  --muted:#51655b;
  --border:rgba(15,45,35,.10);
  --card:rgba(255,255,255,.72);
  --accent:#059669;
  --radius:18px;
  --maxw:840px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",Meiryo,sans-serif;
  color:var(--text);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  background:#f0f7f2;
  position:relative;
  overflow-x:hidden;
}
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(60% 55% at 12% 8%, rgba(16,185,129,.24), transparent 60%),
    radial-gradient(50% 50% at 92% 12%, rgba(132,204,22,.18), transparent 60%),
    radial-gradient(55% 60% at 85% 88%, rgba(20,184,166,.20), transparent 60%),
    radial-gradient(50% 55% at 8% 92%, rgba(52,211,153,.18), transparent 60%),
    linear-gradient(180deg,#f5faf6,#eef6f0);
}
a{color:var(--accent);text-decoration:none;}
a:hover{text-decoration:underline;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px;}

/* Top bar */
.topbar{display:flex;justify-content:space-between;align-items:center;padding:18px 0;gap:12px;}
.back{
  display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);
  padding:8px 15px;border-radius:999px;font-size:13.5px;color:var(--text);font-weight:600;
  background:rgba(255,255,255,.6);backdrop-filter:blur(8px);transition:transform .15s,box-shadow .15s;
}
.back:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(15,45,35,.1);text-decoration:none;}
.lang-toggle{
  display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden;
  background:rgba(255,255,255,.7);backdrop-filter:blur(8px);
  box-shadow:0 2px 10px rgba(15,45,35,.06);
}
.lang-toggle button{
  border:0;background:transparent;padding:7px 15px;font-size:13px;font-weight:600;
  color:var(--muted);cursor:pointer;letter-spacing:.02em;transition:color .15s;
}
.lang-toggle button.active{background:linear-gradient(135deg,#059669,#10b981);color:#fff;}

/* Hero */
header.app-hero{padding:26px 0 34px;display:flex;gap:22px;align-items:center;flex-wrap:wrap;}
.app-icon{
  flex:0 0 auto;width:104px;height:104px;border-radius:26px;overflow:hidden;
  box-shadow:0 14px 34px rgba(15,45,35,.18);border:1px solid var(--border);
  background:#0b0f14;display:flex;align-items:center;justify-content:center;font-size:52px;
}
.app-icon img{width:100%;height:100%;object-fit:cover;display:block;}
.app-head{flex:1;min-width:240px;}
.app-head h1{
  font-size:34px;margin:0 0 8px;letter-spacing:-.02em;
  background:linear-gradient(120deg,#047857,#10b981 55%,#22c55e);
  -webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block;
}
.pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;align-items:center;}
.badge{font-size:11px;font-weight:700;color:#fff;padding:2px 10px;border-radius:999px;background:var(--c,#10b981);}
.status{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 10px;border-radius:999px;}
.status.live{color:#047857;background:rgba(16,185,129,.16);}
.status.dev{color:#b45309;background:rgba(245,158,11,.16);}
.lead{font-size:16px;color:#33463c;margin:0 0 18px;}
.cta{
  display:inline-flex;align-items:center;gap:8px;
  background:linear-gradient(135deg,#059669,#10b981);color:#fff;
  font-weight:700;font-size:15px;padding:12px 22px;border-radius:999px;
  box-shadow:0 8px 22px rgba(16,185,129,.38);transition:transform .15s,box-shadow .15s;
}
.cta:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(16,185,129,.5);text-decoration:none;}
.cta::after{content:"↗";font-weight:700;}

/* Sections */
section{padding:30px 0;border-top:1px solid var(--border);}
section h2{font-size:19px;margin:0 0 16px;letter-spacing:-.01em;}

/* Screenshot gallery */
.shots{display:grid;gap:16px;grid-template-columns:repeat(3,1fr);}
@media (max-width:640px){.shots{grid-template-columns:repeat(2,1fr);}}
.shot{margin:0;}
.shot img{
  width:100%;height:auto;display:block;border-radius:16px;
  border:1px solid var(--border);background:#0b0f14;box-shadow:0 6px 18px rgba(15,45,35,.08);
}
.shot figcaption{font-size:12.5px;color:var(--muted);text-align:center;margin-top:8px;}

/* Description body */
.desc{max-width:64ch;}
.desc p{margin:0 0 14px;}
.desc h3{font-size:15px;margin:22px 0 8px;color:var(--text);}
.desc ul{margin:0 0 14px;padding-left:1.2em;}
.desc li{margin:3px 0;color:#33463c;}
.desc .note{font-size:13.5px;color:var(--muted);border-left:3px solid var(--border);padding-left:12px;}

footer{padding:34px 0 54px;border-top:1px solid var(--border);color:var(--muted);font-size:13px;text-align:center;}
footer a{color:var(--muted);text-decoration:underline;}

[data-lang="en"] .ja,[data-lang="ja"] .en{display:none;}
