:root{--white:#f5fbff;--cyan:#9feeff;--line:rgba(210,246,255,.55);--bg:#02080d}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--white);font-family:"Courier New",ui-monospace,monospace}.archive-bg{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:saturate(.65) contrast(1.15) brightness(.62);transform:scale(1.02)}.archive-shade{position:fixed;inset:0;z-index:1;background:radial-gradient(circle at 50% 42%,rgba(0,25,38,.08),rgba(0,4,8,.7) 72%),linear-gradient(rgba(0,10,15,.18),rgba(0,5,9,.65));box-shadow:inset 0 0 140px #000}.archive-shade:after{content:"";position:absolute;inset:0;opacity:.16;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.08) 4px)}.terminal{position:relative;z-index:2;min-height:100vh;display:grid;place-items:center;padding:28px}.boot-screen,.auth-screen,.record-screen{width:min(860px,100%)}.boot-screen{text-align:center}.loader{position:relative;width:min(520px,88vw);height:132px;padding:9px;border:1px solid rgba(255,255,255,.9);outline:1px solid rgba(255,255,255,.42);outline-offset:-8px;background:rgba(0,5,9,.45);color:#fff;overflow:hidden;cursor:default;transition:box-shadow .35s,transform .35s}.loader:not(:disabled){cursor:pointer;box-shadow:0 0 34px rgba(150,235,255,.16)}.loader:not(:disabled):hover{transform:translateY(-2px)}.loader-fill{position:absolute;left:9px;right:9px;top:9px;bottom:9px;background:rgba(231,249,255,.9);mix-blend-mode:screen;opacity:.32;transform:scaleX(0);transform-origin:left center;will-change:transform}.loader-inner{position:absolute;inset:16px;border:1px solid rgba(255,255,255,.58)}.loader-label{position:absolute;inset:0;display:grid;place-items:center;z-index:2;font-size:clamp(18px,3vw,28px);letter-spacing:.42em;text-indent:.42em;text-shadow:0 0 12px #8feaff}.boot-note,.eyebrow{font-size:11px;letter-spacing:.28em;color:rgba(220,247,255,.7);margin-top:20px}.auth-screen{padding:clamp(26px,6vw,70px);border:1px solid var(--line);background:rgba(1,9,14,.7);box-shadow:0 0 70px rgba(0,0,0,.5);backdrop-filter:blur(4px)}.auth-screen h1{font-size:clamp(28px,5vw,54px);font-weight:400;letter-spacing:.08em;margin:18px 0 48px}.auth-screen h1 span{font-size:.42em;letter-spacing:.34em;color:var(--cyan)}#access-form label{display:block;font-size:11px;letter-spacing:.28em;margin-bottom:10px}.code-row{height:48px;border-bottom:1px solid rgba(255,255,255,.72);display:flex;align-items:center;gap:12px}.code-row span{color:var(--cyan)}.code-row input{flex:1;border:0;outline:0;background:transparent;color:#fff;font:inherit;font-size:20px;letter-spacing:.18em}.code-row i{width:8px;height:19px;background:#fff;animation:blink 1s steps(1) infinite}#access-form button,.record-actions button{margin-top:25px;padding:11px 18px;border:1px solid rgba(255,255,255,.6);background:transparent;color:#fff;font:inherit;letter-spacing:.14em;cursor:pointer}#access-form button:hover,.record-actions button:hover{background:#fff;color:#061018}.auth-message{min-height:1.4em;margin-top:20px;font-size:11px;letter-spacing:.18em;color:rgba(255,255,255,.55)}.auth-message.denied{color:#ffb0b0}.back-link{display:inline-block;margin-top:40px;color:rgba(220,247,255,.58);font-size:10px;letter-spacing:.16em;text-decoration:none}.record-screen{min-height:min(680px,88vh);padding:clamp(24px,5vw,56px);border:1px solid rgba(210,246,255,.4);background:rgba(0,6,10,.78);box-shadow:0 0 90px rgba(0,0,0,.72);backdrop-filter:blur(3px)}.record-head{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:baseline;border-bottom:1px solid rgba(255,255,255,.28);padding-bottom:16px;margin-bottom:28px}.record-head span{font-size:10px;letter-spacing:.22em;color:var(--cyan)}.record-head b{font-weight:400;letter-spacing:.15em}.record-head small{opacity:.5}#record-output{white-space:pre-wrap;word-break:break-word;margin:0;min-height:390px;font:14px/1.95 "Courier New",monospace;color:#edfaff;text-shadow:0 0 8px rgba(130,230,255,.15)}.record-actions{text-align:right}.is-hidden{display:none!important}.blackout{animation:blackout .18s forwards}@keyframes blink{50%{opacity:0}}@keyframes blackout{to{opacity:0;filter:brightness(0)}}@media(max-width:600px){.terminal{padding:14px}.loader{height:108px}.auth-screen{padding:28px 20px}.record-screen{padding:24px 18px;min-height:88vh}.record-head{grid-template-columns:1fr auto}.record-head span{grid-column:1/-1}#record-output{font-size:12px;line-height:1.85}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}}

/* v3 — ceremonial typography & spectral light */
body{overflow-x:hidden}.spectral-light{position:fixed;z-index:1;width:46vw;height:46vw;border-radius:50%;pointer-events:none;filter:blur(60px);opacity:.13;mix-blend-mode:screen;will-change:transform,opacity}.spectral-light--one{left:-18vw;top:-16vw;background:radial-gradient(circle,rgba(165,235,255,.75),rgba(71,123,155,.2) 36%,transparent 68%);animation:spectralDriftOne 12s ease-in-out infinite alternate}.spectral-light--two{right:-22vw;bottom:-20vw;background:radial-gradient(circle,rgba(200,184,255,.5),rgba(71,139,158,.16) 38%,transparent 70%);animation:spectralDriftTwo 15s ease-in-out infinite alternate}.light-sweep{position:fixed;z-index:3;inset:-30% auto -30% -35%;width:22%;pointer-events:none;opacity:0;transform:skewX(-13deg);background:linear-gradient(90deg,transparent,rgba(218,249,255,.02),rgba(225,251,255,.2),rgba(218,249,255,.02),transparent);filter:blur(9px);mix-blend-mode:screen}.light-sweep.is-active{animation:lightPass .82s cubic-bezier(.2,.65,.28,1) both}.loader{box-shadow:0 0 0 rgba(151,232,255,0),inset 0 0 34px rgba(117,222,247,.025)}.loader:after{content:"";position:absolute;inset:-1px;pointer-events:none;opacity:.4;background:linear-gradient(105deg,transparent 38%,rgba(225,250,255,.22) 49%,transparent 60%);transform:translateX(-120%)}.loader.is-complete{box-shadow:0 0 46px rgba(151,232,255,.2),inset 0 0 36px rgba(174,238,255,.08)}.loader.is-complete:after{animation:loaderGleam .7s ease-out}.loader-label{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(20px,3vw,30px);letter-spacing:.5em;text-indent:.5em}.loader-sub{position:absolute;left:0;right:0;bottom:26px;z-index:2;font-size:8px;letter-spacing:.34em;color:rgba(228,248,255,.54);transition:opacity .35s ease}.loader.is-complete .loader-sub{opacity:.18}.boot-note{display:flex;justify-content:center;align-items:center;gap:13px;font-family:Georgia,"Times New Roman",serif;letter-spacing:.22em}.boot-note i{display:block;width:34px;height:1px;background:linear-gradient(90deg,transparent,rgba(216,247,255,.75),transparent)}.auth-screen{position:relative;overflow:hidden}.auth-screen:before,.record-screen:before{content:"";position:absolute;inset:12px;pointer-events:none;border:1px solid rgba(205,244,255,.1)}.auth-screen:after{content:"";position:absolute;left:50%;top:-130px;width:330px;height:250px;transform:translateX(-50%);pointer-events:none;background:radial-gradient(ellipse,rgba(174,233,249,.12),transparent 68%);filter:blur(18px)}.auth-ornament{text-align:center;margin:10px 0 4px;font:10px/1 Georgia,"Times New Roman",serif;letter-spacing:.55em;color:rgba(198,238,248,.5)}.auth-screen h1{text-align:center;font-family:Georgia,"Times New Roman","Yu Mincho",serif;line-height:1.15;letter-spacing:.16em;text-shadow:0 0 28px rgba(139,226,248,.12)}.auth-screen h1 small{display:block;margin-bottom:12px;font:9px/1.2 "Courier New",monospace;letter-spacing:.5em;color:rgba(209,241,249,.52)}.auth-screen h1 span{display:block;margin-top:14px;font-family:"Courier New",monospace}.record-head b{font-family:Georgia,"Times New Roman","Yu Mincho",serif;letter-spacing:.18em}.record-screen{position:relative;overflow:hidden}
@keyframes spectralDriftOne{to{transform:translate(10vw,8vh) scale(1.12);opacity:.19}}@keyframes spectralDriftTwo{to{transform:translate(-9vw,-7vh) scale(.92);opacity:.18}}@keyframes lightPass{0%{left:-35%;opacity:0}15%{opacity:.7}70%{opacity:.45}100%{left:120%;opacity:0}}@keyframes loaderGleam{from{transform:translateX(-120%)}to{transform:translateX(140%)}}
@media(max-width:600px){.loader-sub{bottom:19px;letter-spacing:.22em}.spectral-light{width:70vw;height:70vw}.auth-screen h1{letter-spacing:.1em}}
@media(prefers-reduced-motion:reduce){.spectral-light,.light-sweep{display:none!important}}


/* v4 — quicker access, unmistakable return control, breathing archive light */
.archive-return{position:fixed;z-index:8;left:clamp(14px,2.2vw,32px);top:clamp(14px,2.2vw,28px);display:grid;grid-template-columns:28px auto;grid-template-rows:auto auto;column-gap:10px;align-items:center;min-width:190px;padding:11px 15px 10px;border:1px solid rgba(225,249,255,.48);outline:1px solid rgba(225,249,255,.12);outline-offset:4px;background:rgba(0,7,12,.68);backdrop-filter:blur(7px);color:#f2fbff;text-decoration:none;box-shadow:0 0 24px rgba(114,219,246,.06);transition:.18s ease}.archive-return span{grid-row:1/3;font:24px/1 Georgia,serif;color:#bcefff;text-shadow:0 0 13px rgba(150,235,255,.35)}.archive-return b{font:500 12px/1.2 "Yu Mincho",Georgia,serif;letter-spacing:.12em}.archive-return small{margin-top:3px;font:7px/1.2 "Courier New",monospace;letter-spacing:.2em;color:rgba(217,245,252,.52)}.archive-return:hover,.archive-return:focus-visible{background:rgba(224,248,255,.92);color:#031017;box-shadow:0 0 30px rgba(151,232,255,.18);transform:translateY(-1px)}.archive-return:hover span,.archive-return:focus-visible span{color:#06131a;text-shadow:none}.archive-return:hover small,.archive-return:focus-visible small{color:rgba(3,16,23,.58)}
.record-hint{margin:12px 0 0;text-align:right;font:8px/1.4 "Courier New",monospace;letter-spacing:.18em;color:rgba(206,241,250,.34);transition:opacity .2s}
body.is-reading .archive-bg{animation:archiveBreath 3.8s ease-in-out infinite alternate}body.is-reading .archive-shade{animation:shadeBreath 3.8s ease-in-out infinite alternate}body.is-reading .spectral-light--one{animation-duration:5.4s;opacity:.18}body.is-reading .spectral-light--two{animation-duration:6.3s;opacity:.16}body.is-reading .record-screen{animation:recordAura 3.8s ease-in-out infinite alternate}
@keyframes archiveBreath{0%{filter:saturate(.62) contrast(1.15) brightness(.58);transform:scale(1.02)}100%{filter:saturate(.74) contrast(1.17) brightness(.69);transform:scale(1.025)}}
@keyframes shadeBreath{0%{opacity:1}100%{opacity:.88}}
@keyframes recordAura{0%{box-shadow:0 0 70px rgba(0,0,0,.74),0 0 0 rgba(132,226,250,0)}100%{box-shadow:0 0 72px rgba(0,0,0,.7),0 0 46px rgba(132,226,250,.07)}}
@media(max-width:600px){.archive-return{left:12px;top:12px;min-width:0;padding:9px 11px;grid-template-columns:22px auto}.archive-return span{font-size:20px}.archive-return b{font-size:10px}.archive-return small{display:none}.terminal{padding-top:76px}.record-hint{text-align:center;font-size:7px}}
@media(prefers-reduced-motion:reduce){body.is-reading .archive-bg,body.is-reading .archive-shade,body.is-reading .record-screen{animation:none!important}}


/* v5 — richer ceremonial light, readable terminal pacing */
.terminal:before,.terminal:after{content:"";position:fixed;z-index:1;pointer-events:none;inset:0}.terminal:before{background:radial-gradient(circle at 50% 48%,transparent 0 24%,rgba(156,229,248,.025) 38%,transparent 62%);animation:haloBreathe 5.2s ease-in-out infinite alternate}.terminal:after{opacity:.12;background:linear-gradient(90deg,transparent 0 49.86%,rgba(205,245,255,.25) 50%,transparent 50.14%),linear-gradient(0deg,transparent 0 49.9%,rgba(205,245,255,.12) 50%,transparent 50.1%);mask-image:radial-gradient(circle at center,#000 0 18%,transparent 58%)}
.loader{background:linear-gradient(180deg,rgba(1,11,17,.72),rgba(0,4,8,.58));box-shadow:0 0 65px rgba(112,220,249,.07),inset 0 0 42px rgba(163,233,250,.035)}.loader-inner:before,.loader-inner:after{content:"";position:absolute;width:9px;height:9px;border-color:rgba(224,250,255,.8)}.loader-inner:before{left:-1px;top:-1px;border-left:1px solid;border-top:1px solid}.loader-inner:after{right:-1px;bottom:-1px;border-right:1px solid;border-bottom:1px solid}.loader-fill{background:linear-gradient(90deg,rgba(190,238,250,.35),rgba(240,253,255,.92) 68%,#fff);box-shadow:18px 0 34px rgba(184,239,255,.42);opacity:.42}.loader.is-complete{animation:openPulse 1.8s ease-in-out infinite alternate}.loader.is-complete .loader-label{text-shadow:0 0 9px #dffaff,0 0 28px rgba(135,227,251,.65),0 0 55px rgba(125,184,255,.25)}
.auth-screen,.record-screen{box-shadow:0 0 100px rgba(0,0,0,.72),0 0 42px rgba(117,218,246,.055),inset 0 0 70px rgba(126,218,242,.018)}.auth-screen:before,.record-screen:before{box-shadow:inset 0 0 28px rgba(137,226,248,.025)}
.auth-ornament{position:relative;text-shadow:0 0 15px rgba(159,231,249,.35)}.auth-ornament:before,.auth-ornament:after{content:"";display:inline-block;vertical-align:middle;width:clamp(34px,8vw,88px);height:1px;margin:0 14px;background:linear-gradient(90deg,transparent,rgba(195,240,251,.55),transparent)}
#access-form button,.record-actions button{position:relative;overflow:hidden;transition:background .18s,color .18s,box-shadow .18s,transform .18s}#access-form button:after,.record-actions button:after{content:"";position:absolute;inset:-20% auto -20% -40%;width:25%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transform:skewX(-15deg);transition:left .5s ease}#access-form button:hover:after,.record-actions button:hover:after{left:120%}
.record-screen:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.08;background:repeating-linear-gradient(180deg,transparent 0 5px,rgba(205,245,255,.12) 6px);animation:scanDrift 9s linear infinite}.record-head{position:relative}.record-head:after{content:"";position:absolute;left:0;bottom:-1px;width:18%;height:1px;background:#dffaff;box-shadow:0 0 12px rgba(173,238,255,.8);animation:headerSignal 4.2s ease-in-out infinite alternate}#record-output{position:relative;z-index:1;text-shadow:0 0 8px rgba(130,230,255,.2),0 0 24px rgba(130,230,255,.04)}body.is-reading #record-output:after{content:"█";color:#dffaff;margin-left:2px;animation:blink .72s steps(1) infinite;text-shadow:0 0 12px rgba(190,244,255,.9)}
body.is-reading .record-screen:before{animation:innerFrameBreathe 3.8s ease-in-out infinite alternate}.light-sweep.is-active{animation-duration:.68s;filter:blur(7px);background:linear-gradient(90deg,transparent,rgba(218,249,255,.03),rgba(245,254,255,.34),rgba(190,229,255,.08),transparent)}
@keyframes haloBreathe{from{opacity:.45;transform:scale(.98)}to{opacity:1;transform:scale(1.05)}}@keyframes openPulse{from{box-shadow:0 0 38px rgba(151,232,255,.15),inset 0 0 32px rgba(174,238,255,.05)}to{box-shadow:0 0 76px rgba(151,232,255,.28),0 0 130px rgba(109,181,255,.08),inset 0 0 48px rgba(174,238,255,.11)}}@keyframes scanDrift{from{transform:translateY(-18px)}to{transform:translateY(18px)}}@keyframes headerSignal{from{width:12%;opacity:.35}to{width:44%;opacity:.9}}@keyframes innerFrameBreathe{from{border-color:rgba(205,244,255,.08)}to{border-color:rgba(205,244,255,.19);box-shadow:inset 0 0 34px rgba(137,226,248,.035)}}
@media(prefers-reduced-motion:reduce){.terminal:before,.record-screen:after,.record-head:after,.loader.is-complete{animation:none!important}}
\n\n/* v6 — visitor-controlled transitions + higher record legibility */
.record-screen{
  background:linear-gradient(180deg,rgba(0,7,12,.94),rgba(0,5,9,.91));
  border-color:rgba(222,249,255,.58);
  box-shadow:0 0 110px rgba(0,0,0,.84),0 0 48px rgba(117,218,246,.075),inset 0 0 72px rgba(126,218,242,.025);
}
.record-head{border-bottom-color:rgba(235,251,255,.42)}
.record-head span{color:#c9f5ff;font-weight:700}
.record-head b{color:#fff;text-shadow:0 0 18px rgba(164,234,251,.18)}
.record-head small{color:rgba(239,251,255,.76);opacity:1}
#record-output{
  font-size:16px;
  line-height:2;
  font-weight:500;
  letter-spacing:.035em;
  color:#f7fcff;
  text-shadow:0 1px 1px rgba(0,0,0,.9),0 0 7px rgba(158,230,248,.12);
}
.record-hint{
  color:rgba(226,248,255,.72);
  font-size:9px;
  letter-spacing:.16em;
  margin-top:18px;
}
.record-actions{position:relative;z-index:2;margin-top:10px}
.record-actions button{
  min-width:min(100%,310px);
  padding:14px 20px;
  background:rgba(5,17,24,.78);
  border-color:rgba(231,250,255,.72);
  color:#fff;
  box-shadow:0 0 24px rgba(142,228,250,.07),inset 0 0 22px rgba(158,231,249,.025);
}
.record-actions button:hover,.record-actions button:focus-visible{
  background:#f2fbff;color:#041017;box-shadow:0 0 34px rgba(174,238,255,.2);
}
@media(max-width:600px){
  #record-output{font-size:14px;line-height:1.95;letter-spacing:.02em}
  .record-hint{font-size:8px;line-height:1.6}
  .record-actions{text-align:center}
}


/* v7 — stable terminal viewport: mobile-first, no growing frame */
.record-screen{
  display:flex;
  flex-direction:column;
  width:min(900px,100%);
  height:min(720px,calc(100dvh - 116px));
  min-height:520px;
  padding:clamp(22px,4vw,42px);
}
.record-head{flex:0 0 auto}
.record-viewport{
  position:relative;
  z-index:2;
  flex:1 1 auto;
  min-height:0;
  margin-top:18px;
  padding:4px 18px 18px 2px;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  border-bottom:1px solid rgba(216,246,255,.12);
  mask-image:linear-gradient(to bottom,transparent 0,#000 18px,#000 calc(100% - 20px),transparent 100%);
}
#record-output{
  min-height:100%;
  margin:0;
  padding:16px 8px 28px 0;
  white-space:pre-wrap;
  overflow:visible;
}
.record-viewport::-webkit-scrollbar{width:7px}
.record-viewport::-webkit-scrollbar-track{background:rgba(210,245,255,.045);border-left:1px solid rgba(210,245,255,.08)}
.record-viewport::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(218,249,255,.72),rgba(135,218,241,.34));border:2px solid rgba(1,9,14,.9);box-shadow:0 0 10px rgba(160,232,250,.16)}
.record-viewport{scrollbar-width:thin;scrollbar-color:rgba(200,240,250,.58) rgba(210,245,255,.045)}
.record-hint{flex:0 0 auto;margin-top:12px}
.record-actions{flex:0 0 auto;margin-top:10px}

@media(max-width:600px){
  .terminal{padding:72px 12px 12px;place-items:stretch center}
  .record-screen{
    width:100%;
    height:calc(100dvh - 86px);
    min-height:0;
    padding:18px 15px 14px;
    border-left-color:rgba(222,249,255,.42);
    border-right-color:rgba(222,249,255,.42);
  }
  .record-head{padding-bottom:13px;gap:6px 10px}
  .record-head b{font-size:clamp(15px,4.8vw,20px);line-height:1.35}
  .record-head span,.record-head small{font-size:8px}
  .record-viewport{margin-top:10px;padding:2px 10px 14px 0;scrollbar-gutter:auto}
  #record-output{font-size:14px;line-height:1.85;padding:12px 4px 24px 0}
  .record-hint{margin:9px 0 0;font-size:7px;line-height:1.45}
  .record-actions{margin-top:8px}
  .record-actions button{width:100%;min-width:0;padding:12px 12px;font-size:9px}
}

@media(max-width:380px){
  .record-screen{padding:15px 12px 12px}
  #record-output{font-size:13.5px;line-height:1.8}
}

@media(prefers-reduced-motion:reduce){.record-viewport{scroll-behavior:auto}}

/* ===== QUERY TERMINAL：入口を大きくする ===== */

.query-terminal-link,
a[href="./inquiry.html"],
a[href="inquiry.html"] {
  display: flex;
  width: min(520px, calc(100% - 32px));
  min-height: 72px;
  margin: 28px auto 12px;
  padding: 18px 24px;

  align-items: center;
  justify-content: center;

  border: 1px solid rgba(235, 225, 200, .65);
  background: rgba(5, 7, 9, .82);

  color: #f5efe2;
  text-align: center;
  text-decoration: none;

  font-size: 15px;
  letter-spacing: .14em;
  line-height: 1.7;

  box-shadow:
    0 12px 35px rgba(0, 0, 0, .45),
    inset 0 0 24px rgba(255, 240, 205, .04);

  backdrop-filter: blur(8px);

  transition:
    transform .2s ease,
    border-color .2s ease,
    background .2s ease;
}

.query-terminal-link:hover,
a[href="./inquiry.html"]:hover,
a[href="inquiry.html"]:hover {
  transform: translateY(-2px);
  border-color: rgba(255, 240, 205, .95);
  background: rgba(18, 18, 17, .92);
}

@media (max-width: 520px) {
  .query-terminal-link,
  a[href="./inquiry.html"],
  a[href="inquiry.html"] {
    width: calc(100% - 24px);
    min-height: 78px;
    margin-top: 24px;
    padding: 18px 16px;
    font-size: 14px;
  }
}