/* Sima's personal story layer. Games and saved progress stay independent. */
html{scroll-padding-top:22px}.home-story{min-width:0}body.is-playing .home-story{display:none}
.princess-hero.welcome-room{position:relative;isolation:isolate;display:grid;grid-template-columns:1.15fr 1fr;max-height:none;min-height:500px;overflow:hidden;border:1px solid #f9dfed;border-radius:32px;background:radial-gradient(ellipse at 80% 18%,#fffaf3 0,transparent 48%),linear-gradient(130deg,#f9e6ee,#e7d8f5 70%,#ddcced);color:#4f345b}
.princess-hero .welcome-copy{padding:48px 12px 45px 44px;z-index:2}
.princess-hero .welcome-copy .eyebrow{display:block;font-size:10px;letter-spacing:.19em;color:#875d87;margin:0 0 22px}
.princess-hero .welcome-copy h1{font-size:clamp(46px,5.6vw,70px);font-weight:400;letter-spacing:-.045em;line-height:1.05;margin:0 0 20px}
.princess-hero h1 span{display:block;font-size:clamp(18px,2.1vw,25px);font-weight:500;letter-spacing:-.02em;margin-bottom:10px;color:#765975}
.princess-hero h1 em{display:block;font-family:Georgia,serif;font-weight:400;color:#714b83}
.princess-hero .welcome-copy .princess-intro{font-size:17px;line-height:1.65;color:#745570;margin:0 0 12px}
.princess-hero .welcome-copy .princess-dedication{font-size:13px;color:#906b88;margin:0 0 25px}
.princess-hero .welcome-actions{display:flex;gap:10px;flex-wrap:wrap}
.princess-hero .welcome-actions a{display:inline-flex;align-items:center;gap:18px;text-decoration:none}
.princess-hero .welcome-actions .arena-button{background:#674477;border:1px solid #674477;border-radius:30px;color:#fff4fb;padding:13px 20px;min-height:48px;font-size:14px;box-shadow:0 7px 18px #62457225}
.princess-hero .welcome-actions .secondary-button{display:inline-flex;align-items:center;gap:8px;border:1px solid #ac89ae;background:#ffffff38;border-radius:30px;color:#68456f;padding:12px 17px;font-size:13px;min-height:48px}
.princess-signature{display:flex;align-items:center;gap:8px;font-size:12px;color:#88647f;margin-top:24px}.princess-signature>span{font-size:24px;color:#b47d9d}
.royal-scene{position:relative;display:flex;justify-content:center;align-items:center;padding:44px 45px 44px 15px;min-width:0}
.royal-orbit{position:absolute;width:390px;height:390px;max-width:95%;max-height:85%;border-radius:50%;border:1px solid #bda0c15c;transform:rotate(-15deg)}
.royal-orbit:before{content:'';position:absolute;inset:-18px;border:1px dashed #bda0c13b;border-radius:50%}
.royal-portrait{position:relative;margin:0;width:100%;max-width:315px;padding:12px 12px 0;border:1px solid #d4b4c1;border-radius:150px 150px 20px 20px;background:linear-gradient(140deg,#fffdf5,#f5e5e9);box-shadow:0 0 0 5px #fff9ed88,0 0 0 6px #d0adbe7a,0 22px 50px #7754772e;transform:rotate(3deg)}
.royal-portrait img{display:block;width:100%;height:325px;object-fit:cover;object-position:center 38%;border-radius:140px 140px 10px 10px;background:#e6d2e2}
.royal-portrait figcaption{text-align:center;padding:14px 2px 16px;font-size:11px;color:#8c6984;letter-spacing:.01em}.royal-portrait figcaption span{color:#bd799c}
.royal-crown{position:absolute;top:-43px;left:50%;transform:translateX(-50%) rotate(-3deg);font-family:Georgia,serif;font-size:59px;color:#ba8d44;text-shadow:0 2px #fff1c9;line-height:1;z-index:2}
.royal-seal{position:absolute;right:22px;bottom:58px;width:93px;height:93px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#725786;color:#fceffa;box-shadow:0 0 0 4px #f4dfef,0 0 0 5px #bb98b0;transform:rotate(-12deg);font-size:9px;letter-spacing:.08em}.royal-seal b{font-family:Georgia,serif;font-style:italic;font-weight:400;font-size:28px;letter-spacing:-.03em}
.royal-note{position:absolute;left:4%;bottom:28px;font-family:Georgia,serif;font-size:17px;font-style:italic;color:#976f8d;transform:rotate(-5deg)}
.princess-dust{position:absolute;inset:0;pointer-events:none;z-index:1}.princess-dust span{position:absolute;color:#bd9ac4;font-size:25px;animation:princess-shimmer 5s ease-in-out infinite}.princess-dust span:nth-child(1){left:49%;top:12%}.princess-dust span:nth-child(2){left:93%;top:16%;animation-delay:-2s}.princess-dust span:nth-child(3){left:54%;top:78%;font-size:32px}.princess-dust span:nth-child(4){left:4%;top:91%;animation-delay:-3s}.princess-dust span:nth-child(5){left:92%;top:83%;font-size:17px}
@keyframes princess-shimmer{0%,100%{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(-5px)}}
.princess-ribbon{display:flex;justify-content:center;align-items:center;gap:25px;flex-wrap:wrap;padding:21px 10px;color:#d8badb;font-size:12px;border-bottom:1px solid #d5b5ed25}.princess-ribbon i{font-style:normal;color:#aa84ba}
.princess-album{margin:44px 0 34px;scroll-margin-top:25px}.album-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:23px}.album-heading .step-label{font-size:10px;letter-spacing:.18em;color:#d1a9cf}.album-heading h2{font-size:clamp(25px,3vw,37px);line-height:1.2;font-weight:500;letter-spacing:-.04em;margin:9px 0;color:#fbecf7}.album-heading h2 em{font-family:Georgia,serif;font-weight:400;color:#d9b8e9}.album-heading p:last-child{font-size:13px;line-height:1.6;color:#bba8c7;margin:0}.album-arrows{display:flex;gap:8px}.album-arrows button,.memory-navigation button{width:44px;height:44px;border-radius:50%;border:1px solid #ac86bd66;background:#35283f;color:#f2d8f6;font-size:23px;cursor:pointer;flex-shrink:0}
.album-arrows button:disabled{opacity:.3;cursor:default}
.album-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#775583 #231b2e;padding:12px 5px 23px;overscroll-behavior-x:contain}
.album-card{flex:0 0 calc((100% - 40px)/3);min-width:0;margin:0;scroll-snap-align:start;background:linear-gradient(155deg,#fcf5eb,#f3e3ec);border:1px solid #e4cbdc;padding:10px 10px 14px;border-radius:140px 140px 16px 16px;color:#614864;position:relative;transition:transform .2s;box-shadow:0 8px 25px #08051140;text-align:left;cursor:pointer}
.album-card:nth-child(3n+2){border-radius:20px;background:linear-gradient(150deg,#f0e9fa,#e3d7ef)}.album-card:nth-child(3n+2) img{border-radius:12px}.album-card:nth-child(3n){background:linear-gradient(150deg,#fbe9ef,#ebd4e4)}
.album-card:hover{transform:translateY(-4px)}.album-card img{display:block;width:100%;height:265px;object-fit:cover;object-position:center 15%;border-radius:130px 130px 9px 9px;background:#ccb6d0}.album-card .album-number{display:block;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#a17590;padding:12px 5px 6px}.album-card strong{display:block;font-family:Georgia,serif;font-style:italic;font-weight:400;font-size:23px;line-height:1.15;margin:0 5px 8px}.album-card small{display:block;line-height:1.5;font-size:12px;color:#98758f;margin:0 5px}
.album-tip{text-align:center;color:#a78cb5;font-size:11px;margin:14px 0 0}.album-tip span{color:#deb1d4}
.love-letter{display:grid;grid-template-columns:165px 1fr;align-items:center;gap:0 30px;position:relative;padding:26px 35px;border:1px solid #aa87b23f;border-radius:25px;background:radial-gradient(ellipse at 4% 50%,#9e73912b,transparent 60%),#2b2136;margin:26px 0 40px}
.love-illustration{grid-row:1/3}.love-illustration img{display:block;width:165px;height:190px;object-fit:cover;border-radius:90px 90px 16px 16px;border:5px solid #e7d2e6;transform:rotate(-4deg)}.love-letter .step-label{font-size:10px;letter-spacing:.13em;color:#bc97c4}.love-letter h2{font-size:28px;font-weight:500;letter-spacing:-.03em;line-height:1.15;margin:10px 0}.love-letter h2 br{display:none}.love-letter h2 em{font-family:Georgia,serif;font-weight:400;color:#dec0df}.love-letter p:not(.step-label){font-size:13px;line-height:1.7;color:#c3aecb;max-width:630px;margin:10px 0}.letter-sign{display:block;font-family:Georgia,serif;font-style:italic;font-size:15px;color:#e4bdcf;margin:12px 0}.love-letter>.secondary-button{justify-self:start;grid-column:2;border-color:#765687;color:#edd0f0;background:transparent;margin-top:6px;font-size:12px;border-radius:30px;min-height:44px}
.princess-dialog{width:min(92vw,640px);max-height:92dvh;padding:0;border:1px solid #d5b6e0;border-radius:24px;background:#f9edf5;color:#55365f;box-shadow:0 25px 100px #10071699;overflow:auto}.princess-dialog::backdrop{background:#160d25d9;backdrop-filter:blur(7px)}.princess-dialog[open]{animation:princess-appear .22s ease-out}.princess-dialog .dialog-close{position:sticky;display:block;float:right;top:12px;right:12px;z-index:3;width:44px;height:44px;margin:12px 12px -56px 0;border-radius:50%;border:1px solid #d3b3d4;background:#fff7f4ed;color:#694972;font-size:29px;cursor:pointer}.princess-dialog>img{display:block;width:100%;max-height:60dvh;object-fit:contain;height:auto;background:#291e32}.memory-caption{text-align:center;padding:19px 22px}.memory-caption .step-label{font-size:10px;color:#9a709d}.memory-caption h2{font:italic 30px Georgia,serif;margin:8px 0}.memory-caption>p:not(.step-label){font-size:13px;line-height:1.6;color:#946c91}.memory-navigation{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:16px}.memory-navigation button{background:#eee0f2;color:#725484;border-color:#cdb1d6}.memory-navigation>span{color:#bf8db0;font-size:24px}
.wish-dialog{padding:48px 30px 35px;text-align:center;background:radial-gradient(ellipse at top,#fffaf0,#eedff5 80%);max-width:460px}.wish-dialog .dialog-close{position:absolute;top:0;right:0}.wish-stars{color:#c5a05f;font:45px Georgia,serif;letter-spacing:15px;margin-bottom:23px}.wish-dialog .step-label{font-size:10px;letter-spacing:.16em;color:#9b739e}.wish-dialog h2{font:italic 37px/1.1 Georgia,serif;color:#705283;margin:20px 0}.wish-dialog #wishText{font-size:17px;line-height:1.7;min-height:100px;color:#826081}.wish-dialog .arena-button{background:#725184;border:1px solid #725184;color:#fff0fa;border-radius:28px;padding:13px 22px;min-height:48px;font-size:14px}.wish-dialog small{display:block;color:#9b7b9c;font-size:11px;line-height:1.7;margin-top:25px}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.princess-dialog button:focus-visible,.album-card:focus-visible,.album-arrows button:focus-visible,.princess-hero a:focus-visible,.princess-hero button:focus-visible{outline:3px solid #c28be4;outline-offset:4px}
body.princess-modal-open{overflow:hidden}
@keyframes princess-appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:900px){.princess-hero.welcome-room{min-height:450px;grid-template-columns:1.1fr 1fr}.princess-hero .welcome-copy{padding:35px 0 35px 30px}.royal-scene{padding:42px 35px 42px 25px}.royal-portrait img{height:290px}.royal-seal{right:12px;bottom:65px;width:77px;height:77px}.royal-note{left:12%;bottom:30px;font-size:15px}.princess-hero .welcome-actions{gap:8px}.princess-hero .welcome-actions .arena-button,.princess-hero .welcome-actions .secondary-button{font-size:12px}.album-card img{height:220px}.album-card strong{font-size:21px}.princess-ribbon{gap:17px}}
@media(max-width:600px){
 .princess-hero.welcome-room{display:flex;flex-direction:column;max-height:none;min-height:0;border-radius:25px}.princess-hero .welcome-copy{text-align:center;padding:30px 18px 0;order:1}.princess-hero .welcome-copy .eyebrow{font-size:8px;letter-spacing:.16em;margin-bottom:16px}.princess-hero .welcome-copy h1{font-size:47px;margin-bottom:15px}.princess-hero h1 span{font-size:18px;margin-bottom:8px}.princess-hero .welcome-copy .princess-intro{font-size:14px;max-width:none;line-height:1.6;margin:0 0 8px}.princess-hero .welcome-copy .princess-dedication{font-size:11px;max-width:none;margin:0 0 18px}.princess-hero .welcome-actions{justify-content:center;flex-wrap:wrap}.princess-hero .welcome-actions .arena-button,.princess-hero .welcome-actions .secondary-button{font-size:11px;padding:10px 12px;min-height:44px;gap:5px}.princess-signature{justify-content:center;font-size:10px;margin-top:13px}.royal-scene{order:2;width:100%;padding:36px 48px 36px}.royal-portrait{max-width:235px;padding:8px 8px 0;border-radius:115px 115px 15px 15px;transform:rotate(2deg)}.royal-portrait img{height:210px;border-radius:108px 108px 8px 8px}.royal-portrait figcaption{font-size:9px;padding:10px 1px 12px}.royal-crown{font-size:46px;top:-32px}.royal-seal{right:30px;bottom:48px;width:64px;height:64px;font-size:7px}.royal-seal b{font-size:23px}.royal-note{left:27px;bottom:18px;font-size:12px}.royal-orbit{width:275px;height:250px}.princess-dust span:nth-child(1){left:8%;top:52%}.princess-dust span:nth-child(2){left:88%;top:46%}.princess-dust span:nth-child(3){left:7%;top:75%}.princess-ribbon{gap:10px;padding:17px 5px;font-size:9px}.princess-ribbon i:nth-of-type(2){display:none}.princess-ribbon span:last-child{flex-basis:100%;text-align:center}.princess-ribbon i:last-of-type{display:none}
 .princess-album{margin:29px 0}.album-heading{gap:10px;margin-bottom:10px}.album-heading h2{font-size:26px}.album-heading h2 em{display:block}.album-heading .step-label{font-size:8px;letter-spacing:.1em}.album-heading p:last-child{font-size:11px;max-width:240px}.album-arrows{gap:5px;align-self:flex-end;padding-bottom:8px}.album-arrows button{width:38px;height:44px;font-size:20px}.album-track{gap:14px;padding:9px 4px 18px}.album-card{flex-basis:78%;padding:8px 8px 13px}.album-card img{height:260px}.album-card strong{font-size:25px}.album-card small{font-size:11px}.album-tip{font-size:10px}
 .love-letter{grid-template-columns:82px 1fr;gap:12px 17px;padding:20px 17px;margin:25px 0 32px}.love-illustration{grid-row:1;align-self:start;margin-top:20px}.love-illustration img{width:82px;height:115px;border-width:3px}.love-letter h2{font-size:22px}.love-letter h2 br{display:block}.love-letter .step-label{font-size:8px}.love-letter p:not(.step-label){font-size:11px;line-height:1.6}.letter-sign{font-size:12px}.love-letter>.secondary-button{grid-column:1/-1;justify-self:center;font-size:11px;margin-top:0}.princess-dialog{width:94vw;border-radius:19px}.memory-caption{padding:16px}.memory-caption h2{font-size:27px}.wish-dialog{padding:40px 22px 25px}.wish-dialog h2{font-size:33px}.wish-dialog #wishText{font-size:16px}
}
@media(max-width:359px){.princess-hero .welcome-copy h1{font-size:40px}.princess-hero h1 span{font-size:16px}.princess-hero .welcome-actions{flex-direction:column;align-items:center}.princess-hero .welcome-actions a,.princess-hero .welcome-actions button{width:90%;justify-content:center}.royal-scene{padding-left:45px;padding-right:45px}.royal-portrait img{height:195px}.royal-seal{right:17px}.album-card img{height:225px}.album-arrows{flex-direction:column}.album-heading h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.princess-dust span,.princess-dialog[open]{animation:none}.album-card{transition:none}.album-card:hover{transform:none}}
