
:root{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;color:#193849;background:#f5f9f9;line-height:1.65}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #2caeaa;outline-offset:3px}.wrap{width:min(1120px,calc(100% - 36px));margin:0 auto}.tool-header{background:white;border-bottom:1px solid #e5ecec}.tool-nav{display:flex;align-items:center;gap:18px;justify-content:space-between;min-height:77px}.tool-brand{font-size:20px;font-weight:850;color:#174558;letter-spacing:-.04em}.tool-brand-mark{display:inline-grid;place-items:center;margin-right:8px;width:34px;height:34px;background:#e6f6ef;border-radius:50%;color:#148e82}.tool-nav-links{display:flex;align-items:center;gap:18px;font-size:13px;color:#58727c;font-weight:700}.tool-nav-links a:hover{text-decoration:underline}.tool-hero{padding:46px 0 29px}.crumb{font-size:12px;color:#557481;margin:0 0 20px}.crumb a{text-decoration:underline;text-underline-offset:3px}.tool-hero h1{letter-spacing:-.06em;font-size:clamp(29px,5vw,44px);line-height:1.35;margin:14px 0 12px}.tool-hero p{font-size:14px;color:#5d7680;line-height:1.9;max-width:720px}.hero-icon{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:#e6f5ed;color:#169487}.hero-icon svg{width:34px;height:34px}.hero-icon.lavender{background:#eee9ff;color:#765bd1}.hero-icon.peach{background:#fff0de;color:#bf7c36}.hero-icon.butter{background:#fff1bb;color:#c28c26}.hero-icon.ice{background:#e1f1ff;color:#2787bd}.section{margin:10px 0 28px}.panel{background:white;border:1px solid #dde9e8;border-radius:21px;box-shadow:0 6px 24px #214c5009;padding:28px}.section-head{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:20px}.section-head h2{font-size:20px;letter-spacing:-.035em;margin:0}.section-head p{font-size:12px;color:#7b909a;margin:5px 0 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:11px;border:1px solid #cadfe0;background:#fff;color:#245769;padding:10px 14px;font-weight:750;font-size:13px}.btn:hover{background:#eaf4f2}.btn svg{width:16px;height:16px}.btn-primary{background:#146577;border-color:#146577;color:white}.btn-primary:hover{background:#0a7480}.btn-ghost{border-color:#e0eaea}.btn-danger{color:#a14349}.control-line{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.duration-label{font-size:13px;font-weight:750;color:#315c68}.duration-input{width:110px;border:1px solid #cddedf;border-radius:10px;padding:10px 12px;text-align:right;background:white;color:#143f4c;font-size:16px}.options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.quote{border:1px solid #dce7e8;border-radius:17px;padding:18px;background:#fcfefe;min-width:0}.quote-title{display:flex;gap:8px;align-items:center;justify-content:space-between;margin:0 0 14px}.name-field{flex:1;min-width:0;border:1px solid #d0e0e0;border-radius:9px;padding:10px;font-size:15px;font-weight:800;color:#235465}.del-btn{white-space:nowrap;border:0;background:transparent;color:#a35e62;font-size:12px;padding:8px}.cost-field{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;border-bottom:1px solid #f0f4f5;padding:9px 0}.cost-field:last-of-type{border-bottom:0}.cost-field label{font-size:12.5px;color:#4d6a76;flex:1}.numeric-wrap{display:flex;align-items:center;gap:4px;min-width:123px}.numeric-wrap input{width:106px;min-width:0;border:1px solid #d1dfe0;border-radius:9px;padding:8px 9px;text-align:right;background:white;font-size:15px;color:#244555}.numeric-wrap span{font-size:11px;color:#8b9ba0}.add-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:18px 0 0}.hint{font-size:12px;color:#70838d}.result-area{min-height:110px}.empty{text-align:center;color:#6e8790;background:#f6faf9;border:1px dashed #cfdfdc;border-radius:15px;padding:27px 15px}.results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.result{border:1px solid #dbe8e7;background:#fbfdfd;border-radius:16px;padding:20px;min-width:0}.result.best{background:#f0faf7;border-color:#58b3a8}.result-label{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:12px}.result-label strong{font-size:15px;overflow-wrap:anywhere}.small-tag{font-size:10px;background:#d8f2e9;color:#087970;border-radius:99px;padding:4px 8px;white-space:nowrap}.result-value{font-size:29px;font-weight:900;letter-spacing:-.065em;color:#183e51;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.result-detail{font-size:12px;color:#6b8188;line-height:1.8;margin:10px 0}.bar-back{height:11px;border-radius:99px;background:#e3eeed;overflow:hidden;margin-top:15px}.bar{height:100%;background:#a1bfca;border-radius:99px;transition:width .2s}.best .bar{background:#21a799}.result-sub{font-size:12px;color:#365f6d;margin-top:12px}.saved-note{font-size:11px;color:#69828a;line-height:1.7}.warning{border:1px solid #e7e6cd;background:#fffdf2;border-radius:14px;padding:17px 19px;font-size:12px;color:#6e6749;line-height:1.85}.warning ul{margin:8px 0 0;padding-left:18px}.footer{margin-top:48px;border-top:1px solid #dce9e7;background:#eaf2f0;padding:27px 0 36px;color:#607a80;font-size:12px}.footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}.footer-links{display:flex;flex-wrap:wrap;gap:15px}.footer a{text-decoration:underline;text-underline-offset:3px}@media(max-width:750px){.wrap{width:min(100% - 28px,1120px)}.tool-nav-links{gap:10px;font-size:11px}.tool-brand{font-size:17px}.tool-hero{padding:30px 0 20px}.panel{padding:17px;border-radius:16px}.options,.results{grid-template-columns:1fr}.result-value{font-size:27px}.section-head{flex-direction:column}.cost-field label{font-size:12px}.quote{padding:15px}.tool-nav{min-height:67px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.bar{transition:none}}

/* v11 Concept F identity */
.tool-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin-right:8px;border-radius:10px;background:transparent;color:inherit;vertical-align:middle}
.tool-brand-mark img{display:block;width:34px;height:34px;border-radius:10px}

/* v13 Internet speed guidance */
.speed-intro{border-radius:18px;padding:25px 28px;background:linear-gradient(115deg,#e9f6ff,#f7fcff);border:1px solid #cde2ed}.speed-intro h2{margin:6px 0 10px;font-size:22px;letter-spacing:-.03em}.speed-intro p{font-size:13px;line-height:1.85;color:#536e7a;max-width:880px}.speed-eyebrow{font-size:11px;letter-spacing:.1em;font-weight:850;color:#168399}.speed-guide-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.speed-test-link{background:#146b84;color:white;padding:11px 14px;border-radius:10px;font-size:13px;font-weight:850;text-decoration:none}.speed-guide-link{background:white;color:#1a6c88;border:1px solid #bfd7e4;padding:11px 14px;border-radius:10px;font-size:13px;font-weight:800;text-decoration:none}.speed-intro .speed-privacy{font-size:11px;color:#67848c}.speed-results{display:grid;gap:15px}.speed-card{border:1px solid #d8e8eb;border-radius:15px;background:#f9fcfd;padding:19px}.speed-card h3{font-size:17px;color:#18495d;margin:0 0 6px}.speed-facts{font-size:12px;font-weight:750;color:#446d7a;line-height:1.7}.speed-task-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.speed-task{display:grid;grid-template-columns:1fr auto;gap:3px 12px;align-items:center;background:#fff;border:1px solid #e6eeee;padding:12px;border-radius:10px;font-size:12px;color:#234959}.speed-task>span:first-child{font-weight:850}.speed-task small{grid-column:1/-1;font-size:10px;line-height:1.6;color:#6b8791}.speed-status{font-size:10px;padding:5px 7px;border-radius:99px;font-weight:850;white-space:nowrap}.speed-status.meets{background:#d5f4e7;color:#147b63}.speed-status.below{background:#ffe9d9;color:#985421}.speed-status.unknown{background:#edf1f4;color:#657884}.speed-info{font-size:12px;line-height:1.75;color:#557380;margin:15px 0 0}.speed-source-note{font-size:11px;line-height:1.9;color:#63808b;margin-top:16px}.speed-source-note a{text-decoration:underline;text-underline-offset:3px;color:#166d86}@media(max-width:750px){.speed-intro{padding:20px}.speed-task-grid{grid-template-columns:1fr}.speed-card{padding:14px}.speed-intro h2{font-size:19px}}

.speed-benchmarks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:17px 0}.speed-benchmarks>div{background:#fff;border:1px solid #d6e9f0;border-radius:11px;padding:12px 13px;display:grid;gap:4px}.speed-benchmarks strong{font-size:13px;color:#145673}.speed-benchmarks span{font-size:11px;line-height:1.6;color:#657f8c}@media(max-width:750px){.speed-benchmarks{grid-template-columns:1fr}}

/* v15: transparent, user-initiated speed measurement flow */
.speed-howto{margin-top:15px;padding:18px 20px;border:1px solid #cde7e4;border-radius:14px;background:#f4fbfa;color:#174151;line-height:1.8}
.speed-howto h3{font-size:1rem;margin:0 0 8px;color:#104957}
.speed-howto ol{padding-left:1.25em;margin:8px 0}
.speed-howto li{margin:5px 0}
.speed-howto p{font-size:.89rem;margin:12px 0 0;color:#395968}
@media(max-width:600px){.speed-howto{padding:14px 15px}.speed-howto h3{font-size:.96rem}}

.disclaimer-note{padding-top:12px;margin:16px 0 0;border-top:1px solid #d4e6eb;font-size:.9rem;line-height:1.8}.disclaimer-note a{color:#006e84;text-decoration:underline;text-underline-offset:3px}
