/* The same existing nebula artwork surrounds play, the portrait and the guide. */
body,body:has(.portrait-result),body.cosmic-reading{background-color:#080d1c;background-image:linear-gradient(180deg,#0a142450,#080d1c24 65%,#080d1c88),url('/assets/sky/reading-nebulae-v2.webp');background-position:center top;background-size:cover,100% auto;background-repeat:no-repeat,repeat-y;background-attachment:scroll;color:#f0ede6}
body>header,body:has(.portrait-result)>header,body.cosmic-reading>header{max-width:1180px;margin:16px auto 0;border:1px solid #e5c88b55;border-radius:20px;background:linear-gradient(120deg,#122b3cec,#131e35ed);box-shadow:inset 0 1px #ffffff16,0 12px 35px #0004;backdrop-filter:none;-webkit-backdrop-filter:none}
body>main{max-width:1080px;padding-top:24px}.brand{letter-spacing:.03em;color:#f9e8ba}.brand:hover{color:#fff7df}
header nav button,header nav a{border-radius:12px;color:#e2e8ee}header nav button[aria-pressed=true]{background:#253e51;border-color:#dbbd81;box-shadow:inset 0 1px #f8e3b933}
#score{color:#e4d4af;letter-spacing:.04em;background:#101d2cda;padding:11px 16px;border:1px solid #d8bd7544;border-radius:12px;width:fit-content;max-width:100%}
#arena.quest-arena{position:relative;border:1px solid #e9c783aa;border-radius:26px;box-shadow:0 0 0 5px #dec18b0a,0 0 45px #62b5d218,0 30px 80px #0008;overflow:hidden}
.quest-arena .quest-body{background:linear-gradient(140deg,#152c40f5,#141b32f7 70%,#30233bf2);border-top:1px solid #eed8a28c}
.quest-arena .quest-choice{background:linear-gradient(110deg,#2d485bf5,#23374af5);color:#fff2d8;border:1px solid #bca77b88;border-radius:14px;box-shadow:inset 0 1px #fff1,0 3px 12px #0002;transition:background .18s,border-color .18s}
.quest-arena .quest-choice:hover{background:#35556a;border-color:#f4d794}.quest-arena .quest-choice:focus-visible{outline:3px solid #a4e8f4;outline-offset:3px}
.birth-invitation{background:linear-gradient(110deg,#12283bf2,#172d3dd9 70%,#263f5277),url('/assets/sky/reading-nebulae-v2.webp') center 38%/cover;border-color:#dfc18566;border-radius:22px}
body:has(.portrait-result) .portrait-result,.portrait-result{background:linear-gradient(145deg,#122c40ed,#1b2339ef);border:1px solid #ddc08a77;box-shadow:inset 0 1px #fff1,0 24px 64px #0005;border-radius:24px}
body:has(.portrait-result) .portrait-settings,.portrait-settings{background:#142639ef;border-color:#c1b18a66}
.rubi-guide-entry{background:linear-gradient(135deg,#22384af2,#392b43f2)!important;border:1px solid #c7a28d88!important;box-shadow:inset 0 1px #fff1,0 16px 45px #0003}
.rubi-guide-overlay{border-color:#d4b48388}.rubi-guide-stage{background:radial-gradient(ellipse at center,#5d71992b,transparent 70%)}
.rubi-composite-permissions,.rubi-source-library{padding:16px;border:1px solid #d2b78b44;border-radius:14px;background:#0b182780;margin:14px 0}
.rubi-source-library a{color:#b5e4eb;text-underline-offset:4px}.rubi-source-library small{display:block;color:#c7cdd6}.rubi-composite-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0}.rubi-composite-row span{overflow-wrap:anywhere;min-width:0}.rubi-composite-row button{flex-shrink:0}
.quest-scene-wait{position:absolute;z-index:20;inset:auto 16px 16px;padding:20px;background:#101e32f5;border:1px solid #dfbf83;border-radius:16px;color:#fff2d8}.quest-scene-wait button{margin-top:12px}
body>footer,body:has(.portrait-result)>footer{background:#0b1529c9;border-top:1px solid #ccb67c33;color:#c6d4e3}
@media(max-width:600px){body>header,body.cosmic-reading>header,body:has(.portrait-result)>header{margin:8px 10px 0;padding:16px;border-radius:16px}body>main{padding:18px 10px 28px}#arena.quest-arena{border-radius:20px}.quest-arena .quest-body{padding:20px 16px}.rubi-composite-row{align-items:flex-start}.rubi-composite-row button{padding:8px 10px}.rubi-source-library{padding:12px}}
@media(prefers-reduced-motion:reduce){.quest-arena .quest-choice{transition:none}}

/* Explicit message colors prevent global paragraph styles from washing out replies. */
body .rubi-conversation .rubi-message,body .rubi-conversation .rubi-message p,body .rubi-conversation .rubi-message strong{color:#203548!important;opacity:1!important;-webkit-text-fill-color:#203548}
body .rubi-conversation .rubi-message{background:#fff2df}
body .rubi-conversation .rubi-message-user,body .rubi-conversation .rubi-message-user p,body .rubi-conversation .rubi-message-user strong{color:#fff!important;-webkit-text-fill-color:#fff}
body .rubi-conversation .rubi-message-user{background:#354f65}
body .rubi-conversation .rubi-message ::selection{background:#b6d7ee;color:#102c42;-webkit-text-fill-color:#102c42}
body .rubi-conversation .rubi-message p{font-size:17px!important;line-height:1.65!important}
.birth-primary-actions{display:flex;justify-content:flex-end;margin:8px 0 20px}
body .portrait-settings .birth-primary-submit{min-height:56px;padding:16px 28px;background:linear-gradient(120deg,#ffedbc,#dfbd72);color:#172c41;font-size:18px;font-weight:700;border:1px solid #ffefc2;border-radius:14px;box-shadow:0 6px 24px #edce8833}
.birth-primary-submit:focus-visible{outline:3px solid #99e2f2;outline-offset:4px}
@media(max-width:600px){.birth-primary-actions .birth-primary-submit{width:100%}.rubi-conversation{padding:16px}.rubi-conversation-log{max-height:48dvh}}

.birth-invitation[hidden]{display:none!important}
body header .bodygraph-shortcut{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid #dfc185;border-radius:12px;color:#ffe7ac;background:#263c50;text-decoration:none;font:600 16px/1.3 system-ui;box-sizing:border-box}
body header .bodygraph-shortcut[hidden]{display:none}
body header .bodygraph-shortcut:focus-visible{outline:3px solid #a4e8f4;outline-offset:3px}
body header:has(.bodygraph-shortcut),body header nav:has(.bodygraph-shortcut){flex-wrap:wrap;gap:10px}
/* Compact companion beside live calculation, not over the form. */
[data-rubi-loading]::before{content:'';display:inline-block;width:48px;height:66px;margin-right:12px;vertical-align:middle;background:url('/assets/rubi/companion-calm.webp') 0 0/400% 300% no-repeat;animation:rubi-loading-breathe 2.4s ease-in-out infinite}
.rubi-page-loading{margin:12px auto;max-width:900px;padding:12px 20px;color:#fff2e0;background:#26384c;border-radius:18px;font:16px/1.5 system-ui}.rubi-page-loading[hidden]{display:none}
@keyframes rubi-loading-breathe{50%{transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){[data-rubi-loading]::before{animation:none}}
.rubi-wallet{margin:18px 0;padding:16px;border:1px solid #b48a99;border-radius:18px;background:#24354c;color:#fff1df}.rubi-wallet summary{cursor:pointer;font-size:17px;line-height:1.5}.rubi-wallet label{display:flex;gap:12px;align-items:start;margin:16px 0}.rubi-wallet input[type=checkbox]{width:22px;height:22px;flex:none}.rubi-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.rubi-plan-grid article{padding:18px;border:1px solid #b09870;border-radius:18px;background:linear-gradient(135deg,#31485e,#493649)}.rubi-plan-grid h4{font:600 19px/1.4 system-ui;margin:0 0 12px;color:#fff3df}.rubi-plan-grid strong{font-size:24px;color:#f6d992}.rubi-plan-grid p,.rubi-wallet p{color:#f4e5e6!important;font-size:16px;line-height:1.5}.rubi-plan-grid small{display:block;color:#f6d992;margin-bottom:12px}.rubi-wallet button{padding:12px;border-radius:12px;background:#e8c78e;color:#1b2e43;font:600 16px/1.4 system-ui;width:100%;cursor:pointer}.rubi-wallet button:disabled{opacity:.55;cursor:default}.rubi-wallet textarea{width:100%;box-sizing:border-box;min-height:100px;margin:12px 0}
