/* A particle follows the perimeter instead of oscillating along one edge. */
@media(prefers-reduced-motion:no-preference){body:not(.p-no-motion) .day-plan-panel:before{width:7px!important;height:3px!important;left:0!important;top:0!important;offset-path:rect(0 100% 100% 0);offset-distance:0%;animation:electron-lap 9s linear infinite!important;background:#dcf7ff!important;box-shadow:0 0 5px #fff,0 0 14px #75cfff!important}body:not(.p-no-motion) .workspace-tabs .selected:after{animation:none!important}body:not(.p-no-motion) .screen-home .p-hero:after{animation:none!important}}@keyframes electron-lap{to{offset-distance:100%}}
#os-boot{position:fixed;inset:0;z-index:9999;background:#030a10f7;display:grid;place-items:center;overflow:hidden;animation:boot-reveal .25s ease-out}.boot-core{width:min(78vw,520px);z-index:1}.boot-core>small{font:11px monospace;letter-spacing:.15em;color:#87afc4}.boot-core>strong{display:block;font:clamp(35px,9vw,64px) monospace;letter-spacing:.08em;color:#e7f9ff;margin:20px 0;animation:boot-lock .6s ease-out both}.boot-core>strong span{color:#80b6d0}.boot-core>p{font:11px monospace;letter-spacing:.12em;color:#a5cbdf}.boot-track{height:3px;background:#15313f}.boot-track i{display:block;height:100%;background:#cdf4ff;box-shadow:0 0 22px #8fddff;animation:boot-charge 1.8s cubic-bezier(.2,.6,.3,1) both}.boot-axis{position:absolute;inset:12%;border:1px solid #8fd7ff26;animation:boot-frame 1s ease-out both}.boot-axis:before,.boot-axis:after{content:'';position:absolute;background:#bbeaff;box-shadow:0 0 25px #66bded}.boot-axis:before{height:1px;left:-40vw;right:-40vw;top:50%}.boot-axis:after{width:1px;top:-40vh;bottom:-40vh;left:50%;opacity:.25}#os-boot>button{position:absolute;bottom:calc(42px + env(safe-area-inset-bottom));right:24px;background:transparent;color:#c8e5f4;border:1px solid #95c9e34a;border-radius:0;font:12px monospace;min-height:44px}@keyframes boot-charge{0%{width:0}40%{width:32%}65%{width:36%}100%{width:100%}}@keyframes boot-lock{from{opacity:0;letter-spacing:.35em;filter:blur(5px)}to{opacity:1;letter-spacing:.08em;filter:blur(0)}}@keyframes boot-frame{from{transform:scale(.7,.02);opacity:0}to{transform:scale(1);opacity:1}}@keyframes boot-reveal{from{opacity:0}to{opacity:1}}
.calendar-controls{display:flex;align-items:center;gap:8px;margin:0 0 12px}.calendar-controls label{flex:1;margin:0;min-width:0}.calendar-controls input{width:100%;border:0;background:transparent;font-size:16px;padding:6px}.calendar-controls button{padding:6px 12px!important;min-width:40px}.clean-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.clean-calendar>span{text-align:center;font-size:11px;color:#87a1b3}.clean-calendar button{min-height:42px;padding:5px!important;border:0!important;background:transparent!important;color:#d0e0ea!important;position:relative;font-size:15px}.clean-calendar button.selected{background:#b3ddee25!important;outline:1px solid #b4dcec}.clean-calendar button.is-today{color:#fff!important;box-shadow:inset 0 -2px #bce9ff!important}.clean-calendar button i{position:absolute;bottom:4px;width:3px;height:3px;left:calc(50% - 1px);background:#aed8e9}.selected-day{margin-top:18px;border-top:1px solid #93bfd445;padding-top:14px}.selected-day h2{font-size:16px}.day-agenda{max-height:230px;overflow:auto}.agenda-item{display:flex;gap:14px;align-items:center;width:100%;text-align:left;background:transparent!important;border:0!important;border-bottom:1px solid #a0c1d123!important;padding:14px 4px!important}.agenda-item time{font:13px monospace;color:#8fb6ce;min-width:46px}.agenda-item span{flex:1;overflow-wrap:anywhere;font-size:15px}.agenda-item.done span{text-decoration:line-through}.calendar-workspace{padding-top:4px}
.memo-title-row{display:flex;align-items:center;gap:8px;margin:22px 0}.memo-title-row h1{flex:1;margin:0;font-size:28px;letter-spacing:0;font-family:inherit}.memo-title-row button{font-size:13px!important}.memo-search{display:flex;align-items:center;gap:10px;border-bottom:1px solid #90b6cf55;background:#8db5ce09;padding:4px 12px;margin:0 0 14px}.memo-search input{border:0;background:transparent;min-width:0;width:100%;outline-offset:0}.memo-list{max-height:calc(100dvh - 340px);overflow:auto;scrollbar-width:thin}.memo-list-item{display:block;width:100%;text-align:left;background:transparent!important;border:0!important;border-bottom:1px solid #91b5ca2a!important;padding:18px 4px!important}.memo-list-item strong{display:block;font-size:17px;font-weight:550!important;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.memo-list-item small{display:block;color:#8fa6b6;font-size:14px;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.memo-count{text-align:center;font-size:12px;color:#829aa9}.memo-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:18px 0}.memo-toolbar span{font-size:12px;color:#87a4b5}.memo-editor input#memo-title{font-size:26px;font-weight:550;border:0;background:transparent;padding:16px 0;width:100%}.memo-editor textarea#memo-body{height:calc(100dvh - 360px);min-height:180px;resize:none;border:0;background:transparent;padding:12px 0;line-height:1.8;font-size:17px;width:100%}.memo-actions{display:flex;gap:8px;border-top:1px solid #9dc2d52c;padding-top:12px}.memo-actions button{font-size:13px!important}.memo-editor{max-width:760px;margin:auto}.memo-editor input:focus,.memo-editor textarea:focus{outline:0;border-bottom:1px solid #9fcce3}.memo-switch{margin-top:16px}
/* 05.4: stacked home, quiet motion, and folders. */
.screen-home .home-panel-tabs{display:none!important}#app.screen-home .p-columns{display:flex!important;flex-direction:column;gap:18px}#app.screen-home .p-columns>section{display:block!important;width:100%}#app.screen-home .daily-todos{max-height:360px;min-height:140px;margin:0}.screen-home .daily-timeline{height:clamp(190px,28dvh,300px)}
#app.screen-home .p-hero{isolation:isolate}.p-hero>.city-live{position:absolute!important;inset:-3%;z-index:-2;background:url('assets/city.webp') center 58% / cover;pointer-events:none}.p-hero:before{z-index:-1}.p-hero:after{z-index:0}.p-hero>div:not(.city-live){z-index:1;position:relative}.p-quote.quote-awake span{opacity:0;filter:none!important;animation:quote-appear .01s step-end forwards}@keyframes quote-appear{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:no-preference){body:not(.p-no-motion) .day-plan-panel:before{animation-duration:30s!important}body:not(.p-no-motion) .city-live{animation:city-camera 48s ease-in-out infinite alternate;will-change:transform}}@keyframes city-camera{from{transform:translate3d(-.45%,.25%,0) scale(1.025)}to{transform:translate3d(.45%,-.25%,0) scale(1.04)}}
.p-no-motion .city-live{animation:none!important}.p-no-motion .p-quote span{opacity:1!important;filter:none!important}
.wake-hud{width:min(72vw,340px);height:min(72vw,340px);position:absolute;top:calc(50% - 220px);animation:wake-materialize 1.2s cubic-bezier(.2,.6,.3,1) both}.wake-hud svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 9px #79c9f344)}.wake-ring{fill:none;stroke:#b5eaff;stroke-width:1;transform-origin:160px 160px}.wake-ring.outer{stroke-dasharray:140 28 8 20;animation:wake-spin 14s linear infinite}.wake-ring.middle{stroke:#70a8c4;stroke-dasharray:4 10;animation:wake-spin 22s linear infinite reverse}.wake-ring.inner{stroke-dasharray:160 123;stroke-width:2;animation:wake-spin 9s linear infinite}.wake-cross{stroke:#75afce;stroke-width:1}.wake-center{fill:#e0f8ff;filter:drop-shadow(0 0 10px #bbeaff)}.wake-caption{position:absolute;top:calc(50% + 125px);text-align:center;animation:wake-caption .8s .7s both}.wake-caption small{font:10px monospace;letter-spacing:.18em;color:#87acc1}.wake-caption p{font-size:21px;font-weight:300;color:#d1eaf7;letter-spacing:.02em;margin:16px 0}@keyframes wake-spin{to{transform:rotate(360deg)}}@keyframes wake-materialize{from{opacity:0;transform:scale(.3);filter:blur(12px)}to{opacity:1;transform:scale(1);filter:blur(0)}}@keyframes wake-caption{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
.folder-filter label,.memo-folder-select{display:flex;align-items:center;gap:14px;font-size:12px;color:#8eaabe;margin:0 0 12px}.folder-filter select,.memo-folder-select select{flex:1;min-width:0;font-size:14px;background:#96c5dd07;border:1px solid #8bb9d32d;padding:9px 12px}.folder-edit-row{border-bottom:1px solid #83b3d034;padding:10px 0}.folder-edit-row input[type=checkbox]{width:18px!important;height:18px!important}.journal-section{margin-top:26px;border-top:1px solid #a5d3e760;border-bottom:1px solid #a5d3e730;padding:22px 0}.journal-section h2{font-size:24px;font-weight:500;margin:0}.journal-records{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:55px;text-align:left;background:transparent!important;border:0!important;border-top:1px solid #98c2d426!important;padding:14px 0!important;font-size:15px}.screen-notes .memo-list{max-height:clamp(160px,32dvh,350px)}
@media(prefers-reduced-motion:reduce){.city-live{animation:none!important}.p-quote.quote-awake span{opacity:1;filter:none;animation:none!important}}

.p-quote,.p-quote span{filter:none!important;text-shadow:none!important}

.p-quote span{opacity:1!important;animation:none!important;filter:none!important}
/* Visible but gentle movement; keep text on a separate, stationary layer. */
@media(prefers-reduced-motion:no-preference){body:not(.p-no-motion):not(.motion-off) .p-hero>.city-live{animation:city-camera-visible 20s ease-in-out infinite alternate!important;transform-origin:center;backface-visibility:hidden}}@keyframes city-camera-visible{from{transform:translate3d(-1.8%,.6%,0) scale(1.065)}to{transform:translate3d(1.8%,-.6%,0) scale(1.095)}}
