:root{color-scheme:light dark;--bg:#f4f4f1;--card:#fff;--ink:#1d1d1f;--sub:#66666b;--ac:#c2410c;--red:#d70015}
@media(prefers-color-scheme:dark){:root{--bg:#0e0e0f;--card:#1c1c1e;--ink:#f5f5f7;--sub:#a1a1a8;--ac:#ff8a4c;--red:#ff5a5f}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 system-ui,"Hiragino Sans","Noto Sans JP",sans-serif}
header{display:flex;align-items:center;gap:8px;padding:12px 16px;max-width:640px;margin:0 auto}header nav{margin-left:auto}
nav button{border:0;background:none;color:var(--sub);font:inherit;font-size:13px;padding:4px 8px;border-radius:8px;cursor:pointer}nav button.on{background:var(--card);color:var(--ink);font-weight:600}
main{max-width:640px;margin:0 auto;padding:0 16px 48px}h1{font-size:24px;margin:8px 0 4px}.lead{color:var(--sub);margin:0 0 16px}
.card{background:var(--card);border-radius:16px;padding:14px 16px;margin:12px 0}.card label{display:block;font-size:13px;color:var(--sub)}
input[type=date]{font:inherit;padding:8px;border-radius:10px;border:1px solid #8884;background:none;color:inherit;margin-top:4px}
.card h2{font-size:16px;margin:0 0 4px}.dl{color:var(--ac);font-weight:600}.bad{color:var(--red);font-weight:600}
.card ul{padding-left:18px;margin:6px 0;color:var(--sub);font-size:14px}.card a{font-size:12px;color:var(--sub)}.note{font-size:12px;color:var(--sub)}
.sec{font-size:13px;color:var(--sub);font-weight:600;margin-bottom:6px}.opt{display:block;padding:6px 0;cursor:pointer}
.sub{display:none;padding:0 0 8px 24px;font-size:13px;color:var(--sub)}.sub.on{display:block}select{font:inherit;padding:6px;border-radius:10px;background:none;color:inherit}
.docs li{list-style:none;margin-left:-18px}.docs input{margin-right:6px}.done{text-decoration:line-through;opacity:.6}
.btn{border:0;border-radius:12px;background:var(--ac);color:#fff;font:inherit;font-weight:700;padding:12px 16px;margin:8px 0;cursor:pointer}.btn.ghost{background:var(--card);color:var(--ink)}
@media print{
  :root{--bg:#fff;--card:#fff;--ink:#000;--sub:#333;--ac:#000;--red:#000}
  header nav,#plans,.btn,input[type=date]{display:none!important}
  body{font-size:11pt}main{max-width:none;padding:0}
  .card{border:1px solid #999;border-radius:6px;break-inside:avoid;page-break-inside:avoid;margin:6px 0}
  .card a::after{content:" (" attr(href) ")";word-break:break-all}
  .docs input{appearance:none;-webkit-appearance:none;width:10px;height:10px;border:1px solid #000}
}
