:root{--washi:#faf6ee;--card:#fffdf8;--ink:#4a4139;--ink-soft:#6f6557;--line:#eadfce;--accent:#d98a63;--accent-deep:#c4714a;--attention:#a4562e;--cat:#8b95a8;--cat-deep:#6b7488;--seal:#d96b6b;--green:#7fae6b;--serif:"Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;--sans:system-ui, "Noto Sans JP", "Yu Gothic UI", "Yu Gothic", sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{height:100%}body{font-family:var(--sans);color:var(--ink);background:#e7e0d2;justify-content:center;align-items:center;min-height:100dvh;display:flex}.phone{background:var(--washi);border-radius:28px;flex-direction:column;width:390px;max-width:100vw;height:800px;max-height:100dvh;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 60px #4a413947}@media (width<=420px){body{align-items:stretch}.phone{height:100dvh;box-shadow:none;border-radius:0}}.app-header{text-align:center;padding:16px 20px 8px;position:relative}.app-header h1{font-family:var(--serif);letter-spacing:.35em;text-indent:.35em;font-size:21px}.app-header .app-logo{vertical-align:middle;width:auto;height:30px;display:inline-block}.app-header .date{color:var(--ink-soft);margin-top:4px;font-size:11.5px}.mockbadge{color:#fff;background:var(--cat);letter-spacing:.1em;border-radius:99px;padding:3px 8px;font-size:9.5px;position:absolute;top:14px;right:14px}.petbar{color:var(--ink-soft);justify-content:center;align-items:center;gap:8px;margin-top:8px;font-size:11.5px;display:none}.petbar.show{display:flex}.petbar .pepe{background:var(--card);border:1px solid var(--line);border-radius:99px;align-items:center;gap:6px;padding:4px 12px 4px 5px;display:flex}.petbar .face{background:var(--card);border-radius:50%;width:26px;height:26px;display:block;overflow:hidden}.petbar .face svg{width:100%;height:100%;display:block}.screen{overscroll-behavior:contain;flex:1;padding:18px 18px 90px;display:none;overflow-y:auto}.screen.active{display:block}.scaffold-note{font-family:var(--serif);color:var(--ink-soft);text-align:center;margin-top:40px;font-size:15px;line-height:2}.sub-screen{display:none}.sub-screen.active{display:block}.envrow{gap:12px;margin-top:4px;display:flex}.env{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:16px;flex:1;padding:12px 10px 14px;transition:all .3s;position:relative}.env .who{color:var(--ink-soft);letter-spacing:.15em;margin-bottom:8px;font-size:11px}.envelope{aspect-ratio:4/3;perspective:600px;width:100%;position:relative}.env-body{background:linear-gradient(#f6eddd,#efe3cd);border:1.5px solid #e0d2b8;border-radius:10px;position:absolute;inset:0;overflow:hidden}.env-flap{transform-origin:top;clip-path:polygon(0 0,100% 0,50% 100%);z-index:3;background:linear-gradient(#efe3cd,#e6d7bc);border-radius:10px 10px 4px 4px;height:52%;transition:transform .8s cubic-bezier(.6,-.2,.3,1.2);position:absolute;top:0;left:0;right:0}.env.opened .env-flap{transform:rotateX(-175deg)}.seal{background:radial-gradient(circle at 35% 30%, #e58585, var(--seal));z-index:4;color:#fff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:15px;transition:opacity .4s;display:flex;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 5px #0003}.env.opened .seal{opacity:0;pointer-events:none}.env-photo{z-index:2;opacity:0;background:#fff;border-radius:8px;transition:all .7s .5s;position:absolute;inset:7%;overflow:hidden;transform:translateY(8%)}.env.opened .env-photo{opacity:1;transform:translateY(0)}.env-photo svg{width:100%;height:100%;display:block}.env .hint{color:var(--ink-soft);min-height:33px;margin-top:9px;font-size:10.5px;line-height:1.6}.env .onecomment{background:var(--washi);border-radius:8px;margin-top:8px;padding:6px 8px;font-size:11px;line-height:1.5;display:none}.env.opened .onecomment{display:block}.env.empty .env-body{background:repeating-linear-gradient(45deg,#f7f1e4,#f7f1e4 6px,#f2ead9 6px 12px);border-style:dashed}.postbtn{background:var(--ink);color:#fff;width:100%;font-family:var(--sans);cursor:pointer;letter-spacing:.1em;border:none;border-radius:99px;margin-top:9px;padding:10px 0;font-size:13px;font-weight:700}.postbtn:active{background:#5d554b}.stampcard{background:var(--card);border:1px solid var(--line);border-radius:14px;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;animation:.5s pop;display:none}.stampcard.show{display:flex}@keyframes pop{0%{opacity:0;transform:scale(.9)}70%{transform:scale(1.04)}to{opacity:1;transform:scale(1)}}.stampmark{border:2.5px solid var(--seal);min-width:58px;height:58px;color:var(--seal);letter-spacing:.05em;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex;transform:rotate(-8deg)}.stampmark span{font-size:15px}.stampcard p{color:var(--ink);font-size:11.5px;line-height:1.7}.diarycard{background:var(--card);border:1px solid var(--line);border-radius:16px;margin-top:14px;padding:16px;position:relative}.diarycard h3{letter-spacing:.2em;color:var(--ink-soft);align-items:center;gap:7px;font-size:12px;display:flex}.diarycard h3:before{content:"🐾";font-size:13px}.diary-locked{text-align:center;color:var(--ink-soft);padding:18px 6px 10px;font-size:12px;line-height:1.9}.diary-locked .lock{filter:grayscale(.3);margin-bottom:6px;font-size:26px;display:block}.diary-body{font-family:var(--serif);letter-spacing:.02em;margin-top:12px;font-size:14px;line-height:2.05;animation:1.2s fadein;display:none}.diarycard.unlocked .diary-body{display:block}.diarycard.unlocked .diary-locked{display:none}@keyframes fadein{0%{opacity:0;transform:translateY(6px)}to{opacity:1}}.diary-sign{text-align:right;color:var(--ink-soft);font-size:12px;font-family:var(--serif);margin-top:10px}.moodline{gap:6px;margin-top:12px;display:none}.diarycard.unlocked .moodline{display:flex}.moodchip{background:var(--washi);border:1px solid var(--line);color:var(--ink-soft);border-radius:99px;padding:4px 10px;font-size:10.5px}.necolog{background:var(--card);border:1px solid var(--line);border-radius:16px;margin-top:14px;padding:14px}.necolog h3{letter-spacing:.2em;color:var(--ink-soft);align-items:center;gap:7px;font-size:12px;display:flex}.necolog h3:before{content:"📋"}.usualbtn{border:1.5px solid var(--green);color:#5c7a4e;width:100%;font-family:var(--sans);cursor:pointer;background:#f4f9f0;border-radius:12px;margin-top:10px;padding:12px 6px;font-size:13px;font-weight:700;line-height:1.6}.usualbtn small{color:#8aa17b;font-size:10px;font-weight:400;display:block}.usualbtn.done{border-color:var(--line);background:var(--washi);color:var(--ink-soft)}.usualbtn.done small{color:var(--ink-soft)}.difflink{text-align:center;color:var(--ink-soft);cursor:pointer;margin-top:8px;font-size:10.5px;text-decoration:underline;display:block}.backlink{color:var(--ink-soft);cursor:pointer;margin-bottom:10px;font-size:12px;display:inline-block}.compose h2{font-family:var(--serif);margin-bottom:4px;font-size:16px}.compose .sub{color:var(--ink-soft);margin-bottom:14px;font-size:11.5px}.photogrid{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.photogrid .ph{cursor:pointer;aspect-ratio:1;background:#fff;border:2.5px solid #0000;border-radius:10px;transition:all .15s;overflow:hidden}.photogrid .ph svg{width:100%;height:100%;display:block}.photogrid .ph.sel{border-color:var(--accent);transform:scale(1.03);box-shadow:0 4px 10px #d98a634d}.moodgrid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px;display:grid}.mood{background:var(--card);border:2px solid var(--line);text-align:center;cursor:pointer;color:var(--ink-soft);border-radius:12px;padding:9px 4px;font-size:11px;transition:all .15s}.mood span{margin-bottom:2px;font-size:20px;display:block}.mood.sel{border-color:var(--accent);color:var(--ink);background:#fdf3ec}.commentbox{border:1px solid var(--line);background:var(--card);width:100%;font-family:var(--sans);resize:none;color:var(--ink);border-radius:12px;margin-top:10px;padding:10px 12px;font-size:13px}.commentbox::placeholder{color:#c2b6a5}.steplabel{letter-spacing:.18em;color:var(--accent-deep);margin:16px 0 7px;font-size:11px;font-weight:700}.sendbtn{background:var(--ink);color:#fff;width:100%;font-family:var(--sans);cursor:pointer;letter-spacing:.15em;border:none;border-radius:99px;margin-top:18px;padding:14px 0;font-size:14px;font-weight:700}.sendbtn:disabled{cursor:default;background:#cfc5b6}.sendnote{color:var(--ink-soft);text-align:center;margin-top:9px;font-size:10.5px;line-height:1.6}.nightveil{pointer-events:none;opacity:0;z-index:15;background:linear-gradient(#2b304252,#2b30421f);transition:all 1.2s;position:absolute;inset:0}body.night .nightveil{opacity:1}.demochip{z-index:40;background:var(--cat-deep);color:#fff;font-family:var(--sans);cursor:pointer;opacity:.88;letter-spacing:.08em;border:none;border-radius:99px;padding:8px 13px;font-size:10.5px;position:absolute;bottom:78px;right:12px}.demopanel{z-index:41;background:#fff;border-radius:14px;width:210px;padding:12px;display:none;position:absolute;bottom:118px;right:12px;box-shadow:0 10px 30px #0003}.demopanel.show{display:block}.demopanel p{color:var(--ink-soft);margin-bottom:8px;font-size:10px;line-height:1.6}.demopanel button{border:1px solid var(--line);background:var(--washi);width:100%;font-family:var(--sans);cursor:pointer;color:var(--ink);border-radius:9px;margin-top:6px;padding:8px;font-size:11.5px}.cal-title{font-family:var(--serif);text-align:center;margin:6px 0 2px;font-size:15px}.counterline{text-align:center;color:var(--ink-soft);margin-bottom:12px;font-size:11px}.calgrid{text-align:center;grid-template-columns:repeat(7,1fr);gap:5px;font-size:10px;display:grid}.calgrid .wd{color:var(--ink-soft);padding:4px 0}.cald{aspect-ratio:1;background:var(--card);border:1px solid var(--line);color:var(--ink-soft);border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex}.cald.blank{background:0 0;border:none}.cald.future{opacity:.4}.cald .st{font-size:13px;line-height:1}.cald.today{border:2px solid var(--accent);color:var(--ink);font-weight:700}.legend{background:var(--card);border:1px solid var(--line);color:var(--ink-soft);border-radius:12px;margin-top:14px;padding:12px 14px;font-size:11px;line-height:1.9}.lastyear{border:1.5px dashed var(--line);text-align:center;color:var(--ink-soft);background:#fffdf899;border-radius:14px;margin-top:14px;padding:16px;font-size:11.5px;line-height:1.9}.lastyear b{color:var(--accent-deep)}.shelf-wrap{margin-top:10px}.shelf-note{color:var(--ink-soft);text-align:center;margin-bottom:18px;font-size:11.5px;line-height:1.9}.shelf{background:linear-gradient(#c9a97e,#b8946a);border-radius:6px;padding:14px 14px 0;box-shadow:inset 0 -6px #a5825c}.books{align-items:flex-end;gap:7px;min-height:130px;padding-bottom:10px;display:flex}.book{writing-mode:vertical-rl;letter-spacing:.12em;color:#fff;width:44px;height:122px;font-size:11px;font-family:var(--serif);border-radius:4px 4px 2px 2px;justify-content:center;align-items:center;line-height:1.2;display:flex}.book.ghost{color:#b0a48f;background:repeating-linear-gradient(45deg,#e9e2d2,#e9e2d2 5px,#f4efe2 5px 10px);border:1.5px dashed #cfc4ac}.shelf-caption{background:var(--card);border:1px solid var(--line);color:var(--ink);border-radius:14px;margin-top:16px;padding:14px;font-size:11.5px;line-height:1.95}.shelf-caption b{color:var(--accent-deep)}.diag-title{justify-content:center;align-items:center;gap:9px;display:flex}.diag-title .dt-face{border:1px solid var(--line);border-radius:50%;width:32px;height:32px;overflow:hidden}.diag-title .dt-face svg{width:100%;height:100%;display:block}.diagcard{background:var(--card);border:1px solid var(--line);border-radius:16px;margin-top:14px;padding:14px;position:relative}.diagcard h3{letter-spacing:.12em;color:var(--ink);align-items:center;gap:6px;margin-bottom:4px;font-size:12.5px;display:flex}.unlock{background:var(--washi);border:1px solid var(--line);color:var(--ink-soft);border-radius:99px;padding:3px 8px;font-size:9px;position:absolute;top:12px;right:12px}.diag-note{color:var(--ink-soft);font-size:10.5px;line-height:1.7}.radarwrap{align-items:center;gap:8px;margin-top:6px;display:flex}.radarwrap svg{flex:none;width:55%}.evi{flex:1}.evi .chip{background:var(--washi);border:1px solid var(--line);color:var(--ink-soft);border-radius:8px;margin-top:5px;padding:5px 8px;font-size:10px;line-height:1.5;display:block}.evi .chip b{color:var(--accent-deep)}.rolerow{gap:10px;margin-top:10px;display:flex}.role{background:var(--washi);border:1px solid var(--line);text-align:center;border-radius:12px;flex:1;padding:10px 6px}.role .emoji{font-size:22px}.role .name{margin-top:2px;font-size:11px;font-weight:700}.role .label{color:var(--accent-deep);margin-top:2px;font-size:10px}.matchline{background:#fdf3ec;border-radius:10px;margin-top:10px;padding:9px 11px;font-size:11px;line-height:1.8}.quiz-q{margin:8px 0 10px;font-size:13px;font-weight:700;line-height:1.6}.quiz-opts{grid-template-columns:1fr 1fr;gap:7px;display:grid}.qopt{border:1.5px solid var(--line);background:var(--washi);text-align:center;cursor:pointer;font-size:11.5px;font-family:var(--sans);color:var(--ink);border-radius:10px;padding:10px 4px}.qopt.correct{border-color:var(--green);background:#eef5e9;font-weight:700}.qopt.wrong{color:#b06a6a;background:#f9ecec;border-color:#d9a3a3}.quiz-ans{color:var(--ink-soft);margin-top:9px;font-size:10.5px;line-height:1.7;display:none}.quiz-ans.show{display:block}.bioband{color:var(--ink-soft);text-align:center;grid-template-columns:56px repeat(7,1fr);align-items:center;gap:3px;margin-top:10px;font-size:9px;display:grid}.bioband .bl{text-align:right;padding-right:4px}.bioband .bc{border-radius:4px;height:16px}.monthstamp{background:var(--washi);border-radius:12px;align-items:center;gap:10px;margin-top:12px;padding:10px;display:flex}.monthstamp .ms{border:2px solid var(--accent);min-width:54px;height:54px;color:var(--accent-deep);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;font-size:8.5px;font-weight:700;display:flex;transform:rotate(-6deg)}.monthstamp .ms span{font-size:16px}.monthstamp p{color:var(--ink-soft);font-size:10.5px;line-height:1.7}.gq{margin-top:10px;font-size:11.5px;font-weight:700;line-height:1.6}.ganswer{background:var(--washi);border:1px solid var(--line);border-radius:10px;margin-top:6px;padding:9px 11px;font-size:11.5px;line-height:1.7}.ganswer.ghost{color:#b0a48f;background:#fffdf880;border-style:dashed}.gwho{color:var(--accent-deep);letter-spacing:.08em;font-size:9.5px;font-weight:700}.testimony{font-family:var(--serif);background:#f6f2e8;border-radius:10px;margin-top:10px;padding:10px 12px;font-size:11.5px;line-height:1.95}.testimony .by{text-align:right;color:var(--ink-soft);margin-top:4px;font-size:10px;display:block}.omi-lead{color:var(--ink-soft);font-size:10.5px;line-height:1.75}.omi-slip{margin-top:12px;position:relative}.slip-closed{border:1px solid var(--line);text-align:center;cursor:pointer;background:repeating-linear-gradient(0deg,#0000,#0000 15px,#6f65570d 15px 16px);border-radius:12px;padding:18px 14px 15px;transition:all .15s}.slip-closed:active{transform:scale(.99)}.slip-closed .omi-seal{background:var(--cat-deep);color:#fff;width:30px;height:30px;font-family:var(--serif);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 9px;font-size:14px;display:flex}.slip-closed .omi-c1{color:var(--ink);font-size:12.5px}.slip-closed .omi-c2{color:var(--ink-soft);letter-spacing:.25em;margin-top:5px;font-size:10px}.omi-seal.paw{background:0 0;border-radius:0;width:36px;height:36px;margin:0 auto 9px}.omi-seal.paw svg{width:100%;height:100%;display:block}@keyframes paw-invite{0%,to{transform:translateY(0)}50%{transform:translateY(-2.5px)}}.omi-paw{border:1px solid var(--line);background:#fdf3ec;border-radius:12px;align-items:center;gap:12px;margin-bottom:14px;padding:12px 14px;display:flex}.omi-paw .op-stamp{flex:none;width:46px;height:46px}.omi-paw .op-stamp svg{width:100%;height:100%;display:block}.omi-paw .op-label{letter-spacing:.2em;color:var(--kaki);font-size:9.5px;font-weight:700}.omi-paw .op-word{color:var(--ink);letter-spacing:.02em;margin-top:3px;font-size:13.5px;line-height:1.7}@keyframes paw-pon{0%{opacity:0;transform:scale(1.5)rotate(-12deg)}55%{opacity:1;transform:scale(.9)rotate(4deg)}78%{transform:scale(1.05)rotate(-1deg)}to{transform:scale(1)rotate(0)}}@media (prefers-reduced-motion:no-preference){.slip-closed .omi-seal.paw{animation:2.4s ease-in-out infinite paw-invite}.omi-slip.open .op-stamp{animation:.6s cubic-bezier(.2,.8,.3,1.3) both paw-pon}}.slip-open{border:1px solid var(--line);background:#fffdf8;border-radius:12px;padding:14px;animation:.5s fadein;display:none}.omi-slip.open .slip-closed{display:none}.omi-slip.open .slip-open{display:block}.odai-label{letter-spacing:.2em;color:var(--accent-deep);font-size:9.5px;font-weight:700}.odai-text{color:var(--ink);margin-top:6px;font-size:13.5px;line-height:1.8}.odai-ans{flex-wrap:wrap;gap:7px;margin-top:13px;display:flex}.odai-ans button{border:1.5px solid var(--line);background:var(--washi);font-family:var(--sans);color:var(--ink);cursor:pointer;border-radius:10px;padding:8px 12px;font-size:12px;transition:all .12s}.odai-ans button.sel{border-color:var(--accent);background:#fdf3ec;font-weight:700}.odai-ans button:disabled{opacity:.45;cursor:default}.omi-done{color:var(--ink);background:var(--washi);border-radius:10px;margin-top:13px;padding:10px 12px;font-size:11px;line-height:1.75;display:none}.omi-slip.answered .omi-done{display:block}.omi-done b{color:var(--accent-deep)}.omi-done .omi-link{color:var(--ink-soft);cursor:pointer;margin-top:6px;font-size:10.5px;text-decoration:underline;display:inline-block}.omi-foot{color:var(--ink-soft);margin-top:11px;font-size:10px;line-height:1.75}.odai-color{background:var(--washi);border:1px solid var(--line);border-radius:12px;align-items:center;gap:12px;margin-bottom:14px;padding:10px 12px;display:flex}.odai-color .oc-cat{flex:none;width:54px;height:54px}.odai-color .oc-cat svg{width:100%;height:100%;display:block}.odai-color .oc-label{letter-spacing:.2em;color:var(--accent-deep);font-size:9.5px;font-weight:700}.odai-color .oc-name{color:var(--ink);margin-top:2px;font-size:15px;font-weight:600}.odai-color .oc-sub{color:var(--ink-soft);margin-top:4px;font-size:10px;line-height:1.6}.odai-entry{background:var(--washi);border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;margin-bottom:14px;padding:9px 12px;display:flex}.odai-entry .oe-text{color:var(--ink-soft);flex:1;font-size:11px;line-height:1.55}.odai-entry .oe-text b{color:var(--ink);font-size:12px}.odai-entry .oe-btn{border:1.5px solid var(--line);background:var(--card);color:var(--accent-deep);font-family:var(--sans);cursor:pointer;border-radius:99px;flex:none;padding:6px 12px;font-size:11px;font-weight:700}.necolog-edit{border-top:1px dashed var(--line);margin-top:12px;padding-top:12px;display:none}.necolog-edit.open{display:block}.ne-row{align-items:center;gap:10px;margin-bottom:9px;display:flex}.ne-label{width:46px;color:var(--ink-soft);flex:none;font-size:11px}.ne-chips{flex-wrap:wrap;gap:6px;display:flex}.ne-chips button{border:1.5px solid var(--line);background:var(--washi);font-family:var(--sans);color:var(--ink-soft);cursor:pointer;border-radius:99px;padding:5px 11px;font-size:11px}.ne-chips button.on{border-color:var(--accent);color:var(--ink);background:#fdf3ec;font-weight:700}.ne-note{border:1px solid var(--line);background:var(--washi);width:100%;font-family:var(--sans);resize:none;color:var(--ink);border-radius:10px;margin-top:2px;padding:8px 10px;font-size:12px}.ne-note::placeholder{color:#c2b6a5}.ne-save{background:var(--green);color:#fff;width:100%;font-family:var(--sans);cursor:pointer;letter-spacing:.05em;border:none;border-radius:99px;margin-top:10px;padding:10px 0;font-size:13px;font-weight:700}.bestcut-grid{grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px;display:grid}.bc-cell.empty{cursor:pointer}.bc-slot{aspect-ratio:1;border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.bc-slot svg{width:100%;height:100%;display:block}.bc-slot.bc-empty{border:1.5px dashed var(--line);background:var(--washi);color:#c2b6a5;flex-direction:column;justify-content:center;align-items:center;gap:1px;font-size:18px;display:flex}.bc-slot.bc-empty span{font-size:9px}.bc-name{text-align:center;color:var(--ink-soft);margin-top:4px;font-size:10px}nav{border-top:1px solid var(--line);padding:8px 6px calc(10px + env(safe-area-inset-bottom));z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffdf8f5;display:flex;position:absolute;bottom:0;left:0;right:0}nav button{font-family:var(--sans);color:var(--ink-soft);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:4px 0;font-size:10px;display:flex}nav button span{filter:grayscale();opacity:.55;font-size:19px;transition:all .15s}nav button .nav-ico{filter:grayscale();opacity:.5;width:24px;height:24px;transition:all .15s;display:block}nav button.active{color:var(--accent-deep);font-weight:700}nav button.active span,nav button.active .nav-ico{filter:none;opacity:1}.toast{background:var(--ink);color:#fff;z-index:60;text-align:center;border-radius:99px;max-width:88%;padding:10px 16px;font-size:11.5px;line-height:1.5;transition:all .45s;position:absolute;top:14px;left:50%;transform:translate(-50%,-70px);box-shadow:0 6px 18px #00000040}.toast.show{transform:translate(-50%)}.ob-skip{color:var(--ink-soft);cursor:pointer;z-index:6;font-size:10.5px;text-decoration:underline;position:absolute;top:14px;right:14px}.ob-stage{display:none}.ob-stage.on{display:block}.ob-head{text-align:center}.ob-head h2{font-family:var(--serif);letter-spacing:.05em;font-size:17px}.ob-head .ob-sub{color:var(--ink-soft);margin-top:7px;font-size:11.5px;line-height:1.8}.mihon-grid{grid-template-columns:repeat(4,1fr);gap:9px;margin-top:16px;display:grid}.mihon-cell{background:var(--card);text-align:center;cursor:pointer;border:2px solid #0000;border-radius:13px;padding:6px 3px 5px;transition:all .15s;box-shadow:0 1px #4a41390d}.mihon-cell svg{width:100%;display:block}.mihon-cell .mn{color:var(--ink-soft);letter-spacing:.01em;margin-top:1px;font-size:8.5px;line-height:1.25}.mihon-cell.sel{border-color:var(--accent);background:#fdf3ec;transform:translateY(-1px);box-shadow:0 6px 14px #d98a6347}.ob-divider{text-align:center;color:var(--ink-soft);letter-spacing:.22em;grid-column:1/-1;align-items:center;gap:9px;margin:5px 2px 1px;font-size:10px;display:flex}.ob-divider:before,.ob-divider:after{content:"";background:var(--line);flex:1;height:1px}.ob-route{color:var(--ink-soft);background:var(--washi);border:1px dashed var(--line);border-radius:10px;margin-top:16px;padding:10px 12px;font-size:10px;line-height:1.85}.ob-cta{margin-top:18px}.ob-cta button{background:var(--ink);color:#fff;width:100%;font-family:var(--sans);cursor:pointer;letter-spacing:.1em;border:none;border-radius:99px;padding:14px 0;font-size:14px;font-weight:700}.ob-cta button:disabled{cursor:default;background:#cfc5b6}.carve-back{color:var(--ink-soft);cursor:pointer;margin-bottom:10px;font-size:12px;display:inline-block}.carve-top{background:var(--card);border:1px solid var(--line);border-radius:16px;align-items:center;gap:14px;padding:14px;display:flex}.carve-preview{background:var(--washi);border:1px solid var(--line);border-radius:14px;flex:none;justify-content:center;align-items:center;width:116px;height:116px;display:flex;position:relative}.carve-preview svg{width:92px;height:92px;display:block}.carve-frame{border:1.5px solid var(--line);pointer-events:none;border-radius:11px;position:absolute;inset:10px}.carve-meta .cm-name{font-family:var(--serif);font-size:15px}.carve-meta .cm-note{color:var(--ink-soft);margin-top:6px;font-size:10.5px;line-height:1.75}.carve-sec{margin-top:16px}.carve-sec .cl{letter-spacing:.14em;color:var(--accent-deep);margin-bottom:9px;font-size:11px;font-weight:700}.sw-row{flex-wrap:wrap;gap:9px;padding-bottom:15px;display:flex}.sw{cursor:pointer;border:2px solid #0000;border-radius:9px;width:34px;height:34px;position:relative;box-shadow:inset 0 0 0 1px #4a413914}.sw.sel{border-color:var(--ink)}.sw .swl{color:var(--ink-soft);white-space:nowrap;font-size:8px;position:absolute;bottom:-13px;left:50%;transform:translate(-50%)}.eye-row{flex-wrap:wrap;gap:10px;display:flex}.eye-sw{cursor:pointer;border:2px solid #0000;border-radius:50%;width:28px;height:28px;box-shadow:inset 0 0 0 1px #4a41391a}.eye-sw.sel{border-color:var(--ink)}.flagchips{flex-wrap:wrap;gap:8px;display:flex}.flagchip{border:1.5px solid var(--line);background:var(--washi);cursor:pointer;color:var(--ink-soft);border-radius:99px;padding:7px 14px;font-size:11px}.flagchip.on{border-color:var(--accent);color:var(--ink);background:#fdf3ec;font-weight:700}.carve-foot{color:var(--ink-soft);text-align:center;margin-top:16px;font-size:10.5px;line-height:1.8}
