:root{--bg:#0b0d12;--panel:#121621;--panel2:#181e2b;--line:#272e3e;--text:#f6f7fb;--muted:#9ca5b7;--accent:#7664ff;--accent2:#3dd6a5;--danger:#ff6478;--radius:20px}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}.app{max-width:1040px;margin:auto;padding:16px 16px 110px}.app-header{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:9px 0 17px;background:linear-gradient(var(--bg) 78%,transparent)}.brand{font-weight:950;letter-spacing:.13em}.brand span{font-size:9px;color:#bcb4ff}.subtitle,.muted{color:var(--muted);font-size:12px}.view{display:none}.view.active{display:block}.hero-card,.card{background:linear-gradient(145deg,var(--panel),#0f131c);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.hero-card h1{font-size:clamp(30px,5.2vw,52px);line-height:1.03;margin:8px 0 9px}.hero-card p{color:var(--muted)}.eyebrow{font-size:10px;font-weight:900;letter-spacing:.14em;color:#bdb4ff}.grid{display:grid;gap:13px;margin-top:13px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.no-margin{margin:0}.section-title{display:flex;align-items:end;justify-content:space-between;margin:24px 2px 12px}.section-title.inside{margin:0 0 14px}.section-title h1,.section-title h2,.card h2{margin:0}.card h2{margin-bottom:11px}.card label,.dialog-form label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:750}input,select,textarea{width:100%;border:1px solid var(--line);background:#0b0f17;color:var(--text);padding:12px;border-radius:13px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent)}.btn{border:0;border-radius:14px;padding:12px 16px;font-weight:850;color:var(--text);background:var(--panel2);cursor:pointer}.btn.primary{background:var(--accent)}.btn.secondary{border:1px solid var(--line);background:#1b2230}.btn.ghost{border:1px solid var(--line);background:transparent}.btn.start{background:linear-gradient(90deg,var(--accent),#5884ff);padding:16px}.btn.compact{padding:9px 12px;font-size:12px}.btn.danger{background:rgba(255,100,120,.12);border:1px solid rgba(255,100,120,.3);color:#ffa4b0}.card .btn{margin-top:10px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.span2{grid-column:span 2}.toggle-grid,.action-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:13px}.toggle{display:flex!important;align-items:center!important;grid-template-columns:auto 1fr!important;border:1px solid var(--line);background:#0c111a;padding:9px 11px;border-radius:12px}.toggle input{width:auto}.mode-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:18px 0}.mode-card{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025);padding:13px;text-align:left;color:var(--text);cursor:pointer}.mode-card.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px rgba(118,100,255,.35)}.mode-card b,.mode-card small{display:block}.mode-card small{color:var(--muted);margin-top:3px}.mode-specific .mode-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.feature-box{border:1px solid var(--line);background:#0d1119;border-radius:15px;padding:13px}.feature-box strong{display:block;margin-bottom:5px}.feature-box small{color:var(--muted)}.list-stack{display:grid;gap:9px}.list-item{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:14px}.list-item.active{border-color:var(--accent)}.list-item small{display:block;color:var(--muted);margin-top:4px}.icon-mini{border:1px solid var(--line);background:#0b0f17;color:var(--text);border-radius:9px;padding:7px;cursor:pointer}.media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:13px}.media-card{position:relative;aspect-ratio:3/4;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#0d1119}.media-card img{width:100%;height:100%;object-fit:cover}.media-meta{position:absolute;inset:auto 0 0;padding:32px 9px 9px;background:linear-gradient(transparent,rgba(0,0,0,.88));font-size:11px}.media-actions{position:absolute;right:7px;top:7px;display:flex;gap:5px}.embed-preview{margin-top:14px}.embed-preview iframe,.music-panel iframe{width:100%;border:0;border-radius:12px}.embed-preview iframe.spotify,.music-panel iframe.spotify{height:152px}.embed-preview iframe.youtube,.music-panel iframe.youtube{aspect-ratio:16/9;min-height:200px}.stat-card span,.stat-card small{color:var(--muted);font-size:12px}.stat-card strong{display:block;font-size:25px;margin-top:7px}.history-list{display:grid;gap:6px}.history-item{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line)}.history-item small{display:block;color:var(--muted)}.bottom-nav{position:fixed;z-index:35;left:50%;bottom:max(9px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(620px,calc(100% - 22px));display:grid;grid-template-columns:repeat(5,1fr);padding:7px;border:1px solid var(--line);border-radius:19px;background:rgba(17,21,31,.9);backdrop-filter:blur(17px)}.bottom-nav button{border:0;background:transparent;color:var(--muted);padding:7px;border-radius:13px}.bottom-nav button span{display:block;font-size:9px}.bottom-nav button.active{background:#22293a;color:#fff}dialog{border:1px solid var(--line);border-radius:20px;background:var(--panel);color:var(--text);width:min(530px,calc(100% - 26px));padding:0}dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(4px)}.dialog-form{padding:20px;display:grid;gap:13px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.dialog-preview{width:100%;max-height:260px;object-fit:contain;border-radius:14px;background:#080b10}.flow{position:fixed;inset:0;z-index:100;background:#000;overflow:hidden}.flow-slides,.flow-slide{position:absolute;inset:0}.flow-slide{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s ease,transform 9s linear}.flow-slide.active{opacity:1}.flow.zoom .flow-slide.active{transform:scale(1.06)}.flow.slide .flow-slide{transform:translateX(5%)}.flow.slide .flow-slide.active{transform:translateX(0)}.flow.none .flow-slide{transition:none}.flow-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(rgba(0,0,0,.35),transparent 22%,transparent 70%,rgba(0,0,0,.55))}.flow-hud{position:absolute;inset:0;padding:max(14px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:space-between;pointer-events:none;transition:opacity .25s}.flow-hud.ui-hidden{opacity:1}.flow-hud.ui-idle .flow-bottom-min{opacity:.42}.flow-hud.ui-idle .flow-bottom-min:hover,.flow-hud.ui-idle .flow-bottom-min:active{opacity:.9}.flow-top-min,.flow-bottom-min{pointer-events:auto}.flow-top-min{display:flex;justify-content:space-between;align-items:start}.flow-top-min>div{display:flex;align-items:center;gap:8px;background:rgba(0,0,0,.28);backdrop-filter:blur(8px);padding:7px 9px;border-radius:14px}.flow-top-min strong{font-size:18px}.flow-chip{font-size:9px;font-weight:900;letter-spacing:.1em;color:#ddd8ff}.mini-round{width:35px;height:35px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.25);color:#fff}.progress-track{height:3px;background:rgba(255,255,255,.2);border-radius:99px;overflow:hidden}.progress-track>div{height:100%;background:#fff;width:0}.flow-progress-fixed{position:absolute;left:14px;right:14px;bottom:max(10px,env(safe-area-inset-bottom));z-index:108;pointer-events:none}.flow-bottom-min{position:absolute;z-index:112;transition:opacity .25s;opacity:.82}.minimal-controls{display:flex;justify-content:center;gap:6px;margin:0}.minimal-controls button{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.28);backdrop-filter:blur(8px);color:#fff;font-size:17px}.minimal-controls .play{width:34px;height:34px}.flow-bottom-min.pos-bottom-right{right:14px;bottom:max(24px,calc(env(safe-area-inset-bottom) + 12px))}.flow-bottom-min.pos-bottom-left{left:14px;bottom:max(24px,calc(env(safe-area-inset-bottom) + 12px))}.flow-bottom-min.pos-top-right{right:14px;top:max(68px,calc(env(safe-area-inset-top) + 58px))}.flow-bottom-min.pos-top-left{left:14px;top:max(68px,calc(env(safe-area-inset-top) + 58px))}.flow-bottom-min.pos-bottom-center{left:50%;bottom:max(24px,calc(env(safe-area-inset-bottom) + 12px));transform:translateX(-50%)}.flow-bottom-min.pos-top-center{left:50%;top:max(68px,calc(env(safe-area-inset-top) + 58px));transform:translateX(-50%)}.flow-fab{position:absolute;z-index:116;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.3);backdrop-filter:blur(10px);color:#fff}.note-fab{left:14px;top:50%;transform:translateY(-50%)}.music-fab{right:14px;top:50%;transform:translateY(-50%)}.floating-panel{position:absolute;z-index:120;border:1px solid rgba(255,255,255,.22);box-shadow:0 15px 50px rgba(0,0,0,.35);transition:opacity .2s,transform .2s}.floating-panel.collapsed{opacity:0;pointer-events:none;transform:scale(.96)}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.panel-head button,.mini-toolbar button{border:0;background:rgba(0,0,0,.08);border-radius:8px;padding:6px 8px}.sticky-note{left:66px;top:50%;transform:translateY(-50%);width:min(360px,calc(100vw - 88px));max-height:68vh;overflow:auto;background:#fff1a8;color:#292411;border-color:#e7d677;border-radius:6px;padding:14px;box-shadow:6px 9px 25px rgba(0,0,0,.32);rotate:-.4deg}.sticky-note.collapsed{transform:translateY(-50%) scale(.96)}.rich-note{font-size:15px;line-height:1.48}.rich-note ul,.rich-note ol{padding-left:22px}.note-editor{display:grid;gap:8px}.mini-toolbar{display:flex;gap:5px;flex-wrap:wrap}.editable{min-height:130px;max-height:280px;overflow:auto;border:1px dashed rgba(0,0,0,.25);padding:10px;background:rgba(255,255,255,.28);border-radius:6px;outline:none}.note-save{background:#3c3724!important;margin:0!important}.music-panel{right:65px;top:50%;transform:translateY(-50%);width:min(370px,calc(100vw - 88px));max-height:72vh;overflow:auto;background:rgba(17,21,31,.96);backdrop-filter:blur(16px);border-radius:16px;padding:13px}.music-panel.collapsed{transform:translateY(-50%) scale(.96)}.music-local-row{font-size:11px;color:var(--muted);padding-top:7px}.burst-overlay,.complete{position:fixed;inset:0;z-index:140;display:grid;place-items:center;background:rgba(0,0,0,.66);backdrop-filter:blur(8px);text-align:center;padding:24px}.burst-overlay h2{font-size:clamp(40px,9vw,82px);margin:8px 0}.complete{background:radial-gradient(circle at center,#1a2241,#080a10 65%)}.complete-card{width:min(530px,100%)}.completion-icon{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;margin:0 auto 15px;background:var(--accent2);color:#08110d;font-size:36px;font-weight:950}.complete-card h1{font-size:40px;margin:11px 0}.complete-card p{color:var(--muted)}.hidden{display:none!important}.danger-zone{border-color:rgba(255,100,120,.25)}
@media(max-width:720px){.app{padding:12px 12px 105px}.subtitle{display:none}.grid.two,.grid.three,.form-grid,.mode-specific .mode-feature-grid{grid-template-columns:1fr}.span2{grid-column:auto}.mode-cards{grid-template-columns:1fr}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-card{padding:18px}.sticky-note{left:58px;width:calc(100vw - 76px)}.music-panel{right:58px;width:calc(100vw - 76px)}.minimal-controls{opacity:.62}}
.header-actions{display:flex;gap:8px}.vault-card{border-color:rgba(118,100,255,.35)}.privacy-curtain{position:fixed;inset:0;z-index:1000;background:#07090e;display:grid;place-items:center;text-align:center}.privacy-logo{font-weight:950;letter-spacing:.16em;font-size:28px}.privacy-logo span{font-size:11px;color:var(--muted);letter-spacing:.08em}.vault-lock-screen{position:fixed;inset:0;z-index:1001;background:radial-gradient(circle at 50% 35%,#171d33,#07090e 62%);display:grid;place-items:center;padding:20px}.vault-lock-card{width:min(390px,100%);text-align:center;border:1px solid var(--line);background:rgba(17,21,31,.94);backdrop-filter:blur(18px);border-radius:24px;padding:28px}.vault-lock-card h1{margin:8px 0}.vault-lock-card p{color:var(--muted);margin:0 0 18px}.vault-lock-card input{font-size:22px;text-align:center;letter-spacing:.18em;margin-bottom:10px}.vault-lock-card .btn{width:100%}.vault-lock-icon{font-size:40px;margin-bottom:10px}.vault-error{display:block;color:#ff9aaa;min-height:18px;margin-top:8px}.media-card.masked img{filter:blur(22px) brightness(.25);transform:scale(1.12)}.media-card.masked:after{content:'🔒';position:absolute;inset:0;display:grid;place-items:center;font-size:28px;pointer-events:none}.media-card.masked .media-meta{display:none}.media-card.masked .media-actions{z-index:2}.vault-encrypted-badge{font-size:10px;color:#a7f3d0}.hidden{display:none!important}

/* GoalFlow v3.2 — draggable Goal Note + explicit Flow window controls */
.flow-window-controls{display:flex;gap:7px;pointer-events:auto}.flow-window-controls .mini-round{backdrop-filter:blur(10px)}.flow-window-controls .exit{background:rgba(120,18,28,.42);border-color:rgba(255,120,135,.32)}
.note-fab{touch-action:none;cursor:grab;transform:none!important}.note-fab:active{cursor:grabbing}.sticky-note{touch-action:auto;transform:none!important;rotate:-.4deg}.sticky-note .panel-head{cursor:grab;touch-action:none;user-select:none}.sticky-note .panel-head:active{cursor:grabbing}.sticky-note.collapsed{transform:scale(.96)!important}.flow-hud.ui-hidden .flow-window-controls{opacity:0;pointer-events:none}
@media(max-width:560px){.flow-top-min{gap:8px}.flow-window-controls{gap:5px}.flow-window-controls .mini-round{width:34px;height:34px}.flow-top-min>div{padding:6px 8px}.flow-top-min strong{font-size:16px}.sticky-note{max-width:calc(100vw - 16px);max-height:72vh}}

/* GoalFlow v3.2.1 — persistent timer + primary Flow controls */
.flow-hud.ui-hidden{opacity:1}
.flow-hud.ui-hidden .flow-top-min{opacity:1;pointer-events:auto}
.flow-hud.ui-hidden .flow-top-min>div{opacity:1;pointer-events:auto}
.flow-hud.ui-hidden .flow-window-controls{opacity:1;pointer-events:auto}
.flow-hud.ui-hidden .flow-bottom-min{opacity:0;pointer-events:none;transition:opacity .25s}
.flow-bottom-min{transition:opacity .25s}
