/* Porcelain / orchid / rose. Separate revision: approved art and previous themes stay intact. */
:root{--paper:#fbfcff;--ink:#21263f;--muted:#65728a;--pink:#ed4f99;--pink-light:#fff0f7;--lime:#d9f8ed;--line:#dfe5f0;--violet:#6552d6;--rose-text:#b83573;--mint-ink:#276c60}
body{background:var(--paper);isolation:isolate}
body>.site-header,body>main,body>.site-footer,body>.local-preview{position:relative;z-index:1}
::selection{background:#e5d9ff;color:#302358}
.local-preview{background:#eef2ff;color:#5d6284;border-bottom:1px solid #e0e6fa}
.site-header{border-color:#e5e8f5}.site-header nav{background:#ffffffd9;border-color:#e2e6f2;box-shadow:0 4px 20px #5750a805}
.brand-symbol{background:linear-gradient(145deg,#f454a0,#a75bea);box-shadow:0 4px 12px #db5fa51a;color:white}.brand-symbol>span{color:#8b68e8}
.brand small{color:#6b7089}.motion-switch span{background:#e9e4ff;border-color:#d6ccfc;color:#5643a6}.motion-switch[aria-pressed=true] span{background:#f0f2f7;border-color:#dde2ed;color:#646c80}
.primary{background:linear-gradient(120deg,#25283f,#453275);box-shadow:0 4px 0 #dcd6ef,0 8px 24px #6651b214;color:#fff}
.primary:hover{background:linear-gradient(120deg,#393353,#5f40a2);box-shadow:0 6px 0 #d9d0ed,0 12px 28px #6950b921}
.secondary{background:#f6eaff;color:#6a3d9a}.secondary:hover{background:#eedefb}
.text-link{border-bottom-color:#c5c8da}.green-text{color:#298775}
.status-dot{background:#9471ee;box-shadow:0 0 0 4px #eee8ff}
.hero-description,.hero-bottom{color:var(--muted)}.hero-bottom b{color:var(--ink)}
.happy-word{color:#dc428e}.hero-star{color:#9780e9}
@supports(background-clip:text){.happy-word{background:linear-gradient(105deg,#f34e9a 5%,#ce4eb5 60%,#9860df);background-clip:text;-webkit-background-clip:text;color:transparent}}
.happy-word svg{stroke:#ec69ac}
.hero-art>img{mask-image:radial-gradient(ellipse 73% 69% at 50% 50%,#000 62%,transparent 100%)}
.art-orbit{border-color:#d8caf8;background:radial-gradient(ellipse at center,#f1eaff77,transparent 68%)}
.art-ticket{background:#ffffff;border-color:#e4e4f1;box-shadow:0 8px 24px #6851a110}.art-ticket::before{background:#cbdcffaa}
.sticker-pink{background:#ffcbdf;color:#8f3162}.sticker{border-color:#fff;box-shadow:0 4px 0 #efacd0}
.joy-sticker>span{color:#d6c9ff;text-shadow:0 3px 0 #ac92ed}.joy-sticker small{color:#51417e}
.note-faces i{background:#ffe0ef;color:#b53778}.note-faces i+i{background:#ece5ff;color:#7860b6}
.play-invitation button{background:#f3edff;border-color:#d9cafb;color:#6344a0;box-shadow:0 2px 0 #ebe1ff}
.play-invitation button:hover{background:#ede2ff;box-shadow:0 0 0 4px #eee5ff99}
.play-invitation>span{color:#6f728b}
#constellation-toggle[aria-pressed=true]{background:#6540ad;color:white;border-color:#6540ad}
#constellation-status{color:#6d6488}
.ribbon{background:linear-gradient(90deg,#fff0f7,#f5efff);border-color:#eedaf4}
.ribbon span{color:#924a88}.ribbon b{color:#b56bcd}
.search-box{border-color:#cfd5e5}.filters .active{background:#3d325d;color:white}
.game-card{background:#fff;border-color:#e1e5f2;box-shadow:0 6px 0 #ececf8}
.game-card:hover,.game-card.depth-card:hover{border-color:#c6b5f4;box-shadow:0 8px 0 #e4def8,0 20px 45px #6c51ac12}
.game-category{color:var(--rose-text)}.game-status{background:#f5f6ff;border-color:#e1e4f4;color:#67708c}
.game-tags>span{background:#f0f3ff;color:#596485}
.game-actions .button{background:linear-gradient(115deg,#34304e,#6242a7);color:white}.game-actions .button:hover{background:linear-gradient(115deg,#41375e,#7851c4)}
.idea-teaser{background:linear-gradient(145deg,#eae4ff,#f5eaff);border-color:#d6c6fa;box-shadow:0 6px 0 #e0d5f4}
.idea-teaser p{color:#6a5b87}.idea-teaser .corner-label{color:#6d4fa8}
.paper-shapes>span{background:#fff;border-color:#c6b3f0;box-shadow:3px 4px 0 #cfbff1;color:#8261b9}
.paper-shapes>i,.paper-shapes>b{color:#ab8cda}.teaser-stamp{border-color:#b598d8;color:#7c5ca3}
.empty-state{background:#fff;border-color:#d7cbea}
.ranking-section{background:linear-gradient(115deg,#f3f0ffed,#eef5ffed);border-color:#e1ddf8}
.ranking-intro>.eyebrow,.ranking-intro>p:not(.eyebrow),.ranking-explainer p{color:#69708b}
.ranking-intro h2 span,.ranking-label>span{color:#8561d9}.ranking-explainer{border-color:#d7d5ed}
.leaderboard-card{background:#fff;border-color:#dddff4;box-shadow:0 7px 0 #e0def3}
.board-header .eyebrow{color:#757993}.board-header h3>span{color:#9571df}
.demo-badge{background:#f0ebff;color:#6c50a6}
.board-sources .active{background:#6a4ec0;border-color:#6a4ec0}
select{background:#f5f6ff;border-color:#e0e4f3;color:#56617c}
.board-context,.board-sync,.board-foot{color:#6e758b}.board-link-tools{color:#6850a3}
.board-link-tools a{border-color:#d4c8f5}.board-sync button{border-color:#dddff1}
.rank-row{border-color:#ebedf7}.rank-row:first-child{background:#f7f2ff}
.rank-number{color:#8b64c3}.rank-avatar{background:#ffe9f4;color:#c04887}
.board-empty{background:#f5f5ff;color:#6f738e}.board-foot{border-color:#e1e2f0}
.letter-card{background:linear-gradient(145deg,#fff0f8,#ffe8f2);border-color:#f2c5dd;box-shadow:5px 6px 0 #f6dae9}
.letter-card::before{background:#cdbef6a6}.letter-top>span:first-child{color:#a04373}
.postage{border-color:#d78eb8;outline-color:#fff7fc;color:#be6198}
.letter-card>p,.hand-note{color:#89556e}.letter-arrow{color:#bb6d9b}.letter-bottom{border-color:#eab6d1}
.idea-prompts button{background:#fff9fc;border-color:#ecc4dc;color:#9d3d70}.idea-prompts button:hover{background:#fff}
.suggestion-form{background:#fff;border-color:#e0e5f1;box-shadow:0 5px 0 #edf0f8}
.suggestion-form:focus-within{border-color:#baa0ee;box-shadow:0 5px 0 #eae3fa,0 0 0 4px #f0eaff88}
.suggestion-form label{color:#5a647e}.suggestion-form label>small{color:#717b93}
.suggestion-form input,.suggestion-form textarea,.suggestion-form select{background:#f8f9ff;border-color:#e0e5f2;color:#303952}
.suggestion-form input::placeholder,.suggestion-form textarea::placeholder{color:#7a849a}
.message-meta{color:#6e7890}.quiet-button{color:#63708a;border-color:#bdc8da}.form-status{color:#68748c}
.form-status[data-state=success]{color:#276c60;background:#e7faf2}.form-status[data-state=error]{color:#b12e57}
.goods-section{background:linear-gradient(120deg,#effbf8ed,#eef7ffed);border-color:#d9eeeb}
.collection-tag{border-color:#a6d9cf;color:#33786e}.goods-copy>.outline-chip{border-color:#aedbd5;color:#327b70}
.goods-photo{background:#fff;border-color:#d7e9ed;box-shadow:0 8px 20px #3d8c8b10}
.goods-photo figcaption{color:#687e86}.goods-sticker{background:#d4f7ee;border-color:white;color:#32746b;box-shadow:2px 4px 0 #ade3d6}
.goods-copy>p:not(.goods-disclaimer){color:#577980}.goods-list{border-color:#c9e5e2}
.goods-list button{border-color:#c9e5e2}.goods-list button:hover{background:#ffffffa3}
.goods-list button>span:first-child,.goods-list button>span:last-child{color:#408d83}
.goods-list small,.goods-disclaimer{color:#577b7a}.goods-copy>.text-link{color:#276f67;border-color:#9ecfc7}
.back-top{border-color:#d9dcf0}.site-footer{background:transparent}
.explore-dock{background:#fffffff5;border-color:#e0ddf3;box-shadow:0 10px 40px #59418b16,0 2px 0 white}
.explore-dock>a>span{color:#9472c3}.explore-dock>a:hover{background:#f3edff}
.explore-dock>a[aria-current=location]{background:#463265;color:white}.explore-dock>a[aria-current=location]>span{color:#e3c5ff}
.explore-dock>.dock-top{border-color:#e2d9f1}.reading-track span{background:linear-gradient(90deg,#f257a1,#8d68ef,#68c8c7)}
dialog{background:#fff;border-color:#dedff0;box-shadow:0 20px 100px #31245144}dialog::backdrop{background:#29214377}
#hero-atmosphere::before{background:radial-gradient(ellipse at 25% 15%,#7b51c8,transparent 65%),linear-gradient(145deg,#332a64,#552f7d 65%,#7c3d89)}
#hero-art.star-playing>img{opacity:.95}#hero-art.star-playing #hero-atmosphere::before{opacity:.68}
.star-play-panel{background:#30225380;border-color:#dac6ff55;color:#fff}
.star-play-progress{color:#ffedb5}.star-play-clock{color:#f5e6ff}.star-play-panel>small{color:#eee3ff}
.star-achievement{background:#fff;border-color:#d6c7f0;color:#6a448d;box-shadow:3px 5px 0 #e7dcfa}.star-achievement>span{color:#a477db}
/* Detail page receives the same palette, without introducing extra script dependencies. */
.detail-breadcrumb a,.detail-footer-link{color:#8754b0;border-color:#dfcaf1}.detail-copy h1>i{color:#9c7bdc}.detail-tagline{color:#5b6081}
.detail-tags span{color:#a43d79;border-color:#f0cce4;background:#fff3fb}
.detail-availability{border-color:#dce2f1}.detail-availability>span{color:#8d75bf}.detail-availability p{color:#727c91}.detail-availability strong{color:#5c6882}
.detail-poster{background:white;border-color:#e1e3f2;box-shadow:0 12px 27px #7866a815}.detail-poster figcaption{color:#78819b}
.detail-tape{background:#d7c7f7b8;border-color:#b9a2dd}.detail-stamp{background:#d9f8ed;border-color:white;color:#397669;box-shadow:2px 3px 0 #afe5d5}
.detail-guide{background:#f8f2ff;border-color:#e9ddf6}.detail-guide .outline-chip{color:#865b9f}
.detail-key-guide{background:white;border-color:#e7def2}.detail-key-guide kbd{background:#ffe6f5;border-color:#e9acd1;color:#b14589}
.detail-key-guide>div:last-child kbd{background:#ede5ff;border-color:#c7b4ee;color:#7853b7}.detail-key-guide p>span{color:#7a7191}.detail-key-star{color:#bda1e6}
.detail-features article{background:#fff;border-color:#e6ddec}.detail-features article:nth-child(2){background:#f5f1ff;border-color:#e1d7f6}
.detail-features article:nth-child(3){background:#effbf7;border-color:#d5ede5}.detail-feature-no{color:#9d6693}.detail-features p{color:#6e6f88}
.detail-feature-mark{color:#f4ddec}.detail-features article:nth-child(2) .detail-feature-mark{color:#e2d5f9}.detail-features article:nth-child(3) .detail-feature-mark{color:#cdece1}
@media(forced-colors:active){.happy-word{background:none;color:CanvasText}.primary,.brand-symbol{background:ButtonFace;color:ButtonText;border:1px solid ButtonText}.hero-art>img{mask-image:none}}
