@charset "UTF-8";
.preview-notice{margin:0;padding:10px 16px;text-align:center;background:#d8bc7a;color:#203329;font-size:11px}
:root{--ink:#f4f1e7;--muted:#c2c8b9;--accent:#d8bc7a;--accent-ink:#253629;--surface:rgba(13,35,27,.9);--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(217,190,128,.13)}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.png') center 36%/cover no-repeat;transition:background-image .5s;opacity:.75}.veil{z-index:-1;background:linear-gradient(180deg,rgba(6,23,17,.48),rgba(7,24,18,.2) 35%,rgba(8,23,18,.88) 85%,#10231c)}.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)}.brand-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--accent);color:var(--accent);font-size:25px;border-radius:50%}.brand small{display:block;font:9px var(--sans);letter-spacing:.28em;margin-top:4px;color:var(--accent)}.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(--accent);color:var(--accent-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(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:bold}.primary:hover:not(:disabled),.save-button:hover:not(:disabled){background:#eed69a}.stop{border-color:#ae6f5e;color:#f4cbb7}.stop:not(:disabled){background:#8b3629;color:#fff7e8}.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(--accent);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(--accent);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,.8);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(--accent);color:var(--accent)}.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:#d8bc7a13;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(--accent);color:var(--accent-ink);padding:14px;font-weight:bold;border-color:var(--accent)}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(25,39,56,.91);--bg:#152538;--border:rgba(222,210,172,.3);--muted:#cad3df;--accent-ink:#273246}.temple .scenery,html[data-theme=temple] .scenery{background-image:url('../images/temple.png');opacity:.85}html[data-theme=temple] .veil{background:linear-gradient(180deg,#16294455,#16294444 35%,#102239ed 90%)}html[data-theme=temple] .collection{background:#15283ce6}html[data-theme=temple] dialog,html[data-theme=temple] .dialog-foot,html[data-theme=temple] #complete{background-color:#1a2f44}html[data-theme=temple] input:not([type=checkbox]):not([type=range]),html[data-theme=temple] textarea,html[data-theme=temple] select{background:#102235}
html[data-theme=retro]{--accent:#f5dc87;--accent-ink:#182542;--border:#8bafe9;--surface:#132343f5;--bg:#122042;--ink:#fff7df;--muted:#bccdf1;--serif:monospace;--sans:"MS Gothic","Yu Gothic",monospace}html[data-theme=retro] .scenery{background-image:url('../images/retro.svg');background-position:center center;image-rendering:pixelated;opacity:1}html[data-theme=retro] .veil{background:linear-gradient(180deg,#06102e22,#0a173077 60%,#0c183cdd)}html[data-theme=retro] .ceremony,html[data-theme=retro] .collection,html[data-theme=retro] .themes,html[data-theme=retro] dialog{border:3px double #a9c5f7;border-radius:0;backdrop-filter:none;box-shadow:5px 5px 0 #060d23}html[data-theme=retro] .collection,html[data-theme=retro] dialog,html[data-theme=retro] .dialog-foot,html[data-theme=retro] #complete{background:#132343f5}html[data-theme=retro] button,html[data-theme=retro] .record{border-radius:0}html[data-theme=retro] .name{font-size:clamp(38px,6vw,62px);text-shadow:4px 4px 0 #070d23}html[data-theme=retro] .themes{background:#132343ee}html[data-theme=retro] .action{letter-spacing:.04em}html[data-theme=retro] input:not([type=checkbox]):not([type=range]),html[data-theme=retro] textarea,html[data-theme=retro] select{background:#0c1833}html[data-theme=retro] .intro h1{font-size:clamp(22px,2.8vw,31px)}
@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}.brand-icon{width:36px;height:36px;font-size:21px}.brand small{font-size:7px}.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>span:last-child{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}}
