:root{--bg:#f3f6f8;--ink:#233947;--sub:#566c78;--green:#267b70;--soft:#eaf4f0;--line:#dce5e8;font-family:Meiryo,"Hiragino Kaku Gothic ProN",-apple-system,BlinkMacSystemFont,"Noto Sans",sans-serif;font-size:16px;color:var(--ink);background:var(--bg);color-scheme:light}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;background:white;color:var(--ink);border:1px solid var(--line);border-radius:10px;min-height:44px;padding:10px 14px;font-size:.88rem}button:hover{filter:brightness(.97)}button:disabled{opacity:.5;cursor:wait}button.primary{background:var(--green);color:white;border-color:var(--green)}button.danger{color:#a33e46;border-color:#e7c3c6}a{color:var(--green);text-underline-offset:4px}:focus-visible{outline:3px solid #8bb9a9;outline-offset:3px}.skip{position:absolute;top:-100px}.skip:focus{top:10px;background:white;padding:12px;z-index:30}.brand{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 28px;background:white;border-bottom:1px solid var(--line)}.identity{display:flex;gap:13px;align-items:center;text-decoration:none;color:var(--ink)}.identity strong{font-size:1.28rem}.identity small{display:block;color:var(--sub);font-size:.75rem;margin-top:5px}.logo{display:grid;place-items:center;width:45px;height:45px;background:var(--soft);border-radius:13px;font-size:30px;color:var(--green)}.local-badge,.badge{background:var(--soft);color:var(--green);border-radius:7px;padding:5px 9px;font-size:.75rem;display:inline-block}.shell{display:grid;grid-template-columns:184px minmax(0,1fr);max-width:1440px;margin:auto;min-height:calc(100dvh - 94px)}.nav{padding:24px 12px;background:white;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.nav button{display:flex;align-items:center;gap:12px;border:0;text-align:left;min-height:49px;font-size:.92rem}.nav button[aria-current=page]{background:var(--green);color:white}.nav svg{width:22px;height:22px;flex:none}main{width:100%;max-width:1130px;padding:27px 30px 60px;min-width:0}h1{font-size:1.65rem;margin:0 0 6px;line-height:1.5}h2{font-size:1.04rem;line-height:1.6;margin:0 0 16px}h3{font-size:1rem;margin:18px 0 12px}p{line-height:1.85;margin:0 0 14px;overflow-wrap:anywhere}.sub{color:var(--sub);font-size:.8rem}.page-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:start;gap:16px;margin-bottom:24px}.date-nav,.toolbar,.actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.date-nav input{width:160px}.date-nav button{padding:9px 13px}.date-caption{margin:0}.card{background:white;border:1px solid var(--line);border-radius:16px;padding:22px;margin-bottom:16px;min-width:0}.card-heading{display:flex;gap:10px;align-items:center;margin-bottom:15px}.card-heading h2{margin:0}.icon{display:grid;place-items:center;background:var(--soft);color:var(--green);border-radius:9px;flex:none;width:34px;height:34px}.icon svg{width:21px;height:21px}.warm .icon{background:#fbefe7;color:#a35136}.sky .icon{background:#eaf3f9;color:#367ca0}.gold .icon{background:#fbf4e4;color:#8c6a27}.hero{background:var(--soft);padding:24px}.hero h2{font-size:1.2rem}.hero-title{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:12px}.hero-title h2{margin:0}.scores{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:18px 0}.scores button{padding:12px 4px;background:white;min-width:0}.scores button[aria-pressed=true]{background:var(--green);color:white}.scores b{display:block;font-size:1.35rem;font-family:"Segoe UI",sans-serif;font-weight:600;margin-bottom:5px}.scores span{font-size:.7rem;white-space:nowrap}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cards>.card{margin-bottom:0}.records .record{padding:0 0 17px;margin-bottom:17px;border-bottom:1px solid var(--line)}.record-head{display:flex;justify-content:space-between;gap:10px;align-items:start}.record-head button{min-height:36px;padding:7px 12px;font-size:.8rem}.record .badge{background:#f0f4f6;color:var(--sub)}.value{display:flex;gap:8px;align-items:baseline;line-height:1.5;margin:7px 0 12px}.value strong{font-size:2rem;font-family:"Segoe UI",-apple-system,sans-serif;font-weight:600}.value span{font-size:.85rem;color:var(--sub)}.add{width:100%;background:var(--soft);color:var(--green);border:0}.empty{font-size:.85rem;color:var(--sub);padding:4px 0 16px;margin:0}.photo{display:block;max-width:100%;height:auto;max-height:220px;border-radius:10px;margin:14px 0;object-fit:contain;background:var(--bg)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:18px}.stat{background:white;border:1px solid var(--line);border-radius:14px;padding:18px;min-width:0}.stat>p{margin:0}.stat .value{margin:7px 0}.stat .value strong{font-size:1.8rem}.field{display:flex;flex-direction:column;gap:7px;min-width:0;margin-bottom:16px}.field>span,.field>label{color:var(--sub);font-size:.82rem;line-height:1.8}input,select,textarea{width:100%;min-width:0;max-width:100%;min-height:46px;background:white;border:1px solid #cbd9df;border-radius:9px;color:var(--ink);padding:11px 12px;font-size:1rem}input[type=checkbox]{width:20px;min-height:20px;height:20px;flex:none;accent-color:var(--green)}textarea{min-height:100px;resize:vertical;line-height:1.8}input[type=file]{font-size:.84rem}input[type=date],input[type=time]{min-height:46px;display:block;min-inline-size:0;appearance:none;-webkit-appearance:none}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.full{grid-column:1/-1}.check-label{display:flex;align-items:center;gap:10px;font-size:.92rem;margin:14px 0;line-height:1.6}.notice{padding:16px;border-radius:10px;background:#fbf7ed;color:#715735;font-size:.86rem;line-height:1.85;margin-bottom:15px}.error{background:#fff0f0;color:#8f343e;padding:12px 15px;border-radius:9px;font-size:.9rem;line-height:1.7}.muted-bg{background:var(--bg)}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.weekday{text-align:center;padding:4px;color:var(--sub);font-size:.8rem}.calendar button{padding:9px 2px;min-height:74px;border-radius:10px;min-width:0}.calendar strong{font-size:1.15rem;font-family:"Segoe UI",sans-serif;display:block}.calendar small{font-size:.64rem;display:block;line-height:1.5;margin-top:5px}.calendar .selected{background:var(--green);color:white}.calendar .placeholder{min-height:60px}.graph{width:100%;height:auto;display:block;overflow:visible;margin-bottom:10px}.graph text{font-family:"Segoe UI",sans-serif;fill:var(--sub);font-size:12px}.graph .axis{stroke:var(--line);stroke-width:1}.graph .line{fill:none;stroke:var(--green);stroke-width:2.5}.graph .range{stroke:#9fc2b4;stroke-width:3}.graph circle.avg{fill:var(--green);stroke:white;stroke-width:1.5}.graph circle.raw{fill:#b9864b;stroke:white;stroke-width:1}.graph a:focus{outline:none}.graph a:focus circle{stroke:#233947;stroke-width:3}.graph a{cursor:pointer}.graph .target{fill:transparent;stroke:none}.table-wrap{overflow:auto;margin-top:13px}table{width:100%;border-collapse:collapse;font-size:.84rem}th,td{text-align:left;vertical-align:middle;padding:10px 7px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--sub);font-weight:500}td button{min-height:34px;font-size:.8rem;padding:6px 8px}tbody tr:nth-child(odd){background:#f6f8f9}details>summary{cursor:pointer;font-size:.9rem;line-height:1.7;min-height:40px;list-style-position:inside}details[open]>summary{margin-bottom:15px}dialog{padding:0;border:1px solid var(--line);border-radius:18px;width:min(650px,calc(100% - 28px));max-width:100%;max-height:calc(100dvh - 30px);color:var(--ink);background:var(--bg);box-shadow:0 12px 65px #1a32342b}dialog::backdrop{background:#17373c70}.dialog-header{padding:22px 24px 12px}.dialog-header h2{font-size:1.35rem;margin-bottom:9px}.dialog-body{padding:10px 24px 18px}.dialog-footer{display:flex;flex-wrap:wrap;gap:8px;position:sticky;bottom:0;background:var(--bg);padding:15px 24px;border-top:1px solid var(--line)}.dialog-footer .danger{margin-left:auto}.dialog-footer button{flex:0 0 auto}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#233947;color:white;padding:12px 20px;border-radius:12px;max-width:calc(100% - 28px);width:max-content;z-index:40;font-size:.85rem;line-height:1.7;box-shadow:0 5px 20px #23394733}.loading{padding:30px;color:var(--sub)}.legend{font-size:.78rem;color:var(--sub);line-height:1.85}.footer-note{font-size:.76rem;color:var(--sub);padding-top:24px}.settings-actions{display:grid;gap:10px;max-width:450px}.metric-select{max-width:180px}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.data-help{font-size:.8rem;color:var(--sub);line-height:1.9}
@media(max-width:720px){.brand{padding:15px 16px}.identity strong{font-size:1.14rem}.identity small{font-size:.65rem}.logo{width:38px;height:38px;font-size:27px}.local-badge{font-size:.64rem;white-space:nowrap;padding:5px 7px}.shell{display:block;min-height:calc(100dvh - 78px)}.nav{position:fixed;bottom:0;left:0;right:0;z-index:15;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:6px 4px calc(7px + env(safe-area-inset-bottom));gap:1px;border-right:0;border-top:1px solid var(--line);box-shadow:0 -2px 12px #243b4308}.nav button{flex-direction:column;gap:3px;padding:6px 0 5px;min-height:52px;border-radius:9px;font-size:.62rem;white-space:nowrap;justify-content:center}.nav svg{width:22px;height:22px}.nav button[aria-current=page]{background:var(--soft);color:var(--green)}main{padding:22px 16px calc(100px + env(safe-area-inset-bottom));max-width:none}.page-header{display:block;margin-bottom:19px}.page-header h1{font-size:1.5rem}.date-nav{margin-top:15px;gap:7px;flex-wrap:nowrap}.date-nav input{width:144px;flex:1 1 144px;max-width:190px}.date-nav button{flex:none;padding:9px 12px}.card{padding:19px 17px;border-radius:14px;margin-bottom:14px}.cards{grid-template-columns:1fr;gap:14px}.hero{padding:20px 17px}.hero h2{font-size:1.1rem}.hero-title{display:block}.hero-title button{margin-top:10px}.scores{gap:5px}.scores button{padding:12px 2px}.scores span{font-size:.64rem}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{padding:15px 12px}.stat .value strong{font-size:1.7rem}.fields{grid-template-columns:1fr;gap:0}.full{grid-column:auto}.toolbar{gap:6px}.toolbar button{padding:9px 12px}.calendar{gap:4px}.calendar button{min-height:69px}.calendar small{font-size:.6rem}.graph text{font-size:13px}.graph{margin-top:10px}.legend{font-size:.78rem}.dialog-header{padding:20px 18px 9px}.dialog-body{padding:10px 18px 16px}.dialog-footer{padding:13px 18px calc(13px + env(safe-area-inset-bottom))}.dialog-footer .danger{margin-left:0}#toast{bottom:calc(88px + env(safe-area-inset-bottom))}.table-wrap{margin-right:-6px}.settings-actions{max-width:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media print{.nav,.date-nav,.toolbar,.settings-actions,button,.brand,.footer-note{display:none!important}.shell{display:block}main{padding:0;max-width:none}.card{break-inside:avoid;border-color:#ccc}body{background:white}}
.download-panel{scroll-margin-top:16px}.download-panel p{white-space:pre-wrap;overflow-wrap:anywhere}.download-link{display:inline-flex;align-items:center;min-height:48px;padding:10px 18px;background:var(--green);color:white;border-radius:10px;text-decoration:none;margin-top:8px}
@media(max-width:720px){td button{min-height:44px;min-width:44px}}
