:root{font-family:Avenir Next,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;color:#12263a;background:radial-gradient(circle at 10% 10%,#e0fbfc 0,#edf2f4 45%,#f8f9fa 100%)}*{box-sizing:border-box}body{margin:0;min-height:100vh}html{scroll-behavior:smooth}main{max-width:980px;margin:0 auto;padding:2rem 1rem 4rem}h1{margin-bottom:.5rem}.card{background:hsla(0,0%,100%,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:16px;padding:1rem;margin-top:1rem}.value{font-size:clamp(2rem,6vw,3.2rem);font-weight:700;letter-spacing:.01em}.meta{display:grid;grid-gap:.5rem;gap:.5rem;margin-top:.75rem}.meta-item{display:flex;justify-content:space-between;border-bottom:1px solid #ecf1f4;padding-bottom:.4rem}.meta-item:last-child{border-bottom:none}input[type=file]{margin-top:.5rem;width:100%;color:#33546d;font-size:.92rem}input[type=file]::-webkit-file-upload-button{-webkit-transition:background-color .12s ease,transform .12s ease;transition:background-color .12s ease,transform .12s ease}input[type=file]::file-selector-button{margin-right:.7rem;padding:.48rem .85rem;border:none;border-radius:10px;background:#d7eaf3;color:#123a53;font-weight:600;cursor:pointer;transition:background-color .12s ease,transform .12s ease}input[type=file]::-webkit-file-upload-button:hover{background:#c6e0ec}input[type=file]::file-selector-button:hover{background:#c6e0ec}input[type=file]::-webkit-file-upload-button:active{transform:translateY(1px)}input[type=file]::file-selector-button:active{transform:translateY(1px)}input[type=file]::-webkit-file-upload-button{margin-right:.7rem;padding:.48rem .85rem;border:none;border-radius:10px;background:#d7eaf3;color:#123a53;font-weight:600;cursor:pointer}.note{margin-top:.75rem;color:#33546d;font-size:.92rem}.jump-link{display:inline-block;margin-top:.6rem;padding:.28rem .65rem;border:1px solid #9bb7c7;border-radius:999px;color:#1d4e6f;background:hsla(0,0%,100%,.75);text-decoration:none;font-size:.86rem;font-weight:600;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.jump-link:hover{background:#fff;border-color:#6f94ab;color:#123a53}.jump-link:focus-visible{outline:2px solid #6f94ab;outline-offset:2px}.caution-card{margin-top:1.25rem}.app-footer{margin-top:1.5rem;padding:1rem 0 .5rem;border-top:1px solid #d8e3ea;color:#5a7285;font-size:.85rem;text-align:center}.app-footer a{color:#1d4e6f;text-decoration:none;font-weight:600;border-bottom:1px solid rgba(29,78,111,.35);transition:color .12s ease,border-color .12s ease}.app-footer a:hover{color:#123a53;border-color:rgba(18,58,83,.65)}.app-footer a:focus-visible{outline:2px solid #6f94ab;outline-offset:2px}.ok-text{color:#1b7f3a}.warn-text{color:#a65800}.alert-text{color:#b00020;margin-top:.75rem}.danger-text{color:#b00020;font-weight:700}.chart-controls{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:.75rem}.chart-control-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:.6rem;gap:.6rem}.chart-control-item input[type=range]{flex:1 1;margin:0}.chart-scroll{overflow-x:auto;overflow-y:hidden;padding-bottom:.25rem}.chart-canvas{min-width:100%}.chart-wrap{height:clamp(260px,42vh,420px)}@media (max-width:720px){.card{padding:.8rem}.chart-wrap{height:clamp(220px,38vh,320px)}.chart-controls{grid-template-columns:1fr;gap:.55rem;font-size:.92rem}}