.mobile-hint{display:none}
.notice{position:absolute;z-index:30;left:50%;bottom:70px;transform:translateX(-50%);max-width:min(90vw,420px);padding:11px 16px;border-radius:10px;background:#143b43;color:#fff;font-size:13px;line-height:1.5;text-align:center;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.notice[hidden]{display:none}

@media screen and (max-width:900px){
  .app{height:100vh;height:100dvh;grid-template-columns:minmax(0,1fr)}
  .rail{display:none}
  .main{height:100%;min-height:0}
  .toolbar{height:50px;padding:0 12px;gap:9px}
  .toolbar-title{display:flex;align-items:center;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .toolbar-title #sectionName{display:none}
  .toolbar-title .divider{display:none}
  .toolbar-title strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .toolbar-actions{flex:none;gap:6px}
  .toolbar-actions .toolbar-btn:first-child{display:inline-flex}
  .toolbar-actions .toolbar-btn:nth-child(2){display:inline-flex}
  #printBtn{display:none}
  .toolbar-btn{font-size:11px;padding:6px 9px;min-height:34px}
  .stage{display:block;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0;background:#f0f4f3}
  .slide-viewport{width:100%;height:auto;transform:none!important;margin:0!important;box-shadow:none;overflow:visible;background:transparent}
  .slides{width:100%;height:auto}
  .slide{position:relative;inset:auto;display:none;width:100%;height:auto;min-height:calc(100dvh - 104px);padding:27px 24px 55px;overflow:visible}
  .slide.active{display:block}
  .slide::after{bottom:21px;right:22px}
  .slide-footer{position:static;margin-top:27px;font-size:10px;line-height:1.5}
  .slide-head{display:block;margin-bottom:20px}
  .section-index{display:none}
  .slide h2{font-size:27px;line-height:1.32;letter-spacing:0}
  .slide .subtitle{font-size:14px;line-height:1.6;margin-top:10px}
  .eyebrow{font-size:10px;letter-spacing:2px}
  .pill{font-size:10px;padding:6px 10px;margin-top:14px}
  .grid2,.grid3,.grid4,.problem-grid,.day-grid,.arch-main,.arch-bottom,.policy-grid,.conversation-line,.mode-grid,.memory-stack,.boundary,.reliability-grid,.proof-grid{grid-template-columns:1fr!important;gap:12px;margin-top:22px}
  .soft-card,.problem-card,.day-card,.arch-layer,.mode-card,.reliability-card{height:auto!important;min-height:0;padding:18px}
  .soft-card h3{font-size:18px}
  .soft-card p{font-size:13px}
  .problem-card h3{font-size:20px;margin:15px 0 8px}
  .problem-card p{font-size:13px}
  .position-center{font-size:16px;line-height:1.6;margin-top:18px}
  .four-pillar .soft-card{height:auto}
  .icon-disc{margin-bottom:12px}
  .seven-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
  .seven-item,.seven-item:last-child{grid-column:auto;height:auto;min-height:132px;padding:15px}
  .seven-item strong{font-size:15px}
  .seven-item p{font-size:12px}
  .day-card{min-height:0;padding:19px}
  .day-card h3{font-size:18px;margin:11px 0 8px}
  .day-card p{font-size:14px}
  .day-num{font-size:31px;right:18px;top:15px}
  .arch-layer h3{margin:10px 0 5px}
  .arch-main{margin-top:22px}
  .arch-strip{font-size:12px;line-height:1.6}
  .arch-strip b{display:block;margin:0 0 3px}
  .clock-row{display:grid;grid-template-columns:1fr;gap:5px;margin-top:18px}
  .clock{padding:11px 0}
  .flow{flex-direction:column;height:auto!important;gap:8px;margin-top:20px!important}
  .flow-node{padding:16px}
  .flow-node b{margin:7px 0 4px;font-size:17px}
  .flow-arrow{transform:rotate(90deg);font-size:19px}
  .dark-panel{height:auto!important}
  .decision-line{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:20px}
  .decision-line .a{display:none}
  .decision-step{padding:13px 5px;font-size:12px}
  .policy-grid .soft-card{min-height:0}
  .conversation-step{padding:10px 4px 12px}
  .conversation-step b{margin:7px 0 4px}
  .conversation-step .t{font-size:19px}
  .mode-card{padding:22px}
  .mode-card h3{font-size:22px}
  .mode-card ul{margin-top:15px;font-size:13px}
  .memory-row{padding:12px;flex-wrap:wrap}
  .memory-row b{font-size:13px;flex:1}
  .memory-row span:last-child{width:100%;margin-left:42px}
  .memory-example{padding:18px}
  .boundary{gap:10px}
  .boundary-box{height:auto;padding:21px}
  .boundary-box h3{font-size:20px;margin:12px 0}
  .boundary-box p{font-size:13px}
  .boundary-divider{padding:1px 0}
  .boundary-divider span{display:inline;margin-left:8px;font-size:20px}
  .reliability-card{padding:18px}
  .reliability-card h3{margin:8px 0 5px}
  .proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px}
  .proof-grid .soft-card{height:auto;min-height:137px;padding:15px}
  .proof-grid .value{font-size:27px;letter-spacing:-1px;white-space:normal;overflow-wrap:anywhere}
  .proof-grid .label{font-size:11px}
  .proof-disclaimer{font-size:11px;line-height:1.55;margin-top:16px!important}
  .highlight-band{padding:16px;margin-top:18px!important}
  .highlight-band p{font-size:14px}
  .slide-cover{min-height:calc(100dvh - 104px);padding:0;overflow:hidden}
  .cover-bg{position:absolute}
  .cover-content{position:relative;left:auto;top:auto;padding:66px 27px 70px;max-width:100%}
  .cover-overline{font-size:10px;letter-spacing:3px}
  .cover-title{font-size:65px!important;margin:50px 0 17px!important}
  .cover-tagline{font-size:24px;line-height:1.5}
  .cover-desc{font-size:14px;line-height:1.65}
  .cover-meta{margin-top:67px;gap:12px;flex-wrap:wrap;font-size:11px}
  .cover-meta .bar{width:19px}
  .cover-orbit{width:370px;height:370px;right:-190px;top:30px}
  .cover-orbit::after{width:250px;height:250px;left:59px;top:59px}
  .device,.cover-caption{display:none}
  .slide-end{overflow:hidden}
  .end-circle{width:430px;height:430px;right:-250px;top:20px}
  .end-content{position:relative}
  .slide-end h2{font-size:23px!important}
  .end-quote{font-size:28px;line-height:1.55;margin-top:55px!important}
  .end-bottom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:45px}
  .end-bottom span{width:auto;font-size:12px;line-height:1.5}
  .end-thanks{margin-top:52px!important;font-size:14px}
  .bottom-bar{height:54px;padding:0 14px}
  .keyboard-hint{display:none}
  .mobile-hint{display:inline;color:#9aadad;font-size:10px}
  .bottom-info{gap:12px}
  .bottom-controls button{width:44px;height:40px;font-size:17px}
  .notes-panel{left:0;right:0;bottom:54px;max-height:37dvh;overflow:auto;border-radius:12px 12px 0 0;padding:16px 20px;font-size:12px}
  .notice{bottom:65px}
}

@media screen and (max-width:600px){
  .slide{padding:24px 18px 52px}
  .slide h2{font-size:24px}
  .toolbar-title strong{max-width:132px}
  .mobile-hint{display:none}
  .slide-end h2{font-size:21px!important}
  .end-quote{font-size:26px}
}

@media screen and (max-width:360px){
  .toolbar-btn{padding:6px 7px;font-size:10px}
  .toolbar-title strong{max-width:100px}
  .seven-grid{grid-template-columns:1fr}
  .proof-grid .value{font-size:24px}
}

@media screen and (max-width:900px) and (orientation:landscape){
  .grid2,.grid3,.grid4,.problem-grid,.day-grid,.arch-main,.policy-grid,.mode-grid,.memory-stack,.reliability-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .arch-bottom{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .proof-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .slide{min-height:calc(100dvh - 104px)}
  .slide-cover{min-height:calc(100dvh - 104px)}
  .cover-content{padding-top:35px}
  .cover-title{margin-top:24px!important;font-size:58px!important}
  .cover-meta{margin-top:26px}
  .seven-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
