.webapp{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
.webapp #preview{max-width:760px;padding:0 16px}.app-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 0 14px}.app-header a{text-decoration:none;font-weight:650;font-size:19px}.app-header a:last-child{font-size:14px}.app-header small{display:block;font-size:12px;font-weight:450;color:#526b61;margin-top:4px}.app-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.app-toolbar button{font-size:14px;padding:10px 12px;min-height:44px}.app-toolbar button:last-child{flex:1}.webapp #stage{height:70vh;height:70svh;min-height:460px;max-height:720px;border:1px solid #547878;border-radius:22px;box-shadow:none;background:radial-gradient(ellipse at 85% 85%,#75998f66,transparent 60%),linear-gradient(165deg,#233e48,#496e6f)}.room-hint{position:absolute;left:22px;top:12px;color:#f1faf5;font-size:16px;line-height:1.9;opacity:.8;pointer-events:none}.webapp .background-feedback{top:40%;font-size:16px;line-height:1.8}.webapp .state-strip{font-size:14px;gap:10px;flex-wrap:wrap}.webapp .state-strip>span:first-child{font-size:12px}.web-limit{font-size:14px;line-height:1.8;color:#496558;margin:15px 0 22px}.webapp .settings-card{margin:18px 0;padding:18px}.webapp .settings-card summary{font-size:16px;font-weight:600;min-height:28px;cursor:pointer}.webapp .settings-card p{font-size:16px;line-height:1.85;color:#496354}.webapp .settings-heading{margin-top:24px}.webapp .settings-heading h2{font-size:19px}.webapp .settings-heading .eyebrow{font-size:12px}.webapp .settings-grid{grid-template-columns:1fr 1fr;gap:20px}.webapp .settings-grid label,.webapp .settings-bottom,.webapp .settings-bottom button,.webapp .link-settings label{font-size:14px}.webapp .settings-bottom{flex-wrap:wrap}.webapp input,.webapp select,.webapp textarea{font-size:16px!important}.webapp input[type=checkbox]{width:21px;height:21px}.webapp .link-settings p{font-size:14px}.webapp .link-settings summary{font-size:16px}.webapp #link-fields{grid-template-columns:1fr}.webapp .link-settings .secondary{min-height:44px;font-size:14px}.webapp footer{padding:24px 0;display:flex;flex-wrap:wrap;gap:14px;font-size:14px}.webapp footer span{font-size:12px}.webapp .companion-panel{font-size:16px;background:#fcfefd;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.webapp .companion-panel>button{font-size:16px;min-height:48px;padding:12px 10px;line-height:1.5}.webapp .companion-panel .panel-note{font-size:14px;line-height:1.7}.webapp .panel-title{font-size:14px}.webapp .panel-title button{min-width:44px;min-height:44px;font-size:24px}.webapp .menu-choice{font-size:14px}.webapp .speech{font-size:16px;background:#fcfefd}.webapp .speech .speaker{font-size:13px}.webapp .memo-tools button,.webapp .memo-filters button{font-size:14px;min-height:44px}.webapp #menu-button{min-width:44px;min-height:44px}.webapp .text-button{min-height:44px}.webapp #character{touch-action:none}.webapp .companion-panel textarea{min-height:90px}
@media(min-width:680px){.webapp #stage{height:610px}.webapp .app-toolbar button:last-child{flex:0}.webapp #preview{padding:0 30px}}
@media(max-width:360px){.webapp #preview{padding:0 10px}.app-toolbar button:last-child{flex-basis:100%}.webapp .settings-grid{grid-template-columns:1fr}}
@media(max-width:500px){.webapp .app-toolbar button{flex:1 1 40%}.webapp .app-toolbar button:last-child{flex-basis:100%;white-space:nowrap}.webapp #stage{height:66svh;min-height:460px}}
