@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/playfair-display-latin-700-normal-CuDiGg7c.woff2) format("woff2"),url(/assets/playfair-display-latin-700-normal-Bc_1Q1cG.woff) format("woff")}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/playfair-display-latin-800-normal-lwhkvH_6.woff2) format("woff2"),url(/assets/playfair-display-latin-800-normal-D0Xz4t1K.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-latin-400-normal-BLhwKU8k.woff2) format("woff2"),url(/assets/montserrat-latin-400-normal-xItZbAXg.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-latin-500-normal-DRFEGfly.woff2) format("woff2"),url(/assets/montserrat-latin-500-normal-Dok2oTci.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-latin-600-normal-UVxSCcoG.woff2) format("woff2"),url(/assets/montserrat-latin-600-normal-CdhFl4lI.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-latin-700-normal-BdjcYUrC.woff2) format("woff2"),url(/assets/montserrat-latin-700-normal-BWkrl476.woff) format("woff")}:root{color:#f5ebe0;background:#2b1f1a;font-family:Montserrat,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #2b1f1a;--bg-deep: #160f0d;--surface: #35251f;--surface-strong: #432d25;--surface-soft: #5a3a2e;--cream: #f5ebe0;--cream-soft: rgba(245, 235, 224, .72);--cream-faint: rgba(245, 235, 224, .48);--copper: #885e3c;--copper-light: #e0b367;--caramel: #c58a57;--danger: #b85d57;--line: rgba(224, 179, 103, .28);--line-strong: rgba(224, 179, 103, .48);--shadow: 0 22px 50px rgba(13, 8, 7, .42);--shadow-soft: 0 14px 32px rgba(13, 8, 7, .28);--radius-sm: .75rem;--radius-md: 1rem;--radius-lg: 1.35rem;--font-display: "Playfair Display", Georgia, serif;--font-body: "Montserrat", ui-sans-serif, system-ui, sans-serif}*{box-sizing:border-box}html{min-width:320px;background:var(--bg)}body{margin:0;min-height:100vh;overflow-x:hidden;background:radial-gradient(circle at 18% 2%,rgba(224,179,103,.18),transparent 23rem),radial-gradient(circle at 86% 14%,rgba(136,94,60,.18),transparent 22rem),linear-gradient(180deg,#2b1f1a,#1b1210)}body:before{position:fixed;inset:0;z-index:-1;pointer-events:none;content:"";background-image:radial-gradient(circle,rgba(245,235,224,.2) 0 1px,transparent 1.5px),linear-gradient(125deg,transparent 0 41%,rgba(224,179,103,.08) 41.2% 41.6%,transparent 42% 100%);background-position:0 0,0 0;background-size:4.8rem 4.8rem,28rem 28rem;opacity:.42}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%}::selection{color:var(--bg);background:var(--copper-light)}.app-shell{min-height:100vh;color:var(--cream)}.app-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:.85rem;padding:.85rem 1rem;background:#2b1f1adb;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:.72rem;min-width:0;padding:0;color:var(--cream);background:none;border:0;text-align:left}.ficmood-mark{position:relative;display:grid;place-items:center;flex:0 0 auto;width:2.9rem;height:2.9rem;color:var(--cream);background:radial-gradient(circle at 70% 24%,rgba(224,179,103,.22),transparent 1.1rem),linear-gradient(145deg,#5a3a2ef2,#201411fa);border:1px solid rgba(224,179,103,.62);border-radius:999px;box-shadow:inset 0 0 0 1px #f5ebe00d,0 12px 28px #00000052}.ficmood-mark span{font-family:var(--font-display);font-size:1.14rem;font-weight:800;line-height:1}.ficmood-mark svg{position:absolute;right:-.12rem;top:.2rem;color:var(--copper-light);fill:#e0b36738}.ficmood-logo{position:relative;display:grid;gap:.08rem;min-width:0;padding-right:.75rem}.ficmood-logo__word{display:flex;align-items:baseline;min-width:0;font-family:var(--font-display);font-size:1.55rem;font-weight:800;line-height:.9;letter-spacing:0;white-space:nowrap}.ficmood-logo__fic{color:var(--cream)}.ficmood-logo__mood{color:var(--copper-light)}.ficmood-logo__loop{position:relative;display:inline-block;letter-spacing:0}.ficmood-logo__loop:after{position:absolute;left:.16em;right:.1em;top:52%;height:.08em;content:"";background:currentColor;border-radius:999px;opacity:.75;transform:rotate(-8deg)}.ficmood-logo__tagline{display:none;max-width:16rem;overflow:hidden;color:var(--cream-soft);font-size:.73rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.ficmood-logo__spark{position:absolute;right:0;top:-.35rem;color:var(--copper-light);fill:#e0b3672e}.primary-action,.save-button,.danger-button,.ghost-button,.input-with-button button{display:inline-flex;align-items:center;justify-content:center;gap:.48rem;min-height:2.9rem;border-radius:999px;font-weight:700;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease}.primary-action,.save-button,.input-with-button button{padding:.78rem 1rem;color:#1d120f;background:linear-gradient(135deg,#e0b367,#c58a57 58%,#885e3c);border:1px solid rgba(245,235,224,.2);box-shadow:0 14px 30px #885e3c47}.primary-action:hover,.save-button:hover,.input-with-button button:hover{transform:translateY(-1px);box-shadow:0 16px 36px #e0b36738}.primary-action span{display:none}.ghost-button{min-height:2.7rem;padding:.66rem .95rem;color:var(--cream);background:#2b1f1a7a;border:1px solid var(--line-strong)}.ghost-button:hover{background:#885e3c38}.danger-button{padding:.76rem 1rem;color:var(--cream);background:#b85d572e;border:1px solid rgba(184,93,87,.58)}.danger-button:hover{background:#b85d5747}.intro-band{position:relative;display:flex;align-items:end;min-height:20rem;padding:3.3rem 1rem 2rem;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(circle at 82% 20%,rgba(224,179,103,.2),transparent 12rem),radial-gradient(circle at 22% 86%,rgba(136,94,60,.32),transparent 15rem),linear-gradient(145deg,#160f0d8a,#2b1f1afa)}.intro-band:before,.intro-band:after{position:absolute;pointer-events:none;content:""}.intro-band:before{right:-3rem;bottom:-2rem;width:18rem;height:11rem;border:1px solid rgba(224,179,103,.18);border-radius:54% 46% 58% 42%;transform:rotate(-9deg)}.intro-band:after{left:1rem;right:1rem;bottom:.75rem;height:.85rem;opacity:.55;background:radial-gradient(ellipse at 1rem 50%,transparent .45rem,rgba(224,179,103,.58) .48rem .52rem,transparent .55rem) 0 0 / 3rem .85rem repeat-x}.intro-band>div:not(.intro-band__ornaments){position:relative;z-index:1;width:min(45rem,100%)}.intro-band__ornaments{position:absolute;inset:0;pointer-events:none;color:#e0b367a8}.intro-band__ornaments svg{position:absolute;stroke-width:1.4}.intro-band__ornaments svg:nth-child(1){right:12%;top:22%}.intro-band__ornaments svg:nth-child(2){right:27%;bottom:24%}.intro-band__ornaments svg:nth-child(3){right:6%;bottom:15%}.intro-kicker{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:.8rem;color:var(--copper-light);font-size:.76rem;font-weight:700;text-transform:uppercase}.intro-kicker svg{fill:#e0b36729}.intro-band h1{max-width:39rem;margin:0;color:var(--cream);font-family:var(--font-display);font-size:2.6rem;font-weight:800;line-height:.98;letter-spacing:0}.intro-band p{max-width:36rem;margin:1rem 0 0;color:var(--cream-soft);font-size:.98rem;line-height:1.65}.content-section{width:min(1180px,100%);margin:0 auto;padding:1.15rem 1rem 3.2rem}.controls-row{display:flex;gap:.85rem;align-items:center;margin-bottom:.9rem}.search-box{display:flex;align-items:center;gap:.7rem;width:100%;min-height:3.25rem;padding:0 .95rem;color:var(--cream);background:#35251fe0;border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.search-box svg{color:var(--copper-light)}.search-box input,.field-group input,.field-group textarea,.field-group select,.tag-input input{width:100%;min-width:0;color:var(--cream);background:transparent;border:0;outline:0}.search-box input::placeholder,.field-group input::placeholder,.field-group textarea::placeholder,.tag-input input::placeholder{color:var(--cream-faint)}.filter-bar{display:flex;gap:.55rem;margin:0 -1rem 1.25rem;padding:0 1rem .4rem;overflow-x:auto;scrollbar-color:var(--copper) transparent;scrollbar-width:thin}.filter-pill{flex:0 0 auto;min-height:2.48rem;padding:.64rem .9rem;color:var(--cream-soft);background:#2b1f1a57;border:1px solid var(--line);border-radius:999px;font-weight:700}.filter-pill:hover{color:var(--cream);background:#885e3c33}.filter-pill--active{color:#1d120f;background:linear-gradient(135deg,#e0b367,#c58a57);border-color:#f5ebe03d}.story-grid{display:grid;grid-template-columns:1fr;gap:1rem}.story-card{position:relative;display:grid;grid-template-columns:6.35rem minmax(0,1fr);gap:.95rem;min-height:9.2rem;padding:.72rem;overflow:hidden;background:linear-gradient(145deg,#432d25f5,#2a1c18fa),var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.story-card:after{position:absolute;right:-2.5rem;top:-2.5rem;width:6rem;height:6rem;pointer-events:none;content:"";border:1px solid rgba(224,179,103,.15);border-radius:999px}.story-card:hover{transform:translateY(-2px);border-color:var(--line-strong);box-shadow:var(--shadow)}.story-card__hit{position:absolute;inset:0;z-index:2;width:100%;height:100%;padding:0;background:transparent;border:0}.story-card__cover{position:relative;z-index:1;aspect-ratio:2 / 3;min-width:0;overflow:hidden;background:var(--bg-deep);border:1px solid rgba(245,235,224,.08);border-radius:.9rem;box-shadow:0 14px 26px #00000047}.story-card__cover img,.cover-panel img{width:100%;height:100%;object-fit:cover}.cover-placeholder,.cover-panel__placeholder{position:relative;display:grid;place-items:center;align-content:center;gap:.25rem;width:100%;height:100%;color:var(--cream-soft);background:radial-gradient(circle at 68% 20%,rgba(224,179,103,.22),transparent 3.5rem),linear-gradient(145deg,#5a3a2e,#221613);font-weight:600;text-align:center}.cover-placeholder svg,.cover-panel__placeholder svg{color:var(--copper-light);stroke-width:1.35}.cover-placeholder span,.cover-panel__placeholder span{color:var(--cream-faint);font-size:.74rem}.favorite-badge{position:absolute;right:.45rem;top:.45rem;z-index:2;display:grid;place-items:center;width:2rem;height:2rem;color:var(--copper-light);background:#2b1f1ac2;border:1px solid rgba(224,179,103,.42);border-radius:999px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.story-card__body{position:relative;z-index:1;display:flex;flex-direction:column;gap:.52rem;min-width:0;padding:.1rem .1rem .1rem 0}.story-card h3{display:-webkit-box;margin:0 0 .22rem;overflow:hidden;color:var(--cream);font-family:var(--font-display);font-size:1.22rem;font-weight:700;line-height:1.14;letter-spacing:0;-webkit-line-clamp:2;-webkit-box-orient:vertical}.story-card p{margin:0;overflow:hidden;color:var(--cream-soft);font-size:.82rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.story-card__meta,.tag-row,.tag-input__chips{display:flex;flex-wrap:wrap;gap:.38rem}.status-badge,.tag{display:inline-flex;align-items:center;min-height:1.62rem;padding:.26rem .58rem;border-radius:999px;font-size:.72rem;font-weight:700;line-height:1}.status-badge{color:var(--cream);background:#885e3c61;border:1px solid rgba(224,179,103,.28)}.status-badge--lendo{background:#e0b36738}.status-badge--abandonado{background:#b85d5733}.tag{color:var(--cream-soft);background:#2b1f1a8c;border:1px solid rgba(224,179,103,.22)}.star-rating{display:flex;align-items:center;gap:.14rem}.star{color:#f5ebe047;stroke-width:1.8}.star--filled,.star-button--filled .star{color:var(--caramel);fill:currentColor}.star-rating--sm .star{width:1.02rem;height:1.02rem}.star-rating--md .star{width:1.25rem;height:1.25rem}.star-rating--lg .star{width:1.88rem;height:1.88rem}.star-button{display:grid;place-items:center;width:2.55rem;height:2.55rem;padding:0;background:#2b1f1a57;border:1px solid transparent;border-radius:999px}.star-button:hover{background:#885e3c3d;border-color:var(--line)}.empty-state{position:relative;display:grid;place-items:center;min-height:22rem;padding:2.4rem 1.1rem;overflow:hidden;color:var(--cream-soft);text-align:center;background:radial-gradient(circle at 50% 0%,rgba(224,179,103,.12),transparent 14rem),#35251f85;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.empty-state:after{width:15rem;height:7rem;position:absolute;right:-4rem;bottom:-2rem;content:"";border:1px solid rgba(224,179,103,.18);border-radius:50%;transform:rotate(-10deg)}.empty-state__icon{position:relative;display:grid;place-items:center;width:5.8rem;height:5.8rem;margin-bottom:1rem;color:var(--copper-light);background:#2b1f1ac7;border:1px solid var(--line-strong);border-radius:999px}.empty-state__icon svg{position:absolute;stroke-width:1.4}.empty-state__icon svg:nth-child(1){bottom:1.25rem}.empty-state__icon svg:nth-child(2){right:1rem;top:.85rem}.empty-state__icon svg:nth-child(3){left:1rem;top:1.05rem}.empty-state h2,.section-heading h2{margin:0 0 .45rem;color:var(--cream);font-family:var(--font-display);font-size:1.78rem;font-weight:800;line-height:1.1;letter-spacing:0}.empty-state p,.section-heading p{max-width:42rem;margin:0;color:var(--cream-soft);line-height:1.6}.empty-state__button{margin-top:1.2rem}.story-card--skeleton{pointer-events:none}.story-card--skeleton>div,.story-card--skeleton span{display:block;border-radius:.85rem;background:linear-gradient(90deg,#5a3a2e80,#e0b36729,#5a3a2e80);background-size:200% 100%;animation:shimmer 1.4s infinite linear}.story-card--skeleton>div{aspect-ratio:2 / 3}.story-card--skeleton section{display:grid;align-content:start;gap:.65rem}.story-card--skeleton span{height:1rem}.story-card--skeleton span:first-child{width:80%}.story-card--skeleton span:last-child{width:55%}.section-heading{margin-bottom:1.05rem}.story-form{display:grid;gap:1rem}.form-toolbar{display:flex;justify-content:space-between;gap:.75rem}.editor-layout{display:grid;gap:1rem}.cover-panel{width:min(17rem,76vw);aspect-ratio:2 / 3;justify-self:center;overflow:hidden;background:var(--bg-deep);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.cover-panel__placeholder{font-size:1rem}.form-panel{position:relative;display:grid;gap:1rem;padding:1rem;overflow:hidden;background:linear-gradient(145deg,#432d25f0,#271a16fa),var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.form-panel:before{position:absolute;inset:0;pointer-events:none;content:"";background:linear-gradient(90deg,transparent,rgba(224,179,103,.04),transparent),radial-gradient(circle at top right,rgba(224,179,103,.08),transparent 13rem)}.form-panel>*{position:relative;z-index:1}.field-group{display:grid;gap:.45rem}.field-group label{color:var(--cream);font-size:.84rem;font-weight:700}.field-group input,.field-group textarea,.field-group select,.tag-input,.input-with-button input{min-height:3.1rem;padding:.88rem .95rem;color:var(--cream);background:#1f1411b3;border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:inset 0 1px #f5ebe00a}.field-group input:focus,.field-group textarea:focus,.field-group select:focus,.tag-input:focus-within,.input-with-button input:focus{border-color:var(--line-strong);box-shadow:0 0 0 3px #e0b3671a,inset 0 1px #f5ebe00a}.field-group textarea{resize:vertical;line-height:1.55}.field-group select{color-scheme:dark}.journal-textarea{background:repeating-linear-gradient(to bottom,#1f1411b8 0 2.35rem,#e0b36714 2.42rem)!important}.input-with-button{display:grid;gap:.6rem}.input-with-button button{width:100%}.two-column{display:grid;gap:1rem}.favorite-toggle{display:flex;align-items:center;gap:.55rem;min-height:3.1rem;align-self:end;padding:.82rem .95rem;color:var(--copper-light);background:#2b1f1a8c;border:1px solid var(--line);border-radius:var(--radius-sm);font-weight:700}.favorite-toggle input{position:absolute;opacity:0;pointer-events:none}.tag-input{display:grid;gap:.55rem}.tag-input .tag button{display:grid;place-items:center;width:1.35rem;height:1.35rem;margin-left:.22rem;padding:0;color:inherit;background:#f5ebe014;border:0;border-radius:999px}.form-message,.notice{margin:0 0 1rem;padding:.9rem 1rem;color:var(--cream);background:#885e3c38;border:1px solid rgba(224,179,103,.32);border-radius:var(--radius-sm)}.form-message{margin:0}.notice--error{color:#ffd8d4;background:#b85d5729;border-color:#b85d576b}.form-actions{display:flex;flex-direction:column-reverse;gap:.75rem;margin-top:.25rem}.form-actions button{width:100%}.delete-confirm{display:grid;gap:.65rem;width:100%}.delete-confirm p{display:grid;gap:.55rem;margin:0;padding:.8rem .9rem;color:#ffd8d4;background:#b85d571f;border:1px solid rgba(184,93,87,.34);border-radius:var(--radius-sm);font-size:.82rem;line-height:1.45}.delete-confirm p button{width:max-content;min-height:0;padding:0;color:var(--cream);background:transparent;border:0;font-weight:700;text-decoration:underline}button:disabled{cursor:not-allowed;opacity:.64;transform:none}.spin{animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position:-200% 0}}@media(min-width:560px){.app-header{padding:.95rem 1.35rem}.ficmood-logo__word{font-size:1.75rem}.ficmood-logo__tagline,.primary-action span{display:block}.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-card{grid-template-columns:7rem minmax(0,1fr)}.input-with-button{grid-template-columns:minmax(0,1fr) auto}.input-with-button button{width:auto}.form-actions{flex-direction:row;justify-content:flex-end}.form-actions button,.delete-confirm{width:auto}}@media(min-width:820px){.app-header{padding:1rem 2rem}.intro-band{min-height:23rem;padding:4.5rem 2rem 2.4rem}.intro-band h1{font-size:4.2rem}.intro-band p{font-size:1.04rem}.content-section{padding:1.35rem 2rem 4rem}.story-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.story-card{grid-template-columns:1fr;padding:.85rem}.story-card__cover{width:100%}.story-card h3{font-size:1.35rem}.editor-layout{grid-template-columns:minmax(14rem,18rem) minmax(0,1fr);align-items:start}.cover-panel{position:sticky;top:6.2rem;width:100%}.form-panel{padding:1.2rem}.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1120px){.story-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
