/* Story player (StoryWindow, capture 2026-09-29-g/04 style) and Memories (StoryListWindow). */
.story-player{position:fixed;inset:0;z-index:9000;background:#000;display:flex;justify-content:center}
.sp-frame{position:relative;width:min(100vw,56.25vh);height:100%;overflow:hidden;container-type:inline-size;cursor:pointer;user-select:none}
.sp-bg{position:absolute;inset:0;background:#000 center/cover no-repeat;opacity:0;transition:opacity .45s}.sp-bg.on{opacity:1}
.sp-pics{position:absolute;inset:0;pointer-events:none}
.sp-pic{position:absolute;left:50%;bottom:18%;height:calc(115% * var(--s,1));transform:translateX(calc(-50% + var(--x,0px)));animation:sp-in .3s ease-out}
@keyframes sp-in{from{opacity:0;transform:translateX(calc(-50% + var(--x,0px))) translateY(12px)}}
.sp-cg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.sp-cgimg{max-width:100%;max-height:100%;animation:sp-in .4s}
.sp-dialog{position:absolute;left:4%;right:4%;bottom:3%;min-height:17%;background:rgba(255,255,255,.95);border:3px solid #e8d4b4;border-radius:14px;padding:4cqw 5cqw 3cqw;box-sizing:border-box;color:#555;font-size:4cqw;line-height:1.35}
.sp-dialog p{margin:0;white-space:pre-line}.sp-dialog.narration{background:rgba(20,20,35,.78);border-color:rgba(255,255,255,.3);color:#fff;font-style:italic}
.sp-name{position:absolute;top:-4.4cqw;left:4cqw;background:#f4a64a;color:#fff;border-radius:8px;padding:.4cqw 3cqw;font-size:3.6cqw;box-shadow:0 2px 3px rgba(0,0,0,.2)}
.sp-more{position:absolute;right:4cqw;bottom:1.5cqw;color:#f19ab6;font-style:normal;animation:sp-blink 1s infinite}@keyframes sp-blink{50%{opacity:.2}}
.sp-ctl{position:absolute;right:5%;bottom:21.5%;display:flex;gap:2cqw;z-index:2}
.sp-pill{border:2px solid #fff;border-radius:999px;background:linear-gradient(#ffe06a,#f5b820);color:#fff;font-weight:800;padding:.6cqw 4cqw;font-size:3.2cqw;text-shadow:0 1px 1px #a06a00;cursor:pointer}.sp-pill.on{filter:brightness(.8)}
.sp-skip{position:absolute;right:3%;top:2%;border:0;background:none;color:#fff;font-size:7cqw;cursor:pointer;text-shadow:0 1px 3px #000;z-index:2}
.sp-title{position:absolute;left:3%;top:2.5%;color:#fff;font-weight:800;font-size:3.6cqw;text-shadow:0 1px 3px #000}
.sp-log{position:absolute;inset:8% 5% 24%;background:rgba(255,255,255,.96);border-radius:12px;padding:4cqw;overflow-y:auto;z-index:3;font-size:3.4cqw;color:#444;cursor:default}.sp-logtitle{display:block;text-align:center;margin-bottom:2cqw}
.sp-frame.shake{animation:sp-shake .45s}@keyframes sp-shake{20%{transform:translate(-8px,4px)}40%{transform:translate(7px,-5px)}60%{transform:translate(-5px,3px)}80%{transform:translate(4px,-2px)}}
.story-view{container-type:inline-size;max-width:720px;margin:0 auto;--u:calc(100cqw / 720)}
.sm-stage{position:relative;min-height:calc(1280 * var(--u));background:linear-gradient(#f7eefc,#e8eefb);padding-bottom:40px}
.sm-top{display:flex;justify-content:center;align-items:center;padding:calc(12 * var(--u))}
.sm-back{position:absolute;right:calc(12 * var(--u));top:calc(12 * var(--u));border:0;background:none;padding:0;width:calc(96 * var(--u));cursor:pointer}.sm-back img{width:100%}
.sm-chip{display:flex;align-items:center;gap:6px;background:#fff;border-radius:999px;padding:2px 14px 2px 2px;font-weight:700;color:#5a4a7a}.sm-chip img{width:34px;height:34px}
.sm-title{text-align:center;color:#6a4e96;margin:6px 0 10px;font-size:calc(38 * var(--u))}
.sm-tabs{display:flex;gap:6px;justify-content:center;margin-bottom:12px}
.sm-tab{border:2px solid #b8a4dc;border-radius:999px;background:#fff;color:#6a4e96;padding:6px 18px;font-weight:700;cursor:pointer}.sm-tab.on{background:#8f6fd0;color:#fff}
.sm-forts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:0 calc(24 * var(--u))}
.sm-fort{position:relative;border:0;border-radius:12px;background:#fff;padding:8px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;color:#5a4a7a;box-shadow:0 2px 6px rgba(90,70,130,.15)}
.sm-fort.locked{filter:grayscale(1);opacity:.6}.sm-fimg{width:100%;border-radius:8px}.sm-fort small{font-size:calc(19 * var(--u))}
.sm-count{position:absolute;right:10px;top:10px;background:rgba(90,70,130,.8);color:#fff;border-radius:999px;padding:0 8px;font-size:12px}
.sm-list{display:flex;flex-direction:column;gap:8px;padding:0 calc(24 * var(--u))}
.sm-sec{display:flex;align-items:center;gap:10px;border:0;border-radius:10px;background:#fff;padding:6px;cursor:pointer;color:#5a4a7a;text-align:left}
.sm-sec.locked{opacity:.6}.sm-simg{width:calc(170 * var(--u));border-radius:6px}.sm-stext{flex:1;display:flex;flex-direction:column}.sm-state{font-size:22px;margin-right:8px}
.sm-note{text-align:center}.sm-err{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:#fff1f0;color:#b3261e;border-radius:10px;padding:8px 14px;z-index:50}
