@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Space+Grotesk:wght@300;400;500;600&display=swap";:root{--bg-color:#ede8dc;--text-color:#1a1208;--text-secondary:#7a6a52;--accent-color:#2e5c7a;--border-color:#1a12081a;--border-color-heavy:#1a120838;--card-bg:#f5f1e8;--card-shadow:3px 3px 0 #1a120814;--font-serif:"DM Serif Display", Georgia, serif;--font-sans:"Space Grotesk", system-ui, sans-serif;--transition-speed:.7s;--transition-ease:cubic-bezier(.25, 1, .5, 1)}.theme-zen{--bg-color:#dae5de;--text-color:#0e2016;--text-secondary:#4e6a56;--accent-color:#3a7558;--border-color:#0e20161a;--border-color-heavy:#0e20163d;--card-bg:#eaf0ec;--card-shadow:3px 3px 0 #0e201612}.theme-meltdown{--bg-color:#ebd6d0;--text-color:#200808;--text-secondary:#7a4242;--accent-color:#c42214;--border-color:#2008081f;--border-color-heavy:#20080847;--card-bg:#f3e8e5;--card-shadow:3px 3px 0 #20080814}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-color);color:var(--text-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;transition:background-color var(--transition-speed) var(--transition-ease), color var(--transition-speed) var(--transition-ease);flex-direction:column;line-height:1.6;display:flex}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:400;line-height:1.2}p{letter-spacing:.01em;font-weight:400}.container{flex-direction:column;flex:1;justify-content:center;width:100%;max-width:800px;margin:0 auto;padding:2rem 1.5rem;display:flex}.hairline{background-color:var(--border-color);width:100%;height:1px;transition:background-color var(--transition-speed) var(--transition-ease);margin:1.5rem 0}.label-mono{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);transition:color var(--transition-speed) var(--transition-ease);font-size:.7rem;font-weight:500}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:.4s forwards fadeIn}.app-header{border-bottom:1px solid var(--border-color);transition:border-color var(--transition-speed) var(--transition-ease);justify-content:space-between;align-items:center;padding:1.25rem 2rem;display:flex}.logo{font-family:var(--font-serif);letter-spacing:-.01em;font-size:1.4rem;font-weight:400}.logo span{opacity:.7;margin-left:.2rem;font-size:1.15rem;font-style:italic;font-weight:400}.lang-toggle{border:1px solid var(--border-color-heavy);font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.07em;color:var(--text-secondary);cursor:pointer;transition:all .25s ease, border-color var(--transition-speed) var(--transition-ease);background:0 0;border-radius:2px;padding:.35rem .75rem;font-size:.72rem}.lang-toggle:hover{background-color:var(--text-color);color:var(--bg-color);border-color:var(--text-color)}.lang-toggle:disabled{cursor:default;pointer-events:none}.landing-view{flex-direction:column;align-items:flex-start;max-width:560px;display:flex}.landing-title{letter-spacing:-.02em;margin-bottom:1.25rem;font-size:4rem;line-height:1.1}.landing-title span{font-style:italic;font-weight:400}.landing-subtitle{color:var(--text-secondary);max-width:480px;transition:color var(--transition-speed) var(--transition-ease);margin-bottom:1.1rem;font-size:.95rem;font-weight:400;line-height:1.7}.landing-teaser{font-family:var(--font-serif);max-width:480px;margin-bottom:1.4rem;font-size:1.02rem;font-style:italic;line-height:1.6}.landing-meta{margin-bottom:2.4rem}.invite-banner{border:1px dashed var(--border-color-heavy);background-color:var(--card-bg);box-shadow:var(--card-shadow);border-radius:2px;max-width:480px;margin-bottom:2rem;padding:.9rem 1.15rem}.invite-banner p{margin-top:.35rem;font-size:.88rem;line-height:1.55}.btn-primary{background-color:var(--text-color);color:var(--bg-color);border:1px solid var(--text-color);font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border-radius:2px;padding:.85rem 2.25rem;font-size:.85rem;font-weight:500;transition:all .25s}.btn-primary:hover{color:var(--text-color);background-color:#0000}.question-container{flex-direction:column;gap:2rem;min-height:400px;display:flex;position:relative;overflow:hidden}.question-ghost-num{font-family:var(--font-serif);color:var(--text-color);opacity:.05;pointer-events:none;-webkit-user-select:none;user-select:none;transition:opacity var(--transition-speed) var(--transition-ease);font-size:9.5rem;font-style:italic;font-weight:400;line-height:1;position:absolute;top:-1.5rem;right:-.75rem}.question-header{justify-content:space-between;align-items:center;display:flex}.question-scenario{word-wrap:break-word;margin:.5rem 0;font-size:1.85rem;font-weight:400;line-height:1.35}.options-list{flex-direction:column;gap:.85rem;display:flex}.option-button{border:1px solid var(--border-color-heavy);text-align:left;font-family:var(--font-sans);color:var(--text-color);cursor:pointer;background-color:#0000;border-radius:2px;align-items:flex-start;gap:.9rem;padding:1.1rem 1.4rem;font-size:.92rem;transition:background-color .2s,color .2s,border-color .2s,transform .12s;display:flex;position:relative}.option-button:active{transform:scale(.985)}.option-button--selected,.option-button--selected:hover{background-color:var(--text-color);color:var(--bg-color);border-color:var(--text-color)}.option-button--selected .option-marker{opacity:1;color:var(--bg-color)}.option-stamp{font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;background-color:var(--card-bg);pointer-events:none;border:2px solid;border-radius:3px;padding:.16rem .55rem;font-size:.64rem;font-weight:600;animation:.32s cubic-bezier(.2,1.4,.4,1) both stampIn;position:absolute;top:-.6rem;right:.9rem}.option-stamp--low{color:#3a7558}.option-stamp--mid{color:#2e5c7a}.option-stamp--high{color:#c42214}@keyframes stampIn{0%{opacity:0;transform:rotate(-16deg)scale(1.9)}to{opacity:1;transform:rotate(-5deg)scale(1)}}.option-button:hover{background-color:var(--text-color);color:var(--bg-color);border-color:var(--text-color)}.option-button:hover .option-marker{opacity:1;color:var(--bg-color)}.option-marker{font-family:var(--font-serif);opacity:.45;min-width:1.2rem;font-style:italic;font-weight:400;transition:opacity .2s,color .2s}.notif-banner{background-color:var(--card-bg);border:1px solid var(--border-color-heavy);box-shadow:var(--card-shadow);transition:background-color var(--transition-speed) var(--transition-ease), border-color var(--transition-speed) var(--transition-ease);border-radius:14px;flex-direction:column;gap:.3rem;padding:1rem 1.15rem;display:flex}.notif-bar{justify-content:space-between;align-items:center;display:flex}.notif-app{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);font-size:.68rem;font-weight:600}.notif-time{font-family:var(--font-sans);color:var(--text-secondary);font-size:.68rem}.notif-sender{font-family:var(--font-sans);font-size:1rem;font-weight:600}.notif-body{font-family:var(--font-sans);font-size:1.1rem;line-height:1.4}.chat-thread{flex-direction:column;gap:.55rem;display:flex}.chat-row{flex-direction:column;max-width:82%;display:flex}.chat-row--me{align-self:flex-end;align-items:flex-end}.chat-row--them{align-self:flex-start;align-items:flex-start}.chat-bubble{font-family:var(--font-sans);border-radius:18px;padding:.7rem 1rem;font-size:1rem;line-height:1.45}.chat-bubble--me{background-color:var(--accent-color);color:#fff;transition:background-color var(--transition-speed) var(--transition-ease);border-bottom-right-radius:4px}.chat-bubble--them{background-color:var(--card-bg);border:1px solid var(--border-color-heavy);transition:background-color var(--transition-speed) var(--transition-ease), border-color var(--transition-speed) var(--transition-ease);border-bottom-left-radius:4px}.chat-time{font-family:var(--font-sans);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem;font-size:.64rem}.chat-typing{align-items:center;gap:5px;padding:.9rem 1.05rem;display:inline-flex}.chat-typing span{background-color:var(--text-secondary);border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite both typingBlink}.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}@keyframes typingBlink{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:.9;transform:translateY(-4px)}}.fill-prompt{flex-direction:column;gap:.75rem;display:flex}.fill-context{font-family:var(--font-sans);color:var(--text-secondary);transition:color var(--transition-speed) var(--transition-ease);font-size:.95rem}.fill-stem{margin:0;font-size:1.95rem;font-style:italic;font-weight:400;line-height:1.3}.format-instruction{font-family:var(--font-serif);color:var(--text-color);margin:0;font-size:1.05rem;font-style:italic;line-height:1.5}.format-block{flex-direction:column;gap:.85rem;display:flex}.format-note{animation:.3s both fadeIn}.format-reveal{background-color:var(--text-color);color:var(--bg-color);border:1px solid var(--text-color);font-family:var(--font-sans);border-radius:2px;padding:1.1rem 1.4rem;font-size:.92rem;line-height:1.6;animation:.3s both fadeIn;position:relative}.format-actions{gap:.75rem;display:flex}.btn-compact{flex:0 auto;padding:.6rem 1.4rem;font-size:.74rem}.draft-wrap{flex-direction:column;gap:1.1rem;display:flex}.draft-box{background-color:var(--card-bg);border:1px dashed var(--border-color-heavy);box-shadow:var(--card-shadow);transition:background-color var(--transition-speed) var(--transition-ease), border-color var(--transition-speed) var(--transition-ease);border-radius:10px;flex-direction:column;gap:.4rem;padding:.9rem 1.15rem;display:flex}.draft-label{animation:.3s both fadeIn}.draft-text{font-family:var(--font-sans);min-height:3.1em;font-size:.98rem;line-height:1.55}.draft-box--deleted .draft-text{color:var(--text-secondary);font-style:italic}.draft-caret{vertical-align:-.15em;background-color:var(--text-color);width:1.5px;height:1em;margin-left:2px;animation:1.05s step-end infinite caretBlink;display:inline-block}@keyframes caretBlink{0%,49%{opacity:1}50%,to{opacity:0}}.draft-actions{justify-content:flex-end;gap:.75rem;display:flex}.draft-actions .btn-compact{flex:0 auto}.draft-actions .btn-primary:disabled,.draft-actions .btn-secondary:disabled{opacity:.45;cursor:default;pointer-events:none}.gauge-container{margin:0}.gauge-readout{justify-content:space-between;align-items:baseline;margin-bottom:.5rem;display:flex}.gauge-pct{color:var(--text-color);font-variant-numeric:tabular-nums;transition:color var(--transition-speed) var(--transition-ease);font-weight:600}.gauge-caption{font-family:var(--font-sans);color:var(--text-secondary);letter-spacing:.02em;transition:color var(--transition-speed) var(--transition-ease);margin-top:.5rem;font-size:.72rem}.gauge-track{background-color:var(--border-color);width:100%;height:3px;position:relative}.gauge-tick{background-color:var(--border-color-heavy);width:1px;height:9px;position:absolute;top:-3px}.gauge-zones{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.09em;color:var(--text-secondary);opacity:.75;justify-content:space-between;margin-top:.35rem;font-size:.58rem;display:flex}.gauge-fill{background-color:var(--accent-color);height:100%;transition:width .5s cubic-bezier(.25, 1, .5, 1), background-color var(--transition-speed) var(--transition-ease);position:absolute;top:0;left:0}.gauge-marker{background-color:var(--accent-color);width:9px;height:9px;transition:left .5s cubic-bezier(.25, 1, .5, 1), background-color var(--transition-speed) var(--transition-ease);border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.result-view{flex-direction:column;align-items:center;gap:1.75rem;padding:1rem 0;display:flex}.tarot-card{background-color:var(--card-bg);border:1px solid var(--border-color-heavy);width:100%;max-width:480px;box-shadow:var(--card-shadow);transition:background-color var(--transition-speed) var(--transition-ease), border-color var(--transition-speed) var(--transition-ease), box-shadow var(--transition-speed) var(--transition-ease);flex-direction:column;gap:1.5rem;padding:2.5rem;display:flex;position:relative}.tarot-card:before{content:"";border:1px solid var(--border-color);pointer-events:none;transition:border-color var(--transition-speed) var(--transition-ease);position:absolute;inset:5px}.tarot-header{text-align:center;flex-direction:column;align-items:center;gap:.2rem;display:flex}.tarot-illustration-container{justify-content:center;align-items:center;width:100%;height:150px;margin:.5rem 0;display:flex}.tarot-illustration{max-width:100%;height:100%;stroke:var(--text-color);stroke-width:1px;fill:none;transition:stroke var(--transition-speed) var(--transition-ease)}.tarot-type-title{letter-spacing:-.01em;margin-top:.4rem;font-size:2.25rem;font-style:italic}.tarot-type-code{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);font-size:.72rem}.tarot-divider{color:var(--text-secondary);font-size:.75rem;font-family:var(--font-sans);letter-spacing:.03em;justify-content:center;align-items:center;gap:.75rem;display:flex}.tarot-divider:before,.tarot-divider:after{content:"";background-color:var(--border-color);flex:1;height:1px}.tarot-metrics{grid-template-columns:1fr 1fr;gap:1.1rem 2rem;padding:.25rem 0;display:grid}.metric-item{flex-direction:column;gap:.3rem;display:flex}.metric-info{font-size:.72rem;font-family:var(--font-sans);justify-content:space-between;display:flex}.metric-title{font-weight:500}.metric-value{color:var(--text-secondary)}.metric-bar-track{background-color:var(--border-color);width:100%;height:2px}.metric-bar-fill{background-color:var(--accent-color);height:100%;transition:width 1s ease-out, background-color var(--transition-speed) var(--transition-ease)}.tarot-body{flex-direction:column;gap:1rem;display:flex}.tarot-description{color:var(--text-color);text-align:justify;font-size:.93rem;font-weight:400;line-height:1.65}.tarot-advice{color:var(--text-secondary);transition:color var(--transition-speed) var(--transition-ease);flex-direction:column;gap:.5rem;padding-left:1rem;font-size:.84rem;display:flex}.tarot-advice li{margin-bottom:.2rem}.tarot-compatibility{border-top:1px dashed var(--border-color);color:var(--text-secondary);transition:color var(--transition-speed) var(--transition-ease), border-color var(--transition-speed) var(--transition-ease);margin-top:.4rem;padding-top:.9rem;font-size:.82rem;font-style:italic}.tarot-ingredients{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.tarot-ingredients li{font-family:var(--font-sans);align-items:baseline;gap:.5rem;font-size:.82rem;display:flex}.ing-name{color:var(--text-color)}.ing-leader{border-bottom:1px dotted var(--border-color-heavy);transition:border-color var(--transition-speed) var(--transition-ease);flex:1;transform:translateY(-.2rem)}.ing-pct{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-weight:500}.ing-footnote{font-family:var(--font-sans);color:var(--text-secondary);transition:color var(--transition-speed) var(--transition-ease);margin-top:.6rem;font-size:.68rem;font-style:italic}.card-stage{perspective:1200px;flex-direction:column;align-items:center;width:100%;max-width:480px;display:flex}.deck-cover{aspect-ratio:5/7;background-color:var(--card-bg);background-image:repeating-linear-gradient(45deg, var(--border-color) 0, var(--border-color) 1px, transparent 1px, transparent 12px), repeating-linear-gradient(-45deg, var(--border-color) 0, var(--border-color) 1px, transparent 1px, transparent 12px);border:1px solid var(--border-color-heavy);width:min(300px,82%);box-shadow:var(--card-shadow);justify-content:center;align-items:center;margin:1.5rem 0;animation:1.4s ease-in-out infinite deckWiggle;display:flex;position:relative}.deck-cover:before{content:"";border:1px solid var(--border-color-heavy);pointer-events:none;position:absolute;inset:8px}.card-back-inner{background-color:var(--card-bg);flex-direction:column;align-items:center;gap:.35rem;padding:.8rem 1.2rem;display:flex}.card-back-logo{font-family:var(--font-serif);font-size:2.6rem;font-style:italic;line-height:1}.card-back-sub{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.14em;color:var(--text-secondary);font-size:.6rem}.card-stage:not(.is-revealed) .tarot-card{display:none}.is-revealed .tarot-card{transform-origin:50% 35%;animation:.65s cubic-bezier(.2,.9,.3,1) both cardReveal}@keyframes cardReveal{0%{opacity:0;transform:rotateY(-60deg)scale(.97)}to{opacity:1;transform:none}}@keyframes deckWiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-2.5deg)translateY(-3px)}50%{transform:rotate(1.8deg)}75%{transform:rotate(-1.2deg)translateY(-2px)}}.reveal-caption{animation:.4s fadeIn}.compat-section{flex-direction:column;gap:.7rem;display:flex}.compat-pairing{font-family:var(--font-serif);text-align:center;font-size:1.15rem;font-style:italic;line-height:1.4}.compat-letters{justify-content:center;gap:.6rem;display:flex}.compat-pair{font-family:var(--font-sans);letter-spacing:.08em;border:1px solid var(--border-color-heavy);color:var(--text-secondary);border-radius:2px;padding:.2rem .5rem;font-size:.72rem}.compat-pair--match{background-color:var(--text-color);color:var(--bg-color);border-color:var(--text-color)}.compat-verdict{text-align:center;letter-spacing:.02em;font-size:.85rem;font-weight:600}.compat-lines{color:var(--text-secondary);flex-direction:column;gap:.45rem;padding-left:1rem;font-size:.84rem;display:flex}.actions-container{flex-direction:column;justify-content:center;gap:.75rem;width:100%;max-width:480px;margin-top:.5rem;display:flex}.actions-row{gap:.75rem;width:100%;display:flex}.actions-row .btn-primary,.actions-row .btn-secondary{flex:1}.btn-primary:disabled{opacity:.6;cursor:default}.btn-primary:active,.btn-secondary:active{transform:translateY(1px)}.btn-secondary{border:1px solid var(--border-color-heavy);color:var(--text-color);font-family:var(--font-sans);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;text-align:center;background:0 0;border-radius:2px;flex:1;padding:.85rem 1.5rem;font-size:.82rem;font-weight:500;transition:all .25s}.btn-secondary:hover{background-color:var(--text-color);color:var(--bg-color)}.toast-msg{background-color:var(--text-color);color:var(--bg-color);letter-spacing:.04em;z-index:100;border-radius:2px;padding:.7rem 1.4rem;font-size:.82rem;animation:.25s forwards fadeIn;position:fixed;bottom:2rem;left:50%;transform:translate(-50%);box-shadow:2px 2px #0000001f}.slide-in{animation:.38s cubic-bezier(.2,.8,.3,1) both slideIn}@keyframes slideIn{0%{opacity:0;transform:translate(26px)}to{opacity:1;transform:none}}.sim-paper{background-color:var(--card-bg);border:1px solid var(--border-color-heavy);box-shadow:var(--card-shadow);border-radius:2px;flex-direction:column;gap:1rem;padding:1.25rem;display:flex;position:relative}.sim-paper:after{content:"";border:1px solid var(--border-color);pointer-events:none;position:absolute;inset:5px}.sim-instruction,.sim-paper>*{z-index:1;position:relative}.sim-instruction p{max-width:620px;color:var(--text-secondary);margin-top:.35rem;font-size:.82rem;line-height:1.55}.sim-caption{font-family:var(--font-sans);color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;font-size:.62rem;font-weight:600;display:block}.sim-interruption{grid-template-columns:1fr 1fr;gap:.65rem;animation:.38s cubic-bezier(.2,.9,.25,1) both interruptionIn;display:grid}.sim-interruption>div{border:1px dashed var(--border-color-heavy);background:var(--bg-color);padding:.75rem .85rem;transform:rotate(-.4deg)}.sim-interruption>div:nth-child(2){transform:rotate(.5deg)}.sim-interruption span{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-color);font-size:.6rem;font-weight:600}.sim-interruption p{font-family:var(--font-serif);margin-top:.25rem;font-size:.94rem;line-height:1.4}@keyframes interruptionIn{0%{opacity:0;transform:translateY(-10px)rotate(-1deg)}to{opacity:1;transform:none}}.sim-footer{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:.75rem;padding-top:.9rem;display:flex}.sim-footer>span{font-family:var(--font-sans);color:var(--text-secondary);font-size:.7rem}.sim-footer .btn-primary:disabled,.battery-sim button:disabled{opacity:.35;cursor:default;pointer-events:none}.sim-outcome{background:var(--card-bg);border:1px solid var(--border-color-heavy);box-shadow:var(--card-shadow);flex-direction:column;justify-content:space-between;gap:1.5rem;min-height:210px;padding:1.5rem;display:flex;position:relative}.sim-outcome:before{content:"";border:1px solid var(--border-color);pointer-events:none;position:absolute;inset:6px}.sim-outcome p{max-width:580px;font-family:var(--font-serif);font-size:1.55rem;font-style:italic;line-height:1.35}.schedule-layout{grid-template-columns:minmax(180px,.75fr) minmax(300px,1.5fr);gap:1rem;display:grid}.event-tray{border:1px dashed var(--border-color-heavy);background:color-mix(in srgb, var(--bg-color) 50%, transparent);flex-direction:column;align-self:stretch;gap:.55rem;min-height:240px;padding:.75rem;display:flex}.event-card{border:1px solid var(--border-color-heavy);background:var(--card-bg);color:var(--text-color);text-align:left;cursor:grab;box-shadow:2px 2px 0 var(--border-color);border-radius:2px;padding:.7rem .8rem;transition:transform .16s,border-color .16s,background-color .16s}.event-card:nth-of-type(2n){transform:rotate(.35deg)}.event-card:hover{border-color:var(--accent-color);transform:translateY(-2px)rotate(-.3deg)}.event-card.is-selected{background:var(--text-color);color:var(--bg-color);border-color:var(--text-color);transform:rotate(-1deg)}.event-card strong{font-family:var(--font-serif);font-size:.92rem;font-weight:400;display:block}.event-card span{font-family:var(--font-sans);color:var(--text-secondary);margin-top:.15rem;font-size:.63rem;display:block}.event-card.is-selected span{color:var(--bg-color);opacity:.7}.tray-empty{font-family:var(--font-serif);color:var(--text-secondary);margin:auto;font-style:italic}.day-grid{border-top:1px solid var(--border-color-heavy)}.day-slot{border:0;border-bottom:1px solid var(--border-color);width:100%;min-height:48px;color:var(--text-color);text-align:left;cursor:cell;background:0 0;grid-template-columns:3.5rem 3.5rem 1fr;align-items:center;gap:.5rem;padding:.35rem 0;display:grid}.day-slot>span:first-child{font-family:var(--font-sans);color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:.65rem}.day-slot>i{border:1px solid var(--accent-color);color:var(--accent-color);font-family:var(--font-sans);letter-spacing:.05em;justify-self:start;padding:.08rem .3rem;font-size:.52rem;font-style:normal}.day-slot.has-alert{background:repeating-linear-gradient(-45deg, transparent, transparent 7px, color-mix(in srgb, var(--accent-color) 8%, transparent) 7px, color-mix(in srgb, var(--accent-color) 8%, transparent) 14px)}.scheduled-event{background:var(--accent-color);color:#fff;font-family:var(--font-sans);cursor:grab;box-shadow:2px 2px 0 var(--border-color-heavy);border-radius:2px;grid-column:2/-1;padding:.45rem .65rem;font-size:.72rem;display:block}.scheduled-event--rest{background:var(--text-secondary)}.scheduled-event--friends{background:color-mix(in srgb, var(--accent-color) 75%, var(--text-color))}.scheduled-event--chores{background:color-mix(in srgb, var(--text-secondary) 72%, var(--accent-color))}.trip-map{border:1px solid var(--border-color-heavy);background-color:var(--bg-color);background-image:radial-gradient(var(--border-color-heavy) .7px, transparent .7px);background-size:12px 12px;height:330px;position:relative;overflow:hidden}.trip-map svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.trip-map path{fill:none;stroke:var(--border-color-heavy);stroke-width:.45px;stroke-dasharray:2 1}.trip-map polyline{fill:none;stroke:var(--accent-color);stroke-width:1.15px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;animation:.3s both routeDraw}@keyframes routeDraw{0%{opacity:.25}to{opacity:1}}.map-place{border:1px solid var(--border-color-heavy);background:var(--card-bg);width:112px;min-height:56px;color:var(--text-color);cursor:pointer;box-shadow:2px 2px 0 var(--border-color);border-radius:50%;padding:.45rem .65rem;transition:background-color .18s,color .18s,transform .18s;position:absolute;transform:translate(-50%,-50%)}.map-place:hover{transform:translate(-50%,-52%)}.map-place.is-on-route{background:var(--text-color);color:var(--bg-color);border-color:var(--text-color)}.map-place i{background:var(--accent-color);color:#fff;width:22px;height:22px;font-family:var(--font-serif);border-radius:50%;place-items:center;font-size:.72rem;font-style:italic;display:grid;position:absolute;top:-5px;left:-5px}.map-place strong{font-family:var(--font-serif);font-size:.78rem;font-weight:400;line-height:1.15;display:block}.map-place span{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.03em;opacity:.65;margin-top:.16rem;font-size:.5rem;display:block}.rain-lines{background:repeating-linear-gradient(105deg, transparent 0 17px, color-mix(in srgb, var(--accent-color) 15%, transparent) 18px 19px, transparent 20px 35px);pointer-events:none;animation:2.5s linear infinite rainDrift;position:absolute;inset:-30px}@keyframes rainDrift{0%{transform:translateY(-12px)}to{transform:translateY(12px)}}.route-strip{border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);grid-template-columns:3.5rem 1fr;gap:.75rem;padding:.65rem 0;display:grid}.route-strip>div{flex-wrap:wrap;gap:.35rem;display:flex}.route-strip>div span{font-family:var(--font-sans);border-bottom:1px solid var(--accent-color);padding-bottom:.15rem;font-size:.62rem}.route-strip em{font-family:var(--font-serif);color:var(--text-secondary);font-size:.78rem}.split-toggle{border:1px dashed var(--border-color-heavy);min-height:38px;color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;background:0 0;padding:.45rem .7rem;font-size:.65rem}.split-toggle.is-selected{background:var(--accent-color);color:#fff;border-style:solid;border-color:var(--accent-color)}.battery-sim{width:100%;max-width:620px;margin-inline:auto}.paper-phone{border:1px solid var(--text-color);background:var(--bg-color);box-shadow:inset 0 0 0 5px var(--card-bg), inset 0 0 0 6px var(--border-color-heavy);padding:1rem;position:relative}.paper-phone-bar{font-family:var(--font-sans);color:var(--text-secondary);justify-content:space-between;align-items:center;padding:.3rem .4rem .8rem;font-size:.62rem;display:flex}.battery-meter{border:1px solid var(--text-color);align-items:center;gap:2px;padding:2px;display:flex;position:relative}.battery-meter>i{background:var(--text-color);width:3px;height:7px;position:absolute;right:-4px}.battery-meter b{background:var(--border-color);width:6px;height:9px}.battery-meter b.is-live{background:var(--accent-color)}.station-card,.station-alert{border:1px solid var(--border-color-heavy);background:var(--card-bg);min-height:104px;margin:.25rem 0 .8rem;padding:.85rem}.station-alert{border-style:dashed;animation:.38s cubic-bezier(.2,.9,.25,1) both interruptionIn;transform:rotate(-.25deg)}.station-card>span,.station-alert>span{font-family:var(--font-sans);letter-spacing:.08em;color:var(--accent-color);text-transform:uppercase;font-size:.58rem}.station-card strong,.station-alert strong{font-family:var(--font-serif);margin-top:.22rem;font-size:1.2rem;font-weight:400;display:block}.station-card p,.station-alert p{color:var(--text-secondary);margin-top:.25rem;font-size:.72rem}.phone-apps{grid-template-columns:repeat(5,1fr);gap:.5rem;display:grid}.phone-apps button{border:1px solid var(--border-color-heavy);background:var(--card-bg);min-height:82px;color:var(--text-color);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.5rem .3rem;transition:transform .15s,background-color .15s,color .15s;display:flex}.phone-apps button:hover{background:var(--text-color);color:var(--bg-color);transform:translateY(-2px)}.phone-apps button>i{width:30px;height:30px;font-family:var(--font-serif);border:1px solid;border-radius:50%;place-items:center;font-style:normal;display:grid}.phone-apps button>strong{font-family:var(--font-sans);font-size:.6rem;font-weight:500}.phone-apps button>span{font-family:var(--font-sans);opacity:.65;font-size:.5rem}.phone-history{border-top:1px solid var(--border-color);margin-top:.9rem;padding-top:.65rem}.phone-history p{font-family:var(--font-serif);margin-top:.25rem;font-size:.82rem;font-style:italic}.battery-footer{align-items:stretch}.battery-footer>button{flex:1}.sim-paper button:focus-visible,.sim-outcome button:focus-visible,.scheduled-event:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}@media (prefers-reduced-motion:reduce){.slide-in,.option-stamp,.deck-cover,.is-revealed .tarot-card,.draft-caret,.draft-label,.format-reveal,.format-note,.fade-in,.sim-interruption,.station-alert,.rain-lines,.trip-map polyline{animation:none}}@media (width<=600px){.landing-title{font-size:2.8rem}.tarot-card{padding:1.5rem}.tarot-metrics{grid-template-columns:1fr;gap:.75rem}.question-scenario{font-size:1.45rem}.question-ghost-num{font-size:6.5rem}.actions-container{gap:.6rem}.option-stamp{right:.6rem}.format-actions{flex-direction:column}.format-actions .btn-compact{width:100%}.sim-paper{padding:.85rem}.sim-interruption,.schedule-layout{grid-template-columns:1fr}.event-tray{grid-template-columns:1fr 1fr;min-height:0;display:grid}.event-tray .sim-caption,.event-tray .tray-empty{grid-column:1/-1}.day-slot{grid-template-columns:3rem 3rem 1fr}.trip-map{height:390px}.map-place{width:94px;min-height:52px;padding:.35rem .45rem}.map-place strong{font-size:.7rem}.phone-apps{grid-template-columns:repeat(3,1fr)}.sim-footer,.battery-footer{flex-direction:column;align-items:stretch}.sim-footer .btn-primary,.sim-footer .split-toggle{width:100%}.sim-outcome p{font-size:1.25rem}}
