.cb-cinema { --cinema-accent:#a95c4b; color:#252830; background:#eef0f8; border:1px solid transparent; border-radius:20px; padding:clamp(20px,4vw,44px); box-shadow:10px 10px 24px #d9dce5,-10px -10px 24px #ffffff; overflow:hidden; }
.cb-cinema * { box-sizing:border-box; }
.cb-cinema-heading { max-width:810px; margin-bottom:30px; }
.cb-cinema-kicker { display:block; color:var(--cinema-accent); font-size:10px; font-weight:600; letter-spacing:.13em; line-height:1.7; margin-bottom:15px; }
.cb-cinema-heading h3 { font-size:clamp(28px,4vw,46px); line-height:1.1; letter-spacing:-.045em; font-weight:500; margin:0 0 18px; }
.cb-cinema-heading p { font-size:14px; line-height:1.9; color:#71778a; margin:0; }
.cb-cinema-story-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 22px; margin-bottom:18px; }
.cb-cinema-story-toolbar { display:flex; align-items:flex-start; gap:22px; padding-bottom:24px; border-bottom:1px solid #d7dce7; margin-bottom:28px; }
.cb-cinema-advanced { flex:1; min-width:0; }
.cb-cinema-advanced > summary { min-height:44px; padding:10px 0; color:var(--cinema-accent); font-size:12px; line-height:1.9; cursor:pointer; }
.cb-cinema-advanced > p { max-width:720px; font-size:12px; color:#71778a; line-height:1.9; margin:10px 0 18px; }
.cb-cinema-advanced-controls { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.cb-cinema-story-toolbar .cb-cinema-reset { align-self:flex-start; flex:none; white-space:nowrap; }
.cb-cinema-axis-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:19px 25px; padding-bottom:26px; border-bottom:1px solid #d7dce7; margin-bottom:28px; }
.cb-cinema-control { min-width:0; }
.cb-cinema-control label { display:flex; justify-content:space-between; gap:10px; color:#71778a; font-size:12px; font-weight:500; line-height:1.7; margin-bottom:8px; }
.cb-cinema-control label span { color:var(--cinema-accent); white-space:nowrap; }
.cb-cinema-control select { display:block; width:100%; min-height:45px; font:inherit; font-size:13px; color:#252830; background:#eef0f8; border:1px solid transparent; border-radius:10px; padding:10px 25px 10px 12px; box-shadow:inset 3px 3px 7px #d9dce5,inset -3px -3px 7px #ffffff; cursor:pointer; }
.cb-cinema-control input[type="range"] { width:100%; min-height:30px; accent-color:var(--cinema-accent); cursor:pointer; margin:0; }
.cb-cinema-range-limits { display:flex; justify-content:space-between; color:#71778a; font-size:11px; margin-top:4px; }
.cb-cinema-reset { align-self:end; border:0; border-bottom:1px solid #d7dce7; background:transparent; color:#a95c4b; min-height:44px; font:inherit; font-size:12px; padding:8px 0; cursor:pointer; }
.cb-cinema :is(select,input,button,summary):focus-visible { outline:3px solid var(--cinema-accent); outline-offset:4px; }
.cb-cinema-intention { max-width:820px; margin-bottom:28px; }
.cb-cinema-intention .cb-cinema-kicker { margin-bottom:9px; }
.cb-cinema-intention h4,.cb-cinema-output h4 { font-weight:500; font-size:clamp(19px,2.5vw,26px); letter-spacing:-.025em; line-height:1.4; margin:0 0 15px; color:#252830; }
.cb-cinema-intention p,.cb-cinema-output p { color:#71778a; font-size:13px; line-height:1.9; margin:0 0 15px; }
.cb-cinema-edit-note { padding:18px 20px; border:1px solid #d7dce7; border-radius:12px; margin:0 0 30px; background:#f5f6fa; }
.cb-cinema-edit-note > b { color:#252830; font-size:12px; font-weight:600; }
.cb-cinema-edit-note p { color:#71778a; font-size:13px; line-height:1.9; margin:9px 0; }
.cb-cinema-edit-note small { display:block; color:#71778a; font-size:11px; line-height:1.8; }
.cb-cinema-board { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.cb-cinema-plan { min-width:0; padding-bottom:18px; border-bottom:1px solid #d7dce7; }
.cb-cinema-image { position:relative; aspect-ratio:16/9; border:1px solid #d7dce7; border-radius:8px; overflow:hidden; background:#e2e6ef; }
.cb-cinema-image svg { display:block; width:100%; height:auto; font-family:inherit; }
.cb-cinema-frame-tag { position:absolute; top:10px; left:10px; padding:5px 8px; border:1px solid rgba(255,255,255,.5); border-radius:4px; background:rgba(245,246,250,.95); color:#252830; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:9px; font-weight:600; line-height:1.5; letter-spacing:.09em; }
.cb-cinema-plan.is-emphasized .cb-cinema-image { border-color:#a95c4b; box-shadow:0 0 0 1px #a95c4b; }
.cb-cinema-plan-label { font-size:9px !important; display:flex; justify-content:space-between; gap:10px; color:var(--cinema-accent) !important; margin-top:14px !important; letter-spacing:.04em; }
.cb-cinema-plan-label span { color:var(--cinema-accent); letter-spacing:0; }
.cb-cinema-plan h5 { font-size:17px; font-weight:500; letter-spacing:-.02em; color:#252830; margin:10px 0; line-height:1.5; }
.cb-cinema-plan p { font-size:12px; color:#71778a; line-height:1.9; margin:0 0 14px; }
.cb-cinema-plan details { border-top:1px solid #d7dce7; padding-top:12px; }
.cb-cinema-plan summary { font-size:11px; color:#a95c4b; cursor:pointer; line-height:1.7; margin-bottom:13px; }
.cb-cinema-plan details p { font-size:11px; }
.cb-cinema-plan b { color:#252830; font-weight:500; }
.cb-cinema-reading { margin:16px 0 0; }
.cb-cinema-reading dt { color:#252830; font-size:11px; font-weight:600; line-height:1.7; margin:0 0 5px; }
.cb-cinema-reading dd { color:#71778a; font-size:12px; line-height:1.8; margin:0 0 14px; overflow-wrap:break-word; }
.cb-cinema-plan .cb-cinema-card-note { font-size:11px; line-height:1.8; padding:10px 12px; background:#e7e9f1; border-left:2px solid var(--cinema-accent); border-radius:0 6px 6px 0; }
.cb-cinema-card-proposal > summary { min-height:44px; padding:7px 0; margin:0; }
.cb-cinema-card-proposal > p { margin:8px 0 12px; }
.cb-cinema-output { padding-top:25px; margin-top:26px; border-top:1px solid #d7dce7; }
.cb-cinema-output b { font-weight:500; color:#252830; }
.cb-cinema-download { display:inline-flex; justify-content:space-between; gap:20px; min-height:45px; padding:13px 18px; font:inherit; font-size:12px; font-weight:600; color:#ffffff; background:var(--cinema-accent); border:0; border-radius:10px; box-shadow:4px 4px 9px #d4d8e3,-4px -4px 9px #ffffff; cursor:pointer; margin-top:6px; }
.cb-cinema-save-status { display:block; font-size:11px; line-height:1.7; color:#71778a; margin-top:12px; }
.cb-cinema-model-note { color:#71778a !important; font-size:11px !important; line-height:1.9; margin:23px 0 0 !important; }
.cb-cinema-axis-visual { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); align-items:center; gap:25px; }
.cb-cinema-floor { min-width:0; }
.cb-cinema-floor p { font-size:12px; color:#71778a; margin:0 0 11px; }
.cb-cinema-floor svg { width:100%; height:auto; display:block; font-family:inherit; }
.cb-cinema-screens { display:grid; grid-template-columns:minmax(0,1fr); gap:19px; }
.cb-cinema-screen { min-width:0; }
.cb-cinema-screen p { font-size:12px; color:#71778a; margin:0 0 9px; }
.cb-cinema-screen svg { display:block; width:100%; height:auto; font-family:inherit; }
.cb-cinema-screen > span { display:block; color:#71778a; font-size:11px; line-height:1.7; margin-top:7px; }
.cb-cinema-announcement { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }

.cb-cinema :is(h3,h4,h5) { font-family:Georgia,"Times New Roman",serif; font-weight:400; }
.cb-cinema :is(.cb-cinema-kicker,.cb-cinema-plan-label) { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.11em; }
@media(max-width:900px) { .cb-cinema-board { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; } .cb-cinema-advanced-controls { grid-template-columns:minmax(0,1fr); } }
@media(max-width:660px) { .cb-cinema { padding:24px; } .cb-cinema-board { grid-template-columns:minmax(0,1fr); gap:27px; } .cb-cinema-plan h5 { font-size:19px; } .cb-cinema-reading dd { font-size:13px; } .cb-cinema-plan details p { font-size:12px; } .cb-cinema-axis-visual { grid-template-columns:minmax(0,1fr); } .cb-cinema-floor { max-width:470px; } .cb-cinema-screens { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; } }
@media(max-width:440px) { .cb-cinema { padding:20px 15px; } .cb-cinema-story-controls,.cb-cinema-axis-controls { grid-template-columns:minmax(0,1fr); } .cb-cinema-story-toolbar { gap:8px; flex-wrap:wrap; } .cb-cinema-advanced { flex-basis:100%; } .cb-cinema-edit-note { padding:15px; } .cb-cinema-heading h3 { font-size:28px; } .cb-cinema-heading p { font-size:13px; } .cb-cinema-screens { grid-template-columns:minmax(0,1fr); } .cb-cinema-download { width:100%; font-size:11px; } }
@media(prefers-reduced-motion:reduce) { .cb-cinema *, .cb-cinema *::before,.cb-cinema *::after { animation:none !important; transition:none !important; } }
