:root{--ink:#152321;--muted:#687572;--line:#dce2df;--canvas:#e7eae6;--green:#0f5b4f;--green-dark:#102a27;--gold:#f2d07b;--coral:#e05d3e;--unit:2px;--editor-unit:4px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--canvas);line-height:1.5}body{color:var(--ink);background:var(--canvas);margin:0;font-family:Hiragino Sans,Yu Gothic,Meiryo,sans-serif}button,input,select,textarea{font:inherit;margin:0}button{color:inherit}img{max-width:100%}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.app-shell{min-height:100vh}.topbar{color:#fff;background:var(--green-dark);border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;height:76px;padding:0 30px;display:flex}.brand-block{align-items:center;gap:14px;display:flex}.brand-mark{background:#ffffff14;border:1px solid #ffffff57;border-radius:11px;place-items:center;width:42px;height:42px;display:grid;position:relative;overflow:hidden}.brand-mark:before,.brand-mark:after{content:"";background:#fff3;position:absolute}.brand-mark:before{width:1px;height:100%}.brand-mark:after{width:100%;height:1px}.brand-mark span{z-index:1;width:25px;height:19px;color:var(--green-dark);background:#fff;border-radius:2px;place-items:center;font-size:11px;font-weight:800;display:grid;position:relative}.eyebrow{color:#a9c7c0;letter-spacing:.16em;text-transform:uppercase;margin:0 0 2px;font-size:10px;font-weight:700}h1{letter-spacing:-.02em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:23px;font-weight:600}.header-actions{gap:9px;display:flex}.button{cursor:pointer;border:0;border-radius:8px;min-height:40px;padding:0 17px;font-size:13px;font-weight:700;transition:transform .15s,background .15s}.button:active{transform:translateY(1px)}.button-ghost{color:#d6e3df;background:#ffffff17}.button-ghost:hover{background:#ffffff26}.button-primary{color:#17372f;background:var(--gold);box-shadow:0 5px 18px #00000029}.button-primary:hover{background:#f7d98e}.workspace{grid-template-columns:500px minmax(560px,1fr);min-height:calc(100vh - 76px);display:grid}.control-panel{background:#f8f9f7;border-right:1px solid #cbd3cf;height:calc(100vh - 76px);overflow-y:auto}.panel-section{border-bottom:1px solid var(--line);padding:23px 27px 25px}.section-heading{align-items:flex-start;gap:11px;margin-bottom:17px;display:flex}.section-heading h2{margin:0 0 2px;font-size:15px;line-height:1.35}.section-heading p{color:var(--muted);margin:0;font-size:10px}.step-number{color:#fff;background:var(--green);border-radius:50%;flex:none;place-items:center;width:25px;height:25px;font-size:11px;font-weight:800;display:grid}.design-heading{align-items:center}.design-heading>div{flex:1}.sync-badge{color:var(--green);white-space:nowrap;background:#e2f0ec;border-radius:12px;align-items:center;gap:5px;padding:5px 7px;font-size:8px;font-weight:800;display:inline-flex}.sync-badge i{background:#42a384;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #42a38421}.add-toolbar{grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:16px;display:grid}.add-toolbar button{color:#42504d;cursor:pointer;background:#fff;border:1px solid #ccd6d2;border-radius:8px;justify-content:center;align-items:center;gap:7px;height:39px;font-size:10px;font-weight:700;transition:border-color .15s,background .15s;display:flex}.add-toolbar button:hover{border-color:var(--green);background:#eef5f2}.add-toolbar button:disabled{cursor:not-allowed;opacity:.4}.add-toolbar button span{width:20px;height:20px;color:var(--green);background:#e5f0ed;border-radius:5px;place-items:center;font-family:Georgia,serif;font-size:13px;display:grid}.canvas-wrap{width:calc(91 * var(--editor-unit) + 64px);background-color:#eef0ed;background-image:linear-gradient(45deg,#606e6a0b 25%,#0000 25%),linear-gradient(-45deg,#606e6a0b 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#606e6a0b 75%),linear-gradient(-45deg,#0000 75%,#606e6a0b 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;border:1px solid #d9dfdc;border-radius:10px;margin:12px auto 0;padding:32px;position:relative;overflow:visible}.representative-card{width:calc(91 * var(--editor-unit));height:calc(55 * var(--editor-unit));touch-action:none;isolation:isolate;background-image:linear-gradient(#0f5b4f0b 1px,#0000 1px),linear-gradient(90deg,#0f5b4f0b 1px,#0000 1px);background-size:calc(5 * var(--editor-unit)) calc(5 * var(--editor-unit));border:1px solid #879590;position:relative;overflow:visible;box-shadow:0 10px 26px #1a302b29,0 1px 3px #1a302b26}.representative-card:after{content:"仕上がり線";z-index:1002;color:#23373273;pointer-events:none;font-size:7px;position:absolute;bottom:2px;right:3px}.canvas-ruler{width:calc(91 * var(--editor-unit));color:#84908d;justify-content:space-between;font-size:8px;display:flex;position:absolute;top:12px;left:32px}.canvas-ruler:after{content:"";background:repeating-linear-gradient(90deg,#b3bcb9 0 1px,#0000 1px 20px);border-left:1px solid #9ba6a3;border-right:1px solid #9ba6a3;width:100%;height:4px;position:absolute;top:13px;left:0}.canvas-size-label{color:#7b8683;text-align:right;font-size:8px;position:absolute;bottom:11px;right:32px}.empty-canvas{color:#2f403c73;text-align:center;pointer-events:none;place-content:center;gap:4px;display:grid;position:absolute;inset:0}.empty-canvas strong{font-family:Georgia,Yu Mincho,serif;font-size:19px}.empty-canvas span{font-size:9px}.editor-safe-guide{z-index:1000;inset:calc(3 * var(--editor-unit));pointer-events:none;border:1px dashed #e05d3e80;position:absolute}.center-guides{z-index:1001;pointer-events:none;position:absolute;inset:0}.center-guides i{background:#126c9094;display:block;position:absolute}.center-guides i:first-child{height:1px;top:50%;left:-16px;right:-16px}.center-guides i:last-child{width:1px;top:-16px;bottom:-16px;left:50%}.center-guides:before{content:"";background:#ffffffa6;border:1px solid #126c90bf;border-radius:50%;width:7px;height:7px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.canvas-options{justify-content:space-between;align-items:end;gap:14px;margin-top:14px;display:flex}.color-control{width:180px}.guide-toggle{color:#687471;cursor:pointer;align-items:center;gap:6px;padding-bottom:9px;font-size:9px;display:flex}.guide-toggle input{accent-color:var(--green)}.guide-options{gap:4px;display:grid}.guide-options .guide-toggle{padding-bottom:0}.design-element{z-index:1;cursor:grab;transform-origin:50%;touch-action:none;-webkit-user-select:none;user-select:none;outline:none;position:absolute}.design-element:active{cursor:grabbing}.design-element.is-selected{outline:1.5px solid #e75f3e;box-shadow:0 0 0 2px #ffffffb3}.design-element.is-selected:before{content:"";z-index:5;pointer-events:none;border:1px solid #e75f3e8c;position:absolute;inset:-3px}.representative-card .design-element.is-locked{pointer-events:none}.design-element img{pointer-events:none;width:100%;height:100%;display:block}.design-element .shape-fill{pointer-events:none;width:100%;height:100%}.design-element>span{white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:0 1px 5px #ffffff29;pointer-events:none;align-items:center;width:100%;height:100%;line-height:1.08;display:flex;overflow:hidden}.resize-handle{z-index:8;background:var(--coral);cursor:nwse-resize;border:2px solid #fff;border-radius:50%;width:12px;height:12px;padding:0;position:absolute;bottom:-6px;right:-6px;box-shadow:0 1px 4px #00000040}.layer-panel{border-top:1px solid #dfe4e1;margin-top:16px;padding-top:14px}.layer-panel-heading{justify-content:space-between;align-items:baseline;margin-bottom:7px;display:flex}.layer-panel-heading strong{font-size:10px}.layer-panel-heading span{color:#7a8582;font-size:8px}.empty-layers{color:#7a8582;text-align:center;background:#eef2f0;border-radius:7px;margin:0;padding:10px;font-size:8px}.layer-list{gap:4px;display:grid}.layer-row{background:#fff;border:1px solid #d6ddda;border-radius:7px;grid-template-columns:minmax(0,1fr) 48px;align-items:stretch;display:grid;overflow:hidden}.layer-row.active{border-color:var(--coral);box-shadow:0 0 0 2px #e05d3e14}.layer-select{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:7px;min-width:0;height:34px;padding:0 8px;display:flex}.layer-kind{width:20px;height:20px;color:var(--green);background:#e7f0ed;border-radius:5px;flex:none;place-items:center;font-family:Georgia,serif;font-size:11px;font-weight:700;display:grid}.layer-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:9px;overflow:hidden}.layer-select small{color:#8a9492;white-space:nowrap;font-size:7px}.layer-lock{color:#6f7b78;cursor:pointer;background:#f7f9f8;border:0;border-left:1px solid #e0e5e3;font-size:8px}.layer-lock.locked{color:#fff;background:var(--green)}.canvas-options .field{flex:none}.field-grid{gap:10px;margin-top:12px;display:grid}.two-columns{grid-template-columns:1fr 1fr}.three-columns{grid-template-columns:1fr .85fr .75fr}.position-grid{border-top:1px solid #e2e6e4;grid-template-columns:repeat(3,1fr);padding-top:4px}.field{gap:5px;min-width:0;display:grid}.field>span{color:#596663;font-size:9px;font-weight:700}.field input[type=text],.field input[type=number],.field select,.field textarea{width:100%;min-height:33px;color:var(--ink);resize:vertical;background:#fff;border:1px solid #ccd5d1;border-radius:7px;outline:none;padding:6px 8px;font-size:10px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #0f5b4f1a}.color-field{background:#fff;border:1px solid #ccd5d1;border-radius:7px;align-items:center;height:33px;padding:4px 7px;display:flex}.color-field input{cursor:pointer;background:0 0;border:0;width:26px;height:23px;padding:0}.color-field code{margin-left:7px;font-size:9px}.inspector-heading{margin-bottom:14px}.no-selection{color:#6c7875;background:#f0f3f1;border:1px dashed #cbd5d1;border-radius:9px;align-items:center;gap:11px;padding:16px;display:flex}.no-selection>span{width:34px;height:34px;color:var(--green);background:#fff;border-radius:8px;flex:none;place-items:center;font-size:18px;display:grid}.no-selection strong{font-size:10px}.no-selection p{margin:3px 0 0;font-size:8px;line-height:1.5}.selected-title{justify-content:space-between;align-items:center;gap:10px;margin-bottom:13px;display:flex}.selected-title>span{color:var(--green);background:#e4efec;border-radius:5px;padding:4px 7px;font-size:9px;font-weight:800}.element-actions{gap:4px;display:flex}.element-actions button{color:#596562;cursor:pointer;background:#fff;border:1px solid #d5dcda;border-radius:5px;padding:4px 6px;font-size:8px}.element-actions button:hover{border-color:var(--green)}.element-actions .delete-action{color:#ba4f38}.serial-settings{background:#edf4f1;border-radius:8px;margin-bottom:12px;padding:11px}.serial-settings .field-grid{margin-top:10px}.serial-settings>.field{margin-top:9px}.serial-preview-row{color:#64706d;align-items:center;gap:6px;font-size:8px;display:flex}.serial-preview-row strong{color:var(--green-dark);background:#fff;border-radius:4px;padding:3px 5px;font-size:9px}.alignment-row{align-items:center;margin-top:10px;display:flex}.alignment-row>span{color:#596663;margin-right:auto;font-size:9px;font-weight:700}.alignment-row button{cursor:pointer;background:#fff;border:1px solid #ccd5d1;border-right-width:0;min-width:46px;height:28px;font-size:8px}.alignment-row button:first-of-type{border-radius:6px 0 0 6px}.alignment-row button:last-child{border-right-width:1px;border-radius:0 6px 6px 0}.alignment-row button.active{color:#fff;border-color:var(--green);background:var(--green)}.font-upload{color:var(--green);cursor:pointer;background:0 0;border:0;margin-top:11px;padding:0;font-size:9px;font-weight:700}.compact-section{padding-bottom:32px}.preview-panel{background:var(--canvas);flex-direction:column;min-width:0;min-height:calc(100vh - 76px);display:flex}.preview-toolbar{color:#4c5957;background:#f2f4f1;border-bottom:1px solid #d3d8d5;justify-content:space-between;align-items:center;height:54px;padding:0 25px;font-size:11px;font-weight:700;display:flex}.preview-toolbar small{color:#7b8583;margin-left:8px;font-size:8px;font-weight:500}.live-dot{background:#3c9a7d;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block;box-shadow:0 0 0 3px #3c9a7d21}.sheet-spec{color:#75817e;font-size:9px;font-weight:500}.sheet-stage{background-color:#e4e7e3;background-image:radial-gradient(#c8ceca .7px,#0000 .7px);background-size:14px 14px;flex:1;place-items:center;min-height:650px;padding:32px 24px;display:grid;overflow:auto}.sheet-shadow{width:calc(210 * var(--unit));height:calc(297 * var(--unit));box-shadow:0 18px 42px #22312e30,0 2px 6px #22312e1f}.print-sheet{width:calc(210 * var(--unit));height:calc(297 * var(--unit));padding:calc(11 * var(--unit)) calc(14 * var(--unit));background:#fff;overflow:hidden}.card-grid{width:calc(182 * var(--unit));height:calc(275 * var(--unit));grid-template-columns:repeat(2, calc(91 * var(--unit)));grid-template-rows:repeat(5, calc(55 * var(--unit)));transform:translate(var(--offset-x), var(--offset-y));display:grid}.business-card{width:calc(91 * var(--unit));height:calc(55 * var(--unit));isolation:isolate;border:1px solid #3d474533;position:relative;overflow:hidden}.business-card .design-element{cursor:default}.card-index{z-index:1001;top:calc(2 * var(--unit));right:calc(2 * var(--unit));width:calc(5 * var(--unit));height:calc(5 * var(--unit));color:#fff;font-size:calc(1.9 * var(--unit));background:#0f5b4f94;border-radius:50%;place-items:center;font-weight:800;display:grid;position:absolute}.print-checklist{background:#f2f4f1;border-top:1px solid #d1d7d3;justify-content:center;align-items:center;gap:11px;min-height:66px;padding:12px 24px;display:flex}.check-icon{color:#fff;background:var(--green);border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:12px;display:grid}.print-checklist strong{margin-bottom:3px;font-size:10px;display:block}.print-checklist p{color:#6e7876;max-width:650px;margin:0;font-size:9px;line-height:1.5}.status-line{z-index:2000;color:#e6f0ed;background:#102a27e6;border-radius:7px;margin:0;padding:7px 10px;font-size:9px;position:fixed;bottom:13px;right:19px;box-shadow:0 4px 12px #00000021}@media (max-width:1120px){:root{--unit:1.7px}.workspace{grid-template-columns:470px minmax(420px,1fr)}}@media (max-width:900px){:root{--unit:1.45px}.workspace{flex-direction:column-reverse;display:flex}.control-panel{border-right:0;width:100%;height:auto;overflow:visible}.preview-panel{min-height:auto}.sheet-stage{min-height:500px}}@media (max-width:520px){:root{--editor-unit:3.4px}.topbar{height:auto;min-height:74px;padding:12px 14px}.brand-mark{display:none}h1{font-size:18px}.button{padding:0 10px;font-size:10px}.panel-section{padding-left:16px;padding-right:16px}.position-grid{grid-template-columns:1fr 1fr}.design-heading{flex-wrap:wrap}.sync-badge{margin-left:36px}}@page{size:A4 portrait;margin:0}@media print{:root{--unit:1mm}html,body{width:210mm;height:297mm;background:#fff!important;margin:0!important;padding:0!important}.topbar,.control-panel,.preview-toolbar,.print-checklist,.status-line{display:none!important}.workspace,.preview-panel,.sheet-stage,.sheet-shadow{width:210mm;height:297mm;min-height:0;box-shadow:none;background:#fff;margin:0;padding:0;display:block;overflow:visible}.print-sheet{width:210mm;height:297mm;padding:11mm 14mm}.business-card{-webkit-print-color-adjust:exact;print-color-adjust:exact;border:0}.business-card .element-text,.business-card .element-serial{box-shadow:none!important;filter:none!important;background:0 0!important}.business-card .element-text>span,.business-card .element-serial>span{text-shadow:none!important;background:0 0!important}.card-index{display:none!important}}
