:root{--ink:#13202a;--cream:#f3efe3;--lime:#b9d54a;--moss:#49643b;--amber:#ed9d3c;--line:rgba(19,32,42,.18)}*{box-sizing:border-box}img{max-width:100%;height:auto}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Noto Sans JP",sans-serif;line-height:1.8}.site-header{height:82px;padding:0 clamp(22px,5vw,76px);display:flex;align-items:center;justify-content:space-between;background:#101b25;color:white;position:relative;z-index:5}.brand{color:inherit;text-decoration:none;display:flex;align-items:baseline;gap:14px}.brand span{font-size:.72rem;letter-spacing:.2em;color:var(--lime)}.brand strong{font-family:"Kaisei Decol",serif;font-size:1.2rem}.site-header nav{display:flex;gap:28px}.site-header nav a{color:#e8ece7;text-decoration:none;font-size:.84rem;letter-spacing:.08em}.site-header nav a:hover{color:var(--lime)}.hero{min-height:690px;height:calc(100vh - 82px);position:relative;display:flex;align-items:center;overflow:hidden;background:#15202b}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,18,25,.92) 0%,rgba(9,18,25,.68) 36%,rgba(9,18,25,.08) 71%),linear-gradient(0deg,rgba(9,18,25,.42),transparent 40%)}.hero-copy{position:relative;color:white;width:min(620px,80%);margin-left:clamp(26px,8vw,130px);padding-bottom:40px}.eyebrow,.kicker{font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.eyebrow{color:var(--lime);margin-bottom:24px}.hero h1{font-family:"Kaisei Decol",serif;font-size:clamp(3rem,7vw,6.8rem);line-height:1.08;margin:0 0 25px;letter-spacing:-.04em}.hero h1 em{font-style:normal;color:var(--lime)}.lead{font-size:clamp(1rem,1.5vw,1.18rem);color:#d8dfde;margin-bottom:34px}.observe{display:inline-flex;gap:26px;align-items:center;padding:14px 22px;border:1px solid rgba(255,255,255,.45);color:white;text-decoration:none;font-weight:700;font-size:.88rem;transition:.2s}.observe:hover{background:var(--lime);color:var(--ink);border-color:var(--lime)}.observe span{font-size:1.3rem}.status{position:absolute;right:clamp(20px,5vw,70px);bottom:28px;background:rgba(14,25,33,.75);backdrop-filter:blur(10px);color:white;padding:12px 18px;display:grid;grid-template-columns:auto auto;gap:0 9px;border-left:2px solid var(--lime);font-size:.7rem}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px var(--lime);align-self:center}.status strong{grid-column:2;font-size:.88rem}.intro{padding:110px clamp(24px,8vw,130px);display:grid;grid-template-columns:.7fr 1.7fr 1.2fr;gap:60px;border-bottom:1px solid var(--line)}.kicker{color:var(--moss);margin:5px 0 15px}.intro h2,.section-head h2,.rules h2{font-family:"Kaisei Decol",serif;font-size:clamp(2.2rem,4.5vw,4.3rem);line-height:1.2;margin:0 0 20px}.intro>div>p{max-width:650px;font-size:1.04rem}.intro dl{margin:0}.intro dl div{border-top:1px solid var(--line);padding:17px 0}.intro dt{font-size:.7rem;letter-spacing:.15em;color:#66716e}.intro dd{margin:3px 0 0;font-weight:700}.day{padding:100px clamp(24px,8vw,130px)}.section-head{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:end;margin-bottom:45px}.section-head h2{margin:0}.section-head>p:last-child{font-size:.82rem;color:#68726f}.timeline{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--ink)}.moment{appearance:none;border:0;border-right:1px solid var(--line);background:transparent;text-align:left;padding:34px 28px;min-height:190px;color:var(--ink);cursor:pointer;font:inherit;transition:.2s}.moment:last-child{border-right:0}.moment:hover,.moment.active{background:var(--ink);color:white}.moment span{display:block;color:var(--amber);font-weight:900;font-size:1.15rem}.moment b{display:block;font-family:"Kaisei Decol",serif;font-size:1.35rem;margin:30px 0 4px}.moment small{opacity:.7}.note{margin:20px 0 0 auto;max-width:720px;display:flex;gap:25px;align-items:baseline;padding:22px 28px;border-bottom:1px solid var(--ink)}.note span{font-size:.7rem;white-space:nowrap;color:var(--moss);font-weight:900;letter-spacing:.12em}.note p{margin:0;font-family:"Kaisei Decol",serif;font-size:1.08rem}.fieldnotes{background:#15202b;color:white;padding:100px clamp(24px,8vw,130px)}.section-head.light .kicker{color:var(--lime)}.notes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:rgba(255,255,255,.15)}.notes-grid article{background:#15202b;padding:42px 35px;min-height:285px;display:flex;flex-direction:column}.notes-grid article>span{align-self:flex-start;background:var(--lime);color:var(--ink);font-size:.7rem;font-weight:900;padding:3px 10px}.notes-grid h3{font-family:"Kaisei Decol",serif;font-size:1.55rem;line-height:1.5;margin:28px 0 10px}.notes-grid p{font-size:.9rem;color:#bdc7c8}.notes-grid time{margin-top:auto;font-size:.75rem;color:var(--lime)}.rules{padding:120px clamp(24px,8vw,130px)}.rules>div{text-align:center;margin-bottom:65px}.rules ol{list-style:none;padding:0;margin:0 auto;max-width:900px}.rules li{display:grid;grid-template-columns:90px 1fr;border-top:1px solid var(--line);align-items:center;padding:25px 0}.rules li span{font-family:"Kaisei Decol",serif;color:var(--moss);font-size:1.4rem}.rules li p{font-family:"Kaisei Decol",serif;font-size:clamp(1.25rem,2.5vw,2rem);margin:0}.closing{text-align:center;font-family:"Kaisei Decol",serif;font-size:clamp(1.35rem,3vw,2.2rem);margin-top:110px;color:var(--moss)}footer{background:#101b25;color:#9eaaa9;padding:28px clamp(24px,5vw,76px);display:flex;justify-content:space-between;font-size:.7rem;letter-spacing:.08em}@media(max-width:820px){.site-header{height:68px}.hero{height:calc(100svh - 68px);min-height:620px}.hero>img{object-position:62% center}.hero-shade{background:linear-gradient(90deg,rgba(9,18,25,.88),rgba(9,18,25,.25)),linear-gradient(0deg,rgba(9,18,25,.7),transparent 60%)}.hero-copy{width:auto;margin:0 24px;padding-top:60px}.hero h1{font-size:clamp(3rem,15vw,5rem)}.lead br{display:none}.status{right:20px}.intro{padding:75px 24px;grid-template-columns:1fr;gap:15px}.intro dl{margin-top:25px}.day,.fieldnotes,.rules{padding:75px 24px}.section-head{display:block}.section-head>p:last-child{margin-top:15px}.timeline{grid-template-columns:1fr 1fr}.moment{border-bottom:1px solid var(--line);min-height:160px}.moment:nth-child(2){border-right:0}.moment b{margin-top:20px}.note{display:block}.notes-grid{grid-template-columns:1fr}.notes-grid article{min-height:240px}footer{gap:16px;flex-direction:column}}@media(max-width:480px){.brand span{display:none}.timeline{grid-template-columns:1fr}.moment{border-right:0}.hero-copy{margin:0 20px}.status{left:20px;right:auto}.rules li{grid-template-columns:52px 1fr}}

/* ---- main site link (was migration.css) ---- */
.main-site {
  margin: 0 clamp(24px, 8vw, 130px) 100px;
  padding: 38px 42px;
  border: 1px solid var(--ink);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  background: linear-gradient(120deg, rgba(185, 213, 74, .18), transparent 55%);
}

.main-site h2 {
  font-family: "Kaisei Decol", serif;
  font-size: clamp(1.8rem, 3.5vw, 3rem);
  line-height: 1.2;
  margin: 0 0 8px;
}

.main-site p:last-child {
  margin: 0;
  max-width: 680px;
}

.main-site > a {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 18px;
  padding: 14px 20px;
  background: var(--ink);
  color: white;
  text-decoration: none;
  font-weight: 700;
  font-size: .88rem;
}

.main-site > a:hover { background: var(--moss); }

@media (max-width: 820px) {
  .main-site {
    margin: 0 24px 75px;
    padding: 30px 24px;
    display: block;
  }

  .main-site > a {
    margin-top: 24px;
    justify-content: space-between;
  }
}

/* ---- workshop link & header (was works/home-link.css) ---- */
.workshop-link{margin:0 clamp(24px,8vw,130px) 90px;display:grid;grid-template-columns:1fr 1fr;background:#15202b;color:white}.workshop-link>div{padding:clamp(28px,5vw,68px)}.workshop-link .kicker{color:var(--lime);font-size:.8rem}.workshop-link h2{font:500 clamp(2rem,4vw,3.6rem)/1.4 'Kaisei Decol',serif;margin:12px 0 20px}.workshop-link p{font-size:1rem}.workshop-link a{color:var(--lime);text-underline-offset:6px}.workshop-link>div>a{display:inline-block;margin-top:15px}.workshop-link>a{display:flex;background:#f2f2f2}.workshop-link img{width:100%;object-fit:contain}.site-header nav a{font-size:.875rem}.site-header a:focus-visible{outline:2px solid var(--lime);outline-offset:5px}@media(max-width:820px){.site-header{height:auto;min-height:82px;padding:16px 24px;flex-wrap:wrap;gap:12px}.site-header nav{display:flex;flex-wrap:wrap;gap:12px 20px}.workshop-link{grid-template-columns:1fr}.workshop-link>a{order:-1}.workshop-link img{max-height:360px}}

/* skip link & keyboard focus */
.skip{position:absolute;top:-100px;left:0;color:#101b25;background:var(--lime);padding:12px;z-index:10}.skip:focus{top:0}
:focus-visible{outline:3px solid var(--moss);outline-offset:4px}
.site-header :focus-visible,.hero :focus-visible,.fieldnotes :focus-visible,.workshop-link :focus-visible,.workshop :focus-visible{outline-color:var(--lime)}
.moment:focus-visible{outline-offset:-3px}
.hero>img{background:#15202b}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.moment,.observe{transition:none}}

/* ---- note記事カード（work/update_note.py が生成） ---- */
.note-link{display:flex;flex-direction:column;flex:1;color:inherit;text-decoration:none}.note-link>span{align-self:flex-start;background:var(--lime);color:var(--ink);font-size:.7rem;font-weight:900;padding:3px 10px}.note-link h3{transition:color .2s}.note-link:hover h3{color:var(--lime)}.note-link:focus-visible{outline:3px solid var(--lime);outline-offset:8px}.note-home{color:#bdc7c8;text-underline-offset:5px}.note-home:hover{color:var(--lime)}
