:root{--ink:#23312c;--ink-sub:#5c6a63;--paper:#faf9f5;--card:#fff;--accent:#147a5e;--accent-dark:#0e5a45;--accent-soft:#e7f3ec;--accent-line:#bcdccb;--warn:#8f6418;--warn-bg:#fbf3e0;--error:#b8433a;--error-bg:#fbedea;--border:#e6e5de;--radius:14px;--radius-lg:20px;--font-display:"Zen Maru Gothic", "Hiragino Maru Gothic ProN", -apple-system, "Hiragino Sans", sans-serif;--shadow-card:0 1px 2px #23312c0a, 0 6px 24px -8px #23312c14}*{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{color:var(--ink);background:var(--paper);margin:0;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,Yu Gothic UI,sans-serif;line-height:1.8}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}.container{max-width:760px;margin:0 auto;padding:0 16px}.site-header{border-bottom:1px solid var(--border);background:var(--card)}.site-header .container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;padding-top:12px;padding-bottom:12px;display:flex}.site-title{font-family:var(--font-display);color:var(--ink);align-items:center;gap:8px;font-size:1.25rem;font-weight:700;text-decoration:none;display:flex}.site-title .logo-mark{flex:none}.site-title span{color:var(--accent)}.header-nav a{color:var(--ink-sub);margin-left:16px;font-size:.9rem;text-decoration:none}.header-nav a:hover{color:var(--accent)}main{padding:28px 0 56px}h1{font-family:var(--font-display);letter-spacing:.01em;margin:0 0 8px;font-size:1.6rem;font-weight:700;line-height:1.45}.lead{color:var(--ink-sub);margin:0 0 20px;font-size:.95rem}h2{font-family:var(--font-display);margin:44px 0 14px;padding-left:14px;font-size:1.25rem;font-weight:700;line-height:1.5;position:relative}h2:before{content:"";background:linear-gradient(180deg, var(--accent), var(--accent-line));border-radius:999px;width:5px;position:absolute;top:.3em;bottom:.3em;left:0}h3{font-family:var(--font-display);margin:26px 0 8px;font-size:1.05rem;font-weight:700}article p{margin:0 0 16px}article a{color:var(--accent-dark)}.privacy-badge{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--radius);align-items:flex-start;gap:10px;margin:0 0 16px;padding:12px 16px;font-size:.88rem;display:flex}.privacy-badge .pb-icon{flex:none;margin-top:4px}.privacy-badge strong{color:var(--accent-dark)}.tool{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow-card);margin-bottom:8px;padding:20px}.dropzone{border:2px dashed var(--accent-line);border-radius:var(--radius);background:var(--accent-soft);text-align:center;cursor:pointer;padding:40px 16px;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone.dragover{border-color:var(--accent);background:#dcede3}.dropzone .dz-icon{margin:0 auto 10px;display:block}.dropzone:hover .dz-icon,.dropzone.dragover .dz-icon{animation:.5s gyu}@keyframes gyu{0%{transform:scaleX(1)}40%{transform:scaleX(.82)}to{transform:scaleX(1)}}.dropzone .dz-main{font-family:var(--font-display);font-size:1.05rem;font-weight:700;display:block}.dropzone .dz-sub{color:var(--ink-sub);margin-top:4px;font-size:.85rem;display:block}.file-info{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);word-break:break-all;align-items:center;gap:10px;margin-top:12px;padding:10px 14px;font-size:.9rem;display:flex}.file-info .fi-icon{flex:none}.file-info .fi-size{color:var(--ink-sub);white-space:nowrap}.file-info button{color:var(--ink-sub);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:4px;font-size:1.1rem}.preset-list{gap:8px;margin-top:16px;display:grid}.preset-item{background:var(--card);border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:flex-start;gap:10px;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.preset-item:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.preset-item input{accent-color:var(--accent);margin-top:5px}.preset-item .p-label{font-size:.95rem;font-weight:700}.preset-item .p-note{color:var(--ink-sub);font-size:.82rem;display:block}.custom-size{align-items:center;gap:8px;margin-top:10px;font-size:.9rem;display:flex}.custom-size input{border:1px solid var(--border);background:var(--card);border-radius:10px;width:90px;padding:8px 10px;font-size:1rem}.btn-primary{background:var(--accent);color:#fff;width:100%;font-family:var(--font-display);letter-spacing:.02em;cursor:pointer;border:none;border-radius:999px;margin-top:16px;padding:14px;font-size:1.05rem;font-weight:700;transition:background .15s,transform .1s;display:block}.btn-primary:hover:not(:disabled){background:var(--accent-dark)}.btn-primary:active:not(:disabled){transform:scale(.985,.96)}.btn-primary:disabled{cursor:not-allowed;background:#c4cdc7}.btn-secondary{background:var(--card);color:var(--ink);border:1px solid var(--border);cursor:pointer;border-radius:999px;margin-top:10px;padding:10px 18px;font-size:.9rem;display:inline-block}.btn-secondary:hover{border-color:var(--accent);color:var(--accent-dark)}.progress-area{margin-top:16px}.progress-label{justify-content:space-between;margin-bottom:6px;font-size:.9rem;display:flex}.progress-bar{background:var(--accent-soft);border-radius:999px;height:12px;overflow:hidden}.progress-bar>div{background:var(--accent);border-radius:999px;width:0%;height:100%;transition:width .3s}.progress-hint{color:var(--ink-sub);margin-top:6px;font-size:.82rem}.result-area{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--radius);text-align:center;margin-top:16px;padding:18px 16px}.result-sizes{margin:0 0 12px;font-size:.95rem}.result-sizes strong{color:var(--accent-dark);font-size:1.2rem}.shrink-viz{max-width:320px;margin:12px auto 2px;display:block}.shrink-viz .sv-before,.shrink-viz .sv-after{border-radius:999px;height:8px;display:block}.shrink-viz .sv-before{background:#cfdcd4}.shrink-viz .sv-after{background:var(--accent);min-width:14px;margin:5px auto 0 0;animation:.7s cubic-bezier(.22,1,.36,1) sv-squeeze}@keyframes sv-squeeze{0%{width:100%}}.btn-download{background:var(--accent);color:#fff;font-family:var(--font-display);border-radius:999px;align-items:center;gap:8px;padding:14px 36px;font-size:1.05rem;font-weight:700;text-decoration:none;transition:background .15s;display:inline-flex}.btn-download:hover{background:var(--accent-dark)}.error-area{background:var(--error-bg);border-radius:var(--radius);color:var(--error);border:1px solid #eecfca;margin-top:16px;padding:12px 16px;font-size:.9rem}.caution-area{background:var(--warn-bg);border-radius:var(--radius);color:#6b4e12;border:1px solid #e6c98f;margin-top:16px;padding:12px 16px;font-size:.9rem}.tool-notes{color:var(--ink-sub);margin:12px 0 0;padding-left:1.2em;font-size:.8rem}.tool-notes li{margin-bottom:2px}.info-box{background:var(--warn-bg);border-left:4px solid #d9a545;border-radius:0 10px 10px 0;margin:16px 0;padding:12px 16px;font-size:.9rem}.tool-cards{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin:16px 0;padding:0;list-style:none;display:grid}.tool-cards a{border:1px solid var(--border);border-radius:var(--radius);color:var(--ink);background:var(--card);height:100%;padding:14px;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s;display:block}.tool-cards a:hover{border-color:var(--accent);box-shadow:var(--shadow-card);transform:translateY(-2px)}.tool-cards .tc-title{font-family:var(--font-display);color:var(--accent-dark);margin-bottom:4px;font-size:.95rem;font-weight:700;display:block}.tool-cards .tc-desc{color:var(--ink-sub);font-size:.82rem}.faq dt{margin-top:16px;font-weight:700}.faq dd{color:var(--ink-sub);margin:4px 0 0;font-size:.95rem}.site-footer{border-top:1px solid var(--border);background:var(--card);color:var(--ink-sub);padding:28px 0;font-size:.85rem}.site-footer nav{margin-bottom:8px}.site-footer a{color:var(--ink-sub);margin-right:16px}.site-footer a:hover{color:var(--accent)}@media (width<=480px){h1{font-size:1.35rem}.header-nav a{margin-left:10px;font-size:.82rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.table-wrap{margin:16px 0;overflow-x:auto}.data-table{border-collapse:collapse;background:var(--card);border-radius:var(--radius);width:100%;min-width:480px;box-shadow:var(--shadow-card);font-size:.9rem;overflow:hidden}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 14px}.data-table th{background:var(--accent-soft);color:var(--accent-dark);white-space:nowrap;font-weight:700}.data-table tr:last-child td{border-bottom:none}
