/* A personal constellation. The portrait owns its space; companions have theirs. */
body.home-orbit{background:#edf2f9;--orb-sky:#edf2f9;--orb-halo:#c6d8ed;--orb-star:#47658f;--orb-line:#aebed2;--orb-ink:#142c48;--orb-copy:#435b77;--orb-gold:#e2c98f;--orb-ease:cubic-bezier(.22,1,.36,1)}
.home-orbit .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
html[data-theme=dark] body.home-orbit{background:#081326;--orb-sky:#081326;--orb-halo:#142e54;--orb-star:#dfebff;--orb-line:#435c79;--orb-ink:#f3f6ff;--orb-copy:#c5d4e7}
.home-orbit .cosmos-backdrop,.home-orbit.stage-offscreen .cosmos-backdrop{position:fixed;inset:0;z-index:0;visibility:visible;opacity:1!important;pointer-events:none;background:radial-gradient(ellipse at 12% 24%,#7187b014,transparent 48%),radial-gradient(ellipse at 92% 70%,#4f88bb16,transparent 48%);overflow:hidden}
html[data-theme=dark] .home-orbit .cosmos-backdrop{background:radial-gradient(ellipse at 0% 28%,#443a752d,transparent 50%),radial-gradient(ellipse at 100% 68%,#1b59933d,transparent 55%)}
.home-orbit .cosmos-backdrop .c-star{color:var(--orb-star)!important;text-shadow:none;font-size:12px;opacity:.45}
.home-orbit .cosmos-backdrop .c-dot{background:var(--orb-star);box-shadow:none}
.home-orbit .cosmos-backdrop .cosmos-shooting-star{background:linear-gradient(90deg,transparent,var(--orb-star));box-shadow:none;max-width:160px}
.home-orbit.stage-offscreen .cosmos-backdrop *{animation-play-state:running!important}
.home-orbit main,.home-orbit .ak-footer{position:relative;z-index:1}
.home-orbit .playground{position:relative;padding:0 28px;max-width:1600px;margin:auto}
.home-orbit .hero-track{height:calc(var(--stage-size) + 100px)}
.home-orbit .stage{height:var(--stage-size);background:transparent!important;border-radius:0;overflow:hidden}
.home-orbit .stage-caption{top:30px;left:24px;right:24px;font-size:clamp(1rem,1.4vw,1.25rem);color:var(--orb-ink)}
.home-orbit .caption-right{color:var(--orb-copy)}
.home-orbit .wordmark{top:105px;letter-spacing:-.04em!important;font-family:Outfit,Mitr,sans-serif!important;font-size:clamp(5rem,14.3vw,14rem);line-height:.95;translate:0 calc(var(--journey,0) * -22px)}
.home-orbit .wordmark-front{animation:none;letter-spacing:inherit!important}
.home-orbit .letter-k{color:var(--scene-color);transition:color 240ms}
.home-orbit .disc{width:440px;top:47%;background:var(--scene-color)!important;box-shadow:inset -24px -28px 0 #10284416;animation:none!important;transition:background 240ms;opacity:.95}
.home-orbit .disc-inner{inset:10%;border:1px solid #ffffff60;animation:none}
.home-orbit .orbit{border-color:var(--orb-line);width:590px;opacity:.75}
.home-orbit .orbit-two{width:650px;opacity:.4}
.home-orbit .portrait-wrap{width:500px;height:500px;bottom:38px;scale:calc(1 + var(--journey,0) * .025)}
.home-orbit .portrait{animation:none!important;filter:drop-shadow(0 12px 12px #07152b24)}
.home-orbit .profile-entry{right:3.5%;top:52%;width:285px!important;max-width:24%;animation:none!important;rotate:-3deg;transition:rotate 250ms var(--orb-ease),translate 250ms var(--orb-ease);z-index:4}
.home-orbit .profile-entry:is(:hover,:focus-visible){rotate:0deg;translate:0 -8px}
.home-orbit .chrollo-ghost-backdrop{display:block}
.home-orbit .chrollo-ghost-img{width:180px;right:2px}
.home-orbit:has(.mascot-scene[data-style=pixel]) :is(.world-art img,[data-ex-mascot],#route-guide-image){image-rendering:pixelated}
.home-orbit .mascot-scene{left:5%;bottom:auto;top:320px;width:170px;z-index:4}
.home-orbit .profile-entry .ticket-body small{font-size:.82rem!important;white-space:nowrap}
.home-orbit .profile-entry .ticket-body strong{font-size:1.45rem!important}
.home-orbit .mascot-play{width:160px;height:180px}
.home-orbit .mascot-scene .mascot-play img{width:100%!important;height:100%!important;object-fit:contain}
.home-orbit .mascot-caption{font-size:.9rem}
.home-orbit .mascot-style{min-height:44px}
.home-orbit .stage-bottom{left:24px;right:24px;bottom:14px;color:var(--orb-ink);font-size:1rem}
.home-orbit .celestial-northstar{top:14%;right:9%;scale:.9}
.home-orbit .hero-companions{display:contents}
.home-orbit .portal-caption{display:none}
.home-orbit .ak-shell .ak-global .ak-controls .ak-theme{width:102px;min-width:102px;flex:0 0 102px}
.home-orbit .ak-shell .ak-global .ak-controls .ak-motion{width:118px;min-width:118px;flex:0 0 118px}
.home-orbit .worlds{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;padding:0 18px 45px;margin:0;overflow:visible;border-radius:0}
.home-orbit .world{display:flex!important;flex-direction:column;align-items:flex-start;justify-content:flex-end;min-width:0;min-height:320px;padding:205px 14px 14px!important;border:0!important;border-radius:0!important;background:none!important;color:var(--orb-ink)!important;box-shadow:none!important;transform:none!important;overflow:visible;--portal:#c9e8d6;--portal-edge:#257657;transition:translate 300ms var(--orb-ease)}
.home-orbit .world-knowledge{--portal:#c9ddfc;--portal-edge:#3267a7}
.home-orbit .world-focus{--portal:#cce8e7;--portal-edge:#267a79}
.home-orbit .world-interests{--portal:#e8d5eb;--portal-edge:#915b8c}
html[data-theme=dark] .home-orbit .world{--portal:#183f36;--portal-edge:#a0e5bd}
html[data-theme=dark] .home-orbit .world-knowledge{--portal:#1b365c;--portal-edge:#a7ccff}
html[data-theme=dark] .home-orbit .world-focus{--portal:#143d45;--portal-edge:#9ddedc}
html[data-theme=dark] .home-orbit .world-interests{--portal:#3b294b;--portal-edge:#e2b6e7}
.home-orbit .world:nth-child(even){margin-top:28px}
.home-orbit .world::before{content:'';position:absolute;inset:12px 4% auto;height:175px;border:1px solid var(--orb-line);background:var(--portal);border-radius:50%;transform:rotate(-15deg) scaleY(.82);transition:transform 350ms var(--orb-ease),background 240ms;pointer-events:none}
.home-orbit .world::after{display:none!important}
.home-orbit .world-art{position:absolute!important;top:-6px;bottom:auto!important;left:50%;right:auto!important;width:150px!important;height:185px!important;transform:translateX(-50%)!important;rotate:-5deg;transition:rotate 350ms var(--orb-ease),translate 350ms var(--orb-ease);pointer-events:none}
.home-orbit .world-art img{width:100%!important;height:100%!important;object-fit:contain;filter:drop-shadow(0 4px 0 #07152b22);transform:none!important}
.home-orbit .world-mini{display:none!important}
.home-orbit .world-title{display:block!important;width:100%!important;max-width:none!important;box-sizing:border-box;color:var(--orb-ink)!important;font:500 clamp(1.35rem,2vw,1.85rem)/1.3 Outfit,Mitr,sans-serif!important;letter-spacing:-.025em!important;padding:0 36px 0 0!important;position:relative;z-index:1}
.home-orbit .world-title-small{display:block!important;font-size:.78em!important;margin:3px 0 0!important}
.home-orbit .world-sub{color:var(--orb-copy)!important;font:400 1rem/1.65 Sarabun,sans-serif!important;max-width:none!important;margin-top:10px!important;padding:0!important;position:relative;z-index:1}
.home-orbit .world-arrow{top:auto!important;bottom:70px;right:6px!important;border:1px solid var(--orb-line)!important;background:var(--orb-sky)!important;color:var(--portal-edge)!important;width:40px!important;height:40px!important;display:grid;place-items:center;border-radius:50%;font-size:1.5rem!important;transition:rotate 250ms,background 250ms;z-index:2}
.home-orbit .world:is(:hover,:focus-visible){translate:0 -8px}
.home-orbit .world:is(:hover,:focus-visible)::before{transform:rotate(9deg) scaleY(.94);border-color:var(--portal-edge)}
.home-orbit .world:is(:hover,:focus-visible) .world-art{rotate:5deg;translate:0 -7px}
.home-orbit .world:is(:hover,:focus-visible) .world-arrow{background:var(--portal)!important;rotate:45deg}
.home-orbit .world:active{translate:0 2px}
/* Intro and starting points live in the same day/night sky. */
.home-orbit .ex-intro{padding-block:100px 65px;background:none!important}
.home-orbit .intro-note h2{font-size:clamp(2.6rem,5.7vw,5rem);max-width:10ch}
.home-orbit .intro-note h2 span{color:var(--ex-ink)}
.home-orbit .intro-note p{max-width:32ch}
.home-orbit .intro-note small a{color:inherit;text-underline-offset:5px}
.home-orbit .keepsake-word{font-size:clamp(2.4rem,4vw,3.4rem);color:var(--ex-copy)}
.home-orbit .keepsake-caption{background:var(--orb-gold);border-radius:4px}
.home-orbit .ex-start{background:none!important;--ex-ink:var(--orb-ink);--ex-copy:var(--orb-copy);--ex-line:var(--orb-line);--ex-wash:var(--orb-halo);--ex-accent:var(--orb-ink);padding-top:45px;padding-bottom:100px}
.home-orbit .start-layout{gap:70px;align-items:center;border-top:1px solid var(--orb-line);padding-top:60px}
.home-orbit .route-paths{border-top:0}
.home-orbit .route-path{border-bottom-color:var(--orb-line);padding:22px 6px}
.home-orbit .route-path:is(:hover,:focus-visible){background:color-mix(in srgb,var(--orb-halo) 35%,transparent)}
.home-orbit .route-path .route-arrow{width:44px;height:44px}
/* An open project shelf: three tangible folders, details inside each folder. */
.home-orbit .ex-lab{background:transparent!important;padding-block:85px 110px;border-top:1px solid var(--orb-line)}
.home-orbit .lab-layout{grid-template-columns:1fr;gap:45px}
.home-orbit .lab-intro{position:relative;display:grid;grid-template-columns:1fr 240px;align-items:center;column-gap:32px;max-width:900px}
.home-orbit .lab-intro .ex-note{grid-column:1}
.home-orbit .lab-intro h2{font-size:clamp(2rem,4vw,3.5rem);margin:12px 0 18px;grid-column:1}
.home-orbit .lab-intro p{grid-column:1;max-width:32ch}
.home-orbit .lab-mascot{grid-column:2;grid-row:1/4;width:210px;height:225px;object-fit:contain;align-self:end;margin:0;rotate:5deg}
.home-orbit .lab-workbench{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start;padding:0!important;margin:0!important;background:none!important;color:var(--orb-ink)!important;box-shadow:none!important;border:0!important;rotate:0deg!important;border-radius:0!important}
.home-orbit .lab-workbench-top{grid-column:1/-1;color:var(--orb-copy);border:0;padding:0;margin:0;justify-content:flex-start;gap:14px}
.home-orbit .lab-workbench-top>span:last-child{background:none;color:var(--orb-copy);border:0;padding:0;font-size:.95rem}
.home-orbit .lab-tool{position:relative;min-width:0;border:1px solid #c7bdab!important;border-bottom:5px solid #c7bdab!important;border-radius:0 12px 12px 12px;background:#fffaf0!important;color:#1b2d44!important;margin-top:16px;rotate:-2deg;transition:rotate 300ms var(--orb-ease),translate 300ms var(--orb-ease)}
.home-orbit .lab-tool:nth-of-type(2){rotate:2deg;margin-top:40px;background:#eef4fc!important}
.home-orbit .lab-tool:nth-of-type(3){rotate:-1deg;margin-top:64px;background:#f2eef8!important}
.home-orbit .lab-tool::before{content:'';position:absolute;top:-17px;left:-1px;width:43%;height:17px;background:inherit;border:1px solid #c7bdab;border-bottom:0;border-radius:8px 8px 0 0}
.home-orbit .lab-tool:is(:hover,:focus-within),.home-orbit .lab-tool[open]{rotate:0deg;translate:0 -6px}
.home-orbit .lab-tool summary{min-height:225px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;position:relative;padding:28px 24px;gap:9px;list-style:none;color:#1b2d44!important}
.home-orbit .lab-tool summary::-webkit-details-marker{display:none}
.home-orbit .lab-tool summary>span:nth-child(2){display:flex;flex-direction:column;gap:8px}
.home-orbit .lab-tool .tool-symbol{font-size:2.5rem;line-height:1;margin-bottom:22px}
.home-orbit .lab-tool strong{font:600 1.65rem/1.3 Outfit,sans-serif;color:#1b2d44!important}
.home-orbit .lab-tool small{font:400 1rem/1.6 Sarabun,sans-serif;color:#435167!important;max-width:21ch}
.home-orbit .lab-tool .tool-expand{position:absolute;right:18px;top:22px;border:1px solid #8e9bad;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;color:#1b2d44}
.home-orbit .tool-detail{padding:0 24px 25px!important;color:#435167!important}
.home-orbit .tool-detail p{font:400 1rem/1.7 Sarabun,sans-serif!important;color:#435167!important}
.home-orbit .tool-detail>span{color:#644711!important;background:none;font:500 .9rem/1.5 Sarabun,sans-serif;display:block;margin-top:16px}
.home-orbit .lab-footnote{grid-column:1/-1;color:var(--orb-copy)!important;margin:20px 0 0!important;text-align:left;font-size:1rem!important}
/* Participation: a ballot and a private letter, not a pretend comment feed. */
.home-orbit .ex-conversation{padding-block:95px;background:none!important;border-top:1px solid var(--orb-line)}
.home-orbit .conversation-layout{grid-template-columns:1.05fr 1fr;gap:70px;align-items:start}
.home-orbit #poll-title{font-size:clamp(1.9rem,3.1vw,2.8rem);line-height:1.4;min-height:2.8em}
.home-orbit #poll-help,.home-orbit .participation-note{font-size:1rem;color:var(--orb-copy)}
.home-orbit .poll-options{border:0;padding:0;margin:26px 0 20px;min-width:0;display:flex;flex-direction:column;gap:12px}
.home-orbit .poll-option{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:12px;align-items:center;padding:17px 16px;border:1px solid var(--orb-line);border-radius:10px;overflow:hidden;cursor:pointer;color:var(--orb-ink);background:var(--orb-sky);min-height:66px}
.home-orbit .poll-option .poll-fill{position:absolute;inset:0;background:var(--orb-halo);transform-origin:0 50%;transform:scaleX(var(--poll-value,0));pointer-events:none;transition:transform 300ms var(--orb-ease)}
.home-orbit .poll-option>*:not(.poll-fill){position:relative;z-index:1}
.home-orbit .poll-option:has(:checked){border-color:var(--orb-ink);outline:1px solid var(--orb-ink)}
.home-orbit .poll-option input{width:21px;height:21px;margin:0;accent-color:#3568a9}
.home-orbit .poll-option:has(:focus-visible){outline:3px solid var(--ex-accent);outline-offset:4px}
.home-orbit .poll-option strong{font:500 1.05rem/1.6 Mitr,sans-serif}
.home-orbit .poll-option small{font:500 1rem/1.5 Outfit,Sarabun,sans-serif;white-space:nowrap}
.home-orbit .participation-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:18px 0}
.home-orbit .participation-actions button,.home-orbit .idea-actions button,.home-orbit .owner-poll-controls button{min-height:44px;padding:10px 17px;border:1px solid var(--orb-line);border-radius:8px;background:var(--orb-sky);color:var(--orb-ink);font:500 1rem/1.5 Outfit,Mitr,sans-serif;cursor:pointer;transition:translate 180ms,background 180ms}
.home-orbit button.participation-primary{background:var(--orb-gold);color:#172b43;border-color:#a58b52;border-bottom-width:3px}
.home-orbit :is(.participation-actions,.idea-actions,.owner-poll-controls) button:active{translate:0 2px}
.home-orbit :is(.participation-actions,.idea-actions,.owner-poll-controls) button:hover{outline:1px solid currentColor;outline-offset:2px}
.home-orbit :is(.participation-actions,.idea-actions,.owner-poll-controls) button:disabled{cursor:wait;opacity:.65}
.home-orbit .poll-meta{display:flex;flex-wrap:wrap;gap:8px 20px;color:var(--orb-copy);font:400 .95rem/1.5 Sarabun,sans-serif}
.home-orbit :is(#poll-status,#idea-status,#owner-poll-status){min-height:1.7em;font:400 1rem/1.7 Sarabun,sans-serif;margin-top:12px;color:var(--orb-copy)}
.home-orbit .idea-letter{background:#fffaf0;color:#1b2d44;position:relative;rotate:1.5deg;border:1px solid #c7bdab;border-bottom:5px solid #c7bdab;padding:32px;border-radius:12px;margin-top:36px}
.home-orbit #idea-box{scroll-margin-top:150px}
.home-orbit .idea-letter .idea-mascot{width:125px;height:140px;object-fit:contain;position:absolute;right:12px;top:-80px;rotate:8deg;pointer-events:none}
.home-orbit .idea-letter h3{color:#1b2d44;font:500 1.65rem/1.4 Outfit,Mitr,sans-serif;margin:4px 0 12px;padding-right:80px}
.home-orbit .idea-letter p{color:#435167;font:400 1rem/1.65 Sarabun,sans-serif}
.home-orbit .idea-letter label{display:block;font:500 1rem/1.5 Mitr,sans-serif;color:#1b2d44;margin:24px 0 10px}
.home-orbit .idea-letter textarea,.home-orbit .owner-poll-controls :is(input,textarea,select){width:100%;max-width:100%;border:1px solid #8d9cad;border-radius:8px;background:#fffdf8;color:#1b2d44;font:400 1.05rem/1.7 Sarabun,sans-serif;padding:12px;resize:vertical;box-sizing:border-box}
.home-orbit .idea-letter textarea::placeholder{color:#526178}
.home-orbit .idea-limit{text-align:right;font-size:.9rem!important;margin-top:6px!important}
.home-orbit #idea-history{margin-top:22px;border-top:1px solid #c7bdab;padding-top:16px;font:400 1rem/1.6 Sarabun,sans-serif;color:#435167}
.home-orbit #idea-history summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:#243e62}
.home-orbit #idea-history summary::after{content:'＋';margin-left:auto;font-size:1.25rem}.home-orbit #idea-history[open] summary::after{content:'−'}
.home-orbit #idea-history select{width:100%;padding:12px;font:400 1rem/1.5 Sarabun,sans-serif;background:#fffdf8;color:#1b2d44;border:1px solid #8d9cad;border-radius:8px}
.home-orbit .idea-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.home-orbit .idea-actions button{background:#fffdf8;color:#1b2d44;border-color:#8d9cad}
.home-orbit :is(.idea-actions,.owner-poll-controls) button.participation-primary{background:var(--orb-gold);color:#172b43;border-color:#a58b52;border-bottom-width:3px}
.home-orbit :is(.idea-actions,.owner-poll-controls) button:not(.participation-primary){border-color:#708298}
.home-orbit .idea-letter textarea,.home-orbit #idea-history select,.home-orbit .owner-poll-controls :is(input,textarea,select){border-color:#708298}
.home-orbit .idea-letter #idea-status{color:#435167}
.home-orbit .idea-letter .idea-ig{display:inline-flex;gap:10px;align-items:center;min-height:44px;color:#243e62;text-underline-offset:5px;margin-top:18px;font:500 1rem/1.5 Outfit,Mitr,sans-serif}
.home-orbit .idea-receipt{white-space:pre-wrap;overflow-wrap:anywhere;padding:18px 0;color:#1b2d44;font:400 1.05rem/1.7 Sarabun,sans-serif;border-block:1px solid #c7bdab;margin-block:20px}
.home-orbit .owner-community-tools{grid-column:1/-1;border-top:1px solid var(--orb-line);padding-top:20px}
.home-orbit .owner-poll-controls{margin-top:24px;padding:26px;background:#fffaf0;color:#1b2d44;border-radius:12px}
.home-orbit .owner-poll-controls label{display:block;margin:16px 0 8px;font:500 1rem/1.5 Mitr,sans-serif}
.home-orbit .owner-poll-controls button{color:#1b2d44;background:#fffdf8;margin:14px 10px 0 0}
.home-orbit #owner-poll-status{color:#435167}
html[data-theme] .home-orbit #owner-poll-status.participation-error{color:#a12632!important}
.home-orbit .celestial-northstar{border:0;padding:0;background:none;cursor:pointer}
.home-orbit #home-inbox{width:min(720px,calc(100% - 28px));max-height:82dvh;padding:30px;box-sizing:border-box;background:#fffaf0;color:#1b2d44;border:1px solid #8d9cad;border-radius:12px;box-shadow:none}
.home-orbit #home-inbox .close{position:sticky;top:0;float:right;min-width:44px;min-height:44px;border:1px solid #8d9cad;background:#fffdf8;color:#1b2d44;border-radius:50%;cursor:pointer}
.home-orbit #home-inbox h2{font:500 1.8rem/1.4 Mitr,sans-serif;color:#1b2d44;margin:16px 50px 12px 0}
.home-orbit #home-inbox p{color:#435167;font:400 1rem/1.65 Sarabun,sans-serif}
.home-orbit .inbox-entry{border-top:1px solid #c7bdab;padding:20px 0}
.home-orbit .inbox-entry time{color:#526178;font:400 .95rem/1.5 Sarabun,sans-serif}
.home-orbit .inbox-entry p{white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0}
.home-orbit .inbox-pagination button{min-height:44px;margin-right:12px;border:1px solid #8d9cad;background:#fffdf8;color:#1b2d44;padding:10px 16px;border-radius:8px;cursor:pointer}
.home-orbit .participation-error{color:#a12632!important}
html[data-theme=dark] .home-orbit .participation-error{color:#ffc0c6!important}
html[data-theme] .home-orbit .idea-letter .participation-error{color:#a12632!important}
.home-orbit .home-shelf{min-height:1350px}
@media(min-width:1700px){.home-orbit .playground{padding-inline:45px}.home-orbit .portrait-wrap{width:570px;height:570px}.home-orbit .disc{width:500px}.home-orbit .profile-entry{right:5%}}
@media(max-width:1100px) and (min-width:721px){.home-orbit .profile-entry{width:230px!important;right:1%;max-width:25%}.home-orbit .profile-entry .ticket-visual{width:70px!important}.home-orbit .profile-entry .ticket-body strong{font-size:1.2rem}.home-orbit .mascot-scene{left:1%;width:130px}.home-orbit .mascot-play{width:120px;height:145px}.home-orbit .portrait-wrap{width:450px;height:450px}.home-orbit .worlds{gap:12px}.home-orbit .world-title{font-size:1.35rem!important}.home-orbit .world-arrow{bottom:90px}.home-orbit .world-sub{font-size:.95rem!important}.home-orbit .conversation-layout{gap:36px}.home-orbit .idea-letter{padding:26px}.home-orbit .lab-workbench{gap:18px}.home-orbit .lab-tool summary{padding-inline:18px}}
@media(max-width:720px){
 .home-orbit .ak-shell .ak-global .ak-controls .ak-theme{width:52px;min-width:52px;flex-basis:52px}.home-orbit .ak-shell .ak-global .ak-controls .ak-motion{width:62px;min-width:62px;flex-basis:62px}
 .home-orbit .playground{padding:0 16px}.home-orbit .hero-track{height:auto}.home-orbit .stage{height:530px;position:relative;top:0;overflow:hidden}.home-orbit .stage-caption{left:4px;right:4px;top:25px;align-items:start;gap:12px;font-size:1rem}.home-orbit .caption-right{max-width:105px;text-align:right;font-size:.9rem}
 .home-orbit .stage-caption{flex-direction:column;gap:6px}.home-orbit .caption-right{max-width:none;text-align:left;font-size:.9rem}
 .home-orbit .wordmark{top:100px;font-size:16.8vw!important;left:0;width:100%;letter-spacing:-.04em!important;translate:none!important;scale:1!important}
 .home-orbit .portrait-wrap{width:370px;height:370px;max-width:110%;left:50%;bottom:0;translate:none!important;scale:1!important;transform:translateX(-50%)!important}.home-orbit .portrait{transform:none!important}
 .home-orbit .disc{width:300px;top:47%;left:50%;transform:translate(-50%,-35%)!important;translate:none!important;scale:1!important}.home-orbit .orbit{width:370px;top:53%;left:50%}.home-orbit .orbit-two{width:400px}.home-orbit .profile-entry{display:none!important}.home-orbit .stage-bottom{display:none}
 .home-orbit .celestial-northstar{top:13%;right:5%;scale:.55}.home-orbit .hero-companions{display:grid;grid-template-columns:1fr 102px;gap:16px;align-items:center;padding:22px 4px 30px;position:relative}
 .home-orbit .mobile-profile-entry{display:flex!important;position:relative;margin:0!important;min-width:0;width:auto!important;min-height:112px;padding:14px!important;gap:12px!important;max-width:none!important;background:var(--orb-sky)!important;color:var(--orb-ink)!important;border:1px solid var(--orb-line)!important;border-radius:12px!important;box-shadow:none!important;transform:none!important;align-items:center}
 .home-orbit .mobile-profile-entry img{width:46px;height:65px;object-fit:cover;border-radius:5px}.home-orbit .mobile-profile-copy strong{color:var(--orb-ink)!important;font-size:1.05rem!important}.home-orbit .mobile-profile-copy small{color:var(--orb-copy)!important;font-size:.9rem!important;line-height:1.5}.home-orbit .mobile-profile-arrow{position:absolute;right:10px;bottom:10px;font-size:1.2rem}
 .home-orbit .mascot-scene{position:relative!important;inset:auto!important;width:102px!important;transform:none!important;translate:none!important;scale:1!important;margin:0;display:flex;flex-direction:column;align-items:center;gap:0}
 .home-orbit .mascot-play{width:90px!important;height:100px!important;min-height:0;padding:0!important}.home-orbit .mascot-caption{display:none}.home-orbit .mascot-style{min-height:44px;font-size:.8rem;padding:7px 10px}.home-orbit .mascot-spark{display:none}
 .home-orbit .portal-caption{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:0 4px 14px;color:var(--orb-copy);font:500 1rem/1.5 Mitr,sans-serif;text-decoration:none}
 .home-orbit .worlds{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px;padding:20px 0 25px;margin:0!important}.home-orbit .world{min-height:270px;padding:165px 8px 12px!important}.home-orbit .world:nth-child(even){margin-top:22px}.home-orbit .world::before{height:140px;inset:12px 2% auto}.home-orbit .world-art{width:122px!important;height:145px!important;top:0}.home-orbit .world-title{font-size:1.22rem!important;padding-right:0!important;max-width:100%}.home-orbit .world-title-small{font-size:.82em!important}.home-orbit .world-sub{font-size:.95rem!important;line-height:1.6!important;margin-top:8px!important}.home-orbit .world-arrow{top:124px!important;bottom:auto;right:0!important;width:34px!important;height:34px!important;font-size:1.25rem!important}.home-orbit .world:is(:hover,:focus-visible){translate:0 -4px}
 .home-orbit .ex-intro{padding-top:60px!important}.home-orbit .intro-note h2{font-size:2.8rem;max-width:11ch}.home-orbit .intro-note p{font-size:1.1rem}.home-orbit .keepsake-word{font-size:2.5rem}.home-orbit .keepsake-caption{font-size:.85rem}.home-orbit .start-layout{padding-top:35px;gap:22px}.home-orbit .ex-start{padding-bottom:60px}.home-orbit .route-path{padding-block:20px;grid-template-columns:34px minmax(0,1fr) 36px;gap:10px}.home-orbit .route-path h3{font-size:1.15rem}.home-orbit .route-path .route-arrow{width:34px;height:34px}
 .home-orbit .ex-lab{padding-block:60px 65px!important}.home-orbit .lab-layout{gap:35px}.home-orbit .lab-intro{grid-template-columns:1fr 120px;column-gap:12px}.home-orbit .lab-intro h2{font-size:2rem}.home-orbit .lab-intro p{font-size:1rem}.home-orbit .lab-mascot{width:120px;height:155px}.home-orbit .lab-workbench{grid-template-columns:1fr;gap:24px}.home-orbit .lab-workbench-top{flex-wrap:wrap;gap:8px;font-size:1rem}.home-orbit .lab-tool{margin-top:16px!important;rotate:0deg!important}.home-orbit .lab-tool summary{min-height:150px;display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:center;padding:25px 22px}.home-orbit .lab-tool .tool-symbol{margin:0;font-size:2rem}.home-orbit .lab-tool strong{font-size:1.5rem}.home-orbit .lab-tool small{padding-right:12px}.home-orbit .lab-tool .tool-expand{top:12px;right:12px;width:26px;height:26px;font-size:1.2rem}.home-orbit .lab-footnote{margin-top:0!important}
 .home-orbit .ex-conversation{padding-block:60px!important}.home-orbit .conversation-layout{grid-template-columns:1fr;gap:48px}.home-orbit #poll-title{font-size:2rem;min-height:0}.home-orbit .poll-option{padding:16px 12px;gap:10px}.home-orbit .poll-option strong{font-size:1rem}.home-orbit .idea-letter{margin-top:30px;rotate:0deg;padding:26px 22px}.home-orbit .idea-letter h3{padding-right:55px;font-size:1.5rem}.home-orbit .idea-letter .idea-mascot{width:105px;height:120px;top:-65px;right:6px}.home-orbit .owner-poll-controls{padding:22px 16px}.home-orbit #home-inbox{padding:22px;max-height:85dvh}.home-orbit #home-inbox h2{font-size:1.5rem}.home-orbit .home-shelf{min-height:0}
}
@media(max-width:350px){.home-orbit .playground{padding-inline:12px}.home-orbit .stage{height:470px}.home-orbit .stage-caption{font-size:.95rem;gap:8px}.home-orbit .caption-right{font-size:.8rem;max-width:90px}.home-orbit .portrait-wrap{width:325px;height:325px}.home-orbit .disc{width:265px}.home-orbit .hero-companions{grid-template-columns:1fr 84px;gap:10px}.home-orbit .mascot-scene{width:84px!important}.home-orbit .mascot-play{width:80px!important;height:90px!important}.home-orbit .mobile-profile-entry{padding:12px 10px!important;gap:9px!important}.home-orbit .mobile-profile-entry img{width:38px;height:55px}.home-orbit .mobile-profile-copy strong{font-size:.95rem!important}.home-orbit .mobile-profile-copy small{font-size:.85rem!important}.home-orbit .world-title{font-size:1.08rem!important}.home-orbit .world-sub{font-size:.9rem!important}.home-orbit .world-art{width:110px!important}.home-orbit .intro-note h2{font-size:2.5rem}.home-orbit .lab-intro{grid-template-columns:1fr 90px}.home-orbit .lab-mascot{width:95px}.home-orbit .lab-intro h2{font-size:1.7rem}.home-orbit .lab-tool summary{padding:28px 16px;gap:10px;grid-template-columns:38px 1fr}}
/* Paused means movement stops, including below Hero; visual feedback stays. */
html[data-motion=paused] .home-orbit .cosmos-backdrop *, .home-orbit.paused .cosmos-backdrop *, .home-orbit[data-ambient=stopped] .cosmos-backdrop *{animation-play-state:paused!important}
html[data-motion=paused] .home-orbit :is(.world,.world-art,.world-arrow,.profile-entry,.lab-tool,.poll-fill),.home-orbit.paused :is(.world,.world-art,.world-arrow,.profile-entry,.lab-tool,.poll-fill){transition:none!important;translate:none!important}
@media(prefers-reduced-motion:reduce){.home-orbit .cosmos-backdrop *{animation:none!important}.home-orbit :is(.world,.world-art,.world-arrow,.profile-entry,.lab-tool,.poll-fill){transition:none!important;translate:none!important}.home-orbit .hero-track{height:auto}.home-orbit .stage{position:relative;top:0}}
@media(max-width:720px){.home-orbit .lab-intro h2,.home-orbit .lab-intro p{grid-column:1/-1}.home-orbit .lab-mascot{grid-row:1;width:88px;height:96px;align-self:end}}
.home-orbit .lab-workbench-top>span:last-child::before{content:'· ';opacity:.7}
/* 2026-10-16 Audi: topic stickers read as one set (same visible height ~150px) and float gently */
.home-orbit .world-art img{animation:orb-sticker-float 4.8s ease-in-out infinite;transform-origin:50% 60%}
.home-orbit .finance-mascot img{scale:1}
.home-orbit .ai-mascot img{scale:1.34}
.home-orbit .focus-mascot img{scale:.93}
.home-orbit .interests-mascot img{scale:.84}
.home-orbit .world-knowledge .world-art img{animation-delay:-1.2s}
.home-orbit .world-focus .world-art img{animation-delay:-2.4s}
.home-orbit .world-interests .world-art img{animation-delay:-3.6s}
@keyframes orb-sticker-float{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -6px;rotate:1.5deg}}
html[data-motion=paused] .home-orbit .world-art img,.home-orbit.paused .world-art img{animation:none}
@media(prefers-reduced-motion:reduce){.home-orbit .world-art img{animation:none}}
/* 2026-10-16 Audi: hero sky fills the whole screen width; content stays centred */
.home-orbit .stage .night-sky{inset:0 auto 0 50%!important;width:100vw!important;translate:-50% 0;border-radius:0!important}
.home-orbit main,.home-orbit{overflow-x:clip}
.home-orbit .stage{overflow-x:visible!important;overflow-y:clip!important}
.home-orbit .stage #field{inset:0 auto 0 50%!important;width:100vw!important;translate:-50% 0}
/* 2026-10-16 Audi: Lab tools read as chained shut — chain on the top edge, padlock hanging centre, never over text */
.home-orbit .lab-chain{position:absolute;left:-10px;right:-10px;top:-6px;height:14px;z-index:2;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='14'%3E%3Crect x='1.5' y='3' width='17' height='8' rx='4' fill='none' stroke='%235f6b7d' stroke-width='2.6'/%3E%3Crect x='15' y='5.6' width='12' height='2.8' rx='1.4' fill='%235f6b7d'/%3E%3C/svg%3E") repeat-x center/28px 14px;filter:drop-shadow(0 2px 0 #0b1a3020);rotate:-1.5deg}
.home-orbit .lab-chain b{position:absolute;left:50%;top:6px;translate:-50% 0;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#f3d27a;border:2px solid #8a6a1f;box-shadow:0 3px 0 #8a6a1f;font-size:1.25rem;line-height:1;transform-origin:50% -6px;animation:orb-lock-sway 5.5s ease-in-out infinite}
.home-orbit .lab-tool:nth-of-type(2) .lab-chain{rotate:1.5deg}.home-orbit .lab-tool:nth-of-type(2) .lab-chain b{animation-delay:-1.8s}
.home-orbit .lab-tool:nth-of-type(3) .lab-chain b{animation-delay:-3.6s}
.home-orbit .lab-tool .tool-symbol{opacity:.82}
@keyframes orb-lock-sway{0%,100%{rotate:-4deg}50%{rotate:4deg}}
html[data-motion=paused] .home-orbit .lab-chain b,.home-orbit.paused .lab-chain b{animation:none}
@media(prefers-reduced-motion:reduce){.home-orbit .lab-chain b{animation:none}}
@media(max-width:720px){.home-orbit .lab-chain b{left:46px;width:32px;height:32px;border-radius:10px;font-size:1rem}.home-orbit .lab-tool summary{padding-top:46px!important}}
/* 2026-10-16 Audi: results appear after voting; owner edits the poll and reads ideas in place (no toggle panels) */
.home-orbit .poll-options.results-hidden .poll-fill{display:none}
.home-orbit .poll-option.is-mine small{font-weight:700;color:var(--orb-ink)}
.home-orbit .poll-option .poll-fill{background:color-mix(in srgb,var(--orb-gold) 42%,transparent)}
.home-orbit .owner-poll-inline{display:flex;flex-wrap:wrap;gap:10px;margin:2px 0 6px}
.home-orbit .owner-edit{min-height:40px;padding:8px 14px;border:1px dashed #a58b52;border-radius:999px;background:transparent;color:var(--orb-ink);font:500 .95rem/1.4 Mitr,sans-serif;cursor:pointer}
.home-orbit .owner-edit:hover,.home-orbit .owner-edit:focus-visible{background:color-mix(in srgb,var(--orb-gold) 22%,transparent);outline:2px solid var(--orb-ink);outline-offset:2px}
.home-orbit .conversation-choice.is-editing :is(#poll-title,:is(#home-poll-form,.poll-more-form),.poll-meta,#poll-status,#poll-help){display:none}
.home-orbit .owner-poll-editor{margin:14px 0 6px;padding:24px;background:#fffdfa;color:#1b2d44;border:1px solid #cfbf9f;border-bottom:4px solid #cfbf9f;border-radius:12px}
.home-orbit .owner-poll-editor label,.home-orbit .owner-editor-label{display:block;margin:0 0 8px;font:500 1rem/1.5 Mitr,sans-serif;color:#1b2d44}
.home-orbit .owner-poll-editor #owner-question{width:100%;margin-bottom:18px;font:600 1.35rem/1.5 Mitr,sans-serif}
.home-orbit .owner-poll-editor :is(input,select){border:1px solid #708298;border-radius:8px;background:#fff;color:#1b2d44;padding:10px 12px;font:400 1.05rem/1.6 Sarabun,sans-serif;min-width:0}
.home-orbit .owner-option-rows{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:10px;counter-reset:opt}
.home-orbit .owner-option-rows li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;counter-increment:opt}
.home-orbit .owner-option-rows li::before{content:counter(opt);display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e8eef6;color:#1b2d44;font:600 .9rem/1 Outfit,sans-serif}
.home-orbit .owner-option-remove,.home-orbit .owner-option-add{min-height:44px;padding:8px 14px;border-radius:8px;border:1px solid #b84a3a;background:#fff;color:#9b2c1f;font:500 .95rem/1.4 Mitr,sans-serif;cursor:pointer}
.home-orbit .owner-option-add{border:1px dashed #3568a9;color:#244f86;margin-bottom:6px}
.home-orbit :is(.owner-option-remove,.owner-option-add):disabled{opacity:.45;cursor:not-allowed}
.home-orbit .owner-editor-note{margin:10px 0 4px;color:#435167;font:400 .98rem/1.6 Sarabun,sans-serif}
.home-orbit .owner-poll-editor .participation-actions button:not(.participation-primary){background:#fff;color:#1b2d44;border-color:#708298}
.home-orbit .owner-poll-past{margin-top:16px;border-top:1px solid #e3d8c3;padding-top:12px;color:#1b2d44}
.home-orbit .owner-poll-past summary{cursor:pointer;font:500 1rem/1.5 Mitr,sans-serif;min-height:40px;display:flex;align-items:center}
.home-orbit .owner-poll-past select{width:100%;margin:8px 0}
.home-orbit .owner-poll-past button{min-height:44px;padding:8px 14px;border:1px solid #708298;border-radius:8px;background:#fff;color:#1b2d44;cursor:pointer}
.home-orbit .owner-inbox-inline{margin:4px 0 18px;padding:16px;border:1px solid #cfbf9f;border-radius:10px;background:#f6efe0;color:#1b2d44}
.home-orbit .owner-inbox-inline h4{margin:0 0 6px;font:600 1.05rem/1.5 Mitr,sans-serif;color:#1b2d44}
.home-orbit .owner-inbox-inline #inbox-status{margin:0 0 8px;color:#435167;font:400 .95rem/1.6 Sarabun,sans-serif}
.home-orbit .owner-inbox-inline .inbox-entry{padding:10px 0;border-top:1px solid #e3d8c3}
.home-orbit .owner-inbox-inline .inbox-entry time{display:block;color:#5a6577;font:500 .85rem/1.4 Outfit,Sarabun,sans-serif}
.home-orbit .owner-inbox-inline .inbox-entry p{margin:2px 0 0;color:#1b2d44;font:400 1rem/1.6 Sarabun,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere}
.home-orbit .owner-inbox-inline .inbox-pagination{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.home-orbit .owner-inbox-inline .inbox-pagination button{min-height:40px;padding:6px 12px;border:1px solid #708298;border-radius:8px;background:#fff;color:#1b2d44;cursor:pointer}
@media(max-width:720px){.home-orbit .owner-poll-editor{padding:18px}.home-orbit .owner-option-rows li{grid-template-columns:24px minmax(0,1fr) auto}}
.home-orbit .owner-poll-editor :is(label,.owner-editor-label,summary){color:#1b2d44!important}
.home-orbit .owner-poll-editor .owner-editor-note{color:#435167!important}
.home-orbit .owner-inbox-inline :is(h4,.inbox-entry p){color:#1b2d44!important}
.home-orbit .owner-inbox-inline :is(#inbox-status,.inbox-entry time){color:#4a5568!important}
.home-orbit :is(.owner-poll-inline,.owner-inbox-inline,.owner-poll-editor,#owner-poll-undo,#inbox-more)[hidden]{display:none!important}
.home-orbit #owner-poll-status:empty{min-height:0;margin:0}
.home-orbit .owner-option-remove{font-family:Sarabun,sans-serif!important;font-weight:600}
/* 2026-10-16 Audi: "ทำให้ดีกว่านี้ ตอนนี้มันยังดูไม่ค่อยน่ากดเลย" — recommended routes read as tappable paper cards */
.home-orbit .route-paths{display:flex;flex-direction:column;gap:14px;border:0!important}
.home-orbit .route-path{--route-tint:#e8eef6;display:grid;grid-template-columns:58px minmax(0,1fr) 46px;align-items:center;gap:16px;padding:18px 18px!important;background:#fffdfa;color:#1b2d44;border:1px solid #cfbf9f!important;border-bottom:4px solid #cfbf9f!important;border-radius:14px;text-decoration:none;transition:translate 240ms var(--orb-ease),border-color 240ms,background 240ms}
.home-orbit .route-path[data-route-preview=finance]{--route-tint:#dcf1e5}
.home-orbit .route-path[data-route-preview=thesis]{--route-tint:#fbedc9}
.home-orbit .route-path[data-route-preview=ai]{--route-tint:#dde8fb}
.home-orbit .route-path[data-route-preview=watchlist]{--route-tint:#efe2f3}
.home-orbit .route-path .route-stamp{width:58px;height:58px;display:grid;place-items:center;border-radius:14px;background:var(--route-tint);font-size:1.75rem;line-height:1}
.home-orbit .route-path h3{margin:0 0 4px;color:#1b2d44!important;font:600 1.22rem/1.4 Mitr,sans-serif}
.home-orbit .route-path p{margin:0;color:#435167!important;font:400 1rem/1.55 Sarabun,sans-serif}
.home-orbit .route-path .route-arrow{width:46px!important;height:46px!important;display:grid;place-items:center;border-radius:50%;border:1px solid #8e9bad;background:#fff;color:#1b2d44;font-size:1.15rem;transition:background 240ms,border-color 240ms}
.home-orbit .route-path:is(:hover,:focus-visible){translate:0 -4px;border-color:#a58b52!important;background:#fffaf0}
.home-orbit .route-path:is(:hover,:focus-visible) .route-arrow{background:var(--orb-gold);border-color:#a58b52;color:#172b43}
.home-orbit .route-path:focus-visible{outline:3px solid var(--orb-ink);outline-offset:3px}
.home-orbit .route-path:active{translate:0 0}
@media(max-width:720px){.home-orbit .route-path{grid-template-columns:48px minmax(0,1fr) 40px;gap:12px;padding:14px!important}.home-orbit .route-path .route-stamp{width:48px;height:48px;font-size:1.45rem}.home-orbit .route-path .route-arrow{width:40px!important;height:40px!important}.home-orbit .route-path h3{font-size:1.08rem}}
@media(prefers-reduced-motion:reduce){.home-orbit .route-path{transition:none}.home-orbit .route-path:is(:hover,:focus-visible){translate:none}}
html[data-motion=paused] .home-orbit .route-path:is(:hover,:focus-visible){translate:none}
/* 2026-10-16 Audi: "ฝากไอเดียถึงผม ทำไมมันดูไม่ค่อยชัดเลย ดูแตกๆ" — tilted text blocks rasterise blurry; reading cards stay upright */
.home-orbit .idea-letter{rotate:0deg!important}
.home-orbit .lab-tool,.home-orbit .lab-tool:nth-of-type(2),.home-orbit .lab-tool:nth-of-type(3){rotate:0deg!important}
/* 2026-10-16 header redesign: Home keeps the shared control sizes instead of its old fixed widths */
.home-orbit .ak-shell .ak-global .ak-controls :is(.ak-theme,.ak-motion){width:auto!important;min-width:0!important;flex:0 0 auto!important}

/* ── 2026-10-16 polish pass (Audi: "ทำ ux ui design, motion, transition หน้านี้ให้ดีกว่า ทั้ง dark และ light") ── */
/* ☀️ Light = a daytime sky, not grey paper with navy specks. Stars stay (home-orbit brief) but read as sunlit glints. */
html:not([data-theme=dark]) body.home-orbit{background:linear-gradient(180deg,#d9e7f8 0,#e8f0fa 820px,#f1f4f9 1700px,#eef2f8 100%) fixed,#edf2f9}
html:not([data-theme=dark]) .home-orbit .cosmos-backdrop{background:radial-gradient(ellipse 60% 42% at 88% 6%,#fff3d2a8,transparent 70%),radial-gradient(ellipse 50% 40% at 6% 34%,#cfe0f7b0,transparent 70%),radial-gradient(ellipse 55% 45% at 96% 78%,#e4dcf3a0,transparent 70%)}
html:not([data-theme=dark]) .home-orbit .cosmos-backdrop .c-star{color:#ffffff!important;opacity:.95;text-shadow:0 0 6px #7fa6dc,0 0 1px #5b83bd}
html:not([data-theme=dark]) .home-orbit .cosmos-backdrop .c-dot{background:#fff;box-shadow:0 0 0 1px #b9cde8,0 0 7px 1px #9dbbe4;opacity:.9}
html:not([data-theme=dark]) .home-orbit .cosmos-backdrop .cosmos-shooting-star{background:linear-gradient(90deg,transparent,#ffffff 70%,#9dbbe4);filter:drop-shadow(0 0 3px #9dbbe4)}
/* 🌙 Dark keeps the night sky; a faint aurora lifts the lower page so it never reads as flat black. */
html[data-theme=dark] body.home-orbit{background:linear-gradient(180deg,#0a1830 0,#081326 900px,#071226 60%,#0a1630 100%) fixed,#081326}

/* ✦ Section seams: a hairline that fades out at both ends, so sections flow instead of boxing the page. */
.home-orbit :is(.start-layout,.ex-lab,.ex-conversation){border-top:1px solid transparent!important;border-image:linear-gradient(90deg,transparent,var(--orb-line) 18%,var(--orb-line) 82%,transparent) 1}

/* 🧭 World entrances: every title on one line (Finance no longer wraps), larger readable arrow. */
.home-orbit .world-title{white-space:nowrap;text-wrap:nowrap}
.home-orbit .world-arrow{width:44px!important;height:44px!important;font-size:1.25rem!important;box-shadow:0 2px 0 color-mix(in srgb,var(--portal-edge) 35%,transparent)}
.home-orbit .world:is(:hover,:focus-visible) .world-arrow{background:var(--orb-gold)!important;border-color:#a58b52!important;color:#172b43!important}
.home-orbit .world::before{box-shadow:0 0 0 0 transparent;transition:transform 350ms var(--orb-ease),background 240ms,box-shadow 350ms var(--orb-ease)}
.home-orbit .world:is(:hover,:focus-visible)::before{box-shadow:0 18px 40px -12px color-mix(in srgb,var(--portal-edge) 55%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--portal-edge) 40%,transparent)}
.home-orbit .world:focus-visible{outline:3px solid var(--orb-gold);outline-offset:6px;border-radius:14px!important}

/* 🗳️ Poll: one paper box like the idea letter beside it (never navy-on-navy rows). */
.home-orbit :is(#home-poll-form,.poll-more-form){color-scheme:light;background:#fffaf0;border:1px solid #c7bdab;border-bottom:5px solid #c7bdab;border-radius:14px;padding:22px 22px 6px;margin-top:22px;color:#1b2d44}
.home-orbit :is(#home-poll-form,.poll-more-form) .poll-options{margin:0 0 6px}
.home-orbit :is(#home-poll-form,.poll-more-form) .poll-option{background:#fffdf8;border-color:#d9cfbc;color:#1b2d44;transition:border-color 180ms,background 180ms,translate 180ms var(--orb-ease)}
.home-orbit :is(#home-poll-form,.poll-more-form) .poll-option:hover{border-color:#a58b52;background:#fff7e6;translate:0 -2px}
.home-orbit :is(#home-poll-form,.poll-more-form) .poll-option:has(:checked){border-color:#1b2d44;outline:1px solid #1b2d44;background:#fff4d9}
.home-orbit :is(#home-poll-form,.poll-more-form) .poll-option .poll-fill{background:#f1e2bd}
.home-orbit :is(#home-poll-form,.poll-more-form) .poll-option small{color:#435167}
.home-orbit :is(#home-poll-form,.poll-more-form) .poll-option:has(:focus-visible){outline:3px solid #1b2d44}
.home-orbit :is(#home-poll-form,.poll-more-form) .participation-actions button:not(.participation-primary){background:#fff;color:#1b2d44;border-color:#8e9bad}
.home-orbit :is(#home-poll-form,.poll-more-form) .participation-actions button:not(.participation-primary):hover{border-color:#1b2d44}
.home-orbit :is(#home-poll-form,.poll-more-form) .participation-actions button:active{translate:0 2px}
/* Zero votes is not a result: hide "0% · 0 เสียง" until at least one voice exists. */
.home-orbit .poll-options.results-hidden .poll-option small{display:none}

/* 🔤 Small labels readable (≥14px). */
.home-orbit .series-ep-btn{font-size:.9rem!important;min-height:38px;display:inline-flex!important;align-items:center;gap:5px;padding:6px 12px!important;transition:translate 160ms var(--orb-ease),background 160ms,border-color 160ms}
.home-orbit .series-ep-btn:hover{translate:0 -2px;border-color:#a58b52!important;background:#fff4d9!important}
.home-orbit .deepdive-sector,.home-orbit .deepdive-company{font-size:.9rem!important}
.home-orbit .deepdive-all-btn{font-size:.95rem!important;min-height:44px}

/* 📚 Research cards lift like the route rows; the gold button presses in. */
html[data-theme] body.home-orbit .deepdive-card{transition:translate 280ms var(--orb-ease),box-shadow 280ms var(--orb-ease),border-color 200ms!important}
html[data-theme] body.home-orbit .deepdive-card:hover{translate:0 -6px;box-shadow:0 22px 40px -22px #0b1b3366!important;border-color:#a58b52!important}
.home-orbit .deepdive-primary-btn{transition:translate 160ms var(--orb-ease),filter 160ms}
.home-orbit .deepdive-primary-btn:hover{filter:brightness(1.05)}
.home-orbit .deepdive-primary-btn:active{translate:0 2px}

/* 💬 Social rows: arrow nudges toward the destination. */
.home-orbit .connect-item .connect-cue{transition:translate 200ms var(--orb-ease)}
.home-orbit .connect-item:is(:hover,:focus-visible) .connect-cue{translate:4px 0}
.home-orbit .connect-icon-box{transition:scale 220ms var(--orb-ease),rotate 220ms var(--orb-ease)}
.home-orbit .connect-item:is(:hover,:focus-visible) .connect-icon-box{scale:1.08;rotate:-6deg}

/* 🔒 Lab folders: equal height so the chained row reads as one set, not broken cards. */
.home-orbit .lab-workbench{align-items:stretch}
/* Equal-height folders come from the grid stretch; the summary must NOT be forced to 100% or an opened detail spills below the card. */
.home-orbit .lab-tool{display:flex;flex-direction:column}
.home-orbit .lab-tool:not([open]) summary{flex:1}
.home-orbit .lab-tool .tool-detail{overflow-wrap:break-word}

@media(prefers-reduced-motion:reduce){.home-orbit :is(.world::before,.series-ep-btn,.deepdive-primary-btn,.connect-item .connect-cue,.connect-icon-box,:is(#home-poll-form,.poll-more-form) .poll-option){transition:none!important}html[data-theme] body.home-orbit .deepdive-card{transition:none!important}html[data-theme] body.home-orbit .deepdive-card:hover,.home-orbit :is(#home-poll-form,.poll-more-form) .poll-option:hover,.home-orbit .series-ep-btn:hover{translate:none}.home-orbit .connect-item:is(:hover,:focus-visible) :is(.connect-cue,.connect-icon-box){translate:none;scale:1;rotate:0deg}}
html[data-motion=paused] body.home-orbit .deepdive-card:hover,html[data-motion=paused] .home-orbit :is(:is(#home-poll-form,.poll-more-form) .poll-option:hover,.series-ep-btn:hover){translate:none}
@media(max-width:720px){.home-orbit .world-title{white-space:normal;text-wrap:balance}.home-orbit :is(#home-poll-form,.poll-more-form){padding:16px 14px 4px}}
.home-orbit .lab-tool,.home-orbit .lab-tool:nth-of-type(2),.home-orbit .lab-tool:nth-of-type(3){margin-top:16px!important}
/* Thai display headings that break onto two lines need room for tone marks (render_sweep crampAudit). */
.home-orbit :is(#recommended-title,#members-title,.intro-note h2){line-height:1.45!important}
@media(max-width:720px){.home-orbit .world-title,.home-orbit .route-path h3,.home-orbit .deepdive-primary-btn span{line-height:1.5!important}}
/* Cold-read fixes 2026-10-16: one left edge for every section, chains stay inside the row, no misread offsets. */
.home-orbit .nw{white-space:nowrap}
.home-orbit .home-connect .connect-copy{padding-left:0!important;margin-left:0!important}
.home-orbit .coffee-support{max-width:1180px!important;width:calc(100% - 40px);padding-inline:0!important}
.home-orbit .lab-tool:first-of-type .lab-chain{left:0!important}
.home-orbit .lab-tool:last-of-type .lab-chain{right:0!important}
.home-orbit .lab-tool .tool-symbol{opacity:1!important}
.home-orbit .lab-tool small{max-width:30ch}
.home-orbit #poll-title{min-height:0!important}
.home-orbit .deepdive-card-pltr{margin-top:0!important}
@media(max-width:720px){.home-orbit .world:nth-child(even){margin-top:0}.home-orbit .lab-tool .lab-chain{left:0!important;right:0!important;width:auto!important}.home-orbit .connect-copy{padding-inline:0!important}}
.home-orbit .home-connect{padding-inline:0!important}
/* Hero sky fades into the page sky instead of ending on a hard line under the portrait. */
.home-orbit .stage .night-sky{-webkit-mask-image:linear-gradient(180deg,#000 62%,transparent 100%);mask-image:linear-gradient(180deg,#000 62%,transparent 100%)}
html:not([data-theme=dark]) .home-orbit .stage .night-sky{background:radial-gradient(ellipse at 80% 18%,#fff6dc99,transparent 55%),radial-gradient(ellipse at 15% 60%,#c9dcf466,transparent 60%)!important}
.home-orbit .shelf-deepdives-grid{align-items:stretch!important}
/* ▶ EP buttons: hover keeps dark ink on the cream fill (an older rule forced white text = unreadable). */
html[data-theme] body.home-orbit .series-ep-btn:hover{color:#172b43!important;background:#f6e3b4!important;border-color:#a58b52!important}
html[data-theme] body.home-orbit .series-ep-btn:hover::before{color:#8a6a1f!important}
/* 📅 Research cards: logo + ticker + date sit on the same line in both cards; long sector names wrap under the ticker instead of pushing the date down. */
.home-orbit .shelf-deepdives-grid{grid-template-columns:1fr 1fr!important}
.home-orbit .deepdive-card-top{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;flex-wrap:nowrap}
.home-orbit .deepdive-brand{min-width:0}
.home-orbit .deepdive-meta{min-width:0}
.home-orbit .deepdive-date-pill{white-space:nowrap;align-self:start}
@media(max-width:720px){.home-orbit .shelf-deepdives-grid{grid-template-columns:1fr!important}.home-orbit .deepdive-card-top{grid-template-columns:1fr}.home-orbit .deepdive-date-pill{justify-self:start}}
/* 🛠️ Status lives in its own tag, not inside the section title. */
.home-orbit .status-tag{grid-column:1;justify-self:start;display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:5px 14px;border-radius:999px;font:600 .95rem/1.3 Mitr,sans-serif;margin:0 0 14px}
.home-orbit .status-building{background:#fef3c7;color:#92400e;border:1px solid #f59e0b}
html[data-theme=dark] .home-orbit .status-building{background:#3a2c0e;color:#fcd98a;border-color:#b7862b}
/* 🖼️ Start guide = a page preview window (placeholder until real captures go into PREVIEW_SHOTS in home-experience.js). */
.home-orbit .route-preview{width:min(100%,340px);min-height:0;display:block;margin:28px 0 0}
.home-orbit .preview-window{border-radius:12px;overflow:hidden;border:1px solid #c7bdab;border-bottom-width:4px;background:#fffaf0;box-shadow:0 18px 36px -24px #0b1b3380;transition:translate 240ms var(--orb-ease),border-color 200ms}
.home-orbit .preview-bar{display:flex;align-items:center;gap:6px;padding:9px 12px;background:#f1e9da;border-bottom:1px solid #ddd1bb}
.home-orbit .preview-bar i{width:9px;height:9px;border-radius:50%;background:#d3c4a8}
.home-orbit .preview-bar i:nth-child(1){background:#e98b7a}.home-orbit .preview-bar i:nth-child(2){background:#e9c46a}.home-orbit .preview-bar i:nth-child(3){background:#8fc9a0}
.home-orbit .preview-url{margin-left:8px;flex:1;min-width:0;padding:3px 10px;border-radius:999px;background:#fff;color:#435167;font:500 .85rem/1.4 Outfit,Sarabun,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-orbit .preview-body{position:relative;aspect-ratio:16/10;display:grid;place-content:center;justify-items:center;gap:8px;padding:18px;text-align:center;background:linear-gradient(160deg,var(--preview-tint,#e8eef6),#fffaf0 75%);transition:background 240ms}
.home-orbit .route-preview[data-guide=finance]{--preview-tint:#cdebd8}.home-orbit .route-preview[data-guide=thesis]{--preview-tint:#f7e5b5}
.home-orbit .route-preview[data-guide=ai]{--preview-tint:#d3e2fb}.home-orbit .route-preview[data-guide=watchlist]{--preview-tint:#ead9f0}
.home-orbit .preview-shot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}
.home-orbit .route-preview.has-shot :is(.preview-emoji,.preview-title){visibility:hidden}
.home-orbit .preview-emoji{font-size:2.6rem;line-height:1;transition:scale 240ms var(--orb-ease)}
.home-orbit .preview-title{color:#1b2d44;font:600 1.1rem/1.45 Mitr,sans-serif;max-width:22ch}
.home-orbit .preview-soon{display:inline-flex;padding:3px 10px;border-radius:999px;border:1px dashed #b6a98f;color:#5b4a2a;font:500 .85rem/1.4 Sarabun,sans-serif}
.home-orbit .preview-soon[hidden]{display:none}
.home-orbit .route-preview:not([data-guide=explore]) .preview-window{border-color:#a58b52;translate:0 -4px}
.home-orbit .route-preview:not([data-guide=explore]) .preview-emoji{scale:1.12}
.home-orbit .route-preview .guide-label{position:static;display:block;margin-top:12px;white-space:normal;color:var(--orb-copy);font:500 .95rem/1.5 Mitr,sans-serif}
@media(max-width:720px){.home-orbit .route-preview{display:none}}
@media(prefers-reduced-motion:reduce){.home-orbit :is(.preview-window,.preview-emoji,.preview-body){transition:none}.home-orbit .route-preview:not([data-guide=explore]) .preview-window{translate:none}}
html[data-motion=paused] .home-orbit .route-preview:not([data-guide=explore]) .preview-window{translate:none}
.home-orbit .lab-mascot{grid-row:1/5}@media(max-width:720px){.home-orbit .lab-intro .status-tag{grid-column:1/-1}}
.home-orbit .route-preview .preview-shot{rotate:0deg;width:100%;height:100%}
.home-orbit .route-preview .preview-shot[hidden]{display:none!important}
.home-orbit .route-preview{width:100%!important;max-width:380px;padding:0!important}.home-orbit .route-preview .preview-window{width:100%;box-sizing:border-box}
.home-orbit .route-preview .guide-label{text-align:left}

/* ══ 2026-10-16 objects pass (Audi: "สีขาวอาจจะไม่เข้ากับ dark mode north star theme … ให้สร้างสรรค์ที่สุด เช่น … แฟ้มที่โดนโซ่ล็อคอยู่")
   Every section is a real object from Home's world, not a white rectangle (impeccable PREFLIGHT line 26):
   routes = star chart · clips = film strip · research = boarding pass · lab = chained folders (kept) ·
   poll = ballot box · idea = sealed envelope · coffee = receipt. Dark objects use deep tonal navy + gold edge
   light; light mode gets its own paper-and-ink pair. ══ */
body.home-orbit{--obj-a:#14264a;--obj-b:#0b1630;--obj-edge:rgba(226,201,143,.32);--obj-ink:#f1f4fb;--obj-ink2:#c4cfe2;--obj-gold:#E5C586;--obj-hole:#081326;--obj-slot:#040a17;--obj-shadow:0 22px 44px -26px rgba(0,0,0,.75)}
html:not([data-theme=dark]) body.home-orbit{--obj-a:#ffffff;--obj-b:#f2f6fc;--obj-edge:#c3cfdf;--obj-ink:#14243c;--obj-ink2:#44546b;--obj-gold:#a07a26;--obj-slot:#1b2d44;--obj-shadow:0 20px 40px -28px rgba(27,45,68,.35)}

/* 🌌 Star chart — the four first steps are stars on one dotted route */
.home-orbit .route-paths{position:relative;border:0!important;background:none!important}
.home-orbit .route-path{background:none!important;border:0!important;border-radius:14px!important;box-shadow:none!important;position:relative;padding:20px 12px!important;grid-template-columns:64px minmax(0,1fr) 48px!important}
.home-orbit .route-path:not(:last-child)::after{content:"";position:absolute;left:calc(12px + 31px);top:calc(20px + 62px);bottom:-20px;border-left:2px dotted color-mix(in srgb,var(--obj-gold) 65%,transparent);pointer-events:none}
.home-orbit .route-path .route-stamp{width:62px!important;height:62px!important;border-radius:50%!important;rotate:0deg!important;background:radial-gradient(circle at 50% 45%,rgba(255,240,196,.22),rgba(14,28,56,.0) 70%),var(--obj-b)!important;border:1px solid var(--obj-edge);box-shadow:0 0 0 6px color-mix(in srgb,var(--obj-gold) 9%,transparent),0 0 22px -4px color-mix(in srgb,var(--obj-gold) 55%,transparent);transition:box-shadow 260ms var(--orb-ease),scale 260ms var(--orb-ease)}
.home-orbit .route-path h3{color:var(--obj-ink)!important}
.home-orbit .route-path p{color:var(--obj-ink2)!important}
.home-orbit .route-path .route-arrow{background:transparent!important;border:1px solid var(--obj-edge)!important;color:var(--obj-ink)!important}
.home-orbit .route-path:is(:hover,:focus-visible){background:color-mix(in srgb,var(--obj-a) 55%,transparent)!important;translate:4px 0!important}
.home-orbit .route-path:is(:hover,:focus-visible) .route-stamp{scale:1.08;box-shadow:0 0 0 7px color-mix(in srgb,var(--obj-gold) 18%,transparent),0 0 34px -2px color-mix(in srgb,var(--obj-gold) 80%,transparent)}
.home-orbit .route-path:is(:hover,:focus-visible) h3{color:var(--obj-gold)!important}
.home-orbit .route-path:is(:hover,:focus-visible) .route-arrow{background:var(--orb-gold)!important;border-color:#a58b52!important;color:#172b43!important}
html:not([data-theme=dark]) .home-orbit .route-path .route-stamp{background:radial-gradient(circle at 50% 40%,#fff8e3,#ffffff 72%)!important}
/* the preview window is a night screen in dark mode */
html[data-theme=dark] .home-orbit .preview-window{background:var(--obj-b);border-color:var(--obj-edge)}
html[data-theme=dark] .home-orbit .preview-bar{background:#16294f;border-bottom-color:rgba(255,255,255,.08)}
html[data-theme=dark] .home-orbit .preview-url{background:#0a1428;color:#c4cfe2}
html[data-theme=dark] .home-orbit .preview-body{background:linear-gradient(160deg,color-mix(in srgb,var(--preview-tint,#1b2f57) 22%,#0b1630),#0b1630 78%)}
html[data-theme=dark] .home-orbit .preview-title{color:#f1f4fb}
html[data-theme=dark] .home-orbit .preview-soon{color:#e8d6a6;border-color:rgba(226,201,143,.45)}

/* 🎞️ Film strip — clip posters sit in dark film frames with sprocket holes */
html[data-theme] body.home-orbit .latest-cover{border:0!important;outline:0!important;border-radius:6px!important;background-color:#0b0e17!important;padding:22px 9px!important;background-image:radial-gradient(circle 3.6px,rgba(232,236,245,.82) 92%,transparent 100%),radial-gradient(circle 3.6px,rgba(232,236,245,.82) 92%,transparent 100%)!important;background-size:17px 22px,17px 22px!important;background-position:3px 0,3px 100%!important;background-repeat:repeat-x!important;box-shadow:0 18px 34px -18px rgba(0,0,0,.8)!important}
html[data-theme] body.home-orbit .latest-cover img{border-radius:2px!important}

/* 🎫 Boarding pass — research cards are tickets with notches and a tear-off stub */
html[data-theme] body.home-orbit .shelf-deepdives-grid .deepdive-card{display:grid!important;grid-template-columns:minmax(0,1fr) 220px;grid-template-areas:"top stub" "content stub";align-content:start;background:linear-gradient(150deg,var(--obj-a),var(--obj-b))!important;color:var(--obj-ink)!important;border:1px solid var(--obj-edge)!important;border-radius:18px!important;box-shadow:var(--obj-shadow)!important;padding:0!important;overflow:visible;
  -webkit-mask:radial-gradient(circle 13px at calc(100% - 220px) 0,#0000 97%,#000) top/100% 51% no-repeat,radial-gradient(circle 13px at calc(100% - 220px) 100%,#0000 97%,#000) bottom/100% 51% no-repeat;
          mask:radial-gradient(circle 13px at calc(100% - 220px) 0,#0000 97%,#000) top/100% 51% no-repeat,radial-gradient(circle 13px at calc(100% - 220px) 100%,#0000 97%,#000) bottom/100% 51% no-repeat}
.home-orbit .shelf-deepdives-grid .deepdive-card-top{grid-area:top;padding:22px 22px 0}
.home-orbit .shelf-deepdives-grid .deepdive-card-content{grid-area:content;padding:6px 22px 22px}
.home-orbit .shelf-deepdives-grid .deepdive-card-bottom{grid-area:stub;display:flex!important;flex-direction:column;justify-content:center;gap:16px;padding:24px 20px!important;margin:0!important;border:0!important;border-left:2px dashed color-mix(in srgb,var(--obj-gold) 55%,transparent)!important;background:color-mix(in srgb,var(--obj-gold) 6%,transparent)}
.home-orbit .shelf-deepdives-grid .deepdive-card-bottom::before{content:"🎫 BOARDING · STOCK HUB";font:700 .72rem/1.3 Outfit,sans-serif;letter-spacing:.12em;color:var(--obj-gold)}
.home-orbit .shelf-deepdives-grid .deepdive-card :is(.deepdive-card-headline){color:var(--obj-ink)!important}
.home-orbit .shelf-deepdives-grid .deepdive-card :is(.deepdive-card-prose,.deepdive-sector,.deepdive-company,.series-label){color:var(--obj-ink2)!important}
.home-orbit .shelf-deepdives-grid .deepdive-date-pill{background:color-mix(in srgb,var(--obj-gold) 14%,transparent)!important;color:var(--obj-ink)!important;border:1px solid var(--obj-edge)!important}
.home-orbit .shelf-deepdives-grid .deepdive-primary-btn{justify-content:center;text-align:center}
.home-orbit .shelf-deepdives-grid .deepdive-series-widget{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
html[data-theme] body.home-orbit .shelf-deepdives-grid .series-ep-btn{background:transparent!important;color:var(--obj-ink)!important;border:1px solid var(--obj-edge)!important}
html[data-theme] body.home-orbit .shelf-deepdives-grid .series-ep-btn:hover{background:var(--orb-gold)!important;color:#172b43!important;border-color:#a58b52!important}
html[data-theme=dark] body.home-orbit .shelf-deepdives-grid .ticker-badge{background:rgba(255,255,255,.08)!important;color:#f1f4fb!important;border-color:rgba(255,255,255,.18)!important}
html[data-theme] body.home-orbit .shelf-deepdives-grid .deepdive-card:hover{translate:0 -6px;border-color:color-mix(in srgb,var(--obj-gold) 70%,transparent)!important}
@media(max-width:900px){html[data-theme] body.home-orbit .shelf-deepdives-grid .deepdive-card{grid-template-columns:1fr;grid-template-areas:"top" "content" "stub";-webkit-mask:none;mask:none}.home-orbit .shelf-deepdives-grid .deepdive-card-bottom{border-left:0!important;border-top:2px dashed color-mix(in srgb,var(--obj-gold) 55%,transparent)!important}}

/* 🗳️ Ballot box — a slot on top, options are ballot slips with a gold token */
.home-orbit :is(#home-poll-form,.poll-more-form){color-scheme:dark;position:relative;background:linear-gradient(160deg,var(--obj-a),var(--obj-b))!important;border:1px solid var(--obj-edge)!important;border-bottom:6px solid color-mix(in srgb,var(--obj-gold) 40%,var(--obj-b))!important;border-radius:16px!important;padding:46px 22px 8px!important;color:var(--obj-ink)!important;box-shadow:var(--obj-shadow)}
html:not([data-theme=dark]) .home-orbit :is(#home-poll-form,.poll-more-form){color-scheme:light}
.home-orbit :is(#home-poll-form,.poll-more-form)::before{content:"";position:absolute;top:16px;left:50%;translate:-50% 0;width:44%;height:9px;border-radius:999px;background:var(--obj-slot);box-shadow:inset 0 2px 3px rgba(0,0,0,.6),0 1px 0 rgba(255,255,255,.12)}
.home-orbit :is(#home-poll-form,.poll-more-form) .poll-option{background:color-mix(in srgb,var(--obj-ink) 5%,transparent)!important;border:1px dashed var(--obj-edge)!important;border-radius:10px!important;color:var(--obj-ink)!important}
.home-orbit :is(#home-poll-form,.poll-more-form) .poll-option:hover{background:color-mix(in srgb,var(--obj-gold) 10%,transparent)!important;border-style:solid!important}
.home-orbit :is(#home-poll-form,.poll-more-form) .poll-option:has(:checked){border:1px solid var(--obj-gold)!important;outline:0!important;background:color-mix(in srgb,var(--obj-gold) 14%,transparent)!important}
.home-orbit :is(#home-poll-form,.poll-more-form) .poll-option strong{color:var(--obj-ink)!important}
.home-orbit :is(#home-poll-form,.poll-more-form) .poll-option small{color:var(--obj-ink2)!important}
.home-orbit :is(#home-poll-form,.poll-more-form) .poll-option .poll-fill{background:color-mix(in srgb,var(--obj-gold) 22%,transparent)!important}
.home-orbit :is(#home-poll-form,.poll-more-form) .poll-option input{appearance:none;-webkit-appearance:none;width:24px!important;height:24px!important;border-radius:50%;border:2px solid var(--obj-gold);background:transparent;display:grid;place-items:center;cursor:pointer;transition:background 180ms,box-shadow 180ms}
.home-orbit :is(#home-poll-form,.poll-more-form) .poll-option input:checked{background:radial-gradient(circle,#fff6d6 0 28%,var(--orb-gold) 32% 100%);box-shadow:0 0 12px color-mix(in srgb,var(--obj-gold) 70%,transparent)}
.home-orbit :is(#home-poll-form,.poll-more-form) .poll-option input:focus-visible{outline:3px solid var(--obj-gold);outline-offset:3px}
html[data-theme] .home-orbit :is(#home-poll-form,.poll-more-form) .participation-actions button:not(.participation-primary){background:transparent!important;color:var(--obj-ink)!important;border:1px solid var(--obj-edge)!important}

/* ✉️ Sealed envelope — the private idea is a letter with a flap and a gold wax seal */
html[data-theme] body.home-orbit .idea-letter{color-scheme:dark;background:linear-gradient(170deg,var(--obj-a),var(--obj-b))!important;color:var(--obj-ink)!important;border:1px solid var(--obj-edge)!important;border-bottom:1px solid var(--obj-edge)!important;border-radius:14px!important;padding:96px 30px 30px!important;box-shadow:var(--obj-shadow)!important;overflow:visible}
html:not([data-theme=dark]) body.home-orbit .idea-letter{color-scheme:light}
.home-orbit .idea-letter::before{content:"";position:absolute;left:0;right:0;top:0;height:92px;border-radius:14px 14px 0 0;background:linear-gradient(180deg,color-mix(in srgb,var(--obj-gold) 16%,var(--obj-a)),var(--obj-a));clip-path:polygon(0 0,100% 0,50% 100%);border-bottom:0;pointer-events:none;filter:drop-shadow(0 6px 6px rgba(0,0,0,.25))}
.home-orbit .idea-letter::after{content:"💌";position:absolute;left:50%;top:66px;translate:-50% 0;width:52px;height:52px;display:grid;place-items:center;font-size:1.4rem;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f6dc9a,#c99a3b 60%,#8c6720);box-shadow:0 0 0 3px rgba(140,103,32,.35),0 6px 14px rgba(0,0,0,.35);pointer-events:none}
.home-orbit .idea-letter .idea-mascot{z-index:2}
html[data-theme] body.home-orbit .idea-letter :is(h3,label){color:var(--obj-ink)!important}
html[data-theme] body.home-orbit .idea-letter :is(p,.idea-limit,.participation-note,#idea-status,#idea-history){color:var(--obj-ink2)!important}
html[data-theme] body.home-orbit .idea-letter textarea,html[data-theme] body.home-orbit .idea-letter #idea-history select{background:color-mix(in srgb,var(--obj-b) 70%,#000 10%)!important;color:var(--obj-ink)!important;border:1px solid var(--obj-edge)!important}
html:not([data-theme=dark]) body.home-orbit .idea-letter textarea,html:not([data-theme=dark]) body.home-orbit .idea-letter #idea-history select{background:#ffffff!important}
html[data-theme] body.home-orbit .idea-letter textarea::placeholder{color:color-mix(in srgb,var(--obj-ink2) 80%,transparent)!important}
html[data-theme] body.home-orbit .idea-letter textarea:focus{outline:2px solid var(--obj-gold);outline-offset:2px}
html[data-theme] body.home-orbit .idea-letter #idea-history{border-top-color:var(--obj-edge)!important}
html[data-theme] body.home-orbit .idea-letter #idea-history summary,html[data-theme] body.home-orbit .idea-letter .idea-ig{color:var(--obj-ink)!important}
html[data-theme] body.home-orbit .idea-letter .idea-actions button:not(.participation-primary){background:transparent!important;color:var(--obj-ink)!important;border:1px solid var(--obj-edge)!important}
html[data-theme] body.home-orbit .idea-letter .owner-inbox-inline{background:color-mix(in srgb,var(--obj-b) 75%,#000 8%)!important;border-color:var(--obj-edge)!important}
html[data-theme] body.home-orbit .idea-letter .owner-inbox-inline :is(h4,p,time){color:var(--obj-ink)!important}
html[data-theme] body.home-orbit .idea-letter .owner-inbox-inline .inbox-entry{border-top-color:var(--obj-edge)!important}
html[data-theme=dark] body.home-orbit .idea-letter .participation-error{color:#ffb8bf!important}

/* 🧾 Receipt — the QR sits on its own white plate (scannable) inside a zigzag-edged slip */
html[data-theme] body.home-orbit .coffee-qr{position:relative;background:linear-gradient(180deg,var(--obj-a),var(--obj-b))!important;border:0!important;border-radius:0!important;padding:44px 18px 30px!important;box-shadow:var(--obj-shadow);
  -webkit-mask:conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) top/18px 51% repeat-x,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/18px 51% repeat-x;
          mask:conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) top/18px 51% repeat-x,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/18px 51% repeat-x}
.home-orbit .coffee-qr::before{content:"☕ ใบเสร็จค่ากาแฟ · ขอบคุณครับ";position:absolute;left:18px;right:18px;top:18px;text-align:center;font:600 .8rem/1.3 Outfit,Mitr,sans-serif;letter-spacing:.06em;color:var(--obj-gold);border-bottom:1px dashed var(--obj-edge);padding-bottom:8px}
html[data-theme] body.home-orbit .coffee-qr img{background:#fff;padding:8px;border-radius:10px!important}

@media(prefers-reduced-motion:reduce){.home-orbit .route-path .route-stamp,.home-orbit :is(#home-poll-form,.poll-more-form) .poll-option input{transition:none}}
html[data-motion=paused] .home-orbit .route-path:is(:hover,:focus-visible) .route-stamp{scale:1}
@media(max-width:720px){.home-orbit .route-path{grid-template-columns:52px minmax(0,1fr) 40px!important;padding:16px 8px!important}.home-orbit .route-path .route-stamp{width:50px!important;height:50px!important}.home-orbit .route-path:not(:last-child)::after{left:calc(8px + 25px);top:calc(16px + 50px);bottom:-16px}html[data-theme] body.home-orbit .idea-letter{padding:90px 20px 24px!important}}
/* boarding pass layout fix: wider stub, date stays under the airline line in every ticket, EP chips wrap */
html[data-theme] body.home-orbit .shelf-deepdives-grid .deepdive-card{grid-template-columns:minmax(0,1fr) 250px;
  -webkit-mask:radial-gradient(circle 13px at calc(100% - 250px) 0,#0000 97%,#000) top/100% 51% no-repeat,radial-gradient(circle 13px at calc(100% - 250px) 100%,#0000 97%,#000) bottom/100% 51% no-repeat;
          mask:radial-gradient(circle 13px at calc(100% - 250px) 0,#0000 97%,#000) top/100% 51% no-repeat,radial-gradient(circle 13px at calc(100% - 250px) 100%,#0000 97%,#000) bottom/100% 51% no-repeat}
.home-orbit .shelf-deepdives-grid .deepdive-card-top{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
.home-orbit .shelf-deepdives-grid .deepdive-date-pill{justify-self:start}
.home-orbit .shelf-deepdives-grid .deepdive-brand{display:flex;align-items:center;gap:12px;min-width:0}
.home-orbit .shelf-deepdives-grid .deepdive-badges{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.home-orbit .shelf-deepdives-grid .deepdive-primary-btn{width:100%;white-space:normal;line-height:1.35}
.home-orbit .shelf-deepdives-grid .series-pills{display:flex;flex-wrap:wrap;gap:6px}
.home-orbit .shelf-deepdives-grid .deepdive-card-bottom{min-width:0}
@media(max-width:1100px) and (min-width:901px){.home-orbit .shelf-deepdives-grid{grid-template-columns:1fr!important}}
@media(max-width:900px){html[data-theme] body.home-orbit .shelf-deepdives-grid .deepdive-card{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"top" "content" "stub"!important;-webkit-mask:none!important;mask:none!important}.home-orbit .shelf-deepdives-grid .deepdive-card-bottom{border-left:0!important;border-top:2px dashed color-mix(in srgb,var(--obj-gold) 55%,transparent)!important}.home-orbit .shelf-deepdives-grid .series-pills{flex-direction:row}}
/* envelope: content starts below the wax seal (seal overlapped the title on phones) */
html[data-theme] body.home-orbit .idea-letter{padding-top:132px!important}
@media(max-width:720px){html[data-theme] body.home-orbit .idea-letter{padding-top:128px!important}}
html[data-theme=dark] .home-orbit :is(#home-poll-form,.poll-more-form) .poll-option .poll-fill{background:linear-gradient(90deg,rgba(229,197,134,.34),rgba(229,197,134,.16))!important}
html:not([data-theme=dark]) body.home-orbit .idea-letter textarea,html:not([data-theme=dark]) body.home-orbit .idea-letter #idea-history select{border:1.5px solid #6f7f97!important}
html[data-theme=dark] body.home-orbit .idea-letter textarea,html[data-theme=dark] body.home-orbit .idea-letter #idea-history select{background:#0a1428!important;color-scheme:dark}
/* cold-read fixes 2026-10-16: make each object read as itself */
/* star chart: every stop is a little North Star (cross rays), not a timeline dot */
.home-orbit .route-path .route-stamp{position:relative;overflow:visible}
.home-orbit .route-path .route-stamp::before{content:"";position:absolute;left:50%;top:50%;width:104px;height:104px;translate:-50% -50%;pointer-events:none;z-index:-1;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--obj-gold) 75%,transparent) 50%,transparent) center/100% 1.5px no-repeat,linear-gradient(0deg,transparent,color-mix(in srgb,var(--obj-gold) 75%,transparent) 50%,transparent) center/1.5px 100% no-repeat;opacity:.75;transition:opacity 260ms,scale 260ms var(--orb-ease)}
.home-orbit .route-path:is(:hover,:focus-visible) .route-stamp::before{opacity:1;scale:1.15}
.home-orbit .route-paths::before{content:"✦  ✧        ✦      ✧    ✦";position:absolute;right:56px;top:-8px;color:color-mix(in srgb,var(--obj-gold) 70%,transparent);font-size:.8rem;letter-spacing:.3em;white-space:pre;pointer-events:none}
/* ballot box: a slip is half-way into the slot, the box says what it is */
.home-orbit :is(#home-poll-form,.poll-more-form)::after{content:"🗳️ VOTE";position:absolute;top:-14px;left:50%;translate:-50% 0;rotate:-4deg;padding:6px 16px 8px;border-radius:3px;background:#f3ead4;color:#3b2f17;font:800 .72rem/1 Outfit,sans-serif;letter-spacing:.14em;box-shadow:0 4px 10px rgba(0,0,0,.3);clip-path:inset(0 0 9px 0);pointer-events:none}
html[data-theme] .home-orbit :is(#home-poll-form,.poll-more-form){margin-top:36px!important}
.home-orbit .conversation-choice .poll-meta{margin-top:18px}
.home-orbit #poll-status{margin-top:8px}
/* receipt: printed lines like a real till slip */
.home-orbit .coffee-qr::before{content:"AUDIKUNG CAFÉ\A 1 × ☕ กาแฟ ············ ใจล้วนๆ\A ─────────────────\A สแกนจ่าย · ขอบคุณครับ";white-space:pre;font:600 .74rem/1.55 ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;letter-spacing:.02em;color:var(--obj-ink);border-bottom:1px dashed var(--obj-edge);padding-bottom:10px}
html[data-theme] body.home-orbit .coffee-qr{padding-top:104px!important}
/* members intro on phones: eyebrow + mascot, then title, tag, text — mascot never on top of words */
@media(max-width:720px){.home-orbit .lab-intro{grid-template-columns:1fr 92px!important;grid-template-rows:auto auto auto auto}
 .home-orbit .lab-intro .ex-note{grid-column:1;grid-row:1}.home-orbit .lab-intro .lab-mascot{grid-column:2;grid-row:1/3!important;width:88px;height:96px;align-self:start}
 .home-orbit .lab-intro h2{grid-column:1/-1;grid-row:2}.home-orbit .lab-intro .status-tag{grid-column:1/-1;grid-row:3}.home-orbit .lab-intro p{grid-column:1/-1;grid-row:4}}

/* ══ 2026-10-17 materials pass (Audi: "บอร์ดดิ้งพาส มันยังดูไม่สวยป่ะ เพราะ สีมันเหมือนพื้นหลังรึป่าว? … ตรงควรเริ่มทำ YouTube ดีไหม? และ 💌 ฝากไอเดียถึงผม ด้วย")
   Objects on the night sky get a real material that is clearly lighter than the sky (≥1.5:1 luminance), not the sky's own navy. ══ */
html[data-theme=dark] body.home-orbit{--mat-dusk-a:#2a4a80;--mat-dusk-b:#1a315a;--mat-dusk-edge:rgba(170,198,240,.35);--mat-gold-a:#ecd08f;--mat-gold-b:#cfa955;--mat-gold-ink:#2a1f0b;--mat-brass-a:#d9b56a;--mat-brass-b:#94712c}
html:not([data-theme=dark]) body.home-orbit{--mat-dusk-a:#ffffff;--mat-dusk-b:#eef3fb;--mat-dusk-edge:#b8c6da;--mat-gold-a:#f3dca3;--mat-gold-b:#e1bf72;--mat-gold-ink:#2a1f0b;--mat-brass-a:#d9b56a;--mat-brass-b:#a37f35}

/* 🎫 boarding pass: dusk-blue ticket + champagne-gold tear-off stub */
html[data-theme] body.home-orbit .shelf-deepdives-grid .deepdive-card{background:linear-gradient(150deg,var(--mat-dusk-a),var(--mat-dusk-b))!important;border:1px solid var(--mat-dusk-edge)!important;box-shadow:0 26px 48px -26px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.12)!important}
.home-orbit .shelf-deepdives-grid .deepdive-card-bottom{background:linear-gradient(180deg,var(--mat-gold-a),var(--mat-gold-b))!important;border-left:2px dashed rgba(42,31,11,.45)!important;border-radius:0 17px 17px 0}
.home-orbit .shelf-deepdives-grid .deepdive-card-bottom::before{color:var(--mat-gold-ink)!important}
html[data-theme] body.home-orbit .shelf-deepdives-grid .deepdive-card-bottom .series-label{color:var(--mat-gold-ink)!important}
html[data-theme] body.home-orbit .shelf-deepdives-grid .deepdive-primary-btn{background:#13264a!important;color:#f4dfa8!important;border:1px solid #13264a!important;box-shadow:0 3px 0 #0a1428!important}
html[data-theme] body.home-orbit .shelf-deepdives-grid .deepdive-primary-btn .btn-arr{color:#f4dfa8!important}
html[data-theme] body.home-orbit .shelf-deepdives-grid .series-ep-btn{background:rgba(255,255,255,.35)!important;color:var(--mat-gold-ink)!important;border:1px solid rgba(42,31,11,.45)!important}
html[data-theme] body.home-orbit .shelf-deepdives-grid .series-ep-btn::before{color:var(--mat-gold-ink)!important}
html[data-theme] body.home-orbit .shelf-deepdives-grid .series-ep-btn:hover{background:#13264a!important;color:#f4dfa8!important;border-color:#13264a!important}
@media(max-width:900px){.home-orbit .shelf-deepdives-grid .deepdive-card-bottom{border-left:0!important;border-top:2px dashed rgba(42,31,11,.45)!important;border-radius:0 0 17px 17px}}

/* 🗳️ ballot box: dusk-blue box under a brass lid that carries the slot */
.home-orbit :is(#home-poll-form,.poll-more-form){background:linear-gradient(165deg,var(--mat-dusk-a),var(--mat-dusk-b))!important;border:1px solid var(--mat-dusk-edge)!important;border-bottom:6px solid color-mix(in srgb,var(--mat-dusk-b) 70%,#000)!important;padding-top:62px!important;box-shadow:0 26px 48px -26px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.1)!important}
.home-orbit :is(#home-poll-form,.poll-more-form)::before{top:0!important;left:0!important;right:0;translate:none!important;width:auto!important;height:40px!important;border-radius:15px 15px 0 0!important;
  background:linear-gradient(#050b18,#050b18) center 16px/46% 9px no-repeat,linear-gradient(180deg,var(--mat-brass-a),var(--mat-brass-b))!important;box-shadow:inset 0 -2px 0 rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.35)!important}
.home-orbit :is(#home-poll-form,.poll-more-form)::after{top:-8px!important;z-index:1}
html[data-theme=dark] .home-orbit :is(#home-poll-form,.poll-more-form) .poll-option{background:rgba(255,255,255,.07)!important;border-color:var(--mat-dusk-edge)!important}

/* ✉️ envelope: dusk-blue paper, lighter flap, gold wax seal */
html[data-theme] body.home-orbit .idea-letter{background:linear-gradient(170deg,var(--mat-dusk-a),var(--mat-dusk-b))!important;border:1px solid var(--mat-dusk-edge)!important;box-shadow:0 26px 48px -26px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.1)!important}
html[data-theme=dark] .home-orbit .idea-letter::before{background:linear-gradient(180deg,#3e629c,#2c4c80)!important}
html:not([data-theme=dark]) .home-orbit .idea-letter::before{background:linear-gradient(180deg,#e3ebf7,#f4f7fc)!important}
html[data-theme=dark] body.home-orbit .idea-letter textarea,html[data-theme=dark] body.home-orbit .idea-letter #idea-history select{background:#0f1f3d!important}

/* ══ 2026-10-17 looks (Audi: "ดูดีขึ้นนะ แต่มันดีขึ้นได้อีกไหม สีน้ำเงินนี่โอเคยัง หรือว่าพัฒนาให้ดูดี ดูหรู ดูสบายตาได้อีก")
   Audi chose A "Midnight Luxe" ("ทำเลย"): low-saturation navy-slate satin, gold-foil hairline, champagne satin stub/lid; applied to every Home object. ══ */
/* the envelope flap reads its colours from tokens so every look can recolour it */
html[data-theme=dark] .home-orbit .idea-letter::before{background:linear-gradient(180deg,var(--mat-flap-a,#3e629c),var(--mat-flap-b,#2c4c80))!important}
html:not([data-theme=dark]) .home-orbit .idea-letter::before{background:linear-gradient(180deg,var(--mat-flap-a,#e3ebf7),var(--mat-flap-b,#f4f7fc))!important}

/* A · Midnight Luxe — low-saturation navy-slate satin, gold-foil hairline, champagne stub */
html[data-theme=dark] body.home-orbit{--mat-dusk-a:#34405f;--mat-dusk-b:#1d2640;--mat-dusk-edge:rgba(233,208,150,.42);--mat-gold-a:#ecdcb4;--mat-gold-b:#c9ab6c;--mat-gold-ink:#2b2212;--mat-brass-a:#e3c88e;--mat-brass-b:#9b7a3c;--mat-flap-a:#46557a;--mat-flap-b:#323e5e;--mat-foil:linear-gradient(135deg,#f2e1b4 0%,#a8853f 32%,#f6e6bd 55%,#8f6d2e 80%,#e9d3a0 100%)}
html:not([data-theme=dark]) body.home-orbit{--mat-dusk-a:#fffdf8;--mat-dusk-b:#f4f1ea;--mat-dusk-edge:#d9c79f;--mat-gold-a:#efe0bb;--mat-gold-b:#d5b876;--mat-gold-ink:#2b2212;--mat-brass-a:#dcc18a;--mat-brass-b:#a8863f;--mat-flap-a:#efe6d3;--mat-flap-b:#faf6ee;--mat-foil:linear-gradient(135deg,#e9d39e 0%,#b08d45 32%,#f1e0b4 55%,#9c7a35 80%,#e2c98f 100%)}
/* gold-foil hairline: the border is a metallic gradient, the fill stays satin */
body.home-orbit :is(.shelf-deepdives-grid .deepdive-card,:is(#home-poll-form,.poll-more-form),.idea-letter){border:1.5px solid transparent!important;background:linear-gradient(155deg,var(--mat-dusk-a),var(--mat-dusk-b)) padding-box,var(--mat-foil) border-box!important}
html[data-theme] body.home-orbit :is(.shelf-deepdives-grid .deepdive-card,:is(#home-poll-form,.poll-more-form),.idea-letter){box-shadow:0 30px 60px -34px rgba(0,0,0,.85),0 0 0 1px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.14)!important}
html:not([data-theme=dark]) body.home-orbit :is(.shelf-deepdives-grid .deepdive-card,:is(#home-poll-form,.poll-more-form),.idea-letter){box-shadow:0 26px 50px -32px rgba(64,48,20,.35)!important}
body.home-orbit :is(#home-poll-form,.poll-more-form){border-bottom-width:1.5px!important}
/* satin sheen on the stub and the lid */
body.home-orbit .shelf-deepdives-grid .deepdive-card-bottom{background:linear-gradient(115deg,rgba(255,255,255,.28) 0%,rgba(255,255,255,0) 38%),linear-gradient(180deg,var(--mat-gold-a),var(--mat-gold-b))!important}


/* Luxe carried to the other objects (Audi 2026-10-17 "ทำเลย"): one finish across Home */
body.home-orbit{--obj-a:var(--mat-dusk-a);--obj-b:var(--mat-dusk-b);--obj-edge:var(--mat-dusk-edge)}
/* star chart: each star sits in a satin disc with a gold-foil ring */
.home-orbit .route-path .route-stamp{border:1.5px solid transparent!important;background:radial-gradient(circle at 50% 40%,rgba(255,240,196,.22),transparent 70%) padding-box,linear-gradient(155deg,var(--mat-dusk-a),var(--mat-dusk-b)) padding-box,var(--mat-foil) border-box!important}
/* preview window: satin screen with a foil frame */
.home-orbit .preview-window{border:1.5px solid transparent!important;background:linear-gradient(155deg,var(--mat-dusk-a),var(--mat-dusk-b)) padding-box,var(--mat-foil) border-box!important}
html[data-theme=dark] .home-orbit .preview-bar{background:color-mix(in srgb,var(--mat-dusk-a) 80%,#fff 6%)!important}
html[data-theme=dark] .home-orbit .preview-body{background:linear-gradient(160deg,color-mix(in srgb,var(--preview-tint,#46557a) 18%,var(--mat-dusk-a)),var(--mat-dusk-b) 80%)!important}
/* receipt: satin slip, champagne print, foil rule under the header */
html[data-theme] body.home-orbit .coffee-qr{background:linear-gradient(180deg,var(--mat-dusk-a),var(--mat-dusk-b))!important}
.home-orbit .coffee-qr::before{color:var(--obj-ink)!important;border-bottom:1px dashed var(--mat-dusk-edge)!important}

/* 🗳️ 2026-10-17 several open questions, stacked (Audi: "อีกคำถามมันควรต่อข้างล่างเลยไหม ถ้าอยู่ตรงนี้คนนึกว่าไม่ใช่ปุ่มด้วยซ้ำ เพราะสีมันกลืน").
   Each further question is its own ballot box under the first, same box + same buttons; a small "ข้อ N จาก M" label tells them apart. */
.home-orbit .poll-num{display:inline-block;margin:10px 0 2px;padding:3px 12px;border-radius:999px;font:600 .9rem/1.5 Mitr,sans-serif;color:var(--mat-gold-ink,#2b2212);background:linear-gradient(180deg,var(--mat-gold-a,#ecdcb4),var(--mat-gold-b,#c9ab6c))}
.home-orbit .poll-more-item{margin-top:44px;padding-top:30px;border-top:1px dashed color-mix(in srgb,var(--orb-gold,#e5c586) 45%,transparent)}
.home-orbit .poll-more-title{margin:6px 0 16px;font:600 clamp(1.5rem,2.6vw,2.2rem)/1.3 Mitr,sans-serif;color:var(--orb-ink)}
.home-orbit .poll-more-item [role=status]{min-height:1.4em}
.home-orbit .owner-edit.owner-quiet{border-style:dotted;color:var(--orb-ink)}
.home-orbit .owner-editor-mode{margin:0 0 10px;font:600 1.05rem/1.4 Mitr,sans-serif;color:#1b2d44}
/* 2026-10-17 (Audi: "ควรมี ? หน่อยไหม คนอาจจะอ่านข้ามโซนนี้ แล้ว 🗳️ มาช่วยตัดสินใจกับ ข้อ 1 จาก 2 มันติดกันเกินไปไหม"):
   a hopping pixel ? block leads the kicker so the zone stops the scroll; the "ข้อ N จาก M" pill sits on its own line, away from it. */
.home-orbit .poll-kicker{display:flex;align-items:center;gap:12px;font:600 1.15rem/1.4 Mitr,sans-serif;color:var(--orb-ink)}
.home-orbit .poll-kicker [data-ak-px]{margin-right:0}
.home-orbit .conversation-choice>.poll-num{display:table;margin:22px 0 4px}
/* 🪟 2026-10-17 world preview (Audi: "ตอนชี้ไปแล้ว ทำให้ตรงวงรีมันขึ้นเป็นรูป screen หน้านั้นๆ แต่อยู่ในรูปวงรี"):
   on hover/focus the tilted portal straightens and shows a real screenshot of that page (theme-matched), the mascot hops up and shrinks to a corner
   so the screen is readable. Shots live in assets/public-home/world-shots/{world}-{dark|light}.webp (refresh when a page changes look). */
.home-orbit .world{--shot:none}
html[data-theme=dark] .home-orbit .world-finance{--shot:url(/assets/public-home/world-shots/finance-dark.webp)}
html[data-theme=dark] .home-orbit .world-knowledge{--shot:url(/assets/public-home/world-shots/knowledge-dark.webp)}
html[data-theme=dark] .home-orbit .world-focus{--shot:url(/assets/public-home/world-shots/focus-dark.webp)}
html[data-theme=dark] .home-orbit .world-interests{--shot:url(/assets/public-home/world-shots/interests-dark.webp)}
html:not([data-theme=dark]) .home-orbit .world-finance{--shot:url(/assets/public-home/world-shots/finance-light.webp)}
html:not([data-theme=dark]) .home-orbit .world-knowledge{--shot:url(/assets/public-home/world-shots/knowledge-light.webp)}
html:not([data-theme=dark]) .home-orbit .world-focus{--shot:url(/assets/public-home/world-shots/focus-light.webp)}
html:not([data-theme=dark]) .home-orbit .world-interests{--shot:url(/assets/public-home/world-shots/interests-light.webp)}
@media (hover:hover){
  .home-orbit .world:is(:hover,:focus-visible)::before{transform:rotate(0deg) scaleY(1);background:radial-gradient(ellipse at center,transparent 58%,color-mix(in srgb,var(--portal-edge,#e5c586) 35%,transparent) 100%),var(--shot) center top/cover no-repeat,var(--portal)}
  /* 2026-10-17 (Audi: "sticker มันทับกัน"): the mascot steps aside completely so the screen inside the portal is clean */
  .home-orbit .world:is(:hover,:focus-visible) .world-art{translate:0 -30px!important;scale:.5;opacity:0}
}
.home-orbit .world .world-art{transition:translate 350ms var(--orb-ease),scale 350ms var(--orb-ease),rotate 350ms var(--orb-ease),opacity 250ms ease}
@media (prefers-reduced-motion:reduce){.home-orbit .world .world-art{transition:none}}
/* 🧱 2026-10-17 community wall door under the private letter (Audi: "ข้างล่างกล่องจดหมาย 💌 ฝากไอเดียถึงผม ทำอีกกล่องดีไหม เป็นโยงไปหน้า community wall ที่ให้คนมาพิมได้").
   A real object: a framed cork board with pinned paper notes; the paper label carries the words so ink always sits on paper.
   The letter = private to Audi, the board = public to everyone; the copy says which is which. */
.home-orbit .conversation-side{display:grid;gap:34px;align-content:start}
.home-orbit .wall-board{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:18px;align-items:center;padding:22px;border-radius:14px;text-decoration:none;color:#1b2d44;
  border:8px solid #8a5a2b;box-shadow:inset 0 0 0 1px rgba(0,0,0,.25),inset 0 6px 14px rgba(0,0,0,.35),0 24px 44px -26px rgba(0,0,0,.75);
  background:radial-gradient(circle at 20% 30%,rgba(255,255,255,.08) 0 1px,transparent 2px) 0 0/9px 9px,radial-gradient(circle at 70% 60%,rgba(0,0,0,.12) 0 1px,transparent 2px) 0 0/7px 7px,linear-gradient(160deg,#c89a62,#a97a45);
  transition:transform .25s var(--orb-ease,ease),box-shadow .25s ease}
.home-orbit .wall-board:hover,.home-orbit .wall-board:focus-visible{transform:translateY(-3px) rotate(-.4deg);box-shadow:inset 0 0 0 1px rgba(0,0,0,.25),inset 0 6px 14px rgba(0,0,0,.35),0 30px 54px -26px rgba(0,0,0,.8)}
.home-orbit .wall-board:focus-visible{outline:3px solid #e5c586;outline-offset:4px}
.home-orbit .wall-notes{position:relative;min-height:128px}
.home-orbit .wall-notes .wn{position:absolute;display:inline-block;padding:12px 12px 10px;font:500 .95rem/1.3 Mitr,sans-serif;font-style:normal;color:#2b2212;border-radius:3px;box-shadow:0 8px 14px -8px rgba(0,0,0,.55)}
.home-orbit .wall-notes .wn::before{content:'';position:absolute;top:-6px;left:50%;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ff9b9b,#c62828 70%);box-shadow:0 2px 3px rgba(0,0,0,.4)}
.home-orbit .wn1{left:2%;top:6px;background:#fff3a6;rotate:-6deg}
.home-orbit .wn2{left:34%;top:44px;background:#cfeaff;rotate:4deg}
.home-orbit .wn3{left:6%;top:82px;background:#ffd6e0;rotate:-2deg}
.home-orbit .wall-label{display:grid;gap:8px;padding:16px 18px;background:#fffaf0;border-radius:6px;border-bottom:4px solid #d8c9a8;rotate:1deg;box-shadow:0 10px 18px -10px rgba(0,0,0,.5)}
.home-orbit .wall-label h3{margin:0;font:600 1.3rem/1.3 Mitr,sans-serif;color:#1b2d44}
.home-orbit .wall-label #wall-desc{font:400 1rem/1.55 Sarabun,sans-serif;color:#3c4a5e}
.home-orbit .wall-label b{color:#7a4a12}
.home-orbit .wall-go{justify-self:start;margin-top:2px;padding:8px 14px;border-radius:999px;background:linear-gradient(180deg,#ecdcb4,#c9ab6c);color:#2b2212;font:600 .95rem/1 Mitr,sans-serif;box-shadow:0 3px 0 #9b7a3c}
.home-orbit .wall-board:hover .wall-go{background:linear-gradient(180deg,#f3e6c4,#d6b97c)}
@media (max-width:560px){.home-orbit .wall-board{grid-template-columns:1fr}.home-orbit .wall-notes{min-height:112px}}
@media (prefers-reduced-motion:reduce){.home-orbit .wall-board{transition:none}.home-orbit .wall-board:hover{transform:none}}
html[data-motion=paused] .home-orbit .wall-board{transition:none}
/* 2026-10-17: an older rule painted the "+" in "ความรู้ + AI" white on hover in every theme; on the light sky it vanished. Light keeps the blue. */
html:not([data-theme=dark]) body .world-knowledge:is(:hover,:focus-visible) .plus{color:#245be0!important}

/* 📔 2026-10-17 B · leather cover + paper page (Audi chose "แบบB" over flat colour boxes: "diary เป็นสี luxury blue ไม่สวย … ควรเปลี่ยนสี default").
   Same language as the About diary door he loved: a leather frame with stitching, warm paper inside, dark ink. Both themes.
   Cover colour follows the object's job: oxblood = visitors write to Audi (poll, idea letter), cognac = research cards. */
body.home-orbit :is(#home-poll-form,.poll-more-form,.idea-letter,.shelf-deepdives-grid .deepdive-card){
  --cv-a:#7a2e3e;--cv-b:#3e1520;
  --obj-ink:#2a2118;--obj-ink2:#5a4a36;--obj-edge:#cdb994;--obj-gold:#8e6a22;
  border:14px solid transparent!important;border-radius:16px!important;
  background:radial-gradient(140% 90% at 50% 0%,#fffaf0,#f6eedb 70%,#efe4cb) padding-box,radial-gradient(120% 80% at 18% 0%,rgba(255,214,190,.2),transparent 55%) border-box,linear-gradient(160deg,var(--cv-a),var(--cv-b)) border-box!important;
  background-color:#f6eedb!important;
  outline:1.5px dashed rgba(229,197,134,.62);outline-offset:-8px;
  box-shadow:0 34px 60px -30px rgba(0,0,0,.85),inset 0 0 0 1px rgba(90,60,25,.25)!important}
html:not([data-theme=dark]) body.home-orbit :is(#home-poll-form,.poll-more-form,.idea-letter,.shelf-deepdives-grid .deepdive-card){box-shadow:0 28px 50px -30px rgba(62,21,32,.5),inset 0 0 0 1px rgba(90,60,25,.25)!important}
body.home-orbit .shelf-deepdives-grid .deepdive-card:not(#_){--cv-a:#8a4b2a;--cv-b:#4a2414}
body.home-orbit :is(#home-poll-form,.poll-more-form){border-bottom-width:14px!important}
html[data-theme] body.home-orbit :is(#home-poll-form,.poll-more-form,.idea-letter) :is(h3,label,legend,p,small){color:var(--obj-ink)}
html[data-theme] body.home-orbit :is(#home-poll-form,.poll-more-form) .poll-option{background:#fffaf0!important;border:1px solid #d4c4a0!important;color:var(--obj-ink)!important}
html[data-theme] body.home-orbit :is(#home-poll-form,.poll-more-form) .poll-option:hover{background:#fbefd2!important;border-color:#b08a3a!important}
html[data-theme] body.home-orbit :is(#home-poll-form,.poll-more-form) .poll-option:has(:checked){background:#f6e3b4!important;border:1.5px solid #8e6a22!important}
html[data-theme] body.home-orbit :is(#home-poll-form,.poll-more-form) .poll-option .poll-fill{background:linear-gradient(90deg,rgba(201,162,79,.38),rgba(201,162,79,.16))!important}
html[data-theme] body.home-orbit .idea-letter textarea,html[data-theme] body.home-orbit .idea-letter #idea-history select{background:#fffdf7!important;color:#2a2118!important;border:1.5px solid #c9ab6c!important;color-scheme:light}
html[data-theme] body.home-orbit .idea-letter textarea::placeholder{color:#7a6a52!important}
html[data-theme] body.home-orbit .idea-letter textarea:focus{outline:2px solid #8e2c3d;outline-offset:2px}
html[data-theme] .home-orbit .idea-letter::before{background:linear-gradient(180deg,#efe4cb,#e3d4b2)!important}
/* owner inbox inside the paper letter = a darker paper slip, not the old navy panel (Audi 2026-10-17: "สีมันแปลกๆไหม" — dark ink sat on navy) */
html[data-theme] body.home-orbit .idea-letter .owner-inbox-inline{background:#efe2c4!important;border:1.5px dashed #b08a3a!important;border-radius:10px;color:#2a2118!important}
html[data-theme] body.home-orbit .idea-letter .owner-inbox-inline :is(h4,.inbox-entry p){color:#2a2118!important}
html[data-theme] body.home-orbit .idea-letter .owner-inbox-inline :is(#inbox-status,.inbox-entry time){color:#5a4a36!important}
html[data-theme] body.home-orbit .idea-letter .owner-inbox-inline .inbox-entry{border-top-color:#d4c4a0!important}
html[data-theme] body.home-orbit .idea-letter .owner-inbox-inline .inbox-pagination button{background:#fffaf0!important;color:#2a2118!important;border:1px solid #b08a3a!important}
html[data-theme] body.home-orbit .idea-letter .owner-inbox-inline .inbox-pagination button:hover{background:#f6e3b4!important}
/* small objects: star-chart stamps = cognac leather discs, preview = a real dark screen bezel, receipt = paper slip */
.home-orbit .route-path .route-stamp{background:radial-gradient(circle at 50% 38%,rgba(255,230,190,.28),transparent 70%) padding-box,linear-gradient(160deg,#8a4b2a,#4a2414) padding-box,var(--mat-foil) border-box!important}
.home-orbit .preview-window{background:linear-gradient(160deg,#2a2622,#141210) padding-box,var(--mat-foil) border-box!important}
html[data-theme=dark] .home-orbit .preview-bar{background:#2f2a25!important}
html[data-theme] body.home-orbit .coffee-qr{background:radial-gradient(140% 90% at 50% 0%,#fffaf0,#f6eedb 70%) #f6eedb!important;--obj-ink:#2a2118;--obj-ink2:#5a4a36;--mat-dusk-edge:#cdb994;color:#2a2118}
html[data-theme] body.home-orbit .shelf-deepdives-grid .deepdive-card .ticker-badge{color:#2a2118!important;background:#efe2c4!important;border:1px solid #c9b48a!important}
html[data-theme] body.home-orbit :is(#home-poll-form,.poll-more-form) .poll-option{background:#fffdf8!important;border:1px solid #b39c72!important}

/* 12d: emoji sit bare, no box behind them on any page (Audi 2026-10-18: "จำไว้ใช้กับทุกหน้าด้วย ไม่มีกล่องหลัง emoji") */
html .home-orbit .route-path .route-stamp,html:not([data-theme=dark]) .home-orbit .route-path .route-stamp,html[data-theme=dark] .home-orbit .route-path .route-stamp{background:none!important;border-color:transparent!important;box-shadow:none!important;font-size:2.3rem!important;line-height:1}
