:root{--ink:#243035;--muted:#667770;--paper:#f2e7d8;--coral:#df7259;--mint:#b6d8c9;--line:#d8d0c4;--card:rgba(255,250,242,.68)}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:Manrope,sans-serif;min-height:100vh}button,input,textarea{font:inherit}button{cursor:pointer;border:0;color:inherit}.app-shell{min-height:100vh;position:relative;overflow:hidden;padding:28px 6vw 48px;background:linear-gradient(150deg,#efd5bb 0%,#f9f2e7 45%,#c9ddd8 100%);transition:.5s}.app-shell:after{content:"";position:absolute;inset:0;opacity:.18;pointer-events:none;background-image:radial-gradient(#fff .6px,transparent .8px);background-size:5px 5px}.app-shell[data-theme=night]{--ink:#edf2ed;--muted:#a7b7b3;--paper:#172227;--coral:#f2997b;--mint:#93c9bb;--line:#3c5050;--card:rgba(31,48,51,.72);background:linear-gradient(145deg,#17252d,#27444a 56%,#102225)}.app-shell[data-theme=forest]{--ink:#20362b;--muted:#617b6d;--paper:#e5ebd9;--coral:#cc7457;--mint:#a6cfae;--line:#c7d5c4;--card:rgba(244,248,235,.68);background:linear-gradient(145deg,#b9d1ae,#eaf0dc 48%,#95b7a6)}.app-shell[data-theme=cloud]{--ink:#263440;--muted:#687986;--paper:#e9eff3;--coral:#d77c73;--mint:#abcdd4;--line:#d2dde1;--card:rgba(252,254,255,.69);background:linear-gradient(145deg,#bcd3e5,#eef3f6 48%,#d7d8ee)}.ambient{position:absolute;border-radius:50%;filter:blur(1px);opacity:.36;pointer-events:none;animation:float 11s ease-in-out infinite alternate}.ambient.one{height:min(34vw,480px);width:min(34vw,480px);background:#fff1bd;top:-14vw;left:-8vw}.ambient.two{height:min(28vw,400px);width:min(28vw,400px);background:#84bcb4;bottom:-14vw;right:-8vw;animation-delay:-5s}@keyframes float{to{transform:translate(30px,18px) scale(1.08)}}.topbar,.hero,.timer-area{position:relative;z-index:1}.topbar{display:flex;align-items:center;justify-content:space-between}.brand{color:var(--ink);text-decoration:none;font-family:"Playfair Display";font-size:27px;font-weight:700;letter-spacing:-1.5px}.brand-mark{color:var(--coral);font-style:italic}.today{font:11px "DM Mono";letter-spacing:1px;color:var(--muted);display:flex;align-items:center;gap:8px}.today span:first-child{width:7px;height:7px;border-radius:50%;background:var(--coral)}.icon-button,.close-panel{background:transparent;font-size:21px;color:var(--muted);padding:5px}.hero{text-align:center;padding-top:70px}.eyebrow{margin:0 0 8px;font:10px "DM Mono";color:var(--muted);letter-spacing:1.25px}h1{font:600 clamp(48px,7vw,84px)/.99 "Playfair Display";letter-spacing:-4px;margin:0}h1 em{color:var(--coral)}.focus-task{margin:22px 0 0;font-size:13px;color:var(--muted)}.quote{margin:10px 0 0;color:var(--muted);font:italic 13px "Playfair Display"}.timer-area{width:min(520px,100%);margin:38px auto 0;text-align:center}.mode-tabs{display:flex;gap:22px;justify-content:center;margin-bottom:18px}.mode{padding:6px 0;background:none;color:var(--muted);font-size:12px;border-bottom:1px solid transparent}.mode small{display:block;font:10px "DM Mono";margin-top:3px}.mode.active{color:var(--ink);border-color:var(--coral);font-weight:700}.timer-card,.float-panel{background:var(--card);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.4);box-shadow:0 18px 45px rgba(38,61,53,.14)}.timer-card{border-radius:34px;padding:32px 25px 26px}.timer-ring{width:196px;height:196px;margin:auto;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--coral) 0deg,#d7ddd5 0);transition:background .4s}.timer-ring:before{content:"";position:absolute;inset:8px;background:var(--card);border-radius:50%}.time{position:relative;font:500 48px "DM Mono";letter-spacing:-4px}.ring-dot{position:absolute;width:11px;height:11px;background:var(--coral);border:2px solid var(--paper);border-radius:50%;top:3px;z-index:1}.session-copy{color:var(--muted);font-size:12px;margin:18px 0}.timer-actions{display:flex;align-items:center;justify-content:center;gap:17px}.subtle-button{background:transparent;color:var(--muted);font-size:11px;padding:10px 5px}.play-button{background:var(--ink);color:var(--paper);border-radius:999px;padding:12px 20px;font-size:12px;font-weight:700;box-shadow:0 5px 0 #0004}.play-button:active{transform:translateY(3px);box-shadow:0 2px 0 #0004}.play-button span{color:var(--mint);margin-right:5px}.session-summary{display:flex;justify-content:center;gap:12px;align-items:center;margin-top:18px;color:var(--muted);font-size:11px}.session-summary b{color:var(--ink)}.session-summary i{height:10px;border-left:1px solid var(--line)}.float-panel{position:fixed;z-index:3;border-radius:18px;padding:18px;width:290px}.tasks-panel{left:5vw;top:24vh}.notes-panel{right:5vw;bottom:11vh;width:310px}.panel-grab{color:var(--muted);letter-spacing:-2px;font-size:15px;position:absolute;top:5px;left:calc(50% - 12px);cursor:grab;touch-action:none}.panel-grab:active{cursor:grabbing}.panel-heading,.dialog-header{display:flex;justify-content:space-between;align-items:start}.panel-heading h2,.dialog-header h2{margin:0;font:600 24px "Playfair Display";letter-spacing:-1px}.panel-heading h2 span{font:10px "DM Mono";color:var(--muted);vertical-align:middle;margin-left:5px}.task-list{list-style:none;padding:4px 0;margin:8px 0;max-height:260px;overflow:auto}.task-list li{display:flex;align-items:center;gap:9px;padding:8px 2px;font-size:12px;border-bottom:1px solid var(--line)}.task-list li:last-child{border:0}.task-list input{appearance:none;width:15px;height:15px;border:1px solid var(--muted);border-radius:50%;margin:0;flex:none}.task-list input:checked{background:var(--mint);border-color:var(--mint);box-shadow:inset 0 0 0 3px var(--paper)}.task-list .done{text-decoration:line-through;color:var(--muted)}.task-list button{margin-left:auto;background:transparent;color:var(--muted);font-size:16px}.add-row{display:flex;border-top:1px solid var(--line);padding-top:10px}.add-row input,.notes-panel textarea{border:0;outline:0;background:transparent;color:var(--ink)}.add-row input{width:100%;font-size:11px}.add-row button{background:var(--mint);border-radius:50%;width:23px;height:23px;font-size:18px;line-height:1}.notes-panel textarea{display:block;resize:none;width:100%;min-height:135px;padding:12px 0;font:12px/1.7 Manrope}.notes-footer{border-top:1px solid var(--line);padding-top:9px;display:flex;justify-content:space-between;color:var(--muted);font:9px "DM Mono"}.panel-launchers{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:2;display:none;gap:8px}.panel-launchers button{background:var(--ink);color:var(--paper);padding:9px 13px;border-radius:999px;font-size:11px}.panel-launchers b{font:10px "DM Mono";color:var(--mint);margin-left:4px}dialog{width:min(440px,calc(100% - 32px));padding:0;border:0;border-radius:20px;background:transparent;box-shadow:0 25px 100px #18201d55}dialog::backdrop{background:#17252599;backdrop-filter:blur(5px)}.settings-card{background:var(--paper);padding:25px}.setting-title{color:var(--muted);font:10px "DM Mono";letter-spacing:1px;margin:20px 0 10px}.settings-card .dialog-header+.setting-title{margin-top:20px}.setting-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.setting-grid label{color:var(--muted);font-size:11px}.setting-grid input{display:block;width:100%;margin-top:6px;border:1px solid var(--line);background:var(--card);border-radius:7px;padding:9px;color:var(--ink)}.theme-picks{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.theme-picks label{cursor:pointer;text-align:center;font-size:9px;color:var(--muted)}.theme-picks input{position:absolute;opacity:0}.swatch{height:31px;display:block;border-radius:7px;margin-bottom:4px;border:2px solid transparent}.theme-picks input:checked+.swatch{border-color:var(--coral)}.dawn{background:linear-gradient(145deg,#efd5bb,#c9ddd8)}.night{background:linear-gradient(145deg,#17252d,#385d55)}.forest{background:linear-gradient(145deg,#b9d1ae,#95b7a6)}.cloud{background:linear-gradient(145deg,#bcd3e5,#d7d8ee)}.switch-row{display:flex;align-items:center;gap:10px;margin-top:20px;font-size:12px}.switch-row input{accent-color:var(--coral)}menu{display:flex;justify-content:end;align-items:center;gap:13px;padding:15px 0 0;margin:12px 0 0;border-top:1px solid var(--line)}@media(max-width:850px){.hero{padding-top:50px}.float-panel{position:relative;top:auto;left:auto;right:auto;bottom:auto;margin:20px auto 0;width:min(520px,100%)}.tasks-panel{margin-top:40px}.notes-panel{margin-top:15px}.panel-launchers{display:none}.app-shell{overflow:auto;padding-inline:20px}}@media(max-width:450px){.today{display:none}.hero{padding-top:44px}.timer-card{padding-inline:14px}.mode-tabs{gap:14px}.timer-actions{gap:8px}.subtle-button{font-size:10px}.play-button{padding:11px 14px}}
