:root{font-family:"Yu Gothic UI","Meiryo",sans-serif;color:#253c3b;background:#eef2ef;font-size:14px}*{box-sizing:border-box}body{margin:0}button,select,input{font:inherit}button{cursor:pointer;border:1px solid #ccd7d0;background:white;border-radius:7px;padding:10px 13px;color:#284a43}button:hover{background:#edf6f1}.primary{background:#26765e;color:white;border-color:#26765e}.primary:hover{background:#1b5c49}header{background:white;border-bottom:1px solid #dce3de;padding:22px 30px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-size:27px;color:#26765e}.brand span{font-size:21px;font-weight:700}.brand small{display:block;font-size:11px;color:#82908a;font-weight:400;margin-top:4px}.brand b{font-size:11px;background:#edf3ee;padding:4px 8px;border-radius:12px}nav{display:flex;gap:8px}main{display:grid;grid-template-columns:370px minmax(0,1fr);max-width:1600px;margin:auto}aside{padding:28px;background:#fff;border-right:1px solid #dce3de}h1{font-size:25px;line-height:1.6;margin:10px 0 24px}.step{color:#40826d;font-size:11px;font-weight:700;letter-spacing:2px;margin-top:10px}.step:not(:first-child){border-top:1px solid #e2e8e3;padding-top:25px;margin-top:25px}label{display:block;font-size:11px;color:#61766b;margin:12px 0}select,input{display:block;width:100%;border:1px solid #d5ded7;background:#fff;border-radius:6px;padding:9px 7px;color:#304a40;margin-top:6px;min-width:0}input[type=color]{height:38px;padding:3px}.pair,.triple{display:grid;gap:10px;grid-template-columns:1fr 1fr}.triple{grid-template-columns:1fr 1fr 1fr}.pair button{align-self:end;margin-bottom:2px}#templates{display:grid;gap:7px;margin:12px 0}.template{text-align:left;position:relative;padding:11px 13px}.template strong{display:block;font-size:13px}.template small{color:#8a968d;font-size:10px}.template.active{border-color:#34856c;background:#edf6f0;border-left:4px solid #34856c}details{margin-top:18px}summary{cursor:pointer;font-size:12px;font-weight:600;color:#4d6f60;padding:8px 0}.hint{font-size:11px;color:#87938b;line-height:1.8}.preview{padding:30px 42px;min-width:0}.previewbar{display:flex;justify-content:space-between;align-items:center}.live{font-size:10px;color:#468b70;letter-spacing:1.5px}h2{font-size:18px;margin:8px 0}#dimensions{font-size:11px;color:#75867d}#stage{display:flex;justify-content:center;padding:25px 0;overflow:auto}#paper{background:white;box-shadow:0 8px 35px #263c3b18;max-width:100%;height:auto;width:580px;flex-shrink:0;touch-action:none;outline:none}.printnote{text-align:center;font-size:11px;color:#83928a;line-height:1.9}.sources{font-size:11px;line-height:1.8;color:#6a7f72}.sources a{color:#26765e}#notice{color:#a66a2a;font-size:12px;min-height:20px;margin-top:8px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#234d3c;color:white;border-radius:9px;padding:12px 20px;display:none}#saved button{font-size:11px;margin:3px}.block{cursor:move}.handle{cursor:nwse-resize}@media(max-width:900px){header{flex-wrap:wrap;padding:16px}nav{flex-wrap:wrap}main{grid-template-columns:310px minmax(0,1fr)}aside{padding:20px}.preview{padding:22px 15px}}@media(max-width:650px){main{display:block}aside{border-right:0}.preview{padding:20px}#paper{width:100%}h1 br{display:none}}@media print{html,body{margin:0!important;padding:0!important;background:white}header,aside,.previewbar,#notice,.printnote,.sources,#toast{display:none!important}main,.preview,#stage{display:block!important;margin:0!important;padding:0!important;max-width:none!important;overflow:visible!important}#paper{display:block;width:var(--pw)!important;height:var(--ph)!important;max-width:none!important;box-shadow:none!important}.editing{display:none!important}}
[hidden]{display:none!important}@media(min-width:901px){.preview{align-self:start;position:sticky;top:0}#stage{max-height:calc(100vh - 230px)}#paper{max-height:calc(100vh - 280px);width:auto;max-width:100%}}@media print{#stage{max-height:none!important}#paper{max-height:none!important}}
.brand-icon{display:block;flex-shrink:0;border-radius:10px}
.fixed-info{background:#edf6f0;border-left:3px solid #34856c;border-radius:5px;padding:12px;font-size:12px;line-height:1.8;color:#285b47}.fixed-source{font-size:11px;color:#26765e;display:block;margin-bottom:12px}
