:root{--navy:#112435;--blue:#0878bb;--teal:#147d70;--line:#dfe5e9;--muted:#78838c;--ink:#263540}*{box-sizing:border-box}body{margin:0;background:#f7f8fa;color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI','Noto Sans JP',sans-serif}button,a,input,select{font:inherit}button,a{touch-action:manipulation}button{border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 14px;border-radius:5px;cursor:pointer;font-weight:600}button:hover{border-color:#a4b8c7;background:#f0f5f8}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #089dd5;outline-offset:3px}a{text-decoration:none;color:inherit}.primary{display:inline-block;background:var(--navy);color:white;border:1px solid var(--navy);padding:10px 16px;border-radius:5px;font-weight:600}.primary:hover{background:#26465e;color:white}.rail{position:fixed;inset:0 auto 0 0;width:70px;background:var(--navy);display:flex;align-items:center;flex-direction:column;gap:14px;z-index:10;padding:22px 0}.monogram{color:white;font-size:22px;font-weight:900;position:relative;margin-bottom:20px;line-height:1;min-width:44px;min-height:44px;display:grid;place-items:center}.monogram span{color:#47adf0;font-size:12px;position:absolute;right:-7px;bottom:-2px}a.wordmark{min-height:44px;color:inherit}.railbtn{display:grid;place-items:center;width:43px;height:43px;background:none;border:0;font-size:23px;color:#95a7b7;border-radius:7px;padding:0}.railbtn.active{background:#ffffff15;color:#72c5f4}.railbtn:hover{background:#ffffff20;color:white}.railbottom{margin-top:auto;width:32px;height:32px;border:1px solid #607080;border-radius:50%;color:#bac9d3;font-size:11px;display:grid;place-items:center}.workspace{margin-left:70px}header{height:72px;background:white;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 29px}.wordmark{font-size:21px;font-weight:850;letter-spacing:-1px;display:flex;align-items:center;gap:1px}.wordmark>span:not(.edition){color:#0878bb}.wordmark i{width:1px;height:23px;background:var(--line);margin:0 19px}.wordmark strong{font-size:12px;letter-spacing:2px;font-weight:600;color:#70808c}.edition{font-size:10px;letter-spacing:0;border:1px solid #d8e1e8;padding:0 4px;border-radius:3px;margin-left:9px;color:#8297a6}.topactions{display:flex;align-items:center;gap:11px}.private{font-size:10px;letter-spacing:1.2px;color:#7b8c97;margin-right:7px}.projectbar{padding:23px 29px;display:flex;justify-content:space-between;align-items:center;gap:20px;background:#fff}.eyebrow{font-size:10px;letter-spacing:1.7px;color:#798993;font-weight:600}h1{font-size:23px;letter-spacing:-.5px;margin:5px 0 0;font-weight:650}h1 span{font-size:11px;font-weight:500;border:1px solid var(--line);color:#7c8a95;padding:3px 7px;border-radius:3px;vertical-align:middle;margin-left:10px}h2,h3,p{margin:0}.project-meta{display:flex;gap:28px;align-items:center}.project-meta small{display:block;font-size:11px;color:var(--muted);margin-bottom:3px}.project-meta strong{font-size:13px}.textbutton{border:0;background:none;font-size:12px;color:#6a879b;padding:0}.studio{display:grid;grid-template-columns:minmax(0,1fr) 300px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.viewport{height:650px;position:relative;background:#eaf0f3;overflow:hidden}#stage{position:absolute;inset:0}#stage canvas{display:block;width:100%;height:100%;touch-action:none}#loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#547a92;font-size:14px}.viewport-top{position:absolute;top:19px;left:22px;right:22px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.viewport-top>*{pointer-events:auto}.viewtabs{background:#fff;border:1px solid #dce4eb;padding:3px;border-radius:6px;display:flex;gap:2px;box-shadow:0 2px 4px #2341}.viewtabs button{border:0;background:none;color:#7b8992;border-radius:4px;padding:6px 12px;font-size:12px}.viewtabs button.selected{color:#fff;background:var(--navy)}.viewbuttons{display:flex;gap:6px}.viewbuttons button{font-size:12px;background:#ffffffdd;border-color:#dce4eb;padding:8px 10px}.scene-title{position:absolute;top:88px;left:25px;pointer-events:none}.micro{font-size:9px;letter-spacing:2px;color:#7f98a9}.scene-title h2{font-size:33px;letter-spacing:-1px;font-weight:700;line-height:1.5;color:#29485d}.scene-title h2 span{font-size:13px;letter-spacing:0;margin-left:13px;color:#8a9caa;font-weight:400}.scene-title p{font-size:11px;color:#8b9ba8}.scene-tag{position:absolute;bottom:95px;left:23px;display:flex;gap:8px;align-items:center;font-size:11px;color:#5e7a8c;padding:5px 9px;background:#ffffffbb;border:1px solid #d8e5eb;border-radius:4px}.scene-tag i{width:5px;height:5px;background:#258bae;border-radius:50%}.annotation{position:absolute;left:50%;top:35%;border-left:2px solid #369abd;background:#ffffffde;padding:6px 11px;pointer-events:none;min-width:90px;box-shadow:0 3px 15px #2341}.annotation span{display:block;font-size:8px;letter-spacing:1.5px;color:#7699ae}.annotation strong{font-size:15px;color:#335a70}.compass{position:absolute;right:26px;bottom:116px;color:#869cab;font-size:10px;text-align:center}.compass span{display:block;font-size:30px;line-height:1.2;color:#395568}.scene-bottom{position:absolute;bottom:17px;left:23px;color:#7c91a0;font-size:10px;pointer-events:none}.scene-bottom p{margin-top:8px;font-size:11px}.keydot{display:inline-block;width:6px;height:6px;border-radius:50%;margin:0 4px 0 9px}.keydot:first-child{margin-left:0}.blue{background:#1586c4}.teal{background:#46a994}.amber{background:#dbaa4d}.red{background:#df7861}.scale{position:absolute;bottom:20px;right:25px;color:#7993a5;font-size:13px}.scale span{display:block;text-align:right;font-size:10px}.inspector{background:#fff;border-left:1px solid var(--line);display:flex;flex-direction:column;height:650px}.inspector-title{display:flex;justify-content:space-between;align-items:center;padding:17px 20px;border-bottom:1px solid var(--line)}.inspector-title h2{font-size:14px}.chip{font-size:9px;letter-spacing:1px;color:#279177;background:#edf7f2;padding:3px 6px;border-radius:3px}.control-body{padding:16px 20px;overflow-y:auto;flex:1}.control-body[hidden]{display:none}.machine-card{border:1px solid #dfe9ef;background:#f6f9fb;padding:12px 13px;border-radius:5px;margin-bottom:21px}.blue-label{font-size:9px;letter-spacing:2px;color:#2584bc;font-weight:700;display:block}.machine-card>strong{font-size:22px;letter-spacing:-.5px;display:block;margin:3px 0}.machine-sub{display:block;font-size:10px;color:#8595a1}.machine-card>div{display:flex;gap:12px;font-size:8px;letter-spacing:.8px;color:#7e95a5;border-top:1px solid #e0e8ee;margin-top:11px;padding-top:8px}.control{margin-bottom:18px}.control label{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#75828b;margin-bottom:6px}.control output{font-size:18px;color:#293e4c;font-weight:600;line-height:1}.control output small{font-size:10px;font-weight:400;color:#8497a5}.control input[type=range]{width:100%;accent-color:#087abd;height:4px;margin:9px 0 5px;cursor:pointer}.rangemeta{display:flex;justify-content:space-between;color:#9aa6ae;font-size:9px;gap:6px}.position{display:flex;gap:4px;align-items:center}.position button{padding:4px 8px;font-size:13px}.position span{font-size:9px;color:#92a0a8;margin-left:5px}.smallmuted{font-size:9px;color:#9aa6ae}.switchrow{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-top:1px solid #eef1f3;font-size:11px;color:#687e8c}.switchrow input{accent-color:#087abd}.inspector-bottom{padding:13px 18px;background:#f8fafb;border-top:1px solid var(--line)}.statusline{font-size:12px;color:#467b70;font-weight:600}.statusline i{display:inline-block;width:6px;height:6px;background:#42927d;border-radius:50%;margin-right:4px}.inspector-bottom p{font-size:10px;color:#84939d;margin-top:4px}.metrics{background:#fff;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);padding:19px 10px}.metrics>div{padding:0 24px;border-right:1px solid var(--line)}.metrics>div:last-child{border:0}.metrics>div>span{font-size:11px;color:#7f8d96}.metrics strong{display:block;font-size:27px;color:#2d495b;font-weight:600;line-height:1.5;letter-spacing:-.5px}.metrics strong small{font-size:13px;font-weight:400;color:#8297a6}.metrics p{font-size:10px;color:#96a2ab}.metrics .minttext{font-size:19px;color:#398473;margin-top:6px;margin-bottom:6px}.metrics .approval strong{font-size:18px;margin:7px 0;color:#a18347;font-weight:500}.sequence{display:flex;align-items:center;gap:24px;padding:23px 29px;background:#fafbfc}.sequence-heading{min-width:190px}.sequence-heading h2{font-size:15px;margin-top:5px;font-weight:500}.steps{display:flex;gap:8px;flex:1}.step{display:flex;gap:11px;align-items:center;flex:1;padding:12px;background:transparent;text-align:left;border-color:#e2e7eb;min-width:0}.step>span{font-size:11px;color:#9aaab4}.step strong{font-size:12px;display:block;white-space:nowrap}.step small{font-size:9px;font-weight:400;color:#9aa5ad;white-space:nowrap}.step.current{border-color:#78afcd;background:#f0f7fb}.step.current>span{color:#1683bc}#playlift{font-size:11px;white-space:nowrap}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:12px 29px;font-size:9px;color:#a0aab1;letter-spacing:1px}footer span+span{letter-spacing:0}.drive-note{margin:20px 0;padding:16px;background:#f0f6fa;border-radius:5px}.drive-note h3{font-size:13px;margin-bottom:8px}.drive-note p,.subnote{font-size:11px;color:#8496a3;line-height:1.8}select{width:100%;padding:9px;border:1px solid var(--line);border-radius:5px;color:#4c687c;background:#fff}.wide{width:100%}dialog{border:1px solid #cbdbe5;border-radius:10px;width:620px;max-width:92vw;padding:30px;color:#344f63;box-shadow:0 20px 90px #0a243155}dialog::backdrop{background:#11243588}#closemodal{position:absolute;right:12px;top:10px;border:0;font-size:20px}dialog h2{font-size:24px;margin:8px 0 15px}dialog h3{margin:18px 0 7px;font-size:14px}dialog p{line-height:1.8;margin:9px 0;color:#738898;font-size:13px}dialog a{color:#1683bc;text-decoration:underline}dialog table{width:100%;border-collapse:collapse;font-size:13px}dialog td{padding:9px;border-bottom:1px solid #e2e9ee}dialog td:last-child{text-align:right;font-weight:600}.modalnote{background:#fff7e8;color:#a08047;padding:13px;font-size:12px;border-radius:5px;margin-top:16px}@media(min-width:1600px){.viewport,.inspector{height:730px}.studio{grid-template-columns:1fr 330px}.control{margin-bottom:22px}.control label{font-size:14px}.machine-card>strong{font-size:25px}}@media(max-width:1150px){.project-meta>div{display:none}.sequence{gap:14px;padding:20px}.sequence-heading{display:none}.studio{grid-template-columns:1fr 280px}.scene-title h2{font-size:28px}.private{display:none}.metrics>div{padding:0 15px}.scene-bottom{font-size:9px}}@media(max-width:800px){.rail{width:52px;padding:17px 0;gap:12px}.railbtn{width:38px}.workspace{margin-left:52px}header{padding:0 15px;height:59px}.wordmark{font-size:18px}.wordmark strong,.wordmark i,.edition,.topactions>button{display:none}.topactions .primary{font-size:11px;padding:7px 9px}.projectbar{padding:18px 16px}.project-meta{display:none}h1{font-size:18px}h1 span{display:none}.studio{display:flex;flex-direction:column}.viewport{height:560px}.inspector{height:auto;border-left:0;border-top:1px solid var(--line)}.control-body{display:grid;grid-template-columns:1fr 1fr;gap:15px;overflow:visible;padding:18px}.machine-card{grid-column:1/-1;margin-bottom:4px}.control{margin:0 0 10px}.switchrow{font-size:12px}.inspector-bottom{padding:15px 18px}.viewport-top{left:13px;right:13px;top:14px}.viewtabs button{font-size:11px;padding:6px 9px}.viewbuttons button{font-size:10px;padding:7px}.scene-title{top:79px;left:17px}.scene-title h2{font-size:27px}.scene-title p{font-size:9px}.metrics{grid-template-columns:1fr 1fr;gap:20px;padding:20px 0}.metrics>div:nth-child(2){border:0}.metrics>div>span{font-size:12px}.sequence{flex-wrap:wrap;padding:18px 13px}.steps{display:grid;grid-template-columns:1fr 1fr;flex-basis:100%}.step small{font-size:10px}.step strong{font-size:13px}footer{display:block;padding:14px}footer span{display:block;margin-bottom:6px}.scale{display:none}.scene-bottom{left:17px;font-size:9px;right:12px}.scene-bottom p{font-size:10px}.scene-tag{left:17px}.scene-title h2 span{font-size:11px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

/* Readable control typography */
.control label,.inspector-title h2{font-size:14px}.machine-sub,.rangemeta,.smallmuted,.position span,.switchrow,.inspector-bottom p,.scene-title p,.scene-bottom,.scene-bottom p,.metrics>div>span,.metrics p,.step small,.project-meta small,.textbutton,.drive-note p,.subnote{font-size:12px}.viewtabs button,.viewbuttons button,.step strong,.statusline{font-size:14px}.control-body{scrollbar-width:thin}.control output small,.machine-card>div{font-size:11px}.scene-title .micro,.eyebrow,.private{font-size:11px}.scene-tag{font-size:12px}.scale,.compass{display:none}.sequence .step{padding:10px}.sequence-heading{min-width:170px}@media(max-width:1250px){.sequence-heading{display:none}.step small{white-space:normal}}@media(max-width:800px){.viewtabs button,.viewbuttons button{font-size:12px}.scene-title p{max-width:260px}.scene-bottom{line-height:1.8}.control-body{gap:16px}.control label{flex-wrap:wrap;gap:5px}.position{flex-wrap:wrap}.scene-tag{bottom:112px}.metrics p{line-height:1.5}}

.camera-rail{position:absolute;right:22px;top:84px;display:flex;flex-direction:column;gap:5px;align-items:stretch}.camera-rail>span{font-size:10px;letter-spacing:1.5px;color:#8095a6;text-align:center;margin-bottom:3px}.camera-rail button{font-size:12px;padding:7px 12px;background:#ffffffdc;border-color:#d7e2e9;font-weight:500;min-width:65px}.camera-rail button.chosen,.stage-options button.chosen{background:#e6f4fc;border-color:#74abc9;color:#1e77a3}.stage-options{position:absolute;left:23px;bottom:145px;display:flex;gap:6px}.stage-options button{background:#ffffffdb;font-size:12px;padding:6px 10px;font-weight:500;border-color:#d7e2e9}.camera-caption{position:absolute;right:24px;bottom:87px;text-align:right;pointer-events:none}.camera-caption span{display:block;font-size:10px;letter-spacing:2px;color:#91a2ae}.camera-caption strong{font-size:13px;font-weight:500;color:#5f788b}.play-actions{display:flex;gap:7px;flex-direction:column}.play-actions button{font-size:12px;white-space:nowrap;padding:8px 12px}.target-readout{border-top:1px solid #e1ebf0;padding:11px 18px;background:#eff7fa;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:4px}.target-readout>span{font-size:12px;color:#748e9e;flex-basis:100%}.target-readout strong{color:#278597;font-size:23px;font-weight:500}.target-readout small{font-size:11px;color:#91a7b4}.studio.night .scene-title h2,.studio.night .camera-caption strong{color:#c6d4df}.studio.night .scene-title p,.studio.night .scene-title .micro,.studio.night .scene-bottom,.studio.night .camera-caption span{color:#a7b8c8}.studio.night .scene-tag{background:#192e46dd;border-color:#364d65;color:#b1c5d5}.studio.night .annotation{background:#192e46dd}.studio.night .annotation strong{color:#c3d6e4}@media(max-width:800px){.camera-rail{right:13px;top:167px;gap:4px}.camera-rail button{font-size:12px;min-width:54px;padding:6px 7px}.stage-options{left:16px;bottom:154px;gap:4px}.stage-options button{font-size:11px;padding:6px 8px}.camera-caption{right:16px;bottom:83px}.camera-caption strong{font-size:11px}.camera-caption span{font-size:9px}.play-actions{flex-direction:row;width:100%;justify-content:flex-end}.target-readout{padding:12px 18px}.scene-tag{bottom:119px;font-size:11px}}
.align-button{width:100%;margin-top:5px;border-color:#c2dbe6;background:#f7fcfe;color:#387b97;font-size:12px;padding:6px 9px}.studio.night .viewport{background:#233345}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.site-form{display:flex;gap:8px;margin:16px 0}
.site-form input{flex:1;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:5px}
.site-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.site-results{list-style:none;padding:0;margin:8px 0 0;max-height:240px;overflow:auto}
.site-results li{margin:0}
.site-results button{width:100%;text-align:left;margin-bottom:6px}
.site-gps{display:block;flex-basis:100%;margin:6px 0 0;font-size:11px;color:#5f7b8c}
.map-credit{position:absolute;right:22px;bottom:18px;margin:0;font-size:10px;color:#5f7888;background:#ffffffcc;padding:3px 7px;border-radius:3px;pointer-events:none}
#sitedialog #closesite{position:absolute;right:12px;top:10px;border:0;font-size:20px}
#opensite,#openmachine{white-space:nowrap}
.machine-card select{margin-top:12px}
.machine-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.machine-pick{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:12px;text-align:left}
.machine-pick strong{font-size:15px}
.machine-pick span,.machine-pick small{font-size:12px;color:#5f7888;font-weight:500}
.machine-pick.chosen{border-color:#74abc9;background:#e6f4fc;color:#1e77a3}
#machinedialog{width:740px}
#machinedialog #closemachine{position:absolute;right:12px;top:10px;border:0;font-size:20px}
@media(max-width:800px){
  .project-meta{display:flex;gap:10px}
  .project-meta>div,.project-meta .textbutton{display:none}
  #opensite{font-size:12px;padding:8px 10px}
  .topactions #openmachine{display:inline-block;font-size:12px;padding:8px 10px}
  .machine-grid{grid-template-columns:1fr}
}
