/* ===== シーン選択 ===== */
/* 案a 舞台＋リスト */
.sx-a.d .rpanel.sp9{top:76px;bottom:16px;right:18px;width:560px}
.sp9 .pg{gap:12px;padding:20px 22px 18px}
.phd{display:flex;align-items:center;gap:10px}
.phd .pk{font:900 10.5px/1 "Nunito",sans-serif;letter-spacing:.2em;color:#04223A;background:#FFC857;padding:5px 8px;border-radius:6px}
.phd b{font-size:18px;font-weight:900}
.phd .sp{flex:1}
.phd .prg{width:96px;height:8px;border-radius:999px;background:rgba(113,130,174,.3);overflow:hidden}.phd .prg i{display:block;height:100%;background:linear-gradient(90deg,#3FE0E8,#FFC857)}
.phd .pn{font-size:12px;font-weight:700;color:var(--ink-2);white-space:nowrap}.phd .pn b{font:900 17px/1 "Nunito",sans-serif;color:var(--panel-ink)}
.slist{display:flex;flex-direction:column;gap:7px;flex:1;min-height:0}
.srow{display:flex;align-items:center;gap:12px;padding:7px 12px 7px 7px;border-radius:14px;background:var(--tile);border:1.5px solid var(--tile-line)}
.srow .sno{font:900 15px/1 "Nunito",sans-serif;color:var(--ink-3);width:22px;text-align:center}
.srow .snm{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.srow .snm b{font-size:16px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.srow.st-new .th{filter:saturate(.55) brightness(.75)}
.srow.on{border:2px solid var(--accent);background:rgba(63,224,232,.10);box-shadow:0 0 0 3px rgba(63,224,232,.14),0 0 22px rgba(63,224,232,.25);border-bottom-left-radius:4px;border-bottom-right-radius:4px}
.srow.on .sno{color:var(--accent)}
.sdet{margin-top:-8px;padding:10px 12px 12px;border:2px solid var(--accent);border-top:0;border-radius:0 0 14px 14px;background:rgba(63,224,232,.06);display:flex;flex-direction:column;gap:7px}
.sdet .dl{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800;color:var(--accent)}.sdet .dl svg{width:15px;height:15px}
.sdet .phr{flex-direction:row;align-items:baseline;flex-wrap:wrap;column-gap:10px;padding:7px 12px}
.sdet .phr b{font-size:16px}
.sp9 .acts{display:flex;flex-direction:column}
.row9{display:flex;align-items:center;gap:8px}
/* スマホ */
.sx-a.m .rpanel.sp9{left:8px;right:8px;width:auto;top:300px;bottom:8px}
.m .sp9 .pg{gap:8px;padding:14px 12px 12px}
.m .phd b{font-size:15px}
.m .slist{gap:5px}
.m .srow{gap:8px;padding:5px 9px 5px 5px;border-radius:12px}
.m .srow .th{width:52px;height:38px;border-radius:8px}.m .srow .th .thb{width:20px;height:14px;right:4px;top:4px}
.m .srow .sno{font-size:13px;width:18px}
.m .srow .snm{gap:2px}.m .srow .snm b{font-size:14px}
.m .meta{font-size:10.5px;gap:4px}.m .meta svg{width:11px;height:11px}
.m .bdg{min-width:48px;height:26px;padding:0 7px;font-size:10px}.m .bdg.clr b{font-size:15px}.m .bdg.new{font-size:10px}
.m .sdet{margin-top:-5px;padding:7px 9px 9px;gap:5px}
.m .sdet .dl{font-size:11px}
.m .sdet .phr{padding:6px 10px;column-gap:8px}.m .sdet .phr b{font-size:14.5px}.m .sdet .phr small{font-size:10.5px}.m .sdet .phr span{font-size:11px}

/* 案b スタンプ帳 */
.sx-b.d .card3.sb9{top:76px;height:708px;width:900px}
.sb9 .pg{gap:16px;padding:22px 28px 20px}
.sb9 .ch .ttl{background:#FFC857;color:#2A1A00}
.sb9 .ch b{font-size:20px}
.sb9 .share-mark{width:28px;height:28px;filter:drop-shadow(0 0 4px #FF2D95)}
.stps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.stp{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px 14px;border-radius:16px;background:var(--tile);border:1.5px solid var(--tile-line);text-align:center}
.stp .stamp{position:relative;width:96px;height:96px;display:grid;place-items:center}
.stp .stamp svg{width:100%;height:100%}
.stp .ring{width:84px;height:84px;border-radius:50%;border:3px dashed rgba(113,130,174,.7);display:grid;place-items:center}
.stp .ring b{font:900 24px/1 "Nunito",sans-serif;color:var(--ink-3)}
.stp .rk9{position:absolute;right:-4px;bottom:-2px;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font:italic 900 20px/1 "Nunito",sans-serif;color:#2A1A00;background:#FFC857;box-shadow:0 0 12px rgba(255,200,87,.6);transform:rotate(8deg)}
.stp .nm{font-size:14px;font-weight:900;line-height:1.3;word-break:keep-all;overflow-wrap:anywhere}
.stp.st-new .nm{color:var(--ink-2)}
.stp.on{border:2px solid var(--accent);background:rgba(63,224,232,.10);box-shadow:0 0 0 3px rgba(63,224,232,.14),0 0 24px rgba(63,224,232,.3)}
.stp.on .ring{border-color:var(--accent);box-shadow:0 0 16px rgba(63,224,232,.45)}
.stp.on .ring b{color:var(--accent)}
.sel9{position:absolute;top:-11px;left:50%;transform:translateX(-50%);font:900 10px/1 "Nunito",sans-serif;letter-spacing:.14em;padding:5px 9px;border-radius:999px;background:var(--pri);color:var(--pri-ink);box-shadow:0 0 12px rgba(63,224,232,.6)}
.bdet{display:flex;align-items:center;gap:18px;padding:14px 16px;border-radius:16px;background:rgba(5,12,32,.55);border:1.5px solid var(--tile-line)}
.bt9{display:flex;flex-direction:column;gap:6px;min-width:0}
.bt9 small{font-size:11.5px;font-weight:800;color:var(--accent)}
.bt9 b{font-size:22px;font-weight:900;white-space:nowrap}
.bdet .bph{margin-left:auto;flex:none;width:330px}
.acts.b9{display:grid;grid-template-columns:1fr 200px;gap:12px;align-items:stretch}
.acts.b9 .btn.sec{height:70px}
/* スマホ */
.sx-b.m .card3.sb9{left:8px;right:8px;width:auto;transform:none;top:56px;bottom:10px;height:auto}
.m .sb9 .pg{gap:10px;padding:14px 12px 12px}
.m .sb9 .ch{gap:8px}.m .sb9 .ch b{font-size:16px}.m .sb9 .ch .col{font-size:11px}.m .sb9 .ch .col b{font-size:14px}
.m .stps{grid-template-columns:repeat(6,1fr);gap:8px}
.m .stp{grid-column:span 2;padding:12px 4px 9px;gap:5px;border-radius:13px}
.m .stp:nth-child(4){grid-column:2 / span 2}
.m .stp .stamp{width:64px;height:64px}.m .stp .ring{width:56px;height:56px}.m .stp .ring b{font-size:18px}
.m .stp .rk9{width:26px;height:26px;font-size:15px;border-radius:8px}
.m .stp .nm{font-size:11.5px}
.m .sel9{font-size:9px;padding:4px 7px;top:-9px}
.m .bdet{flex-wrap:wrap;gap:10px;padding:10px}
.m .bdet .th.lg{width:92px;height:62px}
.m .bt9 b{font-size:17px}.m .bt9 small{font-size:10.5px}
.m .bdet .bph{width:100%;margin:0}
.m .bdet .phr.big b{font-size:17px}
.m .sb9 .acts{margin-top:auto}

/* 案c 会場ルート */
.route{position:absolute;z-index:10;display:flex;align-items:flex-start;padding:12px 18px 10px}
.d .route{top:76px;left:50%;transform:translateX(-50%);width:1000px}
.route .rn{position:relative;flex:none;width:150px;display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center}
.route .rn .node{width:40px!important;height:52px!important}
.route .rno{font:900 11px/1 "Nunito",sans-serif;color:var(--ink-3);letter-spacing:.1em}
.route .rnm{font-size:13px;font-weight:800;color:var(--ink-2);line-height:1.25;white-space:nowrap}
.route .rn.on .rno{color:var(--accent)}.route .rn.on .rnm{color:#fff;font-weight:900}
.route .rn.on::before{content:"";position:absolute;inset:-6px 6px -6px 6px;border-radius:14px;border:2px solid var(--accent);background:rgba(63,224,232,.08);box-shadow:0 0 18px rgba(63,224,232,.3)}
.route .rr{position:absolute;top:2px;right:30px;width:24px;height:24px;border-radius:7px;display:grid;place-items:center;font:italic 900 14px/1 "Nunito",sans-serif;color:#2A1A00;background:#FFC857;transform:rotate(8deg)}
.route .wire{flex:1;height:2px;margin-top:22px;background:repeating-linear-gradient(90deg,#3FE0E8 0 6px,transparent 6px 11px);opacity:.6}
.dlg9{position:absolute;z-index:9;border-radius:20px;background:linear-gradient(180deg,rgba(16,30,70,.95),rgba(8,15,38,.97));box-shadow:0 0 0 2px rgba(63,224,232,.25),0 24px 60px rgba(0,0,0,.6)}
.d .dlg9{left:150px;right:150px;bottom:24px;height:286px}
.dlg9 .pg{gap:16px;padding:22px 26px 20px}
.dtop{display:flex;align-items:center;gap:18px}
.dtop .bph{margin-left:auto;display:flex;flex-direction:column;gap:6px;width:380px}
.dtop .bph .phr{padding:6px 12px}
.dtop .bph .phr b{font-size:15.5px}
.acts.c9{display:grid;grid-template-columns:1fr 200px;gap:12px;margin-top:auto}
.acts.c9 .btn.sec{height:70px}
/* スマホ */
.m .route{top:52px;left:8px;right:8px;padding:8px 6px 6px}
.m .route .rn{width:62px;gap:1px}
.m .route .rn .node{width:30px!important;height:40px!important}
.m .route .rnm{font-size:9.5px;white-space:normal;word-break:keep-all;line-height:1.2;max-width:60px}
.m .route .rn.on::before{inset:-4px 0}
.m .route .rr{right:6px;top:0;width:19px;height:19px;font-size:11px}
.m .route .wire{margin-top:17px}
.m .dlg9{left:8px;right:8px;bottom:8px;height:auto;top:440px}
.m .dlg9 .pg{gap:10px;padding:14px 12px 12px;height:100%;display:flex;flex-direction:column}
.m .dtop{gap:10px}.m .dtop .th.lg{width:92px;height:62px}
.m .acts.c9{display:flex}
/* --- 調整（1回目の確認後）--- */
.d .srow{padding:6px 12px 6px 6px}
.d .srow .th{width:66px;height:44px}
.d .sdet{gap:6px;padding:8px 12px 10px}
.d .sdet .phr{padding:6px 12px}
.m .sdet .phr{flex-direction:column;gap:1px}
.m .slist{flex:none}
.sx-a.m .rpanel.sp9{top:268px}
.m .sp9 .acts{margin-top:auto}
.sx-b.d .card3.sb9{height:auto;top:112px}
.d .stp{padding:22px 8px 18px;gap:10px}
.d .stp .stamp{width:112px;height:112px}.d .stp .ring{width:98px;height:98px}.d .stp .ring b{font-size:28px}
.d .stp .nm{font-size:15px}
.stp .nm{word-break:auto-phrase}
.m .stp .nm{font-size:11px}
.m .bdet .bph{display:flex;flex-direction:column;gap:6px}
.m .bdet .phr{padding:6px 10px}.m .bdet .phr b{font-size:15px}
.m .row9{flex-wrap:nowrap;gap:6px}
.m .chipbtn{height:30px;padding:0 10px;font-size:11.5px}
.m .sb9 .row9{margin-top:auto}
.m .sb9 .acts{margin-top:0}
.d .route{top:72px;padding:10px 18px 8px}
.m .route .rnm{display:none}
.m .route .rn{width:44px}
.m .route{padding:6px 14px 8px}
.m .dlg9{top:452px}
.m .dlg9 .bph{display:flex;flex-direction:column;gap:6px}
.m .dlg9 .phr{padding:6px 10px}.m .dlg9 .phr b{font-size:15px}
.m .dlg9 .acts.c9{margin-top:auto}
.d .srow{padding:8px 12px 8px 8px}
.d .srow .th{width:74px;height:50px}
.d .slist{gap:8px}
.m .stp{padding:14px 4px 11px}
.m .stp .stamp{width:72px;height:72px}.m .stp .ring{width:62px;height:62px}
.m .stp .nm{font-size:10.5px}
.d .srow{padding:6px 12px 6px 7px}
.d .srow .th{width:72px;height:48px}
