/* 試作 prototype/index.html の<style>をそのまま移植。末尾に追記した規則は「追加」と明記 */
*{box-sizing:border-box}body{margin:0;background:#f3f2ee;color:#252722;font:15px/1.6 system-ui,-apple-system,sans-serif}header{background:#191a18;color:white;border-top:6px solid #c82924;padding:23px 22px 29px;position:relative;overflow:hidden}header:after{content:'';position:absolute;width:120px;height:220px;background:#a92420;transform:rotate(35deg);right:-100px;top:-60px}header .inner,main{max-width:560px;margin:auto}.brand{font-size:12px;font-weight:800;letter-spacing:.13em;color:#f4c746}.top{display:flex;justify-content:space-between;align-items:center;margin-top:15px}h1{font-size:27px;margin:0;letter-spacing:.04em}h1 span{color:#f4c746}header p{font-size:13px;color:#ccc;margin:5px 0 0}.demo{font-size:11px;background:#383a34;padding:4px 9px;border-radius:30px}main{padding:18px 16px 32px}.sample{font-size:11px;color:#696b62;margin:0 0 14px;display:flex;justify-content:space-between}.card{background:white;border:1px solid #e4e4dc;border-radius:18px;padding:22px;margin-bottom:15px;box-shadow:0 3px 14px #25272204}.row{display:flex;justify-content:space-between;align-items:center;gap:8px}h2{font-size:16px;margin:0}.badge{font-size:11px;border-radius:30px;padding:4px 10px;color:#ad442c;background:#fff0e9;font-weight:700}.big{font-size:47px;line-height:1.2;font-weight:850;letter-spacing:-.04em;margin:17px 0 9px}.big small{font-size:19px;letter-spacing:0;margin-left:3px}.count{font-size:13px;color:#76786f}.bar{height:17px;background:#eee;border-radius:20px;display:flex;overflow:hidden}.fill{background:#e6b927;transition:width .3s}.extra{background:repeating-linear-gradient(120deg,#f5d65e,#f5d65e 4px,#fff0a3 4px,#fff0a3 8px);transition:width .3s}.ends{display:flex;justify-content:space-between;color:#92948a;font-size:10px;margin:4px 0 14px}.encourage{background:#fff9e5;border-radius:12px;padding:13px;font-size:13px}.encourage strong{color:#7e6100;font-size:19px}.deadline{font-size:12px;color:#74766d;margin:12px 0 0}.deadline b{color:#333}.lead{font-size:13px;color:#686b61;margin:8px 0 16px}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.days label{position:relative;cursor:pointer}.days input{position:absolute;opacity:0}.days span{display:block;border:1px solid #dddfd4;text-align:center;border-radius:11px;padding:10px 0;font-weight:700;background:#fafbf8}.days input:checked+span{background:#282b25;color:#f8d355;border-color:#282b25}.days input:focus-visible+span{outline:3px solid #d9ac25}.result{margin-top:18px;background:#f6f7f1;border-radius:13px;padding:15px}.metric{display:flex;justify-content:space-between;align-items:center}.metric strong{font-size:26px}.metric strong small{font-size:13px}.last{margin-top:10px;border-top:1px solid #dfe3d5;padding-top:10px;display:flex;justify-content:space-between;align-items:center;font-size:12px}.last b{font-size:19px;color:#375b3b}.dates{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.date{background:white;border:1px solid #e1e5d8;border-radius:7px;font-size:11px;padding:4px 7px}.note{font-size:11px;color:#7c7e74;margin:12px 0 0}.saved{font-size:11px;color:#6a7c59;margin-top:8px}button{font:inherit;cursor:pointer}details{background:#eaece5;border-radius:12px;padding:13px 15px;margin-top:20px;font-size:12px}summary{font-weight:700;cursor:pointer}.settings{display:grid;gap:10px;margin-top:14px}.settings label{display:flex;justify-content:space-between;align-items:center;gap:8px}.settings input{width:145px;border:1px solid #ccc;border-radius:6px;padding:6px;font:inherit}.settings button{border:1px solid #c8cbbf;padding:8px;background:white;border-radius:7px}footer{text-align:center;font-size:10px;color:#878a80;margin-top:22px}.complete{color:#35633b;background:#eaf4e9}#success{display:none}.thanks{background:#eaf4e9;color:#35633b;padding:13px;border-radius:12px;font-size:13px}.bar{background:#eeefe8}.zero{color:#a94a28}@media(max-width:360px){.card{padding:17px}.days{gap:4px}h1{font-size:24px}}
button:disabled{opacity:.65;cursor:default}

/* ---- 追加（試作のインライン style を CSP 対応のためクラス化／言語選択／取得状態の表示） ---- */
.reportbtn{width:100%;margin-top:15px;padding:13px;border:0;border-radius:10px;background:#33472c;color:white;font-weight:700;min-height:44px}
.reportbtn:focus-visible,.langsel:focus-visible,a:focus-visible{outline:3px solid #d9ac25;outline-offset:2px}
.boxlabel{font-size:12px}.boxbody{font-size:13px;margin-top:5px}
.adminlink{text-align:center}.adminlink a{color:#637454;font-size:13px}
.langsel{font:inherit;font-size:11px;background:#383a34;color:#fff;border:0;padding:4px 8px;border-radius:30px;max-width:130px}
.shiftnote{font-size:11px;color:#6a7c59;margin:12px 0 0}.shiftnote.warn{color:#8b6c13}
.date.shift{border-color:#9db98f;background:#f4faf1}
.sample[hidden],.demo[hidden],.adminlink[hidden]{display:none}
.big{word-break:keep-all}.days span{min-height:44px}
.msg{font-size:12px;color:#a94a28;margin-top:8px}
.login{max-width:560px;margin:60px auto;padding:0 16px;text-align:center}
.login a{display:inline-block;background:#33472c;color:#fff;padding:13px 22px;border-radius:10px;text-decoration:none;font-weight:700}
@media(max-width:360px){.langsel{max-width:96px}}

.brandrow{display:flex;justify-content:space-between;align-items:center;gap:8px;position:relative;z-index:1}
.tools{display:flex;align-items:center;gap:6px}
.msg:empty{display:none}
.metric strong{white-space:nowrap}
.tools{margin:-6px 0}.langsel{line-height:1.2;padding:2px 8px}
