*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Press Start\ 2P,monospace}:root{--bg:#0e0d1c;--bg-panel:#181628;--bg-card:#131122;--text:#cac4e0;--text-dim:#8884b8;--text-muted:#2c2a48;--border:#232140;--border-hi:#3d3965;--shadow:#000000a6;--xp-track:#09080f;--xp-fill:#c48a28;--xp-border:#7a5512;--btn-sec-bg:#1c1a35;--btn-sec-hover:#27254a;--btn-sec-text:#8480b8}[data-theme=light]{--bg:#f4eeea;--bg-panel:#eee5f8;--bg-card:#e8d8f4;--text:#1c1530;--text-dim:#6a5580;--text-muted:#c0add5;--border:#d8c8e8;--border-hi:#bcaad0;--shadow:#1c00382e;--xp-track:#e5daf0;--xp-fill:#c47818;--xp-border:#9a5a10;--btn-sec-bg:#e4d4f8;--btn-sec-hover:#d8c5f0;--btn-sec-text:#4a2868}.App.mode-work{--accent:#d06878;--accent-dark:#b05468}.App.mode-shortBreak{--accent:#3aaa8e;--accent-dark:#2d886f}.App.mode-longBreak{--accent:#5888c8;--accent-dark:#3e6aa8}[data-theme=light] .App.mode-work{--accent:#8c3548;--accent-dark:#78293c}[data-theme=light] .App.mode-shortBreak{--accent:#1f7a64;--accent-dark:#1a6554}[data-theme=light] .App.mode-longBreak{--accent:#2e5fa8;--accent-dark:#264e8c}body{color:#cac4e0;color:var(--text);overflow-x:hidden;transition:background .3s,color .3s}.App,body{background:#0e0d1c;background:var(--bg)}.App{align-items:center;display:flex;flex-direction:column;min-height:100vh;padding:1.25rem 1rem 2.5rem;position:relative;transition:background .4s}.App:before{background:repeating-linear-gradient(0deg,#0000,#0000 3px,#0000000f 0,#0000000f 4px);content:"";inset:0;pointer-events:none;position:fixed;z-index:999}[data-theme=light] .App:before{background:repeating-linear-gradient(0deg,#0000,#0000 3px,rgba(0,0,0,.025) 0,rgba(0,0,0,.025) 4px)}.App.alerting{animation:session-end-pulse 1.4s ease 2}@keyframes session-end-pulse{0%,to{background:#0e0d1c;background:var(--bg)}45%{background:color-mix(in srgb,#d06878 12%,#0e0d1c);background:color-mix(in srgb,var(--accent,#d06878) 12%,var(--bg))}}[data-theme=light] .App.alerting{animation:session-end-pulse-light 1.4s ease 2}@keyframes session-end-pulse-light{0%,to{background:#0e0d1c;background:var(--bg)}45%{background:color-mix(in srgb,#d06878 14%,#0e0d1c);background:color-mix(in srgb,var(--accent,#d06878) 14%,var(--bg))}}.top-bar{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.25rem;max-width:380px;width:100%}h1{background:linear-gradient(135deg,#e8b84b,#e8782a 45%,#d06878);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(3px 3px 0 rgba(60,10,30,.95)) drop-shadow(0 0 10px rgba(220,100,120,.6)) drop-shadow(0 0 24px rgba(220,100,120,.28));font-size:1.4rem;letter-spacing:.12em;line-height:1.3;text-transform:uppercase}[data-theme=light] h1,h1{-webkit-text-fill-color:#0000}[data-theme=light] h1{background:linear-gradient(135deg,#c47818,#b85030 45%,#8c3548);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(2px 2px 0 rgba(28,0,56,.22)) drop-shadow(0 0 8px rgba(140,53,72,.28))}.top-bar-actions{align-items:center;display:flex;gap:.35rem}.settings-btn{background:#131122;background:var(--bg-card);border:2px solid #232140;border:2px solid var(--border);box-shadow:2px 2px 0 #000000a6;box-shadow:2px 2px 0 var(--shadow);cursor:pointer;font-size:.85rem;line-height:1;padding:.3rem .4rem;transition:background .15s,transform .1s,box-shadow .1s}.settings-btn:hover{background:#181628;background:var(--bg-panel)}.settings-btn:active{box-shadow:0 0 0 #000000a6;box-shadow:0 0 0 var(--shadow);transform:translate(2px,2px)}.theme-toggle{background:#131122;background:var(--bg-card);border:2px solid #232140;border:2px solid var(--border);box-shadow:2px 2px 0 #000000a6;box-shadow:2px 2px 0 var(--shadow);color:#8884b8;color:var(--text-dim);cursor:pointer;font-family:Press Start\ 2P,monospace;font-size:.75rem;letter-spacing:.03em;padding:.4rem .6rem;transition:background .15s,color .15s,transform .1s,box-shadow .1s;white-space:nowrap}.theme-toggle:hover{background:#181628;background:var(--bg-panel);color:#cac4e0;color:var(--text)}.theme-toggle:active{box-shadow:0 0 0 #000000a6;box-shadow:0 0 0 var(--shadow);transform:translate(2px,2px)}.pet-display{flex-direction:column;gap:.55rem;margin-bottom:.4rem;max-width:380px;width:100%}.pet-display,.pet-frame{align-items:center;display:flex}.pet-frame{background:#181628;background:var(--pet-bg,#181628);border:3px solid #d06878;border:3px solid var(--pet-color,#d06878);box-shadow:5px 5px 0 #000000a6,inset 0 0 16px #0009;box-shadow:5px 5px 0 var(--shadow),inset 0 0 16px #0009;flex-shrink:0;height:96px;justify-content:center;overflow:hidden;position:relative;width:96px}[data-theme=light] .pet-frame{box-shadow:5px 5px 0 #000000a6,inset 0 0 16px #0000001a;box-shadow:5px 5px 0 var(--shadow),inset 0 0 16px #0000001a}.pet-stage-badge{background:#000000bf;bottom:2px;color:#d06878;color:var(--pet-color,#d06878);font-family:Press Start\ 2P,monospace;font-size:.65rem;letter-spacing:.04em;line-height:1.5;padding:1px 3px;position:absolute;right:2px;text-transform:uppercase}[data-theme=light] .pet-stage-badge{background:#ffffffd9}.pet-name{color:#cac4e0;color:var(--text);font-size:1rem;letter-spacing:.06em}.pet-name,[data-theme=light] .pet-name{text-shadow:1px 1px 0 #000000a6;text-shadow:1px 1px 0 var(--shadow)}.pixel-pet{display:block;image-rendering:pixelated;image-rendering:crisp-edges}@keyframes petBounce{0%{transform:translateY(0) scale(1)}25%{transform:translateY(-14px) scale(1.2)}55%{transform:translateY(-6px) scale(1.05)}75%{transform:translateY(-10px) scale(1.1)}to{transform:translateY(0) scale(1)}}.pixel-pet-bounce{animation:petBounce .65s cubic-bezier(.36,.07,.19,.97) forwards}.xp-section{display:flex;flex-direction:column;gap:4px;width:100%}.xp-label-row{align-items:baseline;display:flex;font-size:.75rem;justify-content:space-between}.xp-count{color:#c48a28;color:var(--xp-fill)}.xp-status{color:#8884b8;color:var(--text-dim)}.xp-maxed{color:#c48a28;color:var(--xp-fill)}.xp-bar-track{background:#09080f;background:var(--xp-track);border:2px solid #7a5512;border:2px solid var(--xp-border);box-shadow:3px 3px 0 #000000a6;box-shadow:3px 3px 0 var(--shadow);height:14px;overflow:visible;position:relative}.xp-bar-fill{background:linear-gradient(180deg,color-mix(in srgb,#c48a28 80%,#fff),#c48a28 50%,color-mix(in srgb,#c48a28 80%,#000));background:linear-gradient(180deg,color-mix(in srgb,var(--xp-fill) 80%,#fff) 0,var(--xp-fill) 50%,color-mix(in srgb,var(--xp-fill) 80%,#000) 100%);height:100%;position:relative;transition:width .6s ease}.xp-bar-fill:after{background:repeating-linear-gradient(90deg,#0000,#0000 7px,#0003 0,#0003 8px);content:"";inset:0;position:absolute}.xp-marker{background:#3d3965;background:var(--border-hi);height:calc(100% + 6px);pointer-events:none;position:absolute;top:-3px;transform:translateX(-50%);width:2px}.xp-stage-labels{color:#2c2a48;color:var(--text-muted);font-size:.6rem;height:14px;letter-spacing:.04em;position:relative}.xp-stage-labels span{position:absolute}.xp-stage-labels span:first-child{left:0}.xp-stage-labels span:last-child,.xp-stage-labels span:nth-child(2){transform:translateX(-50%)}.divider{border:none;border-top:2px solid #232140;border-top:2px solid var(--border);margin:.75rem 0;max-width:380px;width:100%}.session-info{align-items:center;display:flex;flex-direction:column;gap:.4rem;margin-bottom:.4rem}.mode-label{color:#d06878;color:var(--accent,#d06878);font-size:1rem;letter-spacing:.05em;text-shadow:2px 2px 0 #000000a6;text-shadow:2px 2px 0 var(--shadow)}.sub-label{color:#8884b8;color:var(--text-dim);font-size:.85rem;letter-spacing:.03em}.timer-display{font-feature-settings:"tnum";color:#d06878;color:var(--accent,#d06878);font-size:clamp(3rem,14vw,5.5rem);font-variant-numeric:tabular-nums;letter-spacing:.05em;line-height:1;margin:.5rem 0 .75rem;text-shadow:0 0 22px color-mix(in srgb,#d06878 42%,#0000),0 0 50px color-mix(in srgb,#d06878 18%,#0000),3px 3px 0 #000000a6;text-shadow:0 0 22px color-mix(in srgb,var(--accent,#d06878) 42%,#0000),0 0 50px color-mix(in srgb,var(--accent,#d06878) 18%,#0000),3px 3px 0 var(--shadow);transition:color .5s ease,text-shadow .5s ease}[data-theme=light] .timer-display{text-shadow:0 0 14px color-mix(in srgb,#d06878 28%,#0000),2px 2px 0 #000000a6;text-shadow:0 0 14px color-mix(in srgb,var(--accent,#d06878) 28%,#0000),2px 2px 0 var(--shadow)}.cycle-dots{align-items:center;display:flex;gap:.4rem;margin-bottom:1.25rem}.dot{filter:grayscale(1) brightness(.6);font-size:1.15rem;line-height:1;opacity:.2;transition:opacity .3s,filter .3s,transform .3s}.dot.active,.dot.done{filter:grayscale(0);opacity:1}.dot.active{animation:dotPulse 1.1s ease-in-out infinite;transform:scale(1.3)}@keyframes dotPulse{0%,to{transform:scale(1.3)}50%{transform:scale(1.5)}}.controls{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1.25rem}.btn{background:#d06878;background:var(--accent,#d06878);border:2px solid #0000;box-shadow:3px 3px 0 #000000a6;box-shadow:3px 3px 0 var(--shadow);color:#0e0d1c;cursor:pointer;font-family:Press Start\ 2P,monospace;font-size:1rem;letter-spacing:.04em;padding:.7rem 1.2rem;text-transform:uppercase;transition:transform .08s,box-shadow .08s,background .15s;white-space:nowrap}[data-theme=light] .btn{color:#fff}.btn:hover:not(:disabled){background:#b05468;background:var(--accent-dark,#b05468);box-shadow:2px 2px 0 #000000a6;box-shadow:2px 2px 0 var(--shadow);transform:translate(1px,1px)}.btn:active:not(:disabled){box-shadow:0 0 0 #000000a6;box-shadow:0 0 0 var(--shadow);transform:translate(3px,3px)}.btn:disabled{cursor:not-allowed;opacity:.25}.btn-secondary{background:#1c1a35;background:var(--btn-sec-bg);color:#8480b8;color:var(--btn-sec-text)}.btn-secondary:hover:not(:disabled){background:#27254a;background:var(--btn-sec-hover);color:#8480b8;color:var(--btn-sec-text)}.btn-sm{font-size:.75rem;padding:.55rem .85rem}.settings-card{background:#181628;background:var(--bg-panel);border:2px solid #3d3965;border-top:3px solid #d06878;border:2px solid var(--border-hi);border-top:3px solid var(--accent,#d06878);box-shadow:3px 3px 0 #000000a6;box-shadow:3px 3px 0 var(--shadow);margin:0 auto;max-width:340px;overflow:hidden;width:100%}.setting-row{align-items:center;border-bottom:1px solid #232140;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:.65rem 1rem}.setting-row:last-child{border-bottom:none}.setting-row label{color:#8884b8;color:var(--text-dim);font-family:Press Start\ 2P,monospace;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase}.setting-control{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.setting-control span{color:#8884b8;color:var(--text-dim);font-family:Press Start\ 2P,monospace;font-size:.55rem;letter-spacing:.04em}.settings-card input[type=number],.settings-card select{appearance:none;-webkit-appearance:none;-moz-appearance:textfield;background:#131122;background:var(--bg-card);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='4'%3E%3Cpath fill='%23d06878' d='M0 0h8v1H0zM1 1h6v1H1zM2 2h4v1H2zM3 3h2v1H3z'/%3E%3C/svg%3E");background-position:right .55rem center;background-repeat:no-repeat;border:2px solid #3d3965;border:2px solid var(--border-hi);box-shadow:2px 2px 0 #000000a6;box-shadow:2px 2px 0 var(--shadow);color:#d06878;color:var(--accent,#d06878);cursor:pointer;font-family:Press Start\ 2P,monospace;font-size:.85rem;outline:none;padding:.4rem 1.75rem .4rem .6rem;text-align:center;transition:border-color .15s}.settings-card input[type=number]{background-image:none;cursor:text;padding:.4rem .6rem;width:3.2em}.settings-card input[type=number]::-webkit-inner-spin-button,.settings-card input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.settings-card input[type=number]:hover:not(:disabled),.settings-card select:hover:not(:disabled){border-color:#d06878;border-color:var(--accent,#d06878)}.settings-card input[type=number]:focus-visible,.settings-card select:focus-visible{border-color:#d06878;border-color:var(--accent,#d06878);box-shadow:0 0 0 3px color-mix(in srgb,#d06878 30%,#0000),2px 2px 0 #000000a6;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,#d06878) 30%,#0000),2px 2px 0 var(--shadow);outline:none}.settings-card input[type=number]:disabled,.settings-card select:disabled{cursor:not-allowed;opacity:.35}.welcome-modal{align-items:center;background:#000000e0;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:100}[data-theme=light] .welcome-modal{background:#3c00648c}.modal-content{background:#181628;background:var(--bg-panel);border:3px solid #d06878;border:3px solid var(--accent,#d06878);box-shadow:6px 6px 0 #000000a6;box-shadow:6px 6px 0 var(--shadow);max-height:90vh;max-width:440px;overflow-y:auto;padding:1.5rem 1.25rem;width:100%}.modal-wide{max-width:500px}.modal-narrow{max-width:320px}.modal-content h3{color:#d06878;color:var(--accent,#d06878);font-size:1rem;letter-spacing:.05em;margin-bottom:.75rem;text-align:center}.modal-content h3,[data-theme=light] .modal-content h3{text-shadow:2px 2px 0 #000000a6;text-shadow:2px 2px 0 var(--shadow)}.modal-sub{color:#8884b8;color:var(--text-dim);font-size:.85rem;letter-spacing:.03em;line-height:2.2;margin-bottom:.5rem;text-align:center}.got-it-btn{background:#d06878;background:var(--accent,#d06878);border:none;box-shadow:4px 4px 0 #000000a6;box-shadow:4px 4px 0 var(--shadow);color:#0e0d1c;cursor:pointer;display:block;font-family:Press Start\ 2P,monospace;font-size:1rem;letter-spacing:.05em;margin-top:1rem;padding:.85rem;text-transform:uppercase;transition:transform .08s,box-shadow .08s;width:100%}.got-it-btn:hover{box-shadow:3px 3px 0 #000000a6;box-shadow:3px 3px 0 var(--shadow);transform:translate(1px,1px)}.got-it-btn:active{box-shadow:0 0 0 #000000a6;box-shadow:0 0 0 var(--shadow);transform:translate(4px,4px)}.got-it-btn--danger{background:#a83030;color:#fff}.got-it-btn--danger:hover{background:#8c2424}[data-theme=light] .got-it-btn{color:#fff}.picker-cancel-btn{background:none;border:2px solid #232140;border:2px solid var(--border);color:#8884b8;color:var(--text-dim);cursor:pointer;display:block;font-family:Press Start\ 2P,monospace;font-size:.85rem;letter-spacing:.04em;margin-top:.5rem;padding:.7rem;text-transform:uppercase;transition:border-color .15s,color .15s;width:100%}.picker-cancel-btn:hover{border-color:#8884b8;border-color:var(--text-dim);color:#cac4e0;color:var(--text)}.xp-warning-box{background:color-mix(in srgb,#a83030 12%,#131122);background:color-mix(in srgb,#a83030 12%,var(--bg-card));border:2px solid #a83030;display:flex;flex-direction:column;gap:.5rem;margin:.75rem 0;padding:.75rem}.xp-warning-box p{color:#cac4e0;color:var(--text);font-size:.85rem;letter-spacing:.03em;line-height:2.2}.pet-picker{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr);margin:.75rem 0}.pet-card{align-items:center;background:#131122;background:var(--bg-card);border:2px solid #232140;border:2px solid var(--border);box-shadow:2px 2px 0 #000000a6;box-shadow:2px 2px 0 var(--shadow);cursor:pointer;display:flex;flex-direction:column;font-family:Press Start\ 2P,monospace;gap:.3rem;padding:.6rem .3rem;text-align:center;transition:border-color .15s,transform .15s,box-shadow .15s}.pet-card:hover{box-shadow:4px 4px 0 #000000a6;box-shadow:4px 4px 0 var(--shadow);transform:translateY(-2px)}.pet-card-selected,.pet-card:hover{border-color:#d06878;border-color:var(--pet-color,#d06878)}.pet-card-selected{box-shadow:3px 3px 0 #d06878;box-shadow:3px 3px 0 var(--pet-color,#d06878)}.pet-card-name{color:#cac4e0;color:var(--text);font-size:.75rem;letter-spacing:.03em}.pet-card-desc{color:#8884b8;color:var(--text-dim);font-size:.65rem;line-height:1.8}.welcome-instructions{display:flex;flex-direction:column;gap:.85rem;list-style:none;margin:.75rem 0 .25rem;padding:0}.welcome-instructions li{background:#131122;background:var(--bg-card);border-left:3px solid #d06878;border-left:3px solid var(--accent,#d06878);color:#cac4e0;color:var(--text);font-size:1rem;letter-spacing:.03em;line-height:2;padding:.5rem .6rem}:focus{outline:none}.btn:focus-visible,.got-it-btn:focus-visible,.picker-cancel-btn:focus-visible,.settings-btn:focus-visible,.theme-toggle:focus-visible{box-shadow:0 0 0 5px color-mix(in srgb,#d06878 28%,#0000),3px 3px 0 #000000a6;box-shadow:0 0 0 5px color-mix(in srgb,var(--accent,#d06878) 28%,#0000),3px 3px 0 var(--shadow);outline:3px solid #d06878;outline:3px solid var(--accent,#d06878);outline-offset:3px}.pet-card:focus-visible{outline:3px solid #d06878;outline:3px solid var(--pet-color,#d06878);outline-offset:3px}@media (min-width:601px) and (max-width:1024px){.App{padding:2rem 2rem 3rem}.controls,.cycle-dots,.divider,.pet-display,.session-info,.settings-card,.top-bar{max-width:520px}.modal-wide{max-width:560px}.pet-frame{height:120px;width:120px}h1{font-size:1.6rem}.btn{padding:.85rem 1.4rem}.btn,.got-it-btn{font-size:1rem;min-height:44px}.picker-cancel-btn{min-height:44px}.pet-card{padding:.75rem .5rem}}@media (max-width:600px){.App{padding:1rem .75rem 2rem}.top-bar{margin-bottom:.75rem}h1{font-size:1rem}.timer-display{font-size:clamp(2.8rem,20vw,4.5rem)}.btn{font-size:.85rem;min-height:48px;padding:.8rem 1rem}.btn.btn-sm{font-size:.7rem;min-height:48px;padding:.65rem .75rem}.got-it-btn{font-size:.85rem;min-height:48px}.picker-cancel-btn{font-size:.75rem;min-height:48px}.settings-btn,.theme-toggle{min-height:48px;min-width:48px}.controls{gap:.5rem}.pet-picker{gap:.4rem;grid-template-columns:repeat(2,1fr)}.pet-card{padding:.6rem .3rem}.modal-content{padding:1rem .85rem}.modal-wide,.settings-card{max-width:100%}.setting-row{padding:.55rem .75rem}.setting-row label{font-size:.56rem}.settings-card input[type=number],.settings-card select{font-size:.75rem}.welcome-instructions li{font-size:.85rem}}
/*# sourceMappingURL=main.8f36befd.css.map*/