:root{font-family:Arial,Helvetica,sans-serif;color:#222;font-synthesis:none;--navy:#151951;--cyan:#009ecb}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#fff}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button:focus-visible,input:focus-visible{outline:3px solid #e9a600;outline-offset:3px}#terminal{height:100dvh;display:flex;flex-direction:column;max-width:1600px;margin:auto;background:#fff}header{height:116px;flex-shrink:0;background:linear-gradient(112deg,#191d55 65%,#25328a 65%,#111747 91%);color:white;display:flex;justify-content:space-between;padding:18px 32px 12px;border-bottom:4px solid #070d33;position:relative}header:after{content:'';position:absolute;right:45px;top:0;width:58px;height:10px;background:#00afe5;transform:skew(-30deg)}.brand{display:flex;gap:23px;align-items:center}.alliance{background:#090a10;border:1px solid #b2b5c7;width:62px;height:62px;text-align:center;font-size:38px;line-height:40px}.alliance small{font-size:6px;display:block;line-height:10px}.ana{font-weight:900;font-style:italic;font-size:73px;letter-spacing:-6px}.brand-slash{width:50px;height:60px;background:linear-gradient(90deg,#213b91 78%,#02b5e6 78%);transform:skew(-28deg);border:1px solid #7f90c7}.header-controls{align-self:flex-start;text-align:right}.header-controls button{border:0;color:white;background:transparent;padding:7px 10px;font-size:17px}.header-controls button:first-child{background:#111745}.clock{margin:16px 9px 0;font-size:18px}.screen-label{height:32px;flex-shrink:0;background:linear-gradient(#e4e4e4,#fff);display:flex;justify-content:space-between;padding:6px 30px;color:#444;font-size:16px;border-bottom:1px solid #ddd}.screen-label span:first-child{font-size:13px;color:#777}main{position:relative;flex:1;min-height:0;padding:28px 40px;overflow:hidden;isolation:isolate}main:before{content:'';position:absolute;z-index:-1;left:39%;top:7%;height:88%;width:29%;transform:skew(-32deg);background:linear-gradient(90deg,#f3f3f3 73%,white 73%,white 76%,#f3f3f3 76%)}h1{font-size:28px;font-weight:400;margin:0 0 12px}h2{font-size:23px;font-weight:400}p{font-size:19px;line-height:1.5;margin:8px 0 20px}.muted{color:#666;font-size:16px}.welcome{text-align:center;display:flex;flex-direction:column;justify-content:center;height:100%;align-items:center}.welcome h1{font-size:46px;color:var(--navy);margin-bottom:12px}.welcome .big-ana{font-size:70px;font-weight:900;font-style:italic;color:var(--navy);letter-spacing:-5px;margin-bottom:12px}.welcome .start{width:430px;font-size:27px;margin:25px 0 18px;min-height:78px}.blue,.orange,.gray,.choice{border-radius:5px;border:1px solid #c1c7cd;box-shadow:0 2px 3px #0002,inset 0 1px 1px #fff8;min-height:52px;padding:10px 22px}.blue{background:linear-gradient(#00b8e3,#007eaa);color:white}.orange{background:linear-gradient(#f99b13,#df6d00);color:white}.gray{background:linear-gradient(#eee,#a4a4a4);color:#252525}button:disabled{opacity:.45;cursor:default}footer{flex-shrink:0;display:flex;gap:10px;align-items:center;padding:10px 20px;background:linear-gradient(#ddd 0,#f2f2f2 8%);border-top:1px solid #bbb}footer button{min-width:145px;font-size:21px}footer button span{font-size:22px;display:inline-flex;align-items:center;justify-content:center;background:#ffffffdc;border-radius:50%;color:#666;width:25px;height:25px;margin-right:12px}.footer-spacer{flex:1}footer .blue span{color:#0082b0}footer .orange span{color:#cc6a00;margin:0 0 0 25px}.simulator-note{font-size:10px;color:#777;padding:7px 22px;display:flex;justify-content:space-between;gap:10px}.simulator-note a{color:#777}.methods{display:grid;grid-template-columns:repeat(6,1fr);gap:24px;max-width:1050px;margin:28px auto}.method{grid-column:span 2;height:185px;padding:0;background:white;border:2px solid #1683a6;box-shadow:3px 4px 4px #0002;border-radius:7px 7px 0 0;overflow:hidden}.method:nth-child(4){grid-column:2/span 2}.method-title{background:linear-gradient(#00b6df,#007a9d);color:white;display:block;padding:12px;font-size:20px}.method-picture{display:flex;flex-direction:column;align-items:center;justify-content:center;height:130px;background:linear-gradient(90deg,#eee,white 15%,white 85%,#eee);gap:6px}.document{border:3px solid #222;border-radius:8px;background:#fff;padding:12px 22px;font-size:13px}.document b{display:block;font-size:24px;margin-top:5px;color:#171952}.passport{background:#612c38;color:#e9ce82;border:2px solid #381d25;padding:14px 25px}.passport b{font-size:35px;display:block}.barcode{font-size:36px;font-family:monospace;letter-spacing:-5px}.languages{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:900px;margin:35px auto}.choice{background:linear-gradient(#fff,#eee);min-height:80px;font-size:24px;border:2px solid #bbb}.choice.selected{border:3px solid #0084b4;background:#e3f6fc;color:#006a90}.entry{display:flex;gap:16px;align-items:center;justify-content:center;margin:24px 0}.entry input{width:320px;height:55px;border:2px solid #8ea4b9;background:#fff;font-size:28px;text-align:center;letter-spacing:5px}.entry label{font-size:21px}.keyboard{padding:22px;background:linear-gradient(#ddd,#d2d2d2);border:1px solid #aaa;border-radius:12px;box-shadow:0 2px 5px #0003;max-width:950px;margin:20px auto;display:flex;gap:25px}.letters{flex:1}.keyrow{display:flex;justify-content:center;gap:9px;margin:0 0 9px}.key{border:1px solid #bbb;border-radius:7px;background:linear-gradient(white,#f4f4f4);box-shadow:0 2px 2px #0002;font-size:24px;min-width:45px;height:49px}.space{width:55%;font-size:18px}.numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;border-left:1px solid #bbb;padding-left:25px;align-content:start}.error{color:#b52b20;text-align:center;font-size:17px;min-height:24px}.panel{background:#ffffffdb;border:1px solid #9ca7b2;border-radius:4px;padding:22px}.summary{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:25px auto;max-width:1100px}.route{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #ccc;padding:8px 0 24px;margin-bottom:20px}.airport-code{font-size:46px;color:var(--navy);display:block}.plane{color:#00a6cf;font-size:36px}.details{display:grid;grid-template-columns:1fr 1fr;gap:20px}.details small{display:block;color:#666;font-size:15px;margin-bottom:7px}.details b{font-size:22px;font-weight:400}.passenger{padding:18px;background:#edf6fa;border-left:5px solid var(--cyan);font-size:25px}.check{color:#008eac;font-size:32px}.seat-layout{display:flex;gap:35px;margin:15px auto;max-width:1050px;height:calc(100% - 55px)}.seat-info{width:260px}.seat-info .panel{padding:18px}.seat-map{flex:1;border:1px solid #ccd0d5;border-radius:70px 70px 20px 20px;background:#f0f2f3;padding:20px 35px;display:flex;flex-direction:column;justify-content:center}.seat-row{display:grid;grid-template-columns:repeat(2,1fr) 30px repeat(3,1fr) 30px repeat(2,1fr);gap:8px;margin:5px 0;align-items:center}.seat-row button{height:43px;border-radius:5px 5px 9px 9px;border:2px solid #232965;background:linear-gradient(#3b4ab4,#13194f);color:white;font-size:14px;box-shadow:0 3px 0 #aab0b5}.seat-row button:disabled{background:#d4d4d4;border-color:#bbb;color:#888;opacity:1}.seat-row button.selected{background:#00a9ce;border-color:#007497;box-shadow:0 0 0 3px #75d7e9}.seat-row span{text-align:center;font-size:14px;color:#666}.legend{display:flex;gap:20px;font-size:14px;margin-top:20px}.legend i{display:inline-block;width:15px;height:15px;background:#171e62;vertical-align:middle;margin-right:5px}.legend .occupied{background:#ccc}.legend .selected{background:#00a9ce}.bag-choices{display:flex;gap:22px;justify-content:center;margin:38px 0}.bag-choices button{width:170px;height:150px}.bag-choices b{font-size:48px;display:block}.bag-rule{text-align:center}.goods{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin:25px 0}.good{padding:20px 10px;text-align:center;background:#fff;border:1px solid #bbb}.hazard{display:flex;align-items:center;justify-content:center;width:65px;height:65px;border:3px solid #d8342d;border-radius:50%;margin:0 auto 17px;font-size:36px;color:#b02d25}.good b{font-size:17px}.declaration{display:flex;gap:18px;align-items:center;border:2px solid #aaa;background:#fff;padding:22px;font-size:22px;cursor:pointer}.declaration input{width:32px;height:32px;accent-color:#008fb6;flex-shrink:0}.processing{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.spinner{width:70px;height:70px;border:7px solid #ddd;border-top-color:#009fce;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:30px}@keyframes spin{to{transform:rotate(360deg)}}.boarding-pass{background:white;border:1px solid #aaa;box-shadow:0 4px 10px #0002;text-align:left;width:650px;margin:20px auto;padding:22px;border-top:10px solid var(--navy)}.boarding-pass h2{color:var(--navy);margin:0 0 14px;font-weight:bold}.boarding-pass .details{grid-template-columns:repeat(4,1fr);margin:20px 0}.success{font-size:54px;color:#009ba5}.completion{text-align:center}dialog{width:550px;border:1px solid #9da4af;padding:30px;box-shadow:0 12px 60px #0004}dialog::backdrop{background:#07103288}#dialog-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}#dialog-actions button{flex:1;font-size:20px}@media(min-height:850px){main{padding-top:45px}.methods{margin-top:45px}.method{height:215px}.method-picture{height:160px}.seat-row button{height:53px}}@media(max-width:850px){header{height:95px;padding:12px 18px}.ana{font-size:55px}.alliance{display:none}.brand-slash{height:43px;width:35px}.brand{gap:12px}.header-controls button{font-size:13px;padding:6px}.clock{font-size:14px;margin-top:10px}main{padding:20px}h1{font-size:23px}.methods{gap:13px;margin-top:20px}.method-title{font-size:16px}.method{height:155px}.method-picture{height:108px}footer button{font-size:16px;min-width:105px;padding:10px}.key{min-width:30px;height:42px;font-size:20px}.keyboard{gap:12px;padding:15px}.keyrow{gap:5px}.numbers{padding-left:12px;gap:5px}.entry{margin:12px}.entry input{width:230px}.summary{gap:15px}.seat-layout{gap:15px}.seat-info{width:195px}.seat-map{padding:15px}.seat-row{gap:5px}.goods{gap:8px}.good{padding:12px 5px}.good b{font-size:14px}.boarding-pass{width:min(650px,100%)}.welcome h1{font-size:36px}.bag-choices{margin:25px 0}.simulator-note{font-size:9px}}@media(max-height:650px){header{height:85px}.ana{font-size:52px}.brand-slash{height:42px}.alliance{width:48px;height:48px;font-size:28px;line-height:30px}.screen-label{height:25px;padding:4px 20px}main{padding:15px 25px}h1{font-size:23px}p{font-size:16px;margin-bottom:10px}.welcome h1{font-size:34px}.welcome .big-ana{font-size:50px}.welcome .start{margin:12px;min-height:60px}.methods{gap:15px;margin:15px auto}.method{height:135px}.method-title{padding:8px;font-size:17px}.method-picture{height:95px}.keyboard{padding:13px;margin:12px auto}.key{height:37px;font-size:20px}.entry{margin:12px}.entry input{height:42px}.seat-row{margin:3px 0}.seat-row button{height:31px}.goods{margin:15px 0}.hazard{width:50px;height:50px;margin-bottom:10px}.good{padding:10px}.bag-choices{margin:20px 0}.bag-choices button{height:110px}.boarding-pass{padding:15px;margin:12px auto}.boarding-pass .details{margin:12px 0}footer{padding:7px 15px}footer button{min-height:43px;font-size:18px}.panel{padding:15px}.summary{margin:15px auto}.airport-code{font-size:35px}.route{padding-bottom:12px}.details{gap:12px}.completion p{margin:5px}.success{font-size:35px}}@media(max-width:560px){header{height:85px}.ana{font-size:42px}.brand-slash{width:23px;height:35px}.header-controls button{font-size:11px;padding:5px 3px}.header-controls button:nth-child(2),.header-controls button:nth-child(3){display:none}.screen-label span:first-child{display:none}.screen-label{justify-content:flex-end}main{padding:15px}.welcome .start{width:90%}.methods{gap:10px;grid-template-columns:repeat(2,1fr)}.method{grid-column:span 1;height:130px}.method:nth-child(4){grid-column:auto}.method-title{font-size:14px;padding:8px}.method-picture{height:94px}.document{padding:7px}.document b{font-size:19px}.languages{grid-template-columns:repeat(2,1fr);gap:12px}.choice{font-size:19px}.entry{flex-wrap:wrap;gap:8px}.entry label{width:100%;text-align:center;font-size:16px}.entry input{width:210px;font-size:23px}.keyboard{display:block;padding:9px}.keyrow{gap:3px}.key{min-width:0;width:9%;font-size:16px;height:38px}.space{width:55%}.numbers{border:0;padding:6px 0 0;display:flex;gap:3px}.numbers .key{flex:1}.summary{grid-template-columns:1fr;gap:12px}.summary .panel{padding:12px}.route{margin-bottom:12px;padding-bottom:10px}.airport-code{font-size:30px}.details b{font-size:18px}.passenger{font-size:20px;padding:12px}.seat-layout{display:block;margin-top:8px;height:auto}.seat-info{width:100%}.seat-info .panel{padding:10px;display:flex;justify-content:space-between;align-items:center}.seat-info h2{margin:0;font-size:18px}.seat-info p,.seat-info>p{display:none}.seat-info .legend{margin:7px 0}.seat-map{padding:12px}.seat-row{gap:3px;grid-template-columns:repeat(2,1fr) 20px repeat(3,1fr) 20px repeat(2,1fr)}.seat-row button{height:36px;font-size:10px}.bag-choices{gap:10px}.bag-choices button{width:22%;height:115px}.bag-choices b{font-size:36px}.goods{grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.hazard{width:40px;height:40px;font-size:24px;margin-bottom:6px}.good{padding:8px 3px}.good b{font-size:12px}.declaration{font-size:16px;padding:12px;gap:10px}.boarding-pass .details{grid-template-columns:repeat(2,1fr)}footer{gap:6px;padding:8px}footer button{min-width:0;padding:10px;font-size:14px}footer button span{width:18px;height:18px;font-size:16px;margin-right:5px}footer .orange span{margin-left:6px}#help{display:none}.simulator-note{font-size:8px;padding:5px 8px}.simulator-note a{display:none}dialog{width:90%}}

/* Keep seat controls inside compact terminal viewports. */
@media(max-height:650px) and (min-width:561px){.seat-info .panel{padding:12px}.seat-info h2{font-size:18px;margin:5px 0}.seat-info .panel p{font-size:15px;margin:8px 0}.seat-info>p{font-size:13px;margin:10px 0}.seat-info .legend{font-size:11px;gap:8px;margin-top:10px}.seat-info .legend i{width:11px;height:11px;margin-right:3px}.seat-info button{min-height:39px;padding:8px 12px;font-size:14px}}
@media(max-width:560px){.seat-info button{min-height:38px;padding:8px 15px;font-size:14px}}


@media(max-height:650px){.processing>.success{font-size:32px;line-height:36px}.processing h1{font-size:22px;margin-bottom:5px}.processing>p{font-size:14px;margin:5px 0}.processing .boarding-pass{padding:10px;margin:8px auto}.processing .boarding-pass h2{font-size:20px;margin-bottom:8px}.processing .boarding-pass .passenger{padding:10px;font-size:20px}.processing .boarding-pass .details{margin:10px 0;gap:8px}.processing .boarding-pass .details small{font-size:12px;margin-bottom:4px}.processing .boarding-pass .details b{font-size:18px}}


.completion>p{font-size:17px;margin:8px 0}.completion>.success{font-size:44px;line-height:48px}.completion .boarding-pass{margin:14px auto}.completion .boarding-pass .passenger{padding:12px}.completion .boarding-pass .details{margin:14px 0}
@media(max-height:650px){.completion>p{font-size:14px;margin:5px 0}.completion h1{font-size:22px;margin-bottom:5px}.completion>.success{font-size:30px;line-height:34px}.completion .boarding-pass{padding:10px;margin:8px auto}.completion .boarding-pass h2{font-size:18px;margin-bottom:8px}.completion .boarding-pass .passenger{padding:8px;font-size:18px}.completion .boarding-pass .details{margin:8px 0;gap:6px}.completion .boarding-pass .details small{font-size:12px;margin-bottom:4px}.completion .boarding-pass .details b{font-size:18px}}

