*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f5f5f5;--surface: #ffffff;--border: #d0d0d0;--text: #1a1a1a;--muted: #666;--accent: #2563eb;--accent-hover: #1d4ed8;--danger: #dc2626;--danger-hover: #b91c1c;--header-bg: #1a1a1a;--header-text: #f5f5f5;--mono: "Courier New", Courier, monospace;--radius: 6px}body{font-family:system-ui,-apple-system,sans-serif;font-size:14px;background:var(--bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column}header{background:var(--header-bg);color:var(--header-text);padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}header h1{font-family:var(--mono);font-size:15px;font-weight:700;letter-spacing:.04em}header .badge{font-family:var(--mono);font-size:11px;background:#333;border:1px solid #555;color:#aaa;padding:2px 8px;border-radius:3px}main{display:flex;flex:1;gap:0;overflow:hidden}#preview-panel{width:280px;min-width:280px;background:#2a2a2a;border-right:1px solid #111;display:flex;flex-direction:column;align-items:center;padding:24px 20px;gap:16px}#preview-panel h2{font-family:var(--mono);font-size:11px;color:#888;text-transform:uppercase;letter-spacing:.1em;align-self:flex-start}#eink-display{width:240px;height:200px;background:#000;border:2px solid #444;border-radius:3px;overflow:hidden;display:flex;flex-direction:column;padding:4px;gap:2px;position:relative}#eink-display:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 1px,rgba(255,255,255,.015) 1px,rgba(255,255,255,.015) 2px);pointer-events:none;z-index:10}.eink-box{font-family:var(--mono);font-size:9px;color:#fff;line-height:1.3;border-bottom:1px solid #222;padding:3px 4px;flex-shrink:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.eink-box:last-child{border-bottom:none}.eink-box .eink-label{font-size:7px;color:#888;text-transform:uppercase;letter-spacing:.08em;display:block}.eink-box .eink-value{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eink-empty{font-family:var(--mono);font-size:9px;color:#333;text-align:center;padding:20px 8px}.preview-meta{font-family:var(--mono);font-size:10px;color:#555;text-align:center;line-height:1.6}#config-panel{flex:1;display:flex;flex-direction:column;overflow:hidden}.config-toolbar{background:var(--surface);border-bottom:1px solid var(--border);padding:10px 20px;display:flex;align-items:center;gap:10px}.config-toolbar h2{font-size:13px;font-weight:600;flex:1}button{font-family:inherit;font-size:13px;cursor:pointer;border:none;border-radius:var(--radius);padding:6px 12px;transition:background .1s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-danger{background:transparent;color:var(--danger);border:1px solid var(--danger);padding:4px 8px;font-size:12px}.btn-danger:hover{background:var(--danger);color:#fff}.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--border);padding:4px 7px;font-size:12px;line-height:1}.btn-ghost:hover{background:var(--border)}.btn-ghost:disabled{opacity:.3;cursor:default}.btn-secondary{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg)}.add-box-wrapper{position:relative;display:inline-flex;gap:0}.add-box-wrapper select{font-family:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--border);border-right:none;border-radius:var(--radius) 0 0 var(--radius);background:var(--surface);color:var(--text);cursor:pointer}.add-box-wrapper button{border-radius:0 var(--radius) var(--radius) 0}#box-list{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:12px}.box-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.box-card-header{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fafafa;border-bottom:1px solid var(--border)}.box-drag-handle{display:flex;flex-direction:column;gap:3px;margin-right:2px;opacity:.3}.box-drag-handle span{display:block;width:16px;height:2px;background:var(--text);border-radius:1px}.box-type-badge{font-family:var(--mono);font-size:10px;font-weight:700;padding:2px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.06em}.type-text{background:#e0f2fe;color:#0369a1}.type-countdown{background:#fef3c7;color:#92400e}.type-weather{background:#d1fae5;color:#065f46}.box-label-input{flex:1;border:none;background:transparent;font-size:13px;font-weight:500;padding:0;color:var(--text)}.box-label-input:focus{outline:none;border-bottom:1px solid var(--accent)}.box-order-controls{display:flex;gap:4px}.box-card-body{padding:12px;display:flex;flex-direction:column;gap:10px}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.field input,.field textarea,.field select{font-family:inherit;font-size:13px;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);width:100%;transition:border-color .1s}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--accent)}.field textarea{resize:vertical;min-height:72px;font-family:var(--mono);font-size:12px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.empty-state{text-align:center;padding:48px 24px;color:var(--muted)}.empty-state p{font-size:14px;margin-bottom:6px}.empty-state small{font-size:12px;color:#aaa}#box-list::-webkit-scrollbar{width:6px}#box-list::-webkit-scrollbar-track{background:transparent}#box-list::-webkit-scrollbar-thumb{background:#d0d0d0;border-radius:3px}
