



:root{--background:#f8f7f2;--foreground:#302c27;--primary:#484d3d;--primary-foreground:#fffdf5;--popover:#fcfbf7;--border:#d9d4c7;font-family:'Helvetica Neue','PingFang TC','Noto Sans TC',sans-serif;color:var(--foreground);background:var(--background)}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer;transition:background .18s,transform .18s}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #928054;outline-offset:4px}button:hover{filter:brightness(.97)}button:active{transform:translateY(1px)}.site-shell{max-width:1680px;padding:32px 38px 0;margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:1.5px}.edition{font-family:monospace;display:flex;align-items:center;gap:18px}.edition b{border:1px solid #b6b1a5;padding:4px;font-weight:400}.demo-tag{font-size:12px;border:1px solid #dcd7c9;border-radius:20px;padding:6px 12px;letter-spacing:1px}.demo-tag i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#7d8961;margin-right:6px}.text-button{border:0;background:none;display:inline-flex;align-items:center;gap:10px;font-size:14px;color:#625e55}.main-grid{display:grid;grid-template-columns:minmax(240px,1fr) 560px minmax(300px,1.12fr);gap:10px;align-items:center;min-height:800px}.left-context{align-self:stretch;padding-top:75px}.eyebrow{font-family:monospace;font-size:12px;letter-spacing:2px;color:#827966}.left-context h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.07;font-size:clamp(36px,4vw,65px);letter-spacing:-3.5px;margin:22px 0 40px;white-space:nowrap}.left-context h1 em{color:#77786c;font-weight:400;font-size:.89em}.intro{font-family:serif;font-size:20px;letter-spacing:3px;line-height:2}.studio-name{font-size:20px;font-weight:300;margin:22px 0 34px}.context-note{border-top:1px solid var(--border);display:flex;gap:22px;padding:28px 0 23px;align-items:center;font-family:monospace;font-size:14px;letter-spacing:1px}.context-note p{font-family:serif;letter-spacing:2px;margin:7px 0;color:#736e64}.handwritten{font-family:Georgia,serif;font-style:italic;font-size:29px;transform:rotate(-10deg);margin:64px 0 32px 8px;white-space:nowrap;color:#655d54}.handwritten span{font-size:50px;display:inline-block;transform:rotate(12deg);margin-left:10px}.side-foot{font-size:13px;color:#898477;letter-spacing:2px}.pocket-column{text-align:center;align-self:start;padding-top:8px}.pocket-wrap{width:560px;height:720px}.device{width:560px;height:720px;position:relative;background:url('/reference.png') -460px -57px/1536px 1024px no-repeat}.lcd{position:absolute;left:109px;top:188px;width:348px;height:298px;border-radius:18px;background:#c5ceb0;color:#243e37;box-shadow:inset 0 0 15px #4a573f80;overflow:hidden;padding:12px 16px 9px;display:flex;flex-direction:column;background-image:repeating-linear-gradient(0deg,#41553808 0px,#41553808 1px,transparent 1px,transparent 3px)}.lcd-status{display:flex;justify-content:space-between;font-family:monospace;font-size:14px;letter-spacing:1px;padding-bottom:8px;border-bottom:1px solid #65745966;font-weight:700}.lcd-content{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:7px 0}.lcd-content h2{font-size:18px;margin:0;font-weight:700}.lcd-content p,.lcd-content .pocket-orders-title{font-size:13px;margin:0}.mascot{width:90px;height:90px;background:url('/reference.png') -755px -329px/1536px 1024px no-repeat;image-rendering:pixelated;mix-blend-mode:multiply;flex-shrink:0}.lcd-primary{border:1px solid #2e4436;background:#2e4436;color:#dfe6c9;width:100%;min-height:36px;display:flex;justify-content:center;gap:14px;align-items:center;font-size:15px;font-weight:600}.lcd-link{font-size:13px;border:0;background:transparent;padding:0;text-decoration:underline;text-underline-offset:4px}.lcd-bottom{border-top:1px solid #65745966;display:flex;justify-content:space-between;padding-top:6px;font-family:monospace;font-size:11px}.boot-progress{height:14px;border:1px solid #3b513e;width:90%;padding:2px}.boot-progress span{display:block;background:#3b513e;height:100%;animation:boot 1.4s linear both}@keyframes boot{from{width:0}to{width:100%}}.hardware{position:absolute;border:0;background:transparent;border-radius:50%;width:74px;height:76px;top:548px}.left-key{left:104px}.a-key{left:232px;top:559px}.right-key{left:361px}.hardware:hover{box-shadow:0 0 0 3px #786b4833}.control-dock{display:flex;align-items:stretch;justify-content:center;gap:4px;width:fit-content;max-width:100%;margin:13px auto 0;padding:5px;border:1px solid #ded9cd;border-radius:14px;background:#eeece3}.control-dock button{height:44px;min-width:48px;width:48px;border:0;background:transparent;border-radius:10px;display:grid;place-items:center;color:#6d6759;transition:background .16s,transform .16s}.control-dock button:hover{background:#e5e2d7;filter:none}.control-dock button:active{transform:scale(.95)}.control-dock button:focus-visible{outline:2px solid #5f7965;outline-offset:2px}.control-dock .select-key{height:auto;width:auto;min-width:112px;max-width:190px;background:#faf9f3;color:#354d3c;border:1px solid #d7d4c5;box-shadow:0 1px 3px #384b3410}.control-dock .select-key:hover{background:#fffdf8}.keyboard-hint{color:#7d776c;font-size:12px;letter-spacing:.7px;margin:16px 0 20px}.keyboard-hint span{margin:0 8px;color:#b3ab9b}.right-context{padding:42px 0 0 15px;align-self:start}.section-caption{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:10px}.section-caption h2{font-size:18px;letter-spacing:3px;font-weight:500;margin:0}.section-caption span{font-size:12px;color:#827d72;letter-spacing:1px}.action-cards{display:flex;flex-direction:column;gap:15px}.action-card{display:flex;width:100%;text-align:left;align-items:center;position:relative;gap:19px;min-height:140px;padding:13px;border:1px solid #d8d4ca;background:#ffffff12;border-radius:9px}.action-card:hover,.action-card.active{background:#efecdf;border-color:#afa38b}.card-image{height:104px;width:132px;flex-shrink:0;border-radius:5px;background-image:url('/reference.png');background-size:1235px 823px;background-repeat:no-repeat}.image-0{background-position:-870px -107px}.image-1{background-position:-871px -269px}.image-2{background-position:-871px -428px}.image-3{background-position:-871px -589px}.card-copy h3{font-size:21px;letter-spacing:2px;font-weight:500;margin:0 0 10px}.card-copy p{font-size:15px;line-height:1.8;letter-spacing:1px;margin:0 18px 10px 0;color:#6f6a60}.card-copy>span{font-size:12px;letter-spacing:2px;color:#868072}.card-arrow{position:absolute;top:19px;right:13px;color:#6b655b}.all-features{display:flex;align-items:center;justify-content:space-between;border:0;background:none;width:100%;padding:20px 3px;font-size:14px;color:#726a5c}footer{border-top:1px solid #ccc6ba;padding:23px 0;display:flex;justify-content:space-between;gap:14px;font-family:monospace;font-size:11px;letter-spacing:1.5px;color:#857c6f}.content-deck[data-slot]{width:min(620px,100vw);max-width:620px;padding:26px;overflow-y:auto;background:#fcfbf7;gap:24px}.content-deck [data-slot=sheet-header]{padding:15px 0 0;gap:12px}.content-deck [data-slot=sheet-title]{font-size:30px;font-weight:500}.content-deck [data-slot=sheet-description]{font-size:14px}.deck-body{font-size:16px;line-height:1.8}.primary{background:#484d3d;color:#fffdf5;border:0;border-radius:6px;min-height:46px;padding:10px 20px;display:inline-flex;align-items:center;justify-content:center;gap:10px}.home-greeting{font-size:19px;align-self:stretch;font-weight:600}.home-greeting span{display:block;font-size:13px;font-weight:400;margin-top:4px}.pocket-menu{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}.pocket-menu button{font-size:14px;border:1px solid #71806866;background:#d7debf88;padding:12px 8px;display:flex;align-items:center;justify-content:space-between}.pocket-menu button.chosen{background:#334b3d;color:#e1e9ce}
@media(min-width:1550px){.main-grid{gap:20px}.action-card{min-height:151px}}
@media(max-width:1300px){.site-shell{padding:25px 26px 0}.main-grid{grid-template-columns:minmax(220px,1fr) 470px minmax(270px,1fr);gap:0;min-height:720px}.pocket-wrap{zoom:.84}.right-context{padding-top:35px;padding-left:5px}.action-card{gap:12px;padding:10px;min-height:126px}.card-image{width:95px;height:94px}.card-copy h3{font-size:18px}.card-copy p{font-size:14px;margin:0 10px 6px 0}.card-copy>span{font-size:11px;letter-spacing:1px}.section-caption span{display:none}.left-context h1{font-size:43px;letter-spacing:-2px}.intro{font-size:17px}.left-context{padding-top:62px}.handwritten{font-size:24px}.handwritten span{display:none}}
@media(max-width:1050px){.main-grid{grid-template-columns:1fr 1fr;gap:15px;max-width:850px;margin:auto}.left-context{display:none}.pocket-wrap{zoom:.82}.pocket-column{width:460px}.right-context{padding-top:50px}.main-grid{min-height:700px}footer span:nth-child(2){display:none}}
@media(max-width:760px){.site-shell{padding:18px 16px 0}.topbar{gap:8px}.edition{font-size:10px;letter-spacing:1px;gap:7px}.demo-tag{font-size:10px;padding:5px 8px;letter-spacing:0}.topbar>.text-button{font-size:0;gap:0}.main-grid{display:flex;flex-direction:column;gap:0;min-height:auto}.pocket-column{width:100%;padding-top:10px;display:flex;align-items:center;flex-direction:column}.pocket-wrap{zoom:.65}.control-dock{margin-top:4px}.keyboard-hint{font-size:11px}.right-context{padding:15px 0 0;width:100%}.section-caption span{display:inline;font-size:11px}.action-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}.action-card{align-items:flex-start;flex-direction:column;gap:10px;padding:12px}.card-image{width:100%;height:104px}.card-copy h3{font-size:18px;margin-bottom:7px}.card-copy p{font-size:14px;line-height:1.7;margin-right:0}.card-copy>span{font-size:11px}.card-arrow{top:130px;right:10px;width:17px}.all-features{padding:20px 0}footer{font-size:10px;letter-spacing:.7px;margin-top:12px}.content-deck[data-slot]{padding:22px}}
@media(max-width:380px){.pocket-wrap{zoom:.58}.demo-tag{font-size:9px}.edition{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition:none!important}}
[data-slot=sheet-overlay]{position:fixed;inset:0;z-index:50;background:#24241844;backdrop-filter:blur(5px)}[data-slot=sheet-content]{position:fixed;inset:0 0 0 auto;z-index:51;display:flex;flex-direction:column;box-shadow:-10px 0 60px #342d231f}[data-slot=sheet-close]{position:absolute;right:16px;top:14px;border:0;background:transparent;padding:8px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[data-slot=sheet-title]{margin:0}[data-slot=sheet-description]{color:#777064;line-height:1.6}.lcd-content .mascot{height:66px;background-position:-755px -342px}.lcd-content{gap:6px}.lcd-content h2{font-size:17px}
.today-chip,.lcd-alert{display:flex;align-items:center;justify-content:space-between;width:100%;border:1px solid #6a765366;background:#c0caab;padding:8px 5px;font-size:13px}.lcd-alert{background:#d8cdab}.pocket-menu button{padding:9px 7px}.scenario-button{width:100%;padding:12px 0;border:0;border-top:1px dashed #d9d2c4;background:none;display:flex;justify-content:space-between;color:#766c58;font-size:12px}.deck-body h3{font-size:20px;font-weight:500;line-height:1.5;margin:22px 0 16px}.deck-body p{margin:12px 0;line-height:1.85;color:#6c685e}.deck-body section{margin-bottom:26px}.deck-body .full{width:100%;margin-top:16px}.secondary{border:1px solid #cdc5b4;border-radius:6px;background:transparent;padding:10px 18px;min-height:44px;color:#635c50;display:inline-flex;align-items:center;justify-content:center;gap:8px}.notice{border:1px solid #ddd5bf;background:#f4f0e4;border-radius:7px;padding:14px;display:flex;gap:11px;font-size:14px;line-height:1.85;color:#665d49;margin:16px 0}.notice svg{flex-shrink:0;margin-top:4px}.steps{display:flex;gap:9px;margin:0 0 24px}.steps button{flex:1;border:0;border-bottom:2px solid #ded9cc;background:transparent;display:flex;align-items:center;gap:10px;padding:10px 0;font-size:14px;color:#82796a}.steps button.current{color:#434d37;border-color:#677150}.steps b{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#eee9dc;font-size:12px}.steps .current b{background:#535d43;color:white}.field{display:flex;flex-direction:column;gap:8px;margin:18px 0;font-size:14px;font-weight:500}.field input,.picker{width:100%;min-height:48px;border:1px solid #d4cdbc;border-radius:6px;background:white;padding:11px 14px;font:inherit;color:#403e34}.picker{display:flex;align-items:center;justify-content:space-between;text-align:left}.picker [data-slot=select-value]{flex:1}.picker svg{width:17px;height:17px}[data-slot=select-content]{background:#fffef9;color:#302c27;border:1px solid #d4cdbc;border-radius:7px;box-shadow:0 8px 25px #302c2722;min-width:220px;max-height:400px;overflow:auto;padding:6px;font-size:15px}[data-slot=select-item]{position:relative;padding:10px 35px 10px 12px;cursor:pointer;border-radius:4px}[data-slot=select-item][data-highlighted]{background:#efedde}[data-slot=select-item] svg{width:15px;height:15px}[data-slot=select-item] span:has(>svg){position:absolute;right:10px;top:12px}[data-slot=select-scroll-up-button],[data-slot=select-scroll-down-button]{display:none}[data-base-ui-portal]{position:relative;z-index:80}.info-tile{display:flex;align-items:center;gap:15px;padding:18px;background:#f0f0e7;border-radius:7px;margin:17px 0}.info-tile svg{flex-shrink:0;color:#697052}.info-tile h3{margin:0}.info-tile p{font-size:14px;line-height:1.8;margin:5px 0 0}.link-row{border:0;border-bottom:1px solid #e2ddcf;background:none;text-align:left;width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 2px;min-height:56px;font-size:16px;color:#474238}.link-row small{display:block;font-size:13px;color:#8a8172;margin-top:4px}.link-row svg{flex-shrink:0;color:#807967}.summary-card{padding:10px 18px;background:#f1eee5;border-radius:8px;margin:20px 0}.detail-row{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #ddd8ca;font-size:15px;align-items:center}.detail-row:last-child{border-bottom:0}.detail-row>span{color:#7b7261}.detail-row strong{font-weight:500;text-align:right}.amounts{border:1px solid #d8d0bd;border-radius:8px;padding:20px;margin:20px 0}.amounts .detail-row:nth-last-of-type(1){font-size:19px;font-weight:600}.amounts p{font-size:13px;margin:10px 0 0}.check-row{display:flex;gap:11px;align-items:flex-start;font-size:14px;line-height:1.9;margin-top:20px;cursor:pointer}[data-slot=checkbox]{width:19px;height:19px;margin-top:4px;flex-shrink:0;border:1px solid #a49d87;border-radius:4px;background:white;display:grid;place-items:center;padding:0}[data-slot=checkbox][data-checked]{background:#535d43;color:white;border-color:#535d43}[data-slot=checkbox] svg{width:15px;height:15px}.fine{font-size:13px}.status-pill{font-size:13px;color:#5e6848;background:#edf0e2;padding:5px 10px;border-radius:20px;display:inline-flex}.status-pill.pending_payment,.status-pill.payment_review{background:#f5eaca;color:#85661e}.order-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:#8a8273}.order-card{width:100%;padding:22px;margin:10px 0;border:1px solid #d8d1bf;border-radius:9px;background:#fffefa;text-align:left}.order-card>div{display:flex;justify-content:space-between;align-items:center}.order-card .order-id{font-size:11px;color:#938876}.order-card h3{display:flex;justify-content:space-between;font-size:25px;margin:18px 0 0}.order-card p{font-size:15px;margin:6px 0 16px}.order-card>span{font-size:13px;color:#7b715d}.empty-state{text-align:center;padding:55px 15px}.empty-state>svg{color:#9a9c80;margin:auto}.empty-state p{font-size:15px}.error-box{background:#f7e9e0;border:1px solid #dfbdaa;color:#874b31;font-size:14px;padding:16px;border-radius:6px;margin:16px 0}.error-box p{color:inherit}.error-box h3{margin-top:0}.seat-map{background:#f2f1e9;border:1px solid #dbd6c7;padding:24px;border-radius:8px;margin:20px 0;text-align:center}.seat-map-label{border-top:6px solid #d4dac5;padding:10px;font-size:12px;letter-spacing:2px;color:#8a8d73}.seats{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:20px 0}.seats button{border:1px solid #c9c7b5;padding:15px 8px;background:#fdfcf7;border-radius:7px;display:flex;flex-direction:column;gap:5px;align-items:center;font-size:14px}.seats button.selected{background:#58634a;color:white;border-color:#58634a}.seats small{font-size:12px}.seat-map p{margin:0;font-size:12px;letter-spacing:4px}.arrival-ticket{text-align:center;padding:30px;border:1px solid #d6cdae;border-radius:10px;background:#f5efda;margin:20px 0}.arrival-ticket>span{font-family:monospace;font-size:12px;letter-spacing:2px}.arrival-ticket h3{font-family:Georgia,serif;font-size:42px;margin:20px 0 8px}.arrival-ticket>strong{display:block;font-size:38px;font-family:monospace;border-top:1px dashed #c7b993;padding-top:16px;margin-top:18px}.arrival-ticket small{font-size:13px}.success-note{display:flex;gap:10px;padding:15px;background:#e9eedd;color:#566345;border:1px solid #cfd9bb;border-radius:6px;margin:16px 0;font-size:14px;align-items:center}.faq{border-top:1px solid #ddd7c7;padding:16px 0}.faq summary{font-size:16px;cursor:pointer;font-weight:500;line-height:1.8}.faq p{font-size:15px}.migration-row{padding:15px 0;border-top:1px dashed #ddd7c7;font-size:14px}.migration-row:first-of-type{margin-top:15px}.migration-row strong{font-weight:500}.migration-row p{font-size:14px;margin:5px 0 0}.profile-card{display:flex;align-items:center;gap:18px;padding:24px;background:#f0eee1;border-radius:9px;margin:15px 0}.profile-card h3{margin:0}.profile-card p{font-size:12px;margin:5px 0}.avatar{width:56px;height:56px;border-radius:50%;background:#ded6a9;color:#655e35;display:grid;place-items:center;font-size:23px}.storage-card{display:flex;align-items:center;gap:20px;margin:24px 0}.storage-card h3{margin:12px 0 0}.storage-card p{font-size:12px}.storage-photo{width:130px;height:130px;flex-shrink:0;background:url('/reference.png') -870px -427px/1235px 823px;border-radius:8px}.help-photo{height:175px;background:url('/reference.png') -1080px -135px/1536px 1024px;width:165px;border-radius:8px;float:right;margin:0 0 15px 20px}.link-group{margin-top:20px}.content-deck{overscroll-behavior:contain}.content-deck [data-slot=sheet-header]{display:flex;flex-direction:column;flex-shrink:0}.content-deck [data-slot=sheet-close]{display:grid;place-items:center;width:38px;height:38px}.content-deck [data-slot=sheet-close] svg{width:20px;height:20px}.deck-body{padding-bottom:30px}
@media(max-width:760px){.content-deck[data-slot]{width:100%;max-width:100%}.order-heading{flex-wrap:wrap}.arrival-ticket h3{font-size:34px}.help-photo{float:none;width:165px}.storage-photo{width:105px}.seats{gap:8px}.deck-body{font-size:16px}.card-image{max-width:132px}.scenario-button{font-size:13px}.lcd{overflow-y:auto}.lcd-status{font-size:17px}.lcd-content h2{font-size:21px}.lcd-content p,.lcd-content .pocket-orders-title{font-size:18px}.lcd-primary{font-size:21px;min-height:43px}.lcd-link{font-size:18px}.lcd-content .mascot{display:none}.lcd-bottom{font-size:15px}.pocket-menu button{font-size:19px;padding:11px 7px}.home-greeting{font-size:22px}.home-greeting span{font-size:17px}.today-chip,.lcd-alert{font-size:17px;padding:9px 5px}.lcd-content{justify-content:flex-start;overflow-y:auto;min-height:0;gap:10px}}
.z-50{z-index:60}.isolate{isolation:isolate}[data-slot=select-trigger] svg{flex-shrink:0}.lcd-content{overflow-y:auto}.lcd-primary{flex-shrink:0}.lcd-link{flex-shrink:0}.lcd-status,.lcd-bottom{flex-shrink:0}
/* Pocket interaction migration: the reference is only the device surface. */
html{scrollbar-gutter:stable}.device{background:none;transform-origin:50% 65%}.device::before{content:'';position:absolute;inset:0;background:url('/reference.png') -460px -57px/1536px 1024px no-repeat;clip-path:path('M 286 1 C 411 -1 491 90 529 224 C 558 323 566 435 535 535 C 508 630 446 701 341 713 C 217 729 116 697 59 624 C 10 561 -8 468 2 375 C 11 252 39 138 112 58 C 157 10 222 0 286 1 Z');mix-blend-mode:multiply;pointer-events:none}.lcd,.hardware{z-index:1}.pocket-wrap{isolation:isolate}.action-card.text-only{min-height:138px;align-items:flex-start;gap:18px;padding:24px 22px;background:transparent;border-radius:0;border:0;border-top:1px solid #d4cebf}.action-card.text-only:last-child{border-bottom:1px solid #d4cebf}.action-card.text-only:hover,.action-card.text-only.active{background:#f0eddf}.action-cards{gap:0}.card-number{font-family:monospace;font-size:12px;letter-spacing:1px;color:#9b907c;padding-top:5px}.text-only .card-copy h3{margin:0 0 10px;font-size:23px}.text-only .card-copy p{margin-right:25px;font-size:15px}.text-only .card-copy>span{font-size:12px}.text-only .card-arrow{top:27px;right:10px}.under-controls{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;margin:4px 0}.sound-toggle,.operation-toggle{border:0;background:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 10px;color:#7e715c;font-size:12px}.operation-toggle[aria-expanded=true]{color:#484d3d}.pocket-operation-help{max-width:340px;margin:0 auto 14px;padding:10px 16px;border:1px solid #ddd6c8;border-radius:12px;background:#f5f2e9;color:#6c6354;text-align:left;font-size:12px}.pocket-operation-help[hidden]{display:none!important}.pocket-operation-help p{display:flex;align-items:center;gap:12px;margin:6px 0;min-height:24px}.pocket-operation-help kbd{min-width:36px;font:inherit;color:#484d3d}.pocket-operation-help small{display:block;line-height:1.6;color:#877b66}.control-dock .select-key{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:5px 12px;font-size:13px}.control-dock .select-key kbd{display:grid;place-items:center;flex:none;min-width:21px;height:24px;padding:0 4px;border-radius:7px;background:#e9e7dd;color:#6d735f;font-family:inherit;font-size:13px;font-weight:500;line-height:1}.control-dock .select-key span{line-height:1.3}.control-dock>button{min-height:44px}.keyboard-hint{margin:15px 0}.pocket-more{display:flex;justify-content:center;align-items:center;gap:12px;margin:0 auto 18px;padding:7px 12px;background:transparent;border:0;border-bottom:1px solid #cec4af;color:#807258;font-size:13px}.lcd-content.has-journey{display:block;overflow-y:auto;padding:5px 0}.journey-screen{display:flex;flex-direction:column;align-items:center;gap:7px;min-height:100%;width:100%}.journey-heading{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:13px;gap:7px;line-height:1.4}.journey-heading button{background:none;border:0;padding:2px 5px 2px 0;display:grid;place-items:center;color:inherit;min-width:23px;min-height:23px}.journey-heading small{font-family:monospace;font-size:11px;color:#596b4e}.journey-screen h2{font-size:17px;line-height:1.4;margin:2px 0}.choice-carousel{display:flex;align-items:center;justify-content:space-between;width:100%;padding:2px 9px}.choice-carousel>button{border:1px solid #5d70574a;background:#b8c6a45c;width:29px;height:34px;display:grid;place-items:center;padding:0}.choice-value{display:flex;flex-direction:column;gap:1px;align-items:center;min-width:170px}.choice-value strong{font-family:monospace;font-size:40px;font-weight:600;line-height:1.2;letter-spacing:-2px}.choice-value strong span{font-size:20px;font-weight:400}.choice-value small{font-size:13px}.choice-value .time-choice{font-size:36px}.choice-dots{display:flex;gap:6px;height:9px;align-items:center}.choice-dots i{width:4px;height:4px;background:#839071}.choice-dots i.on{background:#2e4939;width:7px;height:7px}.journey-screen .lcd-primary{font-size:14px;min-height:32px;margin-top:auto;line-height:1.5}.journey-screen .journey-details{font-size:12px;line-height:1.4}.screen-summary{width:100%;font-size:13px;line-height:1.4}.screen-summary>div{display:flex;justify-content:space-between;gap:7px;padding:5px 1px;border-bottom:1px solid #6a7d4e38}.screen-summary strong{font-weight:600}.screen-summary .screen-total{font-size:16px;border-bottom:0}.journey-screen .screen-disclaimer{font-size:11px;line-height:1.45;text-align:center}.journey-screen>p{font-size:13px;line-height:1.5;text-align:center}.journey-icon{margin:5px 0;color:#405741}.journey-screen .screen-error{color:#61441d;font-size:12px;line-height:1.4;background:#d5cdac;padding:4px;width:100%;margin:0}.mini-seat-status{display:flex;justify-content:space-between;width:100%;font-size:11px}.mini-seat-map{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;width:100%;margin:4px 0}.mini-seat-map button{border:1px solid #76886a;background:#c9d4b7;padding:10px 3px;font-family:monospace;font-size:13px}.mini-seat-map .cursor{outline:2px solid #566b45;outline-offset:1px}.mini-seat-map .picked{background:#354f3d;color:#e6edce}.screen-seat-label{font-family:monospace;font-size:21px;letter-spacing:2px;padding:7px 0}.focused-choice{outline:1px dashed currentColor;outline-offset:3px}.module-options{display:flex;flex-direction:column;gap:5px;width:100%}.module-options button,.lcd-orders button{border:1px solid #82916c;background:#d1dbbd66;color:inherit;padding:7px;font-size:14px;line-height:1.4}.module-options .chosen,.lcd-orders .chosen{background:#334b3d;color:#e1e9ce}.lcd-orders{width:100%;display:flex;flex-direction:column;gap:6px;overflow-y:auto;min-height:0}.lcd-orders button{display:flex;justify-content:space-between;gap:5px;flex-wrap:wrap;width:100%;text-align:left}.lcd-orders strong{font-size:13px}.lcd-orders span{font-size:12px}.inline-details{border-top:1px solid #bfb69f;margin:20px auto 55px;padding-top:30px;max-width:1200px;scroll-margin-top:24px}.inline-details[hidden]{display:none}.inline-details-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;border-bottom:1px solid #ded7c8;padding-bottom:24px;margin-bottom:30px}.inline-details-header h2{font-family:serif;font-size:28px;font-weight:400;letter-spacing:2px;margin:12px 0}.inline-details-header p{font-size:14px;color:#817761;margin:0}.inline-deck{max-width:700px;margin:0 auto}.booking-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.booking-detail-grid h3{font-size:21px;font-weight:400;letter-spacing:1px;margin:15px 0}.booking-detail-grid dl{margin:0}.booking-detail-grid dl>div{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid #ded8ca;padding:12px 0;font-size:16px;line-height:1.6}.booking-detail-grid dt{color:#7a725f}.booking-detail-grid dd{margin:0;text-align:right}.booking-detail-grid p{font-size:14px;color:#7a725f;line-height:1.8;margin-top:16px}.booking-inline-content .notice{margin:30px 0;font-size:15px}.prototype-control{border:1px dashed #bcb49d;border-radius:5px;padding:20px;margin:22px 0;background:#f1efe5}.prototype-control>span{display:block;font-family:monospace;font-size:12px;letter-spacing:2px;color:#817356;margin-bottom:12px}.prototype-control p{font-size:14px;line-height:1.8;color:#786d56}.return-to-pocket{margin-top:15px;min-height:44px}.detail-related{display:flex;flex-wrap:wrap;gap:14px;border-top:1px solid #ddd4c0;padding-top:22px;margin-top:25px}.detail-related button{background:none;border:0;display:flex;align-items:center;gap:8px;font-size:14px;color:#736749;padding:7px}.right-context{padding-top:54px}.main-grid{align-items:start}
@media(max-width:1300px){.action-card.text-only{min-height:130px;padding:20px 10px;gap:12px}.text-only .card-copy h3{font-size:21px}.text-only .card-copy p{font-size:14px;line-height:1.8}.text-only .card-arrow{top:23px}.under-controls{gap:8px}.sound-toggle{font-size:11px}.keyboard-hint{font-size:11px}}
@media(max-width:1050px){.main-grid{grid-template-columns:460px minmax(0,1fr)}.booking-detail-grid{gap:35px}.right-context{padding-top:45px}}
@media(max-width:760px){.main-grid{display:flex}.action-cards{display:flex}.action-card.text-only{min-height:112px;flex-direction:row;padding:20px 8px;gap:15px}.text-only .card-copy h3{font-size:21px}.text-only .card-copy p{margin-bottom:8px}.text-only .card-arrow{top:23px;right:4px;width:20px}.right-context{padding-top:10px}.under-controls{gap:11px;flex-wrap:wrap}.keyboard-hint{font-size:12px}.sound-toggle{font-size:12px}.pocket-more{font-size:14px}.booking-detail-grid{grid-template-columns:1fr;gap:30px}.inline-details{margin-top:22px;padding-top:24px}.inline-details-header{gap:15px;align-items:center}.inline-details-header h2{font-size:23px;letter-spacing:0}.inline-details-header>.text-button{white-space:nowrap}.journey-screen{gap:7px}.journey-screen .journey-heading{font-size:17px}.journey-heading small{font-size:14px}.journey-screen h2{font-size:21px}.choice-value strong{font-size:43px}.choice-value small{font-size:18px}.journey-screen .lcd-primary{font-size:20px;min-height:41px}.journey-screen .journey-details{font-size:18px}.journey-screen .screen-disclaimer{font-size:17px}.journey-screen>p{font-size:18px}.screen-summary{font-size:18px}.screen-summary .screen-total{font-size:21px}.mini-seat-status{font-size:16px}.mini-seat-map button{font-size:19px;padding:12px 3px}.journey-screen .screen-error{font-size:17px}.module-options button{font-size:19px}.lcd-orders button{padding:11px}.lcd-orders strong,.lcd-orders span{font-size:18px}.lcd-bottom{font-size:14px}.lcd-content.has-journey{overflow-y:auto}.journey-screen .lcd-primary{margin-top:3px}.journey-heading{flex-shrink:0}.screen-seat-label{font-size:25px}.journey-screen{min-height:100%;padding-bottom:2px}}
.journey-screen:has(.mini-seat-map){gap:3px}
.mini-seat-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;width:100%;margin:1px 0}
.mini-seat-legend{grid-column:1/-1;font-family:monospace;font-size:10px;line-height:1.2;text-align:center;white-space:normal;overflow-wrap:anywhere}
.mini-seat-map button{min-height:25px;padding:1px 2px;font-size:12px}
.mini-seat-map button.zone-start{border-top:2px solid #415b41}
.mini-seat-map button:disabled{opacity:.45;cursor:not-allowed}
.formal-seat-pocket .mini-seat-map .seat-unavailable{background:#aeb4a5;color:#5f665b;border-style:dashed}
.formal-seat-pocket .lcd-primary:disabled{opacity:.5;cursor:not-allowed}
.formal-seat-deck .seats button.unavailable{background:#e5e2d8;color:#8c8678;border-style:dashed}
.formal-seat-deck .seats button:disabled{cursor:not-allowed;opacity:.75}
.formal-seat-media{margin-top:28px}.formal-seat-media .operation-actions{display:flex;gap:10px}.formal-seat-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.formal-seat-media-grid figure{margin:0;border:1px solid #d8d1bf;background:#fffefa}.formal-seat-media-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.formal-seat-media-grid figcaption{display:flex;flex-direction:column;gap:4px;padding:10px 12px;font-size:13px}.formal-seat-media-grid figcaption span{color:#7b7261}
.journey-screen:has(.mini-seat-map) .screen-disclaimer{font-size:10px;line-height:1.1}
@media(max-width:760px){.mini-seat-map{gap:3px}.mini-seat-legend{font-size:11px}.mini-seat-map button{min-height:30px;padding:1px 2px;font-size:15px}.journey-screen:has(.mini-seat-map) .mini-seat-status{font-size:13px}.journey-screen:has(.mini-seat-map) .screen-disclaimer{font-size:12px}}
@media(max-width:760px){.formal-seat-media-grid{grid-template-columns:1fr}}

/* Keep Pocket copy readable when a translated or live value needs two lines. */
.lcd-content { min-width: 0; overflow-wrap: anywhere; }
.lcd-content.pocket-module-content:not(.has-journey) { overflow-y: auto; justify-content: safe center; }
.lcd-content :is(h2, p, .lcd-primary, .lcd-link, .module-options button, .screen-error, .booking-panel-error) {
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.35;
}
.lcd-content > :is(h2, p),
.journey-screen > :is(h2, p),
.reward-package > :is(h2, p),
.reward-picker > :is(h2, p),
.reward-celebration > :is(h2, p) { max-width: min(100%, 270px); }
.lcd-content h2 { text-wrap: balance; }
.lcd-content .lcd-primary { height: auto; padding-block: 5px; }
.lcd-status > span:first-child,
.lcd-bottom:not(.home-nav-bottom) > span:first-child { min-width: 0; white-space: normal; overflow-wrap: anywhere; text-align: left; }
.lcd-status > span:last-child,
.lcd-bottom:not(.home-nav-bottom) > span:last-child { flex-shrink: 0; white-space: nowrap; }
.journey-heading span,
.screen-summary :is(span, strong) { min-width: 0; white-space: normal; overflow-wrap: anywhere; }
.mini-seat-status { flex-wrap: wrap; gap: 2px 6px; }
.mini-seat-status span,
.journey-bottom-hint { min-width: 0; white-space: normal; overflow-wrap: anywhere; }
.choice-carousel > button { flex: 0 0 auto; }
.choice-value:has(.booking-small-choice) { min-width: 0; max-width: calc(100% - 72px); }

/* Interactive chick and making-memory layer */
.topbar .edition{flex:1;min-width:0}.topbar-actions{display:flex;align-items:center;gap:12px;margin-left:auto;white-space:nowrap}
.language-toggle{border:1px solid #d2cbbc;border-radius:5px;background:transparent;color:#5c574c;min-width:42px;min-height:29px;padding:3px 6px;font-family:monospace;font-size:11px;letter-spacing:.04em}
@media(max-width:760px){.topbar-actions{gap:5px}.topbar-actions>.text-button{font-size:0;gap:0}.language-toggle{min-width:36px;font-size:10px}.edition{max-width:none;line-height:1.35}.demo-tag{max-width:26vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
.seat-move-zones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0}
.seat-move-zone{border:1px solid #ded6c5;background:#fbfaf6;padding:12px}
.seat-move-zone h4{margin:0 0 10px;font-size:14px;font-weight:600}
.seat-move-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.seat-move-options button{display:flex;align-items:center;justify-content:center;gap:4px;min-height:38px;border:1px solid #cfc8b9;background:#f6f3eb;color:#4c493f;padding:4px;font-family:monospace}
.seat-move-options button.is-selected{border-color:#304838;background:#dce5cf;color:#253d30;box-shadow:inset 0 0 0 1px #304838}
.seat-move-options button.is-unavailable{border-style:dashed;border-color:#b89d91;background:#eee9df;color:#755a50}
.seat-move-options button.is-unavailable.is-selected{box-shadow:inset 0 0 0 1px #b89d91}
.seat-move-options button:focus-visible{outline-offset:2px}
@media(max-width:760px){.seat-move-zones{grid-template-columns:1fr;gap:8px}.seat-move-options{grid-template-columns:repeat(6,minmax(0,1fr))}.seat-move-options button{min-height:44px;flex-direction:column;gap:1px;font-size:12px}}
.device::before {
  opacity: .93;
  filter: saturate(.84) contrast(.96);
  box-shadow: none;
}

.pocket-wrap,
.device {
  filter: none;
  box-shadow: none;
}

.chick-stage {
  --chick-size: 142px;
  width: min(100%, 230px);
  margin: 0 auto;
  display: grid;
  justify-items: center;
  gap: 2px;
  position: relative;
  flex-shrink: 0;
}

.chick-stage.compact {
  --chick-size: 84px;
  width: 118px;
}

.lcd-content:not(.pocket-home-play) > .chick-stage.compact {
  --chick-size: 96px;
  width: 132px;
  margin-block: -5px;
}

.chick-stage.celebrating {
  --chick-size: 126px;
}

.chick-touch {
  position: relative;
  width: var(--chick-size);
  height: var(--chick-size);
  border: 0;
  padding: 0;
  background: transparent;
  color: #2e4939;
  isolation: isolate;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.chick-touch.is-draggable {
  touch-action: none;
  transition: transform .22s cubic-bezier(.2,.8,.25,1.2);
}

.chick-touch.is-dragging {
  cursor: grabbing;
  transition: none;
}

.chick-touch:hover {
  filter: none;
}

.chick-touch:disabled {
  opacity: 1;
  cursor: default;
}

.chick-touch:focus-visible {
  outline: 2px dashed #405741;
  outline-offset: -4px;
  border-radius: 42%;
}

.chick-visual {
  position: absolute;
  inset: 0;
  display: block;
  transform-origin: 50% 84%;
  pointer-events: none;
}

.chick-visual.is-equipped {
  transform: scale(.93);
}

.chick-visual.is-equipped.reaction-idle {
  transition: transform .2s ease-out;
}

.chick-visual.is-equipped.reaction-blink {
  animation: equipped-chick-blink .42s steps(2, jump-none) both;
}

.chick-visual.is-equipped.reaction-hop {
  animation: equipped-chick-hop .62s cubic-bezier(.25,.74,.37,1) both;
}

.chick-visual.is-equipped.reaction-sleep {
  animation: equipped-chick-sleep .74s steps(2, jump-none) both;
}

.chick-visual.is-equipped.reaction-tilt {
  animation: equipped-chick-tilt .58s steps(3, jump-none) both;
}

.chick-visual.is-equipped.reaction-hold {
  animation: equipped-chick-hold .7s ease-out both;
}

.pixel-chick {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  image-rendering: pixelated;
  transform-origin: 50% 84%;
  pointer-events: none;
}

.pixel-chick.reaction-idle {
  background-image: url('/chick-assets/interactive/chick-idle.png');
  transform: translateX(-10.2%) scale(.84);
  transition: transform .2s ease-out;
}

.pixel-chick.reaction-idle.layered-base {
  transform: scale(.9);
}

.pixel-chick.reaction-idle.layered-base.look-paint-apron {
  background-image: url('/chick-assets/interactive/chick-look-paint-apron.png');
}

.pixel-chick.reaction-idle.layered-base.look-paint-palette {
  background-image: url('/chick-assets/interactive/chick-look-paint-palette.svg');
}

.pixel-chick.reaction-idle.layered-base.look-mini-easel {
  background-image: url('/chick-assets/interactive/chick-look-mini-easel.svg');
}

.pixel-chick.reaction-blink {
  background-image: url('/chick-assets/interactive/chick-blink.png');
  animation: chick-blink .42s steps(2, jump-none) both;
}

.pixel-chick.reaction-hop {
  background-image: url('/chick-assets/interactive/chick-hop.png');
  animation: chick-hop .62s cubic-bezier(.25,.74,.37,1) both;
}

.pixel-chick.reaction-sleep {
  background-image: url('/chick-assets/interactive/chick-sleep.png');
  animation: chick-sleep .74s steps(2, jump-none) both;
}

.pixel-chick.reaction-tilt {
  background-image: url('/chick-assets/interactive/chick-tilt.png');
  animation: chick-tilt .58s steps(3, jump-none) both;
}

.pixel-chick.reaction-hold {
  background-image: url('/chick-assets/interactive/chick-hold.png');
  animation: chick-hold .7s ease-out both;
}

.chick-prop,
.color-steps,
.chick-heart {
  position: absolute;
  pointer-events: none;
}

.chick-prop {
  z-index: 4;
  display: grid;
  place-items: center;
  filter: drop-shadow(2px 2px 0 #385044);
}

.chick-prop svg {
  width: 100%;
  height: 100%;
  stroke-width: 2.5;
}

.chick-prop.paint-palette {
  right: 3%;
  top: 48%;
  width: 27%;
  height: 27%;
  padding: 5%;
  color: #5d4130;
  background: #efc36a;
  border: 3px solid #2f493d;
  border-radius: 48% 48% 43% 52%;
  transform: rotate(12deg);
}

.chick-prop.mini-easel {
  right: -1%;
  bottom: 8%;
  width: 32%;
  height: 36%;
  padding: 5%;
  color: #314b3e;
  background: #eee1b5;
  border: 4px solid #745638;
  border-radius: 2px;
  transform: rotate(3deg);
}

.chick-prop.mini-easel::before,
.chick-prop.mini-easel::after {
  content: '';
  position: absolute;
  bottom: -22%;
  width: 4px;
  height: 28%;
  background: #745638;
}

.chick-prop.mini-easel::before { left: 23%; transform: rotate(9deg); }
.chick-prop.mini-easel::after { right: 23%; transform: rotate(-9deg); }

.color-steps {
  z-index: 1;
  inset: 0;
}

.color-steps i {
  position: absolute;
  width: 9%;
  aspect-ratio: 1;
  border-radius: 55% 45% 60% 40%;
  image-rendering: pixelated;
  opacity: .9;
  animation: color-step 1.55s steps(4, jump-none) infinite;
}

.color-steps i:nth-child(1) { left: 6%; bottom: 21%; background: #e58368; }
.color-steps i:nth-child(2) { left: 1%; bottom: 7%; background: #e6b64f; animation-delay: -.5s; }
.color-steps i:nth-child(3) { right: 4%; bottom: 5%; background: #6e9a85; animation-delay: -1s; }

.chick-heart {
  z-index: 5;
  right: 14%;
  top: 15%;
  color: #c85f54;
  font-family: monospace;
  font-size: calc(var(--chick-size) * .18);
  text-shadow: 2px 2px 0 #f1dca7;
  animation: chick-heart .85s steps(4, jump-none) both;
}

.chick-response {
  min-height: 17px;
  max-width: 220px;
  color: #435644;
  font-size: 11px;
  line-height: 1.45;
  text-align: center;
}

.chick-stage.compact .chick-response {
  min-height: 14px;
  font-size: 9px;
  white-space: nowrap;
}

.pocket-home {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
}

.pocket-home .home-greeting {
  text-align: left;
}

.pocket-home .chick-stage.compact {
  margin: -5px auto -1px;
}

.lcd-content.pocket-home-play {
  justify-content: center;
  gap: 5px;
  padding: 0;
  overflow: hidden;
}

.home-pet-row {
  width: 100%;
  min-height: 79px;
  display: grid;
  grid-template-columns: 94px minmax(0,1fr);
  align-items: center;
  gap: 7px;
  position: relative;
  flex-shrink: 0;
}

.home-pet-row .chick-stage.compact {
  --chick-size: 84px;
  width: 92px;
  margin: -6px 0 -4px;
}

.home-pet-row .chick-response {
  position: absolute;
  left: 92px;
  right: 0;
  bottom: 0;
  max-width: none;
  min-height: 12px;
  text-align: left;
  font-size: 9px;
}

.home-pet-row .home-greeting {
  align-self: center;
  padding-bottom: 12px;
  text-align: left;
  font-size: 16px;
  line-height: 1.25;
}

.home-pet-row .home-greeting span {
  margin-top: 3px;
  font-size: 10px;
  line-height: 1.35;
}

.pocket-home-play .pocket-menu {
  gap: 5px;
}

.pocket-home-play .pocket-menu button {
  min-height: 31px;
  padding: 6px;
  font-size: 11px;
}

.pocket-home-play .today-chip,
.pocket-home-play .lcd-alert {
  min-height: 29px;
  padding: 5px;
  font-size: 10px;
}

/* Adoption lives entirely inside the Pocket screen. */
.adoption-screen,
.adoption-stage {
  width: 100%;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  text-align: center;
}

.adoption-screen h2,
.adoption-screen p,
.adoption-stage h2,
.adoption-stage p {
  margin: 0;
}

.adoption-screen p,
.adoption-stage p {
  max-width: 270px;
  line-height: 1.55;
}

.adoption-stage > div:not(.adoption-egg) {
  display: grid;
  gap: 2px;
}

.adoption-stage small {
  font-family: monospace;
  font-size: 9px;
  letter-spacing: 1px;
}

.adoption-stage .lcd-primary {
  margin-top: auto;
}

.adoption-egg {
  width: 118px;
  height: 118px;
  border: 0;
  background: url('/chick-assets/adoption-order-props-transparent.png') 0 0 / 400% 400% no-repeat;
  image-rendering: pixelated;
  animation: egg-breathe 1.35s steps(3, jump-none) infinite;
}

.adoption-egg.is-hatching,
.adoption-screen.is-hatching .adoption-egg {
  animation: egg-hatch .72s steps(5, jump-none) both;
}

.adoption-note {
  font-family: monospace;
  font-size: 10px;
  letter-spacing: .4px;
}

/* Craft route gates remain readable at Pocket scale. */
.craft-carousel {
  padding-inline: 3px;
}

.craft-choice {
  min-width: 190px;
  padding: 8px 9px;
  border: 1px solid #65785c;
  background: #d4ddbd80;
  position: relative;
}

.craft-choice strong {
  max-width: 175px;
  font-family: inherit;
  font-size: 24px;
  line-height: 1.25;
  letter-spacing: 1px;
}

.craft-choice.is-locked {
  color: #576052;
  border-style: dashed;
  background: #b9c1aa73;
}

.craft-choice.is-locked::after {
  content: '';
  position: absolute;
  inset: 3px;
  background: repeating-linear-gradient(135deg,transparent 0 6px,#43544309 6px 8px);
  pointer-events: none;
}

.craft-lock-state {
  min-height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  margin-top: 5px;
  padding: 2px 7px;
  border: 1px solid #64745c80;
  font-family: monospace;
  font-size: 10px;
  letter-spacing: .5px;
}

.craft-choice.is-open .craft-lock-state {
  background: #405741;
  color: #e7edcf;
}

.craft-gate {
  width: 100%;
  min-height: 35px;
  margin: 0;
  padding: 5px 7px;
  color: #4f594c;
  background: #b8c1a9;
  border-left: 3px solid #596a52;
  font-size: 11px !important;
  line-height: 1.4 !important;
}

.craft-gate.is-open {
  background: #d6dfc0;
}

/* Completion, package opening, reward choice and milestone celebration. */
.reward-package,
.reward-picker,
.reward-celebration {
  width: 100%;
  min-height: 168px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  text-align: center;
  position: relative;
}

.reward-package::before {
  content: '';
  position: absolute;
  width: 76px;
  height: 60px;
  top: 3px;
  border: 3px solid #30493d;
  background: #e5bd62;
  box-shadow: inset 0 -11px 0 #ca9149, 5px 5px 0 #61705a33;
  image-rendering: pixelated;
}

.reward-package::after {
  content: '';
  position: absolute;
  width: 12px;
  height: 64px;
  top: 1px;
  background: #e8e0b6;
  box-shadow: -33px 23px 0 -3px #30493d, 33px 23px 0 -3px #30493d;
}

.reward-package > svg {
  z-index: 2;
  margin: 12px 0 8px;
  color: #30493d;
  filter: drop-shadow(1px 1px 0 #f4df99);
  animation: parcel-wiggle 1.65s steps(3, jump-none) infinite;
}

.reward-package h2,
.reward-celebration h2 {
  max-width: 270px;
}

.reward-picker-label {
  align-self: stretch;
  padding: 4px 0;
  border-block: 1px dashed #63745b;
  font-family: monospace;
  font-size: 11px;
  letter-spacing: .7px;
}

.reward-choice {
  min-width: 190px;
  min-height: 92px;
  justify-content: center;
  padding: 7px 9px;
  border: 1px solid #607157;
  background: #d9e0c4a6;
}

.reward-choice strong {
  font-family: inherit;
  font-size: 21px;
  line-height: 1.25;
  letter-spacing: .5px;
}

.reward-choice > span {
  max-width: 175px;
  font-size: 10px;
  line-height: 1.35;
}

.reward-choice::before {
  content: '✦';
  font-family: monospace;
  font-size: 18px;
  line-height: 1;
  color: #887033;
}

.reward-celebration {
  overflow: hidden;
}

.reward-celebration > svg {
  color: #8b7637;
  animation: reward-spark 1.1s steps(4, jump-none) infinite;
}

.reward-celebration::before,
.reward-celebration::after {
  content: '✦  ·  ✦';
  position: absolute;
  color: #876e2d;
  font-family: monospace;
  animation: reward-confetti 1.4s steps(5, jump-none) infinite;
}

.reward-celebration::before { left: 4px; top: 18px; }
.reward-celebration::after { right: 4px; top: 48px; animation-delay: -.7s; }

.milestone-note,
.route-unlock-note {
  width: 100%;
  margin: 0 !important;
  padding: 5px 7px;
  border: 1px solid #7f7445;
  background: #e5d998;
  color: #4b4939;
  font-size: 10px !important;
  line-height: 1.4 !important;
}

.route-unlock-note {
  border-color: #53674e;
  background: #cbd9b3;
}

/* Wardrobe Pocket and the expanded collection deck. */
.wardrobe-pocket {
  width: 100%;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
}

.wardrobe-pocket > .journey-heading {
  min-height: 20px;
  font-size: 11px;
}

.wardrobe-pocket .chick-stage.compact {
  --chick-size: 72px;
  width: 88px;
  margin: -6px auto -3px;
}

.wardrobe-slide-stage {
  position: relative;
  width: 100%;
  height: 74px;
  flex: 0 0 74px;
  overflow: hidden;
  border-block: 1px solid #68785e55;
  background: radial-gradient(circle at 50% 70%,#e4e8ce80 0 28%,transparent 29%);
}

.wardrobe-chick-slide {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  will-change: transform,opacity;
}

.wardrobe-chick-slide .chick-stage.compact {
  margin: 0;
}

.wardrobe-chick-slide.preview-next .chick-stage {
  opacity: .62;
  filter: grayscale(.22) saturate(.82);
}

.wardrobe-chick-slide.preview-later .chick-stage {
  opacity: .3;
  filter: grayscale(.68) saturate(.55);
}

.wardrobe-chick-slide.preview-later::before {
  content: '';
  position: absolute;
  inset: 4px 28%;
  z-index: 2;
  opacity: .24;
  background-image: linear-gradient(#52644b66 1px,transparent 1px),linear-gradient(90deg,#52644b66 1px,transparent 1px);
  background-size: 7px 7px;
  pointer-events: none;
}

.wardrobe-chick-slide.show-glint::after {
  content: '✦';
  position: absolute;
  z-index: 4;
  top: 7px;
  left: calc(50% + 22px);
  color: #f2df8c;
  text-shadow: 0 0 0 #405741;
  animation: wardrobe-glint .82s steps(4,jump-none) both;
}

.wardrobe-preview-lock {
  position: absolute;
  right: calc(50% - 42px);
  bottom: 7px;
  padding: 2px;
  color: #e5ecd0;
  background: #52634d;
}

.wardrobe-slide-stage.direction-next .is-entering {
  animation: wardrobe-slide-in-next .3s cubic-bezier(.22,.8,.3,1) both;
}

.wardrobe-slide-stage.direction-next .is-leaving {
  animation: wardrobe-slide-out-next .3s cubic-bezier(.55,0,.75,.4) both;
}

.wardrobe-slide-stage.direction-previous .is-entering {
  animation: wardrobe-slide-in-previous .3s cubic-bezier(.22,.8,.3,1) both;
}

.wardrobe-slide-stage.direction-previous .is-leaving {
  animation: wardrobe-slide-out-previous .3s cubic-bezier(.55,0,.75,.4) both;
}

.wardrobe-pocket .chick-response {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 132px;
  max-width: none;
  min-height: 11px;
  transform: translateX(-50%);
  font-size: 8px;
}

.wardrobe-heading {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
  font-size: 12px;
}

.wardrobe-heading button {
  min-width: 24px;
  min-height: 24px;
  display: grid;
  place-items: center;
  border: 0;
  padding: 2px;
  background: transparent;
  color: inherit;
}

.wardrobe-progress {
  font-family: monospace;
  font-size: 10px;
  letter-spacing: .5px;
}

.wardrobe-preview {
  width: 100%;
  min-height: 99px;
  display: grid;
  place-items: center;
  border-block: 1px solid #68785e55;
  background: radial-gradient(circle at 50% 70%,#e4e8ce80 0 35%,transparent 36%);
}

.wardrobe-preview .chick-stage {
  margin: -10px auto -4px;
}

.wardrobe-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 5px;
}

.wardrobe-item {
  position: relative;
  min-width: 0;
  min-height: 59px;
  padding: 5px 3px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  border: 1px solid #71806870;
  background: #d2dabd80;
  color: inherit;
  font-size: 9px;
  line-height: 1.25;
}

.wardrobe-item.is-owned,
.wardrobe-item.owned {
  background: #dde5c5;
}

.wardrobe-item.is-equipped,
.wardrobe-item.equipped,
.wardrobe-item.chosen {
  background: #334b3d;
  color: #e5ecd0;
  outline: 2px solid #334b3d;
  outline-offset: 1px;
}

.wardrobe-item.is-locked,
.wardrobe-item.locked {
  filter: grayscale(.9);
  color: #666c60;
  background: repeating-linear-gradient(135deg,#c8cfb8 0 6px,#bec6ae 6px 8px);
}

.wardrobe-item-icon {
  width: 23px;
  height: 23px;
  display: grid;
  place-items: center;
}

.wardrobe-item-icon svg {
  width: 21px;
  height: 21px;
}

.wardrobe-item-copy {
  max-width: 100%;
  overflow-wrap: anywhere;
  white-space: normal;
  text-align: center;
}

.wardrobe-item small,
.memory-status {
  font-family: monospace;
  font-size: 8px;
}

.wardrobe-pocket .lcd-primary {
  min-height: 31px;
  margin-top: auto;
  font-size: 12px;
}

.wardrobe-pocket .lcd-link {
  font-size: 11px;
}

/* The Help and Address routes keep the original service content inside the calmer Pocket layout. */
.help-center-deck {
  display: grid;
  gap: 22px;
}

.help-deck-hero,
.address-card {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  padding: 21px;
  border: 1px solid #d7cfba;
  background: #f3f0e5;
}

.help-deck-hero > span,
.address-card > svg {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: grid;
  place-items: center;
  color: #f7f6ee;
  background: #48523f;
  border-radius: 50%;
  padding: 10px;
}

.help-deck-hero small,
.address-card small,
.help-result-heading small {
  display: block;
  color: #857b66;
  font-family: monospace;
  font-size: 10px;
  letter-spacing: 1.5px;
}

.help-deck-hero h3,
.address-card h3 {
  margin: 2px 0 5px;
  font-size: 22px;
  font-weight: 500;
}

.help-deck-hero p,
.address-card p {
  margin: 0;
  font-size: 14px;
  line-height: 1.65;
}

.help-section-switch {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.help-section-switch button {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid #d5cfbf;
  background: transparent;
  color: #6f6759;
}

.help-section-switch button.active {
  border-color: #48523f;
  background: #48523f;
  color: #fbfaf3;
}

.help-stage-tabs {
  display: grid;
  gap: 7px;
  margin: 0;
}

.guide-tabs {
  grid-template-columns: repeat(3,1fr);
}

.faq-stage-tabs {
  grid-template-columns: repeat(5,1fr);
}

.help-stage-tabs button {
  min-width: 0;
  min-height: 54px;
  padding: 9px 7px;
  border: 1px solid #dad3c4;
  background: transparent;
  color: #696255;
}

.guide-tabs button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.faq-stage-tabs button {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  line-height: 1.35;
}

.faq-stage-tabs strong {
  font-size: 12px;
  font-weight: 600;
}

.faq-stage-tabs span {
  font-size: 9px;
  color: #8c8475;
}

.help-stage-tabs button.active {
  border-color: #66705a;
  background: #e5e8d8;
  color: #394737;
}

.help-stage-tabs button.active span {
  color: inherit;
}

.help-clear-topic {
  justify-self: start;
  min-height: 38px;
  padding: 6px 1px;
  border: 0;
  border-bottom: 1px solid #8d826d;
  background: transparent;
  color: #6f6759;
  font-size: 12px;
}

.help-search {
  display: grid;
  gap: 7px;
  font-size: 13px;
  font-weight: 500;
}

.help-search > div {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 0 13px;
  border: 1px solid #d5cebf;
  background: #fffefa;
}

.help-search input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 16px;
}

.help-search > div > button {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: #746c5e;
}

.help-search small {
  color: #8b8271;
  font-weight: 400;
}

.help-results {
  margin: 0 !important;
}

.help-result-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 15px;
  padding: 5px 0 13px;
  border-bottom: 1px solid #d6cfbf;
}

.help-result-heading h4 {
  margin: 2px 0 0;
  font-size: 23px;
  font-weight: 500;
}

.help-result-heading > span {
  color: #8a806e;
  font-family: monospace;
  font-size: 11px;
}

.help-accordion {
  border-bottom: 1px solid #ddd6c8;
}

.help-accordion > button {
  width: 100%;
  min-height: 76px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 16px 2px;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
}

.help-accordion > button > span {
  display: grid;
  gap: 4px;
}

.help-accordion small {
  color: #7a735f;
  font-family: monospace;
  font-size: 9px;
  letter-spacing: 1px;
}

.help-accordion strong {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
}

.help-accordion em {
  color: #777064;
  font-size: 13px;
  font-style: normal;
  line-height: 1.6;
}

.help-accordion > button > b {
  flex: 0 0 24px;
  font-family: monospace;
  font-size: 20px;
  font-weight: 400;
}

.help-answer {
  padding: 2px 2px 20px;
}

.help-answer > p {
  margin: 0 0 13px;
  color: #5e594f;
  font-size: 14px;
}

.help-answer ol {
  margin: 0;
  padding-left: 23px;
}

.help-answer li {
  padding: 5px 0 8px 5px;
}

.help-answer li p {
  margin: 0;
  color: #5f5a50;
  font-size: 14px;
}

.help-answer li strong {
  display: block;
  margin-bottom: 2px;
  font-size: 14px;
}

.help-action,
.help-media-link {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 12px;
  border: 1px solid #c9c1af;
  background: transparent;
  color: #514b40;
  font: inherit;
  font-size: 13px;
  text-decoration: none;
}

.help-media-link {
  margin-top: 8px;
}

.help-empty {
  padding: 36px 12px;
  color: #817867;
  text-align: center;
}

.help-empty > strong,
.help-empty > span {
  display: block;
}

.help-empty > span {
  margin-top: 5px;
  font-size: 13px;
}

.help-empty > button {
  margin-top: 13px;
  padding: 7px 2px;
  border: 0;
  border-bottom: 1px solid #8f846f;
  background: transparent;
  color: inherit;
}

.help-rules-card,
.help-contact-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 19px;
  border: 1px solid #d7cfbb;
  background: #f3f0e4;
}

.help-rules-card h4 {
  margin: 0 0 4px;
  font-size: 16px;
}

.help-rules-card p {
  margin: 0;
  font-size: 13px;
}

.help-rules-card > button {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 4px;
  border: 0;
  border-bottom: 1px solid #77705e;
  background: transparent;
  color: #4f493f;
  font-size: 13px;
}

.help-contact-card {
  align-items: flex-start;
  background: transparent;
}

.help-contact-card > div {
  display: grid;
  gap: 3px;
}

.help-contact-card span {
  color: #7d7463;
  font-size: 12px;
}

.help-contact-card nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px 14px;
}

.help-contact-card a,
.help-contact-card button {
  border: 0;
  border-bottom: 1px solid #948a76;
  background: transparent;
  color: #5f584c;
  font: inherit;
  font-size: 12px;
  text-decoration: none;
}

.address-card h3 {
  user-select: text;
}

.address-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.address-actions > * {
  width: 100%;
  text-decoration: none;
}

.address-copy-error {
  margin: -13px 0 0 !important;
  color: #8a4d35 !important;
  font-size: 13px;
}

.transport-tabs {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 8px;
}

.transport-tabs button {
  min-height: 68px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 2px;
  border: 1px solid #d4cdbc;
  background: transparent;
  color: #5f594e;
}

.transport-tabs button span {
  font-size: 21px;
}

.transport-tabs button strong {
  font-size: 12px;
  font-weight: 600;
}

.transport-tabs button.active {
  border-color: #4b5642;
  background: #e4e8d7;
  color: #344335;
}

.transport-routes {
  display: grid;
  gap: 10px;
  margin: 0 !important;
}

.transport-routes article {
  padding: 17px;
  border: 1px solid #d9d2c3;
  background: #f5f2e8;
}

.route-heading {
  display: flex;
  align-items: center;
  gap: 11px;
}

.route-heading > span {
  width: 31px;
  height: 31px;
  flex: 0 0 31px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #4c5743;
  color: #fffdf6;
  font-family: monospace;
  font-size: 12px;
}

.route-heading h4 {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
}

.route-heading small {
  color: #5f7857;
  font-size: 11px;
}

.transport-routes article > p {
  margin: 10px 0 4px;
  color: #5e584d;
  font-size: 13px;
}

.transport-routes article > em {
  color: #786b4c;
  font-size: 11px;
  font-style: normal;
}

@media (max-width: 760px) {
  .help-center-deck { gap: 17px; }
  .help-deck-hero,
  .address-card { padding: 17px; }
  .faq-stage-tabs {
    grid-template-columns: repeat(2,1fr);
  }
  .faq-stage-tabs button:last-child {
    grid-column: 1 / -1;
  }
  .help-rules-card,
  .help-contact-card {
    align-items: stretch;
    flex-direction: column;
  }
  .help-contact-card nav {
    justify-content: flex-start;
  }
  .address-actions {
    grid-template-columns: 1fr;
  }
  .help-accordion strong { font-size: 15px; }
  .help-accordion em { font-size: 13px; }
}

/* Stage six: the original Storage and Profile functions move into the same lower content area. */
.storage-archive,
.customer-account-deck {
  display: grid;
  gap: 18px;
}

.design-config-preview {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-top: -8px;
  color: #827864;
  font-size: 12px;
}

.design-config-preview button {
  border: 0;
  padding: 0;
  background: transparent;
  color: #315144;
  font: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.account-section-hero {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 20px;
  border: 1px solid #d8d1c1;
  background: #f2efe4;
}

.account-section-hero > span {
  width: 39px;
  height: 39px;
  flex: 0 0 39px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #4b5543;
  color: #fffdf5;
}

.account-section-hero small,
.account-block-title small,
.aftercare-form .form-heading small {
  color: #827864;
  font-family: monospace;
  font-size: 9px;
  letter-spacing: 1.5px;
}

.account-section-hero h3,
.account-block-title h3 {
  margin: 2px 0 5px;
  font-size: 21px;
  font-weight: 500;
}

.account-section-hero p {
  margin: 0;
  font-size: 13px;
}

.account-link-row {
  width: 100%;
  min-height: 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 13px 2px;
  border: 0;
  border-bottom: 1px solid #ddd6c8;
  background: transparent;
  color: inherit;
  text-align: left;
}

.support-contact-section a.account-link-row { text-decoration: none; }
.support-contact-unavailable { color: #817969; font-size: 13px; line-height: 1.6; }

.account-link-row > span {
  display: grid;
  gap: 2px;
}

.account-link-row strong {
  font-size: 15px;
  font-weight: 600;
}

.account-link-row small {
  color: #817969;
  font-size: 12px;
}

.aftercare-source,
.account-block,
.aftercare-form {
  margin: 0 !important;
  padding: 19px;
  border: 1px solid #d8d1c2;
  background: #fffefa;
}

.aftercare-source > div,
.aftercare-source label,
.aftercare-form label,
.account-edit-form label,
.history-form label,
.ironing-draft label {
  display: grid;
  gap: 6px;
}

.aftercare-source > div {
  grid-template-columns: auto 1fr;
  align-items: center;
  margin-bottom: 13px;
}

.aftercare-source h4,
.aftercare-form h4,
.account-subsection h4 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

.aftercare-source label > span,
.aftercare-form label > span:first-child,
.aftercare-form legend,
.account-edit-form label,
.history-form label,
.ironing-draft label {
  color: #6f6758;
  font-size: 12px;
}

.aftercare-source select,
.aftercare-form select,
.aftercare-form input,
.account-edit-form input,
.history-form input,
.history-form select,
.history-form textarea,
.promo-row input,
.ironing-draft input {
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid #d4cdbc;
  border-radius: 0;
  background: #fffefa;
  color: #403d35;
  font: inherit;
  font-size: 16px;
}

.aftercare-source > p,
.aftercare-empty span,
.aftercare-gate span,
.aftercare-gate strong {
  display: block;
  margin: 10px 0 0;
  color: #7d7464;
  font-size: 13px;
}

.aftercare-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.aftercare-tabs button {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid #d6cfbf;
  background: transparent;
  color: #625c51;
}

.aftercare-tabs button b {
  min-width: 20px;
  padding: 1px 5px;
  background: #eeeade;
  font-size: 10px;
}

.aftercare-tabs button.active {
  border-color: #4d5844;
  background: #4d5844;
  color: #fffdf6;
}

.aftercare-tabs button.active b {
  background: #ffffff24;
}

.aftercare-list {
  border-top: 1px solid #d9d2c4;
}

.aftercare-record {
  border-bottom: 1px solid #d9d2c4;
}

.aftercare-record > button {
  width: 100%;
  min-height: 67px;
  display: grid;
  grid-template-columns: 34px minmax(0,1fr) auto 22px;
  align-items: center;
  gap: 9px;
  padding: 13px 1px;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
}

.aftercare-record .service-icon {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  background: #e6e8d9;
  color: #52604d;
}

.aftercare-record > button > span:nth-child(2) {
  display: grid;
  gap: 1px;
}

.aftercare-record > button strong {
  font-size: 15px;
}

.aftercare-record > button small {
  color: #827a6b;
  font-size: 11px;
}

.aftercare-record > button em {
  padding: 3px 7px;
  border-radius: 20px;
  background: #e8eddd;
  color: #596348;
  font-size: 11px;
  font-style: normal;
  white-space: nowrap;
}

.service-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 16px;
  padding: 0 1px 11px 44px;
  color: #847b6c;
  font-size: 10px;
}

.service-meta span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.service-details {
  padding: 0 1px 18px 44px;
}

.aftercare-service-photos {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 6px 0 14px;
}

.aftercare-service-photo {
  display: block;
  width: min(100%, 128px);
  aspect-ratio: 1;
  object-fit: contain;
  border: 1px solid #d8d0be;
  background: #f6f2e8;
}

.service-details dl,
.account-rows {
  margin: 0 0 10px;
}

.service-details dl > div,
.account-rows > div {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 8px 0;
  border-top: 1px dashed #ddd6c7;
  font-size: 12px;
}

.service-details dd,
.account-rows dd {
  margin: 0;
  text-align: right;
}

.aftercare-empty,
.aftercare-gate {
  display: grid;
  gap: 3px;
  padding: 32px 12px;
  color: #766e60;
  text-align: center;
}

.aftercare-empty span,
.aftercare-gate span,
.aftercare-gate strong {
  margin: 0;
}

.aftercare-create-actions,
.aftercare-form .form-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.aftercare-form {
  display: grid;
  gap: 16px;
  background: #f6f3e9;
}

.aftercare-form .form-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 15px;
}

.aftercare-form .form-heading > button,
.ironing-draft > div > button {
  border: 0;
  border-bottom: 1px solid #8e846f;
  background: transparent;
  color: #746a59;
  font-size: 11px;
}

.aftercare-form fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

.choice-row {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 6px;
}

.choice-row button {
  min-height: 42px;
  border: 1px solid #d0c8b6;
  background: #fffefa;
}

.choice-row button.active {
  border-color: #4e5946;
  background: #4e5946;
  color: #fffdf6;
}

.mock-upload > span:nth-child(2) {
  min-height: 45px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px dashed #b9af9a;
  background: #fffefa;
  color: #5d574d;
  font-size: 13px;
  cursor: pointer;
}

.mock-upload input {
  position: absolute;
  width: 1px;
  height: 1px;
  min-height: 1px;
  opacity: 0;
}

.mock-upload small {
  color: #8b8273;
  font-size: 10px;
}

.ironing-draft {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid #ddd4c2;
  background: #fffefa;
}

.ironing-draft > div,
.radio-line,
.check-line {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.radio-line {
  justify-content: flex-start;
}

.radio-line label,
.check-line {
  display: inline-flex !important;
  align-items: center;
  gap: 7px;
}

.radio-line input,
.check-line input {
  width: 18px;
  min-height: 18px;
}

.add-work {
  justify-self: start;
}

.profile-overview-card {
  padding: 20px;
  border: 1px solid #d7d0c1;
  background: #f2efe4;
}

.profile-identity {
  display: grid;
  grid-template-columns: 48px minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
}

.profile-identity > span {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #ded5a9;
  color: #5e5938;
  font-size: 20px;
}

.profile-identity h3 {
  margin: 0;
  font-size: 21px;
}

.profile-identity small {
  color: #776f61;
}

.profile-identity em {
  padding: 4px 8px;
  border-radius: 20px;
  background: #e4e9d9;
  color: #58614c;
  font-size: 10px;
  font-style: normal;
}

.profile-tier {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 7px 12px;
  margin-top: 17px;
  font-size: 12px;
}

.profile-tier > span {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
}

.profile-tier > small {
  color: #7f7768;
}

.profile-tier i,
.milestone-ledger > i {
  grid-column: 1 / -1;
  height: 5px;
  overflow: hidden;
  background: #ddd8ca;
}

.profile-tier i b,
.milestone-ledger i b {
  display: block;
  height: 100%;
  background: #5a674e;
}

.profile-stats {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1px;
  margin-top: 17px;
  background: #d8d1c3;
}

.profile-stats > div {
  min-width: 0;
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 11px;
  background: #fffefa;
}

.profile-stats strong {
  font-size: 13px;
  line-height: 1.35;
}

.profile-stats span {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #7f7769;
  font-size: 9px;
}

.profile-section-tabs {
  display: grid;
  grid-template-columns: repeat(5,1fr);
  gap: 5px;
}

.profile-section-tabs button {
  min-height: 43px;
  border: 1px solid #d7d0c1;
  background: transparent;
  color: #6f685b;
  font-size: 12px;
}

.profile-section-tabs button.active {
  border-color: #4d5845;
  background: #4d5845;
  color: #fffdf6;
}

.account-block {
  display: grid;
  gap: 14px;
}

.memory-summary {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 18px;
  align-items: center;
  padding: 13px;
  background: #f2f0e7;
}

.memory-summary > div {
  display: grid;
  gap: 1px;
}

.memory-summary strong {
  font-family: monospace;
  font-size: 22px;
}

.memory-summary span,
.memory-summary p {
  color: #766f63;
  font-size: 11px;
}

.memory-summary p {
  margin: 0;
}

.benefit-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 6px;
}

.benefit-grid > div {
  min-height: 90px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 2px;
  padding: 9px 5px;
  border: 1px solid #dcd5c6;
  text-align: center;
}

.benefit-grid strong {
  max-width: 100%;
  overflow-wrap: anywhere;
  font-size: 13px;
}

.benefit-grid span {
  color: #81796c;
  font-size: 9px;
}

.account-subsection,
.milestone-ledger {
  padding: 15px;
  border: 1px solid #ddd5c5;
  background: #f5f2e9;
}

.account-subsection p,
.milestone-ledger p,
.qualification-row p,
.rebate-row p {
  margin: 5px 0 0;
  color: #766e60;
  font-size: 12px;
}

.promo-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 7px;
}

.promo-row label {
  grid-column: 1 / -1;
  font-size: 12px;
}

.milestone-ledger > div {
  display: flex;
  justify-content: space-between;
  gap: 14px;
}

.milestone-ledger > i {
  display: block;
  margin-top: 9px;
}

.milestone-ledger small {
  color: #81796b;
  font-size: 10px;
}

.qualification-row,
.rebate-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 7px 15px;
  align-items: start;
  padding: 14px 0;
  border-bottom: 1px solid #ddd6c8;
}

.qualification-row > span,
.rebate-row > span {
  padding: 3px 7px;
  border-radius: 20px;
  background: #eee9dc;
  color: #796f5e;
  font-size: 10px;
}

.qualification-row > button {
  grid-column: 1 / -1;
  justify-self: start;
}

.rebate-row > span {
  display: grid;
  gap: 1px;
  text-align: center;
}

.rebate-row small {
  font-size: 8px;
}

.account-rows dt {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #766f62;
}

.account-edit-form,
.history-form {
  display: grid;
  gap: 12px;
  padding: 15px;
  border: 1px dashed #c5baa4;
  background: #f6f3e9;
}

.history-form textarea {
  min-height: 90px;
  resize: vertical;
}

.visit-summary {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 6px;
  margin: 12px 0;
}

.visit-summary > div {
  display: grid;
  gap: 1px;
  padding: 10px;
  border: 1px solid #ddd5c5;
  background: #fffefa;
  text-align: center;
}

.visit-summary span {
  color: #80786b;
  font-size: 9px;
}

.message-empty,
.support-links {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 13px;
  border: 1px solid #ddd6c8;
  background: #f5f2e9;
}

.message-empty span {
  flex: 1;
}

.message-empty small {
  color: #81796b;
}

.notification-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.notification-heading h4 {
  margin: 0;
}

.notification-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  padding: 14px 0;
  border-top: 1px solid #ddd6c8;
}

.notification-row > div {
  display: grid;
  gap: 6px;
}

.notification-row small {
  color: #81796b;
}

.notification-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.notification-actions span {
  color: #81796b;
  font-size: 12px;
}

.support-links > div {
  min-width: 0;
  flex: 1;
  display: flex;
  align-items: center;
  gap: 8px;
}

.support-links > div > span {
  display: grid;
}

.support-links small {
  color: #81796b;
  font-size: 10px;
}

.support-links > a {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #5c554a;
  font-size: 11px;
}

.logout {
  color: #8c493f;
}

@media (max-width: 760px) {
  .profile-stats,
  .benefit-grid {
    grid-template-columns: repeat(2,1fr);
  }
  .profile-section-tabs {
    grid-template-columns: repeat(5,minmax(58px,1fr));
    overflow-x: auto;
    padding-bottom: 3px;
  }
  .profile-section-tabs button { min-height: 46px; }
  .aftercare-record > button {
    grid-template-columns: 34px minmax(0,1fr) auto;
  }
  .aftercare-record > button > b { display: none; }
  .service-meta,
  .service-details { padding-left: 0; }
  .support-links {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .support-links > div { flex-basis: 100%; }
}

.wardrobe-pocket-copy {
  width: 100%;
  min-height: 23px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
  padding: 4px 2px;
  border-top: 1px solid #68785e55;
  font-size: 11px;
}

.wardrobe-pocket-copy > strong {
  min-width: 0;
  overflow-wrap: anywhere;
  white-space: normal;
}

.wardrobe-state {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 5px;
  border: 1px solid #6c785f;
  font-family: monospace;
  font-size: 9px;
}

.wardrobe-state.is-equipped {
  color: #e5ecd0;
  background: #334b3d;
}

.wardrobe-pocket-items {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 4px;
}

.wardrobe-pocket-items > button {
  position: relative;
  min-width: 0;
  min-height: 32px;
  display: grid;
  place-items: center;
  padding: 4px;
  border: 1px solid #71806870;
  background: #d2dabd80;
  color: #415343;
}

.wardrobe-pocket-items > button.chosen {
  outline: 2px solid #334b3d;
  outline-offset: 1px;
}

.wardrobe-pocket-items > button.equipped {
  color: #e5ecd0;
  background: #334b3d;
}

.wardrobe-pocket-items .wardrobe-item-icon,
.wardrobe-pocket-items .wardrobe-item-icon svg {
  width: 20px;
  height: 20px;
}

.wardrobe-lock {
  position: absolute;
  right: 2px;
  bottom: 2px;
  padding: 1px;
  color: #e5ecd0;
  background: #596852;
}

.wardrobe-action {
  margin-top: auto;
  min-height: 27px !important;
}

.wardrobe-details > p {
  color: #6f6759;
}

.wardrobe-details-intro {
  display: grid;
  grid-template-columns: minmax(0,1fr) 270px;
  gap: 48px;
  align-items: center;
  padding: 12px 0 32px;
  border-bottom: 1px solid #ddd5c5;
}

.wardrobe-kicker {
  font-family: monospace;
  font-size: 11px;
  letter-spacing: 2px;
  color: #82765f;
}

.wardrobe-details-intro h3 {
  margin: 10px 0;
  font-family: Georgia,serif;
  font-size: 31px;
  font-weight: 400;
  line-height: 1.35;
}

.wardrobe-details-intro p {
  color: #6d665b;
  font-size: 15px;
  line-height: 1.85;
}

.wardrobe-details-chick {
  min-height: 230px;
  padding: 9px 12px 15px;
  display: grid;
  place-items: center;
  background: radial-gradient(circle at 50% 65%,#f5eccf 0 35%,transparent 36%),#f2f0e5;
  border: 1px solid #d9d2c0;
  border-radius: 10px;
}

.wardrobe-details-chick .chick-stage {
  margin-bottom: -12px;
}

.wardrobe-details-chick > strong {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 1px;
}

.wardrobe-section-heading {
  margin: 30px 0 16px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
}

.wardrobe-section-heading > div > span,
.wardrobe-section-heading > span {
  color: #7c735f;
  font-size: 12px;
  letter-spacing: 1px;
}

.wardrobe-section-heading h3 {
  margin: 5px 0 0;
  font-size: 24px;
  font-weight: 500;
}

.wardrobe-detail-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 13px;
}

.wardrobe-detail-card {
  min-height: 310px;
  padding: 19px;
  display: flex;
  flex-direction: column;
  gap: 13px;
  border: 1px solid #d6cebc;
  border-radius: 8px;
  background: #fffdf7;
}

.wardrobe-detail-card.is-locked {
  color: #747064;
  background: repeating-linear-gradient(135deg,#f0eee7 0 12px,#ebe9e1 12px 14px);
}

.wardrobe-card-visual {
  position: relative;
  height: 132px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid #d7d3c5;
  background: radial-gradient(circle at 50% 72%,#e7e2c8 0 29%,transparent 30%),#f4f2e9;
}

.wardrobe-card-visual .chick-stage.compact {
  --chick-size: 116px;
  width: 132px;
}

.wardrobe-card-visual > svg {
  position: absolute;
  right: 9px;
  bottom: 9px;
  padding: 3px;
  color: #f0f0dc;
  background: #4f604b;
}

.wardrobe-detail-card.preview-next .wardrobe-card-visual .chick-stage {
  opacity: .62;
  filter: grayscale(.22) saturate(.82);
}

.wardrobe-detail-card.preview-later .wardrobe-card-visual .chick-stage {
  opacity: .3;
  filter: grayscale(.68) saturate(.55);
}

.wardrobe-detail-card.preview-later .wardrobe-card-visual::after {
  content: '';
  position: absolute;
  inset: 0;
  opacity: .2;
  background-image: linear-gradient(#59685055 1px,transparent 1px),linear-gradient(90deg,#59685055 1px,transparent 1px);
  background-size: 9px 9px;
  pointer-events: none;
}

.wardrobe-detail-card.is-equipped {
  border-color: #667154;
  box-shadow: inset 0 0 0 2px #66715426;
}

.wardrobe-detail-card > .wardrobe-item-icon {
  width: 52px;
  height: 52px;
  color: #536048;
}

.wardrobe-detail-card > .wardrobe-item-icon svg {
  width: 42px;
  height: 42px;
}

.wardrobe-detail-card-copy {
  flex: 1;
}

.wardrobe-detail-card-copy h4 {
  margin: 10px 0 5px;
  font-size: 19px;
}

.wardrobe-detail-card-copy p {
  margin: 0 0 9px;
  font-size: 14px;
  line-height: 1.7;
}

.wardrobe-detail-card-copy small {
  color: #7e7461;
  font-size: 11px;
}

.wardrobe-detail-status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: monospace;
  font-size: 10px;
  letter-spacing: .5px;
}

.wardrobe-detail-card .secondary {
  width: 100%;
  min-height: 40px;
  padding-inline: 10px;
  font-size: 13px;
}

.milestone-card {
  margin: 30px 0 22px;
  padding: 22px;
  display: flex;
  gap: 20px;
  align-items: center;
  border: 1px solid #d4ccb8;
  border-radius: 9px;
  background: #f0eee5;
}

.milestone-card.is-unlocked {
  border-color: #b4a65e;
  background: linear-gradient(110deg,#f0e7b8,#f6f1d8 55%,#eef0df);
}

.milestone-icon {
  width: 70px;
  height: 70px;
  flex-shrink: 0;
  display: grid;
  place-items: center;
  border: 1px solid #958656;
  border-radius: 50%;
  color: #77662f;
  background: #fff9da;
}

.milestone-icon svg {
  width: 34px;
  height: 34px;
}

.milestone-card h3 {
  margin: 3px 0;
  font-size: 21px;
}

.milestone-card p {
  margin: 5px 0;
  color: #666050;
  font-size: 14px;
  line-height: 1.75;
}

.milestone-card strong,
.milestone-card > div > span {
  font-size: 12px;
}

.milestone-card .secondary {
  margin-top: 12px;
}

.wardrobe-rule-note {
  padding: 17px 19px;
  border-left: 3px solid #81775a;
  background: #efede4;
}

.wardrobe-rule-note p {
  margin: 4px 0 0;
  color: #686156;
  font-size: 13px;
  line-height: 1.8;
}

.memory-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px;
  margin: 22px 0;
}

.memory-card {
  min-height: 155px;
  padding: 18px;
  border: 1px solid #d6cebc;
  border-radius: 8px;
  background: #fffdf7;
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.memory-card h3,
.memory-card p {
  margin: 0;
}

.memory-card h3 {
  font-size: 18px;
}

.memory-card p {
  font-size: 14px;
  line-height: 1.7;
}

.memory-card.is-locked,
.memory-card.locked {
  background: #f0eee7;
  color: #777166;
}

.memory-status {
  width: fit-content;
  margin-top: auto;
  padding: 4px 8px;
  border: 1px solid #c5bda8;
  border-radius: 999px;
}

@keyframes chick-blink {
  0%,100% { transform: translate(-2.1%,0) scale(.826); }
  55% { transform: translate(-2.1%,0) scale(.85,.81); }
}

@keyframes chick-hop {
  0%,100% { transform: translate(5.6%,2.6%) rotate(0) scale(.865); }
  38% { transform: translate(5.6%,-3.1%) rotate(-2deg) scale(.94); }
  68% { transform: translate(5.6%,.6%) rotate(2deg) scale(.89); }
}

@keyframes chick-sleep {
  0%,100% { transform: translate(-2.7%,10%) scale(.8); }
  50% { transform: translate(-2.7%,10.8%) scale(.81); }
}

@keyframes chick-tilt {
  0%,100% { transform: translate(-7.2%,7.8%) rotate(0) scale(.794); }
  55% { transform: translate(-7.2%,7.2%) rotate(4deg) scale(.84); }
}

@keyframes chick-hold {
  0%,100% { transform: translate(5.5%,9.5%) scale(.884); }
  55% { transform: translate(5.5%,8.5%) scale(.95); }
}

@keyframes equipped-chick-blink {
  0%,100% { transform: scale(.93); }
  55% { transform: scale(.95,.9); }
}

@keyframes equipped-chick-hop {
  0%,100% { transform: translateY(0) rotate(0) scale(.93); }
  38% { transform: translateY(-9%) rotate(-2deg) scale(1); }
  68% { transform: translateY(-2%) rotate(2deg) scale(.96); }
}

@keyframes equipped-chick-sleep {
  0%,100% { transform: translateY(1.5%) scale(.91); }
  50% { transform: translateY(2.5%) scale(.92); }
}

@keyframes equipped-chick-tilt {
  0%,100% { transform: rotate(0) scale(.93); }
  55% { transform: rotate(4deg) scale(.97); }
}

@keyframes equipped-chick-hold {
  0%,100% { transform: scale(.93); }
  55% { transform: translateY(-1%) scale(.99); }
}

@keyframes wardrobe-slide-in-next {
  0% { opacity: 0; transform: translateX(58%) scale(.92); }
  72% { opacity: 1; transform: translateX(-3%) scale(1); }
  100% { opacity: 1; transform: translateX(0) scale(1); }
}

@keyframes wardrobe-slide-out-next {
  0% { opacity: 1; transform: translateX(0) scale(1); }
  100% { opacity: 0; transform: translateX(-58%) scale(.92); }
}

@keyframes wardrobe-slide-in-previous {
  0% { opacity: 0; transform: translateX(-58%) scale(.92); }
  72% { opacity: 1; transform: translateX(3%) scale(1); }
  100% { opacity: 1; transform: translateX(0) scale(1); }
}

@keyframes wardrobe-slide-out-previous {
  0% { opacity: 1; transform: translateX(0) scale(1); }
  100% { opacity: 0; transform: translateX(58%) scale(.92); }
}

@keyframes wardrobe-glint {
  0% { opacity: 0; transform: translate(-8px,7px) scale(.4); }
  45% { opacity: 1; transform: translate(1px,-2px) scale(1.15); }
  100% { opacity: 0; transform: translate(8px,-9px) scale(.6); }
}

@keyframes chick-heart {
  0% { opacity: 0; transform: translateY(7px) scale(.5); }
  45% { opacity: 1; transform: translateY(0) scale(1); }
  100% { opacity: 0; transform: translateY(-10px) scale(.8); }
}

@keyframes color-step {
  0%,100% { opacity: .32; transform: translateY(2px) scale(.82); }
  45% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes egg-breathe {
  0%,100% { transform: rotate(-1deg) scale(.98); }
  50% { transform: rotate(1deg) scale(1.02); }
}

@keyframes egg-warm {
  0%,100% { transform: translateX(0) rotate(-1deg); }
  35% { transform: translateX(-2px) rotate(-2deg); }
  70% { transform: translateX(2px) rotate(2deg); }
}

@keyframes egg-crack {
  0% { transform: translateY(3px) scale(.96); opacity: .7; }
  55% { transform: translateY(-2px) scale(1.035); opacity: 1; }
  100% { transform: translateY(0) scale(1); opacity: 1; }
}

@keyframes chick-arrive {
  0% { transform: translateY(9px) scale(.84); opacity: 0; }
  65% { transform: translateY(-3px) scale(1.04); opacity: 1; }
  100% { transform: translateY(0) scale(1); opacity: 1; }
}

@keyframes egg-hatch {
  0% { transform: rotate(0) scale(1); }
  30% { transform: rotate(-6deg) scale(1.02); }
  60% { transform: rotate(7deg) scale(.98); }
  100% { transform: rotate(0) scale(.65); opacity: 0; }
}

@keyframes parcel-wiggle {
  0%,100% { transform: rotate(0); }
  35% { transform: rotate(-5deg); }
  65% { transform: rotate(5deg); }
}

@keyframes reward-spark {
  0%,100% { transform: scale(.9) rotate(-5deg); }
  50% { transform: scale(1.08) rotate(5deg); }
}

@keyframes reward-confetti {
  0% { opacity: 0; transform: translateY(-5px); }
  35% { opacity: 1; }
  100% { opacity: 0; transform: translateY(20px); }
}

@media(max-width:760px) {
  .chick-stage { --chick-size: 150px; }
  .chick-stage.compact { --chick-size: 96px; width: 132px; }
  .chick-response { font-size: 15px; min-height: 22px; }
  .chick-stage.compact .chick-response { font-size: 12px; }
  .craft-choice { min-width: 186px; }
  .craft-choice strong { font-size: 27px; }
  .craft-lock-state { font-size: 13px; }
  .craft-gate { font-size: 15px !important; }
  .reward-picker-label { font-size: 14px; }
  .reward-choice strong { font-size: 24px; }
  .reward-choice > span { font-size: 14px; }
  .milestone-note,
  .route-unlock-note { font-size: 14px !important; }
  .wardrobe-heading { font-size: 16px; }
  .wardrobe-progress { font-size: 13px; }
  .wardrobe-item { min-height: 66px; font-size: 13px; }
  .wardrobe-item small,
  .memory-status { font-size: 10px; }
  .wardrobe-pocket .lcd-primary { font-size: 17px; }
  .wardrobe-pocket .lcd-link { font-size: 15px; }
  .memory-grid { grid-template-columns: 1fr; }
  .wardrobe-pocket-copy { font-size: 15px; }
  .wardrobe-state { font-size: 12px; }
  .wardrobe-pocket-items > button { min-height: 47px; }
  .wardrobe-pocket-items .wardrobe-item-icon,
  .wardrobe-pocket-items .wardrobe-item-icon svg { width: 26px; height: 26px; }
  .wardrobe-details-intro { grid-template-columns: 1fr; gap: 22px; }
  .wardrobe-details-chick { width: min(100%,300px); margin: auto; }
  .wardrobe-detail-grid { grid-template-columns: 1fr; }
  .wardrobe-detail-card { min-height: auto; }
  .wardrobe-section-heading { align-items: flex-start; }
  .milestone-card { align-items: flex-start; }
  .home-pet-row { grid-template-columns: 94px minmax(0,1fr); min-height: 88px; }
  .home-pet-row .chick-stage.compact { --chick-size: 82px; width: 92px; }
  .home-pet-row .chick-response { left: 93px; font-size: 12px; }
  .home-pet-row .home-greeting { font-size: 20px; }
  .home-pet-row .home-greeting span { font-size: 14px; }
  .pocket-home-play .pocket-menu button { min-height: 37px; font-size: 16px; }
  .pocket-home-play .today-chip,
  .pocket-home-play .lcd-alert { min-height: 35px; font-size: 14px; }
  .adoption-stage small { font-size: 13px; }
}

/* Pocket home migration shell: compact text navigation keeps the device as the focus. */
.aux-nav {
  margin: 22px 0 0;
  border-top: 1px solid #d8d2c4;
  border-bottom: 1px solid #d8d2c4;
  color: #746d61;
}

.aux-nav-bar {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.aux-nav-label {
  font-family: monospace;
  font-size: 10px;
  letter-spacing: 2px;
  color: #948979;
}

.aux-toggle {
  border: 0;
  background: transparent;
  color: #716958;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 0;
  font-size: 11px;
}

.aux-toggle span {
  color: #9a9182;
  letter-spacing: .5px;
}

.aux-nav-links {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px dashed #ddd7ca;
}

.aux-nav-links[hidden] {
  display: none;
}

.aux-nav-links button {
  border: 0;
  border-right: 1px solid #e1dbce;
  background: transparent;
  color: #625c52;
  min-width: 0;
  min-height: 48px;
  padding: 7px 12px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  grid-template-rows: auto auto;
  column-gap: 8px;
  align-items: center;
  text-align: left;
}

.aux-nav-links button:last-child {
  border-right: 0;
}

.aux-nav-links button:hover {
  background: #efecdf;
  filter: none;
}

.aux-nav-links b {
  grid-row: 1 / span 2;
  font-family: monospace;
  font-size: 10px;
  color: #a29682;
  font-weight: 400;
}

.aux-nav-links span {
  font-size: 12px;
  letter-spacing: 1px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.aux-nav-links small {
  grid-column: 2;
  color: #9a9183;
  font-size: 10px;
  letter-spacing: .3px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.aux-nav-links svg {
  grid-column: 3;
  grid-row: 1 / span 2;
  color: #948b7e;
}

.left-context .intro {
  max-width: 360px;
  line-height: 1.8;
}

.left-context .handwritten {
  width: fit-content;
  max-width: 100%;
  margin-top: 56px;
  margin-bottom: 26px;
  transform-origin: left bottom;
}
.left-context .side-foot {
  display: block;
  margin: 0;
  line-height: 1.7;
}

.contact-links {
  margin-top: 42px;
  border-top: 1px solid #d8d2c4;
  display: flex;
  flex-direction: column;
}

.contact-links a {
  display: flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid #e2dccf;
  padding: 12px 2px;
  color: #6c655a;
  font-family: monospace;
  font-size: 12px;
  letter-spacing: .5px;
  text-decoration: none;
}

.contact-links a span {
  color: #8d8475;
  flex: 1;
}

.contact-links a:hover {
  color: #3e4c3a;
}

.home-pet-row {
  grid-template-columns: 1fr;
  min-height: 136px;
  gap: 8px;
}

.home-pet-figure {
  width: 188px;
  position: relative;
  display: grid;
  justify-items: center;
  margin-inline: auto;
}

.home-pet-row .chick-stage {
  --chick-size: 188px;
  width: 188px;
  margin: -3px 0 -5px;
}

.home-pet-row .chick-response {
  left: calc(100% + 6px);
  right: auto;
  bottom: 7px;
  width: 118px;
  font-size: 9px;
}

.home-pet-row .home-greeting {
  padding-bottom: 4px;
}

.home-pet-mode {
  display: block;
  margin-top: 8px;
  font-family: monospace;
  font-size: 8px;
  font-weight: 400;
  color: #53664e;
}

.chick-interaction-hint {
  position: absolute;
  z-index: 6;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  border: 1px solid #87917260;
  border-radius: 18px;
  background: #dfe5c8ed;
  color: #40563d;
  padding: 5px 10px;
  font-size: 15px;
  line-height: 1.3;
  white-space: nowrap;
  pointer-events: none;
}
.chick-stage.compact .chick-interaction-hint { bottom: -9px; }

.pocket-home-play .today-chip,
.pocket-home-play .lcd-alert {
  min-height: 27px;
  padding: 5px 7px;
  font-size: 10px;
}

.home-primary {
  width: 100%;
  min-height: 35px;
  padding: 6px 10px;
  border: 1px solid #2e4436;
  background: #2e4436;
  color: #dfe6c9;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-size: 13px;
  font-weight: 600;
}

.home-primary:hover {
  filter: brightness(1.08);
}

.pocket-links,
.legacy-links-rail {
  width: min(100%, 390px);
  display: flex;
  justify-content: center;
  gap: 18px;
  margin: 0 auto 18px;
  padding-top: 3px;
}

.legacy-links-rail {
  grid-column: 2;
  align-self: start;
  justify-self: center;
}

.home-action-rail {
  display: block;
  grid-column: 2;
  width: min(100%, 340px);
  justify-self: center;
}

.home-status-note {
  color: #766e60;
  font-size: 13px;
  text-align: center;
  margin: 0 0 10px;
}

.pocket-links button,
.legacy-links-rail button {
  border: 0;
  border-bottom: 1px dashed #cfc5af;
  background: transparent;
  color: #82745f;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 4px;
  font-size: 11px;
}

.pocket-links button span,
.legacy-links-rail button span {
  color: #a29782;
}

.pocket-links button:hover,
.legacy-links-rail button:hover {
  color: #3e513e;
  filter: none;
}

@media(max-width:1050px) {
  .aux-nav {
    margin-top: 16px;
  }

  .aux-nav-links button {
    padding-inline: 8px;
  }

  .home-pet-row .chick-stage {
    --chick-size: 188px;
    width: 188px;
  }

  .home-pet-row {
    grid-template-columns: 1fr;
    min-height: 166px;
  }
}

@media(max-width:760px) {
  .aux-nav {
    margin: 11px 0 0;
  }

  .aux-nav-bar {
    min-height: 38px;
  }

  .aux-nav-label {
    font-size: 9px;
  }

  .aux-toggle {
    font-size: 12px;
  }

  .aux-nav-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .aux-nav-links button:nth-child(2) {
    border-right: 0;
  }

  .aux-nav-links button:nth-child(-n + 2) {
    border-bottom: 1px solid #e1dbce;
  }

  .main-grid {
    align-items: stretch;
  }

  .pocket-column {
    order: 1;
  }

  .right-context {
    order: 2;
  }

  .home-action-rail {
    display: block;
    order: 3;
    width: 100%;
    padding: 8px 0 0;
  }

  .pocket-home-play .home-primary {
    display: none;
  }

  .pocket-home-play .today-chip,
  .pocket-home-play .lcd-alert {
    display: none;
  }

  .legacy-links-rail {
    order: 4;
    grid-column: auto;
    width: 100%;
    margin: 4px auto 0;
  }

  .left-context {
    display: block;
    order: 5;
    width: 100%;
    padding: 36px 0 8px;
    text-align: left;
  }

  .left-context h1 {
    font-size: clamp(38px, 12vw, 56px);
    margin: 12px 0 22px;
    white-space: normal;
  }

  .left-context .intro {
    font-size: 17px;
    letter-spacing: 2px;
  }

  .left-context .handwritten {
    margin: 50px 0 24px 4px;
    font-size: 24px;
  }

  .left-context .handwritten span {
    display: inline-block;
    font-size: 39px;
  }

  .contact-links {
    margin-top: 25px;
  }

  .home-pet-row {
    grid-template-columns: 1fr;
    min-height: 166px;
  }

  .home-pet-figure {
    width: 188px;
  }

  .home-pet-row .chick-stage {
    --chick-size: 188px;
    width: 188px;
  }

  .home-pet-row .chick-response {
    left: calc(100% + 5px);
    right: auto;
    width: 124px;
    font-size: 11px;
  }

  .home-pet-row .home-greeting {
    font-size: 14px;
    line-height: 1.2;
  }

  .home-pet-row .home-greeting span {
    font-size: 11px;
    line-height: 1.25;
  }

  .home-pet-mode {
    display: none;
  }

  .chick-interaction-hint {
    bottom: 16px;
  }

  .pocket-links,
  .legacy-links-rail {
    margin-bottom: 8px;
  }

  .pocket-links button {
    font-size: 12px;
  }

  .section-caption {
    margin-bottom: 10px;
  }

  .section-caption h2 {
    font-size: 17px;
  }

  .action-card.text-only {
    min-height: 84px;
    padding: 15px 5px;
    gap: 12px;
  }

  .text-only .card-copy h3 {
    font-size: 19px;
    margin-bottom: 4px;
  }

  .text-only .card-copy p {
    font-size: 13px;
    line-height: 1.5;
    margin-bottom: 4px;
  }

  .text-only .card-copy > span {
    font-size: 10px;
  }

  .text-only .card-arrow {
    top: 16px;
    width: 17px;
  }
}

@media(max-width:380px) {
  .aux-nav-links span {
    font-size: 11px;
  }

  .aux-nav-links small {
    font-size: 9px;
  }

  .home-pet-row {
    grid-template-columns: 1fr;
    min-height: 166px;
  }

  .home-pet-figure {
    width: 188px;
  }

  .home-pet-row .chick-stage {
    --chick-size: 188px;
    width: 188px;
  }

  .home-pet-row .chick-response {
    left: calc(100% + 5px);
    right: auto;
    width: 124px;
  }
}

@media(max-width:380px) {
  .chick-stage.compact { --chick-size: 90px; }
  .wardrobe-grid { gap: 3px; }
}

@media(prefers-reduced-motion:reduce) {
  .pixel-chick,
  .chick-visual,
  .chick-heart,
  .color-steps i,
  .wardrobe-chick-slide.show-glint::after,
  .adoption-egg,
  .reward-package > svg,
  .reward-celebration > svg,
  .reward-celebration::before,
  .reward-celebration::after {
    animation: none !important;
  }
}

/* The completed-order reward loop shares the 298 px LCD with its actions. */
.journey-screen:has([data-reward-stage]) {
  gap: 2px;
}

.journey-screen:has([data-reward-stage]) > .lcd-primary {
  min-height: 28px;
  margin-top: 1px;
  font-size: 12px;
}

.journey-screen:has([data-reward-stage]) > .journey-details {
  font-size: 10px;
  line-height: 1.2;
}

.reward-package,
.reward-picker,
.reward-celebration {
  min-height: 0;
  gap: 2px;
}

.reward-package::before,
.reward-package::after {
  display: none;
}

.reward-package > .chick-stage.compact {
  --chick-size: 64px;
  width: 76px;
  margin: -8px auto -13px;
}

.reward-package > svg {
  position: absolute;
  z-index: 5;
  top: 21px;
  right: 83px;
  width: 22px;
  height: 22px;
  margin: 0;
  padding: 3px;
  color: #30493d;
  background: #e4bc61;
  border: 2px solid #30493d;
  filter: drop-shadow(2px 2px 0 #65745e66);
}

.reward-package h2,
.reward-celebration h2 {
  max-width: 285px;
  margin: 0;
  font-size: 15px;
  line-height: 1.25;
}

.reward-package > p,
.reward-celebration > p {
  margin: 0;
  font-size: 10px;
  line-height: 1.35;
}

.reward-package .screen-disclaimer,
.reward-celebration .screen-disclaimer,
.reward-picker .screen-disclaimer {
  margin: 0;
  font-size: 9px;
  line-height: 1.25;
}

.reward-picker-label {
  padding: 2px 0;
  font-size: 9px;
  line-height: 1.25;
}

.reward-picker > .chick-stage.compact {
  --chick-size: 54px;
  width: 66px;
  margin: -5px auto -10px;
}

.reward-picker .choice-carousel {
  min-height: 65px;
  padding-block: 0;
}

.reward-picker .choice-carousel > button {
  width: 27px;
  height: 30px;
}

.reward-picker .reward-choice {
  min-width: 188px;
  min-height: 62px;
  padding: 3px 7px;
  gap: 0;
}

.reward-picker .reward-choice::before {
  font-size: 11px;
}

.reward-picker .reward-choice small {
  font-size: 8px;
}

.reward-picker .reward-choice strong {
  font-size: 17px;
  line-height: 1.2;
}

.reward-picker .reward-choice > span {
  font-size: 8px;
  line-height: 1.25;
}

.reward-picker .choice-dots {
  height: 6px;
}

.reward-celebration > .chick-stage.compact {
  --chick-size: 116px;
  grid-column: 1;
  grid-row: 1 / 5;
  width: 116px;
  margin: 0;
  align-self: center;
  transform: translateX(-7px) scale(1.78);
}

.reward-celebration {
  display: grid;
  grid-template-columns: 116px minmax(0, 1fr);
  grid-template-rows: auto auto auto auto;
  align-content: center;
  align-items: start;
  column-gap: 7px;
  row-gap: 3px;
  min-height: 118px;
  text-align: left;
}

.reward-celebration h2,
.reward-celebration > p {
  grid-column: 2;
  max-width: none;
  width: 100%;
}

.reward-celebration h2 {
  grid-row: 1;
  font-size: 16px;
  line-height: 1.25;
}

.reward-celebration > p:not(.milestone-note):not(.screen-disclaimer) {
  grid-row: 2;
  font-size: 12px;
  line-height: 1.35;
}

.reward-celebration .milestone-note {
  grid-row: 3;
  border-width: 0 0 0 2px;
  background: #e5d9988c;
}

.reward-celebration .screen-disclaimer {
  grid-row: 4;
  text-align: left;
}

.reward-celebration > svg,
.reward-celebration::before,
.reward-celebration::after,
.reward-celebration .color-steps i,
.reward-package > svg {
  animation: none;
}

.reward-celebration::before,
.reward-celebration::after {
  display: none;
}

.reward-celebration .chick-response {
  position: absolute;
  z-index: 7;
  left: 50%;
  bottom: 1px;
  width: 154px;
  max-width: none;
  min-height: 10px;
  transform: translateX(-50%);
  font-size: 7px;
  line-height: 1.2;
  white-space: nowrap;
}

.reward-celebration > svg {
  position: absolute;
  z-index: 6;
  top: 5px;
  left: 92px;
  right: auto;
  width: 18px;
  height: 18px;
}

.reward-celebration .milestone-note,
.reward-celebration .route-unlock-note {
  padding: 3px 5px;
  font-size: 9px !important;
  line-height: 1.25 !important;
}

.reward-celebration::before,
.reward-celebration::after {
  font-size: 8px;
}

.reward-celebration::before { left: 4px; top: 18px; }
.reward-celebration::after { left: 68px; right: auto; top: auto; bottom: 18px; }

@media(max-width:760px) {
  .journey-screen:has([data-reward-stage]) > .lcd-primary {
    min-height: 34px;
    font-size: 16px;
  }

  .journey-screen:has([data-reward-stage]) > .journey-details {
    font-size: 14px;
  }

  .reward-package h2,
  .reward-celebration h2 {
    font-size: 18px;
  }

  .reward-package > p,
  .reward-celebration > p {
    font-size: 13px;
  }

  .reward-package .screen-disclaimer,
  .reward-celebration .screen-disclaimer,
  .reward-picker .screen-disclaimer {
    font-size: 12px;
  }

  .reward-picker-label {
    font-size: 12px;
  }

  .reward-picker .reward-choice strong {
    font-size: 20px;
  }

  .reward-picker .reward-choice > span,
  .reward-picker .reward-choice small {
    font-size: 11px;
  }

  .reward-celebration .milestone-note,
  .reward-celebration .route-unlock-note {
    font-size: 10px !important;
  }

  .reward-celebration .chick-response {
    font-size: 9px;
  }

  .reward-celebration > .chick-stage.compact {
    --chick-size: 116px;
    width: 116px;
    margin: 0;
  }

  .reward-celebration h2 {
    font-size: 16px;
  }

  .reward-celebration > p:not(.milestone-note):not(.screen-disclaimer) {
    font-size: 14px;
  }

  .reward-celebration .screen-disclaimer {
    font-size: 11px;
  }

  .wardrobe-pocket {
    gap: 1px;
  }

  .wardrobe-pocket > .journey-heading {
    min-height: 18px;
    font-size: 14px;
    line-height: 1.2;
  }

  .wardrobe-pocket > .journey-heading small {
    font-size: 11px;
  }

  .wardrobe-pocket .chick-stage.compact {
    --chick-size: 76px;
    width: 86px;
    margin: 0;
  }

  .wardrobe-slide-stage {
    height: 82px;
    flex-basis: 82px;
  }

  .wardrobe-pocket .chick-response {
    width: 130px;
    min-height: 9px;
    font-size: 9px;
  }

  .wardrobe-pocket-copy {
    min-height: 18px;
    padding-block: 1px;
    font-size: 12px;
  }

  .wardrobe-state {
    padding: 1px 4px;
    font-size: 9px;
  }

  .wardrobe-pocket-items {
    gap: 3px;
  }

  .wardrobe-pocket-items > button {
    min-height: 35px;
    padding: 2px;
  }

  .wardrobe-pocket-items .wardrobe-item-icon,
  .wardrobe-pocket-items .wardrobe-item-icon svg {
    width: 21px;
    height: 21px;
  }

  .wardrobe-action {
    min-height: 29px !important;
    font-size: 14px !important;
  }

  .wardrobe-pocket .lcd-link {
    min-height: 18px;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 12px;
    line-height: 1.2;
  }
}

/* Boot and Welcome use the same transparent lifecycle artwork as adoption. */
.lifecycle-egg,
.lifecycle-hatch,
.lifecycle-cracked {
  display: block;
  width: 122px;
  height: 122px;
  flex: 0 0 122px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  image-rendering: pixelated;
}

.lifecycle-egg {
  background-image: url('/chick-assets/interactive/adoption-egg.png');
  animation: egg-breathe 1.35s steps(3, jump-none) infinite;
}

.lifecycle-hatch {
  background-image: url('/chick-assets/interactive/adoption-hatch.png');
}

.lifecycle-cracked {
  background-image: url('/chick-assets/adoption-order-props-transparent.png');
  background-size: 400% 400%;
  background-position: 66.666% 0;
}

.pocket-auth,
.pocket-adoption {
  overflow: hidden;
}

.pocket-auth {
  gap: 7px;
  text-align: center;
}

.pocket-auth > p {
  max-width: 250px;
  line-height: 1.45;
}

.auth-note {
  font-family: monospace;
  font-size: 10px;
  letter-spacing: .3px;
}

.register-pocket-mascot {
  position: relative;
  display: block;
  width: 72px;
  height: 72px;
  flex: 0 0 72px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  image-rendering: pixelated;
  transition: left .18s steps(3, jump-none);
}

.lcd-content.pocket-auth:has(.register-pocket-mascot) {
  justify-content: center;
  gap: 4px;
  padding-block: 3px;
  overflow: hidden;
}

.pocket-auth:has(.register-pocket-mascot) h2 {
  font-size: 16px;
}

.pocket-auth:has(.register-pocket-mascot) > p {
  font-size: 12px;
}

.pocket-auth:has(.register-pocket-mascot) .lcd-primary {
  min-height: 32px;
  font-size: 14px;
}

.pocket-auth:has(.register-pocket-mascot) .lcd-link {
  font-size: 12px;
}

.register-pocket-mascot.is-egg {
  background-image: url('/chick-assets/interactive/adoption-egg.png');
  animation: egg-breathe 1.35s steps(3, jump-none) infinite;
}

.register-pocket-mascot.is-peeking {
  background-image: url('/chick-assets/interactive/adoption-hatch.png');
  animation: chick-arrive .45s cubic-bezier(.22,.8,.35,1) both;
}

.register-pocket-mascot.is-private {
  background-image: url('/chick-assets/interactive/register-privacy-v1.png');
  animation: register-hide-eyes .28s steps(3, jump-none) both;
}

.register-demo {
  width: min(100%, 680px);
  margin: 0 auto;
  display: block;
  padding: 10px 0 34px;
}

.register-fields {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.register-fields h3 {
  margin: 7px 0 9px;
  font-family: serif;
  font-size: 26px;
  font-weight: 400;
  letter-spacing: 1px;
}

.register-fields p {
  margin: 0;
  color: #756d5d;
  font-size: 14px;
  line-height: 1.7;
}

.register-field {
  display: grid;
  grid-template-columns: 126px minmax(0,1fr);
  align-items: center;
  gap: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #cfc6b4;
}

.register-field > span {
  font-size: 14px;
  letter-spacing: 1px;
}

.register-field > small {
  grid-column: 2;
  color: #817867;
  font-size: 11px;
  line-height: 1.45;
}

.register-field input {
  min-width: 0;
  min-height: 44px;
  border: 0;
  outline: 0;
  background: transparent;
  color: #292923;
  font: inherit;
  font-size: 16px;
}

.register-field:focus-within {
  border-bottom-color: #415740;
  box-shadow: 0 1px 0 #415740;
}

.register-password-input {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0,1fr) 38px;
  align-items: center;
}

.register-password-input button {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 0;
  background: transparent;
  color: #526153;
  cursor: pointer;
}

.register-fields .register-error {
  padding: 10px 12px;
  border: 1px solid #b87668;
  background: #f7e8df;
  color: #7c322c;
  font-size: 13px;
  line-height: 1.45;
}

.register-reasons {
  border-top: 1px solid #d8d0bf;
  border-bottom: 1px solid #d8d0bf;
  padding: 10px 0;
  color: #595647;
  font-size: 13px;
}

.register-reasons summary {
  cursor: pointer;
  font-weight: 700;
  letter-spacing: .4px;
}

.register-reasons div {
  margin-top: 7px;
  padding-left: 16px;
  line-height: 1.5;
}

.register-reasons div::before {
  content: '·';
  margin-right: 8px;
}

.register-submit {
  width: 100%;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
}

.register-submit:disabled {
  opacity: .46;
  cursor: default;
}

.register-login-switch {
  min-height: 42px;
}

.register-fields > small {
  color: #817867;
  font-size: 11px;
  line-height: 1.6;
}

.booking-form-section {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid #d8d0bf;
  background: rgba(255,255,255,.32);
}

.booking-form-heading {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 14px;
}

.booking-form-heading > span {
  min-width: 28px;
  font-family: monospace;
  font-size: 11px;
  letter-spacing: 1px;
  color: #746d5e;
}

.booking-form-heading h4 {
  margin: 0 0 4px;
  font-family: serif;
  font-size: 21px;
  font-weight: 500;
}

.booking-form-heading p,
.booking-form-note {
  margin: 0;
  color: #756d5d;
  font-size: 12px;
  line-height: 1.6;
}

.booking-person-list {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(145px,1fr));
  gap: 8px;
  margin-bottom: 10px;
}

.booking-person-list > div,
.booking-form-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-bottom: 1px solid #ded6c6;
  font-size: 13px;
}

.booking-option-group {
  margin: 13px 0 10px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
  border: 0;
}

.booking-option-group legend {
  grid-column: 1/-1;
  margin-bottom: 7px;
  font-size: 12px;
  font-weight: 700;
}

.booking-option-group button {
  min-height: 44px;
  border: 1px solid #cfc6b4;
  background: #f9f5e9;
  color: #35372f;
  font: inherit;
  cursor: pointer;
}

.booking-option-group button.is-selected {
  border-color: #334c3e;
  background: #dfe8cb;
  box-shadow: inset 0 0 0 1px #334c3e;
}

.booking-three-options {
  grid-template-columns: repeat(3,minmax(0,1fr));
}

.booking-number-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-bottom: 1px solid #ded6c6;
  font-size: 13px;
}

.booking-number-row > div {
  display: flex;
  align-items: center;
  gap: 11px;
}

.booking-number-row button {
  width: 38px;
  height: 38px;
  border: 1px solid #cfc6b4;
  background: #fffdf7;
  color: #334c3e;
  font-size: 20px;
  cursor: pointer;
}

.booking-number-row button:disabled {
  opacity: .4;
  cursor: not-allowed;
}

.booking-person-list select {
  min-height: 38px;
  padding: 0 8px;
  border: 1px solid #cfc6b4;
  background: #fffdf7;
  color: #292923;
  font: inherit;
  font-size: 14px;
}

.choice-value .booking-small-choice {
  font-family: inherit;
  font-size: 23px;
  letter-spacing: 0;
  line-height: 1.15;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: center;
}

.booking-fps-field {
  display: grid;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
}

.booking-fps-field input {
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid #cfc6b4;
  background: #fffdf7;
  color: #292923;
  font: inherit;
  font-size: 16px;
}

.booking-fps-field small {
  color: #756d5d;
  font-size: 11px;
  font-weight: 400;
}

.booking-charge-list {
  margin: 0 0 10px;
}

.booking-charge-list > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 0;
  border-bottom: 1px solid #ded6c6;
  font-size: 13px;
}

.booking-charge-list > div:last-child {
  font-size: 16px;
  font-weight: 800;
}

.booking-terms-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px;
  border: 1px solid #cfc6b4;
  background: #fffdf7;
  font-size: 13px;
  line-height: 1.5;
}

.booking-terms-check input {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
}

.booking-panel-error {
  margin: 10px 0 0;
  padding: 10px 12px;
  border: 1px solid #b87668;
  background: #f7e8df;
  color: #7c322c;
  font-size: 13px;
}

.booking-submit-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.booking-submit-actions button {
  flex: 1 1 220px;
  min-height: 46px;
}

.booking-theme-tabs {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 8px;
}

.booking-theme-tabs button {
  min-width: 0;
  min-height: 64px;
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 9px 7px;
  border: 1px solid #cfc6b4;
  background: #f9f5e9;
  color: #35372f;
  font: inherit;
  cursor: pointer;
}

.booking-theme-tabs button span {
  overflow-wrap: anywhere;
  font-size: 13px;
  line-height: 1.35;
}

.booking-theme-tabs button small {
  color: #756d5d;
  font: 10px/1.2 var(--mono);
}

.booking-theme-tabs button.is-selected {
  border-color: #334c3e;
  background: #dfe8cb;
  box-shadow: inset 0 0 0 1px #334c3e;
}

.booking-theme-tabs button:disabled {
  cursor: not-allowed;
  opacity: .5;
}

.booking-duration-slider {
  margin: 12px 0;
  padding: 14px 16px 12px;
  border: 1px solid #cfc6b4;
  background: #fffdf7;
}

.booking-duration-value {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 7px;
  font-size: 12px;
}

.booking-duration-value strong {
  color: #304a3c;
  font-family: serif;
  font-size: 22px;
  font-weight: 600;
}

.booking-duration-slider input[type='range'] {
  width: 100%;
  height: 34px;
  margin: 0;
  appearance: none;
  background: transparent;
  cursor: ew-resize;
}

.booking-duration-slider input[type='range']::-webkit-slider-runnable-track {
  height: 6px;
  border: 1px solid #899379;
  border-radius: 999px;
  background: #dfe4cb;
}

.booking-duration-slider input[type='range']::-webkit-slider-thumb {
  width: 24px;
  height: 24px;
  margin-top: -10px;
  appearance: none;
  border: 2px solid #334c3e;
  border-radius: 50%;
  background: #f7edbd;
  box-shadow: 0 2px 0 #a7976f;
}

.booking-duration-slider input[type='range']::-moz-range-track {
  height: 4px;
  border: 1px solid #899379;
  border-radius: 999px;
  background: #dfe4cb;
}

.booking-duration-slider input[type='range']::-moz-range-thumb {
  width: 20px;
  height: 20px;
  border: 2px solid #334c3e;
  border-radius: 50%;
  background: #f7edbd;
  box-shadow: 0 2px 0 #a7976f;
}

.booking-duration-slider input[type='range']:disabled {
  cursor: not-allowed;
  opacity: .55;
}

.booking-duration-ticks {
  display: flex;
  justify-content: space-between;
  gap: 4px;
  color: #807765;
  font: 10px/1.2 var(--mono);
}

.booking-duration-ticks span.is-active {
  color: #304a3c;
  font-weight: 800;
}

.booking-helper-link {
  min-height: 36px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #405b4a;
  font: inherit;
  font-size: 12px;
  text-decoration: underline;
  text-underline-offset: 4px;
  cursor: pointer;
}

.booking-ticket-details {
  margin: 6px 0 14px;
  color: #6f685a;
  font-size: 12px;
  line-height: 1.6;
}

.booking-ticket-details summary {
  color: #405b4a;
  cursor: pointer;
}

.booking-ticket-details p {
  margin: 8px 0 0;
}


.booking-addon-toggle,.follow-proof-trigger{display:flex;width:100%;align-items:center;justify-content:space-between;gap:15px;padding:14px 0;border:0;border-top:1px solid #ded6c6;background:none;color:#304a3c;text-align:left;font:inherit;font-size:13px;font-weight:700}
.booking-addon-toggle small,.follow-proof-trigger small{display:block;margin-top:4px;font-size:11px;font-weight:400;color:#756d5d;line-height:1.45}
.booking-addon-toggle input{appearance:none;flex:none;width:42px;height:25px;margin:0;border:1px solid #a7ab96;border-radius:20px;background:#d7d9cc;cursor:pointer;position:relative}
.booking-addon-toggle input::after{content:'';position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fffdf5;box-shadow:0 1px 3px #304a3c30;transition:transform .15s}
.booking-addon-toggle input:checked{background:#49644e;border-color:#49644e}.booking-addon-toggle input:checked::after{transform:translateX(17px)}
.follow-proof-trigger>span:last-child{display:grid;place-items:center;min-width:36px;min-height:36px;font-size:20px;font-weight:400}
.follow-proof-content{padding:8px 0 16px}.follow-proof-fields{min-width:0;margin:0;padding:0;border:0}.follow-proof-fields .qualification-row{flex-wrap:wrap}.follow-proof-fields .qualification-row>div{min-width:0;flex:1 1 160px}.follow-proof-fields .qualification-row p{font-size:12px}.follow-proof-fields .notice{font-size:12px;padding:10px;margin-bottom:0}
.booking-offer-live>summary{min-height:44px;display:flex;align-items:center;cursor:pointer}.booking-offer-live[open]>summary{margin-bottom:10px}

.payment-workspace{max-width:780px;margin:auto;display:grid;gap:16px}.payment-workspace>.account-block,.payment-workspace>.follow-proof-access{margin:0}.payment-workspace .account-block-title>small{display:none}.payment-workspace .account-block{padding:20px;border:1px solid #d9d4c7;background:#fbfaf5}.payment-workspace .account-block-title h3{font-family:inherit;font-size:17px;margin:0 0 12px}.payment-workspace .notice{font-size:13px;line-height:1.7}.payment-workspace .fine{font-size:12px;line-height:1.6}
.payment-summary{padding:22px;border:1px solid #c8cdb9;background:#eff1e5}.payment-summary-top{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.payment-summary-top>div{display:grid;gap:6px}.payment-summary-top small{font-size:12px;color:#67765b}.payment-summary-top strong{font:600 32px/1.2 monospace;color:#304a3c}.payment-summary>p{font-size:13px;color:#646d5b;margin:12px 0}.payment-summary-amounts{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:12px;color:#67705d}.payment-summary-amounts b{margin-left:5px;color:#344c3a}
.payment-details{margin-top:17px;border-top:1px solid #cbd1bb;padding-top:10px}.payment-details summary,.payment-contact summary,.payment-qualification summary{cursor:pointer;font-size:13px;font-weight:700;min-height:36px;align-content:center}.payment-workspace .payment-details .summary-card{margin-top:12px;background:transparent}
.payment-feedback{position:sticky;top:12px;z-index:25;display:flex;align-items:center;gap:8px;padding:12px 14px;border:1px solid #aab99b;background:#eff3e8;color:#304a3c;font-size:13px;box-shadow:0 4px 16px #33463314}.payment-feedback>span{flex:1}.payment-feedback>button{display:grid;place-items:center;flex:none;width:36px;height:32px;border:0;background:none;color:inherit}
.payment-deadline{display:flex;align-items:flex-start;gap:9px;padding:12px 14px;background:#f4efdf;border-left:2px solid #9f9062;color:#665b3d;font-size:12px;line-height:1.6}.payment-deadline svg{flex:none;margin-top:2px}.payment-deadline p{margin:0}
.payment-rules{border-block:1px solid #ded8c9;padding:12px 0;font-size:13px}.payment-rules summary{display:flex;align-items:center;gap:8px;min-height:40px;color:#405b4a;cursor:pointer}.payment-rules details[open]>summary{margin-bottom:12px}.payment-rules .migration-row p{line-height:1.7}.payment-rules .check-row{margin-top:15px}
.payment-account-line{display:flex;align-items:center;justify-content:space-between;gap:15px}.payment-account-line>div{display:grid;gap:7px;min-width:0}.payment-account-line small,.payment-account-line span{font-size:12px;color:#6f735f}.payment-account-line strong{font:600 22px/1.3 monospace;overflow-wrap:anywhere}.payment-account-line .secondary{flex:none;min-height:44px;gap:6px;display:inline-flex;align-items:center}
.payment-qr{max-width:225px;margin:18px auto 0;text-align:center}.payment-qr img{display:block;width:100%;height:auto;border:1px solid #ded7c8;background:white;padding:8px}.payment-qr figcaption{margin-top:9px;font-size:11px;color:#75715f}.payment-qr figcaption a{color:#405b4a;text-underline-offset:3px}.payment-qr-tabs{display:flex;gap:8px;margin-top:16px}.payment-qr-tabs button{flex:1;min-height:44px;padding:8px;border:1px solid #d1c8b5;background:#f5f1e7;color:#405b4a;font:inherit;font-size:12px}.payment-qr-tabs button[aria-pressed=true]{background:#e4ebd7;border-color:#728564}
.payment-file-drop{display:flex;gap:12px;align-items:center;min-height:86px;padding:16px;border:1px dashed #8d9b7b;background:#f1f4e9;color:#405b4a;cursor:pointer}.payment-file-drop>span{min-width:0;overflow-wrap:anywhere;font-size:13px;font-weight:700}.payment-file-drop small{display:block;margin-top:6px;font-size:11px;font-weight:400;color:#747864}.payment-file-drop.is-disabled{opacity:.55;cursor:default}.payment-file-input{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.payment-proof-picker:focus-within .payment-file-drop{outline:2px solid #738164;outline-offset:3px}.payment-file-selected{display:grid;gap:8px;justify-items:start;margin:12px 0}.payment-file-selected img{max-width:100%;max-height:180px;object-fit:contain;border:1px solid #d5cebb}.payment-workspace .payment-contact{padding-block:12px}.payment-workspace .payment-contact .form-actions{flex-wrap:wrap}.payment-workspace .payment-contact .secondary{min-height:44px}
@media(max-width:540px){.payment-workspace{gap:12px}.payment-workspace .account-block,.payment-summary{padding:16px}.payment-summary-top strong{font-size:28px}.payment-account-line strong{font-size:19px}.payment-feedback{top:8px}.follow-proof-fields .qualification-row>a,.follow-proof-fields .qualification-row>button{min-height:44px}.payment-rules summary{font-size:12px}}

.booking-date-field{display:grid;gap:8px;margin-top:18px;min-width:0}
.booking-date-field>span{font-size:12px;font-weight:700;color:#35372f}
.booking-date-field input{display:block;width:100%;min-width:0;min-height:48px;padding:11px 13px;border:1px solid #cfc6b4;border-radius:0;background:#fffdf7;color:#304a3c;font:inherit;font-size:16px;color-scheme:light;cursor:pointer}
.booking-date-field input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7}

.booking-time-fields {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 12px;
  margin-top: 18px;
}

.booking-start-time,
.booking-end-time {
  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 0;
  font-size: 12px;
  font-weight: 700;
}

.booking-start-time input {
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  min-height: 52px;
  padding: 10px 12px;
  border: 1px solid #9aab8a;
  border-radius: 0;
  background: #fffdf7;
  color: #304a3c;
  font: 600 22px/1.3 var(--mono);
}

.booking-start-time input:focus-visible {
  outline: 2px solid #405b4a;
  outline-offset: 3px;
}

.booking-start-time input[aria-invalid="true"] {
  border-color: #b87668;
}

.booking-end-time output {
  display: flex;
  align-items: center;
  min-height: 52px;
  box-sizing: border-box;
  padding: 10px 12px;
  background: #f1f0e5;
  color: #405b4a;
  font: 600 22px/1.3 var(--mono);
}

.booking-end-time small {
  color: #756d5d;
  font-size: 11px;
  font-weight: 400;
}

.booking-end-time output small {
  margin-right: 5px;
}

.booking-time-feedback {
  margin-top: 10px;
  color: #756d5d;
  font-size: 12px;
  line-height: 1.6;
}

.booking-time-feedback.is-error {
  color: #7c322c;
}

.booking-time-suggestions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  font-size: 12px;
}

.booking-time-suggestions button {
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid #cfc6b4;
  background: #f9f5e9;
  color: #304a3c;
  font: inherit;
  cursor: pointer;
}

.booking-charge-heading {
  align-items: center;
}

.booking-quote-state {
  display: inline-flex;
  width: fit-content;
  padding: 3px 7px;
  border: 1px solid #c9c1ae;
  background: #f4f0e5;
  color: #655f52 !important;
  font: 10px/1.2 var(--mono) !important;
  letter-spacing: .04em;
}

.booking-quote-state.is-formal {
  border-color: #859178;
  background: #e4ead4;
  color: #304a3c !important;
}

.booking-quote-state.is-error {
  border-color: #b87668;
  background: #f7e8df;
  color: #7c322c !important;
}

.booking-charge-details {
  margin-top: 8px;
  padding-top: 1px;
  border-top: 1px solid #ded6c6;
}

.booking-charge-details dl {
  margin: 7px 0 0;
}

.booking-charge-details dl > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 5px 0;
}

.booking-charge-details dd {
  margin: 0;
  text-align: right;
}

@media(max-width:700px) {
  .booking-form-section {
    padding: 15px 13px;
  }

  .booking-theme-tabs {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .booking-duration-slider {
    padding-inline: 13px;
  }
}

@keyframes register-peek {
  0% { opacity: .55; transform: translateY(9px) scale(.94); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes register-hide-eyes {
  0% { transform: translateY(5px) scale(.95); }
  100% { transform: translateY(0) scale(1); }
}

.pocket-adoption {
  padding-block: 2px;
}

.hatch-touch {
  display: grid;
  place-items: center;
  width: 126px;
  height: 94px;
  flex: 0 0 94px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
}

.hatch-touch:hover {
  filter: none;
}

.hatch-touch .lifecycle-egg,
.hatch-touch .lifecycle-cracked,
.hatch-touch .lifecycle-hatch {
  width: 94px;
  height: 94px;
  flex-basis: 94px;
}

.hatch-touch .is-warming {
  animation: egg-warm .68s steps(4, jump-none) infinite;
}

.hatch-cracked .lifecycle-cracked {
  animation: egg-crack .7s steps(4, jump-none) both;
}

.hatch-hatched .lifecycle-hatch {
  animation: chick-arrive .7s cubic-bezier(.22,.8,.35,1) both;
}

.pocket-adoption .adoption-stage {
  gap: 5px;
}

.pocket-adoption .adoption-stage h2 {
  font-size: 17px;
  line-height: 1.3;
}

.pocket-adoption .adoption-stage p {
  max-width: 250px;
  font-size: 12px;
  line-height: 1.45;
}

.pocket-adoption .adoption-stage .lcd-primary {
  min-height: 34px;
  margin-top: 1px;
}

.hatch-progress {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  height: 9px;
}

.hatch-progress i {
  width: 5px;
  height: 5px;
  border: 1px solid #53654e;
  border-radius: 50%;
}

.hatch-progress i.is-done {
  background: #788b67;
}

.hatch-progress i.is-current {
  width: 8px;
  height: 8px;
  background: #2f493a;
}

.pocket-home-nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: center;
  width: 100%;
  min-height: 44px;
  gap: 5px;
}

.lcd-bottom.home-nav-bottom {
  display: block;
  width: 100%;
  padding-top: 3px;
}

.pocket-home-nav button {
  display: grid;
  place-items: center;
  width: 100%;
  height: 44px;
  padding: 7px 0;
  border: 1px solid transparent;
  border-radius: 3px;
  background: transparent;
  color: #314638;
}

.pocket-home-nav button:hover,
.pocket-home-nav button.is-current,
.pocket-home-nav button:focus-visible {
  border-color: #667859;
  background: #d4debb;
  filter: none;
}

.pocket-home-nav button svg {
  width: 27px;
  height: 27px;
  pointer-events: none;
}

@media(max-width:760px) {
  .lifecycle-egg,
  .lifecycle-hatch,
  .lifecycle-cracked {
    width: 136px;
    height: 136px;
    flex-basis: 136px;
  }

  .pocket-home-nav {
    min-height: 58px;
  }

  .pocket-home-nav button {
    height: 58px;
  }

  .pocket-home-nav button svg {
    width: 31px;
    height: 31px;
  }

  .pocket-auth h2,
  .pocket-adoption .adoption-stage h2 {
    font-size: 17px;
  }

  .pocket-auth > p,
  .pocket-adoption .adoption-stage p {
    font-size: 13px;
  }

  .pocket-auth .lcd-primary,
  .pocket-auth .lcd-link,
  .pocket-adoption .adoption-stage .lcd-primary {
    min-height: 32px;
    font-size: 15px;
  }

  .auth-note {
    font-size: 10px;
  }

  .register-demo {
    padding-bottom: 24px;
  }

  .register-fields h3 {
    font-size: 23px;
  }

  .register-panel .inline-details-header h2 {
    font-size: 20px;
    white-space: nowrap;
  }

  .register-field {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .register-field > small {
    grid-column: 1;
  }

  .pocket-adoption {
    padding-block: 2px;
  }

  .pocket-adoption .adoption-stage {
    gap: 3px;
  }

  .hatch-touch {
    width: 102px;
    height: 90px;
    flex-basis: 90px;
  }

  .hatch-touch .lifecycle-egg,
  .hatch-touch .lifecycle-cracked,
  .hatch-touch .lifecycle-hatch {
    width: 90px;
    height: 90px;
    flex-basis: 90px;
  }
}

@media(prefers-reduced-motion:reduce) {
  .pixel-chick.reaction-sleep,
  .lifecycle-egg,
  .lifecycle-cracked,
  .lifecycle-hatch {
    animation: none !important;
  }
}

/* The Help Center is a full content page. Address stays a short, reversible overlay. */
.standalone-help-page {
  width: min(100%, 980px);
  min-height: 700px;
  margin: 42px auto 70px;
}

.standalone-help-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
  padding-bottom: 14px;
  border-bottom: 1px solid #d8d2c4;
}

.standalone-help-toolbar button {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 1px;
  border: 0;
  border-bottom: 1px solid #8d826d;
  background: transparent;
  color: #5f584c;
}

.standalone-help-toolbar span {
  color: #8a806e;
  font-family: monospace;
  font-size: 10px;
  letter-spacing: 2px;
}

.standalone-help-page .help-center-deck {
  max-width: 820px;
  margin-inline: auto;
}

.help-guide-video,
.help-guide-image {
  display: block;
  width: min(100%, 560px);
  max-height: 420px;
  margin-top: 10px;
  border: 1px solid #d3cbb9;
  background: #20251f;
}

.help-guide-image {
  height: auto;
  object-fit: contain;
  background: #f3f0e5;
}

.help-text-fallback {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 7px;
  color: #8a816f;
  font-size: 11px;
}

.help-load-state {
  min-height: 180px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  padding: 28px;
  color: #716856;
  text-align: center;
}

.help-load-state > span {
  font-size: 13px;
}

.help-load-state > button {
  min-height: 39px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 5px;
  padding: 7px 12px;
  border: 1px solid #a89c83;
  background: transparent;
  color: inherit;
}

.address-dialog {
  width: min(92vw, 610px);
  max-width: none;
  max-height: min(88dvh, 760px);
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #302c27;
  overflow: visible;
}

.address-dialog::backdrop {
  background: rgba(45, 43, 37, .34);
  backdrop-filter: blur(3px);
  animation: address-backdrop-in 180ms ease-out both;
}

.address-dialog-card {
  position: relative;
  max-height: min(88dvh, 760px);
  overflow: auto;
  border: 1px solid #cfc6b2;
  border-radius: 6px;
  background: #fbfaf5;
  box-shadow: 0 22px 55px rgba(55, 47, 35, .24);
  animation: address-card-in 300ms cubic-bezier(.2,.8,.25,1) both;
}

.address-dialog-x {
  position: absolute;
  z-index: 2;
  top: 12px;
  right: 12px;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(74, 80, 62, .32);
  border-radius: 50%;
  background: rgba(251, 250, 245, .82);
  color: #3d493a;
}

.address-dialog .address-card {
  padding: 23px 62px 21px 22px;
  border: 0;
  border-bottom: 1px solid #d7cfba;
  background: linear-gradient(135deg, #eef0df, #f3ead0);
}

.address-dialog .address-card h2 {
  margin: 2px 0 0;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.5;
  user-select: text;
}

.address-dialog-body {
  display: grid;
  gap: 14px;
  padding: 18px;
}

.address-dialog .transport-tabs button,
.address-dialog .transport-routes article {
  border-radius: 3px;
}

.address-dialog .route-heading h3 {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
}

.address-dialog .address-actions {
  margin-top: 2px;
}

.address-dialog .address-actions > * {
  min-height: 43px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}

.address-close-button {
  min-height: 42px;
}

.address-route-swap {
  animation: address-route-in 190ms ease-out both;
}

@keyframes address-backdrop-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes address-card-in {
  0% { opacity: 0; transform: translateY(18px) scale(.975); }
  72% { opacity: 1; transform: translateY(-2px) scale(1.006); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes address-route-in {
  from { opacity: 0; transform: translateX(8px); }
  to { opacity: 1; transform: translateX(0); }
}

@media(max-width:760px) {
  .standalone-help-page {
    min-height: 0;
    margin: 24px auto 45px;
  }

  .standalone-help-toolbar {
    margin-bottom: 17px;
  }

  .standalone-help-toolbar span {
    display: none;
  }

  .address-dialog {
    width: calc(100vw - 20px);
    max-height: calc(100dvh - 20px);
  }

  .address-dialog-card {
    max-height: calc(100dvh - 20px);
  }

  .address-dialog .address-card {
    padding: 19px 56px 18px 16px;
  }

  .address-dialog .address-card h2 {
    font-size: 16px;
  }

  .address-dialog-body {
    gap: 12px;
    padding: 14px;
  }
}

@media(prefers-reduced-motion:reduce) {
  .address-dialog::backdrop,
  .address-dialog-card,
  .address-route-swap {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Preserve the photographed highlights, lettering and buttons on the shell. */
.device::before {
  background-color: transparent;
  background-blend-mode: normal;
  opacity: 1;
  filter: saturate(1.22) brightness(1.025) contrast(1.015);
}

.lcd-content.pocket-welcome {
  justify-content: center;
  gap: 9px;
  overflow: hidden;
}

.pocket-welcome .lifecycle-hatch {
  width: 110px;
  height: 110px;
  flex-basis: 110px;
  background-image: url('/chick-assets/interactive/adoption-hatch-mini-v2.png');
}

.left-context .handwritten span {
  display: inline-block;
  margin-left: 8px;
  font-size: 40px;
  line-height: .7;
  transform: rotate(12deg) translateY(-2px);
}

.pocket-welcome h2 {
  font-size: 18px;
  line-height: 1.3;
}

.route-context-note {
  max-width: 700px;
  margin: -12px auto 22px;
  padding: 10px 13px;
  border-left: 2px solid #7f8b68;
  background: #efefe4;
  color: #6d685b;
  font-size: 13px;
  line-height: 1.6;
}

.route-error {
  text-align: center;
  padding-block: 24px 50px;
}

.route-error .route-path {
  display: inline-block;
  max-width: 100%;
  overflow-wrap: anywhere;
  padding: 5px 9px;
  border: 1px solid #d9d2c3;
  color: #817867;
  font-family: monospace;
  font-size: 12px;
}

@media(max-width:760px) {
  .lcd-content.pocket-auth:has(.register-pocket-mascot) {
    justify-content: center;
    gap: 3px;
    padding-block: 2px;
    overflow: hidden;
  }

  .pocket-auth .register-pocket-mascot {
    width: 52px;
    height: 52px;
    flex-basis: 52px;
  }

  .pocket-auth:has(.register-pocket-mascot) h2 {
    font-size: 15px;
    line-height: 1.2;
  }

  .pocket-auth:has(.register-pocket-mascot) > p {
    font-size: 11px;
    line-height: 1.3;
  }

  .pocket-auth:has(.register-pocket-mascot) .lcd-primary {
    min-height: 28px;
    font-size: 12px;
  }

  .pocket-auth:has(.register-pocket-mascot) .auth-note {
    font-size: 8px;
  }

  .pocket-auth:has(.register-pocket-mascot) .lcd-link {
    min-height: 18px;
    font-size: 11px;
    line-height: 1.2;
  }
}

.route-error-actions {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 24px;
}

@media(max-width:760px) {
  .route-context-note {
    margin-top: -8px;
    font-size: 14px;
  }

  .route-error-actions {
    flex-direction: column;
  }
}

.welcome-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  width: 100%;
  padding: 4px;
}

.welcome-actions button {
  min-height: 40px;
  font-size: 18px;
  text-decoration: none;
}

.welcome-actions .lcd-link {
  border: 1px solid #788769;
}

/* Written order operations stay below the Pocket while sharing its order state. */
.profile-companion-copy {
  margin: 2px 0 8px;
  color: #435744;
  font-size: 12px;
  line-height: 1.55;
  text-align: center;
}

.order-operation {
  margin: 24px 0;
  padding: 22px;
  border: 1px solid #d8d0be;
  background: #f7f4ea;
}

.order-operation .booking-form-heading {
  margin-bottom: 16px;
}

.order-operation-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid #ddd4c2;
  border-bottom: 1px solid #ddd4c2;
}

.order-operation-grid > div {
  min-width: 0;
  padding: 14px 13px;
  border-right: 1px solid #ddd4c2;
}

.order-operation-grid > div:last-child {
  border-right: 0;
}

.order-operation-grid span,
.order-operation-grid strong {
  display: block;
}

.order-operation-grid span {
  margin-bottom: 5px;
  color: #857b67;
  font-size: 11px;
  letter-spacing: .08em;
}

.order-operation-grid strong {
  overflow-wrap: anywhere;
  font-size: 14px;
  line-height: 1.55;
}

.operation-actions,
.qualification-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0;
}

.active-operation-tabs {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.active-operation-tabs button[aria-expanded="true"] {
  border-color: #526350;
  background: #e6ebda;
}

.active-operation-detail {
  padding: 18px;
  margin: 0 0 18px;
  border: 1px solid #d8d0be;
  background: #fffcf3;
}

.active-operation-detail h5 {
  margin: 0 0 7px;
  font-size: 16px;
}

.active-operation-detail p {
  margin: 0 0 14px;
  color: #635e52;
  line-height: 1.65;
}

.active-operation-detail dl {
  margin: 0;
}

.active-operation-detail dl > div {
  display: flex;
  gap: 16px;
  justify-content: space-between;
  padding: 9px 0;
  border-top: 1px solid #e4dece;
}

.active-operation-detail dt { color: #80745e; }
.active-operation-detail dd { margin: 0; text-align: right; }

.active-operation-options {
  display: flex;
  gap: 8px;
  margin-bottom: 14px;
}

.active-operation-options button {
  padding: 9px 12px;
  border: 1px solid #cfc6b4;
  background: #f6f2e8;
}

.active-operation-options button[aria-pressed="true"] {
  border-color: #526350;
  background: #e6ebda;
}

@media (max-width: 560px) {
  .active-operation-tabs { grid-template-columns: 1fr; }
  .active-operation-detail dl > div { display: block; }
  .active-operation-detail dd { margin-top: 4px; text-align: left; }
}

.qualification-grid button {
  min-height: 94px;
  padding: 15px;
  border: 1px solid #d1c8b5;
  background: #f4f1e7;
  color: inherit;
  text-align: left;
}

.qualification-grid strong,
.qualification-grid span {
  display: block;
}

.qualification-grid strong {
  margin-bottom: 7px;
  font-size: 16px;
}

.qualification-grid span {
  color: #80745e;
  font-size: 12px;
  line-height: 1.55;
}

.operation-feedback {
  margin: 16px 0;
  padding: 12px 14px;
  border-left: 3px solid #60745d;
  background: #edf0df;
  color: #415441;
  line-height: 1.6;
}

@media(max-width:760px) {
  .order-operation {
    padding: 17px 14px;
  }

  .order-operation-grid {
    grid-template-columns: 1fr;
  }

  .order-operation-grid > div {
    border-right: 0;
    border-bottom: 1px solid #e2dac9;
  }

  .order-operation-grid > div:last-child {
    border-bottom: 0;
  }

  .operation-actions,
  .qualification-grid {
    grid-template-columns: 1fr;
  }

  .profile-companion-copy {
    font-size: 15px;
  }
}

.memory-card-panel {
  display: grid;
  grid-template-columns: minmax(290px, 520px) minmax(260px, 1fr);
  align-items: start;
  gap: clamp(28px, 6vw, 72px);
  max-width: 980px;
  margin: 0 auto;
}

.memory-card-preview {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border: 6px solid #344e41;
  outline: 1px solid #c9c1aa;
  outline-offset: -16px;
  background-color: #f7f3e7;
  background-image:
    linear-gradient(rgba(111,124,86,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(111,124,86,.08) 1px, transparent 1px);
  background-size: 18px 18px;
  color: #31483c;
  box-shadow: 0 16px 42px rgba(54, 48, 36, .12);
}

.memory-card-topline {
  position: absolute;
  inset: 6.5% 10% auto;
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: clamp(11px, 1.5vw, 15px);
  font-weight: 700;
  letter-spacing: .08em;
}

.memory-card-topline small {
  font-size: .62em;
  font-weight: 500;
  letter-spacing: .16em;
}

.memory-card-chick {
  position: absolute;
  inset: 14% 0 auto;
  z-index: 2;
  display: grid;
  place-items: center;
  height: 42%;
}

.memory-card-chick .chick-stage {
  --chick-size: clamp(230px, 27vw, 290px);
  width: var(--chick-size);
}

.memory-card-title {
  position: absolute;
  inset: 55% 8% auto;
  z-index: 3;
  padding-bottom: 5%;
  border-bottom: 1px solid #c9c1aa;
  text-align: center;
}

.memory-card-title h3 {
  margin: 0 0 7px;
  font-family: Georgia, 'Noto Serif TC', 'PingFang TC', serif;
  font-size: clamp(20px, 2.7vw, 31px);
  font-weight: 600;
  line-height: 1.3;
}

.memory-card-title p {
  margin: 0;
  color: #726b5f;
  font-size: clamp(12px, 1.5vw, 15px);
  letter-spacing: .08em;
}

.memory-card-record {
  position: absolute;
  inset: 69% 10% auto;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  text-align: center;
}

.memory-card-record strong {
  font-size: clamp(18px, 2.2vw, 24px);
  letter-spacing: .05em;
}

.memory-card-record span {
  color: #746b59;
  font-size: clamp(10px, 1.4vw, 13px);
  line-height: 1.45;
}

.memory-card-brand {
  position: absolute;
  inset: auto 8% 5.5%;
  z-index: 3;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: clamp(8px, 1.2vw, 11px);
  letter-spacing: .08em;
  text-align: center;
}

.memory-mark {
  position: absolute;
  z-index: 1;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: clamp(18px, 4vw, 38px);
  font-style: normal;
  line-height: 1;
}

.mood-heart .memory-mark { color: #d97869; }
.mood-petal .memory-mark { color: #d98972; }
.mood-star .memory-mark { color: #d7a93f; }
.memory-mark.mark-one { top: 13%; left: 10%; transform: rotate(-11deg); }
.memory-mark.mark-two { top: 18%; right: 10%; transform: scale(.72) rotate(12deg); }
.memory-mark.mark-three { top: 46%; right: 8%; transform: scale(.52) rotate(-8deg); }

.memory-card-controls {
  padding-top: 8px;
}

.memory-card-controls h3 {
  margin: 10px 0;
  font-family: Georgia, 'Noto Serif TC', 'PingFang TC', serif;
  font-size: clamp(25px, 3vw, 36px);
  font-weight: 500;
  line-height: 1.35;
}

.memory-card-controls > div > p {
  color: #756d5e;
  font-size: 14px;
  line-height: 1.8;
}

.memory-moods {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin: 26px 0 20px;
  padding: 18px 0 0;
  border: 0;
  border-top: 1px solid #d8d0be;
}

.memory-moods legend {
  padding: 0 10px 0 0;
  color: #746b59;
  font-size: 12px;
  letter-spacing: .1em;
}

.memory-moods button {
  min-height: 48px;
  border: 1px solid #d1c8b5;
  background: transparent;
  color: #5f584c;
}

.memory-moods button span {
  margin-right: 6px;
  color: #d98972;
}

.memory-moods button.is-current {
  border-color: #344e41;
  background: #edf0df;
  color: #344e41;
}

.memory-privacy {
  display: grid;
  gap: 10px;
  padding: 18px 0;
  border-top: 1px solid #e0d9ca;
  border-bottom: 1px solid #e0d9ca;
}

.memory-privacy label {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 36px;
  font-size: 14px;
}

.memory-privacy input {
  width: 18px;
  height: 18px;
  accent-color: #50644f;
}

.memory-output-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.memory-output-actions .primary,
.memory-output-actions .secondary {
  flex: 1 1 150px;
}

.memory-output-message {
  margin: 14px 0 0;
  padding: 11px 13px;
  border-left: 3px solid #60745d;
  background: #edf0df;
  color: #415441;
  font-size: 13px;
  line-height: 1.6;
}

.memory-card-note {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 19px;
  color: #7d7565;
  font-size: 12px;
  line-height: 1.7;
}

.memory-card-note svg {
  flex: 0 0 auto;
  margin-top: 3px;
}

.memory-card-unavailable {
  max-width: 620px;
  margin: 0 auto;
  padding: 34px;
  border: 1px solid #d8d0be;
  text-align: center;
}

@media(max-width:820px) {
  .memory-card-panel {
    grid-template-columns: 1fr;
  }

  .memory-card-preview {
    max-width: 520px;
    margin: 0 auto;
  }

  .memory-card-controls {
    max-width: 520px;
    margin: 0 auto;
  }
}

@media(max-width:460px) {
  .memory-card-panel {
    gap: 24px;
  }

  .memory-card-preview {
    border-width: 4px;
    outline-offset: -11px;
  }

  .memory-card-chick .chick-stage {
    --chick-size: 220px;
  }

  .memory-card-record {
    inset-inline: 8%;
  }

  .memory-moods {
    gap: 5px;
  }

  .memory-moods button {
    padding: 7px 3px;
    font-size: 13px;
  }
}

/* Use the available phone width for the Pocket without shrinking its LCD copy. */
@media(min-width:460px) and (max-width:760px) {
  .pocket-wrap { zoom: .76; }
}

@media(min-width:420px) and (max-width:459px) {
  .pocket-wrap { zoom: .69; }
}

@media(min-width:381px) and (max-width:419px) {
  .pocket-wrap { zoom: .62; }
}

.making-memory-detail {
  max-width: 720px;
  margin: 0 auto 34px;
  padding: 22px 0 24px;
  border-top: 1px solid #c9c1ad;
  border-bottom: 1px solid #ded7c8;
}

.making-memory-detail h3 {
  margin: 11px 0 13px;
  font-size: 23px;
  font-weight: 500;
  letter-spacing: .04em;
}

.making-memory-detail p {
  margin: 0 0 11px;
  font-size: 15px;
  line-height: 1.75;
}

.making-memory-detail .making-memory-milestone {
  color: #66572c;
  font-weight: 600;
}

.making-memory-detail .making-memory-finance {
  margin: 15px 0 0;
  padding-top: 12px;
  border-top: 1px solid #e4ddcc;
  color: #595448;
  font-size: 14px;
}

.group-inquiry {
  max-width: 720px;
  margin: 0 auto;
  color: #302d27;
}

.group-inquiry-intro {
  padding-bottom: 26px;
  border-bottom: 1px solid #d6cebd;
}

.group-inquiry-intro h3 {
  margin: 12px 0;
  font-size: 26px;
  font-weight: 500;
  letter-spacing: .04em;
}

.group-inquiry-intro p,
.group-inquiry-handoff {
  margin: 0;
  color: #625b4e;
  font-size: 15px;
  line-height: 1.75;
}

.group-inquiry-types {
  margin: 26px 0;
  padding: 0;
  border: 0;
}

.group-inquiry-types legend {
  margin-bottom: 14px;
  font-size: 19px;
  font-weight: 600;
}

.group-inquiry-types > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.group-inquiry-types label {
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 5px 10px;
  align-items: center;
  min-height: 84px;
  padding: 15px;
  border: 1px solid #d4ccba;
  background: #fbfaf5;
  cursor: pointer;
}

.group-inquiry-types label.selected {
  border-color: #495c46;
  background: #edf0df;
}

.group-inquiry-types input {
  width: 17px;
  height: 17px;
  accent-color: #405541;
}

.group-inquiry-types strong {
  font-size: 16px;
}

.group-inquiry-types small {
  grid-column: 2;
  color: #706a5c;
  font-size: 13px;
}

.group-inquiry-question,
.group-inquiry-review {
  padding: 24px 0 28px;
  border-top: 1px solid #d6cebd;
  border-bottom: 1px solid #d6cebd;
}

.group-inquiry-progress {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 22px;
  color: #756b59;
  font-family: monospace;
  font-size: 13px;
}

.group-inquiry-progress > div {
  flex: 1;
  height: 5px;
  background: #e5dfd0;
}

.group-inquiry-progress i {
  display: block;
  height: 100%;
  background: #65765c;
}

.group-inquiry-question > label {
  display: block;
  margin-bottom: 12px;
  font-size: 21px;
  font-weight: 600;
}

.group-inquiry-question > label small {
  margin-left: 5px;
  font-size: 14px;
  font-weight: 400;
}

.group-inquiry-question > input {
  display: block;
  width: 100%;
  min-height: 48px;
  padding: 10px 13px;
  border: 1px solid #c9c0ad;
  border-radius: 0;
  background: #fffefa;
  color: #302d27;
  font: inherit;
  font-size: 16px;
}

.group-inquiry-error {
  margin: 12px 0 0;
  color: #7d392e;
  font-size: 14px;
}

.group-inquiry-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 23px;
}

.group-inquiry-actions .secondary,
.group-inquiry-actions .primary {
  min-height: 44px;
  text-decoration: none;
}

.group-inquiry-review h4 {
  margin: 9px 0 18px;
  font-size: 23px;
  font-weight: 500;
}

.group-inquiry-review dl {
  margin: 0;
}

.group-inquiry-review dl > div {
  display: flex;
  justify-content: space-between;
  gap: 22px;
  padding: 10px 0;
  border-bottom: 1px solid #e4ddce;
  line-height: 1.5;
}

.group-inquiry-review dt {
  color: #766d5c;
  flex: 0 0 120px;
}

.group-inquiry-review dd {
  margin: 0;
  overflow-wrap: anywhere;
  text-align: right;
}

.group-inquiry-handoff {
  margin-top: 17px;
  padding: 12px 14px;
  border-left: 3px solid #66765d;
  background: #edf0e2;
}

.group-inquiry-contact {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px 17px;
  margin-top: 25px;
  color: #655d4f;
  font-size: 14px;
}

.group-inquiry-contact a {
  color: #304c40;
  text-underline-offset: 3px;
}

@media(max-width:540px) {
  .group-inquiry-types > div { grid-template-columns: 1fr; }
  .group-inquiry-review dl > div { gap: 12px; }
  .group-inquiry-review dt { flex-basis: 100px; }
}

.formal-attendance-members {
  display: grid;
  gap: 8px;
  margin: 12px 0 16px;
}

.formal-attendance-members > div {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 11px 12px;
  border: 1px solid #d9d2c4;
  border-radius: 8px;
  background: #fbfaf5;
}

.formal-attendance-members span {
  display: grid;
  gap: 3px;
}

.formal-attendance-members small {
  color: #736a5b;
  line-height: 1.45;
}

.formal-door-card {
  display: grid;
  justify-items: start;
  gap: 8px;
  margin-bottom: 14px;
  padding: 16px;
  border: 1px solid #70806a;
  border-radius: 10px;
  background: #eef1e4;
}

.formal-door-card strong {
  font-family: var(--font-mono), monospace;
  font-size: clamp(24px, 5vw, 38px);
  letter-spacing: .16em;
  overflow-wrap: anywhere;
}

.formal-door-card p {
  margin: 0;
  color: #655d4f;
}

.token-visit-block {
  gap: 12px;
}

.token-visit-overview {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr);
  gap: 12px;
  padding: 15px;
  border-radius: 8px;
  background: #f1eee5;
}

.token-visit-overview > div {
  display: grid;
  align-content: start;
  gap: 5px;
}

.token-visit-overview span {
  color: #7b7261;
  font-size: 12px;
}

.token-visit-overview strong {
  font-size: 16px;
  font-weight: 550;
  line-height: 1.45;
}

.token-visit-pending {
  border-left: 3px solid #ad8156;
  padding: 8px 11px;
  background: #f8f0e4;
  color: #74583c;
  font-size: 13px;
}

.token-visit-actions {
  display: grid;
  gap: 8px;
}

.token-visit-actions .field,
.token-visit-actions .notice,
.token-visit-door .notice,
.token-visit-actions .full {
  margin: 0;
}

.token-visit-door {
  display: grid;
  gap: 8px;
  padding-top: 14px;
  border-top: 1px solid #ded8c9;
}

.token-visit-door h4 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 16px;
  font-weight: 550;
}

.token-visit-door .formal-door-card {
  margin: 0;
}

.token-visit-details {
  border-top: 1px solid #ded8c9;
  padding-top: 10px;
}

.token-visit-details summary {
  cursor: pointer;
  color: #5b6251;
  font-size: 14px;
  font-weight: 500;
}

.token-visit-details .summary-card {
  margin: 12px 0;
}

.token-visit-details .fine {
  margin: 8px 0 0;
}

.token-seat-pocket {justify-content:flex-start;gap:3px}
.lcd-content.has-journey:has(.token-seat-pocket) {scrollbar-width:none}
.lcd-content.has-journey:has(.token-seat-pocket)::-webkit-scrollbar {display:none}
.token-seat-pocket .journey-heading {min-height:19px;font-size:12px}
.token-seat-pocket .journey-heading small {font-size:10px}
.token-seat-zones {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:3px}
.token-seat-zones button {position:relative;min-height:34px;padding:3px;border:1px solid #829476;background:#ced9bf70;color:#52664e;font-size:13px;font-weight:600;white-space:normal;overflow-wrap:anywhere;line-height:1.15}
.token-seat-zones button.active {background:#344e3c;color:#edf2d8;border-color:#344e3c}
.token-seat-zones button i {position:absolute;top:3px;right:5px;width:5px;height:5px;background:#e2b657;box-shadow:1px 1px 0 #334938}
.token-seat-zone-panel {position:relative;width:100%;min-height:81px;padding:3px 7px 4px;border:1px solid #819273;background:#d9e2c775;box-shadow:inset 0 0 0 2px #e9efda55}
.token-seat-zone-panel::before {content:'';position:absolute;top:6px;bottom:6px;left:3px;width:2px;background:repeating-linear-gradient(to bottom,#667e5e 0 5px,transparent 5px 8px);opacity:.55}
.token-seat-zone-panel.upper::before,.token-seat-zone-panel.lower::before {background:#667e5e;top:3px;bottom:auto;left:7px;right:7px;width:auto;height:2px}
.token-seat-zone-heading {display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:2px;min-height:16px;padding:0 3px 1px 5px;font-size:11px}
.token-seat-zone-heading strong {font-weight:700;letter-spacing:1px}
.token-seat-zone-heading small {min-width:0;font-family:monospace;font-size:10px;color:#5d7055;overflow-wrap:anywhere}
.token-seat-zone-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:center;gap:3px;min-height:82px}
.token-seat-zone-grid button {position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:40px;padding:2px;border:1px solid #788c71;background:#c6d5b7;color:#263f34;line-height:1.1}
.token-seat-zone-grid button strong {font-family:monospace;font-size:17px;font-weight:700}
.token-seat-zone-grid button small {font-size:10px;letter-spacing:.2px}
.token-seat-zone-grid button.cursor {outline:2px solid #294532;outline-offset:1px;z-index:1}
.token-seat-zone-grid button.picked {background:#344e3c;border-color:#253b30;color:#eef3d9}
.token-seat-zone-grid button.seat-unavailable {background:#b5c0ad;border-style:dashed;color:#58685a;opacity:.78}
.token-seat-zone-grid>p {grid-column:1/-1;margin:auto;font-size:11px;color:#5c6a55}
.token-seat-pocket .lcd-primary {margin-top:0;min-height:29px;font-size:12px;line-height:1.2}
.token-seat-pocket .lcd-primary:disabled {opacity:.58}
.token-seat-pocket .lcd-link {margin:0;padding:1px 3px;min-height:14px;font-size:10px;line-height:1.1}
.token-seat-pocket .screen-error {font-size:11px;padding:3px}
.token-seat-deck-map {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0}
.token-seat-deck-map>span {display:flex;align-items:center;justify-content:center;gap:7px;min-height:53px;padding:6px;border:1px solid var(--border);background:#f4f2e9;font-family:monospace;font-size:14px}
.token-seat-deck-map>span small {font-family:inherit;font-size:11px;color:#756f62}
.token-seat-deck-map>span.selected {background:#d7e2c8;border-color:#526447}
.token-seat-deck-map>span.occupied,.token-seat-deck-map>span.held,.token-seat-deck-map>span.maintenance {color:#8b887d;background:#e9e8df}
.token-seat-media {margin:18px 0;border-top:1px solid var(--border);padding-top:12px}
.token-seat-media summary {cursor:pointer;font-size:14px;color:#4b5b45}
.token-seat-media .formal-seat-media-grid {margin-top:16px}
@media(max-width:760px){.token-seat-pocket .mini-seat-map button{min-height:32px}.token-seat-deck-map{gap:5px}.token-seat-deck-map>span{min-height:47px;flex-wrap:wrap;gap:2px;font-size:13px}.token-seat-deck-map>span small{width:100%;text-align:center}}

@media (max-width: 620px) {
  .token-visit-overview {
    grid-template-columns: 1fr;
  }
}

.formal-arrival-update {
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
  padding: 14px;
  border: 1px solid #d9d2c4;
  border-radius: 10px;
  background: #fbfaf5;
}

.formal-arrival-update > p {
  margin: 0;
  color: #655d4f;
  line-height: 1.6;
}

.formal-delay-options,
.formal-eta-row,
.formal-delay-preview .operation-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.formal-delay-preview {
  display: grid;
  gap: 10px;
  padding-top: 12px;
  border-top: 1px solid #d9d2c4;
}

.formal-eta-row {
  align-items: end;
  justify-content: space-between;
}

.formal-eta-row label {
  display: grid;
  flex: 1 1 220px;
  gap: 6px;
  color: #4f493f;
  font-size: 13px;
}

.formal-eta-row input,
.formal-arrival-update textarea {
  width: 100%;
  border: 1px solid #cfc6b6;
  border-radius: 7px;
  background: #fffefa;
  color: #29261f;
  font: inherit;
  padding: 10px 11px;
}

@media (max-width: 640px) {
  .formal-eta-row > button {
    width: 100%;
  }
}
.formal-experience-deck .token-arrival-options{display:grid;gap:12px;margin:14px 0 18px}
.formal-experience-deck .module-options{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.formal-experience-deck .module-options button{font-size:13px;line-height:1.4;min-height:40px;padding:9px 13px}
.formal-experience-deck .token-board-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}
@media(max-width:520px){.formal-experience-deck .token-board-counts{grid-template-columns:1fr}}
.token-venue-request{border:1px solid #d8d1bf;border-radius:14px;padding:16px;margin:16px 0;background:rgba(255,253,246,.45)}
.token-venue-request .account-block-title{margin-top:0}
.token-venue-request .module-options{flex-wrap:wrap}
.token-weekly-seats{display:flex;flex-wrap:wrap;gap:8px}
.token-weekly-seats button{min-width:50px}
.token-weekly-pocket-seat{display:flex;align-items:center;justify-content:center;gap:12px;margin:8px auto;padding:9px;border:1px solid currentColor;max-width:235px}
.token-weekly-pocket-seat strong{font-size:1.45rem}
.token-weekly-pocket-seat small{font-size:.66rem}
.token-payment-qr{margin:15px auto;max-width:260px;text-align:center}
.token-payment-qr img{display:block;width:100%;height:auto;border:1px solid #d8d1bf;background:#fff;padding:10px}
.formal-gallery-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.formal-gallery-toolbar button{min-height:40px}
.formal-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:18px 0}
.formal-gallery-card{min-width:0;border:1px solid var(--line,#c8c5b5);background:rgba(255,255,255,.48);overflow:hidden}
.formal-gallery-card img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.formal-gallery-card>div{padding:11px}
.formal-gallery-card strong{display:block;font-size:13px}
.formal-gallery-card p{font-size:13px;overflow-wrap:anywhere;margin:6px 0}
.formal-gallery-like{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;padding:7px 0;color:inherit;cursor:pointer}
.formal-gallery-like:disabled{opacity:.5;cursor:wait}
.formal-gallery-upload{margin:10px 0 20px}
.formal-gallery-upload input[type=file]{width:100%}
@media(max-width:540px){.formal-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.formal-gallery-card>div{padding:8px}}
.formal-announcement-scenes{display:flex;gap:7px;overflow-x:auto;padding:4px 0 10px;margin:12px 0 18px}
.formal-announcement-scenes button{white-space:nowrap;min-height:38px;flex:none}
.formal-announcement-card{margin:12px 0 18px}
.formal-announcement-card small{display:block;letter-spacing:.1em;margin-bottom:7px}
.formal-announcement-card p{white-space:pre-wrap}
.formal-announcement-card ul{padding-left:20px}
.formal-announcement-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.formal-announcement-actions a.primary{display:inline-flex;align-items:center;text-decoration:none}
.announcement-close{border:0;background:transparent;color:inherit;padding:3px;cursor:pointer}
.announcement-ticker{max-width:1404px;min-height:46px;margin:0 auto 8px;border:1px solid #d6d0bd;border-radius:16px;background:#f8f7ed;color:#25352e;display:flex;align-items:stretch;overflow:hidden}
.announcement-ticker-label{position:relative;z-index:2;display:grid;place-items:center;flex:none;width:44px;border-right:1px solid #d6d0bd;background:#f0eddf;color:#52634e}
.announcement-ticker-label svg{display:block;flex:none}
.announcement-ticker-window{min-width:0;flex:1;overflow:hidden;display:flex;align-items:center}
.announcement-ticker-track{display:flex;align-items:center;width:max-content;min-width:100%}
.announcement-ticker-track.is-moving{animation:announcement-flow 28s linear infinite}
.announcement-ticker:hover .announcement-ticker-track,.announcement-ticker:focus-within .announcement-ticker-track{animation-play-state:paused}
.announcement-ticker-group{display:flex;align-items:center;flex:none}
.announcement-ticker-item{display:flex;align-items:center;flex:none}
.announcement-ticker-item::after{content:'✦';display:inline-block;margin:0 13px;color:#99a07e;font-size:9px}
.announcement-ticker-item button{display:flex;align-items:center;gap:8px;min-width:0;max-width:min(560px,70vw);min-height:44px;padding:8px 12px;border:0;background:transparent;color:inherit;font-family:inherit;font-size:13px;font-weight:600;line-height:1.4;cursor:pointer;text-align:left;white-space:nowrap}
.announcement-ticker-item strong{min-width:0;overflow:hidden;text-overflow:ellipsis;font:inherit}.announcement-ticker-item button>svg{flex:none}.announcement-ticker-item span{max-width:330px;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:#687067}
.announcement-ticker-track:not(.is-moving){width:100%}.announcement-ticker-track:not(.is-moving) :is(.announcement-ticker-group,.announcement-ticker-item){min-width:0;flex:1}.announcement-ticker-track:not(.is-moving) .announcement-ticker-item button{flex:1;max-width:none}.announcement-ticker-track:not(.is-moving) .announcement-ticker-item::after{display:none}
.announcement-ticker>.announcement-close{position:relative;z-index:2;display:grid;place-items:center;flex:none;width:44px;min-height:44px;border-left:1px solid #d6d0bd;background:#f8f7ed}
.announcement-ticker button:focus-visible{outline:2px solid #607d67;outline-offset:-3px;border-radius:10px}
@keyframes announcement-flow{to{transform:translateX(-50%)}}
.announcement-context-stack{max-width:1404px;margin:8px auto 0;display:grid;gap:8px}
.announcement-context-item{display:grid;grid-template-columns:16px minmax(0,1fr) 44px;align-items:center;gap:8px;border:1px solid #e1dfd2;border-radius:18px;background:#f1f2e9;padding:6px 10px;color:#405b4a;box-shadow:0 2px 8px #30483905}.announcement-context-item>svg{color:#81916e}.announcement-context-item .announcement-close{display:grid;place-items:center;min-width:44px;min-height:44px;border-radius:50%}.announcement-context-item .announcement-close:hover{background:#e4e8da}.announcement-context-item :is(button,a):focus-visible{outline:2px solid #607d67;outline-offset:2px}.announcement-context-item button:active{transform:scale(.98)}
.announcement-context-open{display:grid;grid-template-columns:minmax(0,1fr) 16px;align-items:center;gap:3px 8px;min-width:0;width:100%;min-height:44px;padding:7px 2px;border:0;border-radius:10px;background:none;color:inherit;text-align:left;cursor:pointer}.announcement-context-open strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600}.announcement-context-open span{grid-column:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#787965}.announcement-context-open svg{grid-column:2;grid-row:1/span 2}.announcement-context-item.scenario-important{border-left:2px solid #a56348}.announcement-context-item.scenario-success{border-left:2px solid #557963}
.announcement-contact-error{max-width:1404px;margin:8px auto}
.announcement-service-status{max-width:1404px;margin:8px auto;display:flex;justify-content:center;align-items:center;gap:10px;color:#756f60;font-size:11px}.announcement-service-status button{border:0;background:transparent;color:#405b4a;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.announcement-modal-backdrop{position:fixed;inset:0;background:rgba(27,33,27,.46);display:grid;place-items:center;padding:20px;z-index:90}
.announcement-modal{position:relative;width:min(500px,100%);max-height:min(78vh,720px);overflow:auto;background:#faf8ee;border:1px solid #dedccc;border-radius:24px;box-shadow:0 16px 50px rgba(22,30,22,.18);padding:32px;color:#21352b}
.announcement-modal::before{content:none}
.announcement-modal.is-urgent{border-color:#9f5d48}.announcement-modal.is-urgent::before{border-color:#c7a08e}
.announcement-modal>.announcement-close{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#edede3}.announcement-modal .formal-announcement-actions>:is(button,a){border-radius:12px}.announcement-modal :is(button,a):focus-visible{outline:2px solid #607d67;outline-offset:3px}
.announcement-postcard-mark{position:absolute;right:31px;top:28px;border:1px solid #92987e;padding:7px 8px;color:#6f795f;font:8px/1.25 var(--mono);letter-spacing:.12em;text-align:center;transform:rotate(3deg)}
.announcement-modal h2{font-size:23px;margin:10px 24px 15px 0;line-height:1.4}.announcement-modal p{white-space:pre-wrap;line-height:1.7}.announcement-modal .formal-announcement-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.announcement-modal.is-urgent .formal-announcement-actions .primary{margin-left:auto}.announcement-modal ul{padding-left:20px;line-height:1.8;font-size:14px}.announcement-modal .formal-announcement-actions>button,.announcement-modal .formal-announcement-actions>a{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:5px}.announcement-modal .formal-announcement-actions .announcement-today{flex-basis:100%;border:0;background:none;color:#74745f;text-decoration:underline;text-underline-offset:3px;font-size:11px}
.announcement-content-image{display:block;max-width:100%;max-height:280px;width:auto;height:auto;object-fit:contain;margin:12px 0;border:1px solid #ddd7c5;background:#fff}
@media(max-width:1480px){.announcement-ticker,.announcement-context-stack,.announcement-contact-error,.announcement-service-status{margin-left:38px;margin-right:38px}}
@media(max-width:700px){.announcement-ticker,.announcement-context-stack,.announcement-contact-error,.announcement-service-status{margin-left:14px;margin-right:14px}.announcement-ticker-item button{max-width:78vw}.announcement-ticker-item span{max-width:42vw}.announcement-context-item{padding:8px 10px}.announcement-modal{padding:28px 22px}.announcement-postcard-mark{right:22px;top:25px}.announcement-modal h2{font-size:23px;margin-right:62px}}
@media(prefers-reduced-motion:reduce){.announcement-ticker-track.is-moving{animation:none}.announcement-ticker-window{overflow-x:auto}.announcement-ticker-group[aria-hidden=true]{display:none}}
.aftercare-alert{max-width:1404px;margin:8px auto 0;border:1px solid #d7d1bd;background:#f5f1e5;color:#26382d}
.aftercare-alert-bar{display:flex;align-items:center;gap:12px;padding:10px 15px;font-size:13px}.aftercare-alert-bar span{flex:1}.aftercare-alert-details{position:relative;border-top:1px solid #d7d1bd;padding:16px}.aftercare-alert-details>.announcement-close{position:absolute;right:12px;top:12px}.aftercare-alert-counts{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.aftercare-alert-counts span{padding:6px 9px;border:1px solid #d7d1bd;background:#fbf9f1;font-size:12px}.aftercare-alert-details p{font-size:12px;line-height:1.6}.aftercare-alert-details .formal-announcement-actions{display:flex;gap:9px;flex-wrap:wrap}
@media(max-width:700px){.aftercare-alert{margin:8px 14px 0}.aftercare-alert-bar{flex-wrap:wrap}.aftercare-alert-bar span{flex-basis:calc(100% - 30px)}}
.formal-booking-service-status{max-width:1404px;margin:8px auto;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #d8cdb1;border-left:3px solid #99784a;background:#faf5e8;padding:13px 15px;color:#493f2e}.formal-booking-service-status strong{display:block;font-size:13px}.formal-booking-service-status p{margin:4px 0;font-size:12px;line-height:1.55}.formal-booking-service-status small{display:block;color:#756b58;font-size:11px;line-height:1.5}.formal-booking-service-actions{display:flex;align-items:center;gap:8px;flex:none}.formal-booking-service-actions .secondary{min-height:38px;padding:7px 12px}.formal-booking-service-actions .text-button{min-height:38px}
@media(max-width:1480px){.formal-booking-service-status{margin-left:38px;margin-right:38px}}
@media(max-width:700px){.formal-booking-service-status{margin-left:14px;margin-right:14px;align-items:stretch;flex-direction:column;gap:11px}.formal-booking-service-actions{width:100%}.formal-booking-service-actions button{flex:1}}
.formal-experience-deck .text-link{display:inline-block;margin:3px 0 14px;color:#315144;text-decoration:underline;text-underline-offset:3px;font-size:13px}

.aftercare-draft-preview{display:block;width:min(100%,180px);max-height:180px;object-fit:contain;border:1px solid var(--line,#d6d0bb);border-radius:8px;margin:8px 0 12px;background:#f8f4e9}

.featured-offer-teaser{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:7px 17px 8px 41px;border:0;border-bottom:1px solid #d4cebf;background:#f3f0e6;color:#304839;text-align:left;font-size:12px;cursor:pointer}
.featured-offer-teaser:hover,.featured-offer-teaser:focus-visible{background:#eae8d9}
.featured-offer-teaser>span{white-space:nowrap;letter-spacing:.04em}
.featured-offer-teaser strong{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:#685d4c}
.featured-offer-details{display:grid;gap:18px}
.featured-offer-details .notice{margin:0}
.featured-offer-heading{display:flex;align-items:flex-start;gap:13px;padding:14px 0;border-top:1px solid #ded7c8;border-bottom:1px solid #ded7c8;color:#314b3b}
.featured-offer-heading small{display:block;margin-bottom:5px;color:#7c7465;font-size:11px;letter-spacing:.14em}
.featured-offer-heading h3{margin:0;font-size:22px;line-height:1.4;font-weight:500;overflow-wrap:anywhere}
.featured-offer-facts{margin:0}
.featured-offer-facts>div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid #e0dacc}
.featured-offer-facts dt{color:#817765}
.featured-offer-facts dd{margin:0;text-align:right;font-weight:600}
.featured-offer-details>.primary{justify-self:start;display:inline-flex;align-items:center;gap:8px;min-height:44px}
@media(max-width:760px){.featured-offer-teaser{padding-left:27px}.featured-offer-facts>div{gap:12px}}
.featured-offer-dialog{position:fixed;inset:0;width:min(480px,calc(100vw - 32px));height:fit-content;max-width:none;max-height:min(80dvh,720px);margin:auto;padding:0;border:1px solid #e3dfd3;border-radius:24px;background:#faf9f4;color:var(--foreground);box-shadow:0 20px 64px #1c2c2130;overflow:auto;overscroll-behavior:contain}
.featured-offer-dialog:not([open]){display:none}
.featured-offer-dialog[open]{animation:offer-sheet-in .2s ease-out}
.featured-offer-dialog::backdrop{background:#26342755;backdrop-filter:blur(5px)}
.featured-offer-sheet{padding:20px 24px 24px}
.featured-offer-sheet .sheet-grabber{display:none}
.featured-offer-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.featured-offer-sheet-header>div{display:flex;align-items:center;gap:10px;color:#354d3c}
.featured-offer-sheet-header h2{margin:0;font-size:20px;font-weight:600;line-height:1.4}
.featured-offer-close{display:grid;place-items:center;flex:none;min-width:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:#eeede5;color:#72776b}
.featured-offer-close:hover{background:#e5e6db;filter:none}
.featured-offer-dialog :is(button,a):focus-visible{outline:2px solid #607d67;outline-offset:3px}
.featured-offer-sheet>.featured-offer-details{padding:0;margin:0;max-width:none}
.featured-offer-sheet .featured-offer-details p{margin:0;font-size:14px;line-height:1.7}
.featured-offer-sheet .featured-offer-heading{padding-top:0;border-top:0}
.featured-offer-sheet .featured-offer-heading>svg,.featured-offer-sheet .featured-offer-heading small{display:none}
.featured-offer-sheet .featured-offer-details :is(.primary,.secondary){border-radius:12px;min-height:44px}
@keyframes offer-sheet-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.featured-offer-dialog{inset:auto 0 0;width:calc(100vw - 16px);max-height:calc(100dvh - 32px);margin:0 auto max(8px,env(safe-area-inset-bottom));border-radius:26px}.featured-offer-sheet{padding:10px 20px 24px}.featured-offer-sheet .sheet-grabber{display:block;width:36px;height:4px;margin:0 auto 10px;border-radius:999px;background:#d2d5c8}.featured-offer-sheet-header{margin-bottom:14px}.featured-offer-sheet-header h2{font-size:19px}}
@media(prefers-reduced-motion:reduce){.featured-offer-dialog[open]{animation:none}.control-dock button{transition:none}}

/* Theme memories share the existing Pocket shell and content deck. */
.theme-card-picture{display:block;width:100%;height:auto;object-fit:contain}.theme-download-link{font-size:13px;color:#657551;text-align:center;text-underline-offset:4px;padding:8px}
.theme-album-pocket{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-height:0;height:100%;width:100%;text-align:center}
.theme-album-pocket>.journey-heading,.theme-album-pocket>h2,.theme-album-pocket>p,.theme-album-pocket>.lcd-primary{flex-shrink:0}
.theme-pocket-carousel{flex:1;overflow:hidden}
.theme-pocket-carousel,.theme-booking-choice{display:flex;justify-content:center;align-items:center;gap:13px;min-height:0}
.theme-pocket-carousel>button,.theme-booking-choice>button{flex:none;width:32px;height:40px;display:grid;place-items:center;border:0;background:transparent;color:inherit}
.theme-pocket-carousel .theme-card-picture{width:auto;max-width:68%;height:100%;max-height:120px;border-radius:6px}
.theme-booking-choice .theme-card-picture{width:auto;max-width:52%;height:135px;border-radius:5px}
.theme-booking-name{display:block;text-align:center;font-size:14px;line-height:1.4}
.theme-choice-screen{height:100%;min-height:0;gap:5px}
.theme-choice-screen>.journey-heading,.theme-choice-screen>h2,.theme-choice-screen>.theme-booking-name,.theme-choice-screen>.lcd-primary{flex-shrink:0}
.theme-choice-screen>.theme-booking-choice{flex:1;overflow:hidden;width:100%}
.journey-screen.theme-choice-screen:not(.booking-theme-pocket) .theme-card-picture{height:100%;max-height:125px}
.theme-choice-screen>.choice-dots,.theme-choice-screen>.screen-disclaimer,.theme-choice-screen>.journey-details{display:none}
.theme-album-pocket h2{font-size:15px;margin:0;line-height:1.4}.theme-album-pocket p{font-size:11px;margin:0}
.theme-completed-pocket .theme-card-picture{height:130px;width:auto;margin:0 auto}.theme-completed-pocket h2{font-size:15px}
.theme-card-assemble-frame{position:relative;display:block;width:100%;line-height:0;isolation:isolate}.theme-card-assemble-frame>.theme-card-picture{width:100%;height:auto}
.theme-card-assemble-layers{position:absolute;inset:0;overflow:hidden;pointer-events:none}.theme-card-assemble-part{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.theme-card-assemble-part.part-left{clip-path:inset(0 66.666% 0 0);animation:theme-card-left .88s cubic-bezier(.2,.8,.2,1) both}.theme-card-assemble-part.part-middle{clip-path:inset(0 33.333% 0 33.333%);animation:theme-card-middle .92s .08s cubic-bezier(.2,.8,.2,1) both}.theme-card-assemble-part.part-right{clip-path:inset(0 0 0 66.666%);animation:theme-card-right .88s .16s cubic-bezier(.2,.8,.2,1) both}.theme-card-assemble-frame.is-assembling>.theme-card-picture{animation:theme-card-base 1.08s ease both}.theme-card-assemble-frame.is-assembling::after{content:'✦  ✦  ✦';position:absolute;inset:7% 5% auto;color:#fff3b5;text-align:center;font-size:22px;letter-spacing:2.8em;text-shadow:0 0 14px #fff7c8;animation:theme-card-sparkle 1.15s .3s ease both;pointer-events:none}
.theme-card-assemble-frame.is-awaiting>.theme-card-picture{filter:saturate(.55) brightness(.86);opacity:.76}.theme-card-seal{position:absolute;inset:0;display:grid;place-content:center;gap:5px;text-align:center;background:linear-gradient(transparent 32%,rgba(250,247,235,.83) 32% 68%,transparent 68%);color:#435446;line-height:1}.theme-card-seal b{font:700 28px/1 var(--mono);letter-spacing:.1em}.theme-card-seal small{font:700 9px/1.2 var(--mono);letter-spacing:.2em}
@keyframes theme-card-left{from{opacity:0;transform:translateX(-24%)}to{opacity:1;transform:none}}@keyframes theme-card-middle{from{opacity:0;transform:translateY(18%)}to{opacity:1;transform:none}}@keyframes theme-card-right{from{opacity:0;transform:translateX(24%)}to{opacity:1;transform:none}}@keyframes theme-card-base{0%,80%{opacity:.18}100%{opacity:1}}@keyframes theme-card-sparkle{0%,100%{opacity:0;transform:translateY(8px) scale(.8)}45%,72%{opacity:1;transform:none}}

/* The album scene belongs inside the Pocket LCD. The lower deck stays informational. */
.lcd-content.pocket-memory-scene{display:block!important;padding:0!important;overflow:hidden!important;justify-content:initial!important;gap:0!important}
.theme-album-pocket{position:relative;display:block;width:100%;height:100%;min-height:0;overflow:hidden;text-align:left}
.theme-pocket-scene{position:absolute;inset:0;isolation:isolate;overflow:hidden;background:#e9ead7}
.theme-pocket-scene-art,.theme-pocket-scene-art>.theme-card-picture,.theme-pocket-scene-art>.theme-card-assemble-frame,.theme-pocket-scene-art>.theme-card-assemble-frame>.theme-card-picture{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;border-radius:0;object-fit:cover}
.theme-pocket-scene-art>.theme-card-assemble-frame{aspect-ratio:auto;overflow:hidden}
.theme-pocket-scene-art .theme-card-assemble-part{object-fit:cover}
.theme-pocket-scene-art .theme-card-assemble-frame.is-assembling::after{content:'✦  ✦  ✦';inset:22% 0 auto;font-size:16px;letter-spacing:.8em}
.theme-pocket-scene::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(26,43,34,.57) 0,rgba(26,43,34,.04) 24%,rgba(26,43,34,0) 46%,rgba(26,43,34,.18) 64%,rgba(26,43,34,.78) 100%)}
.theme-pocket-scene-top{position:absolute;z-index:4;inset:6px 7px auto;display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:5px;color:#f7f3df;font:700 9px/1.2 var(--mono);letter-spacing:.06em;text-shadow:0 1px 2px rgba(18,31,24,.55)}
.theme-pocket-scene-top button{display:grid;place-items:center;width:24px;height:24px;padding:0;border:1px solid rgba(247,243,223,.56);border-radius:50%;background:rgba(32,54,42,.34);color:inherit;backdrop-filter:blur(4px)}
.theme-pocket-scene-top span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-pocket-scene-top b{font-size:10px}
.theme-pocket-ready{position:absolute;z-index:4;inset:38% 50% auto auto;display:grid;gap:3px;min-width:108px;padding:9px 12px;border:1px solid rgba(61,78,60,.38);background:rgba(249,245,225,.86);color:#34483b;text-align:center;transform:translateX(50%);box-shadow:0 6px 22px rgba(33,45,35,.16)}
.theme-pocket-ready b{font:700 20px/1 var(--mono)}.theme-pocket-ready small{font:700 7px/1.2 var(--mono);letter-spacing:.14em}
.theme-pocket-scene-bottom{position:absolute;z-index:4;inset:auto 7px 6px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:5px 8px;color:#faf7e9;text-shadow:0 1px 2px rgba(18,31,24,.7)}
.theme-pocket-scene-title{grid-column:1/-1;display:flex;align-items:end;justify-content:space-between;gap:8px;min-width:0}
.theme-pocket-scene-title strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;letter-spacing:.04em}.theme-pocket-scene-title small{flex:none;font:700 7px/1.2 var(--mono);letter-spacing:.06em;text-align:right}
.theme-pocket-dots{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;min-width:0}
.theme-pocket-dots button{height:22px;padding:0;border:1px solid rgba(250,247,233,.44);background:rgba(33,52,41,.32);color:#f5f1df;font:700 8px/1 var(--mono);backdrop-filter:blur(3px)}
.theme-pocket-dots button.selected{border-color:#fff8cf;background:#f1e9c8;color:#30463a;text-shadow:none;box-shadow:inset 0 -2px #70805f}
.theme-pocket-action{display:flex;align-items:center;justify-content:center;gap:7px;min-width:72px;min-height:54px;padding:8px;border:0;background:transparent;color:#fff9e7;font-family:inherit;font-size:16px;font-weight:600;line-height:1.3;letter-spacing:.04em;text-shadow:0 1px 3px #122019}.theme-pocket-action:focus-visible{outline:2px solid #fff3bd;outline-offset:-2px}@media(max-width:540px){.theme-pocket-action{min-height:72px;font-size:19px}}
.lcd.is-booking-theme{padding:0}
.lcd.is-booking-theme>.lcd-status,.lcd.is-booking-theme>.lcd-bottom{display:none}
.lcd.is-booking-theme>.lcd-content{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit}
.booking-theme-pocket{position:relative;display:block;padding:0;min-height:0;height:100%;text-align:left}
.booking-theme-pocket .theme-pocket-scene{touch-action:pan-y;user-select:none}
.booking-theme-pocket .theme-pocket-scene-art>.theme-card-picture{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center}
.booking-theme-pocket .theme-pocket-scene::before{background:linear-gradient(180deg,rgba(26,43,34,.63),rgba(26,43,34,.05) 28%,transparent 48%,rgba(26,43,34,.08) 65%,rgba(26,43,34,.62))}
.booking-theme-header{position:absolute;z-index:4;inset:5px 10px auto 4px;display:flex;align-items:center;gap:2px;color:#fff9e7;text-shadow:0 1px 3px rgba(18,31,24,.75)}
.booking-theme-back{display:grid;place-items:center;flex:0 0 60px;width:60px;height:60px;padding:0;border:0;background:none;color:inherit}
.booking-theme-label{display:flex;flex:1;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding-right:5px}
.booking-theme-label strong{font-size:18px;line-height:1.3;letter-spacing:.03em;text-wrap:balance}
.booking-theme-label span{flex:none;padding:5px 6px;border:1px solid rgba(255,249,231,.38);background:rgba(30,48,36,.3);font:700 13px/1 var(--mono);letter-spacing:.04em}
.booking-theme-arrow{position:absolute;z-index:4;top:36%;display:grid;place-items:center;width:64px;height:76px;padding:0;border:0;background:transparent;color:#fff9e7;filter:drop-shadow(0 1px 3px rgba(18,31,24,.75))}
.booking-theme-arrow.is-previous{left:0}.booking-theme-arrow.is-next{right:0}
.booking-theme-arrow:hover,.booking-theme-back:hover{background:rgba(32,54,42,.12)}
.booking-theme-arrow:focus-visible,.booking-theme-back:focus-visible{outline:2px solid #fff3bd;outline-offset:-5px}
.booking-theme-footer{position:absolute;z-index:4;inset:auto 14px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#fff8e5;text-shadow:0 1px 3px #213929}.booking-theme-invite{min-width:0;max-width:190px}.booking-theme-invite small{font-size:14px;line-height:1.5;text-wrap:balance}
.booking-pocket-action{display:inline-flex;flex:none;align-items:center;justify-content:center;gap:7px;min-width:72px;min-height:54px;padding:0 4px;border:0;border-radius:0;background:transparent;color:inherit;font-family:inherit;font-size:18px;font-weight:500;line-height:1.3;letter-spacing:.02em;text-shadow:inherit}
.booking-pocket-action span{font-size:21px;font-weight:400}.booking-pocket-action:focus-visible{outline:2px solid #fff3bd;outline-offset:0}.booking-pocket-action:hover{opacity:.85;filter:none}
.booking-theme-pocket.is-alive .theme-pocket-scene-art{animation:theme-pocket-breathe 5.8s ease-in-out infinite}
.booking-theme-pocket.is-alive .theme-pocket-ambient i{animation:theme-pocket-glimmer 3.8s steps(5,jump-none) infinite}
.booking-theme-pocket.is-alive .theme-pocket-ambient i:nth-child(2){animation-delay:-1.2s}.booking-theme-pocket.is-alive .theme-pocket-ambient i:nth-child(3){animation-delay:-2.4s}
@media(max-width:540px){.booking-theme-back{flex-basis:72px;width:72px;height:72px}.booking-theme-arrow{width:72px;height:80px}.booking-pocket-action{min-height:72px;font-size:20px}.booking-theme-label strong{font-size:19px}.booking-theme-footer{bottom:10px}}
.theme-pocket-ambient{position:absolute;inset:0;z-index:2;pointer-events:none}.theme-pocket-ambient i{position:absolute;width:4px;height:4px;border-radius:1px;background:#fff1a2;opacity:0}.theme-pocket-ambient i:nth-child(1){left:15%;top:43%}.theme-pocket-ambient i:nth-child(2){right:16%;top:31%}.theme-pocket-ambient i:nth-child(3){right:27%;top:55%}
.theme-album-pocket.is-alive .theme-pocket-scene-art{animation:theme-pocket-breathe 5.8s ease-in-out infinite}.theme-album-pocket.is-alive .theme-pocket-ambient i{animation:theme-pocket-glimmer 3.8s steps(5,jump-none) infinite}.theme-album-pocket.is-alive .theme-pocket-ambient i:nth-child(2){animation-delay:-1.2s}.theme-album-pocket.is-alive .theme-pocket-ambient i:nth-child(3){animation-delay:-2.4s}
@keyframes theme-pocket-breathe{0%,100%{transform:scale(1.005) translateY(0)}50%{transform:scale(1.035) translateY(-2px)}}
@keyframes theme-pocket-glimmer{0%,100%{opacity:0;transform:translateY(5px) scale(.7)}35%,60%{opacity:.78;transform:translateY(-2px) scale(1)}}

.theme-album-deck{max-width:1080px;margin:0 auto;padding:0 0 8px}.theme-album-intro{max-width:720px;padding:0!important}.theme-album-deck h3{font-family:serif;font-size:27px;margin:12px 0}.theme-album-deck p{line-height:1.75;color:#777064}
.theme-album-tabs{position:static;inset:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:22px 0 14px;border:1px solid rgba(108,108,88,.28);background:#f6f2e7;backdrop-filter:none}
.theme-album-stage{position:relative;display:grid;grid-template-columns:minmax(150px,.75fr) minmax(220px,300px) minmax(190px,1fr);grid-template-rows:auto 1fr auto;gap:22px;align-items:center;width:100%;height:auto;min-height:400px;padding:28px;overflow:hidden;border:1px solid #d5cebb;background:#eef0dd}
.theme-album-stage::after{content:none!important;animation:none!important}.theme-album-stage.is-alive .theme-album-feature-art{animation:none!important}
.theme-album-stage-heading{grid-column:1;grid-row:1/span 2;align-self:start;max-width:230px}.theme-album-feature-art{grid-column:2;grid-row:1/span 3;width:100%;height:min(38vw,380px);max-height:380px;animation:none!important;transform:none!important}.theme-album-feature-art>.theme-card-picture,.theme-album-feature-art>.theme-card-assemble-frame{width:auto;max-width:100%;height:100%;max-height:100%;object-fit:contain}
.theme-album-stamps{grid-column:3;grid-row:1/span 2}.theme-album-actions{grid-column:3;grid-row:3}
@media(max-width:920px){.theme-album-tabs{position:static;inset:auto;margin:20px 0 12px}.theme-album-stage{grid-template-columns:minmax(0,1fr) minmax(190px,250px);grid-template-rows:auto auto 1fr;min-height:440px;padding:24px 20px}.theme-album-stage-heading{grid-column:1/-1;grid-row:1;max-width:640px}.theme-album-feature-art{grid-column:1;grid-row:2/span 2;height:380px}.theme-album-stamps{grid-column:2;grid-row:2}.theme-album-actions{grid-column:2;grid-row:3}}
@media(max-width:680px){.theme-album-deck{padding:0}.theme-album-tabs{position:static;inset:auto;margin:16px 0 10px;grid-template-columns:repeat(4,minmax(0,1fr))}.theme-album-tabs button{display:flex;justify-content:center;gap:5px;min-width:0;min-height:42px;padding:6px 4px}.theme-album-tabs button span{display:none}.theme-album-tabs button small{font-size:9px}.theme-album-stage{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;gap:14px;width:100%;height:auto;min-height:0;max-height:none;padding:18px 12px}.theme-album-stage-heading{grid-column:1;grid-row:1;width:100%;max-width:none}.theme-album-stage-heading .eyebrow,.theme-album-stage-heading p{display:block}.theme-album-feature-art{grid-column:1;grid-row:2;width:100%;height:auto;max-height:none}.theme-album-feature-art>.theme-card-picture,.theme-album-feature-art>.theme-card-assemble-frame{width:min(72vw,280px);height:auto;margin:auto}.theme-album-stamps{grid-column:1;grid-row:3;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.theme-album-actions{grid-column:1;grid-row:4;width:100%;min-width:0}.theme-album-footnote{margin:18px 0 0}}
@media(prefers-reduced-motion:reduce){.theme-card-assemble-part,.theme-card-assemble-frame.is-assembling>.theme-card-picture,.theme-card-assemble-frame.is-assembling::after,.theme-album-pocket.is-alive .theme-pocket-scene-art,.theme-album-pocket.is-alive .theme-pocket-ambient i,.booking-theme-pocket.is-alive .theme-pocket-scene-art,.booking-theme-pocket.is-alive .theme-pocket-ambient i{animation:none!important}.theme-card-assemble-part{opacity:1;transform:none}.theme-card-assemble-frame.is-assembling>.theme-card-picture{opacity:1}.theme-album-pocket.is-alive .theme-pocket-ambient i{opacity:.36}}

/* Task content opens progressively; hidden bodies retain their draft state. */
.progressive-body[hidden],.booking-stage-content[hidden],.customer-account-deck [hidden]{display:none!important}
.progressive-disclosure{margin:0!important;border-top:1px solid #d9d3c5;background:transparent}
.progressive-trigger{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:70px;padding:16px 0;border:0;background:transparent;color:inherit;text-align:left}
.progressive-trigger>span{display:grid;gap:5px;min-width:0}
.progressive-trigger strong{font-size:16px;font-weight:500;line-height:1.5}
.progressive-trigger small{font-size:13px;line-height:1.6;color:#797162;overflow-wrap:anywhere}
.progressive-trigger svg{flex:none;color:#8c806a;transition:transform .18s}
.progressive-disclosure.is-open>.progressive-trigger svg{transform:rotate(180deg)}
.progressive-body{padding:4px 0 24px}
.progressive-body>.account-subsection:first-child,.progressive-body>.summary-card:first-child{margin-top:0}
.booking-inline-content{max-width:740px;margin:0 auto}
.booking-progress{display:flex;align-items:center;gap:12px;margin:6px 0 30px;color:#958c7b;font-size:12px}
.booking-progress>span{display:flex;align-items:center;gap:7px;white-space:nowrap}
.booking-progress b{font:12px monospace;font-weight:400}
.booking-progress i{height:1px;flex:1;background:#ddd6c8}
.booking-progress [aria-current=step]{color:#414e3b;font-weight:600}
.booking-stage-title{scroll-margin-top:28px;font-family:serif;font-size:28px;font-weight:400;margin:0 0 24px}
.booking-stage-title:focus{outline:none}
.booking-time-section{border:0!important;padding:0!important;margin:0 0 20px!important}
.booking-time-section>.booking-ticket-details:first-of-type{border:0;padding:0 0 12px;margin:0}
.booking-time-section .booking-duration-slider{margin:6px 0 12px}
.booking-time-section .booking-date-field{margin-top:20px}
.booking-time-section .booking-waitlist-box{margin-top:14px;background:transparent;padding:0;border:0}
.booking-time-section .booking-waitlist-box>details>summary{font-size:13px;color:#797162}
.booking-time-section>.booking-helper-link{font-size:12px}
.booking-completed-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:0 0 22px;border:0;background:transparent;color:inherit;text-align:left}
.booking-completed-summary>span:first-child{display:grid;gap:8px}
.booking-completed-summary strong{font-size:17px;font-weight:500;line-height:1.6}
.booking-completed-summary small{font-size:13px;color:#797162;line-height:1.5}
.booking-completed-summary>span:last-child{flex:none;font-size:13px;text-decoration:underline;text-underline-offset:4px}
.booking-review-terms{padding:20px 0 12px;margin:0!important;border-top:1px solid #d9d3c5}
.booking-review-terms h4{margin:0 0 12px;font-size:16px;font-weight:500}
.booking-review-terms .register-reasons{margin:0 0 14px}
.booking-review-terms .booking-terms-check{margin:12px 0;font-size:14px;line-height:1.7}
.booking-price-action{position:sticky;bottom:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #bfb59e;background:#f8f7f2;padding:18px 0 max(18px,env(safe-area-inset-bottom));margin-top:8px}
.booking-price-action>div:first-child{display:grid;gap:5px;min-width:0}
.booking-price-action>div:first-child>span{font-size:12px;color:#797162}
.booking-price-action>div:first-child>strong{font-size:27px;font-weight:500;line-height:1.2;white-space:nowrap;font-variant-numeric:tabular-nums}
.booking-price-action small{font-size:12px;color:#797162}
.booking-price-action .primary{min-height:48px;border-radius:7px;padding:12px 20px;white-space:normal;text-wrap:balance;line-height:1.5}
.booking-price-action .booking-submit-actions{margin:0;display:flex;gap:8px}
.booking-stage-back{display:flex;gap:6px;align-items:center;margin:8px 0 18px}
.booking-related-links{max-width:740px;margin:22px auto 0;border-top:1px solid #ded7c8;padding:15px 0;color:#797162;font-size:13px}
.booking-related-links>summary{cursor:pointer}
.booking-related-links .detail-related{margin-top:12px}
.order-visit-brief{display:grid;gap:6px;margin:18px 0 22px}
.order-visit-brief strong{font-size:20px;font-weight:500;line-height:1.6}
.order-visit-brief span{font-size:14px;color:#797162}
.service-record-details{margin:12px 0;border-top:1px solid #ddd6c8;padding:12px 0}
.service-record-details summary{font-size:14px;cursor:pointer}
@media(max-width:680px){
 .booking-progress{gap:7px;font-size:11px;margin-bottom:24px}
 .booking-progress>span{gap:4px}
 .booking-stage-title{font-size:25px}
 .booking-price-action{gap:12px;padding-top:14px}
 .booking-price-action>div:first-child>strong{font-size:23px}
 .booking-price-action .primary{padding:11px 15px;font-size:14px}
 .booking-price-action .booking-submit-actions{max-width:58%}
 .progressive-trigger{min-height:68px}
}
@media(prefers-reduced-motion:reduce){.progressive-trigger svg{transition:none}}
.booking-theme-tabs button>.theme-card-picture{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;margin:0 0 8px;max-width:none;max-height:none}
.booking-theme-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
.booking-theme-tabs button{display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:8px!important;min-width:0}
.booking-theme-tabs button>span{font-size:13px;line-height:1.5}
.booking-theme-tabs button>small{font-size:12px;margin-top:4px}
@media(max-width:540px){.booking-theme-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.booking-task-fields{border:0;padding:0;margin:0;min-width:0}
.booking-charge-list>div:last-child{font-size:14px;font-weight:400}
