:root{color:#edf4ff;background:#02050b;--green:#5fe4ff;--muted:#8998ae;--line:#213047}
body{min-height:100vh;color:#edf4ff;background:radial-gradient(circle at 78% 9%,#17376480 0,transparent 26%),radial-gradient(circle at 18% 42%,#10233d80 0,transparent 28%),radial-gradient(circle at 50% 120%,#12344d 0,transparent 42%),#02050b}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.55;background-image:radial-gradient(circle,#fff 0 1px,transparent 1.4px),radial-gradient(circle,#7edfff 0 1px,transparent 1.5px);background-size:61px 61px,103px 103px;background-position:4px 9px,31px 47px;mask-image:linear-gradient(to bottom,#000,transparent 82%)}
body:after{content:"";position:fixed;inset:0;pointer-events:none;opacity:.12;background-image:linear-gradient(#5edfff22 1px,transparent 1px),linear-gradient(90deg,#5edfff22 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,transparent 70px,#000 35%,transparent 95%)}
header{position:relative;border-color:#1b2a40;background:#030812b8;backdrop-filter:blur(18px)}
.orbit{color:#72e7ff;text-shadow:0 0 24px #52dfffaa}.edition,.intro .eyebrow,.eyebrow{color:#7fcce0}.dot{background:#65e7ff;box-shadow:0 0 12px #65e7ff}
main{position:relative}h1{font-size:34px;font-weight:400;text-shadow:0 0 30px #84dbff2e}
.intro p:not(.eyebrow),.hint,.preview-note,.save-row p,.about,footer{color:#8998ae}.free{color:#a9efff;border-color:#2b6b7c;background:#0c263380}
.mission-strip{height:34px;margin:-14px 0 24px;border:1px solid #1c3851;border-left:3px solid #5ce2ff;background:#06101cbd;display:flex;align-items:center;gap:28px;padding:0 14px;color:#718da3;font:9px/1.1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:1.2px}
.mission-strip span{white-space:nowrap}.mission-strip span:first-child{color:#8deaff}.mission-strip i{display:inline-block;width:5px;height:5px;margin-right:7px;border-radius:50%;background:#65f5c4;box-shadow:0 0 10px #65f5c4}.mission-clock{margin-left:auto}
.workspace{gap:24px;grid-template-columns:minmax(320px,410px) minmax(0,1fr)}.editor,.preview-area{position:relative;border:1px solid #1d3049;background:linear-gradient(145deg,#0b1422ed,#050b14f2);box-shadow:0 24px 80px #0008,inset 0 1px #ffffff0c;backdrop-filter:blur(16px)}
.editor:before,.preview-area:before{position:absolute;left:18px;top:-8px;padding:0 8px;background:#07101b;color:#56849d;font:9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:1.7px}
.editor:before{content:attr(data-panel)}.preview-area:before{content:"EARTH VIEW"}
.editor:after,.preview-area:after{content:"";position:absolute;inset:8px;pointer-events:none;background:linear-gradient(#5de5ff 0 0) left top/14px 1px no-repeat,linear-gradient(#5de5ff 0 0) left top/1px 14px no-repeat,linear-gradient(#5de5ff 0 0) right bottom/14px 1px no-repeat,linear-gradient(#5de5ff 0 0) right bottom/1px 14px no-repeat;opacity:.42}
.editor{padding:26px;border-radius:12px}.preview-area{padding:22px 34px 20px;border-radius:12px}.step{color:#76def8;border-color:#29506a;background:#0b2030}
label{color:#dce8f6}label span{color:#71849c}input,select,textarea{color:#eaf4ff;background:#050b14;border-color:#24364e}input::placeholder,textarea::placeholder{color:#607188}
input:focus,select:focus,textarea:focus{border-color:#51cce9;box-shadow:0 0 0 3px #39bfe51c}.secondary{color:#bdeeff;border-color:#2b5870;background:#07111e}.secondary:hover:not(:disabled){background:#0e2638;border-color:#52d7f6}
.presets button{color:#88bbcb;border-color:#2c4359}.location{color:#74d3eb}.places button,.candidate{color:#dfeaff;background:#07101c;border-color:#22344c}
.candidate[aria-pressed=true]{color:#effcff;border-color:#65dbf6;background:#0d2a3b;box-shadow:inset 0 0 0 1px #65dbf6,0 0 20px #39c9ee1f}.candidate small{color:#8ea0b6}
.primary{color:#001019;background:linear-gradient(135deg,#7beaff,#36bddd);box-shadow:0 8px 28px #2cc9ef31}.primary:hover:not(:disabled){background:linear-gradient(135deg,#a4f2ff,#58d7f3)}
.candidates-heading,.about,footer{border-color:#1c2d43}.empty{color:#788aa0;border-color:#2b3a50}.preview-heading{color:#72869f}
.preview-heading{margin-bottom:14px}.preview-heading .eyebrow{color:#8edff1}.poster-wrap{background:#02060b;box-shadow:0 30px 80px #000d,0 0 0 1px #34526b}.poster-wrap:after{content:"LIVE EARTH";position:absolute;right:12px;top:11px;padding:5px 7px;color:#d8f8ff;background:#0209148f;border:1px solid #ffffff36;font:8px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:1.4px;pointer-events:none}
#placeholder{align-items:flex-start;justify-content:flex-end;padding:34px;background:linear-gradient(to top,#01040bd9 0,transparent 46%),url("earth-japan.png") center/cover no-repeat;color:#fff;text-align:left}
#placeholder .planet,#placeholder .eyebrow,#placeholder p:last-child{display:none}#placeholder h2{font-size:0;margin:0;text-shadow:0 3px 20px #000}#placeholder h2:after{content:"地球から、記憶へ。";font:400 24px/1.55 Inter,"Hiragino Kaku Gothic ProN",sans-serif;letter-spacing:1px}
#loading{background:#020914;color:#dff8ff;overflow:hidden}#loading video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.72) saturate(.9)}#loading:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#020914d9,transparent 55%,#0209144d);z-index:1}.spinner,#loading p{position:relative;z-index:2}.spinner{border-color:#82dff05c;border-top-color:#fff;box-shadow:0 0 20px #51ddff52}#loading p{padding:7px 12px;background:#02091499;backdrop-filter:blur(5px)}
.save-row,.video-tools{border-color:#20344c}.video-tools{display:block}.video-tools p{white-space:normal}.video-actions{margin-top:12px}.video-actions button{flex:1}#source{color:#72dff7}summary{color:#cfe7f3}
.width-presets button{border-color:#263b53;background:#07101c;color:#91b8c9}.width-presets button:hover{border-color:#55d9f6;background:#0d2738}
#video-dialog{background:#050b14;box-shadow:0 30px 100px #000e,0 0 0 1px #29445f}#video-dialog::backdrop{background:#000816e8;backdrop-filter:blur(9px)}#video-dialog canvas{background:#02050b}.video-dialog-head span{color:#7b9eb3}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#69e5ff}
@media(max-width:980px){.workspace{display:flex;flex-direction:column}.editor,.preview-area{width:100%}.preview-area{padding:26px}.mission-strip{gap:14px}.mission-clock{display:none}.poster-wrap{max-width:540px}.save-row,.video-tools{max-width:540px}}
@media(max-width:640px){.editor{padding:20px}.preview-area{padding:20px}h1{font-size:27px}.mission-strip{overflow:hidden;margin-top:-8px}.mission-strip span:nth-child(3){display:none}}
