.singbot-project *{box-sizing:border-box}.singbot-project{margin:0;background:#fff;color:#181816;font-family:Arial,Helvetica,sans-serif}.singbot-project .singbot-content{max-width:1600px;margin:auto;padding:28px 4vw 60px}.singbot-project .register,.singbot-project .caption,.singbot-project .micro{font:10px/1.7 'Courier New',monospace;letter-spacing:.04em}.singbot-project .register{display:flex;justify-content:space-between;text-transform:uppercase}.singbot-project header{display:flex;justify-content:space-between;align-items:end;margin:25px 0 26px}.singbot-project h1{font-size:clamp(76px,12vw,180px);line-height:.8;letter-spacing:-.075em;margin:0}.singbot-project h1 span{font:20px Arial;vertical-align:top;letter-spacing:0}.singbot-project header p{font:12px/1.4 'Courier New',monospace;margin:0}.singbot-project button,.singbot-project select,.singbot-project input{font:inherit}.singbot-project button{cursor:pointer;border:1px solid #181816;background:white;padding:14px 20px;min-height:48px}.singbot-project button:focus-visible,.singbot-project select:focus-visible,.singbot-project input:focus-visible{outline:2px solid #ed4029;outline-offset:4px}.singbot-project #rehearse{background:#ed4029;color:white;border-color:#ed4029}.singbot-project #stop{border:0;text-decoration:underline}.singbot-project .transport{display:flex;align-items:center;gap:16px;border-top:1px solid #ccc;padding:14px 0}.singbot-project .transport span{font:10px 'Courier New',monospace;margin-left:auto}.singbot-project .room{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:32px}.singbot-project .stage{position:relative;overflow:hidden;background:#f3eee5;min-width:0;height:clamp(470px,52vw,760px)}.singbot-project [data-surface],.singbot-project .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.singbot-project [data-surface] canvas{width:100%;height:100%;display:block}.singbot-project .poster{z-index:0}.singbot-project .caption{position:absolute;left:20px;right:20px;bottom:16px;display:flex;justify-content:space-between;pointer-events:none;color:#3e3a34}.singbot-project aside h2{font-size:32px;font-weight:400;line-height:.93;letter-spacing:-.055em;margin:0 0 32px}.singbot-project label{display:block;border-top:1px solid #ccc;padding:12px 0;font:11px 'Courier New',monospace}.singbot-project label output{float:right}.singbot-project select{display:block;width:100%;padding:12px 0;border:0;border-bottom:1px solid #888;background:#fff;white-space:normal}.singbot-project input[type=range]{width:100%;accent-color:#ed4029;margin:18px 0}.singbot-project .check{display:flex;align-items:center;gap:10px;min-height:48px}.singbot-project .honesty{font:10px/1.7 'Courier New',monospace;color:#555}.singbot-project .score{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:42px;border-top:1px solid #181816;padding-top:20px}.singbot-project .score h2{font-size:clamp(36px,5vw,70px);font-weight:400;letter-spacing:-.06em;line-height:.94;margin:20px 0}.singbot-project .score p{font-size:clamp(18px,2vw,28px);line-height:1.4;margin:20px 0}.singbot-project .score .micro{font:10px/1.7 'Courier New',monospace;color:#777}@media(max-width:650px){.singbot-project .singbot-content{padding:18px}.singbot-project header{margin:25px 0}.singbot-project h1{font-size:20vw}.singbot-project header p{font-size:8px}.singbot-project .register{font-size:8px;gap:12px}.singbot-project .transport{gap:6px;flex-wrap:wrap}.singbot-project .transport span{width:100%;margin:8px 0 0}.singbot-project .room{display:block}.singbot-project .stage{height:440px;margin:0 -18px}.singbot-project .caption{font-size:8px;left:18px;right:18px}.singbot-project aside{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}.singbot-project aside h2{font-size:26px;margin:0}.singbot-project label{min-width:0}.singbot-project select{font-size:10px}.singbot-project label output{float:none;display:block;margin-top:7px}.singbot-project .honesty{grid-column:1/-1}.singbot-project .score{gap:18px}.singbot-project .score p{font-size:15px}.singbot-project .score h2{font-size:34px}}@media(prefers-reduced-motion:reduce){.singbot-project *{scroll-behavior:auto}}
@media(max-width:650px){.singbot-project header{display:block}.singbot-project header p{font-size:9px;margin-top:16px}.singbot-project aside,.singbot-project .score{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.singbot-project aside>*{min-width:0}.singbot-project select{min-width:0;max-width:100%}}.singbot-project .sung-line{position:absolute;top:24px;left:24px;right:24px;text-align:center;font-size:clamp(22px,3vw,44px);letter-spacing:-.045em;line-height:1;pointer-events:none}.singbot-project [data-play]{background:#ed4029;color:white;border-color:#ed4029}.singbot-project [data-phrases]{max-height:360px;overflow:auto;border-top:1px solid #aaa}.singbot-project [data-phrases]>div{display:grid;grid-template-columns:minmax(0,1fr) 42px 42px;gap:2px;margin:5px 0}.singbot-project [data-phrases] button{padding:8px;font-size:11px;text-align:left;overflow-wrap:anywhere}.singbot-project [data-phrases] button:disabled{opacity:.25}.singbot-project aside>p{font-size:11px;line-height:1.5}@media(max-width:650px){.singbot-project [data-phrases],.singbot-project aside>p,.singbot-project [data-add],.singbot-project [data-choice]{grid-column:1/-1}.singbot-project .sung-line{top:20px;left:18px;right:18px;font-size:25px}}

.singbot-project .singbot-content{padding:0;max-width:none}.singbot-project .singbot-load{min-height:78px}.singbot-project button:disabled{opacity:.45;cursor:default}.singbot-project .singbot-heading{overflow-wrap:anywhere}.singbot-project .singbot-error{padding:16px 0}.singbot-project .stage .poster{pointer-events:none}.singbot-project [data-surface]{position:absolute;inset:0;width:100%;height:100%}
@media(max-width:650px){.singbot-project .singbot-content{padding:0 18px}.singbot-project .register{flex-wrap:wrap}.singbot-project .room aside{width:100%}.singbot-project [data-choice]{grid-column:1/-1}}
@media(max-width:650px){.singbot-project .singbot-heading h1{font-size:15vw;white-space:nowrap}.singbot-project .singbot-heading h1 span{font-size:14px}}
