:root{font-family:"Yu Gothic UI","Meiryo",sans-serif;color:#172544;background:#f3f6fc;font-size:16px;line-height:1.65}*{box-sizing:border-box}body{margin:0}header,main,footer{max-width:1180px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;border-bottom:1px solid #dce3ef}.brand{font-size:24px;font-weight:800;letter-spacing:-1px;color:#172544;text-decoration:none}.brand span{color:#204bd8;margin-left:5px}.badge{font-size:13px;padding:5px 12px;background:#e5eafa;border-radius:20px;color:#304b8e}main{padding:36px 32px}.intro{margin-bottom:28px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;color:#254dcb;margin:0 0 10px}h1{font-size:34px;letter-spacing:-1px;line-height:1.4;margin:0 0 10px}.intro p{margin-top:8px}.privacy{font-size:14px;color:#284666;border-left:3px solid #244ad6;padding-left:12px}.workspace{display:grid;grid-template-columns:340px 1fr;gap:22px}.panel{background:white;border:1px solid #dce3ef;border-radius:16px;padding:26px;min-width:0}.step{font-size:13px;font-weight:800;color:#2b50cd;letter-spacing:1px;margin-bottom:20px}.step span{font-size:17px;color:#172544;margin-left:10px;letter-spacing:0}label{display:block;font-size:14px;font-weight:700;margin:18px 0 7px}select,input:not([type=file]){font:inherit;width:100%;max-width:100%;border:1px solid #bcc9df;border-radius:8px;padding:11px;background:white;color:#172544;font-size:14px}input[type=range]{padding:0;accent-color:#244bd5}output{float:right;color:#284fc8}.muted{font-size:13px;color:#53647d;margin:10px 0 15px}.drop{text-align:center;border:2px dashed #b8c8e7;border-radius:12px;background:#f6f8ff;padding:30px 16px}.drop.drag{background:#e1eaff;border-color:#224ddd}.drop strong,.drop span,.drop small{display:block}.drop span{font-size:14px;color:#65738b}.drop small{font-size:12px;color:#53647d;margin-top:12px}.pick{display:inline-block;padding:10px 22px;background:#e6ecff;color:#2446b8;border-radius:8px;cursor:pointer;margin:16px 0 0}input[type=file]{display:block;max-width:100%;font-size:13px;margin:12px auto 0}button,.download{font:inherit;font-size:14px;font-weight:700;border:0;border-radius:8px;padding:11px 18px;cursor:pointer;background:#244bd5;color:white;text-decoration:none;display:inline-block}button:hover,.download:hover{filter:brightness(.94)}button:disabled{opacity:.4;cursor:not-allowed}.secondary{background:#edf1f8;color:#304466}.actions{display:flex;justify-content:space-between;gap:10px;margin-top:20px}#fileList{padding:0;list-style:none;margin:18px 0}#fileList li{display:flex;align-items:center;gap:8px;padding:12px 0;border-bottom:1px solid #e5eaf3}.filename{flex:1;min-width:0;overflow-wrap:anywhere;font-size:14px}.filename small{display:block;color:#61718a;font-size:12px}.filebutton{padding:6px 9px;background:#edf1f8;color:#304466}#status{font-size:14px;color:#526581;overflow-wrap:anywhere}#status.error{color:#b02235}#results{border-top:1px solid #dce3ef;padding-top:22px;margin-top:22px}.result{padding:16px;background:#f0f5ff;border-radius:10px;margin:10px 0;overflow-wrap:anywhere}.result p{margin:8px 0;font-size:14px}.over{color:#a32132}.ok{color:#14624b}.notes{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:32px}.notes h2{font-size:15px;margin:0 0 6px}.notes p{font-size:13px;color:#576981;margin:0}footer{padding:24px 32px;font-size:14px;border-top:1px solid #dce3ef;display:flex;justify-content:space-between}footer span{font-size:12px;color:#65738b}:focus-visible{outline:3px solid #e19a12;outline-offset:3px}[hidden]{display:none!important}@media(max-width:780px){header{padding:18px}main{padding:25px 16px}.workspace{grid-template-columns:1fr}.panel{padding:20px}h1{font-size:27px}.notes{grid-template-columns:1fr;gap:18px}footer{padding:20px 16px;flex-wrap:wrap;gap:8px}.badge{font-size:12px}.filebutton{padding:8px}}
input[type=file]::file-selector-button{font:inherit;border:0;background:#e6ecff;color:#2446b8;padding:10px 14px;border-radius:8px;margin-right:8px;cursor:pointer}
.reading{max-width:820px}.reading h1{margin:12px 0 20px}.reading h2{font-size:21px;margin:32px 0 8px}.reading p,.reading li{font-size:16px}.reading ol{padding-left:24px}.reading a,footer a{color:#244bd5}
