.panel.atm-panel{width:min(810px,calc(100% - 40px));top:104px;bottom:20px}
.atm-layout{display:grid;grid-template-columns:minmax(270px,350px) minmax(0,1fr);gap:28px;align-items:center}
.atm-console{width:100%;max-width:350px;isolation:isolate;border-radius:12px;overflow:hidden;filter:drop-shadow(0 5px 0 #34372a30)}
.atm-head{aspect-ratio:1024/800;position:relative}
.atm-skin{display:block;width:100%;height:100%;position:absolute;inset:0;pointer-events:none}
.atm-display{position:absolute;left:12%;right:12%;top:43%;bottom:7.7%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;text-align:center;color:#edf2dd;padding:10px 5px;font-family:'Courier New',monospace}
.atm-display strong{font-size:16px;line-height:1.15;letter-spacing:-.5px}
.atm-display p{font-size:11px;line-height:1.35;margin:0}
.atm-display small{font-size:9px;line-height:1.3;color:#abb8c1}
.atm-screen-code{font-size:13px;letter-spacing:.12em;color:#afc3d9}
.atm-digits{display:flex;gap:15px;align-items:center;height:22px}
.atm-digits i{display:block;width:12px;height:12px;border:1.5px solid #8ea2b3;border-radius:50%}
.atm-digits i.filled{background:#ffdd29;border-color:#ffdd29}
.atm-status{min-height:15px}
.atm-pad{position:relative;height:276px}
.atm-keys{position:absolute;inset:15px 14% 36px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr)) 38px;gap:7px}
.atm-key{min-width:0;min-height:36px;color:#252b30;background:linear-gradient(#fafafa,#c3c9ce);border:1.5px solid #171d25;border-top-color:#69737c;border-radius:5px;box-shadow:0 3px 0 #151b22,inset 0 1px 0 #fff;font:700 19px/1 'Courier New',monospace;touch-action:manipulation;padding:0;cursor:pointer}
.atm-key:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 #151b22}
.atm-key:focus-visible{outline:3px solid #fff;outline-offset:3px}
.atm-key:disabled{cursor:default;opacity:.4}
.atm-erase{background:linear-gradient(#ffeb96,#edbe47);font-family:Arial,sans-serif;font-size:23px}
.atm-clear{background:linear-gradient(#f8a68e,#d76b57);font-size:11px}
.atm-enter{grid-column:1/-1;background:linear-gradient(#b7deb6,#78b684);font:700 13px/1 'Courier New',monospace}
.atm-foot{position:relative;aspect-ratio:1024/186}
.atm-console[data-state=locked] .atm-display{color:#f5b7a9}
.atm-console[data-state=locked] .atm-screen-code{color:#e39486}
.atm-console[data-state=open] .atm-display{gap:7px}
.atm-archive{display:inline-flex;align-items:center;justify-content:center;min-height:32px;background:#ffe451;color:#222c2a;font:700 11px/1.15 'Courier New',monospace;border-radius:3px;padding:7px 12px;text-decoration:none}
.atm-copy h2{font-size:32px!important}
@font-face{font-family:'City Note';src:url('assets/fonts/caveat-note-600.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
.atm-note-paper{position:relative;background:linear-gradient(178deg,#f4df88 0,#f9eaa5 16%,#fff0b0 95%,#f1dd8b);color:#293c46;padding:45px 28px 29px;text-align:left;box-shadow:1px 4px 0 #302b1720,0 13px 26px #161c2240;border-radius:1px 1px 8px 2px;transform:rotate(-1.3deg)}
.atm-note-paper h2{font:600 34px/1.2 'City Note','Segoe Print','Bradley Hand',cursive!important;letter-spacing:0!important;margin:0 0 22px!important;color:inherit!important}
.atm-note-paper h2 span{display:block;white-space:nowrap}
.atm-note-paper h2 span+span{margin-top:5px}
.atm-note-link{display:inline-flex;align-items:center;min-height:44px;color:inherit;font:600 27px/1.2 'City Note','Segoe Print','Bradley Hand',cursive;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.atm-note-link:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.atm-bin-target{position:absolute;left:3231px;top:1787px;width:45px;height:65px;z-index:4;padding:0;background:transparent;border:0;border-radius:8px;cursor:pointer;touch-action:manipulation}
.atm-bin-target:hover,.atm-bin-target:focus-visible{background:#ffeb8e40;box-shadow:0 0 15px #fff2b680}
.atm-bin-target:focus-visible{outline:2px solid #fff1a3}
@media(max-width:650px){
 .panel.atm-panel{width:calc(100% - 16px);right:8px;top:104px;bottom:12px;max-height:none}
 .atm-panel .panel-content{padding:0 14px 22px}
 .atm-layout{display:flex;flex-direction:column;gap:21px}
 .atm-console{max-width:340px}
 .atm-pad{height:298px}
 .atm-keys{inset:15px 14% 36px;grid-template-rows:repeat(4,minmax(44px,1fr)) 44px;gap:6px}
 .atm-copy{width:100%;padding:0 4px}
 .atm-copy h2{font-size:29px!important}
 .atm-display{gap:7px}
 .atm-display strong{font-size:14px}
 .atm-display p{font-size:11px}
 .atm-display small{font-size:8px}
}

.atm-console:focus{outline:none}.atm-console:focus-visible{outline:2px solid #5a6b72;outline-offset:4px}

@media(max-width:650px){.atm-display{padding:6px 4px}}

/* The note itself is the dialog: no extra card, heading or quest label. */
.panel.atm-note-panel{left:50%;right:auto;top:50%;bottom:auto;transform:translate(-50%,-50%);width:min(360px,calc(100% - 24px));max-height:calc(100dvh - 28px);border:0;border-radius:0;background:transparent;box-shadow:none;animation:none}
.atm-note-panel .panel-content{padding:12px 10px 24px;min-height:0}
.atm-note-panel .panel-top{position:absolute;right:13px;top:13px;padding:0;min-height:0;z-index:2}
.atm-note-panel .close-button{width:40px;height:40px;background:transparent;border:0;color:#52616a;border-radius:4px}
.atm-note-panel .close-button:hover{background:#c8ac4930}
@media(max-width:360px){.atm-note-paper{padding:43px 22px 26px}.atm-note-paper h2{font-size:31px!important}}
