:root{--bg:#f5f8f8;--card:#ffffff;--text:#18353a;--muted:#63777b;--border:#dbe9e9;--accent:#0e9aab;--accent-dark:#0c8494;--accent-pale:#e8f7f7;--high:#dc2626;--high-bg:#fef2f2;--normal:#0e9aab;--normal-bg:#e8f6f8;--good:#16a34a;--good-bg:#f0fdf4}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:radial-gradient(circle at 0 0,#ddf3f1 0,transparent 27rem),radial-gradient(circle at 100% 18rem,#e7f6ed 0,transparent 28rem),var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,Meiryo,Segoe UI,Roboto,sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased}.container{max-width:880px;margin:0 auto;padding:32px 20px 88px}.site-header{max-width:700px}.brand-line{display:flex;align-items:center;justify-content:center;gap:8px;color:#457177;font-size:.72rem;font-weight:800;letter-spacing:.1em}.site-logo{width:34px;height:34px}.brand-badge,.upload-limit{border-radius:999px;background:#fff;border:1px solid #d5e8e8;color:#4c7075;padding:3px 8px;font-size:.68rem;font-weight:700;letter-spacing:0}.eyebrow{color:var(--accent);font-size:.73rem;letter-spacing:.15em;font-weight:800;margin:27px 0 2px}.title{font-size:clamp(2rem,5.5vw,3.25rem);line-height:1.25;letter-spacing:-.04em;font-weight:800;margin:0}.title span{color:var(--accent)}.lead{color:var(--muted);font-size:1rem;max-width:620px;margin:16px auto}.lead span{display:block}.hero-points{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 17px;justify-content:center}.hero-points span{color:#24676f;background:rgba(255,255,255,.75);border:1px solid #d4e8e8;border-radius:999px;padding:5px 10px;font-size:.78rem;font-weight:700}.guide-link{font-size:.87rem}.guide-link:hover{text-decoration:underline}.card{background:var(--card);border:1px solid rgba(203,224,225,.92);border-radius:20px;padding:24px;margin-bottom:20px;box-shadow:0 12px 30px rgba(18,90,96,.07)}.upload-card{position:relative;overflow:hidden}.upload-card:before{content:"";position:absolute;width:260px;height:260px;right:-170px;top:-170px;border-radius:50%;background:#dff5f3;pointer-events:none}.uploader{position:relative;display:flex;flex-direction:column;gap:16px}.upload-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.upload-card-header h2{margin:3px 0 0;font-size:1.22rem;letter-spacing:-.02em}.step-label{color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.1em}.dropzone{border:2px dashed #bcdadd;border-radius:16px;padding:36px 16px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;background:linear-gradient(135deg,#fbffff,#f4fbfb)}.dropzone:hover{border-color:var(--accent);background:#edfaf9}.dropzone.dragging{border-color:var(--accent);background:#e4f4f6}.dropzone-main{color:#1d555c;font-size:1.05rem;font-weight:800}.dropzone-sub{color:var(--muted);font-size:.85rem;margin-top:4px}.preview{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.preview img{max-width:160px;max-height:160px;border-radius:8px;border:1px solid var(--border);object-fit:contain;background:#fff}.filename{font-size:.9rem;color:var(--muted);word-break:break-all}.file-loaded{display:flex;align-items:center;gap:14px;background:var(--good-bg);border:1px solid #bbf7d0;border-radius:10px;padding:12px 14px}.file-loaded img{object-fit:contain}.file-icon,.file-loaded img{width:72px;height:72px;border-radius:8px;border:1px solid var(--border);background:#fff;flex-shrink:0}.file-icon{display:flex;align-items:center;justify-content:center;font-weight:800;color:#b91c1c;font-size:.9rem}.file-info{min-width:0}.file-loaded-label{color:var(--good);font-weight:700;font-size:.95rem}.file-loaded .filename{color:var(--text);font-weight:600;margin-top:2px}.filesize{color:var(--muted);font-size:.82rem;margin-top:2px}.button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:var(--accent);color:#fff;font-size:1rem;font-weight:600;padding:12px 20px;border-radius:10px;cursor:pointer;transition:opacity .15s,background .15s}.button:hover:not(:disabled){background:var(--accent-dark)}.button:disabled{opacity:.5;cursor:not-allowed}.button.secondary{background:#eef2f7;color:var(--text)}.button.secondary:hover:not(:disabled){background:#e2e8f0}.actions{display:flex;gap:10px;flex-wrap:wrap}.loading{display:flex;align-items:center;gap:12px;color:var(--muted)}.spinner{width:20px;height:20px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(1turn)}}.error{background:var(--high-bg);border:1px solid #fecaca;color:var(--high);border-radius:10px;padding:12px 16px;margin-top:12px;font-size:.92rem}.section-heading{font-size:1.15rem;font-weight:700;margin:28px 0 12px;display:flex;align-items:center;gap:8px}.overall{font-size:1.02rem}.good-item{border-left:4px solid var(--good);background:var(--good-bg);border-radius:0 8px 8px 0;padding:12px 16px;margin-bottom:10px}.good-item .item-title{font-weight:700}.imp-item{border-radius:10px;padding:14px 16px;margin-bottom:12px;border:1px solid var(--border)}.imp-item.high{border-left:4px solid var(--high);background:var(--high-bg)}.imp-item.normal{border-left:4px solid var(--normal);background:var(--normal-bg)}.imp-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.badge{font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap}.badge.high{background:var(--high);color:#fff}.badge.normal{background:var(--normal);color:#fff}.badge.cat{background:#fff;color:var(--text);border:1px solid var(--border)}.imp-item .item-title{font-weight:700}.rewrite{margin-top:8px;background:#fff;border:1px dashed var(--border);border-radius:8px;padding:10px 12px;font-size:.92rem}.rewrite-label{font-size:.75rem;font-weight:700;margin-bottom:2px}.empty,.rewrite-label{color:var(--muted)}.sheet-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:24px 0 8px}.toolbar-hint{color:var(--muted);font-size:.8rem}.sheet{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:28px 28px 32px}.sheet .section-heading:first-of-type{margin-top:12px}.sheet-header{border-bottom:2px solid var(--text);padding-bottom:12px;margin-bottom:8px}.sheet-title{font-size:1.4rem;font-weight:800;letter-spacing:.02em}.sheet-meta{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:.85rem;margin-top:6px}.pin-board{display:flex;gap:20px;align-items:flex-start;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:16px}.pin-image-col{flex:1 1 55%;min-width:0}.pin-image-wrap{position:relative;display:inline-block;width:100%;line-height:0;touch-action:none}.pin-image{width:100%;height:auto;border:1px solid var(--border);border-radius:6px;display:block}.pin-image-fallback{line-height:1.6;color:var(--muted);font-size:.9rem;padding:24px;border:1px dashed var(--border);border-radius:6px;text-align:center}.pin{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;border:2px solid #fff;color:#fff;font-weight:800;font-size:.9rem;line-height:1;cursor:-webkit-grab;cursor:grab;box-shadow:0 2px 6px rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;padding:0;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pin:active{cursor:-webkit-grabbing;cursor:grabbing}.pin.high{background:var(--high)}.pin.normal{background:var(--normal)}.instagram-print-heading,.instagram-print-note,.print-only,.print-pin-heading,.print-pin-note{display:none}.pin-legend{flex:1 1 45%;min-width:0}.legend-brand{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;color:var(--accent);font-size:.78rem;letter-spacing:.06em;font-weight:700}.legend-brand-sub{color:var(--muted);font-weight:600}.legend-title{font-size:1.3rem;font-weight:800;margin:4px 0 14px;padding-bottom:10px;border-bottom:2px solid var(--accent)}.legend-list{list-style:none;margin:0;padding:0}.legend-item{display:flex;gap:10px;align-items:flex-start;margin-bottom:14px}.legend-no{flex-shrink:0;width:26px;height:26px;border-radius:50%;color:#fff;font-weight:800;font-size:.85rem;display:flex;align-items:center;justify-content:center}.legend-no.high{background:var(--high)}.legend-no.normal{background:var(--normal)}.legend-body{min-width:0}.legend-item-title{font-weight:700;line-height:1.5}.legend-flag{color:var(--high)}.legend-item-detail{color:#4b5563;font-size:.9rem;margin-top:2px}.legend-foot{color:var(--muted);font-size:.8rem;margin-top:20px}.pin-inline{flex-shrink:0;width:22px;height:22px;border-radius:50%;color:#fff;font-weight:800;font-size:.78rem;display:inline-flex;align-items:center;justify-content:center}.pin-inline.high{background:var(--high)}.pin-inline.normal{background:var(--normal)}@media (max-width:720px){.container{padding:16px 12px 64px}.title{font-size:1.3rem}.card,.sheet{padding:16px 14px}.pin-board{flex-direction:column;padding:14px}.sheet-toolbar{flex-direction:column;align-items:stretch}.sheet-toolbar .button{width:100%}.toolbar-hint{text-align:center}.pin{width:30px;height:30px;font-size:.9rem}}@page{margin:14mm}@media print{body{background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}.container{max-width:none;padding:0}.no-print{display:none!important}.sheet{border:none;border-radius:0;padding:0}.card{border:none;padding:0 0 4px;margin-bottom:4px}.section-heading{page-break-after:avoid;break-after:avoid}.good-item,.imp-item,.legend-item,.overall,.rewrite{page-break-inside:avoid;break-inside:avoid}.pin-board{border:none;border-radius:0;padding:0;page-break-after:always;break-after:page}.screen-pin-board{display:none}.print-only{display:block!important}.print-pin-page{page-break-after:always;break-after:page}.print-pin-page:last-child{page-break-after:auto;break-after:auto}.print-pin-heading{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 7mm;color:var(--accent);font-size:10pt;font-weight:700;letter-spacing:.04em}.print-pin-heading strong{color:var(--text);font-size:12pt}.print-pin-image-wrap{display:block;width:min(100%,150mm);margin:0 auto}.print-pin-image-wrap .pin-image{max-height:220mm;object-fit:contain}.print-pin{width:8mm;height:8mm;border-width:.6mm;font-size:10pt;cursor:default}.print-pin-note{display:block;margin:5mm 0 0;color:var(--muted);font-size:9pt;text-align:center}.instagram-print-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:4mm;gap:4mm;page-break-after:always;break-after:page}.instagram-print-grid .instagram-print-heading,.instagram-print-grid .instagram-print-note{display:flex;grid-column:1/-1}.instagram-print-heading{justify-content:space-between;align-items:baseline;margin:0 0 2mm;color:var(--accent);font-size:9pt;font-weight:700;letter-spacing:.04em}.instagram-print-heading strong{color:var(--text);font-size:10pt}.instagram-print-grid .print-pin-page{min-width:0;page-break-after:auto;break-after:auto}.instagram-print-grid .print-pin-image-wrap{width:100%}.instagram-print-grid .print-pin-image-wrap .pin-image{max-height:102mm}.instagram-print-grid .print-pin{width:7mm;height:7mm;font-size:8pt}.instagram-print-grid .print-pin-note{display:block;margin:1.5mm 0 0;font-size:8pt}.instagram-print-grid .instagram-print-note{display:block;margin:0;color:var(--muted);font-size:8pt;text-align:center}.instagram-print-grid.compact{grid-template-columns:repeat(5,minmax(0,1fr));gap:3mm}.instagram-print-grid.compact .print-pin-image-wrap .pin-image{max-height:58mm}.instagram-print-grid.compact .print-pin{width:5.5mm;height:5.5mm;font-size:6.5pt}}.kind-select{display:flex;gap:10px;flex-wrap:wrap}.kind-select-label{display:block;color:var(--muted)}.kind-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #d5e4e5;font:inherit;transition:.15s ease}.kind-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent-dark)}.kind-btn:disabled{cursor:not-allowed;opacity:.55}.actions{align-items:center;padding-top:4px}.actions>.button:first-child{min-width:156px}.member-row{padding-top:16px;margin-top:2px;border-top:1px solid var(--border);justify-content:flex-end}.subscribe-row,.subscribed-note{border-radius:12px}.section-heading{color:#1d4a50;margin:36px 0 14px}.pin-board,.sheet{border-radius:20px;box-shadow:0 12px 30px rgba(18,90,96,.07)}.sheet-header{border-bottom-color:#a5cacc}.sheet-title{color:#174b52}.button{box-shadow:0 5px 12px rgba(14,154,171,.2)}.button.secondary{box-shadow:none}.error,.file-loaded{border-radius:14px}.good-item,.imp-item{border-radius:12px}.page-tab{border-radius:999px}.kind-select-label{font-size:.9rem;font-weight:600}.kind-buttons{display:flex;gap:8px;flex-wrap:wrap}.kind-btn{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:999px;padding:6px 14px;font-size:.9rem;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.kind-btn.active,.kind-btn:hover{border-color:var(--accent)}.kind-btn.active{background:var(--accent);color:#fff;font-weight:600}.kind-btn:disabled{opacity:.6;cursor:default}@media (max-width:720px){.kind-select{flex-direction:column;align-items:flex-start;gap:6px}}.site-header{padding-top:8px}.site-logo{width:72px;height:72px;object-fit:contain;display:inline-block}.site-header .title{margin:6px 0}.site-header .lead{margin-bottom:24px;text-align:left}.quota{display:inline-flex;align-items:baseline;gap:2px;align-self:center;color:var(--muted);font-size:.85rem}.quota strong{color:var(--accent);font-size:1rem;margin:0 2px}.quota.zero strong{color:var(--high)}.quota-limit{font-size:.78rem}.file-loaded .thumbs{display:flex;flex-wrap:wrap;gap:6px;max-width:300px;flex-shrink:0}.file-loaded .thumbs img{width:48px;height:48px}.page-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.page-tab{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:8px;padding:4px 12px;font-size:.85rem;cursor:pointer}.page-tab.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.legend-pageno{color:var(--muted);font-weight:600;font-size:.82rem;margin-left:4px}.sheet-disclaimer{margin-top:24px;padding-top:12px;border-top:1px solid var(--border);color:var(--muted);font-size:.78rem;line-height:1.6}.member-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:4px;border-top:1px dashed var(--border)}.member-label{font-size:.85rem;color:var(--muted);font-weight:600}.member-input{border:1px solid var(--border);border-radius:8px;padding:7px 10px;font-size:.9rem;width:170px}.member-input:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}.member-apply{padding:7px 14px;font-size:.9rem}.member-ok{color:var(--accent);font-size:.85rem;font-weight:700}.member-portal{padding:7px 12px;font-size:.82rem}.member-ng{color:var(--high);font-size:.82rem}.admin-row{gap:8px}.admin-row,.code-row{display:flex;align-items:center;flex-wrap:wrap}.code-row{gap:12px;padding:8px 0}.code-label{min-width:8.5em;font-weight:600}.code-value{font-size:1.15rem;font-weight:800;letter-spacing:.06em;background:var(--normal-bg);color:var(--accent-dark);border-radius:8px;padding:4px 12px}.code-copy{padding:6px 12px;font-size:.85rem}.code-note{margin-top:10px;color:var(--muted);font-size:.82rem}.subscribed-note{background:var(--good-bg);border:1px solid #bbf7d0;color:#166534;border-radius:10px;padding:10px 14px;font-size:.9rem}.subscribe-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--normal-bg);border:1px solid #cfeaef;border-radius:10px;padding:12px 14px}.subscribe-text{font-size:.9rem;color:var(--text);flex:1 1 220px}.subscribe-btn{padding:9px 18px;font-size:.92rem;white-space:nowrap}.member-input-wrap{position:relative;display:inline-flex;align-items:center}.member-input-wrap .member-input{padding-right:36px}.member-eye{position:absolute;right:4px;border:none;background:transparent;cursor:pointer;font-size:1rem;line-height:1;padding:4px 6px;opacity:.7}.member-eye:hover{opacity:1}.guide-link{display:inline-block;margin-top:10px;color:var(--accent-dark);font-size:.9rem;font-weight:700;text-decoration:none;border-bottom:1px solid transparent}.guide-link:hover{border-bottom-color:var(--accent-dark)}.site-header{text-align:center;padding:18px 8px 32px;margin:0 auto}.brand-line .site-logo{width:34px;height:34px;display:block}.site-header .title{margin:0}.site-header .lead{margin:16px 0;text-align:center}.guide-link{margin-top:0;border-bottom:0}.kind-select{gap:0}.kind-select,.upload-card-header{flex-direction:column;align-items:center;text-align:center}.kind-buttons{justify-content:center}.kind-select-label{margin-bottom:8px;font-size:.84rem;font-weight:700}.kind-btn{border-color:#d5e4e5;color:#527075;padding:8px 14px;font-weight:700}.kind-btn.active{box-shadow:0 4px 10px rgba(14,154,171,.22)}.quota{margin-left:auto;border-radius:999px;background:var(--accent-pale);color:#28636a;padding:6px 10px;font-size:.8rem;font-weight:600}.quota.zero{background:#fff1f1;color:#b73c3c}.quota strong,.quota.zero strong{color:inherit;font-size:inherit;margin:0 2px}@media (max-width:720px){.container{padding:18px 12px 64px}.site-header{padding:12px 4px 26px}.title{font-size:2.2rem}.hero-points span{font-size:.72rem}.upload-card-header h2{font-size:1.08rem}.upload-limit{white-space:nowrap}.actions>.button:first-child{width:100%}.quota{margin-left:0}}