/* Dagur í Talnabæ og Talnavélin. */
.awake-banner{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;align-items:center;background:#e4efdf;border:1px solid #cdddbe;border-radius:25px;padding:26px 32px;margin-bottom:20px;overflow:hidden}.awake-banner h2{font-size:1.9rem;margin-bottom:10px}.awake-banner p{color:#47604b;max-width:580px}.awake-banner .eyebrow{color:#456b48}.awake-banner-art{max-width:340px;justify-self:center}.awake-banner-art svg{width:100%;display:block}.town-visit-link{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff0ce;border:1px solid #e8d3a3;border-radius:20px;padding:20px 24px;margin:10px 0 22px}.town-visit-link b{font-size:1.25rem}.town-visit-link p{font-size:.9rem;color:#705b30;margin:5px 0 0}.alive-overview{background:#edf3e7;border:1px solid #d5e0cc;border-radius:28px;padding:24px;position:relative;isolation:isolate}.alive-overview:before{content:'';position:absolute;left:calc(50% - 14px);width:28px;top:90px;bottom:65px;background:#d7c8aa;border-left:2px dashed #fff7e0;border-right:2px dashed #fff7e0;z-index:-1}.town-day-label{display:flex;align-items:center;gap:15px;margin-bottom:25px}.day-sun{display:grid;place-items:center;flex-shrink:0;width:54px;height:54px;background:#f8d46d;border-radius:50%;color:#775515;font-size:2rem}.town-day-label b{display:block;font-size:1.2rem}.town-day-label span:not(.day-sun){font-size:.86rem;color:#52684b}.town-day-label .btn{margin-left:auto}.venue-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.venue-card{display:block;background:#fffefa;border-radius:21px;border:1px solid #d4ddc9;overflow:hidden;color:var(--ink);box-shadow:0 5px 0 #bacba45c}.venue-card:hover{border-color:var(--venue);transform:translateY(-3px);box-shadow:0 8px 0 #bacba45c}.venue-card .building-art{display:block;width:100%;height:185px;background:#f6f7ed}.venue-card-text{padding:20px 25px}.venue-card .eyebrow{color:var(--venue);font-size:.7rem;margin-bottom:4px}.venue-card h2{font-size:1.5rem}.venue-card p{font-size:.9rem;color:var(--muted)}.venue-progress{display:flex;justify-content:space-between;gap:12px;font-size:.85rem;color:var(--muted);padding-top:13px;border-top:1px solid #e7eadf}.venue-progress b{color:var(--blue)}.alive-notice{margin:24px 0}.task-visual:has(.alive-stage){background:#f8faf5;padding:16px;display:block}.alive-stage{width:100%}.resident{display:flex;align-items:center;gap:10px;margin-bottom:10px}.resident-face{background:var(--resident);border-radius:14px 14px 14px 3px;color:#fff;width:36px;height:42px;display:grid;place-items:center;font-weight:900;flex-shrink:0}.resident b{display:block;font-size:.8rem}.resident span:not(.resident-face){display:block;font-size:.75rem;color:var(--muted);line-height:1.4}.resident a{font-size:.72rem;margin-left:auto;white-space:nowrap;text-decoration:underline}.alive-svg{display:block;width:100%;height:auto;margin:auto;overflow:visible}.scene-caption{font-size:.87rem;margin:12px 0;color:#536651;line-height:1.5}.alive-stage.is-solved .scene-caption{font-weight:700;color:var(--green)}.alive-stage.is-solved .alive-token{transform-box:fill-box;transform-origin:center;animation:token-arrive .6s ease-out both}.alive-stage.is-solved .alive-tile{animation:tile-arrive .65s ease-out both}.alive-stage.is-solved .fence-line{animation:fence-arrive 1s ease-out both}.alive-stage.is-solved .travel-line{animation:travel-arrive 1s ease-out both;transform-origin:left center}.alive-stage.is-solved .alive-token:nth-child(3n){animation-delay:.1s}.alive-stage.is-solved .alive-token:nth-child(3n + 1){animation-delay:.2s}
@keyframes token-arrive{from{opacity:.2;translate:0 -12px}to{opacity:1;translate:0 0}}@keyframes tile-arrive{from{opacity:.1}to{opacity:1}}@keyframes fence-arrive{from{stroke-opacity:0;stroke-dashoffset:65}to{stroke-opacity:1;stroke-dashoffset:0}}@keyframes travel-arrive{from{opacity:.3;scale:.1 1}to{opacity:1;scale:1 1}}
.machine-tabs{display:flex;gap:12px;flex-wrap:wrap;margin:15px 0 26px}.machine-tabs .btn{min-height:51px}.machine-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:start}.machine-work{min-width:0;padding:26px}.machine-name{display:block;font-size:.8rem;font-weight:700}.machine-name input{display:block;width:100%;font-size:1.35rem;font-weight:750;margin:6px 0 20px}.machine-pipeline{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;padding:28px 15px;background:#edf0fc;border:1px solid #d8def1;border-radius:19px;margin:12px 0 24px;min-height:165px}.machine-port{background:#fff;border:1px solid #ccd7eb;border-radius:15px;min-width:70px;padding:13px 14px;text-align:center;box-shadow:0 4px 0 #d5dfee}.machine-port small{display:block;font-weight:700;font-size:.75rem;color:var(--muted)}.machine-port strong{font-size:1.8rem}.machine-output{border-color:#a6c9bb;background:#edfaf2;box-shadow:0 4px 0 #bdd9c8}.machine-operation{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:76px;min-height:92px;border:2px solid #a791c8;background:#e9e0f6;border-radius:17px;padding:9px;box-shadow:0 4px 0 #bca4d8}.machine-operation b{font-size:1.1rem;color:#5b377f}.machine-gear{color:#8d6bad;font-size:1.4rem;line-height:1;margin-bottom:5px}.machine-intermediate{display:block;margin-top:5px;border-top:1px solid #cdbade;font-weight:800;width:100%;text-align:center;font-size:.85rem;color:#533779}.machine-arrow{font-size:1.3rem;color:#71809b}.machine-animated{animation:machine-pulse .5s ease-out both;animation-delay:calc(var(--step)*.2s)}.machine-animated .machine-gear{animation:gear-turn .7s ease-out;animation-delay:calc(var(--step)*.2s)}@keyframes machine-pulse{from{opacity:.5;translate:0 -7px}to{opacity:1;translate:0 0}}@keyframes gear-turn{from{rotate:0deg}to{rotate:180deg}}
.machine-editor{display:grid;gap:10px;margin:15px 0}.machine-editor-row{display:grid;grid-template-columns:22px minmax(0,1fr) 88px 40px 40px;gap:8px;align-items:center}.machine-editor-row>b{font-size:.85rem;color:var(--muted)}.machine-editor-row select{width:100%;font-size:.9rem}.machine-editor-row input{width:100%!important;min-height:46px}.machine-editor-row .btn{padding:8px;min-width:38px;min-height:42px}.sr-label{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;white-space:nowrap}.machine-input-row{display:flex;gap:15px;align-items:end;flex-wrap:wrap;margin:23px 0 12px}.machine-input-row label{font-size:.85rem;font-weight:700;flex:1;min-width:115px}.machine-input-row label small{font-size:.75rem;font-weight:400;color:var(--muted)}.machine-input-row input{width:100%;display:block;padding:12px;border:1px solid #bac8e0;background:white;color:var(--ink);border-radius:12px;font-size:1.2rem;margin-top:6px;min-height:51px}.machine-input-row button{min-height:51px}.machine-note{display:block;font-weight:700;font-size:.85rem;margin:22px 0}.machine-note textarea{display:block;width:100%;font-weight:400;font-size:.98rem;margin-top:8px}.machine-table{border-collapse:collapse;width:100%;font-size:.88rem}.machine-table caption{text-align:left;color:var(--muted);font-size:.8rem;margin-bottom:10px}.machine-table th{text-align:left;background:#f3f5fb;color:var(--muted);font-size:.8rem}.machine-table th,.machine-table td{padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}.machine-table td:last-child{font-weight:800;color:var(--blue)}.saved-machine-list{display:grid;gap:17px}.saved-machine-list>div{padding-bottom:16px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.saved-machine-list b{display:block;font-size:.95rem}.saved-machine-list span{display:block;color:var(--muted);font-size:.85rem;margin:5px 0 10px}.saved-machine-list .text-button{font-size:.8rem}.puzzle-picker{display:flex;gap:10px;margin-bottom:20px}.puzzle-picker .btn{min-width:62px}.puzzle-picker .btn[aria-pressed=true]{border:2px solid var(--blue)}.machine-rule-choices{border:0;padding:0;margin:24px 0;display:flex;gap:10px;flex-wrap:wrap}.machine-rule-choices legend{font-weight:750;font-size:1rem;margin-bottom:12px}.machine-rule-choices .btn{font-size:1.15rem;min-height:56px}.machine-rule-choices [aria-pressed=true]{border:2px solid var(--blue);background:var(--light)}.machine-answer{display:block;font-size:.95rem;font-weight:700;margin:14px 0}.machine-answer input{display:block;border:1px solid var(--line);background:white;color:var(--ink);border-radius:12px;margin-top:10px;width:180px;font-size:1.7rem;padding:12px;min-height:58px}.target-output{font-size:1rem;padding:20px;background:#eff7f0;border:1px solid #cddfce;border-radius:16px;margin-bottom:25px}.target-output b{display:block;font-size:2rem;color:var(--green)}.machine-layout>aside .notice{margin-bottom:22px}.machine-layout .hint p:last-child{margin-bottom:0}
@media(max-width:1100px){.machine-layout{grid-template-columns:minmax(0,1fr) 265px;gap:18px}.machine-work{padding:20px}.machine-editor-row{grid-template-columns:16px minmax(0,1fr) 70px 36px 36px;gap:5px}.machine-editor-row .btn{min-width:34px}.machine-pipeline{gap:7px;padding:22px 9px}.machine-operation{min-width:66px}.machine-port{min-width:60px}.machine-arrow{font-size:1rem}.venue-card .building-art{height:165px}}
@media(max-width:850px){.machine-layout{grid-template-columns:1fr}.machine-layout>aside{display:grid;grid-template-columns:1fr 1fr;gap:18px}.machine-layout>aside .paper{margin-bottom:0}.awake-banner{padding:24px;grid-template-columns:1.4fr 1fr}.awake-banner h2{font-size:1.6rem}.awake-banner-art{min-width:190px}.venue-card-text{padding:18px}.venue-card p{min-height:42px}.town-day-label{flex-wrap:wrap}.town-day-label .btn{margin-left:69px}.resident span:not(.resident-face){font-size:.8rem}.machine-editor-row{grid-template-columns:22px minmax(0,1fr) 88px 44px 44px;gap:8px}.machine-editor-row .btn{min-height:46px}}
@media(max-width:540px){.awake-banner{grid-template-columns:1fr;padding:23px}.awake-banner-art{display:none}.awake-banner h2{font-size:1.6rem}.town-visit-link{flex-direction:column;align-items:start;padding:20px}.venue-grid{grid-template-columns:1fr;gap:22px}.alive-overview{padding:15px}.alive-overview:before{display:none}.venue-card .building-art{height:165px}.venue-card p{min-height:0}.venue-card-text{padding:18px 20px}.venue-progress{font-size:.8rem}.town-day-label{gap:10px}.town-day-label .btn{margin-left:0;width:100%}.town-day-label b{font-size:1.05rem}.town-day-label span:not(.day-sun){font-size:.77rem}.day-sun{width:44px;height:44px;font-size:1.7rem}.resident{flex-wrap:wrap}.resident a{margin-left:46px}.task-visual:has(.alive-stage){padding:10px}.scene-caption{font-size:.82rem}.machine-tabs{gap:8px}.machine-tabs .btn{font-size:.83rem;padding:10px 12px;flex:1}.machine-work{padding:20px 14px}.machine-layout>aside{grid-template-columns:1fr}.machine-editor-row{grid-template-columns:16px minmax(0,1fr) 62px 35px 35px;gap:4px}.machine-editor-row select{font-size:.8rem;padding:8px 4px}.machine-editor-row input{padding:8px 6px;font-size:.9rem}.machine-editor-row .btn{padding:6px;min-width:32px}.machine-port{min-width:57px;padding:10px}.machine-port strong{font-size:1.4rem}.machine-operation{min-width:61px;min-height:80px;padding:7px}.machine-operation b{font-size:.95rem}.machine-gear{font-size:1.2rem}.machine-arrow{font-size:1rem}.machine-pipeline{gap:6px;padding:18px 8px}.machine-input-row button{width:100%}.machine-input-row label{min-width:100px}.machine-table{font-size:.8rem}.machine-table th,.machine-table td{padding:9px 6px}}
@media(prefers-reduced-motion:reduce){.alive-stage *,.machine-pipeline *{animation:none!important}.venue-card:hover{transform:none}}
@media print{.alive-stage .resident a,.alive-stage button{display:none}.print-task-visual:has(.alive-stage){max-width:150mm}.print-entry .alive-svg{width:140mm!important;height:auto!important;max-height:88mm}.print-entry .resident{margin:4mm 0}.print-entry .scene-caption{font-size:10pt}.print-machine h3{break-after:avoid;margin-top:7mm}.print-machine table{font-size:10pt;margin:4mm 0 8mm}.print-machine tr{break-inside:avoid}.print-machine{break-before:page}.print-machine .table-scroll{overflow:visible}.alive-stage *,.machine-pipeline *{animation:none!important}}
