*{box-sizing:border-box}body{margin:0;background:#f5f3ee;color:#243d38;font:16px/1.65 system-ui,sans-serif}header,main,footer{max-width:1080px;margin:auto;padding:24px}header{display:flex;justify-content:space-between}a{color:#176454}h1{font-size:clamp(28px,5vw,48px);line-height:1.3;margin:12px 0}h2{font-size:22px}small,.muted{color:#5c706b}.badge{background:#dceee5;border-radius:20px;padding:5px 14px;font-size:13px}.hero{padding:30px 0}.panel{background:#fff;border:1px solid #dce1d9;border-radius:20px;padding:24px;margin:20px 0;box-shadow:0 8px 30px #243d3807}.drop{border:2px dashed #80aa98;padding:30px;text-align:center;border-radius:16px;background:#f4faf6}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}button,.button{background:#176454;color:white;border:0;border-radius:10px;padding:12px 18px;font:inherit;cursor:pointer;text-decoration:none;display:inline-block}button.secondary{background:#e9f0ec;color:#244e42}button:disabled{opacity:.45;cursor:not-allowed}input,select{font:inherit;padding:10px;border:1px solid #a4b8ad;border-radius:8px;max-width:100%}input[type=file]{width:100%;margin:12px 0}label{display:block}#status{min-height:30px;margin-top:15px;font-weight:600;white-space:pre-wrap}.item{border-bottom:1px solid #e4e9e5;padding:18px 0;display:flex;gap:16px;align-items:center;flex-wrap:wrap}.item .info{flex:1;min-width:190px;overflow-wrap:anywhere}.item img{width:110px;height:80px;object-fit:contain;background:repeating-conic-gradient(#eee 0 25%,white 0 50%) 0/16px 16px}.page{display:inline-flex;flex-direction:column;align-items:center;background:#f3f6f2;border:1px solid #d8e2db;border-radius:10px;padding:12px;margin:5px;gap:7px;min-width:100px}.page input{width:20px;height:20px}.page button{padding:3px 10px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}.notice{border-left:4px solid #dfa643;padding:10px 16px;background:#fff7e3}.error{color:#a43a28}details{margin:12px 0}summary{cursor:pointer;font-weight:600}footer{font-size:13px;padding-bottom:60px}button:focus-visible,a:focus-visible{outline:3px solid #e2a33c;outline-offset:3px}@media(max-width:600px){header,main,footer{padding:16px}.panel{padding:16px}.item img{width:80px}.row button{flex-grow:1}}