.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root{--bg-base: #f8fafc;--bg-surface: #ffffff;--bg-surface-solid: #ffffff;--bg-surface-hover: #f1f5f9;--primary: #4f46e5;--primary-hover: #4338ca;--accent: #ef4444;--text-primary: #0f172a;--text-secondary: #64748b;--text-muted: #94a3b8;--border-light: #e2e8f0;--border-strong: #cbd5e1;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-surface: 0 10px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--glass-blur: blur(8px)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-base);color:var(--text-primary)}.app-shell{display:flex;flex-direction:column;height:100%;max-width:480px;margin:0 auto;background:var(--bg-surface-solid);box-shadow:var(--shadow-surface);position:relative;overflow:hidden;border-left:1px solid var(--border-light);border-right:1px solid var(--border-light)}.app-bar{display:flex;align-items:center;padding:0 16px;height:56px;background:#ffffffbf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(226,232,240,.6);color:var(--text-primary);flex-shrink:0;box-shadow:0 1px 16px #4f46e514;z-index:10}.app-bar h1{font-size:18px;font-weight:800;flex:1;letter-spacing:.3px;background:linear-gradient(135deg,#4f46e5,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.project-picker-btn{display:inline-flex;align-items:center;gap:7px;max-width:62vw;padding:5px 8px 5px 10px;border:1.5px solid var(--border-light);border-radius:20px;background:var(--bg-surface);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-text-fill-color:initial;transition:background .12s,transform .08s}.project-picker-btn:active{transform:scale(.96);background:var(--bg-surface-hover)}.project-picker-dot{width:11px;height:11px;border-radius:50%;flex-shrink:0}.project-picker-name{font-size:15px;font-weight:800;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-picker-chevron{flex-shrink:0;color:var(--text-muted)}.app-bar-actions{display:flex;gap:4px}.icon-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;transition:all .2s}.icon-btn:hover{background:var(--bg-surface-hover);color:var(--primary)}.page-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.project-ruler{display:flex;align-items:flex-end;gap:5px;padding:7px 12px 2px;background:var(--bg-surface-solid);border-top:1px solid var(--border-light);flex-shrink:0;z-index:10}.project-ruler-item{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px}.project-ruler-tick{width:100%;height:4px;border-radius:2px;transition:height .2s,background .2s,opacity .2s}.project-ruler-item--active .project-ruler-tick{height:6px}.project-ruler-label{max-width:100%;font-size:9.5px;font-weight:600;line-height:1.1;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-ruler-item--active .project-ruler-label{font-weight:800}.project-swipe-bar{display:flex;align-items:center;gap:6px;padding:6px 10px 7px;background:var(--bg-surface-solid);flex-shrink:0;z-index:10;touch-action:pan-y;overflow:hidden}.project-swipe-side{flex:1 1 0;min-width:0;height:40px;display:flex;align-items:center;gap:3px;padding:0 4px;border:none;background:none;color:var(--text-muted);font-size:12.5px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;opacity:.85}.project-swipe-side--prev{justify-content:flex-start}.project-swipe-side--next{justify-content:flex-end}.project-swipe-side:disabled{opacity:0;pointer-events:none}.project-swipe-side:active{opacity:1}.project-swipe-side-name{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-swipe-current{flex:0 0 auto;max-width:52%;min-width:0;height:40px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:1.5px solid var(--border-light);border-radius:12px;background:var(--bg-surface);cursor:pointer;-webkit-tap-highlight-color:transparent;will-change:transform}.project-swipe-current:active{background:var(--bg-surface-hover)}.project-swipe-dot{width:11px;height:11px;border-radius:50%;flex-shrink:0}.project-swipe-name{font-size:15px;font-weight:800;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-swipe-chevron{flex-shrink:0;color:var(--text-muted)}.project-screen-anim{flex:1;min-height:0;display:flex;flex-direction:column;animation:projScreenFade .26s ease-out}.project-screen-anim[data-dir=next]{animation:projScreenNext .28s cubic-bezier(.22,1,.36,1)}.project-screen-anim[data-dir=prev]{animation:projScreenPrev .28s cubic-bezier(.22,1,.36,1)}@keyframes projScreenFade{0%{opacity:0}to{opacity:1}}@keyframes projScreenNext{0%{opacity:0;transform:translate(7%)}to{opacity:1;transform:none}}@keyframes projScreenPrev{0%{opacity:0;transform:translate(-7%)}to{opacity:1;transform:none}}.bottom-nav-3{position:relative;display:flex;border-top:1px solid var(--border-light);background:var(--bg-surface-solid);flex-shrink:0;box-shadow:0 -1px 3px #0000000d;z-index:10;padding-bottom:env(safe-area-inset-bottom,0)}.bottom-nav-3-item{flex:1;padding:14px 0 12px;border:none;background:none;font-size:15px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:color .2s;letter-spacing:-.2px;-webkit-tap-highlight-color:transparent}.bottom-nav-3-item.active{color:var(--primary)}.bottom-nav-3-indicator{position:absolute;top:0;width:33.333%;height:2px;background:var(--primary);border-radius:0 0 2px 2px;transition:left .25s cubic-bezier(.4,0,.2,1)}.bottom-nav-3-item--ai,.bottom-nav-3-item--ai.active{color:var(--primary)}.voice-chat-overlay{position:fixed;top:0;left:0;right:0;bottom:var(--bottom-nav-h, 56px);z-index:1000;display:flex;flex-direction:column;background:var(--bg-surface-solid, #fff);animation:voiceChatIn .28s cubic-bezier(.22,1,.36,1)}@keyframes voiceChatIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.voice-chat-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;padding-top:calc(14px + env(safe-area-inset-top,0));border-bottom:1px solid var(--border-light);flex-shrink:0}.voice-chat-title{display:flex;flex-direction:column;gap:3px}.voice-chat-title-main{font-size:17px;font-weight:700;color:var(--text-primary)}.voice-chat-status{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--text-muted)}.voice-chat-status-dot{width:7px;height:7px;border-radius:50%;background:var(--text-muted)}.voice-chat-status--listening{color:#10b981}.voice-chat-status--listening .voice-chat-status-dot{background:#10b981;animation:voicePulse 1.4s ease-in-out infinite}.voice-chat-status--speaking{color:var(--primary)}.voice-chat-status--speaking .voice-chat-status-dot{background:var(--primary);animation:voicePulse .8s ease-in-out infinite}.voice-chat-status--connecting .voice-chat-status-dot{background:#f59e0b;animation:voicePulse 1s ease-in-out infinite}.voice-chat-status--error{color:#ef4444}.voice-chat-status--error .voice-chat-status-dot{background:#ef4444}@keyframes voicePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.voice-chat-close{border:none;background:none;cursor:pointer;color:var(--text-secondary);padding:4px;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.voice-chat-messages{flex:1;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:10px}.voice-chat-empty{margin:auto;text-align:center;color:var(--text-muted)}.voice-chat-empty-icon{font-size:40px}.voice-chat-empty-title{font-size:15px;font-weight:700;color:var(--text-secondary);margin:10px 0 6px}.voice-chat-empty-sub{font-size:13px;line-height:1.9;color:var(--text-muted)}.voice-msg{display:flex}.voice-msg--user{justify-content:flex-end}.voice-msg--assistant{justify-content:flex-start}.voice-msg-bubble{max-width:78%;padding:10px 14px;border-radius:18px;font-size:14.5px;line-height:1.5;word-break:break-word;white-space:pre-wrap}.voice-msg--user .voice-msg-bubble{background:var(--primary);color:#fff;border-bottom-right-radius:5px}.voice-msg--assistant .voice-msg-bubble{background:var(--bg-surface-hover, #f1f3f5);color:var(--text-primary);border-bottom-left-radius:5px}.voice-chat-error{margin:auto;text-align:center;color:#ef4444;font-size:13.5px;display:flex;flex-direction:column;gap:10px;align-items:center}.voice-chat-retry{border:1px solid #ef4444;background:none;color:#ef4444;font-weight:600;padding:7px 16px;border-radius:20px;cursor:pointer}.voice-chat-orb-wrap{display:flex;justify-content:center;padding:6px 0 12px;flex-shrink:0}.voice-orb{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg-surface-hover, #f1f3f5);color:var(--text-muted);transition:all .3s}.voice-orb--listening{background:#10b98118;color:#10b981;box-shadow:0 0 #10b98155;animation:voiceOrbPulse 1.6s ease-out infinite}.voice-orb--speaking{background:var(--primary);color:#fff;box-shadow:0 0 22px 2px color-mix(in srgb,var(--primary) 55%,transparent)}.voice-orb--connecting{background:#f59e0b18;color:#f59e0b}@keyframes voiceOrbPulse{0%{box-shadow:0 0 #10b98155}70%{box-shadow:0 0 0 16px #10b98100}to{box-shadow:0 0 #10b98100}}.vc-mode-select{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:24px 20px}.vc-mode-hint{font-size:16px;font-weight:700;color:var(--text-primary)}.vc-mode-grid{display:flex;gap:14px;width:100%;max-width:420px}.vc-mode-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px 12px;border:1.5px solid var(--border-light);border-radius:18px;background:var(--bg-surface, #fff);cursor:pointer;transition:transform .12s,border-color .15s,background .15s;-webkit-tap-highlight-color:transparent}.vc-mode-btn:active{transform:scale(.97)}.vc-mode-ico{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;color:#fff}.vc-mode-btn--speaker .vc-mode-ico{background:#4f46e5}.vc-mode-btn--speaker{border-color:#4f46e533}.vc-mode-btn--speaker:active{background:#eef0ff}.vc-mode-btn--earpiece .vc-mode-ico{background:#16a34a}.vc-mode-btn--earpiece{border-color:#16a34a33}.vc-mode-btn--earpiece:active{background:#e9faf0}.vc-mode-name{font-size:15px;font-weight:700;color:var(--text-primary)}.vc-mode-desc{font-size:12px;color:var(--text-secondary)}.vc-endcall-btn{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 14px 4px;padding:13px;border:none;border-radius:16px;background:#ef4444;color:#fff;font-size:15px;font-weight:700;cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent;transition:transform .1s,background .15s}.vc-endcall-btn:active{transform:scale(.98);background:#dc2626}.voice-chat-footer{display:flex;gap:8px;padding:10px 14px 14px;border-top:1px solid var(--border-light);flex-shrink:0}.voice-chat-input{flex:1;border:1px solid var(--border-light);border-radius:22px;padding:10px 16px;font-size:14.5px;background:var(--bg-surface, #fff);color:var(--text-primary);outline:none}.voice-chat-input:focus{border-color:var(--primary)}.voice-chat-send{width:42px;height:42px;border-radius:50%;border:none;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:opacity .2s}.voice-chat-send:disabled{opacity:.4;cursor:default}.login-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:24px;padding:32px;text-align:center;background:var(--bg-base)}.login-screen h2{font-size:24px;color:var(--text-primary);font-weight:700;letter-spacing:-.5px}.login-screen p{color:var(--text-secondary);font-size:15px}.btn-google{display:flex;align-items:center;gap:12px;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:12px 24px;cursor:pointer;font-size:16px;font-weight:500;color:var(--text-primary);box-shadow:var(--shadow-sm);transition:all .2s}.btn-google:hover{background:var(--bg-surface-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.todo-screen{display:flex;flex-direction:column;height:100%;flex:1;position:relative;background:var(--bg-base)}.sort-bar{display:flex;gap:0;padding:12px 16px;border-top:1px solid var(--border-light);flex-shrink:0;background:var(--bg-surface);margin-top:auto}.tag-filter-bar{display:flex;gap:8px;padding:12px 16px 0;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;flex-shrink:0;scrollbar-width:none}.tag-filter-bar::-webkit-scrollbar{display:none}.tag-filter-chip{padding:6px 14px;border-radius:16px;font-size:13px;font-weight:600;background:var(--bg-surface-hover);color:var(--text-secondary);border:1px solid var(--border-light);cursor:pointer;transition:all .2s ease;white-space:nowrap}.tag-filter-chip:hover{background:#3f51b50d;color:#3f51b5}.tag-filter-chip.active{background:#3f51b5;color:#fff;border-color:#3f51b5;box-shadow:0 2px 6px #3f51b54d}.todo-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.sort-btn{flex:1;padding:8px 12px;border:1px solid var(--border-strong);background:var(--bg-surface);cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;gap:6px;color:var(--text-secondary);transition:all .2s;font-weight:500}.sort-btn:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.sort-btn:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}.sort-btn:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.sort-btn.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:var(--shadow-sm)}.tasks-list{flex:1;overflow-y:auto;padding-bottom:24px;padding-top:8px}.task-item{display:flex;align-items:flex-start;padding:16px;margin:0 16px 12px;border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--bg-surface);box-shadow:var(--shadow-sm);gap:12px;transition:all .2s;-webkit-tap-highlight-color:transparent}.task-item:hover{border-color:var(--border-strong);background:var(--bg-surface-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.task-check-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:2px;flex-shrink:0;color:var(--text-muted);margin-top:2px;transition:all .1s}.task-check-btn:hover{color:var(--primary);transform:scale(1.1)}.task-check-btn.completed{color:var(--primary)}.task-body{flex:1;min-width:0}.task-title{font-size:15px;font-weight:600;color:var(--text-primary);letter-spacing:.3px}.task-title.completed{text-decoration:line-through;color:var(--text-muted)}.task-notes{font-size:13px;color:var(--text-secondary);margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-location{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--primary);font-weight:500;margin-top:6px;text-transform:uppercase;letter-spacing:.5px}.task-due{font-size:12px;color:var(--accent);flex-shrink:0;margin-top:2px;font-weight:600}.briefing-idle{display:flex;flex-direction:column;height:100%;padding:32px 16px;background:var(--bg-base);overflow-y:auto}.briefing-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;width:100%}.briefing-card{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:20px;display:flex;align-items:flex-start;gap:16px;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm)}.briefing-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary)}.briefing-card-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.briefing-card-icon.map-icon{background:#4f46e51a;color:var(--primary)}.briefing-card-icon.tag-icon{background:#10b9811a;color:#10b981}.briefing-card-content{display:flex;flex-direction:column;gap:6px;text-align:left}.briefing-card-content h3{font-size:16px;font-weight:700;color:var(--text-primary);margin:0}.briefing-card-content p{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.4}.btn-primary{display:flex;align-items:center;gap:8px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);padding:14px 28px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm);letter-spacing:.5px}.btn-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:disabled{background:var(--border-strong);color:var(--text-muted);box-shadow:none;cursor:not-allowed}.briefing-map-container{position:relative;height:100%;width:100%;flex:1;display:flex;flex-direction:column}.briefing-map-container .leaflet-container{flex:1;width:100%}.briefing-overlay-card{position:absolute;bottom:80px;left:16px;right:16px;background:#ffffffbf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:2px solid var(--primary);border-radius:var(--radius-xl);padding:20px;box-shadow:0 10px 32px #4f46e533;z-index:1000;transition:opacity .5s,transform .3s}.briefing-overlay-card h2{font-size:20px;font-weight:700;text-align:center;margin-bottom:10px;color:var(--text-primary)}.briefing-meta{display:flex;align-items:center;justify-content:center;gap:16px;font-size:14px;color:var(--primary);font-weight:600}.briefing-meta span{display:flex;align-items:center;gap:4px}.briefing-stop-btn{position:absolute;top:16px;right:16px;z-index:1000;background:#fff;border:1px solid var(--border-light);color:var(--accent);border-radius:50%;width:44px;height:44px;font-size:20px;cursor:pointer;box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;transition:all .2s}.briefing-stop-btn:hover{background:#fef2f2;transform:scale(1.05)}.map-container{height:100%;width:100%;position:relative}.gemini-bar{position:absolute;bottom:56px;left:0;right:0;background:var(--bg-surface);border-top:1px solid var(--border-light);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:0 -4px 20px #00000014;z-index:500;padding-bottom:env(safe-area-inset-bottom,0);transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.gemini-handle{width:40px;height:4px;background:var(--border-strong);border-radius:2px;margin:12px auto 8px}.gemini-input-row{display:flex;align-items:center;padding:4px 16px 12px;gap:8px}.gemini-input-row input[type=text]{flex:1;border:1px solid var(--border-light);border-radius:var(--radius-lg);outline:none;font-size:15px;padding:10px 16px;background:var(--bg-base);color:var(--text-primary);min-width:0;transition:all .2s}.gemini-input-row input[type=text]:focus{border-color:var(--primary);box-shadow:0 0 0 2px #4f46e51a}.gemini-input-row input[type=text]::placeholder{color:var(--text-muted)}.gemini-circle-btn{width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;transition:all .2s}.gemini-circle-btn:disabled{opacity:.4;cursor:not-allowed;background:var(--bg-surface-hover);color:var(--text-muted)}.gemini-send-btn{background:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.gemini-send-btn:hover:not(:disabled){background:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.gemini-mic-btn-idle{background:#eff6ff;color:var(--primary)}.gemini-mic-btn-idle:hover{background:#e0e7ff}.gemini-mic-btn-active{background:#fef2f2;color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent);animation:pulse-recording 1.5s infinite}@keyframes pulse-recording{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.gemini-icon-btn{background:none;border:none;cursor:pointer;font-size:24px;color:var(--text-secondary);padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.gemini-icon-btn:hover{color:var(--primary);text-shadow:var(--shadow-neon);transform:scale(1.1)}.gemini-preview-card{margin:8px 16px 16px;padding:16px;border-radius:var(--radius-md);border:1px solid;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-surface)}.gemini-preview-card.create{background:#00f0ff0d;border-color:#00f0ff4d}.gemini-preview-card.update{background:#ffcc000d;border-color:#ffcc004d}.gemini-preview-card.delete{background:#ff003c0d;border-color:#ff003c4d}.preview-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.preview-label{font-size:13px;font-weight:700;flex:1;text-transform:uppercase;letter-spacing:1px}.gemini-preview-card.create .preview-label{color:var(--primary)}.gemini-preview-card.update .preview-label{color:#fc0}.gemini-preview-card.delete .preview-label{color:var(--accent)}.preview-title{font-size:16px;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.preview-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.preview-chip{display:flex;align-items:center;gap:6px;font-size:12px;background:#ffffff1a;padding:4px 8px;border-radius:var(--radius-sm);color:var(--text-secondary)}.btn-confirm{border:1px solid;border-radius:var(--radius-sm);padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer;background:#0003;color:var(--text-primary);display:flex;align-items:center;gap:6px;transition:all .2s;text-transform:uppercase}.gemini-preview-card.create .btn-confirm{border-color:var(--primary)}.gemini-preview-card.create .btn-confirm:hover{background:var(--primary);color:var(--bg-base);box-shadow:var(--shadow-neon)}.btn-cancel-small{background:none;border:none;cursor:pointer;font-size:22px;color:var(--text-muted);padding:4px;transition:color .2s}.btn-cancel-small:hover{color:var(--accent)}.gemini-status-bar{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 16px;font-size:15px;font-weight:600;color:var(--primary);text-shadow:0 0 5px rgba(0,240,255,.3)}.gemini-status-bar .stop-btn{background:#ff003c1a;border:1px solid var(--accent);border-radius:50%;width:36px;height:36px;cursor:pointer;color:var(--accent);font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s}.gemini-status-bar .stop-btn:hover{background:var(--accent);color:var(--text-primary);box-shadow:0 0 15px #ff003c80}.gemini-error-bar{display:flex;align-items:center;gap:8px;padding:10px 16px;color:var(--accent);font-size:14px;background:#ff003c0d;border-top:1px solid rgba(255,0,60,.2)}.gemini-success-bar{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 16px;color:#4cd964;font-weight:600;background:#4cd9640d;border-top:1px solid rgba(76,217,100,.2)}p.task-check-btn.completed{color:#3f51b5;border-color:#3f51b5;background-color:#3f51b51a}.tag-group-card{background:#fff;border-radius:12px;margin-bottom:20px;box-shadow:0 4px 12px #0000000d;border:1px solid rgba(0,0,0,.04);overflow:hidden}.tag-group-header{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f8f9fa;cursor:pointer;border-bottom:1px solid rgba(0,0,0,.04);transition:background .2s ease}.tag-group-header:active{background:#f1f3f5}.tag-group-title{font-size:16px;font-weight:700;color:#333;display:flex;align-items:center;gap:8px}.tag-chip-icon{font-size:14px}.tag-count{font-size:13px;color:#888;font-weight:500}.tag-group-expand-icon{color:#888;display:flex;align-items:center;justify-content:center}.tag-group-top-task{padding:0 16px}.tag-group-top-task .task-item{border-bottom:none!important;margin-bottom:0!important;padding:16px 0!important}.tag-group-accordion-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s cubic-bezier(.4,0,.2,1);background:#fafafa}.tag-group-card.expanded .tag-group-accordion-content{grid-template-rows:1fr}.tag-group-accordion-inner{overflow:hidden;padding:0 16px}.tag-group-accordion-inner .task-item{border-top:1px dashed #e0e0e0;border-bottom:none!important;margin-bottom:0!important;padding:16px 0!important}.gemini-image-thumb{display:flex;align-items:center;gap:10px;margin:0 16px 12px;padding:8px 12px;background:#0003;border-radius:var(--radius-md);border:1px solid var(--border-light);font-size:13px;width:fit-content;color:var(--text-secondary)}.gemini-image-thumb img{width:36px;height:36px;border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--border-strong)}.thumb-remove{background:none;border:none;cursor:pointer;font-size:16px;color:var(--text-muted);padding:0;line-height:1;transition:color .2s}.thumb-remove:hover{color:var(--accent)}.calendar-screen{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:20px;text-transform:uppercase;letter-spacing:2px}.spinner{display:inline-block;width:24px;height:24px;border:3px solid rgba(0,240,255,.1);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;box-shadow:0 0 10px #00f0ff33}.spinner-sm{width:18px;height:18px;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:var(--text-muted);font-size:16px;padding:32px;text-align:center}.error-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px;text-align:center;color:var(--accent);text-shadow:0 0 5px rgba(255,0,60,.3)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0a0f18d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.modal-content{background:var(--bg-surface-solid);color:var(--text-primary);padding:24px;border-radius:var(--radius-lg);border:1px solid var(--border-strong);width:100%;max-width:400px;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-neon-strong)}.modal-content h2{font-size:20px;margin-bottom:12px;color:var(--primary);text-transform:uppercase;letter-spacing:1px}.modal-content .input-text{border:1px solid var(--border-light);border-radius:var(--radius-md);outline:none;font-size:14px;background:#0000004d;color:var(--text-primary);padding:10px;width:100%;transition:all .2s}.modal-content .input-text:focus{border-color:var(--primary);box-shadow:var(--shadow-neon)}.briefing-center-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0a0f18cc;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px;animation:overlayFadeIn .3s ease-out;transition:opacity .3s ease-out}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.briefing-center-card{background:var(--bg-surface-solid);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:100%;max-width:400px;max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--shadow-neon-strong);overflow:hidden}.briefing-center-header{padding:20px;border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;background:#00f0ff0d}.briefing-center-header h2{font-size:18px;color:var(--primary);margin:0;text-transform:uppercase;letter-spacing:1px}.briefing-center-list{flex:1;overflow-y:auto;padding:12px 16px}.briefing-center-item{padding:14px 0;border-bottom:1px solid var(--border-light)}.briefing-center-item:last-child{border-bottom:none}.briefing-center-item-title{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.briefing-center-item-time{font-size:13px;color:var(--primary);font-weight:500}.call-screen-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,#1c3d69,#173254,#152d4c);color:#fff;z-index:9999;display:flex;flex-direction:column;justify-content:space-between;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.call-header{text-align:center;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding-top:40px}.caller-avatar-wrapper{margin-bottom:20px;animation:pulse 2s infinite;display:flex;justify-content:center;align-items:center}.caller-avatar-img{width:120px;height:120px;border-radius:50%;object-fit:cover;box-shadow:0 0 20px #4fc3f780;border:2px solid rgba(255,255,255,.2)}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.caller-name{font-size:28px;font-weight:400;margin-bottom:8px;letter-spacing:.5px}.caller-status{font-size:18px;color:#fff;opacity:.9}.caller-status-text{font-size:18px;color:#ffffffb3}.call-task-info{margin-top:8px;text-align:center;max-width:85%;display:flex;flex-direction:column;align-items:center;gap:6px}.call-task-title{font-size:17px;font-weight:400;color:#ffffffd9;line-height:1.4;word-break:keep-all;margin:0}.call-task-tag{display:inline-block;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);color:#ffffffb3;border-radius:12px;padding:2px 10px;font-size:12px}.call-bottom-panel{display:flex;flex-direction:column;gap:14px;padding-bottom:env(safe-area-inset-bottom,20px)}.status-buttons{display:flex;justify-content:center;gap:10px;padding:0 20px}.btn-status-progress{background:#ffc4002e;border:1px solid rgba(255,196,0,.45);color:#ffd60a;border-radius:20px;padding:9px 22px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,transform .1s;-webkit-tap-highlight-color:transparent}.btn-status-progress:active{background:#ffc40052;transform:scale(.96)}.btn-status-complete{background:#4cd9642e;border:1px solid rgba(76,217,100,.45);color:#4cd964;border-radius:20px;padding:9px 22px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,transform .1s;-webkit-tap-highlight-color:transparent}.btn-status-complete:active{background:#4cd96452;transform:scale(.96)}.snooze-buttons{display:flex;justify-content:center;gap:8px;padding:0 16px}.btn-snooze{flex:1;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);color:#ffffffd9;border-radius:16px;padding:8px 6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,transform .1s;-webkit-tap-highlight-color:transparent;text-align:center}.btn-snooze:active{background:#ffffff3d;transform:scale(.96)}.call-controls{display:flex;justify-content:space-around;padding:0 14px;margin-bottom:16px}.call-btn-wrapper{display:flex;flex-direction:column;align-items:center;gap:12px}.btn-label{font-size:16px;color:#fff;font-weight:400}.btn-call-accept,.btn-call-decline{width:72px;height:72px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px #0003;transition:transform .2s,background-color .2s}.btn-call-accept:active,.btn-call-decline:active{transform:scale(.95)}.btn-call-accept{background-color:#4cd964;animation:ring 1.5s infinite}.btn-call-decline{background-color:#ff3b30}.btn-call-accept-ai{background-color:#7c3aed}@keyframes ring{0%{box-shadow:0 0 #4cd96466}70%{box-shadow:0 0 0 15px #4cd96400}to{box-shadow:0 0 #4cd96400}}.call-chat-mode{padding:0;justify-content:flex-start}.call-chat-header{display:flex;align-items:flex-start;justify-content:space-between;padding:48px 20px 16px;border-bottom:1px solid rgba(255,255,255,.1);gap:12px}.call-chat-task-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.call-chat-name{font-size:13px;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:.8px}.call-chat-task-title{font-size:16px;font-weight:500;color:#fffffff2;margin:0;line-height:1.4;word-break:keep-all}.call-chat-end-btn{display:flex;align-items:center;gap:6px;background:#ff3b30d9;border:none;border-radius:20px;color:#fff;font-size:13px;font-weight:600;padding:8px 14px;cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent;transition:background .15s,transform .1s}.call-chat-end-btn:active{background:#ff3b30;transform:scale(.95)}.call-chat-messages{flex:1;min-height:0;overflow-y:auto;padding:16px 16px 8px;display:flex;flex-direction:column;gap:10px}.call-chat-connecting{display:flex;align-items:center;gap:8px;color:#ffffff80;font-size:14px;align-self:center;margin-top:20px}.call-chat-dot-anim{width:8px;height:8px;border-radius:50%;background:#ffffff80;animation:pulse 1.2s infinite}@keyframes bubbleIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.call-chat-bubble{max-width:78%;padding:10px 14px;border-radius:18px;font-size:15px;line-height:1.5;word-break:keep-all;animation:bubbleIn .3s ease-out both}.call-chat-bubble--ai{background:#ffffff1f;color:#ffffffeb;border-bottom-left-radius:4px;align-self:flex-start}.call-chat-bubble--user{background:#4fc3f7d9;color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.call-chat-bubble--typing{display:flex;align-items:center;gap:5px;padding:12px 16px}.call-chat-bubble--typing span{width:7px;height:7px;border-radius:50%;background:#fff9;animation:typingDot 1.2s infinite}.call-chat-bubble--typing span:nth-child(2){animation-delay:.2s}.call-chat-bubble--typing span:nth-child(3){animation-delay:.4s}@keyframes typingDot{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.call-chat-quick-replies{display:flex;flex-direction:column;gap:8px}.call-chat-quick-replies>*{animation:choiceBtnIn .22s cubic-bezier(.32,.72,0,1) both}.call-chat-quick-replies>*:nth-child(1){animation-delay:0ms}.call-chat-quick-replies>*:nth-child(2){animation-delay:55ms}.call-chat-quick-replies>*:nth-child(3){animation-delay:.11s}.call-chat-quick-replies>*:nth-child(4){animation-delay:165ms}.call-chat-quick-replies>*:nth-child(5){animation-delay:.22s}.call-chat-quick-replies--placeholder{display:flex;flex-direction:column;gap:8px;padding:8px 16px 4px}.call-chat-quick-reply-btn{width:100%;padding:15px 20px;border-radius:16px;border:1.5px solid rgba(255,255,255,.25);background:#ffffff1f;color:#fff;font-size:15px;font-weight:500;text-align:left;cursor:pointer;transition:background .15s,transform .1s;-webkit-tap-highlight-color:transparent}.call-chat-quick-reply-btn:active{background:#ffffff40;transform:scale(.98)}.call-chat-input-row{display:flex;align-items:center;gap:10px;padding:12px 16px;padding-bottom:env(safe-area-inset-bottom,16px);border-top:1px solid rgba(255,255,255,.1)}.call-chat-input{flex:1;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);border-radius:22px;padding:10px 16px;color:#fff;font-size:15px;outline:none;transition:border-color .15s;-webkit-appearance:none}.call-chat-input::placeholder{color:#fff6}.call-chat-input:focus{border-color:#4fc3f799}.call-chat-input:disabled{opacity:.5}.call-chat-send-btn{width:44px;height:44px;border-radius:50%;border:none;background:#4fc3f7d9;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s,transform .1s;-webkit-tap-highlight-color:transparent}.call-chat-send-btn:disabled{background:#ffffff26}.call-chat-send-btn:not(:disabled):active{background:#4fc3f7;transform:scale(.94)}.call-transcript{position:absolute;top:55%;left:0;right:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 20px;transform:translateY(-50%)}.transcript-box{background:#0000004d;padding:16px 24px;border-radius:16px;max-width:90%;max-height:150px;overflow-y:auto;font-size:16px;line-height:1.5;text-align:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.calendar-screen{display:flex;flex-direction:column;height:100%;background:var(--bg-base);overflow:hidden}.calendar-header{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;background:var(--bg-surface);border-bottom:1px solid var(--border-light);box-shadow:var(--shadow-sm);z-index:10;height:76px;flex-shrink:0}.calendar-header h2{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.btn-stop-briefing{background:#fef2f2;color:var(--accent);border:1px solid var(--accent);padding:4px 12px;border-radius:var(--radius-xl);font-size:13px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-sm);transition:all .2s}.btn-stop-briefing:hover{background:var(--accent);color:#fff}.calendar-viewport{flex:1;position:relative;display:flex;align-items:center;justify-content:center;padding:20px 0;perspective:1000px}.calendar-grid-wrapper{width:100%;background:var(--bg-surface);box-shadow:var(--shadow-md);box-sizing:border-box;transform-origin:center center;will-change:transform}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-weight:600;font-size:13px;color:var(--text-secondary);margin-bottom:8px;padding:0 16px}.calendar-weekdays div:first-child{color:var(--accent)}.calendar-weekdays div:last-child{color:var(--primary)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,1fr);gap:4px;padding:0 8px 16px;aspect-ratio:1 / 1.1}.calendar-cell{position:relative;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-surface);display:flex;flex-direction:column;padding:4px;transition:all .2s}.calendar-cell.other-month{background:var(--bg-surface-hover);opacity:.5}.calendar-cell.today{border-color:var(--primary);background:#eff6ff}.calendar-cell.today .cal-date{color:var(--primary);font-weight:700}.calendar-cell.focused{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary);background:#fff;z-index:50}.cal-date{font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:auto}.calendar-cell:nth-child(7n+1) .cal-date{color:var(--accent)}.calendar-cell:nth-child(7n) .cal-date{color:var(--primary)}.cal-task-dots{display:flex;flex-wrap:wrap;gap:2px;margin-top:2px;justify-content:flex-end}.cal-dot{width:6px;height:6px;border-radius:50%;background:var(--primary)}.cal-dot-more{font-size:8px;color:var(--text-secondary);font-weight:700;line-height:6px}.cal-focused-popup{position:absolute;top:50%;left:110%;transform:translateY(-50%);background:#ffffffbf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:2px solid var(--primary);border-radius:var(--radius-md);padding:10px 14px;width:max-content;max-width:200px;min-width:120px;box-shadow:0 10px 32px #4f46e533;font-size:11px;color:var(--text-primary);pointer-events:none;z-index:1000;text-align:left}.cal-focused-item{white-space:pre-wrap;word-wrap:break-word;margin-bottom:4px;font-weight:600;line-height:1.2}.cal-focused-item:last-child{margin-bottom:0}.task-editor-modal{background:var(--bg-surface-solid);width:90%;max-width:400px;border-radius:var(--radius-xl);box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .3s cubic-bezier(.175,.885,.32,1.275)}.editor-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-light)}.editor-header h3{margin:0;font-size:18px;font-weight:700;color:var(--text-primary)}.editor-body{padding:20px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;max-height:60vh}.editor-field{display:flex;flex-direction:column;gap:6px}.editor-row{display:flex;gap:12px}.flex-1{flex:1}.editor-field label{font-size:13px;font-weight:600;color:var(--text-secondary)}.editor-input{width:100%;padding:10px 14px;border:1px solid var(--border-strong);border-radius:var(--radius-md);box-sizing:border-box;font-size:15px;background:var(--bg-base);color:var(--text-primary);transition:all .2s}.editor-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #3f51b526}.editor-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.editor-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--border-light);background:var(--bg-surface)}.editor-footer button{flex:1;padding:12px;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;text-align:center;transition:all .2s}.editor-footer .btn-secondary{background:var(--bg-surface-hover);color:var(--text-secondary);border:1px solid var(--border-strong)}.editor-footer .btn-secondary:hover:not(:disabled){background:var(--bg-surface);color:var(--text-primary)}.editor-footer .btn-primary{background:var(--primary);color:#fff;border:1px solid var(--primary)}.editor-footer .btn-primary:hover:not(:disabled){filter:brightness(1.1)}.editor-footer button:disabled{opacity:.5;cursor:not-allowed}.view-mode-bar{display:flex;gap:4px;padding:8px 16px 4px;flex-shrink:0}.view-mode-btn{display:flex;align-items:center;gap:5px;padding:6px 14px;border-radius:20px;border:1.5px solid var(--border-strong);background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.view-mode-btn.active{background:#1a4a6b;border-color:#1a4a6b;color:#fff}.card-stack-view-wrapper{flex:1;overflow:hidden;position:relative}.card-stack-container{height:100%;overflow-y:scroll;overscroll-behavior:none;display:flex;flex-direction:column;align-items:center;scrollbar-width:none;touch-action:none}.card-stack-container::-webkit-scrollbar{display:none}.card-stack-spacer{flex-shrink:0;height:18vh;width:100%}.card-stack-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-muted)}.stack-card{flex-shrink:0;width:calc(100% - 32px);min-height:160px;margin:6px 0;border-radius:24px;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;transition:background .3s,box-shadow .3s,min-height .3s;box-shadow:0 3px 10px #0000001f}.stack-card--active{box-shadow:0 10px 30px #0000004d;cursor:default;min-height:220px}.stack-card__tag-strip{padding:5px 16px;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.stack-card__body{padding:16px 20px 10px;flex:1}.stack-card__title{font-size:18px;font-weight:700;line-height:1.4;margin:0}.stack-card__notes{font-size:13px;margin-top:8px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.stack-card__location{display:flex;align-items:center;gap:5px;font-size:12px;margin-top:8px}.stack-card__footer{padding:0 16px 16px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.stack-card__date-btn{display:flex;align-items:center;gap:6px;border:1px solid;border-radius:20px;padding:6px 14px;font-size:12px;cursor:pointer;transition:filter .15s}.stack-card__date-btn:hover{filter:brightness(.93)}.stack-card__actions{display:flex;align-items:center;gap:8px}.stack-card__status-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;border:1.5px solid;font-size:12px;font-weight:600;cursor:pointer;transition:filter .15s}.stack-card__status-btn:hover{filter:brightness(.93)}.stack-card__edit-btn{border:1.5px solid;border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:filter .15s;flex-shrink:0}.stack-card__edit-btn:hover{filter:brightness(.93)}.stack-card__indicator{text-align:center;font-size:11px;padding:0 0 10px;letter-spacing:.5px}.date-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000007a;z-index:10001;display:flex;align-items:flex-end}.date-picker-sheet{background:#fff;border-radius:24px 24px 0 0;width:100%;max-height:92vh;overflow-y:auto;display:flex;flex-direction:column;animation:slideUpSheet .28s cubic-bezier(.32,.72,0,1)}@keyframes slideUpSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}.picker-header{display:flex;align-items:center;padding:14px 16px 6px;flex-shrink:0}.picker-header__title{flex:1;text-align:center;font-size:17px;font-weight:700;color:var(--text-primary)}.picker-header__close,.picker-header__back{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px;display:flex;align-items:center;justify-content:center;width:32px}.calendar-nav{display:flex;align-items:center;justify-content:space-between;padding:2px 12px 8px;flex-shrink:0}.calendar-nav button{background:none;border:none;cursor:pointer;color:#1a4a6b;padding:6px;border-radius:8px;display:flex;align-items:center;transition:background .15s}.calendar-nav button:hover{background:#e8f0f8}.calendar-nav span{font-size:16px;font-weight:700;color:#1a4a6b}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);padding:0 12px;margin-bottom:2px;flex-shrink:0}.calendar-weekdays div{text-align:center;font-size:11px;color:var(--text-muted);font-weight:600;padding:2px 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);padding:0 8px 16px;gap:2px;flex-shrink:0}.cal-day{width:40px;height:40px;margin:0 auto;border:none;background:none;border-radius:50%;font-size:14px;cursor:pointer;color:var(--text-primary);display:flex;align-items:center;justify-content:center;transition:all .15s}.cal-day:hover:not(.selected){background:#e8f0f8}.cal-day.today{font-weight:700;border:2px solid #1a4a6b;color:#1a4a6b}.cal-day.selected{background:#1a4a6b;color:#fff;font-weight:700}.time-display{text-align:center;font-size:52px;font-weight:700;color:#1a4a6b;letter-spacing:4px;padding:12px 0 4px;flex-shrink:0}.time-drum-wrapper{position:relative;height:260px;overflow:hidden;margin:4px 20px;flex-shrink:0}.time-drum-fade{position:absolute;left:0;right:0;height:90px;z-index:1;pointer-events:none}.time-drum-fade--top{top:0;background:linear-gradient(to bottom,white 30%,transparent)}.time-drum-fade--bottom{bottom:0;background:linear-gradient(to top,white 30%,transparent)}.time-drum-selector{position:absolute;top:50%;left:0;right:0;height:52px;transform:translateY(-50%);border-top:2px solid #1a4a6b;border-bottom:2px solid #1a4a6b;pointer-events:none;z-index:2;border-radius:4px}.time-drum-scroll{height:100%;overflow-y:scroll;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.time-drum-scroll::-webkit-scrollbar{display:none}.time-drum-item{display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:400;color:var(--text-muted);scroll-snap-align:center;cursor:pointer;transition:color .15s,font-weight .15s;-webkit-user-select:none;user-select:none}.time-drum-item.active{color:#1a4a6b;font-weight:700}.picker-actions{display:flex;gap:12px;padding:12px 20px;padding-bottom:max(28px,env(safe-area-inset-bottom,28px));flex-shrink:0;position:sticky;bottom:0;background:#fff;z-index:2}.picker-btn{flex:1;padding:14px;border-radius:14px;font-size:16px;font-weight:600;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .1s,opacity .1s}.picker-btn--cancel{background:#f1f5f9;color:var(--text-secondary)}.picker-btn--confirm{background:#1a4a6b;color:#fff}.picker-btn--undecided{background:#fff7ed;color:#e67e22;border:1.5px solid #f6d5ac;font-weight:700}.picker-btn:active{transform:scale(.95);opacity:.85}.time-picker-display{display:flex;align-items:baseline;justify-content:center;gap:10px;padding:6px 0 10px}.time-picker-selected{font-size:44px;font-weight:700;color:#1a4a6b;letter-spacing:2px;font-variant-numeric:tabular-nums;transition:color .1s}.time-picker-task-count{font-size:12px;color:#94a3b8;padding-bottom:4px}.timeline-wrapper{position:relative;height:300px;overflow:hidden}.day-timeline-scroll{height:100%;overflow-y:scroll;-webkit-overflow-scrolling:touch;scrollbar-width:none}.day-timeline-scroll::-webkit-scrollbar{display:none}.day-timeline-inner{position:relative}.tl-slot{height:15px;position:relative;display:flex;align-items:flex-start}.tl-slot-label{position:absolute;left:10px;top:2px;font-size:11px;color:#94a3b8;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none}.tl-slot-line{position:absolute;left:76px;right:0;top:0;height:1px;background:#cbd5e1}.tl-slot-halfline{position:absolute;left:84px;right:0;top:0;height:1px;background:#dde4ed}.tl-slot-quarterline{position:absolute;left:92px;right:0;top:0;height:1px;background:#edf1f6}.day-tl-task-block{position:absolute;height:22px;border-radius:5px;font-size:11px;color:#fff;padding:3px 7px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:auto;opacity:.85;z-index:1;transition:left .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1)}.day-tl-task-block-title{position:relative;z-index:2}.day-tl-task-block--completed{opacity:.55}.day-tl-task-block--completed:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;border-radius:inherit;background-image:repeating-linear-gradient(-45deg,rgba(255,255,255,.6) 0,rgba(255,255,255,.6) 2px,transparent 2px,transparent 6px)}.day-tl-task-block--in-progress{opacity:1}.day-tl-task-block--in-progress:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;border-radius:inherit;background:linear-gradient(100deg,transparent 25%,rgba(255,255,255,.5) 50%,transparent 75%);background-size:220% 100%;animation:tlTaskProgressSweep 1.5s linear infinite}@keyframes tlTaskProgressSweep{0%{background-position:220% 0}to{background-position:-120% 0}}@media (prefers-reduced-motion: reduce){.day-tl-task-block--in-progress:before{animation:none;opacity:.5}}.timeline-cursor{position:absolute;top:50%;left:10px;right:10px;transform:translateY(-50%);height:36px;background:#1a4a6b12;border-radius:10px;border:2px solid rgba(26,74,107,.4);box-shadow:0 2px 10px #1a4a6b1f;pointer-events:none;z-index:10;display:flex;align-items:center;padding:0 10px;overflow:hidden;transition:left .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1),right .3s cubic-bezier(.4,0,.2,1),background-color .3s,border-color .3s}.timeline-cursor-title{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-fade{position:absolute;left:0;right:0;height:38%;pointer-events:none;z-index:5}.timeline-fade--top{top:0;background:linear-gradient(to bottom,rgba(255,255,255,.96) 0%,transparent 100%)}.timeline-fade--bottom{bottom:0;background:linear-gradient(to top,rgba(255,255,255,.96) 0%,transparent 100%)}@media (prefers-color-scheme: dark){.editor-select{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")}}.chat-layout{display:flex;flex-direction:column;flex:1;min-height:0;background:#eef2ff}.chat-avatar-section{flex-shrink:10;min-height:0;display:flex;flex-direction:column;align-items:center;padding:12px 16px 0;overflow:hidden}.chat-avatar-circle{width:68px;height:68px;flex-shrink:0;border-radius:50%;background:#fff url(/img/Icon.png) center / contain no-repeat;box-shadow:0 6px 18px #4f46e54d;border:3px solid var(--primary)}.chat-speech-tail{width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-bottom:16px solid var(--primary);margin-top:-1px}@keyframes bubblePop{0%{opacity:0;transform:scale(.55) translateY(10px)}60%{opacity:1;transform:scale(1.04) translateY(-2px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.chat-speech-bubble{width:100%;background:var(--primary);border-radius:18px;padding:14px 20px;margin-top:-1px;min-height:52px;display:flex;align-items:center;justify-content:center;animation:bubblePop .4s cubic-bezier(.34,1.56,.64,1) forwards}.chat-speech-text{font-size:16px;font-weight:700;color:#fff;text-align:center;line-height:1.4;word-break:keep-all}.chat-typing-cursor{display:inline-block;width:2px;height:1em;background:#ffffffd9;margin-left:2px;vertical-align:text-bottom;border-radius:1px;animation:cursorBlink .55s step-start infinite}.chat-messages{flex:1;min-height:0;overflow-y:auto;padding:10px 14px 6px;display:flex;flex-direction:column;gap:8px;-webkit-overflow-scrolling:touch}@keyframes bubbleIn{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-bubble{max-width:82%;padding:11px 14px;border-radius:16px;font-size:14px;line-height:1.5;word-break:keep-all;animation:bubbleIn .22s ease}.chat-bubble--ai{align-self:flex-start;background:#f0f4ff;color:var(--text-primary);border-bottom-left-radius:4px;font-weight:500}.chat-bubble--user{align-self:flex-end;background:var(--primary);color:#fff;border-bottom-right-radius:4px;font-weight:600}.chat-bottom-area{flex-shrink:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.chat-input-area{padding:10px 12px 14px;display:flex;flex-direction:column;gap:10px;background:#fff;border-top:1px solid var(--border-light)}.chat-choices-area{padding:10px 12px 14px;display:flex;flex-direction:column;gap:8px;background:#fff;border-top:1px solid var(--border-light);max-height:55vh;overflow-y:auto}@keyframes choiceBtnIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.chat-choices-area>*{animation:choiceBtnIn .22s cubic-bezier(.32,.72,0,1) both}.chat-choices-area>*:nth-child(1){animation-delay:0ms}.chat-choices-area>*:nth-child(2){animation-delay:55ms}.chat-choices-area>*:nth-child(3){animation-delay:.11s}.chat-choices-area>*:nth-child(4){animation-delay:165ms}.chat-choices-area>*:nth-child(5){animation-delay:.22s}.nearby-calendar-anim{align-self:stretch;background:#f8f9ff;border:1px solid rgba(79,70,229,.15);border-radius:14px;overflow:hidden;animation:bubbleIn .3s ease}.nearby-calendar-title{font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:8px 12px 5px;border-bottom:1px solid rgba(79,70,229,.1)}.nearby-task-block{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid rgba(79,70,229,.08)}.nearby-task-block:last-child{border-bottom:none}.nearby-task-block--conflict{background:#fff5f5;border-left:3px solid #ef4444}.nearby-task-time{font-size:13px;font-weight:700;color:var(--primary);min-width:40px;font-variant-numeric:tabular-nums}.nearby-task-title{font-size:13px;color:var(--text-primary);font-weight:500}.add-input-area{padding:10px 12px 14px;display:flex;flex-direction:column;gap:10px;background:#fff;border-top:1px solid var(--border-light);flex-shrink:0}.add-big-textarea{width:100%;padding:14px 16px;border:1.5px solid var(--border-light);border-radius:16px;font-size:16px;line-height:1.6;background:#f8fafc;color:var(--text-primary);resize:none;outline:none;font-family:inherit;transition:border-color .2s}.add-big-textarea:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #4f46e514}.add-big-textarea::placeholder{color:var(--text-muted)}.content-tag-row{display:flex;flex-wrap:wrap;gap:6px;padding:2px 0}.content-tag-pill{padding:5px 12px;border-radius:20px;border:1.5px solid;background:transparent;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;-webkit-tap-highlight-color:transparent}.content-tag-pill.selected{font-weight:700}.add-submit-btn{position:sticky;bottom:0;width:100%;padding:15px;border:none;border-radius:16px;background:var(--primary);color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent;z-index:1}.add-submit-btn:disabled{background:var(--border-strong);color:var(--text-muted);cursor:not-allowed}.add-submit-btn:not(:disabled):active{transform:scale(.97)}.add-choices{padding:10px 12px 14px;display:flex;flex-direction:column;gap:8px;background:#fff;border-top:1px solid var(--border-light);flex-shrink:0}.add-choice-btn{width:100%;padding:17px 20px;border-radius:16px;border:1.5px solid var(--border-light);background:#fff;color:var(--text-primary);font-size:16px;font-weight:600;cursor:pointer;text-align:left;transition:all .15s;-webkit-tap-highlight-color:transparent;letter-spacing:-.2px}.add-choice-btn:active:not(:disabled){transform:scale(.97);opacity:.85}.add-choice-btn:disabled{opacity:.45;cursor:not-allowed}.add-choice-btn--primary{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 4px 12px #4f46e540}.add-choice-btn--secondary{background:#f0f4ff;color:var(--primary);border-color:#4f46e533}.add-choice-btn--none{background:#f8fafc;color:var(--text-secondary);border-color:var(--border-light)}.add-choice-btn--warning{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.add-choice-btn--danger{background:#fff1f2;color:#be123c;border-color:#fecdd3}.add-choice-btn--success{background:#f0fdf4;color:#15803d;border-color:#bbf7d0}.add-choice-btn--blue{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.onboarding-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(160deg,#4f46e5eb,#312e81f2);animation:onboardingFadeIn .3s ease both}@keyframes onboardingFadeIn{0%{opacity:0}to{opacity:1}}.onboarding-card{width:100%;max-width:360px;background:#fff;border-radius:24px;padding:36px 28px 24px;display:flex;flex-direction:column;align-items:center;box-shadow:0 24px 64px #00000059}.onboarding-step-body{display:flex;flex-direction:column;align-items:center;animation:onboardingStepIn .32s cubic-bezier(.22,1,.36,1) both}@keyframes onboardingStepIn{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}.onboarding-emoji-wrap{width:96px;height:96px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:22px}.onboarding-emoji{font-size:46px;line-height:1}.onboarding-title{margin:0 0 10px;font-size:20px;font-weight:800;letter-spacing:-.3px;color:var(--text-primary);text-align:center}.onboarding-desc{margin:0;font-size:14px;line-height:1.65;color:var(--text-secondary);text-align:center;white-space:pre-line;min-height:70px}.onboarding-dots{display:flex;gap:7px;margin:20px 0 18px}.onboarding-dot{width:7px;height:7px;border-radius:50%;background:#e2e8f0;transition:all .25s}.onboarding-dot.active{width:20px;border-radius:4px}.onboarding-next-btn{width:100%;padding:15px;border:none;border-radius:16px;color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:transform .15s,background .25s;-webkit-tap-highlight-color:transparent}.onboarding-next-btn:active{transform:scale(.97)}.onboarding-skip{margin-top:10px;padding:8px 16px;border:none;background:none;color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.onboarding-skip-spacer{height:39px}.coach-hint-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9500;background:#0f172a47;animation:onboardingFadeIn .25s ease both}.coach-hint-card{position:absolute;left:16px;right:16px;bottom:96px;background:#fff;border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:12px;box-shadow:0 16px 48px #00000047;animation:coachHintUp .32s cubic-bezier(.22,1,.36,1) both}@keyframes coachHintUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.coach-hint-emoji{font-size:30px;line-height:1}.coach-hint-title{font-size:16px;font-weight:800;letter-spacing:-.2px;color:var(--text-primary);margin-bottom:5px}.coach-hint-desc{font-size:13px;line-height:1.6;color:var(--text-secondary);white-space:pre-line}.coach-hint-btn{width:100%;padding:13px;border:none;border-radius:14px;background:var(--primary);color:#fff;font-size:14px;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent}.coach-hint-btn:active{transform:scale(.97)}.settings-guide-btn{width:100%;padding:14px;border-radius:14px;border:1.5px solid var(--border-light);background:#f8fafc;color:var(--text-primary);font-size:14px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.ai-parse-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:18px 0;font-size:14px;font-weight:600;color:var(--text-secondary)}.ai-confirm-card{border:1.5px solid rgba(79,70,229,.25);background:linear-gradient(150deg,#fff 60%,#4f46e50f);border-radius:16px;padding:16px;box-shadow:0 4px 16px #4f46e51a}.ai-confirm-title{font-size:16px;font-weight:700;color:var(--text-primary);letter-spacing:-.2px;margin-bottom:10px}.ai-confirm-chips{display:flex;flex-wrap:wrap;gap:6px}.ai-confirm-chip{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:20px;border:1.5px solid var(--border-light);background:#f8fafc;font-size:12px;font-weight:600;color:var(--text-primary)}.ai-chip-btn{cursor:pointer;font-family:inherit;transition:all .15s;-webkit-tap-highlight-color:transparent}.ai-chip-project{background:#eef0ff;border-color:#4f46e555;color:#4338ca}.ai-chip-project:active{background:#e0e3ff}.ai-chip-btn:active{transform:scale(.94)}.ai-chip-btn--editing{border-color:var(--primary);background:#4f46e514;color:var(--primary)}.ai-confirm-chip--empty{border-style:dashed;color:var(--text-muted);background:#fff}.ai-chip-searching{color:var(--primary);border-color:#4f46e54d;background:#4f46e50f;animation:aiChipPulse 1.1s ease-in-out infinite}@keyframes aiChipPulse{0%,to{opacity:1}50%{opacity:.45}}.ai-title-btn{display:block;width:100%;border:none;background:none;padding:0;text-align:left;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent}.ai-field-editor{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border-light);display:flex;flex-direction:column;gap:8px}.ai-quick-row{display:flex;flex-wrap:wrap;gap:6px}.ai-quick-btn{padding:8px 14px;border-radius:20px;border:1.5px solid rgba(79,70,229,.3);background:#fff;color:var(--primary);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s;-webkit-tap-highlight-color:transparent}.ai-quick-btn:active{transform:scale(.94)}.ai-quick-btn--none{border-color:var(--border-light);color:var(--text-secondary)}.ai-confirm-edit-hint{margin-top:10px;font-size:11px;color:var(--text-muted);text-align:center}.chat-btn-row{display:flex;gap:8px}.chat-btn-row>.add-choice-btn{flex:1;text-align:center;white-space:nowrap;padding-left:12px;padding-right:12px}.chat-btn-row>.add-submit-btn{flex:2;position:static;width:auto;white-space:nowrap;padding-left:12px;padding-right:12px}.chat-btn-row--even>.add-submit-btn{flex:1}.routine-day-row{display:flex;justify-content:center;gap:8px;padding:4px 0 2px}.routine-day-btn{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--border-light);background:#f8fafc;color:var(--text-secondary);font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;-webkit-tap-highlight-color:transparent}.routine-day-btn:active{transform:scale(.92)}.routine-day-btn.selected{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 4px 12px #4f46e540}.routine-day-hint{margin:0;text-align:center;font-size:12px;color:var(--text-muted)}.routine-time-input{width:100%;padding:12px 16px;border:1.5px solid var(--border-light);border-radius:16px;font-size:24px;font-weight:700;text-align:center;font-variant-numeric:tabular-nums;background:#f8fafc;color:var(--text-primary);outline:none;font-family:inherit;transition:border-color .2s}.routine-time-input:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #4f46e514}.freq-loc-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.freq-loc-name{font-size:15px;font-weight:600}.freq-loc-addr{font-size:11px;color:var(--text-secondary);opacity:.75}.org-landing-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:16px 20px 24px}.org-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%}@keyframes orgCardIn{0%{opacity:0;transform:translateY(14px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}.org-stat-card{display:flex;flex-direction:column;align-items:center;gap:5px;background:#fff;border-radius:18px;padding:18px 6px 16px;border:2px solid var(--border-light);cursor:pointer;box-shadow:0 2px 8px #0000000d;-webkit-tap-highlight-color:transparent;animation:orgCardIn .35s ease forwards;opacity:0;transition:transform .12s,box-shadow .12s}.org-stat-card:active{transform:scale(.95);box-shadow:0 1px 4px #00000014}.org-stat-icon{font-size:26px}.org-stat-label{font-size:11px;font-weight:600;color:var(--text-secondary);text-align:center}.org-stat-count{font-size:22px;font-weight:800;color:#bdbdbd}.org-stat-card--overdue{border-color:#ffcdd2;background:#fff8f8}.org-stat-card--overdue .org-stat-count{color:#e53935}.org-stat-card--untimed{border-color:#ffe0b2;background:#fffbf5}.org-stat-card--untimed .org-stat-count{color:#f57c00}.org-stat-card--timed{border-color:#c5cae9;background:#f5f6ff}.org-stat-card--timed .org-stat-count{color:var(--primary)}.org-stat-card--zero{opacity:.55;cursor:default}.org-stat-card--zero:active{transform:none}@keyframes orgStartPop{0%{opacity:0;transform:scale(.75) translateY(12px)}65%{opacity:1;transform:scale(1.05) translateY(-2px)}to{opacity:1;transform:scale(1) translateY(0)}}.org-start-btn{background:var(--primary);color:#fff;border:none;border-radius:24px;padding:16px 52px;font-size:18px;font-weight:800;letter-spacing:.03em;cursor:pointer;box-shadow:0 6px 24px #4f46e559;-webkit-tap-highlight-color:transparent;animation:orgStartPop .45s .22s cubic-bezier(.34,1.56,.64,1) both}.org-start-btn:active{transform:scale(.96)}.org-task-card{background:#fff;border:1.5px solid var(--border-light);border-radius:20px;padding:18px 20px;margin:0 0 4px;box-shadow:0 4px 16px #00000012;align-self:flex-start;width:100%;animation:bubbleIn .25s ease}.org-task-index{font-size:12px;color:var(--text-muted);font-weight:600;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.org-task-title{font-size:17px;font-weight:700;color:var(--text-primary);line-height:1.4;margin-bottom:10px;word-break:keep-all}.org-task-meta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:6px}.org-task-meta span{font-size:13px;color:var(--primary);font-weight:600}.org-task-tag{display:inline-block;font-size:13px;color:var(--text-secondary);background:var(--bg-surface-hover);border-radius:8px;padding:2px 8px;margin-top:4px;font-weight:600}.org-task-loc{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);margin-top:4px}.location-search-row{display:flex;gap:8px;align-items:center}.location-search-input{flex:1;padding:13px 16px;border:1.5px solid var(--border-light);border-radius:14px;font-size:15px;background:#f8fafc;color:var(--text-primary);outline:none;font-family:inherit;transition:border-color .2s}.location-search-input:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #4f46e514}.location-search-btn{flex-shrink:0;padding:13px 18px;border:none;border-radius:14px;background:var(--primary);color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:opacity .15s;-webkit-tap-highlight-color:transparent}.location-search-btn:disabled{opacity:.4;cursor:not-allowed}.location-searching{text-align:center;padding:16px;color:var(--text-muted);font-size:14px}.location-result-btn{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 16px!important}.location-results-scroll,.choices-scroll{display:flex;flex-direction:column;gap:8px;max-height:32vh;overflow-y:auto;-webkit-overflow-scrolling:touch;border:1.5px solid var(--border-light);border-radius:16px;padding:8px;background:#f8fafc}.location-results-scroll .add-choice-btn,.choices-scroll .add-choice-btn{flex-shrink:0}.ai-edit-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.ai-edit-label{flex-shrink:0;padding:4px 10px;border-radius:12px;background:#4f46e51a;color:var(--primary);font-size:12px;font-weight:700}.ai-edit-task-title{flex:1;font-size:14px;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-edit-close{flex-shrink:0;width:28px;height:28px;border:none;border-radius:50%;background:#f1f5f9;color:var(--text-secondary);font-size:13px;cursor:pointer;-webkit-tap-highlight-color:transparent}.location-result-name{font-size:15px;font-weight:700;color:var(--text-primary)}.location-result-addr{font-size:12px;color:var(--text-secondary);font-weight:400}.overview-screen{display:flex;flex-direction:column;height:100%;overflow-x:hidden;background:#f8fafc;overflow:hidden}.overview-notch-bar{position:relative;display:flex;background:#fff;border-top:1px solid var(--border-light);flex-shrink:0;box-shadow:0 -1px 4px #0000000d}.overview-notch-btn{flex:1;padding:11px 4px 12px;border:none;background:none;font-size:13px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:color .2s;-webkit-tap-highlight-color:transparent;letter-spacing:-.2px}.overview-notch-btn.active{color:var(--primary)}.overview-notch-indicator{position:absolute;top:0;width:33.333%;height:2px;background:var(--primary);border-radius:0 0 2px 2px;transition:left .25s cubic-bezier(.4,0,.2,1)}.overview-inprogress-bar{flex-shrink:0;display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fff;border-bottom:1px solid var(--border-light);box-shadow:0 1px 4px #0000000a;z-index:5}.oip-head{display:flex;align-items:center;gap:6px;flex-shrink:0;font-size:12px;font-weight:700;color:#e65100;white-space:nowrap}.oip-dot{width:8px;height:8px;border-radius:50%;background:#ff9800;box-shadow:0 0 #ff980080;animation:oipPulse 1.2s ease-in-out infinite}@keyframes oipPulse{0%,to{box-shadow:0 0 #ff980080}50%{box-shadow:0 0 0 5px #ff980000}}@media (prefers-reduced-motion: reduce){.oip-dot{animation:none}}.oip-chips{display:flex;gap:8px;flex:1;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.oip-chips::-webkit-scrollbar{display:none}.oip-chip{display:flex;align-items:center;gap:6px;flex-shrink:0;max-width:200px;padding:6px 7px 6px 12px;border-radius:999px;background:#fff8e1;border:1.5px solid #ffcc80;cursor:pointer;-webkit-tap-highlight-color:transparent}.oip-chip:active{background:#ffecb3}.oip-chip-title{font-size:13px;font-weight:600;color:#b45309;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.oip-chip-done{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:50%;background:#ffe0b2;color:#16a34a;cursor:pointer;-webkit-tap-highlight-color:transparent}.oip-chip-done:active{background:#22c55e;color:#fff}.overview-content{flex:1;overflow-x:hidden;overflow-y:auto;overscroll-behavior:none;-webkit-overflow-scrolling:touch}@keyframes overviewSlideLeft{0%{opacity:.2;transform:translate(22px)}to{opacity:1;transform:translate(0)}}@keyframes overviewSlideRight{0%{opacity:.2;transform:translate(-22px)}to{opacity:1;transform:translate(0)}}@keyframes cardEnter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.overview-content--anim-left{animation:overviewSlideLeft .2s ease-out forwards}.overview-content--anim-right{animation:overviewSlideRight .2s ease-out forwards}.overview-content--anim-left .task-swipe-wrapper,.overview-content--anim-right .task-swipe-wrapper,.overview-content--anim-left .overview-untimed-item,.overview-content--anim-right .overview-untimed-item{animation:cardEnter .28s ease forwards;opacity:0}.overview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--text-muted);font-size:15px;padding:40px 24px;text-align:center;font-weight:500}.overview-empty-icon{font-size:40px}.overview-timeline{padding:16px 0 24px}.timeline-gap-indicator{display:flex;align-items:center;gap:8px;padding:4px 20px;margin:2px 0}.timeline-gap-line{flex:1;height:1px;background:var(--border-light)}.timeline-gap-dot{font-size:14px;color:var(--text-muted);letter-spacing:3px}.timeline-hour-row{display:flex;align-items:flex-start;padding:8px 0;min-height:56px}.timeline-time-col{width:84px;flex-shrink:0;padding:4px 6px 0 12px;font-size:12px;font-weight:700;color:var(--text-secondary);text-align:right;white-space:nowrap;line-height:1.3}.timeline-tasks-col{flex:1;min-width:0;padding:0 16px 0 12px;border-left:2px solid var(--border-light);display:flex;flex-direction:column;gap:8px}.timeline-task-chip{background:#fff;border:1.5px solid var(--border-light);border-radius:12px;padding:10px 14px;display:flex;align-items:center;gap:10px;box-shadow:0 1px 4px #0000000a;transition:box-shadow .15s;cursor:pointer;-webkit-tap-highlight-color:transparent;overflow:hidden;min-width:0}.timeline-task-chip-time{font-size:12px;font-weight:700;color:inherit;min-width:38px;flex-shrink:0;font-variant-numeric:tabular-nums;opacity:.65}.timeline-task-chip-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.timeline-task-chip-title-row{display:flex;align-items:center;gap:7px;min-width:0}.timeline-task-chip-title{flex:1;min-width:0;font-size:14px;font-weight:600;color:inherit;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.timeline-task-chip-tag{flex-shrink:0;font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;letter-spacing:.01em;white-space:nowrap}.task-status-badge{flex-shrink:0;font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px;color:#fff;white-space:nowrap;letter-spacing:.02em}@keyframes statusBadgeFlip{0%{transform:scale(1) rotateY(0);opacity:1}30%{transform:scale(.72) rotateY(90deg);opacity:.4}65%{transform:scale(1.18) rotateY(0);opacity:1}to{transform:scale(1) rotateY(0);opacity:1}}.task-swipe-wrapper{position:relative;border-radius:12px;overflow:hidden;min-width:0}.task-swipe-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;border-radius:12px;pointer-events:none}.task-swipe-backdrop span{font-size:11px;font-weight:800;color:#fffffff2;letter-spacing:.4px;text-shadow:0 1px 2px rgba(0,0,0,.15)}.task-swipe-backdrop--advance{justify-content:flex-end;padding-right:16px}.task-swipe-backdrop--regress{justify-content:flex-start;padding-left:16px}.task-status-badge--flip{animation:statusBadgeFlip .42s cubic-bezier(.34,1.56,.64,1) both}@keyframes inProgressChevron{0%{background-position:0 0}to{background-position:14px 0}}@keyframes inProgressRing{0%,to{box-shadow:0 1px 4px #0000000d,0 0 0 1px #ff980040}50%{box-shadow:0 2px 10px #ff980033,0 0 0 2px #ff980099}}.timeline-task-chip--in-progress{position:relative;animation:inProgressRing 1.8s ease-in-out infinite}.timeline-task-chip--in-progress:after{content:"";position:absolute;bottom:0;left:0;right:0;height:9px;background:repeating-linear-gradient(-45deg,#ff9800,#ff9800 4px,#ffd591 4px,#ffd591 10px);background-size:14px 14px;animation:inProgressChevron .5s linear infinite;pointer-events:none;border-radius:0 0 10px 10px;opacity:.92}.timeline-task-chip--committing{opacity:.85}.timeline-task-chip--completed{opacity:.65}.timeline-task-chip-title--completed{text-decoration:line-through;opacity:.8}.timeline-task-chip-meta{display:flex;align-items:center;gap:5px;margin-top:2px;min-width:0}.timeline-task-chip-loc{font-size:11px;color:inherit;opacity:.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.timeline-task-chip-project{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;max-width:50%;padding:1px 7px 1px 6px;border-radius:999px;font-size:10px;font-weight:700;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-task-chip-project-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.overview-all-date-group{margin-bottom:8px}.overview-all-date-header{font-size:13px;font-weight:700;color:var(--primary);padding:8px 16px 4px;letter-spacing:.02em;text-transform:uppercase}.overview-overdue-header{color:#e53935}.overview-undecided-group{margin-top:4px}.overview-undecided-divider{font-size:11px;font-weight:700;color:#bbb;letter-spacing:.5px;text-transform:uppercase;padding:6px 0 4px 4px;display:flex;align-items:center;gap:8px}.overview-undecided-divider:before{content:"";display:block;width:24px;height:1px;background:#ddd}.overview-undecided-divider:after{content:"";flex:1;height:1px;background:#eee}.timeline-task-chip-time--undecided{font-size:10px;font-weight:700;color:#bbb;letter-spacing:.2px;font-style:italic}@keyframes pendingSectionEnter{0%{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pendingCardEnter{0%{transform:translateY(10px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes badgePulse{0%,to{opacity:1;box-shadow:none}50%{opacity:.75;box-shadow:0 0 0 3px var(--badge-pulse-color, transparent)}}@keyframes pendingCardTap{0%{transform:scale(1);filter:brightness(1)}16%{transform:scale(.91);filter:brightness(.96)}48%{transform:scale(1.05);filter:brightness(1.07)}72%{transform:scale(.98);filter:brightness(1.02)}to{transform:scale(1);filter:brightness(1)}}.pending-card--tapping{animation:pendingCardTap .38s cubic-bezier(.34,1.56,.64,1) forwards!important;z-index:2;position:relative}.pending-cards-section{flex-shrink:0;background:#fff;border-top:1px solid var(--border-light, #ebebeb);padding:10px 0 14px;box-shadow:0 -3px 12px #0000000f;animation:pendingSectionEnter .28s cubic-bezier(.22,1,.36,1) both}.pending-cards-header{display:flex;align-items:center;gap:7px;padding:0 16px 8px}.pending-tab-switcher{display:flex;gap:6px;width:100%}.pending-tab-btn{flex:1;padding:6px 10px;border-radius:20px;border:1.5px solid #e0e0e0;background:#f5f5f5;color:#888;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;-webkit-tap-highlight-color:transparent;transition:background .15s,color .15s,border-color .15s}.pending-tab-btn--active{background:#7c3aed;color:#fff;border-color:#6d28d9}.pending-tab-count{background:#ffffff4d;border-radius:10px;padding:0 5px;font-size:10px;font-weight:700}.pending-tab-btn--active .pending-tab-count{background:#ffffff40}.pending-card.pending-card--routine{cursor:pointer;height:100%}.pending-card--routine .pending-card-footer-row{margin-top:auto}.routine-card-meta{display:flex;align-items:center;gap:6px;margin-top:4px;flex-wrap:wrap}.routine-card-days{font-size:11px;font-weight:600;color:#7c3aed;background:#f5f3ff;border-radius:6px;padding:2px 6px}.routine-card-time{font-size:11px;font-weight:600;color:#555}.routine-card-loc{font-size:10px;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.routine-empty-hint{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 16px;color:#aaa;font-size:13px}.routine-add-btn{padding:8px 18px;border-radius:20px;border:1.5px solid #7c3aed;background:#f5f3ff;color:#7c3aed;font-size:13px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.pending-cards-label{font-size:12px;font-weight:700;letter-spacing:.3px;color:#aaa;text-transform:uppercase}.pending-cards-count{font-size:11px;font-weight:800;background:var(--primary, #4f46e5);color:#fff;border-radius:20px;padding:1px 8px;line-height:1.6;letter-spacing:.2px}.pending-cards-scroll{display:flex;gap:10px;overflow-x:auto;padding:4px 16px;scrollbar-width:none;-ms-overflow-style:none;align-items:stretch;touch-action:pan-x}.pending-cards-scroll::-webkit-scrollbar{display:none}.pending-card-track{flex:0 0 auto;width:136px;height:auto;position:relative;animation:pendingCardEnter .32s cubic-bezier(.22,1,.36,1) both}.pending-card-action{position:absolute;top:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:6px;border-radius:12px;pointer-events:none;z-index:2;visibility:hidden}.pending-card-action--active{visibility:visible}.pending-card-action--delete{justify-content:center;background:linear-gradient(175deg,#ff5c5c,#e53e3e);color:#fff}.pending-card-action--time{justify-content:center;color:#fff}.pending-card-action-label{font-size:11px;font-weight:800;letter-spacing:.2px;text-shadow:0 1px 4px rgba(0,0,0,.2)}.pending-card-action-icon{font-size:22px;line-height:1;transition:transform .15s cubic-bezier(.34,1.56,.64,1)}.pending-card-action--ready .pending-card-action-icon{transform:scale(1.25)}.pending-card{width:100%;height:auto;position:relative;z-index:1;box-sizing:border-box;border-radius:12px;border:1px solid transparent;border-left-width:4px;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;padding:10px 11px 8px 12px;display:flex;flex-direction:column;gap:5px;cursor:pointer;-webkit-tap-highlight-color:transparent}@keyframes hintBob{0%,to{transform:translateY(0);opacity:.35}50%{transform:translateY(-2px);opacity:.75}}.pending-card-swipe-hint{margin-top:auto;color:#c8c8c8;animation:hintBob 2.2s ease-in-out infinite;display:flex;align-items:center;justify-content:center;padding-bottom:2px}.pending-card-badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:20px;align-self:flex-start;line-height:1.5;white-space:nowrap;letter-spacing:.1px;border-width:1px;border-style:solid}.pending-card--today .pending-card-badge{animation:badgePulse 2.4s ease-in-out infinite}.pending-card-title{font-size:13px;font-weight:700;color:var(--text-primary, #111);line-height:1.38;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;letter-spacing:-.1px;word-break:break-all}.overview-untimed-list{padding:16px 16px 24px;display:flex;flex-direction:column;gap:10px}.overview-untimed-item{background:#fff;border:1px solid var(--border-light);border-radius:14px;padding:13px 16px;box-shadow:0 1px 4px #0000000d;cursor:pointer;-webkit-tap-highlight-color:transparent}.overview-untimed-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.overview-untimed-title-row{display:flex;align-items:center;gap:7px;min-width:0}.overview-untimed-title{flex:1;min-width:0;font-size:15px;font-weight:600;color:var(--text-primary);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-untimed-tag{flex-shrink:0;font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;white-space:nowrap}.overview-untimed-loc{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.task-map-btn{flex-shrink:0;margin-left:auto;width:26px;height:26px;display:flex;align-items:center;justify-content:center;color:#2563eb;background:#eff6ff;border:1.5px solid #bfdbfe;border-radius:50%;cursor:pointer;-webkit-tap-highlight-color:transparent}.task-alarm-btn{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#9e9e9e;background:#f5f5f5;border:1.5px solid #e0e0e0;border-radius:50%;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s,color .15s,border-color .15s}.task-alarm-btn--on{color:#fff;background:#10b981;border-color:#059669}.alarm-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:9000;display:flex;align-items:flex-end;justify-content:center}.alarm-picker-sheet{background:#fff;border-radius:20px 20px 0 0;width:100%;max-width:480px;padding:20px 20px 32px;display:flex;flex-direction:column;gap:12px}.alarm-picker-header{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:#10b981}.alarm-picker-task-name{font-size:13px;color:#555;padding:0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alarm-picker-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.alarm-picker-option{padding:10px 0;border-radius:10px;border:1.5px solid #d1fae5;background:#f0fdf4;color:#065f46;font-size:14px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .1s}.alarm-picker-option:active{background:#d1fae5}.alarm-picker-cancel{margin-top:4px;padding:12px 0;border-radius:10px;border:none;background:#f5f5f5;color:#666;font-size:15px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.edit-sheet-status-row{display:flex;gap:8px}.edit-sheet-status-btn{flex:1;padding:9px 4px;border-radius:10px;border:1.5px solid transparent;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;background:var(--bg-secondary);color:var(--text-secondary);-webkit-tap-highlight-color:transparent}.edit-sheet-status-btn.active-needsAction{background:#f1f5f9;border-color:#9e9e9e;color:#555}.edit-sheet-status-btn.active-inProgress{background:#fff8e1;border-color:#ff9800;color:#e65100}.edit-sheet-status-btn.active-completed{background:#e8faf0;border-color:#4caf50;color:#16a34a}.edit-sheet-notify-row{display:flex;flex-wrap:wrap;gap:6px}.edit-sheet-notify-btn{padding:8px 12px;border-radius:10px;border:1.5px solid transparent;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;background:var(--bg-secondary);color:var(--text-secondary);-webkit-tap-highlight-color:transparent}.edit-sheet-notify-btn.active{background:#eff6ff;border-color:#3b82f6;color:#1d4ed8}.snooze-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:10002;display:flex;align-items:flex-end;justify-content:center}.snooze-dialog{background:#fff;border-radius:24px 24px 0 0;padding:8px 20px 32px;width:100%;max-width:480px;display:flex;flex-direction:column;align-items:center;gap:8px;box-shadow:0 -8px 40px #0003;animation:snoozeSlideUp .28s cubic-bezier(.32,.72,0,1)}@keyframes snoozeSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.snooze-drag-handle{width:36px;height:4px;border-radius:2px;background:#d1d5db;margin-bottom:4px;flex-shrink:0}.snooze-header-row{display:flex;justify-content:space-between;align-items:center;width:100%;padding:0 4px}.snooze-dialog-title{font-size:18px;font-weight:700;color:#1e1b4b;margin:0 0 2px}.snooze-dialog-hint{font-size:12px;color:#9ca3af;margin:0}.snooze-dial-wrap{width:100%;display:flex;justify-content:center;padding:4px 0;cursor:grab;-webkit-tap-highlight-color:transparent}.snooze-dial-wrap:active{cursor:grabbing}.snooze-rev-dots{display:flex;gap:5px;align-items:center;flex-shrink:0}.snooze-rev-dot{width:9px;height:9px;border-radius:50%;background:#6366f1}.snooze-rev-more{font-size:12px;color:#6366f1;font-weight:600}.snooze-dialog-actions{display:flex;gap:10px;width:100%;margin-top:4px}.snooze-cancel-btn{flex:1;padding:14px;border-radius:14px;border:1.5px solid #e5e7eb;background:#f9fafb;color:#6b7280;font-size:15px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.snooze-confirm-btn{flex:2;padding:14px;border-radius:14px;border:none;background:#6366f1;color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:opacity .15s;-webkit-tap-highlight-color:transparent}.snooze-confirm-btn:disabled{background:#c7d2fe;cursor:default}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.edit-sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0006;z-index:200}.edit-sheet{position:absolute;bottom:0;left:0;right:0;z-index:201;background:#fff;border-radius:24px 24px 0 0;animation:sheetUp .28s cubic-bezier(.32,.72,0,1);display:flex;flex-direction:column;max-height:90%;overflow:hidden}.edit-sheet-handle{width:40px;height:4px;background:var(--border-strong);border-radius:2px;margin:0 auto 4px;flex-shrink:0}.edit-sheet-field{display:flex;flex-direction:column;gap:6px}.edit-sheet-label{font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.edit-sheet-input{width:100%;padding:12px 14px;border:1.5px solid var(--border-light);border-radius:12px;font-size:15px;font-family:inherit;color:var(--text-primary);background:#f8fafc;outline:none;box-sizing:border-box;transition:border-color .2s}.edit-sheet-input:focus{border-color:var(--primary);background:#fff}.edit-sheet-textarea{resize:vertical;min-height:72px;line-height:1.5}.edit-sheet-tag-row{display:flex;flex-wrap:wrap;gap:8px}.edit-sheet-time-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 14px;border:1.5px solid var(--border-light);border-radius:12px;background:#f8fafc;font-size:15px;font-family:inherit;color:var(--text-primary);cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent}.edit-sheet-time-edit{font-size:13px;color:var(--primary);font-weight:600}.edit-sheet-time-clear{background:none;border:none;color:var(--text-muted);font-size:13px;cursor:pointer;padding:0;text-align:left;text-decoration:underline;font-family:inherit}.edit-sheet-actions{display:flex;gap:10px}.edit-sheet-btn{width:100%;padding:14px;border:none;border-radius:14px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent;transition:opacity .15s}.edit-sheet-btn:disabled{opacity:.5}.edit-sheet-btn--save{background:var(--primary);color:#fff}.edit-sheet-btn--complete{flex:1;background:#e8faf0;color:#16a34a}.edit-sheet-btn--delete{flex:1;background:#fff0f0;color:#dc2626}.es-root{display:flex;flex-direction:column;flex:1;min-height:0;max-height:100%}.es-topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 4px;flex-shrink:0}.es-topbar .edit-sheet-handle{margin:0}.es-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:50%;background:var(--bg-surface-hover, #f1f5f9);color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent}.es-close:active{background:#e2e8f0}.es-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:4px 20px 18px;display:flex;flex-direction:column;gap:18px}.es-title{width:100%;padding:6px 2px 10px;border:none;border-bottom:2px solid var(--border-light);font-size:20px;font-weight:800;font-family:inherit;color:var(--text-primary);background:transparent;outline:none;transition:border-color .2s}.es-title::placeholder{color:var(--text-muted);font-weight:700}.es-title:focus{border-bottom-color:var(--primary)}.es-status-seg{display:flex;gap:8px}.es-seg{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:12px 4px;border-radius:13px;border:1.5px solid var(--border-light);background:#f8fafc;color:var(--text-secondary);font-size:13.5px;font-weight:700;cursor:pointer;transition:all .15s;-webkit-tap-highlight-color:transparent}.es-seg:active{transform:scale(.97)}.es-seg-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;opacity:.55}.es-seg--active{font-weight:800}.es-seg--active .es-seg-dot{opacity:1}.es-seg-dot--pulse{opacity:1;animation:esDotPulse 1.1s ease-in-out infinite}@keyframes esDotPulse{0%,to{box-shadow:0 0 #f59e0b80}50%{box-shadow:0 0 0 5px #f59e0b00}}@media (prefers-reduced-motion: reduce){.es-seg-dot--pulse{animation:none}}.es-field{display:flex;flex-direction:column;gap:9px}.es-field-head{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--text-secondary)}.es-field-head svg{color:var(--text-muted);flex-shrink:0}.es-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 15px;border:1.5px solid var(--border-light);border-radius:13px;background:#f8fafc;font-family:inherit;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;transition:border-color .15s,background .15s}.es-row:active{background:#f1f5f9}.es-row-value{font-size:15px;font-weight:600;color:var(--text-muted)}.es-row--filled .es-row-value{color:var(--text-primary)}.es-row-go{font-size:13px;color:var(--primary);font-weight:700;flex-shrink:0}.es-link{align-self:flex-start;background:none;border:none;color:var(--text-muted);font-size:12.5px;font-family:inherit;cursor:pointer;padding:2px 0;text-decoration:underline}.es-chip-row{display:flex;flex-wrap:wrap;gap:7px}.es-chip{padding:8px 13px;border-radius:999px;border:1.5px solid var(--border-light);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;background:#f8fafc;color:var(--text-secondary);-webkit-tap-highlight-color:transparent}.es-chip:active{transform:scale(.96)}.es-chip--active{background:var(--primary);border-color:var(--primary);color:#fff}.es-loc-row{display:flex;gap:8px;align-items:stretch}.es-loc-display{flex:1;min-width:0;position:relative;padding:11px 34px 11px 14px;border:1.5px solid var(--border-light);border-radius:13px;background:#f8fafc;display:flex;flex-direction:column;justify-content:center}.es-loc-name{font-size:14px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.es-loc-addr{font-size:12px;color:var(--text-secondary);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.es-loc-empty{font-size:14px;color:var(--text-muted)}.es-loc-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:inline-flex;background:none;border:none;cursor:pointer;padding:4px;color:var(--text-muted)}.es-loc-search{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;padding:0 15px;border:none;border-radius:13px;background:var(--primary);color:#fff;font-size:13.5px;font-weight:700;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.es-loc-search:active{background:var(--primary-hover)}.es-textarea{width:100%;padding:12px 14px;border:1.5px solid var(--border-light);border-radius:13px;font-size:15px;font-family:inherit;line-height:1.5;color:var(--text-primary);background:#f8fafc;outline:none;box-sizing:border-box;resize:vertical;min-height:76px;transition:border-color .2s,background .2s}.es-textarea::placeholder{color:var(--text-muted)}.es-textarea:focus{border-color:var(--primary);background:#fff}.es-footer{flex-shrink:0;display:flex;gap:10px;padding:12px 20px calc(env(safe-area-inset-bottom,0px) + 16px);border-top:1px solid var(--border-light);background:#fff}.es-root--desktop .es-footer{padding-bottom:16px}.es-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:14px;border:none;border-radius:14px;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .15s,transform .1s}.es-btn:active{transform:scale(.98)}.es-btn:disabled{opacity:.5}.es-btn--save{flex:1.8;background:var(--primary);color:#fff}.es-btn--delete{flex:1;background:#fff0f0;color:#dc2626}.call-ended-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:linear-gradient(180deg,#1c3d69,#173254,#152d4c);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;animation:cerScreenOut .5s ease-in 1.3s forwards}@keyframes cerScreenOut{to{opacity:0}}.call-ended-ripples{position:absolute;display:flex;align-items:center;justify-content:center}.call-ended-ripple{position:absolute;width:88px;height:88px;border-radius:50%;border:2px solid rgba(220,53,69,.55);animation:cerRipple 1s cubic-bezier(.2,.8,.4,1) forwards}.cer--1{animation-delay:.05s}.cer--2{animation-delay:.22s}.cer--3{animation-delay:.4s}@keyframes cerRipple{0%{transform:scale(1);opacity:.7}to{transform:scale(3.2);opacity:0}}.call-ended-icon-wrap{position:relative;width:88px;height:88px;border-radius:50%;background:#dc3545;display:flex;align-items:center;justify-content:center;box-shadow:0 0 #dc354573;animation:cerIconPop .45s cubic-bezier(.34,1.56,.64,1) forwards,cerIconGlow .6s ease-out .3s forwards;transform:scale(0)}@keyframes cerIconPop{to{transform:scale(1)}}@keyframes cerIconGlow{0%{box-shadow:0 0 #dc354580}50%{box-shadow:0 0 0 18px #dc35452e}to{box-shadow:0 0 0 28px #dc354500}}.call-ended-label{color:#ffffffe6;font-size:1.15rem;font-weight:500;letter-spacing:.5px;opacity:0;transform:translateY(8px);animation:cerLabelIn .35s ease-out .32s forwards}@keyframes cerLabelIn{to{opacity:1;transform:translateY(0)}}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;background:#0f172a80;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:flex-end}.settings-sheet{width:100%;height:92dvh;background:var(--bg-base, #f8fafc);border-radius:20px 20px 0 0;display:flex;flex-direction:column;overflow:hidden}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;background:var(--bg-surface, #fff);border-bottom:1px solid var(--border-light, #e2e8f0);flex-shrink:0}.settings-title{font-size:17px;font-weight:700;color:var(--text-primary, #0f172a);margin:0}.settings-close-btn,.settings-back-btn{width:36px;height:36px;border-radius:50%;border:none;background:var(--bg-surface-hover, #f1f5f9);color:var(--text-secondary, #64748b);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}.settings-close-btn:hover,.settings-back-btn:hover{background:var(--border-light, #e2e8f0)}.settings-body{flex:1;overflow-y:auto;padding:20px 16px 0;-webkit-overflow-scrolling:touch}.settings-section{margin-bottom:20px}.settings-section-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted, #94a3b8);padding:0 4px;margin-bottom:8px}.settings-card{background:var(--bg-surface, #fff);border-radius:var(--radius-lg, 14px);box-shadow:var(--shadow-sm, 0 1px 2px rgba(0,0,0,.05));border:1px solid var(--border-light, #e2e8f0);overflow:hidden}.settings-loc-row{padding:14px 16px;display:flex;flex-direction:column;gap:8px}.settings-loc-row--border{border-bottom:1px solid var(--border-light, #e2e8f0)}.settings-loc-meta{display:flex;align-items:center;gap:8px}.settings-loc-icon{font-size:16px;line-height:1}.settings-loc-label{font-size:14px;font-weight:600;color:var(--text-primary, #0f172a)}.settings-loc-input-row{display:flex;gap:8px;align-items:center}.settings-loc-input{flex:1;padding:9px 12px;border:1.5px solid var(--border-light, #e2e8f0);border-radius:var(--radius-md, 10px);font-size:13px;color:var(--text-primary, #0f172a);background:var(--bg-base, #f8fafc);outline:none;transition:border-color .15s}.settings-loc-input:focus{border-color:var(--primary, #4f46e5)}.settings-loc-search-btn{width:38px;height:38px;flex-shrink:0;border:1.5px solid var(--border-light, #e2e8f0);border-radius:var(--radius-md, 10px);background:var(--bg-base, #f8fafc);color:var(--primary, #4f46e5);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,border-color .15s}.settings-loc-search-btn:hover{background:var(--primary, #4f46e5);border-color:var(--primary, #4f46e5);color:#fff}.settings-tag-create{padding:16px;border-bottom:1px solid var(--border-light, #e2e8f0);display:flex;flex-direction:column;gap:12px}.settings-tag-input{width:100%;padding:11px 14px;border:1.5px solid var(--border-light, #e2e8f0);border-radius:var(--radius-md, 10px);font-size:14px;color:var(--text-primary, #0f172a);background:var(--bg-base, #f8fafc);outline:none;box-sizing:border-box}.settings-tag-input:focus{border-color:var(--primary, #4f46e5)}.settings-color-palette{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.settings-color-palette--edit{padding:10px 12px;background:var(--bg-base, #f8fafc);border:1.5px solid var(--border-light, #e2e8f0);border-radius:var(--radius-md, 10px);margin-top:6px;width:220px}.settings-color-swatch{width:100%;aspect-ratio:1;border-radius:50%;border:none;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;position:relative;display:flex;align-items:center;justify-content:center}.settings-color-swatch:active{transform:scale(.88)}.settings-color-swatch.selected{box-shadow:inset 0 0 0 2.5px #fff,0 0 0 2.5px #0000002e;transform:scale(1.12)}.settings-tag-preview-row{display:flex;align-items:center;gap:10px}.settings-tag-preview-chip{flex:1;padding:7px 14px;border:1.5px solid;border-radius:20px;font-size:14px;font-weight:600;text-align:center}.settings-tag-add-btn{padding:9px 18px;background:var(--primary, #4f46e5);color:#fff;border:none;border-radius:var(--radius-md, 10px);font-size:13px;font-weight:600;cursor:pointer;flex-shrink:0;transition:opacity .15s}.settings-tag-add-btn:disabled{opacity:.4}.settings-tag-list{padding:12px 16px;display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid var(--border-light, #e2e8f0)}.settings-tag-item-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:0}.settings-tag-item{display:flex;align-items:center;gap:7px;padding:6px 10px 6px 7px;border:1.5px solid;border-radius:20px;cursor:default}.settings-tag-color-btn{width:20px;height:20px;border-radius:50%;border:none;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:transform .12s;box-shadow:0 1px 3px #00000040}.settings-tag-color-btn:active{transform:scale(.88)}.settings-tag-name{font-size:13px;font-weight:600}.settings-tag-remove-btn{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;opacity:.5;color:inherit}.settings-empty-hint{padding:16px;font-size:13px;color:var(--text-muted, #94a3b8);text-align:center}.settings-card--dev{display:flex;flex-direction:column;gap:0}.settings-dev-btn{display:flex;align-items:center;gap:10px;padding:13px 16px;border:none;background:none;cursor:pointer;font-size:14px;font-weight:500;color:var(--text-primary, #0f172a);border-bottom:1px solid var(--border-light, #e2e8f0);text-align:left;width:100%;transition:background .12s}.settings-dev-btn:last-child{border-bottom:none}.settings-dev-btn:hover{background:var(--bg-surface-hover, #f1f5f9)}.settings-dev-btn--red{color:#dc2626}.settings-dev-btn--gray{color:#64748b}.settings-dev-btn--purple{color:#7c3aed}.settings-dev-btn--orange{color:#ea580c}.settings-footer{display:flex;gap:10px;padding:14px 16px;padding-bottom:max(14px,env(safe-area-inset-bottom));background:var(--bg-surface, #fff);border-top:1px solid var(--border-light, #e2e8f0);flex-shrink:0}.settings-cancel-btn{flex:1;padding:13px;border:1.5px solid var(--border-light, #e2e8f0);border-radius:var(--radius-lg, 14px);background:var(--bg-surface, #fff);color:var(--text-secondary, #64748b);font-size:15px;font-weight:600;cursor:pointer}.settings-save-btn{flex:2;padding:13px;border:none;border-radius:var(--radius-lg, 14px);background:var(--primary, #4f46e5);color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:opacity .15s}.settings-save-btn:active{opacity:.85}.settings-search-row{display:flex;gap:10px;margin-bottom:16px}.settings-search-input{flex:1;padding:11px 14px;border:1.5px solid var(--border-light, #e2e8f0);border-radius:var(--radius-md, 10px);font-size:14px;color:var(--text-primary, #0f172a);background:var(--bg-surface, #fff);outline:none}.settings-search-input:focus{border-color:var(--primary, #4f46e5)}.settings-search-btn{padding:11px 20px;background:var(--primary, #4f46e5);color:#fff;border:none;border-radius:var(--radius-md, 10px);font-size:14px;font-weight:600;cursor:pointer;flex-shrink:0}.settings-search-btn:disabled{opacity:.4}.settings-search-status{text-align:center;color:var(--text-muted, #94a3b8);font-size:14px;padding:24px 0}.settings-search-results{display:flex;flex-direction:column;gap:8px}.settings-search-result-item{display:flex;flex-direction:column;gap:3px;padding:13px 16px;background:var(--bg-surface, #fff);border:1.5px solid var(--border-light, #e2e8f0);border-radius:var(--radius-lg, 14px);text-align:left;cursor:pointer;transition:border-color .15s,background .15s;width:100%}.settings-search-result-item:hover{border-color:var(--primary, #4f46e5);background:#f5f3ff}.settings-result-name{font-size:14px;font-weight:600;color:var(--text-primary, #0f172a)}.call-procedural-mode{display:flex;flex-direction:column;background:linear-gradient(160deg,#1e1b4b,#312e81)}.call-end-floating-btn{position:absolute;top:16px;right:16px;z-index:10;display:flex;align-items:center;gap:6px;padding:8px 14px;background:#ef4444bf;border:none;border-radius:20px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.call-chat-layout{flex:1;display:flex;flex-direction:column;overflow:hidden;padding-top:8px}.call-chat-avatar-section{display:flex;flex-direction:column;align-items:center;padding:20px 20px 0;flex-shrink:0}.call-chat-avatar-circle{width:72px;height:72px;border-radius:50%;overflow:hidden;border:2.5px solid rgba(255,255,255,.35);box-shadow:0 0 0 6px #ffffff14}.call-chat-avatar-circle img{width:100%;height:100%;object-fit:cover}.call-chat-speech-tail{width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:11px solid rgba(255,255,255,.14);margin-top:6px}.call-chat-speech-bubble{background:#ffffff21;border:1px solid rgba(255,255,255,.2);border-radius:18px;padding:14px 18px;margin:0 16px;width:calc(100% - 32px);min-height:54px;animation:callBubbleFadeIn .25s ease-out}.call-chat-speech-text{font-size:15px;color:#fff;line-height:1.55;white-space:pre-wrap}.call-chat-typing-cursor{display:inline-block;width:2px;height:14px;background:#ffffffe6;margin-left:2px;vertical-align:middle;animation:callCursorBlink .65s infinite}@keyframes callCursorBlink{0%,49%{opacity:1}50%,to{opacity:0}}.call-chat-messages{flex:1;overflow-y:auto;padding:14px 20px 8px;display:flex;flex-direction:column;gap:8px}.call-chat-bubble{padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.5;white-space:pre-wrap;animation:callBubbleFadeIn .3s ease-out}.call-chat-bubble--ai{background:#ffffff1a;color:#ffffffd9;align-self:flex-start;max-width:85%}.call-chat-bubble--user{background:#6366f180;color:#fff;align-self:flex-end;max-width:85%}@keyframes callBubbleFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.call-chat-actions{padding:8px 16px 28px;flex-shrink:0}.call-voice-status{display:flex;flex-direction:column;align-items:center;gap:10px;padding:6px 0;animation:callBubbleFadeIn .3s ease-out}.call-voice-orb{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffffff1f;color:#ffffffd9;transition:all .3s}.call-voice-orb--listening{background:#4cd96438;color:#b8f5c8;box-shadow:0 0 #4cd96473;animation:callVoicePulse 1.6s ease-out infinite}.call-voice-orb--speaking{background:#7c3aede6;color:#fff;box-shadow:0 0 20px 2px #7c3aed8c}.call-voice-orb--connecting{background:#f59e0b33;color:#ffd9a0}.call-voice-orb--error{background:#ff3b3040;color:#ffc1bd}@keyframes callVoicePulse{0%{box-shadow:0 0 #4cd96473}70%{box-shadow:0 0 0 16px #4cd96400}to{box-shadow:0 0 #4cd96400}}.call-voice-status-label{font-size:14px;font-weight:600;color:#fffc;letter-spacing:-.01em}.call-voice-retry-btn{margin-top:14px;padding:9px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:#ffffff1a;color:#fff;font-size:13px;font-weight:600;cursor:pointer}.call-voice-retry-btn:active{background:#fff3}.call-chat-avatar-circle--speaking{border-color:#7c3aedcc;box-shadow:0 0 0 6px #7c3aed2e}.call-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;animation:callBubbleFadeIn .3s ease-out}.call-action-btn{padding:13px 10px;background:#ffffff1f;border:1px solid rgba(255,255,255,.18);border-radius:14px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,transform .1s;text-align:center}.call-action-btn:active{transform:scale(.97)}.call-action-btn:disabled{opacity:.4;cursor:default}.call-action-btn--danger{background:#ef444433;border-color:#ef444459;color:#fca5a5}.call-completing-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;animation:callBubbleFadeIn .2s ease-out}.call-completing-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:callSpin .75s linear infinite}.call-completing-text{font-size:14px;color:#ffffffa6}@keyframes callSpin{to{transform:rotate(360deg)}}.call-next-task-hint{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#ffffff12;border-radius:12px;flex-wrap:wrap;animation:callBubbleFadeIn .3s ease-out}.call-next-task-label{font-size:10px;font-weight:700;color:#fff6;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.call-next-task-title{font-size:13px;font-weight:600;color:#ffffffbf;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.call-next-task-time{font-size:12px;color:#ffffff73;flex-shrink:0}.settings-result-addr{font-size:12px;color:var(--text-secondary, #64748b)}.mode-switch-btn{display:flex;align-items:center;gap:5px;padding:5px 12px;border-radius:20px;border:1.5px solid var(--primary);background:transparent;color:var(--primary);font-size:12px;font-weight:600;cursor:pointer;transition:background .15s ease;outline:none;-webkit-tap-highlight-color:transparent}.mode-switch-btn:active{background:#4f46e51f}.mode-switch-btn:focus-visible{box-shadow:0 0 0 3px #4f46e540}.focus-card{margin:8px 12px 4px;padding:12px 14px;border-radius:12px;border:1.5px solid var(--border-light);border-left-width:4px;cursor:pointer;animation:cardFadeIn .3s ease-out}.focus-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.focus-card-label{font-size:11px;font-weight:700;letter-spacing:.03em}.focus-card-clear{background:none;border:1px solid var(--border-light);border-radius:8px;font-size:11px;color:var(--text-secondary);cursor:pointer;padding:2px 8px}.focus-card-title{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:8px;line-height:1.4}.focus-card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.focus-card-tag{font-size:11px;font-weight:600;padding:2px 7px;border-radius:8px;border:1px solid}.focus-card-date{font-size:11px;color:var(--text-secondary)}.info-section{margin:12px 12px 4px}.info-section-header{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;padding-left:2px}.info-item{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:10px;padding:10px 12px;margin-bottom:6px;cursor:pointer;transition:background .12s ease}.info-item:active{background:var(--bg-surface-hover)}.info-item-title{font-size:14px;font-weight:600;color:var(--text-primary)}.info-item-content{font-size:12px;color:var(--text-secondary);margin-top:4px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:pre-wrap}.stage-chip{padding:5px 12px;border-radius:20px;border:1.5px solid var(--border-light);background:none;font-size:13px;font-weight:500;cursor:pointer;transition:background .12s ease,color .12s ease}.stage-chip.active{font-weight:700}.focus-toggle-btn{width:100%;padding:12px;border-radius:10px;border:1.5px solid var(--border-light);background:none;font-size:14px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.focus-toggle-btn--active{color:#f59e0b;border-color:#f59e0b60;background:#f59e0b0a}.project-list-modal{max-height:85vh}.project-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 8px;border-bottom:1px solid var(--border-light)}.project-modal-title{font-size:16px;font-weight:700;color:var(--text-primary)}.project-modal-back,.project-modal-close{background:none;border:none;cursor:pointer;padding:4px;color:var(--text-secondary);display:flex;align-items:center;border-radius:6px}.project-modal-back:hover,.project-modal-close:hover{background:var(--bg-surface-hover)}.project-modal-body{padding:12px 16px 24px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:8px}.project-modal-loading{display:flex;justify-content:center;padding:32px 0}.project-modal-empty{display:flex;flex-direction:column;align-items:center;gap:4px;padding:40px 0 24px;font-size:15px;color:var(--text-secondary)}.project-modal-empty span{font-size:36px;margin-bottom:4px}.project-list{display:flex;flex-direction:column;gap:6px;flex:1}.project-list-item{display:flex;align-items:center;gap:10px;padding:12px 10px;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:10px;cursor:pointer;transition:background .12s ease}.project-list-item:active{background:var(--bg-surface-hover)}.project-list-item--active{border-width:1.5px}.project-list-current{font-size:11px;font-weight:800;margin-left:6px}.project-list-count{flex-shrink:0;min-width:22px;height:22px;padding:0 6px;border-radius:11px;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.project-list-color{width:12px;height:12px;border-radius:50%;flex-shrink:0}.project-list-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.project-list-name{font-size:14px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-list-stages{font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-list-edit-btn,.project-list-delete-btn{background:none;border:none;cursor:pointer;padding:6px;color:var(--text-secondary);border-radius:6px;display:flex;align-items:center;flex-shrink:0}.project-list-edit-btn:active,.project-list-delete-btn:active{background:var(--bg-surface-hover)}.project-list-delete-btn{color:var(--accent)}.project-create-btn{width:100%;padding:13px;margin-top:4px;border-radius:10px;border:1.5px dashed var(--border-strong);background:none;font-size:14px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:background .12s ease,color .12s ease}.project-create-btn:hover{background:var(--bg-surface-hover);color:var(--primary)}.project-color-row{display:flex;gap:8px;flex-wrap:wrap}.project-color-swatch{width:28px;height:28px;border-radius:50%;border:2.5px solid transparent;cursor:pointer;transition:transform .12s ease,border-color .12s ease}.project-color-swatch.active{border-color:#fff;outline:2.5px solid currentColor;transform:scale(1.15)}.project-stages-list{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.project-stage-row{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:8px}.project-stage-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.project-stage-name{flex:1;font-size:13px;color:var(--text-primary)}.project-stage-actions{display:flex;gap:2px}.project-stage-actions button{background:none;border:1px solid var(--border-light);border-radius:6px;font-size:12px;width:26px;height:26px;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center}.project-stage-actions button:disabled{opacity:.3;cursor:not-allowed}.project-stage-add-row{display:flex;gap:6px;align-items:center}.project-stage-add-btn{padding:8px 14px;border-radius:8px;border:none;background:var(--primary);color:#fff;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0}.project-stage-add-btn:disabled{opacity:.4;cursor:not-allowed}.project-delete-full-btn{width:100%;padding:12px;border-radius:10px;border:1.5px solid #ef444430;background:#fff0f0;color:#ef4444;font-size:14px;font-weight:600;cursor:pointer}@keyframes ruler-breathe{0%,to{opacity:.82}50%{opacity:1}}@keyframes ruler-snap{0%{transform:scaleY(1) scaleX(1)}35%{transform:scaleY(.95) scaleX(1.01)}65%{transform:scaleY(1.02) scaleX(.998)}to{transform:scaleY(1) scaleX(1)}}.focus-ruler{position:fixed;left:12px;right:12px;height:52px;z-index:150;display:flex;align-items:center;border-radius:14px;background:#ffffff2e;backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);border:2px dashed rgba(0,0,0,.18);box-shadow:none;pointer-events:all;touch-action:none;overflow:hidden;will-change:top,height;animation:ruler-breathe 3.5s ease-in-out infinite}.focus-ruler--dragging{animation:none;opacity:.92;box-shadow:0 16px 48px #00000024,0 6px 16px #0000001a!important}.focus-ruler--snapped{animation:ruler-snap .28s cubic-bezier(.34,1.56,.64,1) forwards}.focus-ruler--focused{animation:none;border-radius:13px;border-style:solid;border-width:2px;opacity:.6}.focus-ruler-left-bar{position:absolute;left:0;top:6px;bottom:6px;width:5px;border-radius:0 3px 3px 0;pointer-events:none;opacity:.9}.focus-ruler-label{flex:1;display:flex;align-items:center;gap:9px;padding:0 8px 0 18px;overflow:hidden;min-width:0}.focus-ruler-target-icon{width:18px;height:18px;flex-shrink:0;opacity:.85;transition:transform .2s cubic-bezier(.34,1.56,.64,1),opacity .15s}.focus-ruler--snapped .focus-ruler-target-icon{transform:scale(1.18);opacity:1}.focus-ruler-text{font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;letter-spacing:-.02em;opacity:.8;transition:opacity .15s}.focus-ruler--snapped .focus-ruler-text{opacity:1}.focus-ruler-grip{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:38px;height:34px;margin-right:10px;background:#ffffff59;border:1px solid rgba(0,0,0,.1);border-radius:9px;flex-shrink:0;pointer-events:none;transition:transform .12s ease}.focus-ruler-grip-line{display:block;width:16px;height:2px;border-radius:2px}.focus-ruler--dragging .focus-ruler-grip{transform:translateY(1px)}.pfc-section{padding:16px 0 4px}.pfc-section-header{display:flex;align-items:center;gap:6px;padding:0 16px 10px;width:100%;background:none;border:none;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent}.pfc-section-chevron{font-size:10px;color:var(--text-muted);flex-shrink:0}.pfc-header-icon{width:15px;height:15px;color:var(--text-secondary);flex-shrink:0}.pfc-section-title{font-size:13px;font-weight:600;color:var(--text-secondary);letter-spacing:-.01em;flex:1}.pfc-section-count{font-size:12px;font-weight:600;color:var(--text-muted);background:var(--bg-surface-hover);border-radius:20px;padding:1px 8px}.pfc-vertical-list{display:flex;flex-direction:column;gap:8px;padding:0 16px 4px}.pfc-card{width:100%;min-height:0;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:16px;box-shadow:0 2px 8px #0000000f,0 0 0 .5px #0000000a;display:flex;flex-direction:row;align-items:stretch;overflow:hidden;cursor:pointer;position:relative;transition:transform .12s ease,box-shadow .12s ease}.pfc-card:active{transform:scale(.97);box-shadow:0 1px 4px #00000014}.pfc-card-stripe{width:4px;flex-shrink:0;border-radius:0}.pfc-card-inner{flex:1;padding:9px 10px 9px 12px;display:flex;flex-direction:column;gap:3px;min-width:0}.pfc-card-project{display:flex;align-items:center;gap:5px}.pfc-card-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.pfc-card-project-name{font-size:11px;font-weight:700;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pfc-card-title{font-size:14px;font-weight:600;color:var(--text-primary);letter-spacing:-.02em;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}.pfc-card-footer{display:flex;align-items:center;gap:6px;margin-top:2px}.pfc-card-time{font-size:11px;color:var(--text-muted);white-space:nowrap}.pfc-card-arrow{display:none;flex-shrink:0}.focus-banner{margin:12px 16px 4px;border-radius:14px;overflow:hidden;background:color-mix(in srgb,var(--banner-accent, #f59e0b) 6%,transparent);border:1px solid color-mix(in srgb,var(--banner-accent, #f59e0b) 22%,transparent)}.focus-banner-header{display:flex;align-items:center;gap:6px;padding:10px 14px 8px}.focus-banner-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.focus-banner-project{font-size:11px;font-weight:600;letter-spacing:.01em;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.focus-banner-icon{width:16px;height:16px;flex-shrink:0;opacity:.85}.focus-banner-card{margin:0 10px 10px;border-radius:10px;background:var(--card-bg, #fff);border-left:3px solid transparent;cursor:pointer;transition:opacity .15s}.focus-banner-card:active{opacity:.7}.focus-banner-card--done{opacity:.55}.focus-banner-card-body{padding:10px 12px}.focus-banner-title{font-size:14px;font-weight:600;color:var(--text-primary, #111);line-height:1.35;margin-bottom:6px}.focus-banner-card--done .focus-banner-title{text-decoration:line-through;color:var(--text-secondary, #888)}.focus-banner-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.focus-banner-time{font-size:11px;color:var(--text-secondary, #888)}.project-overview-content{padding:4px 0 40px}.project-stage-section{margin-bottom:6px;animation:projectSectionEnter .22s ease backwards}.project-stage-section-header{display:flex;align-items:center;gap:7px;padding:18px 20px 8px}.project-stage-section-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.project-stage-section-name{font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;flex:1}.project-stage-section-count{font-size:11px;font-weight:600;color:var(--text-muted);min-width:18px;text-align:right}.project-stage-section-tasks{display:flex;flex-direction:column;padding:0 14px}.project-stage-empty{font-size:12px;color:var(--text-muted);padding:6px 20px 12px}@keyframes projectCardEnter{0%{opacity:0}to{opacity:1}}@keyframes projectSectionEnter{0%{opacity:0}to{opacity:1}}@keyframes projectTabEnter{0%{opacity:0}to{opacity:1}}.project-task-card-swipe-wrapper{position:relative;overflow:hidden;border-radius:13px;animation:projectCardEnter .24s cubic-bezier(.22,1,.36,1) backwards}.pfc-card-wrapper{position:relative;overflow:hidden;border-radius:16px;width:100%;min-height:72px}.project-task-card{position:relative;background:var(--bg-surface);border-radius:13px;border-left:3px solid var(--border-strong);padding:12px 14px 10px 13px;cursor:pointer;overflow:hidden;box-shadow:0 1px 4px #00000012,0 0 0 .5px #0000000d;transition:transform .13s cubic-bezier(.34,1.56,.64,1),box-shadow .13s ease;margin-bottom:9px}.project-task-card:active{transform:scale(.974);box-shadow:0 0 2px #0000000d,0 0 0 .5px #0000000a}.project-task-card--focused{position:relative}.project-task-card--focused .project-task-card-footer{padding-right:44px}.project-task-card--target .project-task-card-footer{padding-bottom:20px}.project-task-card--target{transform:scale(1.012)!important}.project-task-card--completed{opacity:.44}.project-task-card-title{display:block;font-size:14px;font-weight:500;color:var(--text-primary);line-height:1.45;margin-bottom:7px;letter-spacing:-.01em}.project-task-card-title--done{text-decoration:line-through;color:var(--text-muted)}.project-task-card-footer{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.project-task-card-time{font-size:11px;color:var(--text-muted);letter-spacing:-.01em}.project-status-pill{display:inline-flex;align-items:center;font-size:10px;font-weight:650;padding:2px 7px;border-radius:20px;flex-shrink:0;letter-spacing:.01em;transition:background .18s ease,color .18s ease,border-color .18s ease}.project-status-pill--flip{animation:statusBadgeFlip .42s cubic-bezier(.34,1.56,.64,1) backwards}.project-task-focus-overlay{position:absolute;bottom:0;left:0;right:0;height:28px;border-radius:0 0 10px 10px;display:flex;align-items:center;justify-content:center;pointer-events:none}.project-task-focus-overlay span{font-size:11px;font-weight:700;letter-spacing:-.01em}.project-task-focus-grip{position:absolute;right:8px;bottom:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:30px;height:26px;border-radius:7px;background:#0000000b;border:1px solid rgba(0,0,0,.08);border-bottom:2px solid rgba(0,0,0,.13);cursor:grab;touch-action:none;z-index:152;transition:background .12s ease,transform .12s ease,border-bottom-width .1s ease;animation:grip-appear .25s cubic-bezier(.34,1.56,.64,1) both}@keyframes grip-appear{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.project-task-focus-grip:active{background:#00000017;transform:translateY(1px);border-bottom-width:1px}.project-task-focus-grip-line{display:block;width:13px;height:1.5px;background:#0000004d;border-radius:2px}.project-tab-bar{display:flex;margin:10px 14px 6px;background:var(--bg-surface-hover, #f1f5f9);border-radius:12px;padding:3px;gap:2px}.project-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 0;border:none;background:none;border-radius:10px;font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .18s ease;letter-spacing:-.01em}.project-tab--active{background:#fff;color:var(--text-primary);box-shadow:0 1px 4px #00000014,0 0 0 .5px #0000000a}.project-tab-count{display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;min-width:18px;padding:1px 6px;border-radius:10px;background:#0000000f;color:var(--text-secondary);transition:background .18s ease,color .18s ease}.project-tab-content{animation:projectTabEnter .2s ease backwards}@keyframes info-fade-up{0%{opacity:0}to{opacity:1}}.info-tab-content{padding-bottom:80px}.info-type-section{margin-bottom:22px;animation:info-fade-up .28s ease backwards}.info-type-section-header{display:flex;align-items:center;gap:6px;padding:0 2px 8px;border-bottom:1px solid var(--border-light, rgba(0,0,0,.07));margin-bottom:10px}.info-type-section-icon{font-size:13px}.info-type-section-label{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary, #888)}.info-type-section-count{margin-left:auto;font-size:11px;font-weight:600;color:var(--text-tertiary, #bbb);background:var(--bg-secondary, #f5f5f5);border-radius:9px;padding:1px 7px}.info-card{display:flex;align-items:center;gap:11px;background:var(--bg-surface);border-radius:14px;border:1px solid var(--border-light, rgba(0,0,0,.07));border-left-width:4px;padding:11px 10px 11px 12px;margin-bottom:8px;cursor:pointer;box-shadow:0 1px 5px #0000000d;transition:transform .13s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}.info-card:active{transform:scale(.972)}.info-card--memo{border-left-color:#a78bfa;background:linear-gradient(110deg,var(--bg-surface) 55%,#a78bfa0a 100%)}.info-card--link{border-left-color:#3b82f6;background:linear-gradient(110deg,var(--bg-surface) 55%,#3b82f60a 100%)}.info-card--location{border-left-color:#f59e0b;background:linear-gradient(110deg,var(--bg-surface) 55%,#f59e0b0a 100%)}.info-card--photo{border-left-color:#34d399;background:linear-gradient(110deg,var(--bg-surface) 55%,#34d3990a 100%)}.info-card-icon-wrap{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.info-card-icon-emoji{font-size:19px;line-height:1}.info-card-body{flex:1;min-width:0}.info-card-title{font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.35;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.info-card-content{font-size:12px;color:var(--text-secondary);margin-top:3px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.info-card-url{font-size:11px;color:#3b82f6;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:underline;text-underline-offset:2px}.info-card-location-row{display:flex;align-items:center;gap:6px;margin-top:3px;min-width:0}.info-card-addr{font-size:11px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.info-card-map-arrow{font-size:11px;font-weight:700;flex-shrink:0}.info-card-photo-label{font-size:11px;color:var(--text-secondary);margin-top:3px;opacity:.7}.info-card-external{font-size:15px;font-weight:700;flex-shrink:0;opacity:.7}.info-card-delete-btn{width:26px;height:26px;border-radius:50%;border:1px solid rgba(0,0,0,.08);background:#0000000a;color:var(--text-secondary, #888);font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s,color .15s,border-color .15s;padding:0}.info-card-delete-btn:active{background:#f443361f;color:#f44336;border-color:#f4433640}.info-card--has-photo{flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden}.info-card-photo-img{width:100%;max-height:200px;object-fit:cover;display:block;border-radius:10px 10px 0 0}.info-card--has-photo .info-card-body{padding:10px 12px}.info-card--has-photo .info-card-delete-btn{position:absolute;top:8px;right:8px;background:#00000073;border-color:#ffffff40;color:#fff}.info-card--media{flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden;border-left-width:0;border-top-width:4px}.info-card--photo.info-card--media{border-top-color:#34d399}.info-card--link.info-card--media{border-top-color:#3b82f6}.info-card--location.info-card--media{border-top-color:#f59e0b}.info-card-media-img{width:100%;display:block;object-fit:cover}.info-card-map-img{height:100%;width:100%;object-fit:cover}.info-card-map-wrap{position:relative;height:160px;overflow:hidden;background:#e8e0d5}.info-card-osm-grid{position:absolute;width:768px;height:768px}.info-card-osm-tile{position:absolute;width:256px;height:256px;display:block}.info-card-map-pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%);pointer-events:none;display:flex;flex-direction:column;align-items:center;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5));z-index:2}.info-card-map-pin-head{width:20px;height:20px;border-radius:50% 50% 50% 0;background:#f59e0b;border:2.5px solid #fff;transform:rotate(-45deg);box-shadow:0 0 0 1.5px #f59e0b66}.info-card-map-pin-tail{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:8px solid #f59e0b;margin-top:-1px}.info-card-youtube-wrap{position:relative;width:100%;padding-bottom:56.25%;height:0;overflow:hidden;background:#000}.info-card-youtube-frame{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.info-card-media-footer{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-surface);min-height:44px}.info-card-media-footer-icon{font-size:16px;flex-shrink:0}.info-card-media-footer-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.info-card-media-footer-title{flex:1;min-width:0;font-size:13px;font-weight:600;color:var(--text-primary, #1a1a2e);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.info-card-media-footer-sub{font-size:11px;color:var(--text-secondary, #888);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.info-card-map-cta{font-size:11px;font-weight:700;letter-spacing:-.01em;flex-shrink:0;padding:3px 8px;border-radius:20px;border:1.5px solid currentColor;opacity:.85}.info-card-open-btn{background:none;border:1.5px solid rgba(59,130,246,.35);color:#3b82f6;border-radius:20px;padding:2px 8px;font-size:13px;font-weight:700;cursor:pointer;flex-shrink:0;line-height:1.6;transition:background .15s,border-color .15s}.info-card-open-btn:active{background:#3b82f61a;border-color:#3b82f6}.info-card-favicon{width:22px;height:22px;object-fit:contain;border-radius:4px}.info-card-media-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;min-height:100px;background:#00000008;font-size:28px}.info-card-media-placeholder--photo{background:#34d3990f}.info-card-media-placeholder--map{background:#f59e0b0f}.info-card-media-placeholder-label{font-size:12px;color:var(--text-secondary, #888);font-weight:500}.photo-pick-area{display:flex;align-items:center;justify-content:center;width:100%;min-height:180px;border-radius:14px;border:2px dashed rgba(52,211,153,.45);background:#34d3990d;cursor:pointer;overflow:hidden;margin-bottom:4px;transition:border-color .18s,background .18s}.photo-pick-area:active{border-color:#34d399b3;background:#34d3991a}.photo-pick-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px}.photo-pick-icon{font-size:36px;line-height:1}.photo-pick-hint{font-size:13px;color:var(--text-secondary, #888);font-weight:500}.photo-pick-preview{width:100%;height:100%;object-fit:cover;display:block}.photo-pick-change-label{display:block;text-align:center;font-size:12px;color:#34d399;font-weight:600;padding:6px;cursor:pointer;letter-spacing:-.01em}.project-switcher-row{display:flex;flex-direction:row;align-items:center;gap:8px;padding:10px 14px 6px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.project-switcher-row::-webkit-scrollbar{display:none}.project-switcher-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 14px 6px 10px;border-radius:20px;border:1.5px solid transparent;font-size:13px;font-weight:600;white-space:nowrap;background:var(--bg-surface);cursor:pointer;flex-shrink:0;transition:opacity .15s,transform .12s cubic-bezier(.34,1.56,.64,1)}.project-switcher-chip:active{opacity:.75;transform:scale(.92)}.project-switcher-chip--active{cursor:default;box-shadow:0 2px 8px #00000026}.project-switcher-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.project-summary-card{margin:8px 14px 4px;background:var(--bg-surface);border-radius:16px;border:1px solid var(--border-light);padding:18px 20px 14px;box-shadow:0 1px 4px #0000000f,0 0 0 .5px #0000000a}.project-summary-stats{display:flex;align-items:center;gap:0;margin-bottom:14px}.project-summary-stat{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px}.project-summary-num{font-size:24px;font-weight:700;color:var(--text-primary);line-height:1;letter-spacing:-.03em}.project-summary-label{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.project-summary-divider{width:1px;height:28px;background:var(--border-light);flex-shrink:0}.project-summary-progress-row{display:flex;align-items:center;gap:10px}.project-summary-track{flex:1;height:6px;background:var(--bg-surface-hover);border-radius:3px;overflow:hidden}.project-summary-fill{height:100%;border-radius:3px;transition:width .5s cubic-bezier(.22,1,.36,1);min-width:6px}.project-summary-pct{font-size:12px;font-weight:700;min-width:32px;text-align:right;letter-spacing:-.02em}.project-empty-state{display:flex;flex-direction:column;align-items:center;padding:40px 24px 20px;gap:10px}.project-empty-icon{margin-bottom:4px;line-height:1}.project-empty-title{font-size:15px;font-weight:600;color:var(--text-secondary);letter-spacing:-.02em}.project-empty-sub{font-size:13px;color:var(--text-muted);text-align:center;line-height:1.5}.dnd-lifted-card{border-radius:14px;border:1px solid;border-left-width:4px;padding:12px 14px 10px;display:flex;flex-direction:column;gap:6px;will-change:transform;overflow:hidden;-webkit-user-select:none;user-select:none}.dnd-dwell-ring-wrap{position:absolute;bottom:8px;right:8px}.pending-card-placeholder{flex-shrink:0;border-radius:14px;border:2px dashed;background:transparent;opacity:.4}.dnd-time-bubble{pointer-events:none;display:flex;flex-direction:column;align-items:center}.dnd-time-bubble-inner{border-radius:20px;padding:6px 18px 5px;display:flex;flex-direction:column;align-items:center;gap:1px;box-shadow:0 6px 20px #00000040;animation:bubble-pop .22s cubic-bezier(.22,1,.36,1)}@keyframes bubble-pop{0%{opacity:0;transform:scale(.7) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.dnd-time-bubble-time{font-size:28px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.03em;line-height:1.1}.dnd-time-bubble-hint{font-size:10px;color:#ffffffc7;white-space:nowrap}.dnd-time-bubble-arrow{width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-top:11px solid #4f46e5;margin-top:-1px}.dnd-countdown-bar{display:flex;flex-direction:column;gap:3px;animation:dnd-cb-in .22s cubic-bezier(.22,1,.36,1)}@keyframes dnd-cb-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.dnd-countdown-track{height:4px;background:#00000014;border-radius:4px;overflow:hidden}.dnd-countdown-fill{height:100%;border-radius:4px;transition:width .1s linear}.dnd-countdown-label{font-size:11px;font-weight:600;text-align:center}.dnd-lever-overlay{position:fixed;top:0;right:0;bottom:0;left:0}.dnd-lever-time-display{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:4px;animation:lever-time-in .3s cubic-bezier(.22,1,.36,1)}@keyframes lever-time-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.dnd-lever-time-label{font-size:52px;font-weight:800;letter-spacing:-.04em;font-variant-numeric:tabular-nums;line-height:1;text-shadow:0 2px 12px rgba(0,0,0,.12)}.dnd-lever-time-sub{font-size:12px;color:var(--text-muted);font-weight:500}.dnd-lever-track{position:absolute;transform:translateY(-50%);width:56px;height:200px;display:flex;align-items:center;justify-content:center;animation:lever-track-in .35s cubic-bezier(.22,1,.36,1)}@keyframes lever-track-in{0%{opacity:0;transform:translateY(-50%) scaleY(.5)}to{opacity:1;transform:translateY(-50%) scaleY(1)}}.dnd-lever-rail{position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translate(-50%);border-left:2px dashed;border-radius:2px}.dnd-lever-tick{position:absolute;left:50%;transform:translate(-50%);width:24px;height:3px;border-radius:2px;display:flex;align-items:center;transition:background .15s,transform .15s}.dnd-lever-tick--current{height:4px;border-radius:3px}.dnd-lever-tick-label{position:absolute;right:calc(100% + 6px);white-space:nowrap;font-size:11px;font-weight:500}.dnd-lever-tick-label--current{font-size:13px;font-weight:700}.dnd-lever-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #00000040;animation:lever-handle-in .3s cubic-bezier(.22,1,.36,1)}@keyframes lever-handle-in{0%{transform:translate(-50%,-50%) scale(0)}to{transform:translate(-50%,-50%) scale(1)}}.dnd-lever-hints{position:absolute;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:120px;font-size:11px;font-weight:600}.dnd-lever-hint-up{margin-bottom:auto}.dnd-lever-hint-dn{margin-top:auto}.snooze-dialog-overlay{z-index:10000}.dnd-popup-task-name{font-size:15px;font-weight:600;color:#1a1a2e;width:100%;padding:10px 14px;background:#f8f8fc;border-radius:12px;border-left:4px solid #4f46e5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dnd-notify-section{width:100%;display:flex;flex-direction:column;gap:8px;margin-top:4px}.dnd-notify-label{font-size:12.5px;font-weight:700;color:var(--text-secondary)}.dnd-notify-chips{display:flex;flex-wrap:wrap;gap:6px}.dnd-notify-chip{flex:1 1 0;min-width:48px;padding:8px 6px;border-radius:999px;border:1.5px solid var(--border-light);background:#f8fafc;color:var(--text-secondary);font-size:12.5px;font-weight:600;font-family:inherit;cursor:pointer;transition:transform .1s;-webkit-tap-highlight-color:transparent}.dnd-notify-chip:active{transform:scale(.95)}.dnd-chip-slot{display:flex;flex-direction:column}.dnd-timeline-drop-zone{height:60px;border:2px dashed;border-radius:14px;display:flex;align-items:center;justify-content:center;pointer-events:none;margin-bottom:6px;animation:dnd-drop-zone-open .22s cubic-bezier(.22,1,.36,1) both;overflow:hidden}@keyframes dnd-drop-zone-open{0%{height:0;opacity:0;margin-bottom:0}to{height:60px;opacity:1;margin-bottom:6px}}.dnd-drop-zone-label{font-size:12px;font-weight:700;letter-spacing:.2px;opacity:.85;animation:dnd-drop-label-in .15s .1s ease both}@keyframes dnd-drop-label-in{0%{opacity:0}to{opacity:.85}}.dnd-slot-panel{margin:0 12px;background:#fff;border-radius:16px;box-shadow:0 4px 24px #00000024,0 1px 6px #00000014;overflow:hidden;border:1.5px solid rgba(79,70,229,.15)}.dnd-slot-panel--dwell{animation:slot-appear .25s cubic-bezier(.22,1,.36,1)}.dnd-slot-panel--expanded{animation:slot-bloom .35s cubic-bezier(.22,1,.36,1);box-shadow:0 8px 40px #0000002e,0 2px 8px #0000001a;border-color:var(--slot-accent, #4f46e5)}@keyframes slot-appear{0%{opacity:0;transform:scaleY(.6) translateY(10px)}to{opacity:1;transform:scaleY(1) translateY(0)}}@keyframes slot-bloom{0%{opacity:.7;transform:scaleY(.75)}to{opacity:1;transform:scaleY(1)}}.dnd-slot-panel-header{display:flex;align-items:center;gap:10px;padding:10px 14px 8px;border-bottom:1px solid #f0f0f0}.dnd-slot-hour-label{font-size:13px;font-weight:600;color:#4f46e5;flex:1;color:var(--slot-accent, #4f46e5)}.dnd-slot-dwell-bar{flex:1;height:4px;background:#e8e8e8;border-radius:4px;overflow:hidden;max-width:80px}.dnd-slot-dwell-fill{height:100%;border-radius:4px;transition:width .1s linear}.dnd-slot-minutes{display:flex;flex-direction:column}.dnd-slot-minute-row{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-bottom:1px solid #f5f5f5;border:1.5px solid transparent;border-radius:0;transition:background .15s,border-color .15s;animation:slot-row-in .3s cubic-bezier(.22,1,.36,1) both}.dnd-slot-minute-row:nth-child(1){animation-delay:0ms}.dnd-slot-minute-row:nth-child(2){animation-delay:40ms}.dnd-slot-minute-row:nth-child(3){animation-delay:80ms}.dnd-slot-minute-row:nth-child(4){animation-delay:.12s}@keyframes slot-row-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.dnd-slot-minute-row--active{margin:2px 6px;border-radius:10px}.dnd-slot-minute-time{font-size:15px;color:var(--text-secondary);font-variant-numeric:tabular-nums;font-weight:500}.dnd-slot-minute-badge{font-size:11px;font-weight:700;color:#fff;border-radius:20px;padding:3px 10px;animation:badge-pop .2s cubic-bezier(.22,1,.36,1)}@keyframes badge-pop{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.pending-card-footer-row{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.pending-card-drag-handle{display:flex;align-items:center;justify-content:center;gap:5px;height:30px;padding:0 10px 0 8px;border-radius:8px;background:#f0f0f5;border:1.5px solid #e0e0e8;color:#888;cursor:grab;font-size:11px;font-weight:600;letter-spacing:.01em;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;transition:background .15s,color .15s,border-color .15s}.pending-card-drag-handle:active{background:#4f46e51a;border-color:#4f46e54d;color:#4f46e5}.pending-card-drag-handle-label{line-height:1}.timeline-chip-drag-handle{flex-shrink:0;align-self:stretch;display:flex;align-items:center;justify-content:center;width:30px;margin:-10px -14px -10px 2px;border-radius:0 10px 10px 0;color:#c2c2cc;cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;transition:background .12s,color .12s}.timeline-chip-drag-handle:active{background:#4f46e514;color:#4f46e5}.timeline-chip-drag-handle--armed{background:var(--rs-armed-color, #4f46e5);color:#fff;border-radius:8px;margin:-2px -10px -2px 2px;animation:rsHandlePulse 1s ease-in-out infinite}@keyframes rsHandlePulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--rs-armed-color, #4f46e5) 45%,transparent)}50%{box-shadow:0 0 0 5px transparent}}.rs-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f0f198c;display:flex;align-items:center;justify-content:center;pointer-events:none;animation:rsFade .15s ease-out}@keyframes rsFade{0%{opacity:0}to{opacity:1}}.rs-panel{width:min(78vw,300px);background:#fff;border-radius:22px;padding:14px 14px 12px;box-shadow:0 20px 60px #0006;animation:rsPop .22s cubic-bezier(.34,1.56,.64,1)}@keyframes rsPop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.rs-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:0 4px}.rs-date{font-size:12px;font-weight:800;color:#9ca3af;flex-shrink:0}.rs-task-title{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rs-ladder{position:relative}.rs-slot{display:flex;align-items:center;gap:10px;padding:0 10px;border:2px solid transparent;border-radius:12px;color:#9ca3af;transition:background .1s,color .1s}.rs-slot-time{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;min-width:46px}.rs-slot--orig .rs-slot-time{color:#6b7280}.rs-slot-tag{font-size:10px;font-weight:700;color:#9ca3af;background:#f3f4f6;border-radius:6px;padding:1px 6px}.rs-slot--sel{box-shadow:0 2px 10px #00000014}.rs-slot--sel .rs-slot-time{color:#111827;font-size:15px}.rs-slot-card{flex:1;font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rs-foot{text-align:center;margin-top:10px;font-size:13px;font-weight:600;color:#6b7280}.rs-foot b{font-size:15px}.rs-diff{margin-left:6px;font-size:11px;font-weight:700;color:#9ca3af}.quick-add-bar{display:flex;align-items:center;gap:8px;margin:12px 16px 6px;background:var(--bg-surface);border:1.5px solid var(--border-light);border-radius:14px;padding:6px 6px 6px 14px;box-shadow:var(--shadow-sm)}.quick-add-input{flex:1;border:none;background:transparent;font-size:14px;color:var(--text-primary);outline:none;padding:4px 0}.quick-add-input::placeholder{color:var(--text-muted)}.quick-add-btn{width:34px;height:34px;border-radius:10px;border:none;background:var(--primary);color:#fff;font-size:20px;font-weight:300;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,transform .1s}.quick-add-btn:active{transform:scale(.92)}.quick-add-btn:disabled{background:var(--border-strong);cursor:not-allowed}.undo-toast{position:fixed;bottom:calc(76px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);background:#1e293b;color:#fff;border-radius:24px;padding:10px 16px;display:flex;align-items:center;gap:12px;z-index:9999;box-shadow:0 4px 20px #00000040;min-width:240px;max-width:calc(100vw - 40px);animation:toast-in .28s cubic-bezier(.22,1,.36,1);cursor:pointer;white-space:nowrap}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.undo-toast-msg{font-size:13px;flex:1;overflow:hidden;text-overflow:ellipsis}.undo-toast-btn{font-size:13px;font-weight:700;color:#60a5fa;flex-shrink:0;padding:2px 0}.overdue-banner{margin:6px 16px;background:#fff7ed;border:1.5px solid #fdba74;border-radius:12px;overflow:hidden}.overdue-banner-header{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:transparent;border:none;cursor:pointer;text-align:left}.overdue-banner-icon{font-size:16px}.overdue-banner-title{font-size:13px;font-weight:600;color:#c2410c;flex:1}.overdue-banner-chevron{font-size:10px;color:#c2410c}.overdue-banner-list{border-top:1px solid #fdba74}.overdue-banner-item{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;cursor:pointer;border-bottom:1px solid #fed7aa30;gap:8px}.overdue-banner-item:last-child{border-bottom:none}.overdue-banner-item-title{font-size:13px;color:#7c2d12;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overdue-banner-item-time{font-size:11px;color:#c2410c;white-space:nowrap;flex-shrink:0}.overdue-banner-item-delete{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:50%;background:#fed7aa66;color:#b91c1c;cursor:pointer;transition:background .15s ease}.overdue-banner-item-delete:active{background:#fca5a5}.overdue-banner-clear-all{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:11px 14px;border:none;border-top:1px solid #fdba74;background:transparent;color:#b91c1c;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s ease}.overdue-banner-clear-all:active{background:#fee2e2}.completed-history{margin:6px 16px 16px;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:12px;overflow:hidden}.completed-history-header{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:transparent;border:none;cursor:pointer;text-align:left}.completed-history-icon{font-size:14px;color:#22c55e}.completed-history-title{font-size:13px;font-weight:600;color:var(--text-secondary);flex:1}.completed-history-chevron{font-size:10px;color:var(--text-muted)}.completed-history-list{border-top:1px solid var(--border-light)}.completed-history-item{display:flex;align-items:center;gap:10px;padding:9px 14px;cursor:pointer;border-bottom:1px solid var(--border-light)}.completed-history-item:last-child{border-bottom:none}.completed-history-check{color:#22c55e;font-size:14px;flex-shrink:0}.completed-history-title-text{font-size:13px;color:var(--text-muted);text-decoration:line-through;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-badge{display:inline-flex;align-items:center;justify-content:center;background:#ef4444;color:#fff;font-size:10px;font-weight:700;border-radius:20px;min-width:16px;height:16px;padding:0 4px;line-height:1;position:relative;top:-1px}.ruler-hint-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:9990;display:flex;align-items:center;justify-content:center;padding:24px}.ruler-hint-box{background:var(--bg-surface);border-radius:20px;padding:28px 24px 22px;text-align:center;max-width:300px;width:100%;box-shadow:0 20px 60px #0000004d}.ruler-hint-icon{color:var(--primary);margin-bottom:14px}.ruler-hint-title{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:10px}.ruler-hint-desc{font-size:14px;color:var(--text-secondary);line-height:1.55;margin-bottom:20px}.ruler-hint-close{background:var(--primary);color:#fff;border:none;border-radius:24px;padding:11px 32px;font-size:15px;font-weight:600;cursor:pointer}.org-smart-msg{font-size:14px;color:var(--text-secondary);text-align:center;padding:0 20px 16px;line-height:1.55}.settings-logout-btn{width:100%;padding:13px;border-radius:12px;border:1.5px solid #fca5a5;background:#fff1f2;color:#ef4444;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.settings-logout-btn:active{background:#fee2e2}.pfc-card-goto{position:absolute;bottom:9px;right:10px;font-size:11px;font-weight:600;letter-spacing:.01em;opacity:.8}.project-phase-block{margin-bottom:14px;border-radius:14px;border:1.5px solid rgba(0,0,0,.08);background:#fff9;overflow:hidden;animation:projectSectionEnter .22s ease backwards}.project-phase-header{display:flex;align-items:center;gap:8px;padding:10px 14px 8px;border-bottom:1px solid rgba(0,0,0,.06)}.project-phase-num{font-size:11px;font-weight:700;letter-spacing:.04em;opacity:.9}.project-phase-name{font-size:14px;font-weight:600;color:var(--text-primary);flex:1;letter-spacing:-.01em}.project-phase-count{font-size:12px;font-weight:600;color:var(--text-secondary);background:var(--bg-secondary, #f0f0f0);border-radius:20px;padding:1px 8px;min-width:22px;text-align:center}.project-phase-tasks{padding:8px 10px 10px;display:flex;flex-direction:column;gap:6px}.project-phase-empty{font-size:13px;color:var(--text-muted);padding:8px 4px;text-align:center}.project-phase-add-btn{width:26px;height:26px;border-radius:50%;border:1.5px solid;background:transparent;cursor:pointer;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;font-weight:400;flex-shrink:0;padding:0;transition:background .15s,opacity .15s}.project-phase-add-btn:active{opacity:.6}.project-stage-num{font-size:12px;font-weight:700;width:20px;text-align:center;flex-shrink:0}.edit-sheet-stage-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.edit-sheet-stage-btn{padding:5px 12px;border-radius:20px;border:1.5px solid #ddd;background:transparent;cursor:pointer;font-size:13px;font-weight:500;transition:background .15s,color .15s}.edit-sheet-stage-btn.active{font-weight:600}.reward-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:11000;display:flex;align-items:center;justify-content:center;background:#080c1873;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:rewardFadeIn .18s ease-out}@keyframes rewardFadeIn{0%{opacity:0}to{opacity:1}}.reward-card{position:relative;width:min(82vw,320px);background:#1e293b;border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:28px 22px 22px;text-align:center;color:#fff;box-shadow:0 20px 60px #00000073;animation:rewardPop .42s cubic-bezier(.34,1.56,.64,1)}.reward-card--big{background:linear-gradient(160deg,#4f46e5,#7c3aed)}@keyframes rewardPop{0%{transform:scale(.6) translateY(20px);opacity:0}60%{transform:scale(1.04);opacity:1}to{transform:scale(1)}}.reward-check-burst{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;background:linear-gradient(135deg,#34d399,#10b981);display:flex;align-items:center;justify-content:center;box-shadow:0 0 #34d3998c;animation:rewardBurst .5s ease-out .08s both,rewardPulse 1.6s ease-out .5s}.reward-card--big .reward-check-burst{background:linear-gradient(135deg,#fbbf24,#f59e0b)}@keyframes rewardBurst{0%{transform:scale(0)}60%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes rewardPulse{0%{box-shadow:0 0 #34d39980}to{box-shadow:0 0 0 22px #34d39900}}.reward-headline{font-size:19px;font-weight:800;letter-spacing:-.02em}.reward-task{margin-top:6px;font-size:13px;color:#ffffffb8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reward-cheer{margin-top:12px;min-height:20px;font-size:14px;font-weight:600;color:#fff;animation:rewardCheerIn .4s ease-out .2s both}@keyframes rewardCheerIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.reward-progress-wrap{margin-top:16px}.reward-progress-track{height:10px;border-radius:99px;overflow:hidden;background:#ffffff29}.reward-progress-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#34d399,#6ee7b7);transition:width .7s cubic-bezier(.34,1.4,.64,1)}.reward-card--big .reward-progress-fill{background:linear-gradient(90deg,#fcd34d,#fde68a)}.reward-progress-label{margin-top:6px;font-size:12px;color:#ffffffbf}.reward-xp{margin-top:14px;font-size:13px;font-weight:700;color:#fcd34d;animation:rewardCheerIn .4s ease-out .32s both}.reward-confetti{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.reward-confetti-piece{position:absolute;top:-12px;width:9px;height:14px;border-radius:2px;animation:rewardConfettiFall 1.9s cubic-bezier(.2,.6,.4,1) forwards}@keyframes rewardConfettiFall{0%{transform:translateY(-10vh) rotate(0);opacity:1}to{transform:translateY(105vh) rotate(540deg);opacity:.9}}.checkin-card{position:relative;width:min(84vw,340px);background:linear-gradient(165deg,#312e81,#1e293b);border-radius:26px;padding:30px 24px 24px;text-align:center;color:#fff;box-shadow:0 24px 70px #00000080;animation:rewardPop .46s cubic-bezier(.34,1.56,.64,1)}.checkin-emoji{font-size:46px;animation:rewardBurst .6s ease-out .1s both}.checkin-title{margin-top:10px;font-size:20px;font-weight:800}.checkin-cheer{margin-top:10px;font-size:14px;font-weight:600;color:#ffffffe6;min-height:20px}.checkin-stat-row{display:flex;gap:12px;margin-top:20px}.checkin-stat{flex:1;background:#ffffff14;border-radius:16px;padding:14px 8px}.checkin-stat-num{font-size:24px;font-weight:800}.checkin-stat-label{font-size:11px;color:#ffffffb3;margin-top:2px}.checkin-btn{margin-top:22px;width:100%;border:none;cursor:pointer;background:#4f46e5;color:#fff;font-size:15px;font-weight:700;padding:14px;border-radius:16px;box-shadow:0 4px #3730a3;transition:transform .08s,box-shadow .08s}.checkin-btn:active{transform:translateY(3px);box-shadow:0 1px #3730a3}.checkin-done{margin-top:18px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:12px 12px 6px;text-align:left}.checkin-done-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding:0 2px}.checkin-done-badge{font-size:11px;font-weight:800;letter-spacing:.02em;color:#a5b4fc}.checkin-done-count{font-size:11px;font-weight:700;color:#ffffff8c}.checkin-done-list{max-height:150px;overflow-y:auto;scroll-behavior:auto;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%)}.checkin-done-list::-webkit-scrollbar{width:0;height:0}.checkin-done-item{display:flex;align-items:center;gap:9px;padding:7px 4px;border-bottom:1px solid rgba(255,255,255,.05);opacity:0;animation:checkinDoneIn .4s ease-out forwards}.checkin-done-item:last-child{border-bottom:none}.checkin-done-check{flex-shrink:0;width:18px;height:18px;border-radius:50%;background:#22c55e;color:#fff;font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 3px #22c55e2e}.checkin-done-title{font-size:13px;font-weight:600;color:#ffffffeb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes checkinDoneIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.reward-bar{display:flex;align-items:center;gap:12px;margin:12px 16px 6px;background:var(--bg-surface);border:1.5px solid var(--border-light);border-radius:14px;padding:10px 14px;box-shadow:var(--shadow-sm)}.reward-bar-badge{flex-shrink:0;font-size:13px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--primary),#7c3aed);padding:6px 10px;border-radius:10px;letter-spacing:-.02em;box-shadow:0 2px 6px #4f46e559}.reward-bar-main{flex:1;min-width:0}.reward-bar-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.reward-bar-xp{font-size:12px;font-weight:700;color:var(--text-primary)}.reward-bar-today{font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reward-bar-track{position:relative;height:8px;border-radius:99px;background:var(--border-light);overflow:visible}.reward-bar-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--primary),#818cf8);transition:width .7s cubic-bezier(.34,1.4,.64,1)}.reward-bar-today-dot{position:absolute;top:50%;width:7px;height:7px;border-radius:50%;background:#34d399;border:1.5px solid var(--bg-surface);transform:translate(-50%,-50%);transition:left .7s cubic-bezier(.34,1.4,.64,1)}.routine-modal{max-height:90vh;overflow-y:auto}.days-selector{display:flex;justify-content:space-between;gap:4px;margin-top:8px}.day-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:linear-gradient(180deg,var(--surface),var(--surface-hover));color:var(--text-secondary);font-size:14px;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.2,.8,.2,1);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #00000005}.day-btn:hover{background:var(--surface-hover);transform:translateY(-1px);box-shadow:0 4px 8px #0000000d}.day-btn.selected{background:linear-gradient(135deg,var(--primary),#5c6bc0);color:#fff;border:none;box-shadow:0 4px 10px #3f51b559}.day-btn:active{transform:scale(.92)}.desktop-shell{--desktop-dock-h: 160px;display:flex;height:100%;width:100%;background:var(--bg-base);overflow:hidden}.desktop-sidebar{width:220px;flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-surface);border-right:1px solid var(--border-light);height:100%}.desktop-sidebar-logo{padding:18px 16px 14px;font-size:17px;font-weight:700;color:var(--primary);letter-spacing:.3px;border-bottom:1px solid var(--border-light);flex-shrink:0}.desktop-sidebar-nav{flex:1;padding:8px 8px 0;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.desktop-nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border:none;background:none;cursor:pointer;font-size:14px;font-weight:500;color:var(--text-secondary);border-radius:var(--radius-md);transition:all .15s;text-align:left;width:100%}.desktop-nav-item:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.desktop-nav-item.active{background:#ede9fe;color:var(--primary)}.desktop-nav-item svg{flex-shrink:0;opacity:.7}.desktop-nav-item.active svg{opacity:1}.desktop-nav-voice{margin-bottom:6px;color:var(--primary);background:#ede9fe;font-weight:600}.desktop-nav-voice svg{opacity:1}.desktop-nav-voice:hover{background:#ddd6fe;color:var(--primary)}.desktop-sidebar-bottom{padding:8px;border-top:1px solid var(--border-light);flex-shrink:0;height:var(--desktop-dock-h);box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-end;gap:2px}.desktop-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-surface);border-right:1px solid var(--border-light)}.desktop-cal-header{display:flex;align-items:center;gap:8px;padding:12px 20px;border-bottom:1px solid var(--border-light);flex-shrink:0}.desktop-cal-title{font-size:17px;font-weight:700;color:var(--text-primary);flex:1}.desktop-cal-nav-btn{background:none;border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:5px 10px;cursor:pointer;color:var(--text-secondary);font-size:14px;line-height:1;transition:all .15s}.desktop-cal-nav-btn:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.desktop-cal-today-btn{background:none;border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:5px 12px;cursor:pointer;color:var(--text-secondary);font-size:13px;font-weight:500;transition:all .15s}.desktop-cal-today-btn:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.desktop-cal-body{flex:1;overflow:hidden;display:flex;flex-direction:column;padding:0 12px}.desktop-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);padding:10px 0 6px;flex-shrink:0}.desktop-cal-weekday{text-align:center;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.desktop-cal-weekday:first-child{color:#ef4444}.desktop-cal-weekday:last-child{color:#3b82f6}.desktop-cal-grid{flex:1;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,1fr);gap:1px;background:var(--border-light);border:1px solid var(--border-light);border-radius:8px;overflow:hidden}.desktop-cal-cell{background:var(--bg-surface);padding:5px 6px;cursor:pointer;min-height:0;overflow:hidden;display:flex;flex-direction:column;transition:background .12s,box-shadow .12s}.desktop-cal-cell:hover{background:var(--bg-surface-hover)}.desktop-cal-cell.selected{background:#ede9fe;box-shadow:inset 0 0 0 2px var(--primary)}.desktop-cal-cell.today{background:#f5f3ff}.desktop-cal-cell.other-month{background:#f8fafc}.desktop-cal-cell.other-month .desktop-task-chip{opacity:.55}.desktop-cal-date{font-size:12px;font-weight:500;color:var(--text-primary);width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0;align-self:flex-start}.desktop-cal-cell.today .desktop-cal-date{background:var(--primary);color:#fff;font-weight:700}.desktop-cal-cell:nth-child(7n+1) .desktop-cal-date{color:#ef4444}.desktop-cal-cell:nth-child(7n) .desktop-cal-date{color:#3b82f6}.desktop-cal-cell.other-month .desktop-cal-date{color:#c3c9d2}.desktop-cal-cell.today .desktop-cal-date{color:#fff}.desktop-task-chips{display:flex;flex-direction:column;gap:2px;margin-top:2px;overflow:hidden;flex:1;min-height:0}.desktop-task-chip{font-size:13px;line-height:1.5;padding:3px 8px 3px 9px;border-radius:4px;background:#e0e7ff;color:#4338ca;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0;border-left:3px solid #6366f1;font-weight:500;cursor:pointer;transition:opacity .12s}.desktop-task-chip:hover{opacity:.8}.desktop-task-chip.overdue{background:#fee2e2;color:#b91c1c;border-left-color:#ef4444}.desktop-task-chip-more{font-size:11px;color:var(--text-muted);padding:0 5px}.desktop-organize-wrapper{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;max-width:880px;margin:0 auto;width:100%;padding:24px 32px 28px}.desktop-detail{width:420px;flex-shrink:0;display:flex;flex-direction:column;height:100%;background:var(--bg-surface);overflow:hidden}.desktop-detail-header{padding:18px 22px;border-bottom:1px solid var(--border-light);flex-shrink:0}.desktop-detail-date{font-size:20px;font-weight:700;color:var(--text-primary)}.desktop-detail-subtitle{font-size:14px;color:var(--text-muted);margin-top:3px}.desktop-detail-body{flex:1;overflow-y:auto;padding:4px 0}.desktop-detail-empty{padding:48px 22px;text-align:center;color:var(--text-muted);font-size:15px;line-height:1.7}.desktop-task-row{display:flex;align-items:flex-start;gap:14px;padding:13px 20px;border-bottom:1px solid var(--border-light);transition:background .12s;cursor:pointer}.desktop-task-row:last-child{border-bottom:none}.desktop-task-row:hover{background:var(--bg-surface-hover)}.desktop-task-check{width:24px;height:24px;border:2px solid var(--border-strong);border-radius:50%;flex-shrink:0;margin-top:1px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.desktop-task-check:hover{border-color:var(--primary)}.desktop-task-check.done{background:#22c55e;border-color:#22c55e}.desktop-task-check.in-progress{background:#f59e0b;border-color:#f59e0b}.desktop-task-info{flex:1;min-width:0}.desktop-task-name{font-size:16px;font-weight:500;color:var(--text-primary);line-height:1.4}.desktop-task-name.completed{text-decoration:line-through;color:var(--text-muted)}.desktop-task-meta-row{display:flex;gap:8px;margin-top:4px;flex-wrap:wrap;align-items:center}.desktop-task-time{font-size:13px;color:var(--text-muted)}.desktop-task-tag-badge{font-size:13px;color:var(--primary);background:#ede9fe;padding:2px 7px;border-radius:4px}.desktop-task-edit-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px 7px;border-radius:var(--radius-sm);font-size:13px;opacity:0;transition:opacity .15s,background .15s;flex-shrink:0;align-self:center}.desktop-task-row:hover .desktop-task-edit-btn{opacity:1}.desktop-task-edit-btn:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.desktop-detail-add{padding:14px 16px;border-top:1px solid var(--border-light);flex-shrink:0;height:var(--desktop-dock-h);box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;gap:10px}.desktop-quick-add{display:flex;gap:6px}.desktop-quick-add-input{flex:1;padding:7px 10px;border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:13px;outline:none;background:var(--bg-base);color:var(--text-primary);transition:border-color .15s;font-family:inherit}.desktop-quick-add-input::placeholder{color:var(--text-muted)}.desktop-quick-add-input:focus{border-color:var(--primary)}.desktop-quick-add-btn{background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s;font-family:inherit}.desktop-quick-add-btn:hover{background:var(--primary-hover)}.desktop-quick-add-btn:disabled{opacity:.5;cursor:not-allowed}.desktop-add-task-btn{width:100%;padding:9px 0;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:background .15s;font-family:inherit}.desktop-add-task-btn:hover{background:var(--primary-hover)}.desktop-addscreen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:200;display:flex;align-items:center;justify-content:center}.desktop-addscreen-modal{background:var(--bg-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-surface);width:720px;max-width:96vw;height:85vh;max-height:860px;display:flex;flex-direction:column;overflow:hidden}.desktop-addscreen-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border-light);font-size:15px;font-weight:700;color:var(--text-primary);flex-shrink:0}.desktop-addscreen-body{flex:1;overflow:hidden;display:flex;flex-direction:column}.desktop-edit-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:300;display:flex;align-items:center;justify-content:center}.desktop-edit-popup{background:var(--bg-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-surface);width:480px;max-width:96vw;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.desktop-edit-popup-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border-light);font-size:15px;font-weight:700;color:var(--text-primary);flex-shrink:0}.desktop-edit-popup-body{flex:1;min-height:0;overflow:hidden;padding:0;display:flex;flex-direction:column}.desktop-nav-badge{margin-left:auto;background:#ef4444;color:#fff;font-size:11px;font-weight:700;line-height:1;padding:3px 6px;border-radius:999px;flex-shrink:0}.desktop-sidebar-section{display:flex;align-items:center;justify-content:space-between;padding:16px 12px 6px}.desktop-sidebar-section-label{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px}.desktop-sidebar-section-action{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:2px;border-radius:var(--radius-sm);display:flex;align-items:center;transition:all .15s}.desktop-sidebar-section-action:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.desktop-project-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;display:inline-block}.desktop-project-item .desktop-project-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.desktop-project-empty{padding:6px 12px;font-size:12px;color:var(--text-muted)}.desktop-project-exit{color:var(--primary);font-weight:600}.desktop-organize-wrapper .chat-layout{border:1px solid var(--border-light);border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 4px 24px #4f46e50f}.desktop-addscreen-body .chat-avatar-section,.desktop-organize-wrapper .chat-avatar-section{flex-direction:row;align-items:center;gap:0;padding:20px 24px 10px}.desktop-addscreen-body .chat-avatar-circle,.desktop-organize-wrapper .chat-avatar-circle{width:56px;height:56px}.desktop-addscreen-body .chat-speech-tail,.desktop-organize-wrapper .chat-speech-tail{border-left:none;border-top:10px solid transparent;border-bottom:10px solid transparent;border-right:12px solid var(--primary);margin-top:0;margin-left:10px;margin-right:-1px}.desktop-addscreen-body .chat-speech-bubble,.desktop-organize-wrapper .chat-speech-bubble{width:auto;flex:1;margin-top:0;justify-content:flex-start;text-align:left;border-radius:14px;padding:14px 18px;min-height:56px}.desktop-addscreen-body .chat-messages,.desktop-organize-wrapper .chat-messages{padding:14px 24px 8px;gap:10px}.desktop-addscreen-body .chat-bubble,.desktop-organize-wrapper .chat-bubble{max-width:65%}.desktop-addscreen-body .chat-input-area,.desktop-addscreen-body .chat-choices-area,.desktop-organize-wrapper .chat-input-area,.desktop-organize-wrapper .chat-choices-area{padding:16px clamp(24px,calc((100% - 640px)/2),140px) 20px}.desktop-addscreen-body .add-choice-btn:hover,.desktop-organize-wrapper .add-choice-btn:hover{border-color:var(--primary);background:#f5f3ff}.desktop-addscreen-body .add-submit-btn:hover:not(:disabled),.desktop-organize-wrapper .add-submit-btn:hover:not(:disabled){filter:brightness(1.07)}.desktop-addscreen-body .add-big-textarea:focus,.desktop-organize-wrapper .add-big-textarea:focus{border-color:var(--primary);background:#fff}.desktop-organize-wrapper .org-landing-content{max-width:640px;margin:0 auto;width:100%}.desktop-organize-wrapper .org-start-btn{transition:transform .15s,box-shadow .15s}.desktop-organize-wrapper .org-start-btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px #4f46e566}.desktop-organize-wrapper .org-task-card{max-width:640px;margin-left:auto;margin-right:auto;align-self:stretch}.desktop-cal-toggle{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.desktop-cal-toggle input{accent-color:var(--primary);cursor:pointer}.desktop-cal-project-badge{display:inline-flex;align-items:center;gap:6px;margin-left:10px;font-size:12px;font-weight:600;padding:3px 10px;border:1px solid;border-radius:999px;vertical-align:middle}.desktop-cal-cell.drag-over{background:#ede9fe;box-shadow:inset 0 0 0 2px var(--primary)}.desktop-task-chip{cursor:grab}.desktop-task-chip:active{cursor:grabbing}.desktop-task-chip.completed{text-decoration:line-through;opacity:.55;background:var(--bg-surface-hover);color:var(--text-muted);border-left-color:var(--border-strong)}.desktop-cal-tray{flex-shrink:0;border-top:1px solid var(--border-light);margin:10px -12px 0;padding:12px 16px;height:var(--desktop-dock-h);box-sizing:border-box;display:flex;flex-direction:column;transition:background .12s,outline .12s}.desktop-cal-tray.drag-over{background:#ede9fe;outline:2px dashed var(--primary);outline-offset:-2px}.desktop-cal-tray-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.desktop-tray-tabs{display:inline-flex;background:var(--bg-base);border:1px solid var(--border-light);border-radius:999px;padding:2px;gap:2px;flex-shrink:0}.desktop-tray-tab{display:inline-flex;align-items:center;gap:5px;border:none;background:none;cursor:pointer;font-size:12px;font-weight:600;color:var(--text-muted);padding:4px 12px;border-radius:999px;transition:all .15s;font-family:inherit}.desktop-tray-tab:hover{color:var(--text-primary)}.desktop-tray-tab.active{background:var(--primary);color:#fff}.desktop-tray-count{background:#ffffff40;font-size:10px;font-weight:700;line-height:1;padding:2px 6px;border-radius:999px}.desktop-tray-tab:not(.active) .desktop-tray-count{background:var(--primary);color:#fff}.desktop-cal-tray-hint{font-size:12px;font-weight:400;color:var(--text-muted)}.desktop-cal-tray-chips{display:flex;flex-wrap:wrap;align-content:flex-start;gap:8px;margin-top:10px;flex:1;min-height:0;overflow-y:auto}.desktop-cal-tray-empty{font-size:12px;color:var(--text-muted);padding:2px 4px}.desktop-tray-chip{max-width:280px;display:inline-flex;align-items:center;gap:8px;position:relative;padding:11px 14px;font-size:13.5px;border:1px solid var(--border-light);border-left-width:3px;border-radius:10px;min-height:44px;box-sizing:border-box;box-shadow:0 1px 4px #0000000d}.desktop-tray-chip.routine-off{opacity:.45}.desktop-tray-chip-badge{font-size:10px;font-weight:700;background:var(--primary);color:#fff;padding:1px 6px;border-radius:999px;flex-shrink:0}.desktop-tray-chip-badge--routine{background:none;padding:0;font-size:12px}.desktop-tray-chip-meta{font-size:10.5px;font-weight:400;color:var(--text-muted);flex-shrink:0}.desktop-tray-chip-x{border:none;background:none;color:var(--text-muted);font-size:14px;line-height:1;padding:0 2px;cursor:pointer;border-radius:4px;opacity:0;transition:opacity .12s,color .12s;flex-shrink:0;font-family:inherit}.desktop-tray-chip:hover .desktop-tray-chip-x{opacity:1}.desktop-tray-chip-x:hover{color:#ef4444}.desktop-shell .date-picker-overlay{align-items:center;justify-content:center;padding:32px}.desktop-shell .date-picker-sheet{width:480px;max-width:92vw;max-height:86vh;border-radius:24px}.desktop-routine-schedule-btn{display:flex;align-items:center;gap:6px;background:#ede9fe;color:var(--primary);border:1px solid #ddd6fe;border-radius:999px;padding:6px 13px;font-size:12.5px;font-weight:600;cursor:pointer;flex-shrink:0;transition:all .15s;font-family:inherit}.desktop-routine-schedule-btn:hover{background:#ddd6fe}.desktop-detail-add .desktop-quick-add{margin-bottom:0}.desktop-routine-scroll{flex:1;overflow-y:auto}.desktop-routine-page{max-width:760px;margin:0 auto;width:100%;padding:24px 24px 48px;display:flex;flex-direction:column;gap:32px}.desktop-routine-section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px}.desktop-routine-section-header h2{font-size:17px;font-weight:700;color:var(--text-primary);margin:0 0 4px}.desktop-routine-section-header p{font-size:13px;color:var(--text-muted);margin:0;line-height:1.5}.desktop-routine-add-btn{width:auto;padding:8px 16px;white-space:nowrap;flex-shrink:0}.desktop-routine-list{border:1px solid var(--border-light);border-radius:var(--radius-md);overflow:hidden}.desktop-routine-empty{padding:28px 20px;text-align:center;font-size:13px;color:var(--text-muted)}.desktop-routine-row{display:flex;align-items:center;gap:14px;padding:13px 16px;border-bottom:1px solid var(--border-light);transition:background .12s}.desktop-routine-row:last-child{border-bottom:none}.desktop-routine-row:hover{background:var(--bg-surface-hover)}.desktop-routine-row.inactive .desktop-routine-title,.desktop-routine-row.inactive .desktop-routine-meta{opacity:.45}.desktop-routine-toggle{width:36px;height:20px;border-radius:999px;border:none;background:var(--border-strong);position:relative;cursor:pointer;flex-shrink:0;transition:background .15s;padding:0}.desktop-routine-toggle.on{background:var(--primary)}.desktop-routine-toggle-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s}.desktop-routine-toggle.on .desktop-routine-toggle-knob{transform:translate(16px)}.desktop-routine-info{flex:1;min-width:0;cursor:pointer}.desktop-routine-title{font-size:15px;font-weight:600;color:var(--text-primary)}.desktop-routine-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:3px;font-size:12.5px;color:var(--text-muted)}.desktop-routine-edit-btn{opacity:0}.desktop-routine-row:hover .desktop-routine-edit-btn{opacity:1}.desktop-login-shell{display:flex;align-items:center;justify-content:center;height:100%;background:var(--bg-base)}.desktop-login-card{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:48px 40px;box-shadow:var(--shadow-surface);text-align:center;min-width:340px}.desktop-login-card h1{font-size:22px;font-weight:700;color:var(--primary);margin-bottom:8px}.desktop-login-card p{font-size:14px;color:var(--text-secondary);margin-bottom:32px;line-height:1.5}
