:root{--paper:#f6f0e2;--paper-2:#fffcf3;--paper-3:#efe5cf;--ink:#433729;--ink-2:#6f6353;--ink-3:#786b4f;--line:#ddd0b6;--line-strong:#a4874d;--beni:#c14b5a;--beni-deep:#a53c4a;--sakura:#eec6c7;--gold:#85682f;--gold-soft:#d9c08a;--matcha:#7e9d7c;--p1:#587898;--p2:#b8566a;--focus-ring:var(--beni);--shadow:0 2px 6px #43372914, 0 12px 32px #4337291a;--mincho:"Shippori Mincho B1", "Hiragino Mincho ProN", serif;--maru:"Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}:focus-visible,.field input:focus-visible,.field textarea:focus-visible,.kana-rule input:focus-visible,.add-row input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}html,body{height:100%}body{font-family:var(--maru);background:var(--paper);color:var(--ink);overscroll-behavior-y:none;line-height:1.6}body:before{content:"";pointer-events:none;z-index:0;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='0.06'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}#root{z-index:1;min-height:100dvh;position:relative}.shell{max-width:480px;min-height:100dvh;padding:calc(env(safe-area-inset-top) + 16px) 20px calc(env(safe-area-inset-bottom) + 24px);flex-direction:column;margin:0 auto;display:flex}button{color:inherit;cursor:pointer;background:0 0;border:none;font-family:inherit}input{color:inherit;font-family:inherit}.mincho{font-family:var(--mincho)}.eyebrow{letter-spacing:.35em;color:var(--ink-2);text-transform:uppercase;font-size:11px}h1.title{font-family:var(--mincho);letter-spacing:.12em;font-size:26px;font-weight:700}.section-label{letter-spacing:.25em;color:var(--ink-2);align-items:center;gap:10px;margin:26px 0 12px;font-size:12px;display:flex}.section-label:after{content:"";background:var(--line);flex:1;height:1px}.card{background:var(--paper-2);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 1px 3px #4337290f}.btn{letter-spacing:.08em;border-radius:999px;justify-content:center;align-items:center;gap:8px;width:100%;padding:15px 20px;font-size:15px;font-weight:700;transition:transform .15s,box-shadow .15s,opacity .15s;display:flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;pointer-events:none}.btn-primary{background:var(--beni);color:#fff8ef;box-shadow:0 6px 18px #c14b5a59}.btn-primary:hover{background:var(--beni-deep)}.btn-ghost{border:1.5px solid var(--line-strong);color:var(--ink-2);background:0 0}.btn-gold{background:linear-gradient(135deg, #8c6e2d, var(--gold));color:#fffaf0;box-shadow:0 6px 18px #b08a3e59}.btn-sub{width:auto;padding:9px 16px;font-size:13px}.field{margin-bottom:18px}.field label{letter-spacing:.15em;color:var(--ink-2);margin-bottom:7px;font-size:12px;display:block}.field input,.field textarea{border:1.5px solid var(--line-strong);background:var(--paper-2);border-radius:12px;outline:none;width:100%;padding:13px 16px;font-size:16px;transition:border-color .15s}.field input:focus,.field textarea:focus{border-color:var(--beni)}.field textarea{resize:vertical;min-height:92px;line-height:1.7}.field .hint{color:var(--ink-3);margin-top:5px;font-size:11px}.error-note{color:var(--beni-deep);margin:8px 0;font-size:13px}.bar{background:var(--paper-3);border-radius:999px;height:6px;overflow:hidden}.bar>i{background:linear-gradient(90deg, var(--sakura), var(--beni));border-radius:999px;height:100%;transition:width .4s;display:block}.bar.bar-gold>i{background:linear-gradient(90deg, var(--gold-soft), var(--gold))}.gate{flex-direction:column;flex:1;justify-content:center;animation:.6s both rise;display:flex}.gate-brand{text-align:center;margin-bottom:34px}.gate-brand .crest{width:74px;height:74px;margin:0 auto 14px;display:block}.gate-brand h1{font-family:var(--mincho);letter-spacing:.08em;text-indent:.08em;white-space:nowrap;font-size:26px;font-weight:800}.gate-brand p{letter-spacing:.2em;color:var(--ink-2);margin-top:6px;font-size:12.5px}.identity-row{grid-template-columns:1fr 1fr;gap:12px;margin-top:8px;display:grid}.identity-btn{border:1.5px solid var(--line);background:var(--paper-2);text-align:center;border-radius:16px;padding:22px 10px;transition:all .15s}.identity-btn .who{font-family:var(--mincho);letter-spacing:.1em;font-size:20px;font-weight:700;display:block}.identity-btn .role{color:var(--ink-2);letter-spacing:.2em;font-size:11px}.identity-btn.on-p1{border-color:var(--p1);box-shadow:0 0 0 3px #5c7d9e26}.identity-btn.on-p2{border-color:var(--p2);box-shadow:0 0 0 3px #c97f8e26}.home-head{text-align:center;padding:10px 0 4px}.home-head .family{font-family:var(--mincho);letter-spacing:.3em;color:var(--ink-2);font-size:15px}.home-name-preview{font-family:var(--mincho);letter-spacing:.08em;margin:2px 0 0;font-size:40px;font-weight:700;line-height:1.3}.home-name-preview .placeholder{color:var(--ink-3)}.home-name-preview .kana{letter-spacing:.5em;color:var(--ink-2);font-size:13px;font-weight:500;display:block}.step{border:1px solid var(--line);background:var(--paper-2);border-radius:16px;align-items:flex-start;gap:14px;margin-bottom:10px;padding:15px 16px;transition:box-shadow .2s;display:flex}.step.active{border-color:var(--beni);box-shadow:0 4px 20px #c14b5a24}.step.locked{opacity:.55}.step.done{background:0 0}.step-num{width:34px;height:34px;font-family:var(--mincho);border:1.5px solid var(--line);color:var(--ink-2);background:var(--paper-2);border-radius:50%;flex-shrink:0;place-items:center;font-size:15px;font-weight:700;display:grid}.step.active .step-num{background:var(--beni);border-color:var(--beni);color:#fff8ef}.step.done .step-num{background:var(--matcha);border-color:var(--matcha);color:#fff}.step-body{flex:1;min-width:0}.step-body h3{letter-spacing:.06em;font-size:15px;font-weight:700}.step-body .desc{color:var(--ink-2);margin-top:1px;font-size:12px}.step-meta{flex-direction:column;gap:6px;margin-top:9px;display:flex}.meter{color:var(--ink-2);align-items:center;gap:8px;font-size:11px;display:flex}.meter .tag{flex-shrink:0;width:3.6em}.meter .bar{flex:1}.meter .val{text-align:right;font-variant-numeric:tabular-nums;min-width:4.5em}.meter.me .bar>i{background:linear-gradient(90deg, #9db4cb, var(--p1))}.meter.partner .bar>i{background:linear-gradient(90deg, #e3b9c2, var(--p2))}.banner{border:1.5px solid var(--gold-soft);box-shadow:var(--shadow);background:linear-gradient(135deg,#fdf6e5,#f8ecd2);border-radius:16px;margin-bottom:14px;padding:16px;animation:.5s both rise}.banner h3{color:var(--gold);letter-spacing:.1em;font-size:14px}.banner .banner-name{font-family:var(--mincho);margin:4px 0 10px;font-size:26px;font-weight:700}.topbar{align-items:center;gap:12px;margin-bottom:10px;display:flex}.topbar .back{border:1.5px solid var(--line);width:38px;height:38px;color:var(--ink-2);background:var(--paper-2);border-radius:50%;place-items:center;font-size:17px;display:grid}.topbar .grow{flex:1}.topbar .count{color:var(--ink-2);font-variant-numeric:tabular-nums;text-align:right;font-size:12px}.deck-wrap{flex-direction:column;flex:1;min-height:0;display:flex}.deck{touch-action:none;flex:1;min-height:380px;margin:6px 0 14px;position:relative}.swipe-card{background:var(--paper-2);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-user-select:none;user-select:none;will-change:transform;border-radius:22px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.swipe-card.behind{filter:saturate(.9);box-shadow:none;transform:scale(.94)translateY(14px)}.swipe-card .frame{border:1px solid var(--line);pointer-events:none;border-radius:14px;position:absolute;inset:12px}.swipe-card .corner{letter-spacing:.3em;color:var(--ink-3);font-size:11px;position:absolute}.corner.tl{top:24px;left:26px}.corner.br{bottom:24px;right:26px}.vname{writing-mode:vertical-rl;text-orientation:mixed;align-items:center;gap:18px;max-height:82%;display:flex}.vname .sei{font-family:var(--mincho);letter-spacing:.28em;color:var(--ink-2);padding-top:6px;font-size:20px;font-weight:600}.vname .mei{font-family:var(--mincho);letter-spacing:.16em;font-size:clamp(44px,13vw,58px);font-weight:800;line-height:1}.stamp{font-family:var(--mincho);letter-spacing:.2em;opacity:0;background:#fffcf3d9;border:3px solid;border-radius:10px;padding:8px 14px;font-size:24px;font-weight:800;transition:opacity .1s;position:absolute;top:26px}.stamp.ari{color:var(--beni);border-color:var(--beni);right:26px;transform:rotate(10deg)}.stamp.nashi{color:#7d8894;border-color:#7d8894;left:26px;transform:rotate(-10deg)}.stamp.super{color:var(--gold);border-color:var(--gold);white-space:nowrap;top:42%;left:50%;right:auto;transform:translate(-50%)rotate(-7deg)}.swipe-actions{justify-content:center;align-items:center;gap:22px;padding-bottom:6px;display:flex}.act{background:var(--paper-2);border:1.5px solid var(--line);border-radius:50%;place-items:center;width:66px;height:66px;font-size:26px;transition:transform .12s;display:grid;box-shadow:0 4px 14px #4337291f}.act:active{transform:scale(.9)}.act.no{color:#7d8894}.act.yes{color:var(--beni);border-color:var(--sakura)}.act.small{width:46px;height:46px;color:var(--ink-2);box-shadow:none;font-size:17px}.act:disabled{opacity:.35}.act.star{width:54px;height:54px;color:var(--gold);border-color:var(--gold-soft);font-size:21px}.deck-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;animation:.5s both rise;display:flex}.deck-empty .big{font-family:var(--mincho);letter-spacing:.15em;font-size:24px;font-weight:700}.deck-empty p{color:var(--ink-2);font-size:13px}.reveal{z-index:55;background:var(--paper);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex;position:fixed;inset:0;overflow:hidden}.reveal .lead{letter-spacing:.2em;color:var(--ink-2);font-size:14px;animation:.8s both rise}.reveal .big-count{font-family:var(--mincho);color:var(--beni);font-size:96px;font-weight:800;line-height:1.1;animation:.7s cubic-bezier(.2,1.4,.4,1) .5s both pop}.reveal .sub{font-family:var(--mincho);letter-spacing:.2em;font-size:20px;animation:.8s 1s both rise}.reveal .btn{max-width:280px;margin-top:40px;animation:.8s 1.6s both rise}.petal{opacity:.85;font-size:22px;animation:linear infinite fall;position:absolute;top:-30px}@keyframes fall{0%{transform:translateY(-5vh)rotate(0)}to{transform:translateY(110vh)rotate(320deg)}}.match-stats{grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:4px;display:grid}.stat{text-align:center;background:var(--paper-2);border:1px solid var(--line);border-radius:14px;padding:14px 6px}.stat .num{font-family:var(--mincho);font-size:26px;font-weight:800;line-height:1.2}.stat .lbl{color:var(--ink-2);letter-spacing:.1em;font-size:10.5px}.stat.accent .num{color:var(--beni)}.gyo-group{margin-bottom:14px}.gyo-group h4{color:var(--ink-2);letter-spacing:.2em;margin-bottom:8px;font-size:12px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{font-family:var(--mincho);letter-spacing:.08em;background:var(--paper-2);border:1px solid var(--line-strong);border-radius:999px;padding:7px 13px;font-size:15px;font-weight:600}.chip.suggest{cursor:pointer;transition:all .12s}.chip.suggest:active{transform:scale(.94)}.chip.suggest:hover{border-color:var(--beni);color:var(--beni)}.duel{flex-direction:column;flex:1;gap:0;min-height:0;margin:8px 0 10px;display:flex;position:relative}.duel-card{background:var(--paper-2);border:1.5px solid var(--line);border-radius:20px;flex:1;justify-content:center;align-items:center;min-height:150px;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 4px #43372912}.duel-card:active{transform:scale(.97)}.duel-card .hname{font-family:var(--mincho);letter-spacing:.14em;font-size:clamp(34px,10vw,46px);font-weight:800}.duel-card .hsei{text-align:center;font-family:var(--mincho);letter-spacing:.4em;color:var(--ink-3);font-size:12px;position:absolute;top:14px;left:0;right:0}.duel-card.won{border-color:var(--beni);animation:.35s winPulse;box-shadow:0 0 0 3px #c14b5a2e}@keyframes winPulse{40%{transform:scale(1.03)}}.vs-medal{z-index:2;background:var(--ink);width:52px;height:52px;color:var(--paper);font-family:var(--mincho);letter-spacing:.05em;border:3px solid var(--paper);box-shadow:var(--shadow);border-radius:50%;align-self:center;place-items:center;margin:-14px 0;font-size:17px;font-weight:800;display:grid}.rank-row{background:var(--paper-2);border:1px solid var(--line);text-align:left;border-radius:14px;align-items:center;gap:12px;width:100%;margin-bottom:8px;padding:13px 14px;transition:transform .12s;display:flex}button.rank-row:active{transform:scale(.98)}.rank-badge{width:32px;height:32px;font-family:var(--mincho);background:var(--paper-3);color:var(--ink-2);border-radius:50%;flex-shrink:0;place-items:center;font-size:14px;font-weight:700;display:grid}.rank-badge.g1{background:linear-gradient(135deg, #e8cf8b, var(--gold));color:#fff}.rank-badge.g2{color:#fff;background:linear-gradient(135deg,#d7d7d7,#a9adb3)}.rank-badge.g3{color:#fff;background:linear-gradient(135deg,#d9a988,#b57c52)}.rank-name{font-family:var(--mincho);letter-spacing:.1em;flex:1;min-width:0;font-size:20px;font-weight:700}.rank-tags{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.mini-tag{letter-spacing:.08em;white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:10px}.mini-tag.love{color:var(--beni);background:#c14b5a1f;font-weight:700}.mini-tag.plain{background:var(--paper-3);color:var(--ink-2)}.mini-tag.gold{color:var(--gold);background:#b08a3e24;font-weight:700}.chip.toggle{cursor:pointer;font-family:var(--maru);font-weight:500;transition:all .12s}.chip.toggle.on{background:var(--beni);border-color:var(--beni);color:#fff8ef}.filter-note{color:var(--ink-3);font-size:11.5px;line-height:1.7}.kana-rule input{border:1.5px solid var(--line-strong);background:var(--paper-2);border-radius:12px;outline:none;width:100%;padding:11px 14px;font-size:15px}.kana-rule input:focus{border-color:var(--beni)}.tour-layer{z-index:70;position:fixed;inset:0}.tour-spot{pointer-events:none;border:2px solid #fffcf3e6;border-radius:16px;transition:left .28s,top .28s,width .28s,height .28s;position:fixed;box-shadow:0 0 0 9999px #2d241a99}.tour-bubble{z-index:71;background:var(--paper-2);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:14px 16px 12px;animation:.25s both rise;position:fixed}.tour-bubble p{font-size:13.5px;line-height:1.75}.tour-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;display:flex}.tour-count{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:11px}.tour-btns{flex-wrap:wrap;gap:8px;display:flex}.vote-row{background:var(--paper-2);border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;margin-bottom:6px;padding:9px 12px;display:flex}.vote-reading{font-family:var(--mincho);letter-spacing:.08em;flex:1;min-width:0;font-size:17px;font-weight:600}.vote-btns{gap:6px;display:flex}.vbtn{border:1.5px solid var(--line);background:var(--paper-2);width:34px;height:34px;color:var(--ink-3);border-radius:50%;place-items:center;font-size:14px;transition:all .12s;display:grid}.vbtn:disabled{opacity:.45}.vbtn.on.no{color:#fff;background:#7d8894;border-color:#7d8894}.vbtn.on.yes{background:var(--beni);border-color:var(--beni);color:#fff8ef}.vbtn.on.star{background:var(--gold);border-color:var(--gold);color:#fffaf0}.kanji-head{text-align:center;margin:6px 0 4px}.kanji-head .full-kana{letter-spacing:.3em;color:var(--ink-2);font-size:12px}.reading-rail{scrollbar-width:none;gap:8px;margin:4px -2px 0;padding:4px 2px 8px;display:flex;overflow-x:auto}.reading-rail::-webkit-scrollbar{display:none}.reading-chip{border:1.5px solid var(--line);background:var(--paper-2);color:var(--ink-2);border-radius:14px;flex-direction:column;flex:none;align-items:center;gap:1px;padding:8px 16px;transition:all .15s;display:flex}.reading-chip.on{border-color:var(--beni);color:var(--ink);background:linear-gradient(135deg,#fffcf3,#fbece9);box-shadow:0 0 0 3px #c14b5a1f}.reading-chip-yomi{letter-spacing:.14em;font-size:18px;font-weight:700}.reading-chip-count{color:var(--ink-3);letter-spacing:.08em;font-size:10.5px}.migaku-list{margin-top:6px}.migaku-row{background:var(--paper-2);border:1.5px solid var(--line);border-radius:16px;align-items:center;gap:12px;margin-bottom:10px;padding:13px 14px;display:flex}.migaku-row.finalist{border-color:var(--gold-soft);background:linear-gradient(135deg,#fffcf3,#fdf3dd)}.migaku-row-main{flex:1;min-width:0}.migaku-full{letter-spacing:.1em;font-size:25px;font-weight:700;line-height:1.35}.migaku-row-main .strokes{color:var(--ink);margin-top:3px;font-size:11px}.migaku-row-main .wishes{border-top:1px dashed var(--line);color:var(--ink-2);margin-top:7px;padding-top:7px;font-size:11px;line-height:1.75}.migaku-row-main .wishes b{font-family:var(--mincho);color:var(--ink);margin-right:4px;font-size:13px}.migaku-row-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.migaku-star,.migaku-x{border:1.5px solid var(--line);background:var(--paper-2);cursor:pointer;border-radius:50%;place-items:center;width:40px;height:40px;transition:all .15s;display:grid}.migaku-star{color:var(--ink-3);font-size:17px}.migaku-star.on{color:#fffbf0;background:linear-gradient(135deg, #c9a558, var(--gold));border-color:var(--gold)}.migaku-x{color:var(--ink-2);font-size:20px}.migaku-more{border:1px dashed var(--line);width:100%;color:var(--beni);letter-spacing:.06em;background:0 0;border-radius:12px;padding:11px;font-size:12.5px;display:block}.migaku-drawer{margin:8px 0 4px}.migaku-drawer-bar{text-align:left;letter-spacing:.12em;width:100%;color:var(--ink-3);border-bottom:1px solid var(--line);padding:10px 6px;font-size:12px;display:block}.migaku-drawer-row{border-bottom:1px dashed var(--line);opacity:.75;justify-content:space-between;align-items:center;gap:10px;padding:10px 6px;display:flex}.migaku-drawer-name{letter-spacing:.08em;font-size:18px}.migaku-drawer-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.migaku-restore{color:var(--beni);font-size:12px}.migaku-del{color:var(--ink-3);justify-content:center;align-items:center;min-width:24px;min-height:24px;padding:4px 8px;font-size:11px;display:inline-flex}.migaku-tray{border:1.5px solid var(--gold-soft);background:linear-gradient(135deg,#fffdf6,#fbf3de);border-radius:16px;margin-top:22px;padding:14px}.migaku-tray-label{letter-spacing:.16em;color:var(--gold);margin-bottom:10px;font-size:11.5px}.migaku-tray-cards{gap:10px;display:flex}.migaku-tray-card{text-align:center;background:var(--paper-2);border:1.5px solid var(--gold-soft);border-radius:12px;flex:1;min-width:0;padding:12px 6px}.migaku-tray-kanji{letter-spacing:.06em;font-size:22px;font-weight:700;line-height:1.25}.migaku-tray-yomi{color:var(--ink-2);letter-spacing:.08em;margin-top:2px;font-size:11px}.migaku-tray-slot{border:1.5px dashed var(--line);color:var(--ink-3);border-radius:12px;flex:1;place-items:center;padding:12px 6px;font-size:18px;display:grid}.strokes-ref{color:var(--ink-2);margin-top:1px;font-size:10.5px;display:block}.add-row{gap:8px;margin-top:4px;display:flex}.add-row input{border:1.5px solid var(--line-strong);background:var(--paper-2);font-size:16px;font-family:var(--mincho);border-radius:999px;outline:none;flex:1;padding:12px 16px}.add-row input:focus{border-color:var(--beni)}.add-row .btn{width:auto;padding:10px 20px}.certificate-wrap{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;display:flex}.certificate{aspect-ratio:3/4.2;border:1px solid var(--gold-soft);width:min(84vw,340px);box-shadow:var(--shadow);background:radial-gradient(at 30% 20%,#eec6c740,#0000 55%),radial-gradient(at 75% 85%,#d9c08a38,#0000 55%),#fffdf6;border-radius:6px;justify-content:center;align-items:center;padding:30px;animation:.9s both rise;display:flex;position:relative}.certificate:before{content:"";border:1.5px solid #b08a3e80;border-radius:3px;position:absolute;inset:10px}.certificate .meimei{text-align:center;font-family:var(--mincho);letter-spacing:.9em;text-indent:.9em;color:var(--gold);font-size:15px;position:absolute;top:34px;left:0;right:0}.certificate .c-name{writing-mode:vertical-rl;font-family:var(--mincho);letter-spacing:.22em;font-size:clamp(46px,15vw,60px);font-weight:800;line-height:1}.certificate .c-ruby{writing-mode:vertical-rl;font-family:var(--mincho);letter-spacing:.5em;color:var(--ink-2);margin-left:14px;padding-top:8px;font-size:13px}.certificate .c-foot{text-align:center;font-family:var(--mincho);letter-spacing:.25em;color:var(--ink-2);font-size:11.5px;line-height:2;position:absolute;bottom:30px;left:0;right:0}.overlay{z-index:60;background:#43372973;justify-content:center;align-items:flex-end;animation:.2s both fadeIn;display:flex;position:fixed;inset:0}.sheet{background:var(--paper);width:100%;max-width:480px;max-height:82dvh;padding:24px 22px calc(env(safe-area-inset-bottom) + 24px);border-radius:22px 22px 0 0;animation:.3s cubic-bezier(.2,.9,.3,1) both slideUp;overflow-y:auto}.sheet h3{font-family:var(--mincho);letter-spacing:.1em;margin-bottom:12px;font-size:18px}.sheet .sheet-actions{gap:10px;margin-top:18px;display:flex}.toast{bottom:calc(env(safe-area-inset-bottom) + 24px);z-index:80;background:var(--ink);color:var(--paper);box-shadow:var(--shadow);text-align:center;border-radius:999px;max-width:86vw;padding:11px 20px;font-size:13px;animation:.3s both rise;position:fixed;left:50%;transform:translate(-50%)}.waiting{text-align:center;color:var(--ink-2);padding:30px 10px;font-size:13.5px;line-height:2}.waiting .big{font-family:var(--mincho);color:var(--ink);letter-spacing:.15em;font-size:19px}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}}@keyframes slideUp{0%{transform:translateY(100%)}}.fade-page{animation:.4s both rise}.spin{border:3px solid var(--line);border-top-color:var(--beni);border-radius:50%;width:34px;height:34px;margin:40px auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.lp-brandbar{justify-content:center;align-items:center;gap:9px;padding:6px 0 2px;display:flex}.lp-brandbar .crest{width:26px;height:26px}.lp-brandbar .wm{font-family:var(--mincho);letter-spacing:.24em;text-indent:.24em;font-size:16px;font-weight:800}.lp-hero{text-align:center;padding:18px 0 8px}.lp-eyebrow{letter-spacing:.34em;color:var(--ink-2);text-indent:.34em;font-size:11px}.lp-hero h1{font-family:var(--mincho);letter-spacing:.04em;text-wrap:balance;margin:14px 0 0;font-size:clamp(29px,8.4vw,36px);font-weight:800;line-height:1.42}.lp-hero h1 .hl{white-space:nowrap;color:var(--beni-deep);position:relative}.lp-hero h1 .hl:after{content:"";z-index:-1;background:linear-gradient(#0000 55%,#eec6c7b3 0);border-radius:2px;height:.42em;position:absolute;bottom:.06em;left:-.05em;right:-.05em}.lp-hero .lead{color:var(--ink-2);max-width:20em;margin:16px auto 0;font-size:14px;line-height:1.95}.lp-showcase{contain:layout style;width:100%;max-width:300px;height:322px;margin:22px auto 24px;position:relative}.sc-card{background:var(--paper-2);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;position:absolute;inset:0;overflow:hidden}.sc-card .frame{border:1px solid var(--line);border-radius:14px;position:absolute;inset:12px}.sc-card .corner{letter-spacing:.3em;color:var(--ink-3);font-size:10px;position:absolute}.corner-tl{top:22px;left:24px}.corner-br{bottom:22px;right:24px}.sc-back{filter:saturate(.9);opacity:.85;box-shadow:none;transform:rotate(-6deg)scale(.9)translateY(16px)}.sc-back2{filter:saturate(.8);opacity:.6;box-shadow:none;transform:rotate(5deg)scale(.85)translateY(30px)}.sc-front{will-change:transform;transition:transform .8s cubic-bezier(.2,.85,.25,1)}.sc-front.swipe-ari{transform:translate(48px)rotate(9deg)}.sc-front.swipe-nashi{transform:translate(-48px)rotate(-9deg)}.sc-card .vname{writing-mode:vertical-rl;text-orientation:mixed;justify-content:center;align-items:center;gap:16px;display:flex;position:absolute;inset:0}.sc-card .vname .sei{font-family:var(--mincho);letter-spacing:.26em;color:var(--ink-2);padding-top:6px;font-size:19px;font-weight:600}.sc-card .vname .mei{font-family:var(--mincho);letter-spacing:.14em;font-size:56px;font-weight:800;line-height:1;transition:opacity .3s}.sc-card .stamp{font-family:var(--mincho);letter-spacing:.2em;opacity:0;background:#fffcf3d9;border:3px solid;border-radius:9px;padding:6px 12px;font-size:21px;font-weight:800;transition:opacity .3s;position:absolute;top:24px}.sc-card .stamp-ari{color:var(--beni);border-color:var(--beni);right:22px;transform:rotate(9deg)}.sc-card .stamp-nashi{color:#7d8894;border-color:#7d8894;left:22px;transform:rotate(-9deg)}.sc-front.swipe-ari .stamp-ari,.sc-front.swipe-nashi .stamp-nashi{opacity:1}.sc-hint{color:var(--ink-3);white-space:nowrap;gap:20px;font-size:11px;display:flex;position:absolute;bottom:-20px;left:50%;transform:translate(-50%)}.sc-hint b{color:var(--ink-2);font-weight:700}.lp-cta-wrap{margin-top:22px}.lp-cta-note{color:var(--ink-3);text-align:center;letter-spacing:.02em;margin-top:11px;font-size:11.5px}.lp-cta-note .dot{opacity:.5;margin:0 7px}.lp-cta-buttons{gap:10px;display:flex}.lp-cta-buttons .btn{flex:1}.lp-trust{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:20px;display:flex}.lp-trust .chip{color:var(--ink-2);background:var(--paper-2);border:1px solid var(--line);letter-spacing:.04em;border-radius:999px;padding:6px 13px;font-size:11.5px}.lp-trust .chip b{font-family:var(--mincho);color:var(--ink);margin-right:3px;font-weight:700}.lp-pain{flex-direction:column;gap:10px;margin-top:20px;display:flex}.pain-item{background:var(--paper-2);border:1px solid var(--line);border-radius:15px;padding:16px 18px 16px 48px;position:relative}.pain-item:before{content:"「";font-family:var(--mincho);color:var(--sakura);font-size:34px;font-weight:700;line-height:1;position:absolute;top:9px;left:15px}.pain-item p{color:var(--ink);font-size:13.5px;line-height:1.6}.pain-item p:after{content:"」";font-family:var(--mincho);color:var(--sakura);margin-left:1px;font-weight:700}.pain-close{font-family:var(--mincho);text-align:center;letter-spacing:.04em;text-wrap:balance;margin-top:24px;font-size:17px;font-weight:700;line-height:1.85}.pain-close .accent{color:var(--beni)}.lp-flow{flex-direction:column;gap:14px;margin-top:20px;display:flex}.fstep{background:var(--paper-2);border:1px solid var(--line);border-radius:18px;padding:18px 18px 20px;box-shadow:0 1px 3px #4337290d}.fstep-head{align-items:center;gap:12px;margin-bottom:4px;display:flex}.fstep-num{width:32px;height:32px;font-family:var(--mincho);background:var(--paper-3);color:var(--ink-2);border-radius:50%;flex-shrink:0;place-items:center;font-size:15px;font-weight:700;display:grid}.fstep h3{font-family:var(--mincho);letter-spacing:.08em;font-size:19px;font-weight:700}.fstep .role{color:var(--ink-3);letter-spacing:.1em;margin-top:1px;font-size:11px}.fstep .desc{color:var(--ink-2);margin-top:8px;font-size:13px;line-height:1.8}.lp-fig{border:1px solid var(--line);background:linear-gradient(160deg,#fffdf6,#f3ead4);border-radius:14px;place-items:center;height:118px;margin-top:14px;display:grid;position:relative;overflow:hidden}.mini-swipe{width:88px;height:92px;position:relative}.ms-card{background:var(--paper-2);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;place-items:center;display:grid;position:absolute;inset:0}.ms-card .n{writing-mode:vertical-rl;font-family:var(--mincho);letter-spacing:.1em;font-size:30px;font-weight:800}.ms-b{opacity:.6;box-shadow:none;transform:rotate(-7deg)scale(.92)translate(-8px,6px)}.ms-tag{font-size:11px;font-family:var(--mincho);border:2px solid;border-radius:7px;padding:3px 9px;font-weight:800;position:absolute;top:-9px}.ms-yes{color:var(--beni);border-color:var(--beni);background:var(--paper-2);right:-30px;transform:rotate(8deg)}.ms-no{color:#7d8894;background:var(--paper-2);border-color:#7d8894;left:-30px;transform:rotate(-8deg)}.venn{width:200px;height:96px;position:relative}.venn .c{letter-spacing:.08em;border-radius:50%;place-items:center;width:104px;height:80px;font-size:11px;font-weight:700;display:grid;position:absolute;top:8px}.venn .c1{border:1.5px solid var(--p1);color:var(--p1);background:#5c7d9e29;left:0}.venn .c2{border:1.5px solid var(--p2);color:var(--p2);background:#c97f8e29;right:0}.venn .c span{position:absolute;top:12px}.venn .c1 span{left:16px}.venn .c2 span{right:16px}.venn .match{z-index:2;font-family:var(--mincho);background:var(--paper-2);border:1.5px solid var(--gold-soft);box-shadow:var(--shadow);color:var(--ink);border-radius:999px;padding:5px 12px;font-size:20px;font-weight:800;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.duel-mini{align-items:center;gap:0;display:flex;position:relative}.dm-card{background:var(--paper-2);border:1.5px solid var(--line);width:74px;height:60px;font-family:var(--mincho);border-radius:11px;place-items:center;font-size:24px;font-weight:800;display:grid}.dm-card.win{border-color:var(--beni);box-shadow:0 0 0 3px #c14b5a29}.dm-vs{z-index:2;background:var(--ink);width:34px;height:34px;color:var(--paper);font-family:var(--mincho);border:3px solid var(--paper-2);border-radius:50%;place-items:center;margin:0 -8px;font-size:12px;font-weight:800;display:grid}.decide-mini{align-items:center;gap:14px;display:flex}.dm-kanji{flex-direction:column;align-items:flex-end;gap:5px;display:flex}.dm-chip{font-family:var(--mincho);background:var(--paper-2);border:1px solid var(--line);letter-spacing:.08em;border-radius:9px;padding:4px 11px;font-size:16px;font-weight:700}.dm-chip.on{border-color:var(--gold-soft);background:linear-gradient(135deg,#fffcf3,#fdf3dd)}.dm-arrow{color:var(--ink-3);font-size:18px}.mini-cert{border:1px solid var(--gold-soft);width:56px;height:74px;box-shadow:var(--shadow);background:#fffdf6;border-radius:4px;place-items:center;display:grid;position:relative}.mini-cert:before{content:"";border:1px solid #b08a3e80;border-radius:2px;position:absolute;inset:5px}.mini-cert .mn{writing-mode:vertical-rl;font-family:var(--mincho);letter-spacing:.1em;font-size:22px;font-weight:800}.lp-reward{background:radial-gradient(ellipse at 28% 16%, #eec6c747, transparent 55%), radial-gradient(ellipse at 76% 88%, #d9c08a47, transparent 55%), var(--paper-2);border:1px solid var(--gold-soft);border-radius:22px;flex-direction:column;align-items:center;gap:20px;margin-top:20px;padding:30px 20px;display:flex;position:relative;overflow:hidden}.lp-cert{aspect-ratio:3/4.2;border:1px solid var(--gold-soft);width:min(62vw,214px);box-shadow:var(--shadow);background:radial-gradient(at 30% 20%,#eec6c740,#0000 55%),radial-gradient(at 75% 85%,#d9c08a38,#0000 55%),#fffdf6;border-radius:6px;place-items:center;padding:26px;display:grid;position:relative}.lp-cert:before{content:"";border:1.5px solid #b08a3e80;border-radius:3px;position:absolute;inset:9px}.lp-cert .meimei{text-align:center;font-family:var(--mincho);letter-spacing:.85em;text-indent:.85em;color:var(--gold);font-size:13px;position:absolute;top:26px;left:0;right:0}.lp-cert .row{justify-content:center;align-items:center;display:flex}.lp-cert .c-name{writing-mode:vertical-rl;font-family:var(--mincho);letter-spacing:.2em;font-size:46px;font-weight:800;line-height:1}.lp-cert .c-ruby{writing-mode:vertical-rl;font-family:var(--mincho);letter-spacing:.45em;color:var(--ink-2);margin-left:10px;padding-top:6px;font-size:11px}.lp-cert .c-foot{text-align:center;font-family:var(--mincho);letter-spacing:.2em;color:var(--ink-2);font-size:10px;line-height:1.9;position:absolute;bottom:22px;left:0;right:0}.lp-reward .cap{text-align:center}.lp-reward .cap .big{font-family:var(--mincho);letter-spacing:.06em;font-size:18px;font-weight:700}.lp-reward .cap p{color:var(--ink-2);margin-top:7px;font-size:12.5px;line-height:1.85}.lp-reward .petal{opacity:.7;pointer-events:none;font-size:15px;animation:linear infinite lp-fall;position:absolute;top:-20px}@keyframes lp-fall{0%{transform:translateY(-10%)rotate(0)}to{opacity:0;transform:translateY(260px)rotate(300deg)}}.lp-assure{grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;display:grid}.assure-item{background:var(--paper-2);border:1px solid var(--line);text-align:center;border-radius:14px;padding:15px 14px}.assure-item .ic{background:var(--paper-3);width:38px;height:38px;color:var(--matcha);border-radius:50%;place-items:center;margin:0 auto 9px;display:grid}.assure-item .ic svg{width:20px;height:20px}.assure-item .t{color:var(--ink);letter-spacing:.03em;font-size:13px;font-weight:700}.assure-item .d{color:var(--ink-3);margin-top:3px;font-size:11px;line-height:1.6}.lp-price-free{background:var(--paper-2);border:1.5px solid var(--beni);text-align:center;border-radius:20px;margin-top:20px;padding:22px;box-shadow:0 4px 20px #c14b5a1a}.lp-price-free .badge{letter-spacing:.15em;color:#fff8ef;background:var(--beni);border-radius:999px;margin-bottom:12px;padding:4px 14px;font-size:11px;display:inline-block}.lp-price-free .amt{font-family:var(--mincho);font-size:44px;font-weight:800;line-height:1}.lp-price-free .amt small{font-family:var(--maru);color:var(--ink-2);margin-left:8px;font-size:13px;font-weight:500}.lp-price-free ul{text-align:left;flex-direction:column;gap:8px;margin-top:16px;list-style:none;display:flex}.lp-price-free li{gap:9px;font-size:13px;display:flex}.lp-price-free li .mk{color:var(--matcha);flex-shrink:0;font-weight:700}.lp-price-soon{border:1px dashed var(--gold-soft);background:0 0;border-radius:16px;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding:14px 16px;display:flex}.lp-price-soon .l .n{font-family:var(--mincho);font-size:14px;font-weight:700}.lp-price-soon .l .d{color:var(--ink-3);margin-top:2px;font-size:11px}.lp-price-soon .r{font-family:var(--mincho);color:var(--gold);white-space:nowrap;text-align:right;font-size:15px;font-weight:700}.lp-price-soon .r small{font-family:var(--maru);color:var(--ink-3);font-size:10px;font-weight:500;display:block}.lp-start-intro{text-align:center;margin-top:14px}.lp-start-intro p{color:var(--ink-2);font-size:13px;line-height:1.85}.lp-form{margin-top:20px}.fgroup{background:var(--paper-2);border:1px solid var(--line);border-radius:16px;margin-bottom:12px;padding:16px 16px 6px}.fgroup .gl{letter-spacing:.2em;color:var(--ink-3);margin-bottom:12px;font-size:11px}.two{grid-template-columns:1fr 1fr;gap:10px;display:grid}.lp-form-cta{margin-top:6px}.lp-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:40px;padding-top:22px;display:flex}.lp-foot a{color:var(--ink-3);letter-spacing:.06em;font-size:11.5px;text-decoration:none}.lp-foot a:hover{color:var(--ink-2)}.lp-foot .cr{text-align:center;width:100%;color:var(--ink-3);margin-top:12px;font-size:11px}.lp-reveal{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.2,.8,.2,1);transform:translateY(18px)}.lp-reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.lp-reveal{opacity:1;transition:none;transform:none}.sc-front{transition:none}.lp-reward .petal{display:none}}.legal{padding-top:6px;line-height:1.9}.legal h1{font-family:var(--mincho);letter-spacing:.1em;margin-bottom:10px;font-size:22px}.legal .legal-lead{color:var(--beni-deep);margin-bottom:22px;font-size:12.5px}.legal section{margin-bottom:18px}.legal h2{letter-spacing:.06em;color:var(--ink);margin-bottom:3px;font-size:14px;font-weight:700}.legal section p{color:var(--ink-2);font-size:13px}.paywall-teaser{color:var(--ink);margin-bottom:14px;font-size:13.5px;line-height:1.8}.paywall-preview{background:linear-gradient(135deg, var(--paper-2), var(--paper-3));border:1px solid var(--line);filter:blur(4px);pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:16px;padding:18px 14px;position:relative;overflow:hidden}.paywall-cards{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.paywall-card{color:var(--ink);background:var(--paper);border:1px solid var(--line);letter-spacing:.08em;border-radius:10px;padding:7px 12px;font-size:17px}.paywall-cert{text-align:center;border-top:1px dashed var(--gold-soft);flex-direction:column;gap:4px;margin-top:14px;padding-top:12px;display:flex}.paywall-cert-label{letter-spacing:.3em;color:var(--gold);font-size:11px}.paywall-cert-name{color:var(--ink);letter-spacing:.2em;font-size:22px}.paywall-features{flex-direction:column;gap:8px;margin:18px 0 6px;list-style:none;display:flex}.paywall-features li{color:var(--ink);align-items:flex-start;gap:8px;font-size:13.5px;display:flex}.paywall-features li .mk{color:var(--matcha);flex-shrink:0;font-weight:700}.paywall-price{justify-content:center;align-items:baseline;gap:10px;margin-top:18px;display:flex}.paywall-amount{color:var(--beni);font-size:30px;font-weight:700}.paywall-price-note{color:var(--ink-2);font-size:12px}.paywall-cond{text-align:center;color:var(--ink-2);margin-top:6px;font-size:12px;line-height:1.8}.home-head-row{justify-content:center;align-items:center;gap:8px;display:flex}.fab{right:max(14px,50vw - 226px);bottom:calc(env(safe-area-inset-bottom) + 14px);z-index:50;background:var(--ink);width:48px;height:48px;color:var(--paper);cursor:pointer;border:none;border-radius:50%;place-items:center;transition:transform .25s cubic-bezier(.34,1.56,.64,1),background .2s;display:grid;position:fixed;box-shadow:0 3px 12px #43372940}.fab:active{background:#574a3a}.fab.open{background:var(--beni);transform:rotate(45deg)}.fab-badge{background:var(--beni);border:2px solid var(--ink);border-radius:50%;width:10px;height:10px;position:absolute;top:2px;right:2px}.fab-backdrop{z-index:45;background:#43372973;animation:.2s fab-fade-in;position:fixed;inset:0}@keyframes fab-fade-in{0%{opacity:0}to{opacity:1}}.fab-menu{right:max(14px,50vw - 226px);bottom:calc(env(safe-area-inset-bottom) + 72px);z-index:46;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed}.fab-menu.show{pointer-events:auto}.fab-menu-item{cursor:pointer;opacity:0;background:0 0;border:none;justify-content:flex-end;align-items:center;gap:10px;transition:opacity .22s,transform .28s cubic-bezier(.34,1.56,.64,1);display:flex;transform:translateY(16px)scale(.92)}.fab-menu.show .fab-menu-item{opacity:1;transform:translateY(0)scale(1)}.fab-menu.show .fab-menu-item:nth-child(4){transition-delay:20ms}.fab-menu.show .fab-menu-item:nth-child(3){transition-delay:60ms}.fab-menu.show .fab-menu-item:nth-child(2){transition-delay:.1s}.fab-menu.show .fab-menu-item:first-child{transition-delay:.14s}.fab-menu-label{background:var(--paper-2);color:var(--ink);white-space:nowrap;letter-spacing:.04em;border-radius:20px;padding:8px 14px;font-size:13px;font-weight:500;box-shadow:0 2px 8px #4337291f}.fab-menu-item.primary .fab-menu-label{background:var(--beni);color:#fff}.fab-menu-icon{background:var(--paper-2);width:38px;height:38px;color:var(--ink-2);border-radius:50%;flex-shrink:0;place-items:center;display:grid;box-shadow:0 2px 8px #4337291f}.fab-menu-item.primary .fab-menu-icon{background:var(--beni);color:#fff}.share-done{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:20px 0 10px;display:flex}.share-done-check{background:var(--matcha);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:4px;font-size:24px;display:flex}.share-done-heading{font-family:var(--mincho);color:var(--ink);font-size:18px;font-weight:600}.share-skip{color:var(--ink-3);margin-top:12px;font-size:13px;text-decoration:none}.share-skip:hover{color:var(--ink-2)}.invite-qr{flex-direction:column;align-items:center;gap:6px;margin:10px 0 14px;display:flex}.invite-qr img{border:1px solid var(--line);border-radius:8px}.invite-qr-label{color:var(--ink-3);letter-spacing:.05em;font-size:11px}.erabi-card{background:var(--paper-2);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:4px;margin-top:8px;padding:22px 18px 18px}.erabi-sur{text-align:center;font-family:var(--mincho);color:var(--ink-2);letter-spacing:.22em;font-size:15px}.erabi-name{text-align:center;letter-spacing:.14em;margin:2px 0 6px;font-size:52px;font-weight:700;line-height:1.25}.erabi-yomi{text-align:center;color:var(--ink-2);letter-spacing:.3em;font-size:11.5px}.erabi-meanings{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.erabi-mrow{align-items:baseline;gap:10px;margin-bottom:9px;display:flex}.erabi-mch{color:var(--beni-deep);text-align:center;flex-shrink:0;width:30px;font-size:26px;line-height:1}.erabi-mtx{color:var(--ink-2);font-size:12px;line-height:1.75}.erabi-memo{background:var(--paper-3);border-radius:3px;margin-top:6px;padding:10px 11px}.erabi-memo-label{letter-spacing:.08em;color:var(--ink-2);margin-bottom:6px;font-size:11px}.erabi-memo-row{color:var(--ink);gap:7px;margin-top:4px;font-size:12px;line-height:1.75;display:flex}.erabi-who{color:#fff;border-radius:2px;flex-shrink:0;height:18px;padding:0 6px;font-size:11px;line-height:18px}.erabi-who-p1{background:var(--p1)}.erabi-who-p2{background:var(--p2)}.erabi-strokes{color:var(--ink);border-top:1px dashed var(--line);margin-top:12px;padding-top:10px;font-size:11px}.erabi-pager{align-items:center;gap:8px;margin-top:14px;display:flex}.erabi-arw{border:1px solid var(--line);width:36px;height:36px;color:var(--ink-2);background:var(--paper-2);border-radius:50%;flex-shrink:0;font-size:14px}.erabi-arw:disabled{opacity:.35}.erabi-fudas{scrollbar-width:none;flex:1;justify-content:center;gap:6px;min-width:0;display:flex;overflow-x:auto}.erabi-fudas::-webkit-scrollbar{display:none}.erabi-fuda{white-space:nowrap;letter-spacing:.06em;border:1px solid var(--line);background:var(--paper-2);color:var(--ink-2);border-radius:3px;flex-shrink:0;padding:7px 11px;font-size:17px}.erabi-fuda.on{border-color:var(--beni);color:var(--beni-deep);box-shadow:0 0 0 2px #c14b5a21}.sumi-screen{color:#ece2cf;z-index:30;background:#14100b;flex-direction:column;justify-content:center;align-items:center;padding:24px 20px;display:flex;position:fixed;inset:0;overflow:hidden}.kakugo-body{text-align:center;width:100%;max-width:420px}.kakugo-line{font-family:var(--mincho);letter-spacing:.08em;color:#ece2cf;opacity:0;margin:0 0 20px;font-size:17px;line-height:2.1;animation:1.4s ease-out forwards kakugo-rise;transform:translateY(9px)}@keyframes kakugo-rise{to{opacity:1;transform:translateY(0)}}.kakugo-ask{opacity:0;margin-top:30px;animation:1.4s ease-out 6.2s forwards kakugo-rise}.kakugo-ask.locked{pointer-events:none}.kakugo-q{font-family:var(--mincho);letter-spacing:.14em;color:#f5ecd9;margin:0 0 18px;font-size:21px}.kakugo-btns{gap:10px;display:flex}.kakugo-no,.kakugo-yes{letter-spacing:.08em;border-radius:3px;flex:1;padding:13px 6px;font-size:13px;font-weight:600}.kakugo-no{color:#d6cab2;background:0 0;border:1px solid #ece2cf66}.kakugo-yes{background:var(--beni);color:#fff8ef}.rite-screen{--p:0}.rite-stage{border-radius:4px;flex:1;place-items:center;width:100%;max-width:420px;max-height:620px;display:grid;position:relative;overflow:hidden}.rite-grain{opacity:.5;background-image:repeating-linear-gradient(0deg,#0000 0 3px,#fff0d203 3px 4px),repeating-linear-gradient(90deg,#0000 0 5px,#fff0d203 5px 6px);position:absolute;inset:0}.rite-rays{width:680px;height:680px;opacity:calc(var(--p) * .9);background:repeating-conic-gradient(#ffeec426 0deg 2.4deg,#0000 2.4deg 11deg);margin:-340px 0 0 -340px;animation:26s linear infinite rite-spin;position:absolute;top:62%;left:50%;-webkit-mask-image:radial-gradient(circle,#000 8%,#0000008c 34%,#0000 62%);mask-image:radial-gradient(circle,#000 8%,#0000008c 34%,#0000 62%)}@keyframes rite-spin{to{transform:rotate(360deg)}}.rite-dawn{height:108%;opacity:var(--p);transform:translateY(calc((1 - var(--p)) * 46%));background:radial-gradient(at 50% 100%,#fff4d6fa 0%,#ffce849e 22%,#d66e544d 42%,#78323c1f 58%,#0000 74%);position:absolute;bottom:-50%;left:-30%;right:-30%}.rite-ripple{width:40px;height:40px;opacity:calc(var(--p) * (1 - var(--p)) * 3);transform:scale(calc(.4 + var(--p) * 8));border:1px solid #ffe8b480;border-radius:50%;margin:-20px 0 0 -20px;position:absolute;top:62%;left:50%}.rite-name{z-index:5;letter-spacing:.16em;writing-mode:vertical-rl;color:#f7efdc;height:250px;opacity:calc(.12 + var(--p) * .88);text-shadow:0 0 calc(var(--p) * 26px) #ffdc96bf;align-items:center;font-size:44px;font-weight:700;display:flex;position:relative}.rite-name small{letter-spacing:.2em;color:#f0e4cc8c;font-size:16px}.rite-haku{z-index:4;pointer-events:none;position:absolute;inset:0}.rite-haku i{opacity:0;background:linear-gradient(135deg,#f7e2a4,#c9a558 46%,#8f6c28);width:7px;height:9px;position:absolute;bottom:22%}.rite-stage.sealed .rite-haku i{animation:1.5s ease-out forwards rite-haku}@keyframes rite-haku{0%{opacity:0;transform:translateY(20px)rotate(0)}25%{opacity:.95}to{opacity:0;transform:translateY(-190px)rotate(540deg)}}.rite-flash{z-index:6;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 55%,#fffaebeb,#0000 55%);position:absolute;inset:0}.rite-stage.sealed .rite-flash{animation:1s ease-out forwards rite-flash}@keyframes rite-flash{0%{opacity:0}18%{opacity:.85}to{opacity:0}}.rite-seal{z-index:7;color:#e8677b;text-align:center;opacity:0;border:2px solid #d4566a;border-radius:3px;place-items:center;width:46px;height:46px;font-size:12px;line-height:1.15;display:grid;position:absolute;top:16px;right:16px;transform:scale(3)rotate(-11deg)}.rite-stage.sealed .rite-seal{animation:.8s ease-out .15s forwards rite-seal}@keyframes rite-seal{0%{opacity:0;transform:scale(3)rotate(-11deg)}60%{opacity:1;transform:scale(.9)rotate(3deg)}to{opacity:.95;transform:scale(1)rotate(0)}}.rite-thumbs{z-index:8;justify-content:space-between;padding:0 14px;display:flex;position:absolute;bottom:12px;left:0;right:0}.rite-thumb{color:#f2e5c8;width:64px;height:64px;font-family:var(--mincho);letter-spacing:.06em;touch-action:none;background:#14100b99;border:1.5px solid #ffe8b473;border-radius:50%;font-size:13px;position:relative}.rite-thumb:after{content:"";transform:rotate(calc(var(--p) * 360deg));opacity:var(--p);border:2px solid #0000;border-top-color:#ffe8b4d9;border-radius:50%;position:absolute;inset:-4px}.rite-thumb.hidden-thumb{visibility:hidden;pointer-events:none}.rite-copy{letter-spacing:.16em;text-align:center;color:#ece2cfbf;margin-top:14px;font-size:13px;line-height:1.9}.rite-solo{letter-spacing:.1em;color:#ece2cf8c;background:0 0;margin-top:10px;font-size:12px;text-decoration:underline}@media (prefers-reduced-motion:reduce){.kakugo-line,.kakugo-ask{opacity:1;animation:none;transform:none}.rite-rays,.rite-stage.sealed .rite-haku i,.rite-stage.sealed .rite-flash,.rite-stage.sealed .rite-seal{animation:none}.rite-haku i,.rite-flash{opacity:0}.rite-stage.sealed .rite-seal{opacity:.95;transform:scale(1)}}@media (width<=360px){.shell{padding-left:14px;padding-right:14px}.sheet{padding-left:16px;padding-right:16px}.sheet .sheet-actions{flex-wrap:wrap}.sheet .sheet-actions .btn{flex:100%}}@media (orientation:landscape) and (height<=480px){.overlay{align-items:stretch}.sheet{border-radius:0;max-height:100dvh}}
