:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;line-height:1.5;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:none;background:none}button:focus,button:focus-visible{outline:none}#root{max-width:480px;min-width:480px;margin:0 auto;padding:1rem 1rem 5rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}h1{font-size:1.8rem;margin-bottom:1rem}h2{font-size:1.4rem;margin:1rem 0 .5rem}h3{font-size:1.1rem;margin:.75rem 0 .25rem}input,select{width:100%;padding:.5rem .75rem;margin-bottom:.5rem;font-size:1rem;box-sizing:border-box}button{width:100%;padding:.6rem .75rem;font-size:1rem;margin-top:.25rem;cursor:pointer}ul{padding-left:1.25rem;text-align:left}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;color:#fff5f8;background-color:#050308;background-image:radial-gradient(circle at center,#05030800 45%,#05030866,#050308bf,#000 90%),url(/roses_bg.png);background-repeat:no-repeat,no-repeat;background-position:top center,top center;background-attachment:fixed,fixed;background-size:150% 150%,auto 100vh}.app-root{min-height:100vh;display:flex;flex-direction:column;align-items:center}.app-shell{max-width:480px;min-width:480px;margin:0 auto;padding:16px 16px 72px;background:radial-gradient(circle at top left,rgba(190,48,96,.22),transparent 55%),radial-gradient(circle at bottom right,rgba(170,176,200,.16),transparent 55%);border-radius:16px}.app-title{margin:0 0 16px;font-size:1.8rem;letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(120deg,#fdf4f7,#ff4f86,#d5d7e8);-webkit-background-clip:text;background-clip:text;color:transparent}.card{background:linear-gradient(145deg,#080509,#16030a 45%,#0a060f);border-radius:14px;padding:12px 14px;margin-bottom:12px;box-shadow:0 10px 30px #000000d9,0 0 0 1px #e0d6e80a;border:1px solid rgba(214,80,132,.7)}.card-header{font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;background:linear-gradient(120deg,#ff4f86,#ff85b3);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:6px}.input{width:100%;padding:8px 10px;border-radius:10px;border:1px solid rgba(214,80,132,.6);background:linear-gradient(145deg,#13030b,#210413);color:#fff5f8;font-size:.95rem;margin-bottom:10px}.input:focus{outline:none;border-color:#ff588cf2;box-shadow:0 0 0 1px #ff68a0bf}.button{border-radius:999px;border:none;padding:8px 14px;font-size:.9rem;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.button-primary{background:linear-gradient(135deg,#6b011b,#a60029,#ff4f86);color:#fff6fa;font-weight:600}.button-secondary{background:linear-gradient(135deg,#ff74a433,#787c9c47);border:1px solid rgba(233,140,184,.7);color:#ff7aa8}.button-danger{background:linear-gradient(135deg,#70001880,#c4062ed1,#e03460e6);border:1px solid rgba(255,92,122,.95);color:#ffe6ee}label{font-size:.85rem;background:linear-gradient(120deg,#f5e7ef,#f8c6d8);-webkit-background-clip:text;background-clip:text;color:transparent;display:block;margin-bottom:4px}.timer{font-size:2rem;font-weight:700;letter-spacing:.05em;background:linear-gradient(120deg,#ffd7e5,#fff2f7);-webkit-background-clip:text;background-clip:text;color:transparent;margin:6px 0 10px}.bottom-nav{position:fixed;inset-inline:0;bottom:0;display:flex;justify-content:space-around;padding:8px 10px;background:linear-gradient(to top,#16000afa,#220418f5,#080910f5);border-top:1px solid rgba(224,154,190,.55);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.nav-button{flex:1;background:transparent;border:none;color:#e4d2de;padding:6px 0;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.nav-button-active{background:linear-gradient(120deg,#ff4f86,#ff8fb5);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700;border-bottom:2px solid #b4002b}.modal-backdrop{position:fixed;inset:0;background:radial-gradient(circle at top,#700628b3,#0a030af2),radial-gradient(circle at bottom,#0c0d14e6,#000000fa);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-card{max-width:420px;width:90%;position:relative}.modal-close{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:6px;border:1px solid rgba(243,156,192,.85);background:linear-gradient(135deg,#140410,#251024);color:#ffe0ec;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.9rem;line-height:1}.modal-close:hover{background:linear-gradient(135deg,#77052c,#da2e62);border-color:#ffb4d4}.session-list{list-style:none;padding:0;margin:8px 0 0}.session-label{font-size:.9rem;opacity:.8;margin-bottom:.25rem}.session-block{padding:12px 0 10px;border-top:1px solid rgba(223,120,170,.5)}.session-block:first-child{border-top:none}.session-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.session-piece{flex:1;min-width:0}.session-title-line{font-size:.95rem;font-weight:600;font-style:italic;background:linear-gradient(120deg,#ffe8f1,#ffd2e6);-webkit-background-clip:text;background-clip:text;color:transparent}.session-composer-line{font-size:.8rem;text-transform:lowercase;letter-spacing:.04em;background:linear-gradient(120deg,#ff4f86,#ff89b3);-webkit-background-clip:text;background-clip:text;color:transparent}.session-right{min-width:100px;display:flex;justify-content:flex-end}.session-duration{font-size:.85rem;background:linear-gradient(120deg,#e9e3ee,#fff2f7);-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap}.session-goal-line{margin-top:6px;text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;background:linear-gradient(120deg,#ff82ae,#ffb2d0);-webkit-background-clip:text;background-clip:text;color:transparent}.session-bottom{margin-top:6px;display:flex;justify-content:flex-end}.session-delete{width:auto!important;padding-inline:10px;padding-block:4px;font-size:.8rem;background:linear-gradient(135deg,#460a18bf,#78102ebf,#a02048c7);border:1px solid rgba(200,100,140,.55);color:#fbe9f0}.insights-list{list-style:none;padding:0;margin:8px 0 0}.insight-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:8px 0;border-top:1px solid rgba(223,120,170,.5)}.insight-row:first-child{border-top:none}.insight-main{flex:1;min-width:0}.insight-title{font-size:.95rem;font-weight:600;font-style:italic;background:linear-gradient(120deg,#ffe8f1,#ffd2e6);-webkit-background-clip:text;background-clip:text;color:transparent}.insight-composer{font-size:.8rem;text-transform:lowercase;letter-spacing:.04em;background:linear-gradient(120deg,#ff4f86,#ff89b3);-webkit-background-clip:text;background-clip:text;color:transparent}.insight-right{min-width:100px;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.insight-rank{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;background:linear-gradient(120deg,#ff82ae,#ffb2d0);-webkit-background-clip:text;background-clip:text;color:transparent}.insight-duration{font-size:.85rem;background:linear-gradient(120deg,#e9e3ee,#fff2f7);-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap}.dropdown-root{position:relative;display:block;width:100%}.dropdown-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:100%;box-sizing:border-box}.dropdown-label{flex:1 1 auto;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.dropdown-label-placeholder{opacity:.6;font-style:italic}.dropdown-icon{flex-shrink:0;font-size:.75rem;opacity:.8}.dropdown-menu{position:absolute;top:calc(100% + .25rem);left:0;width:100%;max-height:220px;overflow-y:auto;padding:.25rem 0;border-radius:.75rem;border:1px solid rgba(255,255,255,.12);background:#0a060cfa;box-shadow:0 18px 40px #0000008c;z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-top:0!important}.dropdown-option{padding:.45rem .8rem;font-size:.9rem;line-height:1.3;cursor:pointer;transition:background .12s ease,color .12s ease}.dropdown-option-highlighted{background:#ff8cb42e}.dropdown-option-selected{font-weight:600}.start-session-form{display:flex;flex-direction:column;gap:.75rem}.form-row{display:flex;flex-direction:column;gap:.25rem}.manage-pieces-button{margin-top:.5rem;align-self:flex-start}.start-session-button{align-self:flex-start;margin-top:.5rem}.field-label{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;opacity:.8}button:hover,.button:hover,.dropdown-trigger:hover{outline:1px solid rgba(223,120,170,.35);outline-offset:2px}
