:root{--c-bg:#fdf7f5;--c-surface:#fff;--c-rose:#e11d48;--c-rose-dark:#be123c;--c-rose-pale:#ffe4ea;--c-gold:#b98a44;--c-ink:#3f2d38;--c-muted:#8a7580;--c-line:#f1dfe4;--c-danger:#dc2626;--c-success:#059669;--c-radius:16px;--c-radius-sm:10px;--focus-ring:0 0 0 2px #fff, 0 0 0 4px #e11d48}*{box-sizing:border-box}html,body{background:var(--c-bg);min-height:100%;color:var(--c-ink);margin:0;font-family:Zen Maru Gothic,Noto Sans JP,system-ui,sans-serif}body{overflow-wrap:break-word;line-break:strict;word-break:normal}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.password-input-wrap{width:100%;display:block;position:relative}.password-input-wrap .input{padding-right:52px}.password-visibility-toggle{width:40px;height:40px;color:var(--c-muted);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.password-visibility-toggle:hover{background:var(--c-rose-pale);color:var(--c-rose-dark)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{box-shadow:var(--focus-ring);outline:none}.navigation-loading{z-index:10000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#3f2d388f;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.navigation-loading-panel{border:1px solid var(--c-line);background:#fff;border-radius:18px;place-items:center;width:74px;height:74px;display:grid;box-shadow:0 18px 60px #3f2d3847}.navigation-loading-spinner{border:3px solid var(--c-rose-pale);border-top-color:var(--c-rose);border-radius:50%;width:34px;height:34px;animation:.72s linear infinite navigation-spin}@keyframes navigation-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.navigation-loading-spinner{animation-duration:1.5s}}.app-frame{background:var(--c-bg);max-width:480px;min-height:100vh;margin:0 auto}.app-main{min-width:0;padding:20px 16px 108px}.app-header{z-index:10;border-bottom:1px solid var(--c-line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;justify-content:space-between;align-items:center;height:56px;padding:0 16px;display:flex;position:sticky;top:0}.app-logo{color:var(--c-rose);font-weight:800}.bottom-tabs{z-index:20;border-top:1px solid var(--c-line);width:min(480px,100%);padding-bottom:env(safe-area-inset-bottom);background:#fff;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-tabs a{min-height:64px;color:var(--c-muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:10px;display:flex}.bottom-tabs a.is-active{color:var(--c-rose);font-weight:700}.chat-list{gap:10px;display:grid}.chat-row{border:1px solid var(--c-line);width:100%;min-height:68px;color:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:12px;grid-template-columns:44px 1fr auto;align-items:center;gap:10px;padding:10px;display:grid}.chat-row.is-selected{border-color:var(--c-rose);background:var(--c-rose-pale)}.chat-avatar{background:var(--c-rose-pale);width:44px;height:44px;color:var(--c-rose);border-radius:50%;place-items:center;font-weight:800;display:grid}.chat-row small{max-width:200px;color:var(--c-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;display:block;overflow:hidden}.chat-panel{gap:12px;padding:16px;display:grid}.chat-panel textarea{min-height:96px}.broadcast-panel{background:#fffaf0;border:1px solid #f0c36b}.dm-history{border:1px solid var(--c-line);background:#faf8f9;border-radius:12px;flex-direction:column;gap:10px;min-height:180px;max-height:420px;padding:12px;display:flex;overflow-y:auto}.dm-bubble{border-radius:16px;max-width:82%;padding:9px 12px}.dm-bubble p{white-space:pre-wrap;overflow-wrap:break-word;margin:0}.dm-bubble time{opacity:.65;margin-top:4px;font-size:10px;display:block}.dm-bubble.is-member{background:#fff;border-bottom-left-radius:4px;align-self:flex-start}.dm-bubble.is-cast{background:var(--c-rose);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.card{border:1px solid var(--c-line);border-radius:var(--c-radius);background:var(--c-surface);min-width:0;box-shadow:0 8px 24px #3f2d3814}.stack{gap:16px;display:grid}.stack>*{min-width:0}h1,h2,h3,p{overflow-wrap:break-word;line-break:strict;word-break:auto-phrase}h1{font-size:clamp(23px,7vw,32px);line-height:1.35}.field{gap:6px;display:grid}.field span{color:var(--c-muted);font-size:13px;font-weight:700}.input{border:1px solid var(--c-line);border-radius:var(--c-radius-sm);width:100%;min-height:52px;color:var(--c-ink);background:#fff;padding:0 14px;font-size:16px}textarea.input{min-height:150px;padding-top:14px;line-height:1.7}.btn{border-radius:var(--c-radius-sm);min-width:0;min-height:52px;color:inherit;text-align:center;white-space:normal;overflow-wrap:normal;word-break:keep-all;text-wrap:balance;cursor:pointer;border:0;justify-content:center;align-items:center;padding:10px 18px;font-size:clamp(13px,4vw,16px);font-weight:800;line-height:1.45;display:inline-flex}.btn-primary{background:var(--c-rose);color:#fff}.btn-primary:hover{background:var(--c-rose-dark)}.btn-ghost{border:1px solid var(--c-line);color:var(--c-ink);background:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.alert{border-radius:var(--c-radius-sm);padding:12px 14px;font-size:14px}.alert-error{color:var(--c-danger);background:#fdecec}.alert-success{color:var(--c-success);background:#e7f6ef}.badge{border-radius:999px;align-items:center;height:22px;padding:0 10px;font-size:11px;font-weight:800;display:inline-flex}.badge-member{color:var(--c-gold);background:#f7ecd9}.badge-public{border:1px solid var(--c-line);color:var(--c-muted)}.list-card{border:1px solid var(--c-line);background:#fff;border-radius:12px;grid-template-columns:64px minmax(0,1fr);gap:12px;min-width:0;padding:12px;display:grid}.thumb{object-fit:cover;background:var(--c-rose-pale);border-radius:10px;width:64px;height:64px}.diary-list-card{border:1px solid var(--c-line);background:#fff;border-radius:14px;min-width:0;overflow:hidden;box-shadow:0 6px 18px #3f2d380f}.diary-row-link{grid-template-columns:76px minmax(0,1fr);align-items:start;gap:12px;min-width:0;padding:12px;transition:background-color .18s;display:grid}.diary-row-link:hover{background:#fffafb}.diary-row-link .diary-thumb{width:76px;height:76px}.diary-row-content{min-width:0}.diary-row-title{color:var(--c-ink);text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:1.5;display:block;overflow:hidden}.diary-row-date{color:var(--c-muted);font-variant-numeric:tabular-nums;margin-top:4px;font-size:12px;display:block}.diary-row-meta{justify-content:space-between;align-items:center;gap:8px;min-width:0;margin-top:8px;display:flex}.diary-thumb{color:var(--c-rose);place-items:center;display:grid;position:relative;overflow:hidden}.diary-thumb img,.diary-thumb video{object-fit:cover;width:100%;height:100%;display:block}.video-mark{color:#fff;background:#3f2d38c7;border-radius:999px;place-items:center;width:20px;height:20px;display:grid;position:absolute;top:6px;left:6px}.heaven-status,.heaven-retry{align-items:center;gap:5px;font-size:12px;display:inline-flex}.metric-row{color:var(--c-muted);font-variant-numeric:tabular-nums;flex:none;gap:10px;margin:0;font-size:12px;display:flex}.metric-row span{align-items:center;gap:3px;display:inline-flex}.heaven-status.is-sent{color:var(--c-success)}.heaven-retry{width:100%;min-height:44px;color:var(--c-danger);text-align:center;cursor:pointer;background:#fff7f7;border:0;border-top:1px solid #fecaca;justify-content:center;padding:8px 12px;font-weight:800}.heaven-retry:disabled{opacity:.55;cursor:not-allowed}.pager{justify-content:center;gap:10px;margin-top:18px;display:flex}.upload-box{border:2px dashed var(--c-line);border-radius:var(--c-radius);text-align:center;min-height:200px;color:var(--c-muted);background:#fff;place-items:center;display:grid}.upload-preview{border-radius:calc(var(--c-radius) - 4px);width:100%;height:200px;display:block;position:relative;overflow:hidden}.upload-preview img,.upload-preview video{object-fit:cover;width:100%;height:100%;display:block}.upload-preview button{color:#fff;cursor:pointer;background:#3f2d38d1;border:0;border-radius:999px;width:36px;height:36px;position:absolute;top:8px;right:8px}.upload-progress{background:var(--c-line);border-radius:999px;height:4px;overflow:hidden}.upload-progress span{background:var(--c-rose);height:100%;transition:width .2s;display:block}.form-hint{color:var(--c-muted);margin:6px 0 0;font-size:13px;line-height:1.6}.toast{left:50%;bottom:calc(16px + env(safe-area-inset-bottom));z-index:50;border-radius:var(--c-radius-sm);align-items:center;gap:8px;width:min(100vw - 32px,448px);padding:12px 14px;font-size:14px;font-weight:700;animation:.2s both toast-in;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 12px 32px #3f2d381f}.toast-success{color:var(--c-success);background:#e7f6ef}.toast-error{color:var(--c-danger);background:#fdecec}.empty-state{border:1px dashed var(--c-line);border-radius:var(--c-radius);text-align:center;color:var(--c-muted);background:#ffffffa6;place-items:center;gap:12px;padding:28px 18px;display:grid}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.media-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.media-tile{aspect-ratio:1;border-radius:var(--c-radius-sm);background:var(--c-rose-pale);position:relative;overflow:hidden}.media-tile img,.media-tile video{object-fit:cover;width:100%;height:100%;display:block}.media-tile button{color:#fff;cursor:pointer;background:#3f2d38d1;border:0;border-radius:999px;width:28px;height:28px;position:absolute;top:4px;right:4px}.segment{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.segment button{border:1px solid var(--c-line);border-radius:var(--c-radius-sm);min-height:48px;color:var(--c-muted);background:#fff}.segment button.is-active{border-color:var(--c-rose);background:var(--c-rose-pale);color:var(--c-rose);font-weight:800}.inline-editor{border:1px solid var(--c-line);border-radius:var(--c-radius);background:#fff;overflow:hidden}.inline-editor-toolbar{border-bottom:1px solid var(--c-line);justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:8px 12px 8px 16px;display:flex}.inline-editor-image-button{background:var(--c-rose-pale);min-height:44px;color:var(--c-rose-dark);cursor:pointer;border:1px solid #f3bdca;border-radius:10px;align-items:center;gap:7px;padding:0 13px;font-weight:800;display:inline-flex}.inline-editor-image-button:disabled{opacity:.55;cursor:wait}.inline-editor-hint{border-bottom:1px solid var(--c-line);color:var(--c-muted);background:#fffafb;margin:0;padding:10px 14px;font-size:12px;line-height:1.65}.inline-editor-canvas{min-height:260px;padding:8px 14px 18px}.inline-editor-block{min-width:0}.inline-editor-text-actions{justify-content:flex-end;padding:6px 0 0;display:flex}.inline-editor-block textarea{resize:vertical;width:100%;min-height:112px;color:var(--c-ink);background:0 0;border:0;outline:none;padding:12px 2px;font-size:16px;line-height:1.85;display:block}.inline-editor-block textarea:focus{box-shadow:none}.inline-editor-image{border:1px solid var(--c-line);background:#fffafb;border-radius:14px;margin:4px 0;position:relative;overflow:hidden}.inline-editor-image img{object-fit:contain;background:#f8f2f4;width:100%;max-height:520px;display:block}.inline-editor-image figcaption{min-height:48px;color:var(--c-muted);justify-content:flex-end;align-items:center;gap:8px;padding:6px 8px;font-size:12px;font-weight:700;display:flex}.inline-editor-image-actions{gap:4px;display:flex}.inline-editor-image-actions button{border:1px solid var(--c-line);width:38px;height:38px;color:var(--c-muted);cursor:pointer;background:#fff;border-radius:9px;place-items:center;display:grid}.inline-editor-image-actions button:disabled{opacity:.3;cursor:not-allowed}.inline-editor-image-delete{z-index:2;color:#fff;cursor:pointer;background:#3f2d38d6;border:2px solid #ffffffe6;border-radius:999px;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:8px;right:8px;box-shadow:0 4px 14px #3f2d3838}.rendered-content-body{gap:12px;display:grid}.rendered-content-body p{white-space:pre-wrap;margin:0;line-height:1.8}.rendered-content-body figure{background:var(--c-rose-pale);border-radius:12px;margin:0;overflow:hidden}.rendered-content-body img{object-fit:contain;width:100%;max-height:640px;display:block}.guide-home-link{color:var(--c-rose);justify-self:start;font-size:13px;font-weight:800}.guide-list{gap:12px;display:grid}.guide-card{border:1px solid var(--c-line);border-radius:var(--c-radius);background:var(--c-surface);overflow:hidden;box-shadow:0 8px 24px #3f2d3814}.guide-card summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:0 16px;font-weight:800;list-style:none;display:flex}.guide-card summary::-webkit-details-marker{display:none}.guide-chevron{transition:transform .18s}.guide-card[open] .guide-chevron{transform:rotate(180deg)}.guide-body{border-top:1px solid var(--c-line);color:var(--c-ink);padding:14px 16px 18px;font-size:15px;line-height:1.9}.guide-body p,.guide-body ol,.guide-body ul{margin:0 0 12px}.guide-body p:last-child,.guide-body ol:last-child,.guide-body ul:last-child{margin-bottom:0}.guide-body li+li{margin-top:6px}.guide-body ul{color:var(--c-muted)}.home-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.home-metrics .card{padding:14px!important}.home-metrics p{min-height:3em;color:var(--c-muted);margin:0 0 8px;font-size:12px;line-height:1.5}.home-metrics strong{display:inline-block;font-size:clamp(22px,7vw,28px)!important}.auth-screen{place-items:center;min-height:100svh;padding:20px;display:grid}.auth-card{width:100%;max-width:448px;padding:24px}.auth-kicker{color:var(--c-muted);margin:6px 0 0}.input-code{letter-spacing:.22em;font-variant-numeric:tabular-nums}.context-help-button{right:max(16px,50vw - 224px);bottom:calc(76px + env(safe-area-inset-bottom));z-index:35;min-height:44px;color:var(--c-rose-dark);cursor:pointer;background:#fff;border:1px solid #f3bdca;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:800;display:inline-flex;position:fixed;box-shadow:0 8px 24px #3f2d3829}.help-backdrop{z-index:60;background:#2718217a;justify-content:center;align-items:flex-end;padding-top:48px;display:flex;position:fixed;inset:0}.help-sheet{width:min(480px,100%);max-height:calc(100svh - 48px);padding:20px 20px calc(20px + env(safe-area-inset-bottom));background:#fff;border-radius:24px 24px 0 0;overflow-y:auto;box-shadow:0 -12px 40px #27182133}.help-sheet header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.help-sheet header p{color:var(--c-rose);letter-spacing:.12em;margin:0;font-size:11px;font-weight:900}.help-sheet header h2{margin:4px 0 0;font-size:23px}.help-sheet header button{background:var(--c-rose-pale);width:44px;height:44px;color:var(--c-rose-dark);cursor:pointer;border:0;border-radius:999px;flex:0 0 44px;place-items:center;display:grid}.help-purpose{margin:18px 0 12px;font-weight:700;line-height:1.7}.help-sheet ol{margin:0;padding-left:1.4em;line-height:1.85}.help-sheet li+li{margin-top:7px}.help-note{color:#765b2c;background:#fff8ec;border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.65}.help-sheet>.btn{width:100%}@media (max-width:390px){.app-main,.app-header{padding-left:12px;padding-right:12px}.home-metrics{grid-template-columns:1fr}.home-metrics p{min-height:0}.segment{grid-template-columns:1fr}.pager{flex-wrap:wrap}.pager .btn{flex:130px}.auth-screen{padding:12px}.auth-card{padding:20px 16px}.context-help-button{right:12px}.diary-row-link{grid-template-columns:64px minmax(0,1fr);gap:10px;padding:10px}.diary-row-link .diary-thumb{width:64px;height:64px}.diary-row-meta{flex-direction:column;align-items:flex-start;gap:6px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
