*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#eaf3e7;color:#173e37;font:14px system-ui,sans-serif}button,input,select{font:inherit;color:inherit}button,select,input{border:1px solid #92ad93;background:#fcfff5;border-radius:9px;min-height:36px}button{padding:5px 10px;cursor:pointer;touch-action:manipulation}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid #eea947;outline-offset:1px}[hidden]{display:none!important}#app{height:100vh;height:100dvh;max-width:1440px;margin:auto;padding:8px max(8px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));display:flex;flex-direction:column;gap:5px}header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:27px}header strong{font-size:20px}#subtitle{font-size:12px}.selectors{display:flex;align-items:center;gap:8px}.selectors label{display:flex;align-items:center;gap:5px}select{max-width:170px;padding:3px}#summary{margin:0;min-height:20px;font-size:13px;font-weight:600}.layout{display:grid;grid-template-columns:minmax(0,1fr) 252px;gap:8px;flex:1;min-height:0}.stage{display:flex;align-items:center;justify-content:center;min-height:0;min-width:0;overflow:hidden;border-radius:16px;background:#dbe9d5}canvas{display:block;touch-action:none;max-width:100%;max-height:100%}aside{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:10px;background:#f4f8ed;border:1px solid #b5c9ab;border-radius:14px;min-height:0}#status{margin:0;min-height:54px;font-size:14px;line-height:1.25}.adjust{display:grid;grid-template-columns:54px 34px minmax(48px,1fr) 34px;gap:4px;align-items:center}.adjust label{font-weight:700;font-size:13px}.adjust button{padding:0;min-height:40px;font-size:22px}.adjust input{width:100%;text-align:center;padding:3px;min-width:0;height:40px}.adjust span{grid-column:3;font-size:10px;text-align:center;margin-top:-4px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.actions button{min-height:42px}#shoot{background:#236b50;color:#fff;font-weight:700}nav{display:flex;gap:5px;justify-content:center}nav button{flex:1;max-width:170px}footer{display:flex;justify-content:space-between;gap:5px;font-size:10px;min-height:14px}#notice{color:#89421f}dialog{max-width:min(600px,92vw);max-height:86dvh;overflow:auto;border:1px solid #78977d;border-radius:16px;background:#f7faef;padding:20px}dialog::backdrop{background:#11342999}#help-copy{white-space:pre-line;line-height:1.5}#loading{padding:20px;text-align:center}@media(max-width:759px)and (orientation:portrait){#app{padding:5px 6px;gap:4px}header{min-height:23px}header strong{font-size:17px}#subtitle{display:none}.selectors{gap:5px;justify-content:space-between}.selectors label{font-size:11px;gap:3px}.selectors select{font-size:12px;min-height:31px;max-width:143px}#next{font-size:11px;padding:3px 5px;min-height:31px}#summary{font-size:11px;min-height:16px}.layout{display:flex;flex-direction:column;gap:4px}.stage{flex:1;min-height:90px;border-radius:10px}aside{flex:none;padding:5px 6px;gap:4px;display:grid;grid-template-columns:1fr 1fr;border-radius:9px}#status{grid-column:1/-1;min-height:29px;font-size:12px;line-height:1.2}.adjust{grid-template-columns:28px minmax(38px,1fr) 28px;gap:3px}.adjust label{grid-column:1/-1;text-align:center;font-size:11px;line-height:13px}.adjust button,.adjust input{min-height:34px;height:34px}.adjust span{display:none}.adjust button{font-size:21px}.actions{grid-column:1/-1;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:4px}.actions button{min-height:34px;padding:4px 3px;font-size:12px}nav{gap:3px}nav button{font-size:10px;min-height:30px;padding:3px}footer{font-size:8px;min-height:12px}footer #notice{max-width:60%;line-height:1.1}}@media(orientation:landscape)and (max-height:480px){#app{padding:4px 6px;gap:3px}header{min-height:22px}header strong{font-size:17px}#subtitle{font-size:10px}.selectors select,.selectors button{min-height:28px;font-size:11px}.selectors label{font-size:11px}#summary{min-height:14px;font-size:11px}.layout{grid-template-columns:minmax(0,1fr) 216px;gap:5px}aside{padding:5px;gap:4px}#status{min-height:30px;font-size:11px}.adjust{grid-template-columns:47px 29px minmax(38px,1fr) 29px;gap:3px}.adjust label{font-size:11px}.adjust button,.adjust input{min-height:30px;height:30px}.adjust span{display:none}.actions{grid-template-columns:1fr 1fr 1fr 1fr;gap:3px}.actions button{min-height:31px;font-size:10px;padding:3px}nav button{min-height:28px;font-size:11px}footer{min-height:11px;font-size:8px}}
