:root{--bg:#f7f8fa;--panel:#fff;--text:#18202a;--muted:#687383;--line:#dfe4ea;--accent:#1769e0;--accent-dark:#0f52b5;--soft:#eef5ff;--danger:#c93636;--danger-soft:#fff0f0;--success-soft:#effaf3;--success:#247a42}*{box-sizing:border-box}html{background:var(--bg)}body{color:var(--text);background:var(--bg);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif}a{color:inherit}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.siteHeader,.siteFooter{justify-content:space-between;align-items:center;max-width:1440px;margin:0 auto;padding:18px 28px;display:flex}.siteHeader{background:#f7f8faf2}.siteHeader nav,.siteFooter div{gap:22px;display:flex}.siteHeader nav a,.siteFooter a{color:var(--muted);font-size:14px;text-decoration:none}.brand{font-weight:800;text-decoration:none}main{max-width:1440px;margin:0 auto;padding:0 28px 56px}.hero{text-align:center;padding:64px 0 36px}.heroText{max-width:860px;margin:0 auto 30px}.eyebrow{color:var(--accent);margin:0 0 12px;font-weight:700}h1{letter-spacing:-.03em;margin:0 0 20px;font-size:clamp(36px,5vw,60px);line-height:1.12}.lead{color:var(--muted);margin:0;font-size:18px;line-height:1.8}.dropZone{background:var(--panel);border:2px dashed #9eb7db;border-radius:16px;flex-direction:column;align-items:center;gap:12px;max-width:720px;margin:0 auto;padding:34px;display:flex}.dropZone strong{font-size:20px}.dropZone span,.dropZone small{color:var(--muted)}.primaryButton{background:var(--accent);color:#fff;border:0;border-radius:10px;justify-content:center;align-items:center;padding:11px 18px;font-weight:700;text-decoration:none;display:inline-flex}.primaryButton:hover{background:var(--accent-dark)}.secondaryButton{color:#245b9f;background:#fff;border:1px solid #aac3e5;border-radius:10px;padding:10px 15px;font-weight:700}.secondaryButton:hover{background:var(--soft)}.dangerOutline{color:var(--danger);border-color:#e2b2b2}.dangerOutline:hover{background:var(--danger-soft)}.toolbarActions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.trustRow{color:#385a43;flex-wrap:wrap;justify-content:center;gap:22px;margin:18px auto 0;font-size:14px;display:flex}.srOnly{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.message{border-radius:10px;margin:0 0 20px;padding:13px 16px;font-size:14px}.message.error{background:var(--danger-soft);color:var(--danger);border:1px solid #f1caca}.message.notice{background:var(--success-soft);color:var(--success);border:1px solid #c9ead3}.workspace{grid-template-columns:260px 56px minmax(0,1fr) 250px;align-items:start;gap:14px;display:grid}.sidePanel,.gridPanel,.infoGrid article,.limits,.contentPage{background:var(--panel);border:1px solid var(--line);border-radius:14px}.sidePanel{max-height:calc(100vh - 24px);position:sticky;top:12px;overflow:hidden auto}.panelHeading{border-bottom:1px solid var(--line);padding:18px}.panelHeading h2,.gridToolbar h2{margin:0 0 5px;font-size:18px}.panelHeading p,.gridToolbar p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:13px}.panelHeading small{color:var(--muted);margin-top:6px;display:block}.columnList{gap:8px;padding:12px;display:grid}.sourceGuide{background:var(--soft);color:#245b9f;border:1px dashed #8eb3e5;border-radius:10px;margin:12px 12px 0;padding:12px 38px 12px 12px;position:relative}.sourceGuide strong{margin-bottom:4px;font-size:13px;display:block}.sourceGuide span:not(.sourceGuideArrow){font-size:12px;line-height:1.5;display:block}.sourceGuideArrow{font-size:27px;font-weight:800;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.columnCard{border:1px solid var(--line);cursor:grab;background:#fff;border-radius:9px;padding:11px 12px}.columnCard:active{cursor:grabbing}.columnCard strong{font-size:14px;display:block}.columnCard small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;display:block;overflow:hidden}.mappingList{padding:12px}.mappingItem{background:#f7f9fc;border-radius:9px;margin-bottom:8px;padding:11px}.mappingItem strong,.mappingItem small{display:block}.mappingItem small{color:var(--muted);margin-top:3px}.mappingItem label{color:var(--muted);align-items:center;gap:6px;margin-top:10px;font-size:12px;display:flex}.textButton{background:0 0;border:0;padding:6px 0 0;font-size:12px}.textButton.danger{color:var(--danger)}.emptyText{color:var(--muted);margin:0;font-size:13px}.mappingPanelHeading p{color:#245b9f;font-weight:700}.dragGuide{min-height:100px;color:var(--accent);-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:sticky;top:42vh}.dragGuideText{writing-mode:vertical-rl;letter-spacing:.08em;margin-bottom:7px;font-size:11px;font-weight:800}.dragGuideLine{border-top:2px dashed #86afe6;width:42px;animation:1.6s ease-in-out infinite dragGuidePulse}.dragGuideHead{margin-top:-18px;margin-left:37px;font-size:28px;font-weight:900;line-height:1}@keyframes dragGuidePulse{0%,to{opacity:.45;transform:translate(-3px)}50%{opacity:1;transform:translate(3px)}}.gridPanel{min-width:0;overflow:hidden}.gridToolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.previewNote{color:var(--muted);border-bottom:1px solid var(--line);background:#fafbfc;margin:0;padding:10px 18px;font-size:12px}.gridScroll{max-height:70vh;overflow:auto}.excelGrid{width:max-content;font-size:12px;display:grid}.cornerCell,.columnHeader,.rowHeader,.gridCell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:32px}.cornerCell,.columnHeader,.rowHeader{color:#586270;z-index:3;background:#f2f4f7;font-weight:700;position:sticky}.cornerCell{z-index:5;top:0;left:0}.columnHeader{justify-content:center;align-items:center;display:flex;top:0}.rowHeader{justify-content:center;align-items:center;display:flex;left:0}.gridCell{text-overflow:ellipsis;white-space:nowrap;background:#fff;padding:7px 8px;overflow:hidden}.gridCell:hover{outline-offset:-2px;outline:2px solid #a8c8f5}.gridCell.hasValue{background:var(--soft)}.gridCell.anchorCell{cursor:grab;box-shadow:inset 3px 0 0 var(--accent);font-weight:700}.infoGrid{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px;display:grid}.infoGrid article{padding:20px}.infoGrid h2,.limits h2,.contentPage h2{margin-top:0;font-size:18px}.infoGrid p,.limits p{color:var(--muted);margin-bottom:0;line-height:1.7}.limits{margin-top:16px;padding:20px}.contentPage{max-width:860px;margin:48px auto;padding:32px;line-height:1.8}.contentPage h1{font-size:36px}.contentPage li{margin-bottom:18px}.contentPage li p{color:var(--muted);margin:4px 0 0}.inlineButton{margin-top:12px}.siteFooter{border-top:1px solid var(--line);color:var(--muted);font-size:13px}@media (max-width:1180px){.workspace{grid-template-columns:240px minmax(0,1fr) 240px}.dragGuide{display:none}}@media (max-width:900px){.workspace{grid-template-columns:1fr}.sidePanel{max-height:none;position:static}.sourcePanel{order:1}.gridPanel{order:2}.mappingPanel{order:3}.infoGrid{grid-template-columns:1fr}}@media (max-width:640px){main{padding-left:16px;padding-right:16px}.siteHeader,.siteFooter{padding:14px 16px}.siteHeader nav{gap:12px}.hero{padding-top:38px}.lead{font-size:16px}.dropZone{padding:24px 16px}.gridToolbar{flex-direction:column;align-items:flex-start}}.contactPage{max-width:900px}.contactPage>p{color:var(--muted)}.contactNotice{background:var(--soft);border:1px solid #cfe0f7;border-radius:10px;gap:4px;margin-top:24px;padding:14px 16px;font-size:13px;display:grid}.contactNotice span{color:var(--muted)}.googleFormWrap{background:#fff;border:1px solid #e3e7ec;border-radius:12px;width:100%;margin-top:24px;overflow:hidden}.googleFormFrame{border:0;width:100%;min-height:980px;display:block}.googleFormFallback{text-align:right;padding:12px 16px 16px;font-size:13px}.googleFormFallback a{color:var(--accent)}.contactSetupNotice{background:#fafbfc;border:1px dashed #b7c0cc;border-radius:12px;margin-top:24px;padding:24px}.contactSetupNotice p{color:var(--muted);margin:8px 0 0}@media (max-width:640px){.googleFormFrame{min-height:1100px}}.termsPage ul{padding-left:1.4em}.pageUpdated{color:var(--muted);margin-top:36px;font-size:13px}@media (max-width:760px){.siteHeader{align-items:flex-start;gap:14px}.siteHeader nav{flex-wrap:wrap;justify-content:flex-end}.siteFooter{align-items:flex-start;gap:14px}.siteFooter div{flex-wrap:wrap;justify-content:flex-end}}
