/* JESSIE v0.5.2 · SPRINT 02 COSMIC AURORA DESIGN LOCK
 * Mobile: reference-inspired, lightweight; desktop: cinematic.
 * These rules enhance existing functional DOM, never replace it with an image.
 */
:root{--s2-cyan:#29e7f6;--s2-violet:#a64cff;--s2-blue:#507bff;--s2-pink:#f26cef;--s2-paper:#f9f6ff;--s2-outline:rgba(125,164,249,.34)}
html{color-scheme:dark}
.s2-screen{isolation:isolate}
body[data-s2-page] .topbar{position:relative;z-index:3}
body[data-s2-page] .brandmark{text-shadow:0 0 18px rgba(56,227,244,.45)}
body[data-s2-page] .gradient-text{background-image:linear-gradient(93deg,#39effa 1%,#a567ff 54%,#ff71d1);filter:drop-shadow(0 0 14px rgba(170,75,255,.12))}
body[data-s2-page] .glass.s2-glass{border-color:rgba(122,125,244,.36);background:linear-gradient(130deg,rgba(13,28,73,.9),rgba(10,13,54,.94) 65%,rgba(30,11,71,.89));box-shadow:0 12px 30px rgba(4,3,32,.25),inset 0 1px 0 rgba(203,183,255,.09)}
body[data-s2-page] .glass.s2-glass h3{color:#f7f6ff;font-weight:800}
body[data-s2-page] .glass.s2-glass h3:before{content:'✧';color:var(--s2-cyan);font-size:1.12em;margin-right:.55em}
body[data-s2-page] #screen>.eyebrow{margin-top:7px}
body[data-s2-page] .page-title{line-height:1.03;letter-spacing:-.045em}
body[data-s2-page] .topbar .right-actions .icon-btn{border-color:rgba(83,141,241,.55)}
body[data-s2-page] .primary{background:linear-gradient(107deg,#c14df2,#6e52f4 57%,#03d2e2);border-color:#c1adff;box-shadow:0 8px 19px rgba(158,60,253,.26)}
body[data-s2-page] .secondary:hover,body[data-s2-page] .chip:hover{border-color:#51e4f3}
body[data-s2-page] .nav-btn.active{box-shadow:0 0 18px rgba(102,50,230,.24),inset 0 0 16px rgba(23,120,230,.15)}
body[data-s2-page] .command{box-shadow:0 0 0 1px rgba(58,234,241,.09),0 13px 38px rgba(90,42,248,.26)}
/* Shared editorial modules */
.s2-section{border:1px solid rgba(122,124,241,.41);background:linear-gradient(128deg,rgba(10,23,70,.96),rgba(17,15,62,.94) 60%,rgba(43,16,91,.9));border-radius:23px;padding:20px;margin:0 0 18px;box-shadow:inset 0 1px rgba(194,182,255,.11),0 17px 40px rgba(3,1,28,.28);position:relative;overflow:hidden}
.s2-section:before{content:'';position:absolute;inset:0 auto auto 0;height:2px;width:75%;background:linear-gradient(90deg,rgba(37,218,236,.75),rgba(183,66,255,.65),transparent);pointer-events:none}
.s2-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.s2-section-head h2{font-size:1.18rem;letter-spacing:-.03em;margin:0 0 4px}
.s2-section-head p{font-size:.74rem;color:#b4c2eb;margin:0;line-height:1.5}
.s2-wita{flex-shrink:0;display:grid;text-align:right;border:1px solid rgba(90,204,243,.3);border-radius:13px;padding:9px 12px;background:rgba(11,45,89,.48)}
.s2-wita-clock{color:#6beeff;font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:850;letter-spacing:.01em}
.s2-wita small{font-size:.61rem;letter-spacing:.16em;color:#c5b4ed}
.s2-kicker,.s2-label{display:block;font-size:.64rem;text-transform:uppercase;letter-spacing:.11em;color:#85e8f9;font-weight:800}
.s2-note{font-size:.72rem;color:#b3bfec;line-height:1.45}
.s2-metric{min-width:0;padding:12px 14px;border-radius:15px;border:1px solid rgba(120,144,238,.31);background:linear-gradient(145deg,rgba(13,41,86,.54),rgba(23,15,65,.65));display:flex;flex-direction:column;gap:5px}
.s2-metric.is-accent{background:linear-gradient(145deg,rgba(54,26,115,.62),rgba(13,57,94,.5));border-color:rgba(156,97,251,.53)}
.s2-metric-value{font-size:clamp(1.15rem,1.9vw,1.45rem);color:#f5f8ff;letter-spacing:-.02em;overflow-wrap:anywhere}
.s2-button{border:1px solid rgba(73,221,255,.5);background:rgba(19,38,91,.76);color:#a8f5ff;border-radius:12px;min-height:42px;padding:9px 14px;font-size:.78rem;font-weight:700}
.s2-button:hover{border-color:#a971ff;background:rgba(69,32,127,.55)}
.s2-button:focus-visible,.s2-explore-tile:focus-visible{outline:3px solid #7af0ff;outline-offset:3px}
.s2-empty{font-size:.83rem;color:#bcc7e8;line-height:1.65}
.s2-helper-note{font-size:.72rem;color:#aebde0;margin:12px 0 18px;line-height:1.6}
/* Home: daily schedule is the first real-data panel */
body[data-s2-page="home"] .s2-hero{padding-bottom:17px}
body[data-s2-page="home"] .s2-hero h1{font-size:clamp(42px,5.4vw,76px);margin:7px 0}
body[data-s2-page="home"] .s2-section.s2-day{margin-bottom:22px}
.s2-day-body{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:16px}
.s2-focus-next{border:1px solid rgba(134,96,255,.5);border-radius:20px;min-height:190px;padding:20px;background:linear-gradient(145deg,rgba(13,38,89,.52),rgba(29,12,86,.4)),url('./assets/planet-reference.webp') center/cover;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:9px;position:relative}
.s2-focus-next:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(4,10,46,.87));border-radius:inherit;pointer-events:none}
.s2-focus-next>*{position:relative;z-index:1}
.s2-focus-next strong{max-width:23ch;font-size:1.35rem;line-height:1.13;letter-spacing:-.03em;text-shadow:0 2px 9px rgba(0,0,0,.6)}
.s2-focus-next .s2-note{color:#e1e2f8}
.s2-focus-next .s2-button{margin-top:1px}
.s2-timeline{position:relative;border:1px solid rgba(106,154,244,.32);border-radius:18px;background:rgba(4,18,61,.52);padding:13px 15px;min-width:0}
.s2-timeline-event{display:grid;grid-template-columns:48px 14px minmax(0,1fr);gap:8px;align-items:start;min-height:53px;position:relative}
.s2-timeline-event:not(:last-child):before{position:absolute;content:'';left:54px;top:16px;bottom:-4px;width:1px;background:linear-gradient(#b75dff,#23e9fa);opacity:.55}
.s2-event-time{color:#80eaff;font-size:.73rem;font-variant-numeric:tabular-nums;padding-top:3px;font-weight:800}
.s2-event-dot{display:block;width:9px;height:9px;border-radius:50%;margin:5px 0;background:#ac6eff;box-shadow:0 0 0 3px rgba(141,59,234,.13),0 0 10px rgba(130,86,255,.45)}
.s2-timeline-event:nth-child(2n) .s2-event-dot{background:#25dbed}
.s2-event-detail{min-width:0;padding-bottom:12px}
.s2-event-detail strong{display:block;font-size:.81rem;overflow-wrap:anywhere}
.s2-event-detail small{display:block;color:#b4c5e6;margin-top:5px;font-size:.68rem}
.s2-home-pulse{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.s2-conflict-message{display:flex;align-items:center;gap:13px;justify-content:space-between;margin-top:14px;background:rgba(115,44,132,.19);border:1px solid rgba(234,111,171,.55);padding:12px 15px;border-radius:12px;font-size:.79rem}
/* Schedule: hybrid agenda info */
.s2-ribbon-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 3px}
.s2-ribbon-stats .s2-metric{background:linear-gradient(125deg,rgba(25,33,93,.9),rgba(51,20,108,.78))}
.s2-schedule-action{min-height:46px}
.s2-schedule-grid .glass{scroll-margin-top:15px}
/* Academic: real progress orbit, never infer grades */
.s2-academic-orbit{display:grid;grid-template-columns:160px minmax(0,1fr);gap:22px;align-items:center;border:1px solid rgba(88,184,251,.42);background:linear-gradient(120deg,rgba(13,37,84,.87),rgba(32,15,79,.8));padding:20px;border-radius:23px;margin:22px 0 8px}
.s2-progress-ring{--s2-progress:0%;height:156px;width:156px;border-radius:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:8px solid transparent;background:linear-gradient(#07163d,#11114c) padding-box,conic-gradient(#37ebf7 var(--s2-progress),#29345d var(--s2-progress)) border-box;box-shadow:0 0 26px rgba(31,154,229,.23)}
.s2-progress-ring strong{font-size:2rem;letter-spacing:-.05em}
.s2-progress-ring small{font-size:.66rem;color:#b9c2e9}
.s2-academic-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
/* Finance: true transaction distribution only */
.s2-finance-inner{display:grid;grid-template-columns:minmax(160px,.65fr) minmax(0,1.35fr);gap:24px;align-items:center}
.s2-finance-donut{width:min(210px,100%);aspect-ratio:1;border-radius:100%;margin:auto;display:grid;place-items:center;padding:14px;box-shadow:0 0 25px rgba(123,54,224,.3);background:conic-gradient(#9c4af2 0 0%,#2a3663 0)}
.s2-finance-donut.is-empty{background:#243366}
.s2-donut-center{width:100%;height:100%;border-radius:100%;background:radial-gradient(circle at 30% 25%,#1c2866,#061338 67%);display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;text-align:center;padding:10px}
.s2-donut-center small{color:#abcbef;font-size:.67rem}
.s2-donut-center strong{color:#f8f9ff;font-size:clamp(1.05rem,2.3vw,1.35rem)}
.s2-donut-center span{font-size:.66rem;color:#99afd7}
.s2-finance-legend{min-width:0}
.s2-finance-legend>strong{display:block;margin-bottom:14px;font-size:.9rem}
.s2-legend-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid rgba(157,166,246,.18);font-size:.78rem}
.s2-legend-row b{color:#edeeff;white-space:nowrap}
.s2-legend-name{display:flex;align-items:center;gap:9px;min-width:0;overflow-wrap:anywhere}
.s2-legend-name i{width:8px;height:8px;flex:0 0 8px;border-radius:50%}
.s2-finance-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}
/* Explore: interactive directory into existing real cards */
.s2-explore-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.s2-explore-tile{display:flex;align-items:center;gap:12px;min-width:0;text-align:left;border-radius:15px;border:1px solid rgba(99,166,236,.38);padding:15px;background:linear-gradient(130deg,rgba(11,40,88,.73),rgba(45,18,103,.66));color:#fff;min-height:105px}
.s2-explore-tile:hover{border-color:#ab70ff;background:linear-gradient(110deg,rgba(15,50,96,.84),rgba(67,23,130,.74))}
.s2-explore-icon{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:13px;border:1px solid rgba(61,228,239,.55);background:rgba(8,69,111,.52);font-size:1.4rem;color:#60eefa}
.s2-explore-copy{display:flex;min-width:0;flex-direction:column;gap:6px}
.s2-explore-copy strong{font-size:.88rem}
.s2-explore-copy small{font-size:.7rem;line-height:1.45;color:#b9c9ee}
.s2-explore-arrow{margin-left:auto;font-size:1.5rem;color:#75e9ef}
/* Form reference lock */
body[data-s2-page] .dialog{border-color:rgba(195,106,255,.82);box-shadow:0 25px 70px rgba(5,2,30,.78),0 0 33px rgba(114,49,232,.23)}
body[data-s2-page] .dialog h2{letter-spacing:-.03em}
body[data-s2-page] .field input,body[data-s2-page] .field select,body[data-s2-page] .field textarea{border-color:rgba(96,139,231,.6);background:rgba(7,25,65,.85);min-height:47px}
body[data-s2-page] .field input:focus,body[data-s2-page] .field select:focus,body[data-s2-page] .field textarea:focus{border-color:#66e6ff}
body[data-s2-page] .dialog .primary{width:100%;min-height:49px}
@media(min-width:761px){
 body.experience-desktop:not(.lite) .s2-section{animation:s2-reveal .4s ease-out both}
 body.experience-desktop:not(.lite) .s2-explore-tile{transition:transform .25s ease,border-color .25s ease}
 body.experience-desktop:not(.lite) .s2-explore-tile:hover{transform:translateY(-2px)}
 body.experience-desktop:not(.lite) .s2-metric{transition:border-color .22s ease}
 body.experience-desktop:not(.lite) .s2-metric:hover{border-color:rgba(191,115,255,.66)}
}
@keyframes s2-reveal{from{opacity:.65;transform:translate3d(0,10px,0)}to{opacity:1;transform:none}}
@media(max-width:980px){
 .s2-day-body{grid-template-columns:1fr}
 .s2-finance-inner{grid-template-columns:180px minmax(0,1fr)}
 .s2-academic-metrics{grid-template-columns:1fr}
}
@media(max-width:760px){
 body[data-s2-page] .topbar{height:61px;padding:8px 14px}
 body[data-s2-page] .brand.mobile-brand b{font-size:.9rem;letter-spacing:.15em}
 body[data-s2-page] #screen{padding:11px 13px calc(96px + env(safe-area-inset-bottom))}
 body[data-s2-page] .eyebrow{font-size:.65rem;letter-spacing:.14em}
 body[data-s2-page] .hero h1{font-size:clamp(34px,10vw,43px)}
 body[data-s2-page] .page-title{font-size:clamp(29px,8.1vw,37px)}
 body[data-s2-page] .lead{font-size:.77rem;line-height:1.45}
 body[data-s2-page] .glass.s2-glass{border-radius:17px;padding:14px;background:linear-gradient(145deg,rgba(6,21,59,.97),rgba(14,12,53,.97));box-shadow:0 5px 15px rgba(4,5,29,.18);backdrop-filter:none!important}
 body[data-s2-page] .glass.s2-glass h3{font-size:.85rem;margin-bottom:13px}
 body[data-s2-page] .nav-btn.active .navicon{color:#4feefe}
 body[data-s2-page] .bottom-nav{box-shadow:0 -8px 20px rgba(3,7,27,.75);background:#040c2ef8;backdrop-filter:none!important}
 body[data-s2-page] .bottom-nav .nav-btn{font-size:.67rem;min-height:50px}
 body[data-s2-page] .command{border-radius:17px;gap:6px;margin:12px 0;padding:6px}
 body[data-s2-page] .command input{font-size:.73rem;padding:9px}
 body[data-s2-page] .command button{padding:11px;font-size:.7rem}
 body[data-s2-page] .chips{gap:6px}
 body[data-s2-page] .chips .chip{font-size:.72rem;padding:9px}
 .s2-section{border-radius:18px;padding:13px;box-shadow:0 6px 16px rgba(6,3,34,.22);margin-bottom:12px}
 .s2-section-head{align-items:flex-start}
 .s2-section-head h2{font-size:1.02rem}
 .s2-section-head p{font-size:.67rem}
 .s2-wita{padding:7px 9px}
 .s2-wita-clock{font-size:1.0rem}
 .s2-day-body{grid-template-columns:1fr;gap:10px}
 .s2-focus-next{min-height:134px;padding:14px;border-radius:14px}
 .s2-focus-next strong{font-size:1.0rem;max-width:none}
 .s2-focus-next .s2-note{font-size:.68rem}
 .s2-timeline{padding:10px 12px;border-radius:14px}
 .s2-timeline-event{min-height:49px}
 .s2-home-pulse{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .s2-home-pulse .s2-metric:nth-child(3){grid-column:1/-1}
 .s2-metric{padding:10px 11px;border-radius:12px}
 .s2-metric-value{font-size:1.02rem}
 .s2-metric .s2-note{font-size:.67rem}
 .s2-ribbon-stats{gap:7px;margin:13px 0 3px}
 .s2-ribbon-stats .s2-metric{padding:10px 8px}
 .s2-ribbon-stats .s2-note{font-size:.62rem}
 .s2-academic-orbit{grid-template-columns:105px minmax(0,1fr);padding:13px;gap:13px;margin:14px 0 4px;border-radius:16px}
 .s2-progress-ring{width:100px;height:100px;border-width:6px}
 .s2-progress-ring strong{font-size:1.45rem}
 .s2-academic-metrics{grid-template-columns:1fr;gap:6px}
 .s2-academic-metrics .s2-metric{padding:7px 10px;gap:1px}
 .s2-academic-metrics .s2-metric .s2-note{display:none}
 .s2-finance-inner{grid-template-columns:1fr;gap:12px}
 .s2-finance-donut{width:168px}
 .s2-finance-summary{grid-template-columns:1fr 1fr;gap:8px}
 .s2-finance-summary .s2-metric:last-child{grid-column:1/-1}
 .s2-explore-tiles{grid-template-columns:1fr;gap:8px}
 .s2-explore-tile{min-height:78px;padding:10px}
 .s2-explore-icon{width:40px;height:40px}
 .s2-explore-copy strong{font-size:.8rem}
 .s2-explore-copy small{font-size:.68rem}
 body[data-s2-page] .dialog{width:100%;max-height:calc(100dvh - 24px);border-radius:20px;padding:17px;background:linear-gradient(150deg,#091739,#141044)}
 body[data-s2-page] .dialog .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 body[data-s2-page] .dialog .field:has(textarea),body[data-s2-page] .dialog .field:has([name="title"]),body[data-s2-page] .dialog .field:has([name="category"]),body[data-s2-page] .dialog .field:has([name="remind"]),body[data-s2-page] .dialog .field:has([name="location"]){grid-column:1/-1}
 body[data-s2-page] .dialog .field.full{grid-column:1/-1}
 body[data-s2-page] .dialog .field input,body[data-s2-page] .dialog .field select,body[data-s2-page] .dialog .field textarea{font-size:.8rem;padding:10px}
 body[data-s2-page] .overlay{padding:11px;backdrop-filter:none}
 body[data-s2-page] .cosmos:before{opacity:.58}
 body[data-s2-page] .aurora.a{animation-duration:55s!important}
 body[data-s2-page] .aurora.b{display:none!important}
}
@media(max-width:350px){
 .s2-ribbon-stats{grid-template-columns:1fr 1fr}
 .s2-ribbon-stats .s2-metric:last-child{grid-column:1/-1}
 .s2-academic-orbit{grid-template-columns:1fr}
 .s2-progress-ring{margin:auto}
 .s2-finance-summary{grid-template-columns:1fr}
 .s2-finance-summary .s2-metric:last-child{grid-column:auto}
 body[data-s2-page] .dialog .form-grid{grid-template-columns:1fr}
}
body.lite .s2-section,body.lite .s2-glass,body.lite .s2-metric{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.s2-section,.s2-glass,.s2-explore-tile,.s2-metric{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
