
@font-face{font-family:AppSystem;src:local("Pretendard"),local("Noto Sans KR");font-display:swap}
:root{color-scheme:light;--bg:#f6f1e7;--paper:#fffdf8;--ink:#183e35;--muted:#6e796f;--accent:#265443;--soft:#e4e9dc;--line:#dddccd;--gold:#b58c4a;--radius:22px;--shadow:0 12px 42px #39473308}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.65 AppSystem,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;word-break:keep-all}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:1px}svg{display:block;width:22px;height:22px;flex-shrink:0}button svg{pointer-events:none}.sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
.sidebar{position:fixed;inset:0 auto 0 0;width:224px;border-right:1px solid var(--line);padding:38px 24px;display:flex;flex-direction:column;background:var(--paper);z-index:10}.brand{display:flex;flex-direction:column;align-items:flex-start;gap:13px;padding:0 8px}.brand-mark{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:var(--soft)}.brand strong{font-size:18px;line-height:1.5;letter-spacing:-.7px;max-width:170px}.brand small{font-size:9px;font-weight:650;letter-spacing:1.7px;color:var(--muted)}.nav{margin-top:48px;display:flex;flex-direction:column;gap:9px}.nav button{border:0;background:none;text-align:left;display:flex;align-items:center;gap:12px;padding:13px 15px;border-radius:12px;color:var(--muted);font-weight:600;font-size:14px}.nav button.active{color:var(--ink);background:var(--soft)}.nav button:hover{background:var(--soft)}.side-bottom{margin-top:auto;padding:20px 8px 0;font-size:12px;color:var(--muted)}.side-bottom .seed{margin-bottom:12px;color:var(--accent)}.small-rule{width:30px;height:1px;background:var(--gold);margin:18px 0}.shell{margin-left:224px;padding:30px 42px 70px;max-width:1680px}.topbar{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px;gap:16px;margin-bottom:32px}.topbar .hello{letter-spacing:1px;font-size:10px;font-weight:650}.topbar .date{display:flex;align-items:center;gap:8px}.status-dot{height:6px;width:6px;border-radius:50%;background:var(--accent);display:inline-block}.badge{border:1px solid var(--line);border-radius:30px;padding:5px 10px;font-size:10px;white-space:nowrap}.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:27px}.eyebrow{font-size:12px;color:var(--accent);font-weight:650;letter-spacing:.3px;margin:0 0 13px}h1{font-family:Georgia,"Nanum Myeongjo","Noto Serif KR",serif;font-size:clamp(28px,3vw,42px);font-weight:500;line-height:1.4;letter-spacing:-1.5px;margin:0}p.lead{font-size:13px;color:var(--muted);margin:13px 0 0}.intro-seal{font:10px/1.6 Georgia,serif;letter-spacing:2px;border:1px solid var(--line);border-radius:50%;height:78px;width:78px;flex-shrink:0;display:grid;place-content:center;text-align:center;color:var(--gold);transform:rotate(8deg)}.workbench{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:24px;align-items:stretch}.hero{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--soft);min-height:380px;box-shadow:var(--shadow);isolation:isolate}.hero img{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}.hero:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#20271e99);z-index:0;pointer-events:none}.hero-label{position:absolute;left:23px;top:23px;z-index:1;background:#fffefaeb;color:#334d3a;border-radius:30px;padding:7px 13px;font-size:11px;font-weight:650;display:flex;align-items:center;gap:7px;backdrop-filter:blur(8px)}.hero-caption{position:absolute;left:25px;right:25px;bottom:20px;color:white;z-index:1;font-size:13px;line-height:1.7}.hero-caption small{display:block;opacity:.7;font-size:10px;letter-spacing:1px;margin-bottom:5px}.form-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:25px;box-shadow:var(--shadow)}h2{font-size:19px;line-height:1.4;letter-spacing:-.7px;margin:0}.sub{font-size:12px;color:var(--muted);margin:7px 0 20px}.field{display:block;margin:0 0 15px}.field>span{font-size:12px;font-weight:650;display:block;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:11px 12px;min-width:0;color:var(--ink);font-size:14px}.field textarea{min-height:110px;resize:vertical;line-height:1.7}.field input::placeholder,.field textarea::placeholder{color:var(--muted);opacity:.8}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-row .field{min-width:0}.check{display:flex;gap:8px;font-size:12px;align-items:center;margin:2px 0 17px;cursor:pointer}.check input{accent-color:var(--accent);height:16px;width:16px}.primary,.secondary,.quiet{border:0;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:600;border-radius:11px;min-height:44px;padding:11px 17px}.primary{background:var(--accent);color:#fffef8}.primary:hover{filter:brightness(1.1)}.wide{width:100%}.secondary{border:1px solid var(--line);background:var(--paper);font-size:12px}.quiet{background:var(--soft);font-size:12px}.link-button{padding:3px 0;min-height:32px;background:none;border:none;color:var(--muted);font-size:11px;text-decoration:underline;text-underline-offset:4px}.form-note{display:flex;gap:6px;align-items:center;justify-content:center;color:var(--muted);font-size:10px;margin-top:12px}.form-note svg{width:13px;height:13px}.error{font-size:12px;color:#ae432f;line-height:1.6;min-height:0;margin:8px 0}.metrics{display:grid;grid-template-columns:repeat(3,1fr);margin:23px 0 32px;padding:18px 23px;border:1px solid var(--line);background:var(--paper);border-radius:15px;gap:20px}.metric{border-right:1px solid var(--line);padding-right:10px}.metric:last-child{border:0}.metric-label{font-size:11px;color:var(--muted);display:block;margin-bottom:4px}.metric strong{font-size:24px;font-weight:500;letter-spacing:-.7px;font-variant-numeric:tabular-nums}.metric em{font-style:normal;font-size:12px;margin-left:5px;color:var(--muted)}.section-head{display:flex;align-items:center;justify-content:space-between;margin:4px 0 15px;gap:12px}.section-head h2{font-size:18px}.section-head p{font-size:11px;color:var(--muted);margin:0}.pills{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:17px}.pill{border:1px solid var(--line);background:transparent;padding:7px 13px;border-radius:25px;font-size:12px;min-height:36px}.pill.active{background:var(--accent);border-color:var(--accent);color:white}.records{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.empty{grid-column:1/-1;border:1px dashed var(--line);border-radius:18px;padding:33px 20px;text-align:center;color:var(--muted)}.empty-icon{width:45px;height:45px;border-radius:50%;background:var(--soft);display:grid;place-items:center;margin:0 auto 14px;color:var(--accent)}.empty h3{font-size:15px;color:var(--ink);margin:0 0 7px}.empty p{font-size:12px;line-height:1.9;margin:0}.record{border:1px solid var(--line);border-radius:16px;background:var(--paper);overflow:hidden;position:relative;min-width:0}.record-body{padding:17px}.record h3{font-size:14px;margin:0 0 5px;overflow-wrap:anywhere}.record .record-meta{font-size:10px;letter-spacing:.2px;color:var(--muted)}.record-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.record-actions button{font-size:11px;min-height:37px;padding:7px 10px;border-radius:8px}.record-tag{position:absolute;top:12px;left:12px;z-index:1;border:1px solid #ffffff50;border-radius:20px;padding:3px 8px;font-size:9px;background:var(--paper);color:var(--muted)}.exhibit{height:140px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eef0e5,#e3e8d8);position:relative}.exhibit:after{content:"";height:13px;width:105px;position:absolute;bottom:21px;background:#c5bc9d80;border-radius:50%;filter:blur(5px)}.glass{width:88px;height:104px;margin-top:4px;border:1px solid #ffffffbc;box-shadow:inset 7px 0 14px #ffffff81,inset -4px 0 8px #ffffff72,0 6px 0 #e5dcc3,0 10px 12px #655e4b20;background:linear-gradient(110deg,#ffffff55,#ffffff0a,#ffffff4a);border-radius:44px 44px 5px 5px;display:grid;place-items:center;z-index:1}.glass svg{height:43px;width:43px;color:#aa7750;filter:drop-shadow(0 5px 3px #775f3820)}.money{font-family:Georgia,serif;font-size:21px;margin:5px 0}.fine-print{font-size:10px;color:var(--muted);margin:13px 0 26px}.archive-top{margin:5px 0 28px}.archive-top h1{font-size:34px}.footer{font-size:10px;color:var(--muted);display:flex;justify-content:space-between;gap:14px;padding-top:30px;margin-top:28px;border-top:1px solid var(--line)}.toast{position:fixed;left:calc(50% + 100px);bottom:28px;transform:translateX(-50%);max-width:calc(100vw - 35px);background:var(--ink);color:var(--paper);font-size:13px;line-height:1.6;border-radius:12px;box-shadow:0 8px 30px #0002;padding:13px 20px;z-index:100;pointer-events:none;opacity:0;transition:opacity .2s}.toast.on{opacity:1}.persist-warning{background:#fff2d9;color:#6a4423;border:1px solid #e8cf9d;padding:14px;border-radius:12px;margin-bottom:20px;font-size:13px}.modal{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:27px;width:min(480px,calc(100vw - 28px));max-height:85dvh;border-radius:23px;box-shadow:0 30px 150px #0004;overflow:auto}.modal::backdrop{background:#151d2b70;backdrop-filter:blur(4px)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.icon-button{background:var(--soft);border:0;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;flex-shrink:0}.icon-button svg{width:17px;height:17px}.modal p{font-size:13px;color:var(--muted);line-height:1.9}.modal-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.settings-group{border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.settings-group h3{font-size:13px;margin:0 0 8px}.theme-options{display:flex;gap:8px;flex-wrap:wrap}.theme-option{border:1px solid var(--line);background:var(--bg);padding:9px 13px;border-radius:9px;font-size:12px}.theme-option.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.note-text{white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--line);background:var(--bg);border-radius:15px;padding:20px;font-size:15px;line-height:1.9}.cloth-scene{height:130px;background:linear-gradient(140deg,#efe9f6,#e0dbef);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.cloth{width:67px;height:75px;border-radius:5px 5px 25px 25px;background:linear-gradient(110deg,#fff7df,#eabf91);box-shadow:inset -5px -4px 15px #af877733,3px 8px 12px #68517718;position:relative;transform:rotate(-6deg)}.cloth:before,.cloth:after{content:"";position:absolute;top:-6px;width:6px;height:17px;background:#9c7753;border-radius:3px}.cloth:before{left:9px}.cloth:after{right:9px}.clothesline{position:absolute;top:28px;height:2px;width:120%;background:#9086ac;transform:rotate(-4deg)}.cloth svg{width:25px;height:25px;position:absolute;left:21px;top:26px;color:#a886a7}.folded .cloth{height:47px;border-radius:7px;transform:rotate(-3deg);box-shadow:0 6px 0 #d9ad86,0 12px 0 #e8c19f,0 20px 13px #6956431f}.folded .cloth:before,.folded .cloth:after{display:none}.folded .cloth svg{top:10px}.washing .cloth{animation:tumble 2.2s linear infinite}.washing .cloth-scene:after{content:"";position:absolute;border:9px solid #d5cbe7;border-radius:50%;width:101px;height:101px;box-shadow:0 1px 0 2px #fcf7ff}.ritual-progress{margin-top:12px;height:4px;border-radius:5px;background:var(--soft);overflow:hidden}.ritual-progress span{display:block;height:100%;background:var(--accent);transition:width .8s}.countdown{font-size:12px;color:var(--accent)}.market-lights{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:21px 0}.shop{border:1px solid var(--line);border-radius:12px;padding:15px 5px 10px;text-align:center;color:var(--muted);background:var(--paper);transition:all .6s;min-width:0}.shop svg{margin:0 auto 8px;width:30px;height:30px}.shop span{font-size:10px;display:block}.shop.lit{color:#ffde9e;border-color:#bb985b;background:linear-gradient(#3b3335,#2b2d33);box-shadow:0 0 25px #f1b14617,inset 0 0 20px #ffc96c14}.shop.lit svg{filter:drop-shadow(0 0 6px #ffce8277)}.task-line{display:flex;gap:12px;align-items:flex-start}.task-check{width:29px;height:29px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;background:var(--bg);display:grid;place-items:center;color:var(--accent)}.task-check.done{background:var(--accent);border-color:var(--accent);color:var(--bg)}.task-check svg{width:16px;height:16px}.task-copy{min-width:0;flex:1}.task-done h3{text-decoration:line-through;color:var(--muted)}.shop-tag{font-size:10px;color:var(--gold);display:flex;gap:5px;align-items:center;margin-bottom:7px}.shop-tag svg{width:13px;height:13px}.market-records{grid-template-columns:repeat(2,minmax(0,1fr))}.sparkle{position:absolute;inset:0;z-index:2;background:radial-gradient(ellipse at bottom,#ffd67935,transparent 65%);pointer-events:none;opacity:0;transition:opacity 1s}.sparkle.glow{opacity:1}.celebrate{animation:shine .8s ease-out}.storage-help{color:var(--muted);font-size:11px}.mobile-brand{display:none}.progress-copy{font-size:11px;color:var(--muted);margin:-10px 0 18px}.share-text{width:100%;min-height:125px;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:10px;padding:12px;font-size:13px}
body[data-app=laundry]{--bg:#f4f1f9;--paper:#fffafd;--ink:#4e4264;--muted:#8a7e99;--accent:#8a6bb0;--soft:#ebe3f3;--line:#e4daed;--gold:#bf9786}body[data-app=laundry] h1{font-family:AppSystem,-apple-system,"Apple SD Gothic Neo",sans-serif;font-weight:500;letter-spacing:-1.8px}body[data-app=laundry] .hero:after{background:linear-gradient(transparent,#423052aa)}body[data-app=laundry] .hero-label{color:#715388;background:#fff8ffed}
body[data-app=market]{color-scheme:dark;--bg:#151d2b;--paper:#1d2737;--ink:#f7e8ce;--muted:#a6aab6;--accent:#e7b976;--soft:#2c3543;--line:#354051;--gold:#e9ba74;--shadow:0 12px 42px #0001}body[data-app=market] .primary{color:#30261d}body[data-app=market] .hero-label{color:#ffdda6;background:#243044de;border:1px solid #c5985860}body[data-app=market] .hero:after{background:linear-gradient(transparent,#101827dd)}body[data-app=market] .pill.active{color:#30261d}body[data-app=market] .hero img{filter:brightness(.88)}body[data-app=market] .toast{background:#f4dfb9;color:#30261d}body[data-app=market] .task-check.done{color:#30261d}body[data-app=market] .status-dot{box-shadow:0 0 9px #e7b97699}
body[data-theme=alternate][data-app=museum]{--bg:#eef1ed;--paper:#f9faf5;--accent:#49715f;--soft:#dfe9de;--gold:#8d9f80}body[data-theme=alternate][data-app=laundry]{--bg:#faf1e9;--paper:#fffaf4;--ink:#6b4d44;--muted:#a18477;--accent:#b68171;--soft:#f3e0d7;--line:#ead6c7;--gold:#bd9270}body[data-theme=alternate][data-app=market]{--bg:#251f30;--paper:#30273c;--soft:#403349;--line:#4d3e58;--accent:#e0b4a6;--gold:#e9baa8}
@keyframes tumble{to{transform:rotate(354deg)}}@keyframes shine{50%{box-shadow:0 0 30px #edba7d80;transform:translateY(-3px)}}@media(min-width:1550px){.shell{padding-left:65px;padding-right:65px}.hero{min-height:450px}}@media(max-width:1180px){.sidebar{width:190px;padding:30px 17px}.shell{margin-left:190px;padding:24px 27px 60px}.workbench{gap:18px;grid-template-columns:minmax(0,1.35fr) minmax(285px,1fr)}.hero{min-height:380px}.form-panel{padding:21px}.records{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:950px){.sidebar{width:170px;padding:26px 12px}.shell{margin-left:170px;padding:22px 22px 60px}.brand strong{font-size:16px}.brand small{font-size:8px;letter-spacing:1px}.workbench{grid-template-columns:1fr}.hero{min-height:350px;aspect-ratio:1.6}.form-panel{padding:24px}.intro-seal{display:none}.form-panel form{display:grid;grid-template-columns:1fr 1fr;gap:0 17px}.form-panel .field-row,.form-panel .check,.form-panel .wide,.form-panel .error,.form-panel .form-note,.form-panel .fullfield{grid-column:1/-1}.metrics{margin:19px 0 28px;gap:12px}.metric strong{font-size:22px}.market-lights{gap:7px}.shop span{font-size:9px}.toast{left:calc(50% + 85px)}}
@media(max-width:640px){body{font-size:14px}.sidebar{inset:auto 0 0;width:auto;padding:0;border:0;border-top:1px solid var(--line);height:calc(66px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);backdrop-filter:blur(15px)}.sidebar .brand,.side-bottom{display:none}.nav{margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;height:66px}.nav button{flex-direction:column;justify-content:center;gap:2px;padding:8px 3px;border-radius:0;font-size:10px;font-weight:500}.nav button svg{width:20px;height:20px}.nav button.active{background:transparent;color:var(--accent)}.shell{margin-left:0;padding:20px 19px 105px}.mobile-brand{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:650;color:var(--ink)}.mobile-brand svg{width:20px;height:20px}.topbar{margin-bottom:26px}.topbar .hello,.topbar .date>span:first-child{display:none}.badge{font-size:9px;padding:3px 8px}.intro{margin-bottom:21px}.eyebrow{font-size:10px;margin-bottom:8px}h1{font-size:29px;letter-spacing:-1px;line-height:1.45}p.lead{font-size:11px;margin-top:10px}.hero{min-height:275px;aspect-ratio:1.2;border-radius:18px}.hero img{object-position:center}.hero-label{left:16px;top:16px;font-size:10px;padding:5px 10px}.hero-caption{left:18px;right:18px;bottom:17px;font-size:11px}.hero-caption small{font-size:8px}.workbench{gap:16px}.form-panel{padding:22px;border-radius:18px}.form-panel form{display:block}.form-panel h2{font-size:18px}.field input,.field select,.field textarea{font-size:16px}.field textarea{font-size:15px}.field-row .field select{font-size:14px}.metrics{padding:16px 13px;gap:10px;border-radius:13px}.metric-label{font-size:9px}.metric strong{font-size:20px}.metric em{font-size:10px;margin-left:3px}.metric{padding-right:6px}.records{gap:12px}.record-body{padding:13px}.record h3{font-size:13px}.record-actions{gap:5px}.record-actions button{font-size:10px;min-height:36px;padding:7px 9px}.money{font-size:20px}.exhibit{height:125px}.glass{transform:scale(.9)}.section-head{align-items:center}.section-head h2{font-size:16px}.section-head p{font-size:9px}.empty{padding:30px 15px}.fine-print{font-size:9px}.toast{left:50%;bottom:calc(82px + env(safe-area-inset-bottom));font-size:12px}.footer{font-size:9px}.archive-top h1{font-size:29px}.shop{padding:13px 2px 9px;border-radius:9px}.shop svg{width:24px;height:24px}.market-lights{gap:6px;margin:18px 0}.shop span{font-size:9px}.market-records{grid-template-columns:1fr}.cloth-scene{height:120px}.modal{padding:23px}.modal-head h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

body[data-app=market] .hero>img{filter:brightness(.25) saturate(.5)}.shop-light{opacity:0;transition:opacity 1.5s;pointer-events:none;filter:none!important}.shop-light.on{opacity:1}.shop-light.tea{mask-image:radial-gradient(ellipse 26% 34% at 14% 20%,black 45%,transparent 100%)}.shop-light.books{mask-image:radial-gradient(ellipse 18% 32% at 41% 43%,black 48%,transparent 100%)}.shop-light.bread{mask-image:radial-gradient(ellipse 23% 30% at 83% 24%,black 45%,transparent 100%)}.shop-light.flowers{mask-image:radial-gradient(ellipse 27% 31% at 17% 65%,black 48%,transparent 100%)}.shop-light.noodles{mask-image:radial-gradient(ellipse 23% 32% at 65% 65%,black 48%,transparent 100%)}.shop-light.plants{mask-image:radial-gradient(ellipse 23% 28% at 88% 78%,black 45%,transparent 100%)}.wash-glow{position:absolute;left:57%;top:48%;height:24%;width:17%;border-radius:50%;background:radial-gradient(#fff1a24d,transparent 72%);opacity:0;pointer-events:none}.doing-laundry .wash-glow{opacity:1;animation:warmglow 1.6s ease-in-out infinite alternate}@keyframes warmglow{to{filter:brightness(1.7);transform:scale(1.1)}}@media(max-width:640px){body[data-app=museum] .metrics{grid-template-columns:1fr 1fr}body[data-app=museum] .metric:first-child{grid-column:1/-1;border-right:0;border-bottom:1px solid var(--line);padding-bottom:10px}body[data-app=museum] .metric:first-child strong{font-size:27px}.hero-caption small{display:none}}

/* Offline hint is informational, never blocks recording, and respects safe areas. */
.offline-indicator{padding:10px 14px;margin:0 0 15px;border:1px solid #b89c6e;border-radius:12px;background:#fff6e5;color:#514634;font-size:12px;line-height:1.7}
@media(max-width:640px){.offline-indicator{font-size:11px;margin-top:-8px}}

/* V5 museum experience: one-tap first action and coherent exhibit miniatures. */
.hero-caption{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.hero-caption>span{max-width:27em;text-wrap:pretty}
.hero-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-top:10px;padding:10px 16px;min-height:46px;border:1px solid #f6e8be;background:#fff9e9;color:#214538;box-shadow:0 6px 18px #081b1680;border-radius:11px;font-size:13px;font-weight:750;letter-spacing:-.25px}
.hero-cta:hover{background:#fae8c3}
.hero-cta:focus-visible{outline:3px solid #f9d18f;outline-offset:3px}
.hero-cta span{font-size:15px}
.record-museum-scene{height:162px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;overflow:hidden;background:radial-gradient(ellipse at 49% -27%,#fffaf5,#efece1 57%,#d7dfd0 100%);isolation:isolate}
.record-museum-scene::before{content:"";position:absolute;left:24%;top:-30px;width:53%;height:130px;background:linear-gradient(180deg,#fffdf5c9,#fffdf500);clip-path:polygon(36% 0,64% 0,100% 100%,0 100%);opacity:.8;pointer-events:none}
.record-museum-scene::after{content:"";position:absolute;left:0;right:0;bottom:0;height:14px;background:linear-gradient(180deg,#e5d5b8,#c3b08e);box-shadow:0 -1px #fff5da,0 -8px 16px #766c5350;z-index:-1}
.record-museum-lamp{position:absolute;top:-5px;left:calc(50% - 26px);width:52px;height:8px;border-radius:2px 2px 6px 6px;background:linear-gradient(90deg,#8f7349,#edd49d,#8f7349);box-shadow:0 1px 11px #f8e1af}
.record-museum-object{height:122px;max-width:175px;width:66%;display:grid;place-items:center;position:relative;filter:drop-shadow(0 10px 6px #354b3542)}
.record-museum-object svg.museum-object{width:100%;height:100%;max-width:none}
.record-museum-plinth{height:14px;width:70%;max-width:180px;background:linear-gradient(180deg,#fffcf4 0 24%,#cab89a 25% 68%,#8d8068 100%);border-radius:3px 3px 6px 6px;box-shadow:0 5px 6px #26372f36;margin-bottom:15px}
.record-museum .record-tag{background:#f7f0df;border:1px solid #d5c4a5;color:#4d4e3b;padding:4px 9px;font-size:10px;font-weight:650}
.record-museum .record-body{border-top:1px solid #e4dfd3}
.record-museum .record-body h3{font-size:15px;line-height:1.5;letter-spacing:-.2px}
.record-museum .money{font-family:Georgia,"Malgun Gothic",sans-serif;font-weight:600;color:#2d523f;letter-spacing:-.4px;font-variant-numeric:tabular-nums}
.record-museum .record-actions button:not(.link-button){min-height:44px;padding:9px 12px;font-size:12px}
.record-museum .record-meta{font-size:11px}
.record-status-waiting .record-museum-scene{background:radial-gradient(ellipse at 50% 3%,#f5f5ee,#e5e9df 70%,#d1ded7)}
.record-status-waiting .record-museum-object{filter:grayscale(.18) opacity(.9) drop-shadow(0 10px 6px #354b3542)}
.record-status-purchased .record-museum-scene{background:radial-gradient(ellipse at 50% -4%,#f1e9e1,#e8dfd4 73%,#cfc6b9)}
.record-status-purchased .record-museum-object{filter:saturate(.75) drop-shadow(0 10px 6px #3c372e45)}
.record-status-purchased .money{color:#746d62}
@media(max-width:640px){
 .hero{min-height:245px;aspect-ratio:auto}
 .hero-caption{left:15px;right:15px;bottom:14px;gap:3px}
 .hero-caption>span{font-size:11px}
 .hero-cta{min-height:44px;margin-top:6px;padding:8px 13px;font-size:12px}
 .record-museum-scene{height:146px}
 .record-museum-object{height:104px}
 .record-museum-plinth{margin-bottom:14px}
 .record-museum .record-actions button:not(.link-button){font-size:11px;min-height:44px}
}
@media(prefers-reduced-motion:reduce){.hero-cta{transition:none}}

/* V5 archive density. One treasured record gets a composed editorial layout. */
body[data-app="museum"] .records[data-density="one"]{grid-template-columns:minmax(0,1fr);max-width:760px}
body[data-app="museum"] .records[data-density="two"]{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px}
body[data-app="museum"] .records[data-density="one"] .record-museum{display:grid;grid-template-columns:minmax(200px,1fr) minmax(0,1.25fr);min-height:240px}
body[data-app="museum"] .records[data-density="one"] .record-museum-scene{height:100%;min-height:240px}
body[data-app="museum"] .records[data-density="one"] .record-museum-object{height:151px;width:88%;max-width:220px}
body[data-app="museum"] .records[data-density="one"] .record-museum-plinth{height:17px;width:80%;margin-bottom:29px}
body[data-app="museum"] .records[data-density="one"] .record-museum .record-body{border-top:0;display:flex;flex-direction:column;justify-content:center;padding:22px 23px}
body[data-app="museum"] .records[data-density="one"] .record-museum .record-body h3{font-size:19px}
body[data-app="museum"] .records[data-density="one"] .record-museum .money{font-size:27px;margin:10px 0}
body[data-app="museum"] .records[data-density="one"] .record-museum .record-actions{margin-top:17px}
@media(max-width:950px){body[data-app="museum"] .records[data-density="one"]{max-width:680px}}
@media(max-width:640px){
 body[data-app="museum"] .records[data-density="one"],
 body[data-app="museum"] .records[data-density="two"]{grid-template-columns:1fr;max-width:none}
 body[data-app="museum"] .records[data-density="one"] .record-museum{display:block;min-height:0}
 body[data-app="museum"] .records[data-density="one"] .record-museum-scene{height:175px;min-height:0}
 body[data-app="museum"] .records[data-density="one"] .record-museum-object{height:126px;max-width:185px}
 body[data-app="museum"] .records[data-density="one"] .record-museum-plinth{height:14px;margin-bottom:17px}
 body[data-app="museum"] .records[data-density="one"] .record-museum .record-body{padding:16px}
 body[data-app="museum"] .records[data-density="one"] .record-museum .record-body h3{font-size:16px}
 body[data-app="museum"] .records[data-density="one"] .record-museum .money{font-size:23px;margin:5px 0}
}

/* Local backup restore: high-contrast, explicit destructive-change consent. */
.restore-warning{background:#f8eee1;border:1px solid #ddc5a0;border-radius:11px;padding:14px;color:#5c4230!important;line-height:1.8}
.restore-warning strong{color:#8b422e}
.restore-summary{background:#eaf0e7;border:1px solid #c6d2c5;border-radius:11px;padding:12px 14px;color:#244637!important;font-variant-numeric:tabular-nums}
.restore-summary strong{color:#163c30}
.restore-confirm{display:flex;gap:11px;align-items:center;margin-top:17px;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:13px 14px;font-size:13px;line-height:1.6;cursor:pointer}
.restore-confirm input{min-width:20px;min-height:20px;accent-color:var(--accent)}
.restore-confirm:focus-within{outline:2px solid var(--gold);outline-offset:2px}
.modal-actions button:disabled{opacity:.48;cursor:not-allowed}

/* Local-only migration bridge: accessible backup JSON entry, never auto-imported. */
.backup-paste-label{display:block;font-size:14px;font-weight:750;color:var(--ink);margin:16px 0 8px}
.backup-paste{box-sizing:border-box;width:100%;max-width:100%;min-height:140px;max-height:36vh;border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:13px;color:var(--ink);font-size:13px;line-height:1.5;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical;overflow:auto;word-break:break-all}
.backup-paste:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.backup-paste-hint{font-size:12px;color:var(--muted);line-height:1.6}
@media(max-width:640px){.backup-paste{min-height:116px;max-height:25vh}.backup-paste-label{font-size:14px}}
