:root{color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;background:#faf6ea;color:#2a2a2a;min-height:100vh}#app{min-height:100vh}input,button,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}:focus-visible{outline:3px solid #1769aa;outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.decoy{max-width:480px;margin:0 auto;padding:max(1rem,env(safe-area-inset-top)) 1rem 1rem}.decoy-header{display:flex;align-items:center;justify-content:space-between}.decoy-header h1{font-size:1.4rem;margin:.5rem 0 1rem;user-select:none}.new-note{border:0;background:transparent;font-size:1.8rem;padding:.25rem .5rem}.decoy-search{width:100%;padding:.6rem .8rem;border:1px solid #ddd3ad;border-radius:8px;background:#fffdf5;margin-bottom:1rem}.decoy-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.decoy-note{background:#fffdf5;border:1px solid #eee2b8;border-radius:10px;padding:.7rem .9rem}.decoy-note>button{display:block;width:100%;padding:0;border:0;color:inherit;background:transparent;text-align:left}.decoy-note-title,.decoy-note-body,.decoy-note-date{display:block}.decoy-note-title{font-weight:600;margin-bottom:.2rem}.decoy-note-body{color:#555;font-size:.92rem}.decoy-note-date{color:#999;font-size:.78rem;margin-top:.3rem}.note-editor{display:flex;flex-direction:column;gap:.5rem}.note-editor input,.note-editor textarea{width:100%;border:1px solid #ddd3ad;border-radius:8px;padding:.65rem .8rem;background:#fffdf5}.note-editor textarea{resize:vertical;min-height:14rem}.note-editor-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem}.note-editor-actions button{border:1px solid #ccc;border-radius:8px;padding:.5rem .7rem;background:#fff}.note-editor-actions .danger{margin-right:auto;color:#9b1c1c}.real-shell,.join,.chat-shell,.personal-files-shell{max-width:480px;margin:0 auto;padding:max(1rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom));display:flex;flex-direction:column;height:100vh;height:100dvh}.real-header{display:flex;justify-content:space-between;align-items:center}.real-header h1{margin-bottom:.15rem}.lock-btn,.join-btn,.chat-back{background:none;border:1px solid #ccc;border-radius:8px;padding:.4rem .7rem;cursor:pointer}.conversation-list{list-style:none;padding:0;margin:1rem 0;display:flex;flex-direction:column;gap:.5rem;flex:1;overflow-y:auto}.conversation-list li{display:block}.conversation-item{width:100%;padding:.8rem;border:1px solid #ddd;border-radius:10px;background:#fff;display:flex;justify-content:space-between;align-items:center;text-align:left}.unread-badge{min-width:1.5rem;border-radius:999px;background:#1769aa;color:#fff;padding:.15rem .4rem;text-align:center;font-size:.78rem}.empty-hint{color:#777}.real-actions{display:flex;gap:.5rem}.real-actions button{flex:1;border:1px solid #ccc;border-radius:8px;padding:.55rem;background:#fff}.setting-row{display:flex;align-items:center;gap:.45rem;margin-top:.8rem;font-size:.88rem;color:#555}.settings-status{min-height:1.2em;margin:.35rem 0 0;font-size:.85rem;color:#555}.connection-state{color:#36724a;font-size:.75rem;font-weight:500}.connection-state.offline{color:#9b5b00}.view-loading{max-width:480px;margin:2rem auto;color:#777;text-align:center}.chat-header{display:flex;align-items:center;gap:.6rem}.chat-header h2{flex:1;margin:.5rem 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.load-older{align-self:center;border:0;background:transparent;color:#1769aa;padding:.5rem}.chat-messages{list-style:none;padding:0;margin:.6rem 0;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.4rem}.chat-message{max-width:80%;padding:.5rem .7rem;border-radius:10px;background:#eee;align-self:flex-start;word-break:break-word}.chat-message.mine{align-self:flex-end;background:#d7ecff}.chat-message.pending{opacity:.72}.chat-message.failed{border:1px solid #b00020}.chat-message button{border:none;background:none;padding:0;cursor:pointer;text-decoration:underline}.message-file-name{display:block;font-weight:600}.message-file-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.35rem;font-size:.78rem}.message-meta{display:block;color:#666;font-size:.68rem;margin-top:.25rem}.chat-composer{display:flex;gap:.4rem}.chat-text{flex:1;padding:.5rem .7rem;border-radius:8px;border:1px solid #ccc}.chat-attach,.chat-send,.chat-private-toggle{border:1px solid #ccc;background:#fff;border-radius:8px;padding:.5rem .7rem;cursor:pointer}.chat-private-toggle[aria-pressed=true]{background:#1769aa;border-color:#1769aa}.message-file-private{color:#1769aa;font-weight:600}.chat-message.mine .message-file-private{color:#0d4d7a}.chat-upload-status{color:#777;font-size:.85rem}.chat-upload-status.error{color:#b00020}.join label{font-size:.85rem;margin-bottom:.25rem}.join input{display:block;width:100%;margin-bottom:.8rem;padding:.6rem .8rem;border:1px solid #ccc;border-radius:8px}.join-actions{display:flex;gap:.5rem}.join-actions button{flex:1;border:1px solid #ccc;border-radius:8px;padding:.55rem .7rem;background:#fff}.join-actions .join-submit{border-color:#1769aa;background:#1769aa;color:#fff}.join-error{color:#b00020;margin-top:.6rem}.personal-files-header{display:flex;align-items:flex-start;gap:.7rem}.personal-files-header h2{margin:0}.personal-files-header p{margin:.2rem 0 0;color:#666;font-size:.78rem}.personal-back{border:1px solid #ccc;border-radius:8px;background:#fff;padding:.4rem .65rem}.personal-upload{margin:1rem 0 .5rem;border:1px solid #bbb;border-radius:9px;background:#fff;padding:.65rem}.personal-status{min-height:1.25em;margin:0 0 .5rem;color:#666;font-size:.85rem}.personal-status.error{color:#b00020}.personal-file-list{list-style:none;padding:0;margin:0;flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.personal-file-list li{display:flex;flex-direction:column;gap:.3rem;padding:.7rem;border:1px solid #ddd;border-radius:10px;background:#fff}.personal-file-name{overflow-wrap:anywhere}.personal-file-list small{color:#777}.personal-file-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.2rem}.personal-file-actions button{border:0;padding:0;background:transparent;color:#1769aa;font-size:.82rem;text-decoration:underline}.personal-file-actions .personal-file-delete{color:#a11}.personal-files-error{gap:1rem}.secupp-upload{margin:.5rem 0 0;border:1px solid #1769aa;border-radius:9px;background:#eaf3fb;color:#14486f;padding:.6rem;font-weight:600}.secupp-hint{margin:.45rem 0 0;color:#7a6a2a;font-size:.8rem;line-height:1.35}.personal-file-list li.secupp-file{border-color:#bcd6ef;background:#f6faff}.secupp-overlay{position:fixed;inset:0;z-index:5500;display:grid;place-items:center;padding:1rem;background:#00000073}.secupp-panel{width:min(100%,380px);max-height:calc(100dvh - 2rem);overflow-y:auto;padding:1.1rem 1.2rem;border-radius:12px;background:#fffdf5;box-shadow:0 14px 40px #0000004d}.secupp-panel h2{margin:0 0 .5rem;font-size:1.15rem}.secupp-panel p{margin:0 0 .7rem;color:#555;font-size:.88rem;line-height:1.4}.secupp-field{display:block;margin-bottom:.7rem;font-size:.82rem;color:#444}.secupp-field span{display:block;margin-bottom:.25rem}.secupp-field input,.secupp-field textarea{width:100%;padding:.55rem .7rem;border:1px solid #ccc;border-radius:8px;background:#fff;font:inherit}.secupp-field textarea{resize:vertical;word-break:break-all}.secupp-copy{border:1px solid #ccc;border-radius:8px;background:#fff;padding:.4rem .7rem;font-size:.82rem}.secupp-check{display:flex;align-items:flex-start;gap:.45rem;margin:.8rem 0 0;font-size:.82rem;color:#444}.secupp-note{margin:.7rem 0 0;color:#777;font-size:.8rem}.secupp-error{margin:.6rem 0 0;color:#b00020;font-size:.83rem}.secupp-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.secupp-actions button{border:1px solid #ccc;border-radius:8px;padding:.5rem .8rem;background:#fff}.secupp-actions .secupp-confirm{border-color:#1769aa;background:#1769aa;color:#fff}.secupp-actions .secupp-confirm:disabled{opacity:.5;cursor:not-allowed}.file-preview-overlay{position:fixed;inset:0;z-index:5000;display:flex;padding:max(.6rem,env(safe-area-inset-top)) max(.6rem,env(safe-area-inset-right)) max(.6rem,env(safe-area-inset-bottom)) max(.6rem,env(safe-area-inset-left));background:#141414d1}.file-preview-panel{width:min(100%,1100px);height:100%;margin:auto;overflow:hidden;display:flex;flex-direction:column;border-radius:10px;background:#fff;box-shadow:0 12px 40px #00000059}.file-preview-header{display:flex;align-items:center;gap:.75rem;padding:.65rem .8rem;border-bottom:1px solid #ddd}.file-preview-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-preview-actions{display:flex;align-items:center;gap:.5rem}.file-preview-private{color:#1769aa;font-size:.82rem;font-weight:600}.file-preview-download,.file-preview-close{border:1px solid #bbb;border-radius:7px;padding:.4rem .6rem;background:#fff;color:#1769aa;font-size:.82rem;text-decoration:none}.file-preview-content{min-height:0;flex:1;display:flex;align-items:center;justify-content:center;overflow:auto;background:#2b2b2b}.file-preview-content img,.file-preview-content video{display:block;max-width:100%;max-height:100%;object-fit:contain}.no-capture img,.no-capture video{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.file-preview-content video{width:100%;height:100%;background:#000}.file-preview-content.pdf{background:#e7e7e7}.file-preview-content iframe{width:100%;height:100%;border:0;background:#fff}.privacy-shield{position:fixed;inset:0;background:#f5e6a8;z-index:9999;opacity:0;pointer-events:none;transition:opacity .05s linear}.privacy-shield.active{opacity:1}.install-prompt-overlay{position:fixed;inset:0;z-index:4000;display:grid;place-items:center;padding:1rem;background:#00000061}.install-prompt{width:min(100%,350px);padding:1.2rem;border-radius:12px;background:#fffdf5;box-shadow:0 12px 38px #00000040}.install-prompt h2{margin:0 0 .45rem;font-size:1.2rem}.install-prompt p{margin:0 0 1rem;color:#555;line-height:1.4}.install-prompt button{width:100%;border-radius:8px;padding:.65rem}.install-prompt-primary{border:1px solid #1769aa;background:#1769aa;color:#fff}.install-prompt-later{margin-top:.5rem;border:0;background:transparent;color:#555}
