@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;800&display=swap";:root{--bg-color:#2c1e16;--text-color:#f5e6d3;--card-bg:#3e272399;--card-text-color:#f5e6d3;--card-border:#d4a37326;--accent-color:#d4a373;--accent-hover:#e6b588;--input-bg:#0003;--input-border:#d4a37333;--danger:#ef4444;--danger-hover:#f87171;--shadow:0 8px 32px 0 #00000080;--success:#10b981;--backdrop-blur:blur(16px)}[data-theme=light]{--bg-color:#fdfbf7;--text-color:#3e2723;--card-bg:#fff;--card-text-color:#3e2723;--card-border:#8d55241a;--accent-color:#c87941;--accent-hover:#8d5524;--input-bg:#f5ebe0;--input-border:#8d552426;--shadow:0 8px 16px -4px #3e27231a;--backdrop-blur:blur(0px)}*{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-color);width:100%;min-height:100%;transition:background-color .3s,color .3s}body{color:var(--text-color);flex-direction:column;align-items:center;min-height:100dvh;font-family:Outfit,sans-serif;display:flex;position:relative;overflow-x:hidden}body:before{content:"";z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 200 200\" fill=\"none\" stroke=\"%23d4a373\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" opacity=\"0.08\"><path d=\"M50 80 Q100 120 150 80\" /><path d=\"M60 80 L70 140 Q100 160 130 140 L140 80\" /><path d=\"M140 90 C160 90 160 130 135 130\" /><path d=\"M40 150 L160 150\" /><path d=\"M80 40 Q85 20 95 30 T105 10\" /><path d=\"M110 40 Q115 20 125 30 T135 10\" /></svg>");background-position:50%;background-repeat:no-repeat;background-size:contain;width:80vw;height:80vh;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}[data-theme=light] body:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 200 200\" fill=\"none\" stroke=\"%233e2723\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" opacity=\"0.05\"><path d=\"M50 80 Q100 120 150 80\" /><path d=\"M60 80 L70 140 Q100 160 130 140 L140 80\" /><path d=\"M140 90 C160 90 160 130 135 130\" /><path d=\"M40 150 L160 150\" /><path d=\"M80 40 Q85 20 95 30 T105 10\" /><path d=\"M110 40 Q115 20 125 30 T135 10\" /></svg>")}#app{width:100%;max-width:600px;padding:calc(1rem + env(safe-area-inset-top)) max(1.5rem, env(safe-area-inset-right)) calc(2rem + env(safe-area-inset-bottom)) max(1.5rem, env(safe-area-inset-left));z-index:1}h1,h2,h3{margin-bottom:1rem;font-weight:600}.header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.dashboard-header h1{margin:0}.brewster-brand{align-items:center;gap:.65rem;min-width:0;display:flex}.brewster-brand img{object-fit:contain;width:38px;height:38px}.section-title{margin-top:2rem}.header-actions{gap:.5rem;display:flex}button{background-color:var(--accent-color);color:var(--bg-color);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.2rem;font-family:inherit;font-size:.95rem;font-weight:800;transition:all .2s;display:inline-flex}[data-theme=light] button{color:#fff}button:hover{background-color:var(--accent-hover);transform:translateY(-1px)}button.secondary{border:1px solid var(--accent-color);color:var(--accent-color);background-color:#0000}button.secondary:hover{background-color:#d4a3731a}[data-theme=light] button.secondary:hover{background-color:#c879411a}button.danger{background-color:var(--danger);color:#fff;border:none}button.danger:hover{background-color:var(--danger-hover)}button.icon-btn{border:1px solid var(--input-border);color:inherit;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:1.2rem;display:flex}button.icon-btn:hover{background:var(--input-bg)}button.icon-btn.danger{color:var(--danger);border-color:#ef44444d}button.icon-btn.danger:hover{background:#ef44441a}input,select{background-color:var(--input-bg);border:1px solid var(--input-border);width:100%;min-width:0;color:inherit;border-radius:12px;margin-bottom:1rem;padding:.8rem 1rem;font-family:inherit;font-size:1rem;transition:border-color .2s}input:focus,select:focus{border-color:var(--accent-color);outline:none}.card{background:var(--card-bg);-webkit-backdrop-filter:var(--backdrop-blur);color:var(--card-text-color);border:1px solid var(--card-border);box-shadow:var(--shadow);border-radius:16px;margin-bottom:1.5rem;padding:1.5rem;transition:transform .2s,box-shadow .2s,background-color .3s,color .3s}.auth-container{background:var(--card-bg);-webkit-backdrop-filter:var(--backdrop-blur);color:var(--card-text-color);border:1px solid var(--card-border);text-align:center;box-shadow:var(--shadow);border-radius:20px;padding:2.5rem 2rem}.auth-container h2{margin-bottom:1.5rem}.action-item{background:var(--input-bg);border:1px solid var(--input-border);border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:1rem;transition:opacity .2s,background-color .2s;display:flex}.action-item[draggable=true]{cursor:grab}.action-item[draggable=true]:active,.drag-handle:active{cursor:grabbing!important}.drag-handle{justify-content:center;align-items:center;display:flex}.action-type{text-transform:uppercase;letter-spacing:.05em;color:var(--accent-color);font-size:.85rem;font-weight:600}.action-controls{align-items:center;gap:.5rem;display:flex}.action-controls input{text-align:center;width:60px;margin-bottom:0;padding:.4rem}.add-action-buttons{grid-template-columns:repeat(2,1fr);gap:.5rem;margin-top:1rem;display:grid}.add-action-buttons button{width:100%}.save-routine{gap:1rem;margin-top:1.5rem;display:flex}.save-routine input{flex:1;margin-bottom:0}.routine-item{flex-direction:row;justify-content:space-between;align-items:center;gap:1rem;display:flex}.routine-title{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:1.1rem;font-weight:600;overflow:hidden}.routine-info{flex-direction:column;flex:1;min-width:0;display:flex}.routine-stats{opacity:.68;flex-wrap:wrap;gap:.3rem .8rem;margin-top:.35rem;font-size:.85rem;display:flex}.routine-actions{flex-wrap:nowrap;align-items:center;gap:.5rem;display:flex}.pending-brew-item{background:var(--input-bg);border:1px solid var(--input-border);border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:1rem;display:flex}.brew-info{flex-direction:column;display:flex}.brew-name{color:var(--accent-color);font-weight:600}.brew-time{opacity:.8;font-size:.85rem}.brewster-copy{margin-bottom:1rem}.brewster-copy strong{font-size:1.1rem}.brewster-setting-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1rem;margin-bottom:.4rem;display:grid}.brewster-setting-grid label>span{margin-bottom:.45rem;font-weight:600;display:block}.picker-field{min-width:0}.picker-field select{min-height:48px;margin:0;padding:.7rem 1.8rem .7rem .8rem;font-weight:600}.brewster-save{width:100%;margin-top:.8rem}.brewster-photo-panel{border-top:1px solid var(--card-border);margin-top:1.25rem;padding-top:1.25rem}.brewster-photo-panel summary{cursor:pointer;align-items:center;gap:.65rem;min-height:44px;font-size:1.1rem;font-weight:600;list-style:none;display:flex}.brewster-photo-panel summary::-webkit-details-marker{display:none}.brewster-photo-panel summary:after{content:"⌄";color:var(--accent-color);flex:none;font-size:1.35rem;line-height:1;transition:transform .2s}.brewster-photo-panel[open] summary:after{transform:rotate(180deg)}.brewster-photo-count{min-width:0;color:var(--text-color);opacity:.68;text-overflow:ellipsis;white-space:nowrap;margin-left:auto;font-size:.9rem;font-weight:400;overflow:hidden}.brewster-photo-panel-body{padding-top:1rem}.brewster-upload{margin:0;padding:0}.file-picker-row{align-items:center;gap:.75rem;min-width:0;margin-bottom:.75rem;display:flex}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.file-picker-button{border:1px solid var(--accent-color);color:var(--accent-color);cursor:pointer;border-radius:12px;flex:none;padding:.7rem .9rem;font-weight:800}#brewster-file-summary{text-overflow:ellipsis;white-space:nowrap;opacity:.72;min-width:0;overflow:hidden}.brewster-upload-button{width:100%}.brewster-upload small{opacity:.68;margin-top:.6rem;display:block}.brewster-slide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1rem;display:grid}.brewster-empty{grid-column:1/-1;margin:0}.brewster-slide-card{border:1px solid var(--input-border);background:var(--input-bg);border-radius:12px;overflow:hidden}.brewster-slide-preview,.brewster-image-placeholder{aspect-ratio:16/9;background:#00000040;width:100%;display:block}.brewster-slide-preview{height:auto}.brewster-slide-preview.preview-error{opacity:.45}.brewster-image-placeholder{opacity:.65;justify-content:center;align-items:center;font-size:.8rem;display:flex}.brewster-slide-meta{align-items:center;gap:.5rem;padding:.65rem;display:flex}.brewster-slide-meta span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.82rem;overflow:hidden}.brewster-slide-meta button{padding:.45rem .65rem;font-size:.75rem}.brewster-slide-presentation{padding:0 .65rem .65rem}.brewster-presentation-value{opacity:.7;margin-bottom:.5rem;font-size:.8rem;display:block}.brewster-presentation-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;display:grid}.brewster-presentation-controls button{min-width:0;padding:.45rem .3rem;font-size:.72rem}.overlay-modal{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:calc(1rem + env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) calc(1rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));z-index:1000;opacity:0;pointer-events:none;background:#0009;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:fixed;inset:0}.overlay-modal.active{opacity:1;pointer-events:auto}.modal-content{width:90%;max-width:400px;max-height:80vh;overflow-y:auto}.time-inputs{gap:1rem;margin:1.5rem 0;display:flex}.time-inputs div{flex:1}.time-inputs label{color:inherit;opacity:.8;margin-bottom:.5rem;font-size:.85rem;display:block}.modal-actions{justify-content:flex-end;gap:1rem;margin-top:1rem;display:flex}.message{background:var(--input-bg);text-align:center;border-radius:12px;margin-bottom:1rem;padding:1rem}.message.error{color:var(--danger);background:#ef44441a;border:1px solid #ef444433}.message.success{color:var(--success);background:#10b9811a;border:1px solid #10b98133}@media (width<=520px){#app{padding:calc(.75rem + env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) calc(1.5rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left))}h1{font-size:1.65rem}h2{font-size:1.4rem}.header{margin-bottom:1rem}.section-title{margin-top:1.6rem}.card{border-radius:14px;margin-bottom:1.1rem;padding:1rem}.brewster-setting-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.brewster-slide-grid{grid-template-columns:1fr}.save-routine{flex-direction:column;gap:.75rem;margin-top:1rem}.save-routine input,.save-routine button{width:100%}.routine-item{flex-direction:column;align-items:stretch;gap:.9rem}.routine-actions{justify-content:space-between;gap:.35rem;width:100%}.routine-actions .icon-btn{flex:0 0 42px;width:42px;height:42px}.action-item,.pending-brew-item{flex-wrap:wrap;gap:.6rem}.action-controls{margin-left:auto}.file-picker-row{gap:.6rem}.file-picker-button{padding:.65rem .75rem}.modal-content{width:100%}}@media (width<=360px){.card{padding:.85rem}.routine-actions .icon-btn{flex-basis:38px;width:38px;height:38px}}
