:root{color:#173b69;font-synthesis:none;--page-bg:#f7fbff;--blue:#0879de;--blue-dark:#075baa;--blue-soft:#e8f4ff;--line:#d9e7f2;--ink:#173b69;--muted:#68809b;--surface:#fff;background:#f7fbff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans JP,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--page-bg)}body{background:linear-gradient(#f8fcff 0,#eef7fd 55%,#e7f3fb 100%);min-width:320px;min-height:100vh;margin:0}body:before{content:"";z-index:1000;height:env(safe-area-inset-top);background:var(--page-bg);pointer-events:none;position:fixed;inset:0 0 auto}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}svg{stroke-width:2.2px;width:1.1em;height:1.1em}.fitness-app{background:#ffffffbd;width:min(100%,760px);min-height:100vh;margin:0 auto;padding:0 18px 98px;box-shadow:0 0 50px #194d7914}.fitness-page-intro{margin:8px 2px 18px}.fitness-page-intro h1{color:var(--ink);margin:0 0 5px;font-size:clamp(23px,5vw,28px);line-height:1.3}.fitness-page-intro p{color:var(--muted);margin:0;font-size:13px;line-height:1.7}.app-header{z-index:5;min-height:calc(108px + env(safe-area-inset-top));padding:calc(15px + env(safe-area-inset-top)) 20px 12px;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f8fcfff0;grid-template-columns:54px 1fr 48px;align-items:center;gap:10px;margin:0 -18px 16px;display:grid;position:sticky;top:0}.home-link{color:#fff;background:var(--blue);border-radius:14px;place-items:center;width:42px;height:42px;display:grid}.home-link svg{width:20px;height:20px}.header-copy h1{color:#064c92;letter-spacing:-.035em;margin:0;font-size:clamp(21px,4.8vw,29px);line-height:1.16}.header-copy h1 span{white-space:nowrap}.header-copy p{color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.4}.icon-button{border:1px solid var(--line);width:42px;height:42px;color:var(--blue-dark);cursor:pointer;background:#fff;border-radius:14px;place-items:center;padding:0;display:grid}.icon-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.profile-card,.panel,.encouragement{border:1px solid var(--line);background:#fffffff0;border-radius:16px;box-shadow:0 7px 22px #124c7e0e}.profile-card{grid-template-columns:.8fr 1.2fr;gap:12px 16px;padding:16px;display:grid}@media (width<=520px){.profile-card{grid-template-columns:1fr}}.profile-card label,.profile-card fieldset{color:var(--ink);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;margin:0;font-size:13px;font-weight:800;display:grid}.profile-card input,.profile-card select{color:#173b69;background:#fff;border:1px solid #cfe0ec;border-radius:8px;outline:none;width:100%;min-height:42px;padding:8px 11px}.profile-card fieldset{border:0;grid-template-columns:auto auto auto;padding:0}.profile-card fieldset legend{display:contents}.profile-card fieldset label{grid-template-columns:auto auto;gap:6px;font-weight:700}.profile-card input[type=radio]{width:21px;min-height:21px;accent-color:var(--blue)}.panel{margin-top:14px;padding:14px}.panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.panel-heading h2{letter-spacing:-.02em;align-items:center;gap:8px;margin:0;font-size:17px;display:flex}.panel-heading h2 svg{color:var(--blue);width:22px;height:22px}.panel-heading>span{color:var(--muted);text-align:right;font-size:11px}.measure-list{border:1px solid #e0ebf3;border-radius:12px;overflow:hidden}.measure-row{background:#fff;border-bottom:1px solid #e5eef5;grid-template-columns:25px minmax(112px,1fr) minmax(132px,1.15fr) 54px 36px;align-items:center;gap:8px;min-height:51px;padding:6px 9px;display:grid}.measure-row:last-child{border-bottom:0}.measure-number{color:var(--blue-dark);text-align:center;font-weight:800}.measure-name-group{min-width:0}.measure-name{font-size:14px;font-weight:800}.measure-input{color:var(--muted);grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:7px;font-size:12px;display:grid}.measure-input input{width:100%;min-width:0;height:37px;color:var(--ink);text-align:center;background:#fff;border:1px solid #cfdfeb;border-radius:7px;outline:none;padding:5px 8px}.measure-score{color:#07518f;background:#e9f4fc;border-radius:8px;place-items:center;min-height:35px;font-size:13px;font-weight:900;display:grid}.measure-info-button{color:#718397;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:36px;height:36px;padding:6px;display:grid}.measure-info-button svg{width:17px;height:17px}.measure-info-button:hover{color:#4b6278;background:0 0}.measure-info-button:focus-visible,.dialog-close:focus-visible,.dialog-ok:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.reference-measures{border-top:1px dashed #cbddea;margin-top:14px;padding-top:13px}.reference-heading{justify-content:space-between;align-items:baseline;gap:12px;margin:0 2px 8px;display:flex}.reference-heading h3{color:#335f84;margin:0;font-size:14px}.reference-heading span{color:var(--muted);font-size:10px}.reference-row{background:#f9fcfe}.reference-label{color:#607d96;background:#edf3f7;font-size:10px}.results-panel{margin-top:16px}.text-button{color:var(--blue);cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;padding:4px 0;font-size:11px;font-weight:800;display:inline-flex}.result-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.result-grid article{text-align:center;background:linear-gradient(#f3faff,#e8f5ff);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:110px;padding:10px 6px;display:flex}.result-grid article>span{font-size:12px;font-weight:800}.result-grid strong{color:#075baa;margin-top:5px;font-size:clamp(31px,9vw,48px);line-height:.95}.result-grid strong small{margin-left:2px;font-size:14px}.result-grid article>small{min-height:15px;color:var(--muted);margin-top:7px;font-size:9px}.result-grid .positive{color:#12a05c;font-size:clamp(22px,7vw,35px)}.result-grid .negative{color:#d94c4c;font-size:clamp(22px,7vw,35px)}.result-message{color:#23577f;background:#eaf6ff;border-radius:10px;align-items:center;gap:10px;min-height:55px;margin:10px 0;padding:11px 13px;font-size:12px;line-height:1.55;display:flex}.result-message svg{color:var(--blue);flex:none;width:23px;height:23px}.action-row{grid-template-columns:1.2fr 1fr 1fr;gap:8px;display:grid}.action-row button{color:#07518f;cursor:pointer;background:#fff;border:1px solid #bcd8eb;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:48px;padding:8px;font-size:13px;font-weight:900;display:flex}.action-row .primary-button{border-color:var(--blue);color:#fff;background:linear-gradient(135deg,#0589ee,#006bc6)}.save-status{color:#28715d;text-align:center;min-height:18px;margin:8px 0 0;font-size:11px}.history-table-wrap{border:1px solid #deebf4;border-radius:10px;overflow-x:auto}table{border-collapse:collapse;text-align:center;width:100%;font-size:11px}th{color:#416484;background:#eaf5fd;padding:8px 6px}td{color:#274f73;background:#fff;border-top:1px solid #e4eef5;padding:9px 6px}.grade-badge{color:#075baa;background:#e7f3fd;border-radius:50%;place-items:center;min-width:25px;height:25px;display:inline-grid}.grade-c,.grade-d,.grade-e{color:#9b6500;background:#fff3cc}.delete-button{color:#8aa0b3;cursor:pointer;background:0 0;border:0;place-items:center;margin:auto;padding:5px;display:grid}.empty-history{color:var(--muted);text-align:center;margin:14px 0;font-size:12px}.encouragement{color:#18598f;background:linear-gradient(90deg,#e2f2ff,#f6fbff);justify-content:center;align-items:center;gap:13px;margin-top:14px;padding:15px;display:flex}.encouragement>svg{width:35px;height:35px;color:var(--blue)}.encouragement p{gap:3px;margin:0;display:grid}.encouragement strong{font-size:13px}.encouragement span{color:var(--muted);font-size:10px}dialog{width:min(100% - 32px,560px);max-height:min(88vh,780px);color:var(--ink);background:#fff;border:0;border-radius:18px;padding:24px;overflow-y:auto;box-shadow:0 25px 80px #07355c4d}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0720357a}dialog h2{color:#075baa;margin:0 42px 16px 0;font-size:20px}dialog p,dialog li{color:#526e87;font-size:13px;line-height:1.75}.dialog-close{cursor:pointer;background:#eef6fb;border:0;border-radius:50%;place-items:center;width:36px;height:36px;padding:0;display:grid;position:absolute;top:14px;right:14px}.dialog-ok{color:#fff;background:var(--blue);cursor:pointer;border:0;border-radius:10px;width:100%;min-height:45px;margin-top:14px;font-weight:800}.dialog-note{background:#f0f7fc;border-radius:9px;padding:10px 12px}.measurement-guide-intro{margin:0 0 12px}.measurement-guide{gap:8px;display:grid}.measurement-guide details{background:#fbfdff;border:1px solid #d8e7f2;border-radius:11px;overflow:hidden}.measurement-guide summary{color:#174f7d;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:10px 13px;font-size:13px;font-weight:900;list-style:none;display:flex}.measurement-guide summary::-webkit-details-marker{display:none}.measurement-guide summary:after{content:"＋";color:var(--blue);flex:none;font-size:18px;font-weight:500}.measurement-guide details[open] summary{background:#f0f8fe;border-bottom:1px solid #e2edf5}.measurement-guide details[open] summary:after{content:"−"}.measurement-guide-body{padding:10px 13px 12px}.measurement-guide-body p{margin:0}.measurement-guide-body p+p{margin-top:6px}.measurement-guide-body strong{color:#184d78}.measurement-source{margin:14px 0 0;font-size:11px}.measurement-source a{color:var(--blue-dark);text-underline-offset:2px;font-weight:800;text-decoration:underline}@media (width<=560px){.fitness-app{padding-inline:10px}.app-header{min-height:calc(74px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 14px 0;grid-template-columns:42px 1fr auto;margin-inline:-10px}.home-link{border-radius:14px;width:42px;height:42px}.header-copy h1{font-size:20px}.header-copy p{font-size:10px}.profile-card{gap:10px;padding:12px}.profile-card label,.profile-card fieldset{gap:6px;font-size:11px}.profile-card input,.profile-card select{min-height:39px;padding-inline:8px;font-size:12px}.panel{padding:11px}.measure-row{grid-template-columns:18px minmax(70px,1fr) minmax(88px,1.05fr) 37px 36px;gap:4px;padding-inline:4px}.measure-name{font-size:12px}.measure-input{grid-template-columns:minmax(0,1fr) 20px;gap:4px;font-size:10px}.measure-input input{padding-inline:4px}.measure-score{font-size:11px}.measure-info-button{width:36px;height:36px}.action-row button{font-size:11px}}@media (width>=900px){.fitness-app{border-radius:26px;min-height:auto;margin-block:22px 100px;overflow:hidden}.app-header{position:relative}}button,.home-link{box-shadow:none!important}.app-header{grid-template-columns:42px 1fr auto}.header-controls{align-items:center;gap:7px;display:flex}.language-toggle{border:1px solid var(--line);min-width:42px;height:42px;color:var(--blue-dark);cursor:pointer;background:#fff;border-radius:14px;padding:0 8px;font-size:10px;font-weight:900}.guide-content{border:1px solid var(--line);background:#fff;border-radius:16px;margin-top:18px;padding:24px}.guide-label{color:var(--blue);letter-spacing:.13em;margin:0;font:900 10px/1.4 Arial,sans-serif}.guide-content h2{color:var(--ink);margin:7px 0 13px;font-size:23px;line-height:1.4}.guide-content h3{color:#184f7d;margin:23px 0 7px;font-size:16px}.guide-content p,.guide-content li{color:var(--muted);font-size:13px;line-height:1.85}.guide-content ul{padding-left:1.3em}.source-note{background:#edf7ff;border-radius:10px;padding:13px}.source-note a{color:var(--blue-dark);text-underline-offset:3px;font-weight:800;text-decoration:underline}.guide-links{border-top:1px solid var(--line);flex-wrap:wrap;gap:10px 16px;margin-top:24px;padding-top:16px;display:flex}.guide-links a{color:var(--blue-dark);font-size:12px;font-weight:800}@media (width<=560px){.guide-content{padding:20px 16px}.guide-content h2{font-size:20px}}body[data-theme=dark]{--ink:#f2f7ff;--muted:#9dafc7;--line:#273a5d;--blue:#59caff;--blue-dark:#78d8ff;--blue-soft:#142e4b;--surface:#0f1b30;color:var(--ink);background:#070b18}body[data-theme=dark] .fitness-app{background:radial-gradient(circle at 88% 0,#3285ff2b,#0000 25rem),#070b18f0}body[data-theme=dark] .app-header,body[data-theme=dark] .panel,body[data-theme=dark] .profile-card,body[data-theme=dark] .guide-content,body[data-theme=dark] .history-panel{background:linear-gradient(145deg,#111f36,#0b1528);border-color:#263c61}body[data-theme=dark] input,body[data-theme=dark] select,body[data-theme=dark] .language-toggle,body[data-theme=dark] .icon-button{color:#ddecff;background:#111e33;border-color:#2b436a}body[data-theme=dark] .measure-list{background:#0b1528;border-color:#2b436a}body[data-theme=dark] .measure-row,body[data-theme=dark] .reference-row{color:#edf5ff;background:#101d31;border-color:#263c61}body[data-theme=dark] .measure-name{color:#edf5ff}body[data-theme=dark] .measure-number{color:#67d7ff}body[data-theme=dark] .measure-input{color:#a9bad0}body[data-theme=dark] .measure-input input{color:#fff;caret-color:#67d7ff;background:#0a1628;border-color:#3b5b86}body[data-theme=dark] .measure-score{color:#a8e7ff;background:#17314f}body[data-theme=dark] .measure-info-button{color:#a7b7ca}body[data-theme=dark] .measure-info-button:hover{color:#d6e0ec;background:0 0}body[data-theme=dark] .reference-label{color:#b9cadb;background:#203149}body[data-theme=dark] .result-grid article{color:#edf5ff;background:linear-gradient(#142b46,#101f36)}body[data-theme=dark] .result-grid strong{color:#7bdcff}body[data-theme=dark] .result-message{color:#d8eaff;background:#142b46}body[data-theme=dark] .action-row button{color:#bcecff;background:#101d31;border-color:#35517b}body[data-theme=dark] .history-table-wrap{border-color:#2b436a}body[data-theme=dark] th{color:#c4eaff;background:#17314f}body[data-theme=dark] td{color:#ddecff;background:#101d31;border-color:#263c61}body[data-theme=dark] dialog{color:#edf5ff;background:#101d31}body[data-theme=dark] dialog :is(h2,h3,strong){color:#bcecff}body[data-theme=dark] dialog :is(p,li){color:#b5c7db}body[data-theme=dark] .measurement-guide details{background:#0c182b;border-color:#2b436a}body[data-theme=dark] .measurement-guide summary{color:#ddecff}body[data-theme=dark] .measurement-guide details[open] summary{background:#142b46;border-color:#2b436a}body[data-theme=dark] .header-copy h1{color:var(--ink)}.app-header{grid-template-columns:42px minmax(0,1fr);gap:13px}.header-copy .ckas-wordmark{display:block}.header-copy h1{color:var(--ink);letter-spacing:0;margin-top:4px;font-size:19px;line-height:1.2}@media (width<=560px){.app-header{grid-template-columns:42px minmax(0,1fr);padding-inline:12px}.header-copy h1{font-size:19px}}.panel-heading h2 svg,.measure-score,.result-grid strong,.grade-badge,dialog h2{color:var(--ckas-accent)}.measure-number,body[data-theme=dark] .measure-number{width:25px;height:auto;color:var(--ckas-accent);text-align:center;background:0 0;font-weight:900;line-height:1;display:block}.action-row .primary-button{background:var(--ckas-accent);border-color:var(--ckas-accent)}.measure-score,.grade-badge{background:var(--ckas-accent-soft)}.encouragement{color:var(--ckas-accent);background:color-mix(in srgb,var(--ckas-accent-soft) 76%,#fff)}.profile-card input:focus,.profile-card select:focus,.measure-input input:focus{border-color:var(--ckas-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--ckas-accent) 14%,transparent)}
