:root{font-family:'Yu Gothic','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;color:#274b55;background:#f6f7f3;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}header,main,footer{max-width:1080px;margin:auto}header{padding:24px 32px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{text-decoration:none;color:#355e69;font:24px Georgia,serif}.brand small{display:block;font:10px sans-serif;margin-top:6px;letter-spacing:.05em}.pill,.tag{border-radius:20px;background:#e5eee5;padding:8px 15px;font-size:11px}.intro{padding:45px 50px;display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:30px;background:#e4eff2;border-radius:26px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em;color:#6e9199}h1{font-size:42px;line-height:1.5;margin:18px 0}p{font-size:13px;line-height:1.9;color:#627c81}.duck-wrap{display:flex;justify-content:center;align-items:center}.duck-wrap img{height:275px;max-width:100%;object-fit:contain}#app{margin:28px 0 50px}.panel{background:#fff;padding:30px;border:1px solid #dbe5e4;border-radius:18px;margin-bottom:20px}.panel h2{font-size:21px;margin:0 0 12px}.panel h3{font-size:16px}.panel label{display:block;margin:18px 0;font-size:13px;font-weight:700}.panel input,.panel select{display:block;padding:12px;border:1px solid #cbdcdd;border-radius:8px;background:#fff;width:100%;margin-top:8px;min-height:44px}.primary,.secondary,.tab{border:0;border-radius:10px;padding:13px 20px;min-height:44px;font-size:13px;font-weight:700}.primary{background:#356e74;color:#fff}.secondary{background:#eaf0ee;color:#365d62}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.toolbar select{min-width:200px;max-width:100%;padding:12px;border:1px solid #cadbdb;border-radius:10px}.tabs{display:flex;gap:8px;overflow:auto;padding:22px 0 10px}.tab{background:#e9efeb;white-space:nowrap;color:#55787f}.tab.active{background:#356e74;color:white}.reports{display:grid;grid-template-columns:1fr 1fr;gap:16px}.report{border:1px solid #dbe5e4;background:#fff;padding:25px;border-radius:16px}.report h3{font-size:19px;line-height:1.6}.report p{font-size:12px}.report .tag{display:inline-block;background:#e4eff2;padding:6px 12px}.report a{display:inline-flex;text-decoration:none;margin-top:14px}.empty{text-align:center;padding:35px 25px;background:#fff;border:1px dashed #bdd1d0;border-radius:18px}.empty img{height:120px}.empty h3{font-size:20px}.details{padding:20px 0}.details summary{cursor:pointer;font-size:13px;font-weight:700}.note{font-size:11px}.error{background:#f9e9e2;padding:16px 20px;border-radius:12px;margin:15px 0;color:#854a3c}.success{background:#e3efe4;padding:16px 20px;border-radius:12px;margin:15px 0}.demo{background:#fff0cc;border:1px solid #e5d29a;padding:15px 20px;border-radius:12px;margin:15px 0;font-size:13px}.code{font:13px ui-monospace,monospace;overflow-wrap:anywhere;background:#edf3f2;border-radius:9px;padding:18px;user-select:all}.staff-note{background:#fff3d6;padding:14px;border-radius:10px;font-size:12px}.danger{color:#9a513e}.busy{opacity:.6;pointer-events:none}footer{text-align:center;border-top:1px solid #dce5df;padding:30px 20px 45px}footer b{font:24px Georgia,serif}footer p{font-size:10px}#notice:empty{display:none}@media(max-width:720px){header{padding:20px}.brand{font-size:22px}.brand small{font-size:8px}.pill{font-size:9px;padding:7px 10px}main{padding:0 18px}.intro{padding:28px 23px;grid-template-columns:1fr 100px;gap:8px;border-radius:18px}h1{font-size:28px;margin:14px 0}.intro p{font-size:11px}.duck-wrap img{height:180px;max-width:110px}.eyebrow{font-size:8px}.panel{padding:22px}.panel h2{font-size:19px}.reports{grid-template-columns:1fr}.toolbar{align-items:stretch}.toolbar select{width:100%}.report{padding:22px}.actions button{flex-grow:1}}@media print{header .pill,.actions,.tabs,.details{display:none}.intro{padding:20px}.duck-wrap img{height:150px}h1{font-size:28px}}
@media(max-width:720px){.intro{grid-template-columns:minmax(0,1fr) 90px}.intro h1{font-size:22px;line-height:1.65}.duck-wrap img{height:165px;max-width:90px}}
