@font-face{font-family:PotatoArmy;src:url(/assets/fonts-DMXu8-r5.ttf) format("truetype");font-display:swap}:root{--background: #fff8f4;--error: #ba1a1a;--error-container: #ffdad6;--on-background: #2a1701;--on-primary: #ffffff;--on-primary-container: #3f2700;--on-secondary-container: #736240;--on-secondary-fixed: #251a01;--on-secondary-fixed-variant: #534525;--on-surface: #2a1701;--on-surface-variant: #4f4539;--on-tertiary-container: #282f13;--outline: #817567;--outline-variant: #d3c4b4;--primary: #7d571b;--primary-container: #b88b4a;--secondary: #6c5c3b;--secondary-container: #f7e0b5;--secondary-fixed: #f7e0b5;--surface: #fff8f4;--surface-container: #ffead8;--surface-container-high: #ffe4c9;--surface-container-highest: #ffddba;--surface-container-low: #fff1e6;--surface-container-lowest: #ffffff;--tertiary-container: #8f9773;--potato-shadow: 0 8px 32px rgba(92, 67, 38, .08);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-bottom-extra: 14px;--safe-bottom-ui: calc(var(--safe-bottom) + var(--safe-bottom-extra));--top-bar-height: calc(56px + var(--safe-top));--bottom-nav-height: calc(96px + var(--safe-bottom-ui));background:var(--background);color:var(--on-background);font-family:PotatoArmy,Plus Jakarta Sans,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{background:var(--background);min-height:100%;text-size-adjust:100%;-webkit-text-size-adjust:100%}body{min-width:320px;min-height:100vh;min-height:100dvh;margin:0;background:var(--background);overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit}input,textarea,select{font-size:16px}.app-frame{min-height:100vh;min-height:100dvh;background:var(--background);color:var(--on-background)}@keyframes screen-enter{0%{opacity:0}to{opacity:1}}@keyframes soft-pop{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes message-in-left{0%{opacity:0;transform:translate(-12px) translateY(6px)}to{opacity:1;transform:translate(0) translateY(0)}}@keyframes message-in-right{0%{opacity:0;transform:translate(12px) translateY(6px)}to{opacity:1;transform:translate(0) translateY(0)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.025)}}@keyframes typing-pulse{0%,to{opacity:.55;transform:translateY(0)}50%{opacity:1;transform:translateY(-1px)}}.screen,.chat-screen,.write-shell{position:relative;width:min(100%,430px);min-height:100vh;min-height:100dvh;margin:0 auto;animation:screen-enter .36s cubic-bezier(.2,.8,.2,1) both;background:var(--background)}.screen{padding:0 20px calc(128px + var(--safe-bottom-ui))}.calendar-screen,.diary-read-screen{padding-top:calc(var(--top-bar-height) + 8px)}.pull-refresh-indicator{position:sticky;top:var(--top-bar-height);z-index:12;width:fit-content;margin:0 auto 8px;padding:6px 12px;border-radius:999px;background:var(--surface-container-low);color:var(--on-surface-variant);font-size:13px;font-weight:700;line-height:16px;opacity:0;transform:translateY(-8px);transition:opacity .16s ease,transform .16s ease;pointer-events:none}.pull-refresh-indicator.visible{opacity:1;transform:translateY(0)}.icon{display:inline-flex;align-items:center;justify-content:center;font-size:24px;line-height:1}.lucide-icon{width:20px;height:20px}button{border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;color:inherit;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,box-shadow .22s ease,color .18s ease,opacity .18s ease,transform .18s ease}button:active:not(:disabled){transform:scale(.96)}.top-app-bar{position:fixed;top:0;left:50%;z-index:30;display:grid;grid-template-columns:minmax(0,1fr) auto;width:min(100%,430px);height:var(--top-bar-height);align-items:center;margin:0;padding:var(--safe-top) 20px 0;background:var(--background);transform:translate(-50%);-webkit-transform:translateX(-50%);box-shadow:0 4px 18px #5c432608;overflow:hidden}.top-app-bar.fixed{position:fixed}.top-app-bar h1{margin:0;color:var(--on-surface);font-size:24px;font-weight:700;letter-spacing:0;line-height:30px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-app-bar.center-title{position:fixed}.top-bar-title-centered{position:absolute;top:50%;left:50%;margin:0;transform:translate(-50%,-50%);pointer-events:none}.top-bar-left,.top-bar-right,.stats-left,.entry-meta,.selected-entry-title,.logout-button,.primary-button{display:flex;align-items:center}.primary-button:disabled{cursor:default;opacity:.55}.top-bar-left{min-width:0;min-height:40px;gap:12px}.top-bar-right{min-width:40px;min-height:40px;justify-content:flex-end}.top-bar-left img{width:40px;height:40px;border-radius:999px;object-fit:cover;outline:2px solid var(--surface-container-lowest);transition:transform .22s ease}.top-bar-left button,.top-bar-right button,.top-bar-spacer{display:grid;width:40px;height:40px;place-items:center;border-radius:999px;color:var(--on-surface-variant)}.top-bar-left .back-button{color:var(--on-surface)}.top-bar-left .back-button:hover{color:var(--primary)}.top-bar-spacer{flex:0 0 40px}.top-bar-left button:hover,.top-bar-right button:hover{background:var(--surface-container-low);color:var(--primary)}.dday-pill{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:24px;padding:0 12px;border-radius:999px;background:var(--surface-container-high);color:var(--on-surface-variant);font-size:13px;font-weight:600;letter-spacing:0;animation:soft-pop .42s 90ms cubic-bezier(.2,.8,.2,1) both}.dday-pill.strong{height:30px;background:#b88b4a24;color:var(--primary);font-size:18px}.home-screen{display:flex;flex-direction:column}.home-hero{position:relative;display:flex;min-height:495px;flex:1;flex-direction:column;align-items:center;justify-content:center;padding-top:18px;text-align:center}.potato-glow{position:absolute;top:132px;width:300px;height:300px;border-radius:999px;background:var(--primary-container);filter:blur(52px);opacity:.1;animation:breathe 4.6s ease-in-out infinite}.home-potato{position:relative;z-index:1;width:256px;height:256px;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(92,67,38,.16));animation:soft-pop .52s .11s cubic-bezier(.2,.8,.2,1) both;transition:transform .26s ease,filter .26s ease}.home-potato:hover{transform:translateY(-3px) scale(1.015);filter:drop-shadow(0 14px 18px rgba(92,67,38,.18))}.home-message{position:relative;z-index:1;margin-top:34px}.home-message p{margin:0 0 4px;color:var(--on-surface-variant);font-size:17px;line-height:27px}.home-message h2{margin:0;color:var(--on-background);font-size:26px;font-weight:700;line-height:32px}.home-stats{display:grid;grid-template-columns:1fr 1px .72fr;gap:16px;align-items:center;width:100%;min-height:80px;margin:0 auto 16px;padding:16px;border:1px solid var(--outline-variant);border-radius:32px;background:var(--surface-container-low);box-shadow:0 8px 24px #5c43260d;animation:soft-pop .42s .17s cubic-bezier(.2,.8,.2,1) both;transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}.home-stats:hover{border-color:#b88b4a52;box-shadow:0 12px 28px #5c432614;transform:translateY(-2px)}.stats-left{min-width:0;gap:8px}.stats-icon{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;border-radius:999px;background:var(--secondary-container);color:var(--on-secondary-container)}.home-stats span{display:block;color:var(--on-surface-variant);font-size:13px;font-weight:600;line-height:18px}.home-stats strong{display:block;margin-top:1px;color:var(--on-surface);font-size:20px;font-weight:600;line-height:24px}.stats-divider{height:32px;background:var(--outline-variant)}.stats-right{text-align:right}.primary-button{width:100%;justify-content:center;gap:8px;min-height:56px;border-radius:999px;background:var(--primary-container);color:var(--on-primary-container);font-size:19px;font-weight:700;line-height:26px;box-shadow:0 8px 24px #5c43261f;transition:background-color .18s ease,box-shadow .22s ease,opacity .18s ease,transform .18s ease}.primary-button:hover:not(:disabled){box-shadow:0 12px 28px #5c432629;transform:translateY(-1px)}.login-screen{display:grid;width:min(100%,430px);min-height:100vh;min-height:100dvh;place-items:center;margin:0 auto;padding:calc(28px + var(--safe-top)) 20px calc(28px + var(--safe-bottom));background:radial-gradient(circle at 50% 22%,rgba(184,139,74,.16),transparent 38%),var(--background)}.login-card{display:flex;width:100%;flex-direction:column;align-items:center;gap:12px;padding:32px 22px 24px;border:1px solid rgba(211,196,180,.42);border-radius:32px;background:var(--surface-container-lowest);box-shadow:0 18px 42px #5c43261a;text-align:center;animation:soft-pop .42s cubic-bezier(.2,.8,.2,1) both}.login-mark{display:grid;width:64px;height:64px;place-items:center;border-radius:999px;background:var(--secondary-container);color:var(--on-secondary-container);box-shadow:0 8px 24px #5c43260f}.login-card>p{margin:8px 0 0;color:var(--primary);font-size:16px;font-weight:800;letter-spacing:.08em;line-height:22px}.login-card h1{margin:0;color:var(--on-background);font-size:25px;font-weight:800;line-height:32px}.login-card form{display:grid;width:100%;gap:12px;margin-top:8px}.login-card input{width:100%;height:56px;border:1px solid var(--outline-variant);border-radius:999px;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:0;background:var(--surface-container-low);color:var(--on-surface);font-size:22px;font-weight:700;letter-spacing:.12em;line-height:28px;padding:0 20px;text-align:center;transition:border-color .18s ease,box-shadow .22s ease,transform .22s ease}.login-card input:focus{border-color:var(--primary-container);box-shadow:0 10px 26px #5c432617;transform:translateY(-1px)}.login-card input::placeholder{color:var(--outline);letter-spacing:0}.login-error{color:var(--error);font-size:15px;font-weight:700;line-height:22px}.home-cta{margin-bottom:2px}.calendar-heading{display:flex;align-items:center;justify-content:space-between;padding-top:calc(var(--top-bar-height) + 22px)}.calendar-heading h2{margin:0;font-size:24px;font-weight:700;line-height:32px}.calendar-heading div{display:flex;gap:8px}.calendar-heading button{display:grid;width:40px;height:40px;place-items:center;border-radius:999px;color:var(--on-surface-variant)}.calendar-heading .today-button{width:auto;min-width:54px;padding:0 14px;background:var(--surface-container-low);color:var(--primary);font-size:15px;font-weight:800;line-height:22px}.calendar-heading button:hover{background:var(--surface-container-low);color:var(--primary)}.diary-load-error{margin:14px 0 0;padding:12px 14px;border:1px solid rgba(186,26,26,.14);border-radius:16px;background:#ffdad638;color:var(--error);font-size:15px;font-weight:700;line-height:22px}.calendar-card{margin-top:16px;padding:24px;border:1px solid rgba(211,196,180,.2);border-radius:32px;background:var(--surface-container-lowest);box-shadow:0 8px 24px #5c43260a;animation:soft-pop .42s 90ms cubic-bezier(.2,.8,.2,1) both;transition:box-shadow .24s ease,transform .24s ease}.calendar-card:hover{box-shadow:0 12px 28px #5c432612;transform:translateY(-1px)}.calendar-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.calendar-controls strong{color:var(--on-surface);font-size:20px;font-weight:800;line-height:24px}.calendar-controls div{display:flex;gap:6px}.calendar-controls button{display:grid;width:36px;height:36px;place-items:center;border-radius:999px;color:var(--on-surface-variant)}.calendar-controls .today-button{width:auto;min-width:54px;padding:0 12px;background:var(--surface-container-low);color:var(--primary);font-size:14px;font-weight:800;line-height:20px}.calendar-controls button:hover{background:var(--surface-container-low);color:var(--primary)}.weekday-row,.days-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.weekday-row{margin-bottom:16px}.weekday-row span{color:var(--on-surface-variant);font-size:13px;font-weight:600}.weekday-row .sunday{color:#ba1a1acc}.days-grid{row-gap:16px;column-gap:4px}.days-grid button{position:relative;display:grid;width:40px;height:40px;place-items:center;margin:0 auto;border-radius:999px;color:var(--on-surface);font-size:16px;line-height:24px;transition:background-color .18s ease,box-shadow .22s ease,color .18s ease,transform .18s cubic-bezier(.2,.8,.2,1)}.days-grid button:hover{background:var(--surface-container-high);transform:scale(1.06)}.days-grid button.selected{background:var(--primary);color:var(--on-primary);box-shadow:0 4px 10px #5c432638;transform:scale(1.1)}.days-grid i{position:absolute;bottom:4px;width:6px;height:6px;border-radius:999px;background:var(--primary);animation:soft-pop .24s ease both}.days-grid .selected i{background:var(--on-primary)}.selected-entry{margin-top:24px}.selected-entry h3{margin:0;color:var(--on-background);font-size:20px;font-weight:600;line-height:24px}.selected-entry-title{justify-content:space-between;gap:12px;margin-bottom:16px}.selected-entry-title button{flex:0 0 auto;padding:8px 12px;border-radius:999px;background:var(--secondary-container);color:var(--on-secondary-container);font-size:14px;font-weight:600}.selected-entry-title button:hover{background:var(--primary-fixed);transform:translateY(-1px)}.entry-card{position:relative;overflow:hidden;min-height:128px;padding:20px;border-left:4px solid var(--primary-container);border-radius:24px;background:var(--surface-container-lowest);box-shadow:0 8px 24px #5c43260a;animation:soft-pop .3s cubic-bezier(.2,.8,.2,1) both;transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}.entry-card:hover{box-shadow:0 12px 28px #5c432614;transform:translateY(-2px)}.entry-card+.entry-card{margin-top:12px}.entry-card-button{display:block;width:100%;border:0;text-align:left}.empty-entry{color:var(--on-surface-variant)}.entry-spine{position:absolute;inset:0 auto 0 0;width:32px;border-right:1px solid rgba(211,196,180,.26)}.entry-content{padding-left:16px}.entry-meta{justify-content:space-between;margin-bottom:8px;color:var(--outline-variant)}.entry-meta button{display:grid;width:32px;height:32px;place-items:center;border-radius:999px;color:var(--on-surface-variant)}.entry-meta button:hover{background:var(--surface-container-high);color:var(--primary)}.entry-meta span{display:inline-flex;align-items:center;gap:4px;color:var(--on-surface-variant);font-size:13px;font-weight:600}.entry-meta .icon{font-size:16px}.entry-content p{display:-webkit-box;overflow:hidden;margin:0;-webkit-box-orient:vertical;-webkit-line-clamp:3;color:var(--on-surface);font-size:16px;line-height:25px}.entry-image{display:block;width:100%;max-height:220px;margin-bottom:14px;border-radius:18px;object-fit:cover}.calendar-fab{position:fixed;right:max(20px,calc((100vw - 430px)/2 + 20px));bottom:calc(92px + var(--safe-bottom-ui));z-index:45;display:grid;width:58px;height:58px;place-items:center;border-radius:999px;background:var(--primary);color:var(--on-primary);box-shadow:0 10px 24px #5c43263d}.calendar-fab .icon{font-size:28px}.write-shell{display:flex;flex-direction:column;gap:14px;overflow:visible;padding:calc(var(--top-bar-height) + 8px) 20px calc(28px + var(--safe-bottom-ui));background:radial-gradient(circle at 22% 2%,rgba(184,139,74,.12),transparent 34%),linear-gradient(180deg,var(--background) 0%,#fff4e8 100%)}.editor-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px;border:1px solid rgba(211,196,180,.55);border-radius:22px;background:#fff8f4f2}.editor-hero-left{display:grid;gap:6px}.editor-hero-left h1{margin:0;color:var(--on-surface);font-size:26px;font-weight:800;line-height:34px}.editor-hero-left p{margin:0;color:var(--on-surface-variant);font-size:15px;line-height:22px}.write-subinfo{color:var(--outline);font-size:13px;font-weight:600;line-height:18px}.mode-badge{display:inline-flex;width:fit-content;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:800}.mode-badge.create{background:#5a624126;color:var(--tertiary)}.mode-badge.edit{background:#b88b4a33;color:var(--primary)}.hero-save-button{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border-radius:12px;background:var(--primary-container);color:var(--on-primary-container);font-size:15px;font-weight:700}.hero-save-button:disabled{opacity:.55}.editor-toolbar{display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto auto}.date-field{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:62px;padding:12px 16px;border:1px solid rgba(211,196,180,.5);border-radius:18px;background:#fff8f4eb;transition:border-color .18s ease,box-shadow .22s ease,transform .22s ease}.date-field:focus-within{border-color:var(--primary-container);box-shadow:0 8px 22px #5c432614;transform:translateY(-1px)}.date-field span{color:var(--on-surface-variant);font-size:14px;font-weight:600;line-height:20px}.date-field input{min-width:0;border:0;outline:0;background:transparent;color:var(--on-surface);font:inherit;font-size:18px;font-weight:600}.date-field.compact{min-height:52px}.write-stat{display:flex;align-items:center;justify-content:space-between;min-width:120px;min-height:52px;padding:10px 14px;border:1px solid rgba(211,196,180,.5);border-radius:18px;background:#fff8f4eb}.date-quick-nav{display:inline-flex;align-items:center;gap:6px;padding:6px;border:1px solid rgba(211,196,180,.5);border-radius:16px;background:#fff8f4eb}.date-quick-nav.compact{height:52px}.date-quick-nav button{display:grid;width:36px;height:36px;place-items:center;border-radius:10px;color:var(--on-surface-variant)}.date-quick-nav button.today{width:auto;min-width:50px;padding:0 12px;background:var(--surface-container-high);color:var(--primary);font-size:15px;font-weight:800}.date-quick-nav button:hover{background:var(--surface-container-high)}.write-stat span{color:var(--on-surface-variant);font-size:14px;font-weight:600;line-height:20px}.write-stat strong{color:var(--primary);font-size:20px;font-weight:800;line-height:26px}.mood-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mood-selector button{min-height:40px;border:1px solid rgba(211,196,180,.5);border-radius:999px;background:#fff8f4e6;color:var(--on-surface-variant);font-size:15px;font-weight:700}.mood-selector button.active{border-color:#b88b4aa3;background:#b88b4a2e;color:var(--primary)}.mood-selector button:hover{border-color:#b88b4a73}.journal-card{display:grid;align-content:start;min-height:430px;overflow:hidden;border:1px solid rgba(211,196,180,.7);border-radius:26px;background:var(--surface-container-lowest);box-shadow:0 14px 28px #5c432614;animation:soft-pop .42s 90ms cubic-bezier(.2,.8,.2,1) both;transition:border-color .18s ease,box-shadow .22s ease,transform .22s ease}.journal-card.modern{border-radius:18px}.journal-card:focus-within{border-color:var(--primary-container);box-shadow:0 14px 30px #5c432614;transform:translateY(-1px)}.journal-card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 10px;border-bottom:1px solid rgba(211,196,180,.44)}.journal-card-header h2{margin:0;color:var(--on-surface);font-size:20px;font-weight:700;line-height:28px}.journal-card-header span{color:var(--outline);font-size:13px;font-weight:700;line-height:16px}.journal-card textarea{width:100%;min-height:360px;padding:20px 18px 24px;border:0;-webkit-appearance:none;outline:0;resize:none;background:transparent;color:var(--on-surface);font:inherit;font-size:20px;line-height:32px}.journal-card textarea::placeholder{color:var(--outline)}.attachments{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid rgba(211,196,180,.5);border-radius:20px;background:#fff8f4eb}.attachments-header{display:flex;align-items:center;justify-content:space-between;padding:0 4px}.attachments-header span{color:var(--on-surface-variant);font-size:17px;font-weight:600;line-height:24px}.attachments-header strong{color:var(--primary);font-size:15px;font-weight:800;line-height:22px}.image-upload-button{display:flex;height:120px;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:2px dashed var(--outline-variant);border-radius:24px;background:var(--surface-container-low);color:var(--on-surface-variant);font-size:17px;font-weight:700;line-height:24px;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,transform .2s ease}.image-upload-button:hover{border-color:var(--primary-container);background:var(--surface-container-high);transform:translateY(-1px)}.image-upload-button input,.profile-actions input{display:none}.image-preview{position:relative;overflow:hidden;border-radius:28px;background:var(--surface-container-low)}.image-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.image-preview img{display:block;width:100%;height:106px;object-fit:cover}.image-preview button{position:absolute;top:10px;right:10px;display:grid;width:36px;height:36px;place-items:center;border-radius:999px;background:#fff8f4e0;color:var(--on-surface);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.attachment-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:999px;background:var(--secondary-container);color:var(--on-secondary-container)}.save-dock{display:grid;gap:10px;margin-top:6px;padding-bottom:calc(16px + var(--safe-bottom-ui))}.primary-button.large{min-height:56px;font-size:20px}.delete-button{display:flex;min-height:56px;align-items:center;justify-content:center;gap:8px;border:1px solid var(--error-container);border-radius:999px;background:var(--surface);color:var(--error);font-size:17px;font-weight:600;line-height:24px}.delete-confirm{display:grid;gap:8px}.delete-confirm.active{grid-template-columns:1fr .42fr}.delete-confirm.active .delete-button{background:#ffdad652;font-weight:800}.delete-button:hover:not(:disabled){background:#ffdad63d;transform:translateY(-1px)}.cancel-delete-button{min-height:56px;border:1px solid var(--outline-variant);border-radius:999px;background:var(--surface-container-lowest);color:var(--on-surface-variant);font-size:16px;font-weight:700;line-height:24px}.cancel-delete-button:hover:not(:disabled){background:var(--surface-container-high);transform:translateY(-1px)}.delete-button:disabled,.cancel-delete-button:disabled{cursor:default;opacity:.55}.save-error{margin:12px 4px 0;color:var(--error);font-size:15px;line-height:23px}.chat-screen{overflow:hidden;padding-bottom:calc(172px + var(--safe-bottom-ui))}.chat-screen .top-app-bar{background:var(--background);box-shadow:0 4px 16px #5c432605;-webkit-backdrop-filter:none;backdrop-filter:none}.chat-canvas{display:flex;height:100vh;height:100dvh;flex-direction:column;gap:24px;overflow-y:auto;padding:calc(var(--top-bar-height) + 10px) 20px calc(172px + var(--safe-bottom-ui));scrollbar-width:none;-webkit-overflow-scrolling:touch}.chat-canvas::-webkit-scrollbar{display:none}.date-chip{align-self:center;padding:4px 12px;border-radius:999px;background:var(--surface-container-low);color:var(--outline-variant);font-size:13px;font-weight:600;line-height:16px}.chat-empty{display:grid;min-height:240px;place-items:center;align-content:center;gap:12px;color:var(--outline);text-align:center;animation:soft-pop .42s 90ms cubic-bezier(.2,.8,.2,1) both}.chat-empty .icon{color:var(--primary-container);font-size:40px}.chat-empty p{margin:0;font-size:17px;line-height:27px}.message{display:flex;max-width:92%;align-items:flex-end;gap:4px;animation:message-in-left .24s cubic-bezier(.2,.8,.2,1) both}.message.sent{align-self:flex-end;align-items:flex-end;animation-name:message-in-right}.message.received{align-self:flex-start;align-items:flex-end;gap:8px}.message-body{display:flex;flex-direction:column;gap:4px}.message-avatar{width:28px;height:28px;flex:0 0 auto;border-radius:999px;object-fit:cover;border:1px solid rgba(211,196,180,.5)}.bubble{overflow:hidden;padding:14px 17px;box-shadow:0 8px 24px #5c43260d;transition:box-shadow .18s ease,transform .18s ease}.message:hover .bubble{box-shadow:0 10px 26px #5c432614;transform:translateY(-1px)}.received .bubble{border-radius:24px 24px 24px 0;background:var(--surface-container-high);color:var(--on-surface)}.sent .bubble{border-radius:24px 24px 0;background:var(--primary-container);color:var(--on-primary-container)}.bubble img{display:block;width:100%;height:192px;margin:-4px -8px 8px;border-radius:16px;object-fit:cover}.bubble p{margin:0;font-size:18px;line-height:29px}.message time{padding:0 4px;color:var(--outline);font-size:13px;font-weight:600;line-height:16px}.sent time{color:var(--outline-variant)}.composer-dock{position:fixed;right:max(0px,calc((100vw - 430px)/2));bottom:var(--bottom-nav-height);left:max(0px,calc((100vw - 430px)/2));z-index:40;padding:0 20px;background:#fff8f4d1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.composer{display:flex;align-items:center;gap:8px;padding:5px 8px;border:1px solid var(--outline-variant);border-radius:999px;background:var(--surface-container-lowest);box-shadow:0 4px 16px #5c43260a;transition:border-color .18s ease,box-shadow .22s ease,transform .22s ease}.composer:focus-within{border-color:var(--primary-container);box-shadow:0 10px 28px #5c43261a;transform:translateY(-1px)}.composer button{display:grid;width:40px;height:40px;place-items:center;border-radius:999px}.composer button:hover:not(:disabled){background:var(--surface-container-high)}.composer button:first-child{color:var(--secondary)}.composer button:last-child{color:var(--primary)}.composer button:disabled,.composer input:disabled{cursor:default;opacity:.45}.composer input{min-width:0;flex:1;border:0;-webkit-appearance:none;outline:0;background:transparent;color:var(--on-surface);font:inherit;font-size:18px;line-height:29px}.typing-message{opacity:.72;animation:typing-pulse 1.2s ease-in-out infinite}.profile-screen{padding-top:0}.identity-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:112px 0 18px}.identity-card img{width:128px;height:128px;border:4px solid var(--surface-container-low);border-radius:999px;object-fit:cover;box-shadow:0 8px 24px #5c43261f;animation:soft-pop .42s .1s cubic-bezier(.2,.8,.2,1) both;transition:box-shadow .22s ease,transform .24s ease}.identity-card img:hover{box-shadow:0 14px 30px #5c432629;transform:translateY(-2px) scale(1.02)}.identity-card h2{margin:8px 0 0;color:var(--on-background);font-size:26px;font-weight:700;line-height:32px}.identity-card p{margin:0;color:var(--on-surface-variant);font-size:16px;line-height:24px}.profile-actions{display:grid;width:100%;gap:10px;margin-top:14px}.profile-actions label,.profile-actions button{display:flex;min-height:48px;align-items:center;justify-content:center;gap:8px;border-radius:999px;font-size:16px;font-weight:700;line-height:24px;cursor:pointer}.profile-actions label{background:var(--primary-container);color:var(--on-primary-container)}.profile-actions button{border:1px solid var(--outline-variant);background:var(--surface-container-lowest);color:var(--on-surface-variant)}.profile-actions label:hover,.profile-actions button:hover:not(:disabled){transform:translateY(-1px)}.profile-actions button:disabled{cursor:default;opacity:.55}.profile-error{margin:2px 0 0;color:var(--error);font-size:14px;line-height:22px}.profile-message{margin:2px 0 0;color:var(--primary);font-size:14px;font-weight:700;line-height:22px}.profile-settings-card{display:grid;gap:14px;padding:22px;border:1px solid rgba(211,196,180,.28);border-radius:28px;background:var(--surface-container-lowest);box-shadow:0 8px 24px #5c43260a;animation:soft-pop .4s .1s cubic-bezier(.2,.8,.2,1) both}.profile-settings-card h3{margin:0 0 2px;color:var(--on-surface);font-size:21px;font-weight:800;line-height:28px}.profile-settings-card label{display:grid;gap:7px}.profile-settings-card label span{color:var(--on-surface-variant);font-size:14px;font-weight:800;line-height:18px}.profile-settings-card input{width:100%;min-height:48px;border:1px solid rgba(211,196,180,.55);border-radius:16px;background:var(--surface-container-low);color:var(--on-surface);font:inherit;font-size:17px;line-height:24px;outline:0;padding:0 14px;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.profile-settings-card input[type=date]{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:0;font-size:16px;line-height:1.2;font-variant-numeric:tabular-nums;letter-spacing:0}.profile-settings-card input[type=date]::-webkit-date-and-time-value{text-align:left}.profile-settings-card input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.82}.profile-settings-card input:focus{border-color:#7d571b8c;background:var(--surface-container-lowest);box-shadow:0 0 0 4px #b88b4a24}.profile-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.profile-date-grid label{min-width:0}.profile-settings-card button{display:flex;min-height:50px;align-items:center;justify-content:center;gap:8px;margin-top:2px;border-radius:999px;background:var(--primary-container);color:var(--on-primary-container);font-size:17px;font-weight:800;line-height:24px}.profile-settings-card button:hover:not(:disabled){transform:translateY(-1px)}.profile-settings-card button:disabled{cursor:default;opacity:.55}.discharge-card{--service-progress: 0%;display:grid;gap:14px;padding:20px;border:1px solid rgba(211,196,180,.45);border-radius:20px;background:var(--surface-container-lowest);box-shadow:0 8px 24px #5c43260d;animation:soft-pop .36s .12s cubic-bezier(.2,.8,.2,1) both}.discharge-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.discharge-card-header span,.service-detail-grid span{color:var(--on-surface-variant);font-size:13px;font-weight:700;line-height:18px;letter-spacing:0}.discharge-card-header h3{margin:4px 0 0;color:var(--on-surface);font-size:28px;font-weight:800;line-height:32px}.service-status{margin:0;color:var(--primary);font-size:18px;font-weight:800;line-height:22px}.service-progress-track{overflow:hidden;width:100%;height:8px;border-radius:999px;background:var(--surface-container-high);box-shadow:none}.service-progress-track div{width:var(--service-progress);height:100%;border-radius:inherit;background:var(--primary);transition:width .42s cubic-bezier(.2,.8,.2,1)}.service-detail-grid{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:10px}.service-detail-grid div{display:grid;gap:5px;padding:12px;border:1px solid rgba(211,196,180,.5);border-radius:14px;background:var(--surface-container-low)}.service-detail-grid strong{color:var(--on-surface);font-size:16px;font-weight:800;font-variant-numeric:tabular-nums;line-height:22px}.service-remaining{margin:0;color:var(--on-surface-variant);font-size:15px;font-weight:700;line-height:22px}.logout-button{width:100%;justify-content:center;gap:8px;min-height:56px;margin-top:24px;border:1px solid rgba(211,196,180,.3);border-radius:999px;background:var(--surface-container-highest);color:var(--on-surface);font-size:19px;font-weight:700;line-height:26px}.logout-button:hover{background:var(--surface-container-high);transform:translateY(-1px)}.bottom-nav{position:fixed;bottom:0;left:50%;z-index:50;display:flex;width:min(100%,430px);align-items:center;justify-content:space-around;padding:6px 10px calc(18px + var(--safe-bottom-ui));border-radius:18px 18px 0 0;background:var(--surface);box-shadow:0 -8px 24px #5c432614;-webkit-transform:translateX(-50%);transform:translate(-50%)}.bottom-nav button{display:flex;min-width:58px;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 9px;border-radius:14px;color:var(--on-surface-variant);transition:background-color .18s ease,box-shadow .22s ease,color .18s ease,transform .18s cubic-bezier(.2,.8,.2,1)}.bottom-nav button:hover{background:var(--surface-container-low);transform:translateY(-1px)}.bottom-nav button.active{background:var(--secondary-container);color:var(--on-secondary-container);box-shadow:0 2px 6px #5c43260a;transform:scale(.9)}.bottom-nav button.active:hover{transform:scale(.92)}.bottom-nav span:last-child{font-size:12px;font-weight:600;line-height:16px}@media(min-width:700px){.screen,.chat-screen,.write-shell{box-shadow:0 28px 70px #2a170114}}@media(max-width:360px){.editor-toolbar{grid-template-columns:1fr}.date-quick-nav{justify-content:center}.image-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bottom-nav{padding-right:8px;padding-left:8px}.bottom-nav button{min-width:58px;padding-right:8px;padding-left:8px}}@media(max-width:430px){.profile-date-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
