@charset "UTF-8";
.preview-notice{margin:0;padding:10px 16px;text-align:center;background:#d8bc7a;color:#203329;font-size:11px}
:root{--button-fill:#f5f6f5;--button-ink:#17201d;--button-hover:#e5e8e6;--button-active:#dce2df;--ink:#f4f1e7;--muted:#c2c8b9;--accent:#d8bc7a;--accent-ink:#253629;--surface:rgba(13,35,27,.7);--border:rgba(222,210,172,.24);--bg:#10231c;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px;min-height:100svh}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--border);border-radius:6px;padding:10px 16px;background:transparent;color:inherit;transition:background .2s,transform .2s}button:hover:not(:disabled){background:rgba(245,246,245,.12)}button:disabled{opacity:.35;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}a{color:var(--accent)}.scenery,.veil{position:fixed;inset:0;z-index:-2;pointer-events:none}.scenery{background:url('../images/shrine-photo-desktop-1.2.1.jpg') center 68%/cover no-repeat;transition:background-image .5s;opacity:1}.veil{z-index:-1;background:linear-gradient(180deg,rgba(6,23,17,.42),rgba(7,24,18,.12) 35%,rgba(8,23,18,.7) 85%,rgba(8,23,18,.8))}.topbar{max-width:1440px;margin:auto;padding:25px 40px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:12px;align-items:center;font-family:var(--serif);font-size:21px;letter-spacing:.12em;text-decoration:none;color:var(--ink)}.top-actions{display:flex;gap:10px;align-items:center}.icon-button{padding:10px 13px;background:rgba(11,28,22,.4);font-size:12px}.free{font-size:11px;letter-spacing:.1em;color:#dad7c6;margin-right:10px}main{max-width:910px;padding:0 28px;margin:0 auto}.intro{text-align:center;padding:30px 0 26px}.eyebrow{font-size:9px;letter-spacing:.28em;color:var(--accent);font-weight:600}.intro h1{font-family:var(--serif);font-weight:500;font-size:clamp(25px,3vw,35px);letter-spacing:.13em;line-height:1.8;margin:13px 0 6px;text-shadow:0 2px 30px #07160e}.intro p{font-size:12px;letter-spacing:.14em;color:#e0e2d7}.mobile-break{display:none}.themes{display:flex;justify-content:center;gap:6px;margin:0 auto 22px;width:max-content;max-width:100%;padding:5px;border:1px solid var(--border);border-radius:9px;background:rgba(9,27,19,.65);backdrop-filter:blur(14px)}.themes button{border:0;padding:10px 20px;font-size:12px;display:flex;gap:8px;align-items:center}.themes button small{font-size:8px;letter-spacing:.12em;opacity:.65}.themes button[aria-pressed=true]{background:var(--button-fill);color:var(--button-ink)}.themes button span{font-size:16px}.ceremony{border:1px solid var(--border);background:var(--surface);box-shadow:0 20px 70px #03110c55;border-radius:12px;padding:23px 30px 0;backdrop-filter:blur(16px)}.ceremony-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px;letter-spacing:.05em}.phase-badge{border:1px solid var(--border);border-radius:20px;padding:5px 12px;color:var(--accent)}.name-stage{text-align:center;padding:15px 0 8px}.ornament{font-size:23px;color:var(--accent);opacity:.8}.name-stage>p:first-of-type{font-size:11px;letter-spacing:.25em;color:var(--muted);margin:13px 0 12px}.name{font-family:var(--serif);font-size:clamp(40px,7vw,76px);font-weight:500;letter-spacing:.18em;min-height:108px;display:flex;justify-content:center;align-items:center;padding-left:.18em;color:#fff6da;text-shadow:0 0 35px #ddbf7733;overflow-wrap:anywhere}.name-stage #guidance{font-size:11px;color:var(--muted);min-height:32px;line-height:1.9;margin:7px 0 0}.stage-line{display:flex;align-items:center;gap:15px;color:var(--accent);width:70%;margin:12px auto 20px;font-size:8px}.stage-line:before,.stage-line:after{content:"";height:1px;background:linear-gradient(90deg,transparent,var(--border));flex:1}.stage-line:after{transform:rotate(180deg)}.main-controls{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:10px}.action{padding:17px 8px 13px;font-size:15px;letter-spacing:.08em;position:relative;min-height:76px}.action>span{position:absolute;top:8px;left:10px;font-size:8px;opacity:.6}.action small{display:block;font-size:9px;letter-spacing:.08em;margin-top:7px}.primary{background:var(--button-fill);color:var(--button-ink);border-color:var(--button-fill);font-weight:bold}.primary:hover:not(:disabled),.save-button:hover:not(:disabled){background:var(--button-hover)}.stop{border-color:#06c755;color:#ffffff}.stop:not(:disabled){background:#06c755;color:#ffffff}.after-controls{display:flex;justify-content:center;gap:14px;align-items:center;padding:16px 0}.after-controls button{font-size:10px;border:0;padding:9px 13px;color:var(--muted)}.after-controls #finalize{color:var(--button-fill);border:1px solid var(--border)}.check-strip{border-top:1px solid var(--border);padding:13px 0;display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted);line-height:1.7}.check-strip>span:nth-child(2){flex:1}.check-strip button{font-size:10px;border:0;padding:2px 0;color:var(--button-fill);white-space:nowrap}.status-dot{height:5px;width:5px;border-radius:50%;background:var(--accent);flex-shrink:0}.collection{margin-top:23px;border:1px solid var(--border);border-radius:10px;background:rgba(12,31,24,.7);padding:0 20px;backdrop-filter:blur(14px)}.collection-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);gap:8px}.tabs{display:flex;gap:17px}.tabs button{padding:17px 0;border:0;border-bottom:2px solid transparent;border-radius:0;font-size:11px;color:var(--muted)}.tabs button[aria-pressed=true]{border-color:var(--button-fill);color:var(--button-fill)}.tabs span{display:inline-grid;place-items:center;min-width:17px;border-radius:4px;margin-left:5px;background:#aaa2;font-size:9px}.text-button{border:0;font-size:10px;color:var(--muted);padding:10px 0}.name-list{padding:19px 0;display:flex;gap:10px;flex-wrap:wrap;max-height:340px;overflow-y:auto}.empty{font-size:11px;color:var(--muted);text-align:center;width:100%;padding:6px 0}.record{border:1px solid var(--border);border-radius:6px;padding:12px 15px;flex:0 1 170px;background:#f8efcd06}.record strong{font:23px var(--serif);display:block;letter-spacing:.1em}.record small{font-size:9px;color:var(--muted);display:block;margin:6px 0}.record button{font-size:10px;padding:6px 8px;margin:3px 4px 0 0}.record.final{border-color:var(--accent)}.device-note{text-align:center;font-size:10px;color:var(--muted);margin:20px 0 28px}footer{max-width:1360px;padding:18px 40px 25px;margin:auto;display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:9px;letter-spacing:.07em;border-top:1px solid var(--border)}footer>span:first-child{font-family:var(--serif);font-size:12px}dialog{color:var(--ink);background:#132b22;border:1px solid var(--border);border-radius:14px;padding:0;width:min(780px,calc(100% - 24px));max-height:90svh;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#06120de0;backdrop-filter:blur(8px)}.dialog-head{padding:25px 28px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border)}.dialog-head h2{font:26px var(--serif);margin:8px 0 0;letter-spacing:.1em}.dialog-body{padding:20px 28px}.dialog-body section{margin:0 0 27px}.notice{font-size:12px;line-height:1.9;background:#dcc08012;padding:15px;border-left:2px solid var(--accent);margin:0 0 25px}.dialog-body h3{font-size:14px;font-weight:500;margin:0 0 10px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-head button{font-size:11px;padding:8px}.help{font-size:11px;color:var(--muted);line-height:1.9}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid label{display:grid;gap:10px;font-size:12px}input:not([type=checkbox]):not([type=range]),textarea,select{width:100%;border:1px solid var(--border);border-radius:5px;padding:11px;background:#061a13;color:var(--ink);font-size:13px;line-height:1.7;min-width:0}textarea{resize:vertical}input[type=range]{width:100%;accent-color:var(--accent)}input[type=checkbox]{accent-color:var(--accent);width:17px;height:17px;flex-shrink:0}.wide-button{width:100%;background:rgba(245,246,245,.08);font-size:12px}.check-label{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.8;margin:12px 0}.check-label input{margin-top:2px}.shop-card{border:1px solid var(--border);border-radius:8px;padding:15px;margin:15px 0;background:#061c1533}.shop-card-header{display:flex;gap:10px;align-items:center;margin-bottom:9px}.shop-card-header input{flex:1}.shop-card-header button{font-size:11px;white-space:nowrap}.shop-card label{font-size:11px}.shop-card .url-label{display:block;margin-bottom:5px}.shop-summary{font-size:11px;line-height:1.9;padding:9px 0;color:var(--accent)}.shop-summary.error,.error-message{color:#ffbca9}.unresolved-list{display:grid;gap:10px;margin:10px 0}.reading-row{display:grid;grid-template-columns:minmax(75px,1fr) minmax(90px,1fr);align-items:center;gap:10px;border-bottom:1px solid var(--border);padding-bottom:9px}.reading-row span{font-size:12px;overflow-wrap:anywhere}.reading-row input{padding:7px!important}.roster-preview{font-size:11px;line-height:2;white-space:pre-wrap;max-height:200px;overflow:auto;color:var(--muted)}.shop-card details{margin:12px 0}.shop-card textarea{font-size:12px}.dialog-foot{padding:16px 28px;border-top:1px solid var(--border);position:sticky;bottom:0;background:#132b22}.save-button{width:100%;background:var(--button-fill);color:var(--button-ink);padding:14px;font-weight:bold;border-color:var(--button-fill)}summary{cursor:pointer;font-size:12px;line-height:1.8;color:var(--accent)}.backup-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.backup-actions button,.file-button,#candidates-reset{font-size:11px;padding:10px}.file-button{display:inline-block;border:1px solid var(--border);border-radius:6px;cursor:pointer}.file-button input{display:none}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);width:max-content;max-width:90%;background:#f2e6c5;color:#233526;border:1px solid #c8ad70;padding:14px 20px;border-radius:7px;z-index:20;font-size:12px;box-shadow:0 8px 30px #0005}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#complete{width:min(520px,calc(100% - 28px));text-align:center;background:radial-gradient(circle at 50% 25%,#5b603555,transparent 55%),#132b22}.complete-inner{padding:40px 35px 30px}.complete-inner h2{font:28px var(--serif);letter-spacing:.12em;margin:15px 0 30px}.complete-inner p{color:var(--muted);font-size:11px;line-height:1.9}.celebrate{font-size:60px;color:var(--accent);margin:10px 0}.complete-name{font:clamp(38px,8vw,64px) var(--serif);letter-spacing:.2em;color:#fff0c5;overflow-wrap:anywhere;padding-left:.2em}.sponsor{border-top:1px solid var(--border);padding:25px 0;margin:25px 0 10px}.sponsor small{font-size:11px;color:var(--muted)}.sponsor strong{display:block;font:29px Georgia,serif;margin:13px 0;color:var(--accent);letter-spacing:.03em}.sponsor a{display:inline-block;text-decoration:none;border:1px solid var(--border);padding:10px 18px;border-radius:5px;font-size:11px}.modal-close{position:absolute;right:12px;top:12px;border:0;padding:8px 11px}.spinning .name{filter:blur(.6px);opacity:.8}.revealed .name{animation:reveal .7s ease-out}.completed .name{color:var(--accent)}@keyframes reveal{from{transform:scale(.88);opacity:.3;text-shadow:0 0 65px #ffe09f}to{transform:scale(1);opacity:1}}[hidden]{display:none!important}
html[data-theme=temple]{--accent:#e4c27e;--surface:rgba(0,0,0,.7);--bg:#000;--border:rgba(222,210,172,.3);--muted:#cad3df;--accent-ink:#273246}.temple .scenery,html[data-theme=temple] .scenery{background-image:url('../images/temple-photo-desktop-1.2.1.jpg');background-position:50% 72%;opacity:1}html[data-theme=temple] .veil{background:linear-gradient(180deg,rgba(0,0,0,.6),rgba(0,0,0,.22) 38%,rgba(0,0,0,.72))}html[data-theme=temple] .collection{background:rgba(0,0,0,.7)}html[data-theme=temple] dialog,html[data-theme=temple] .dialog-foot,html[data-theme=temple] #complete{background-color:rgba(0,0,0,.7)}html[data-theme=temple] input:not([type=checkbox]):not([type=range]),html[data-theme=temple] textarea,html[data-theme=temple] select{background:#111}
@media(min-width:1500px){.intro{padding-top:55px}.ceremony{margin-top:24px}.name-stage{padding-top:25px}.name{min-height:125px}.name-stage #guidance{margin-top:15px}.main-controls{margin-top:10px}}@media(max-width:640px){.topbar{padding:18px}.brand{font-size:18px;gap:8px}.free{display:none}.top-actions{gap:6px}.icon-button{padding:9px 10px;font-size:11px}main{padding:0 14px}.intro{padding:28px 0 23px}.intro h1{font-size:25px;line-height:1.7;letter-spacing:.08em}.mobile-break{display:block}.intro p{font-size:10px}.eyebrow{font-size:8px;letter-spacing:.22em}.themes{width:100%;gap:3px;padding:4px;margin-bottom:16px}.themes button{justify-content:center;flex:1;padding:9px 3px;gap:5px;font-size:11px}.themes button small{display:none}.ceremony{padding:17px 16px 0;border-radius:9px}.ceremony-top{font-size:9px}.phase-badge{padding:4px 9px}.name-stage{padding-top:12px}.name{font-size:52px;min-height:95px}.name-stage #guidance{font-size:10px;line-height:1.8;min-height:36px}.main-controls{gap:6px}.action{font-size:12px;padding:18px 2px 13px;min-height:73px;letter-spacing:.02em}.action small{font-size:8px;letter-spacing:0}.action>span{font-size:7px;left:7px;top:7px}.after-controls{gap:2px;justify-content:space-between;padding:13px 0}.after-controls button{padding:9px 5px;font-size:9px}.check-strip{font-size:9px;gap:6px}.check-strip button{font-size:9px}.collection{margin-top:17px;padding:0 13px}.collection-head{align-items:center}.tabs{gap:11px}.tabs button{font-size:10px}.text-button{font-size:9px}.record{flex-basis:calc(50% - 5px);padding:10px}.record strong{font-size:22px}.device-note{font-size:9px}footer{padding:16px 20px 23px;font-size:8px}footer>.footer-tagline{max-width:180px;text-align:right;line-height:1.7}.dialog-head{padding:20px}.dialog-body{padding:18px}.dialog-head h2{font-size:23px}.dialog-foot{padding:14px 18px}.form-grid{gap:12px}.complete-inner{padding:36px 23px 25px}.complete-inner h2{font-size:25px}.complete-name{font-size:50px}.reading-row{grid-template-columns:1fr 1fr}.shop-card{padding:12px}.shop-card-header{gap:6px}.shop-card-header button{padding:7px}.backup-actions{display:grid}.name-list{max-height:300px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.spinning .name{filter:none}}

/* 1.1.1: readable text and generous touch controls for phone use. */
body{font-size:16px;line-height:1.6}
.intro p{font-size:15px}
.icon-button,.themes button{min-height:44px;font-size:14px}
.ceremony-top{font-size:14px;gap:10px;flex-wrap:wrap}
.name-stage>p:first-of-type,.name-stage #guidance{font-size:15px}
.action{font-size:18px;min-height:88px}
.action small{font-size:12px}
.action>span{font-size:10px}
.after-controls{gap:10px;align-items:stretch}
.after-controls button{font-size:16px;min-height:56px;padding:12px 16px;border:1px solid var(--border);border-radius:8px}
.after-controls #finalize{font-weight:700;background:var(--button-fill);color:var(--button-ink);border-color:var(--button-fill)}
.after-controls button:disabled{opacity:.45}
.check-strip,.check-strip button{font-size:14px}
.check-strip button{min-height:44px;padding:8px 4px}
.tabs button,.text-button,.empty{font-size:14px}
.tabs button,.text-button,.record button{min-height:44px}
.record small{font-size:12px}
.record button{font-size:14px}
.device-note{font-size:13px;line-height:1.8}
.notice,.help,.check-label,.shop-card label,.shop-summary,.roster-preview,summary{font-size:14px}
.dialog-body h3{font-size:17px}
.dialog-body button,.backup-actions button,.file-button,#candidates-reset,.form-grid label,.reading-row span{font-size:15px;min-height:44px}
input:not([type=checkbox]):not([type=range]),textarea,select,.shop-card textarea{font-size:16px}
.complete-inner p,.sponsor small,.sponsor a{font-size:14px}
.sponsor a,.modal-close{min-height:44px}
dialog{background:rgba(19,43,34,.7)}
.dialog-foot{background:rgba(19,43,34,.7)}
#complete{background:rgba(19,43,34,.7)}
html[data-theme=temple] dialog,html[data-theme=temple] .dialog-foot,html[data-theme=temple] #complete{background:rgba(0,0,0,.7)}
@media(max-width:640px){
  .topbar{padding:16px 14px;gap:8px}
  .brand{font-size:17px;letter-spacing:.06em}
  
  .top-actions{gap:6px;flex-shrink:0}
  .icon-button{font-size:13px;padding:9px 10px}
  .intro h1{font-size:clamp(24px,6.5vw,30px);letter-spacing:.04em;line-height:1.65}
  .intro p{font-size:14px;letter-spacing:.04em}
  .themes button{font-size:16px;min-height:48px}
  .ceremony{padding:16px 14px 0}
  .ceremony-top{font-size:12px;gap:8px}
  .phase-badge{padding:5px 10px}
  .name-stage>p:first-of-type{font-size:14px;letter-spacing:.1em}
  .name{font-size:clamp(26px,9vw,42px);letter-spacing:.1em;min-height:100px;padding-left:.1em;line-height:1.65}
  .name-stage #guidance{font-size:14px;line-height:1.8;min-height:50px}
  .main-controls{gap:7px;grid-template-columns:repeat(3,minmax(0,1fr))}
  .action{font-size:clamp(12px,3.7vw,16px);min-height:88px;padding:23px 3px 12px;letter-spacing:0}
  .action small{font-size:11px;line-height:1.6;margin-top:8px}
  .action>span{font-size:10px}
  .after-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:16px 0}
  .after-controls button{width:100%;font-size:17px;min-height:56px;padding:13px 12px}
  .check-strip{flex-wrap:wrap;font-size:13px;gap:8px}
  .check-strip>span:nth-child(2){flex:1;min-width:0}
  .check-strip button{font-size:14px;margin-left:auto}
  .collection{padding:0 14px}
  .collection-head{flex-wrap:wrap;gap:0}
  .tabs{gap:16px;width:100%;justify-content:space-between}
  .tabs button{font-size:14px;min-height:54px}
  .tabs span{font-size:12px;min-width:22px}
  .text-button{font-size:14px;min-height:44px;margin-left:auto}
  .empty{font-size:14px;line-height:1.9}
  .record{flex-basis:100%}
  .record strong{font-size:27px}
  .record button{font-size:14px;min-height:44px}
  .device-note{font-size:12px}
  .form-grid{grid-template-columns:minmax(0,1fr)}
  .shop-card-header{flex-wrap:wrap}
  .shop-card-header input{min-width:0}
  .complete-name{font-size:clamp(30px,9vw,50px);letter-spacing:.1em}
  footer{font-size:10px}
}

/* Audio attribution: discreet, readable and present in both themes. */
footer{flex-wrap:wrap}
footer .sound-credit{flex:0 0 100%;display:flex;justify-content:center;align-items:center;gap:4px;max-width:none;white-space:nowrap;text-align:center;font:12px/1.8 var(--sans);letter-spacing:0;color:var(--muted)}
.sound-credit a{display:inline-flex;align-items:center;flex-shrink:0;white-space:nowrap;min-height:44px;color:inherit;text-underline-offset:3px}

/* 1.1.5: supplied wordmark, no emblem. Preserve the original aspect ratio. */
.brand{display:block;min-width:0;flex:0 1 260px;line-height:0}
.brand-logo{display:block;width:260px;max-width:100%;height:auto}
@media(max-width:640px){
  .brand{flex:0 1 clamp(140px,40vw,220px)}
  .brand-logo{width:100%;height:auto}
}

/* Supplied photos: cover crops to the viewport; original proportions stay intact. */
@media(max-width:768px) and (orientation:portrait){
  .scenery{background-image:url('../images/shrine-photo-mobile-1.2.1.jpg');background-position:50% 68%}
  html[data-theme=temple] .scenery{background-image:url('../images/temple-photo-mobile-1.2.1.jpg');background-position:50% 72%}
}

/* 1.2.2: settings dialog only. Main ceremony and theme styles are unchanged. */
#settings{width:min(780px,calc(100vw - 24px));max-width:calc(100vw - 24px)}
#settings .dialog-head{padding:18px 22px;gap:12px}
#settings .dialog-head h2{font:600 23px/1.4 var(--sans);letter-spacing:.02em;margin:0}
#settings .dialog-body{padding:20px 22px}
#settings .shop-registration{margin-bottom:20px}
#settings .registration-label{display:block;font-size:17px;font-weight:700;margin:0 0 10px}
#settings .registration-inputs{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch}
#settings .registration-inputs input{min-width:0;min-height:52px;font-size:16px}
#settings .registration-inputs .save-button{width:auto;min-width:110px;min-height:52px;padding:12px 18px;font-size:16px}
#settings #shop-register-message{margin:9px 0 16px;font-size:13px;line-height:1.7}
#settings .shop-card{margin:12px 0;padding:16px}
#settings .shop-card-header{justify-content:space-between;align-items:center;margin:0;flex-wrap:nowrap}
#settings .registered-shop-name{font-size:16px;min-width:0;overflow-wrap:anywhere}
#settings .shop-card-header button{flex-shrink:0;min-height:44px;font-size:14px;padding:8px 14px}
#settings .registered-shop-url{font-size:13px;line-height:1.65;color:var(--muted);overflow-wrap:anywhere;margin:4px 0 8px}
#settings .shop-summary{font-size:15px;line-height:1.7;padding:0;margin:8px 0}
#settings .shop-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
#settings .shop-actions button{font-size:14px;min-height:44px;padding:9px 13px}
#settings #shop-add{min-height:48px;font-size:15px;background:transparent}
#settings #fetch-all{min-height:50px;font-size:15px;margin-top:10px}
#settings .roster-summary{padding:12px 14px;border:1px solid var(--border);border-radius:7px;color:var(--accent);font-size:15px;line-height:1.7;margin:16px 0 0}
#settings .roster-summary.needs-review{color:#ffbca9}
#settings .advanced-settings{border:1px solid var(--border);border-radius:8px;padding:0 15px}
#settings .advanced-settings>summary{font-size:16px;font-weight:600;min-height:52px;padding:13px 0;line-height:1.6}
#settings .advanced-body{padding:0 0 16px}
#settings .advanced-body>.help:first-child{margin:0 0 18px}
#settings .advanced-group{margin-top:24px}
#settings .advanced-group>label{display:block;font-size:15px;font-weight:600;margin:0 0 8px}
#settings .advanced-group .help{font-size:13px;margin:8px 0}
#settings .shop-advanced{border-top:1px solid var(--border);padding:10px 0}
#settings .shop-advanced>summary{font-size:15px;min-height:44px;padding:8px 0;overflow-wrap:anywhere}
#settings .shop-advanced>label{display:block;font-size:14px;margin:12px 0}
#settings .shop-advanced>.check-label{display:flex}
#settings .shop-advanced input:not([type=checkbox]),#settings .shop-advanced textarea{margin-top:6px;font-size:16px}
#settings .candidate-settings{margin-top:24px}
#settings .candidate-settings>summary{min-height:44px;font-size:15px;padding:9px 0}
#settings #candidates-reset{font-size:14px;margin-top:10px;min-height:44px}
#settings .backup-actions{margin-top:0}
#settings .backup-actions button,#settings .file-button{font-size:14px;min-height:48px;line-height:1.6;text-align:center;padding:12px}
#settings #settings-message{font-size:14px;line-height:1.7;margin:16px 0 0;overflow-wrap:anywhere}
#settings #settings-message:empty{display:none}
#settings .dialog-foot{padding:14px 22px max(14px,env(safe-area-inset-bottom))}
#settings #settings-save{font-size:17px;min-height:52px}
@media(max-width:640px){
  #settings .dialog-head{padding:16px}
  #settings .dialog-body{padding:16px}
  #settings .registration-inputs{grid-template-columns:minmax(0,1fr)}
  #settings .registration-inputs .save-button{width:100%}
  #settings .shop-card{padding:12px}
  #settings .shop-actions button{flex:1 1 auto}
  #settings .advanced-settings{padding:0 12px}
  #settings .dialog-foot{padding-left:16px;padding-right:16px}
}

/* 1.2.5: clear-white buttons in both themes; decorative accents stay unchanged. */
.themes button[aria-pressed=true]:hover:not(:disabled),.after-controls #finalize:hover:not(:disabled){background:var(--button-hover)}
.primary:active:not(:disabled),.save-button:active:not(:disabled),.themes button[aria-pressed=true]:active:not(:disabled),.after-controls #finalize:active:not(:disabled){background:var(--button-active)}
button:focus-visible{outline-color:var(--button-fill)}

/* 1.2.6: green STOP in both themes, with separate enabled/disabled states. */
.stop:hover:not(:disabled){background:#05b34c;border-color:#05b34c}
.stop:active:not(:disabled){background:#04a849;border-color:#04a849}
