*{box-sizing:border-box}
[hidden]{display:none!important}
:root{color-scheme:light;--ink:#162d25;--muted:#506459;--green:#1e6049;--line:#cbd8ce;--paper:#f3f6ef;font-family:"Yu Gothic",Meiryo,"Hiragino Sans","Noto Sans CJK JP",sans-serif;color:var(--ink);background:var(--paper)}
body{margin:0}main{max-width:1160px;margin:auto;padding:0 28px}
.hero{padding:48px 0 31px;border-bottom:1px solid var(--line);margin-bottom:26px}.hero p{margin:0}.hero .eyebrow{font-size:.83rem;font-weight:700;letter-spacing:.1em;color:var(--green)}
h1{font-size:clamp(1.8rem,5vw,3rem);margin:9px 0 12px;line-height:1.2;letter-spacing:-.035em}
.workspace{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.panel{background:#fff;border:1px solid var(--line);border-radius:17px;padding:24px;min-width:0}
.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}
h2{font-size:1.15rem;margin:0}h2 span{font-size:.76rem;padding:5px 7px;background:#eaf2e8;color:var(--green);border-radius:5px;margin-right:4px}
label,legend{display:block;font-size:.91rem;font-weight:700;margin:14px 0 6px}
small{color:var(--muted);font-weight:500;font-size:.74rem;margin-left:4px}
input:not([type=checkbox]),select,textarea{width:100%;min-width:0;font:inherit;border:1px solid #aebfb4;border-radius:7px;padding:9px 10px;background:#fcfdfb;color:var(--ink)}
textarea{resize:vertical;display:block}.row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.hint{font-size:.8rem;color:var(--muted);margin:7px 0 0;line-height:1.55}
fieldset{min-width:0;margin:10px 0 0;padding:2px 10px 8px;border:1px solid var(--line);border-radius:7px}
fieldset label{margin-top:5px}.check{display:flex;align-items:center;gap:5px;margin:9px 0 2px}.check input{width:18px;height:18px;accent-color:var(--green)}
button{font:inherit;font-size:.88rem;font-weight:700;cursor:pointer;padding:9px 11px;min-height:42px;border-radius:8px;border:1px solid var(--green);background:var(--green);color:white}
button:disabled{cursor:default;color:#52635b;background:#e6ebe7;border-color:#cbd8ce}
button:not(:disabled):hover{filter:brightness(.9)}
button.quiet,.switch button,.copy{background:#fff;color:var(--green)}.quiet{white-space:nowrap}.copy:disabled{background:#e6ebe7;color:#52635b}
:focus-visible{outline:3px solid #b26321;outline-offset:2px}
.validation{min-height:1.35em;color:#735020;font-size:.83rem;line-height:1.45;margin:0 0 10px}
.preview{background:#edf2ea;padding:10px;border-radius:11px;text-align:center}
.switch{display:flex;justify-content:center;gap:5px;margin-bottom:8px}.switch button{min-height:36px;padding:5px 11px}.switch button[aria-pressed=true]{background:var(--green);color:#fff}
canvas{display:block;width:auto;height:auto;max-width:100%;max-height:400px;margin:auto;border:1px solid #d6ded6;border-radius:5px}
.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.copy{margin-top:9px}
.mobile-preview-link{display:none}
#status{font-size:.85rem;margin:8px 0 0;color:var(--green)}#status:empty{display:none}
footer{display:flex;justify-content:space-between;gap:9px;padding:22px 0;color:var(--muted);font-size:.78rem}
@media(max-width:760px){main{padding:0 14px}.hero{padding:28px 0 19px;margin-bottom:16px}.workspace{grid-template-columns:1fr;gap:14px}.panel{padding:15px}canvas{max-height:360px}}
@media(max-width:760px){.mobile-preview-link{display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:12px;color:var(--green);font-weight:700;text-underline-offset:.2em}}
@media(max-width:360px){.panel{padding:12px}.row{grid-template-columns:1fr}footer{display:block}footer span{display:block}}

