:root{color-scheme:light;--background: #f4efe6;--surface: #fffdf8;--ink: #1d1c1a;--muted: #706b62;--accent: #c45144;--accent-ink: #fff;--border: color-mix(in srgb, var(--ink) 17%, transparent);--shadow: 0 18px 50px rgb(62 46 32 / 10%);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--background);color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 85% 5%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 28rem),var(--background)}button,textarea,input{font:inherit}button{touch-action:manipulation}.shell{width:min(100%,720px);margin:0 auto;padding:max(20px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(40px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.app-header{display:flex;align-items:center;gap:13px;margin:4px 2px 22px}.brand-mark{display:grid;width:48px;height:48px;place-items:center;border:1px solid var(--ink);border-radius:50%;font:28px/1 Georgia,serif}h1,h2,p{margin:0}h1{font:700 27px/1.05 Georgia,serif;letter-spacing:-.02em}.app-header p{margin-top:4px;color:var(--muted);font-size:14px}.tabs,.mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border:1px solid var(--border);border-radius:14px;background:#fff6}.tabs{grid-template-columns:repeat(3,1fr);margin-bottom:16px}.tab,.mode{min-height:44px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-weight:650}.tab.is-active,.mode.is-active{background:var(--surface);color:var(--ink);box-shadow:0 2px 12px #251e1714}.view{padding:18px;border:1px solid var(--border);border-radius:22px;background:var(--surface);box-shadow:var(--shadow)}.mode-switch{margin-bottom:22px;background:var(--background)}label{display:block;margin-bottom:8px;font-weight:700}textarea,input:not([type=file]):not([type=range]){width:100%;border:1px solid var(--border);border-radius:13px;background:#fff;color:var(--ink);outline:none}textarea{min-height:132px;padding:14px;resize:vertical;line-height:1.45}input:not([type=file]):not([type=range]){min-height:48px;padding:0 13px}textarea:focus,input:focus-visible,button:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 30%,transparent);outline-offset:2px}.field-meta,.preview-heading{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}.field-meta{margin-top:7px}.preview-heading{margin:24px 2px 9px}.preview-heading span:first-child{color:var(--ink);font-weight:700}.frame-preview{position:relative;overflow:hidden;width:100%;aspect-ratio:4 / 3;border:7px solid #252525;border-radius:3px;background:#efefec;box-shadow:inset 0 0 0 2px #bbb,0 8px 22px #00000021}.frame-preview img{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.preview-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;color:#555;text-align:center}.file-picker{display:grid;min-height:86px;place-items:center;align-content:center;border:1.5px dashed var(--muted);border-radius:14px;background:var(--background);cursor:pointer;text-align:center}.file-picker small{margin-top:5px;color:var(--muted);font-weight:400}input[type=file]{position:absolute;width:1px;height:1px;opacity:0}.crop-editor{margin:14px 0 18px}.crop-editor canvas{display:block;width:100%;aspect-ratio:4/3;border-radius:10px;background:#ddd}.crop-editor label{margin-top:12px;font-size:13px}input[type=range]{width:100%;accent-color:var(--accent)}.position-controls{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}.position-controls label{margin:8px 0;font-weight:500}.optional,.help{color:var(--muted);font-weight:400}.help{margin-top:10px;font-size:12px;line-height:1.4}.primary-button,.secondary-button,.icon-button{min-height:48px;border:0;border-radius:13px;cursor:pointer;font-weight:750}.primary-button{width:100%;background:var(--accent);color:var(--accent-ink)}.primary-button:disabled{cursor:default;opacity:.45}.secondary-button{width:100%;margin-top:15px;border:1px solid var(--border);background:var(--surface);color:var(--ink)}.icon-button{width:48px;background:var(--background);color:var(--ink);font-size:24px}.form-status{min-height:22px;margin:13px 2px 8px;color:var(--muted);font-size:14px;line-height:1.4}.form-status.is-success{color:#276439}.form-status.is-error{color:#9d2f29}.history-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.history-heading h2{font:700 24px/1.1 Georgia,serif}.history-heading p{margin-top:5px;color:var(--muted);font-size:13px}.history-list{display:grid;gap:14px}.history-card{overflow:hidden;border:1px solid var(--border);border-radius:14px;background:#fff}.history-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;image-rendering:pixelated;background:#eee}.history-info{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;font-size:12px}.history-info strong{font-size:13px}.history-status{color:var(--muted);text-align:right}.history-status.is-arrived{color:#276439}.empty-state,.fatal-message{padding:22px;color:var(--muted);text-align:center;line-height:1.5}.fatal-message{border:1px solid var(--border);border-radius:16px;background:var(--surface);color:#8b2925}.profile-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-card{overflow:hidden;padding:0 0 11px;border:2px solid transparent;border-radius:13px;background:var(--background);color:var(--ink);cursor:pointer}.profile-card.is-selected{border-color:var(--accent)}.profile-card img{display:block;width:100%;aspect-ratio:4/3;margin-bottom:9px;object-fit:contain;image-rendering:pixelated;background:#fff}.poll-setting{margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}.poll-setting select{width:100%;min-height:48px;padding:0 12px;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--ink);font:inherit}.device-status-title{margin:24px 0 10px;font:700 18px/1.2 Georgia,serif}.device-status-list{display:grid;gap:8px}.device-status-card{display:flex;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--border);border-radius:12px;background:#fff;font-size:13px}.device-status-card span{color:var(--muted);text-align:right}@media(min-width:620px){.shell{padding-top:34px}.view{padding:25px}.history-list{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:no-preference){.view{animation:rise .22s ease-out}@keyframes rise{0%{opacity:0;transform:translateY(5px)}}}
