@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&display=swap";:root{color:#e9e6df;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#111210;--panel:#1b1c19;--text:#e9e6df;--muted:#a7a59c;--dim:#6e7068;--line:#393a34;--accent:#c6b69b;--danger:#c17d73;background:#111210;font-family:Manrope,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--bg);min-height:100%;margin:0}body{min-width:320px}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:1px solid var(--accent);outline-offset:3px}em,i{font-style:normal!important}::selection{background:var(--accent);color:#111210}.mora-app{background:var(--bg);min-height:100vh;color:var(--text);flex-direction:column;display:flex}.mora-header{border-bottom:1px solid #ffffff10;justify-content:flex-end;align-items:center;height:76px;padding:0 clamp(22px,5vw,76px);display:flex;position:relative}.mora-wordmark{color:var(--text);letter-spacing:5px;font-size:22px;font-weight:500;text-decoration:none;position:absolute;left:50%;transform:translate(-50%)}.mora-header-actions{align-items:center;gap:15px;margin-left:auto;display:flex}.quiet-icon{color:#aaa99f;background:0 0;border:0;place-items:center;width:38px;height:38px;display:grid}.quiet-icon:hover{color:var(--text)}.round-add{width:39px;height:39px;color:var(--text);background:0 0;border:1px solid #8d897e;border-radius:50%;place-items:center;transition:background .2s,color .2s;display:grid}.round-add:hover{background:var(--accent);color:#151613}.mora-collection{flex-direction:column;flex:1;width:min(1500px,100%);margin:0 auto;padding:0 clamp(22px,5vw,76px);display:flex}.collection-empty{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:19px;min-height:calc(100vh - 150px);display:flex}.empty-plus{color:#dedbd3;background:0 0;border:1px solid #77766d;border-radius:50%;place-items:center;width:82px;height:82px;transition:transform .25s,border-color .25s,background .25s;display:grid}.empty-plus:hover{border-color:var(--accent);background:#ffffff0a;transform:rotate(90deg)}.empty-caption{color:#77776f;letter-spacing:2.8px;font-size:9px}.collection-content{padding:54px 0 90px}.collection-topline{border-bottom:1px solid var(--line);color:#77776f;letter-spacing:1.7px;justify-content:space-between;padding-bottom:17px;font-size:9px;display:flex}.mora-film-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:44px 24px;padding-top:28px;display:grid}.mora-film{min-width:0;color:inherit;text-align:left;background:0 0;border:0;flex-direction:column;align-items:flex-start;padding:0;display:flex}.mora-poster{aspect-ratio:2/3;background:#22231f;width:100%;position:relative;overflow:hidden}.mora-poster img{object-fit:cover;width:100%;height:100%;transition:transform .5s,opacity .3s;display:block}.mora-film:hover .mora-poster img{opacity:.82;transform:scale(1.035)}.poster-fallback{color:#77776f;place-items:center;width:100%;height:100%;display:grid}.poster-rating{color:var(--accent);background:#111210d9;padding:5px 7px;font-size:11px;position:absolute;bottom:10px;right:10px}.mora-film-title{color:#e4e1d9;margin-top:13px;font-size:13px;line-height:1.5}.mora-film-year{color:#77776f;margin-top:3px;font-size:10px}.mora-film-add{color:#88877e;background:#151613;border:1px dashed #41423b;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100%;display:flex}.mora-film-add span{border:1px solid #5d5c53;border-radius:50%;place-items:center;width:54px;height:54px;display:grid}.mora-film-add small{letter-spacing:1.8px;font-size:8px}.mora-film-add:hover{border-color:var(--accent);color:var(--accent)}.mora-footer{color:#77776f;letter-spacing:1.5px;border-top:1px solid #ffffff10;justify-content:space-between;align-items:center;height:55px;padding:0 clamp(22px,5vw,76px);font-size:9px;display:flex}.mora-footer span:first-child{color:#bdb8ad;letter-spacing:3px}.mora-notice{color:#d5b999;border:1px solid #76594a;justify-content:space-between;align-items:center;margin-top:18px;padding:12px 14px;font-size:11px;display:flex}.mora-notice button{color:inherit;background:0 0;border:0}.collection-loading{min-height:60vh;color:var(--accent);flex:1;place-items:center;display:grid}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.mora-overlay{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#080907d9;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow:auto}.mora-modal,.movie-detail{width:min(680px,100%);max-height:calc(100vh - 40px);color:var(--text);background:#191a17;border:1px solid #44453d;overflow:auto;box-shadow:0 30px 100px #0009}.mora-modal{padding:27px 30px}.mora-modal-head{color:#b8ad98;letter-spacing:2px;justify-content:space-between;align-items:center;margin-bottom:25px;font-size:9px;display:flex}.import-area{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0 20px}.import-area>label,.movie-fields label{color:#99978e;letter-spacing:1.2px;gap:8px;font-size:9px;display:grid}.import-line{gap:8px;margin-top:9px;display:flex}.import-line input,.tmdb-token input,.movie-fields input,.movie-fields textarea{width:100%;min-height:40px;color:var(--text);letter-spacing:0;background:#121310;border:1px solid #41423b;border-radius:0;outline:0;padding:10px 11px;font-size:12px}.import-line input:focus,.tmdb-token input:focus,.movie-fields input:focus,.movie-fields textarea:focus{border-color:var(--accent)}.import-line button{border:1px solid var(--accent);background:var(--accent);color:#151613;flex:0 0 43px;place-items:center;width:43px;display:grid}.import-line button:disabled{opacity:.4;cursor:wait}.tmdb-token{color:#a7a59c;margin-top:13px;font-size:10px}.tmdb-token summary{cursor:pointer;color:#bdb6a7}.tmdb-token p{color:#88877e;max-width:560px;line-height:1.7}.tmdb-token a{color:var(--accent);align-items:center;gap:5px;margin-top:9px;text-decoration:none;display:inline-flex}.tmdb-token input{margin:9px 0}.form-notice{color:#d5b999;margin:12px 0 0;font-size:11px;line-height:1.6}.movie-fields{grid-template-columns:1fr 1fr;gap:14px 12px;padding-top:21px;display:grid}.movie-fields .wide{grid-column:1/-1}.movie-fields textarea{resize:vertical;line-height:1.6}.rating-control{align-items:center;gap:9px;display:flex}.rating-control input{width:100px}.rating-control span{color:#aaa99f;font-size:11px}.rating-control small,.char-count{color:#6e7068;letter-spacing:0;font-size:9px}.char-count{text-align:right}.mora-modal-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:18px;margin-top:25px;padding-top:18px;display:flex}.text-button,.save-button{color:#99978e;letter-spacing:1.2px;background:0 0;border:0;align-items:center;gap:8px;min-height:39px;font-size:9px;display:inline-flex}.text-button:hover{color:var(--text)}.save-button{border:1px solid var(--accent);background:var(--accent);color:#171814;padding:0 15px}.save-button:disabled{opacity:.45;cursor:wait}.movie-detail{width:min(760px,100%);position:relative}.detail-x{z-index:3;background:#111210b8;position:absolute;top:12px;right:12px}.movie-detail-art{background:#24251f;height:300px;position:relative;overflow:hidden}.movie-detail-art>img{object-fit:cover;opacity:.43;filter:saturate(.6);width:100%;height:100%}.movie-detail-art:after{content:"";background:linear-gradient(#0000 10%,#191a17 100%);position:absolute;inset:0}.movie-detail-title{z-index:1;position:absolute;bottom:23px;left:25px;right:25px}.movie-detail-title span{color:#b2aa9b;font-size:10px}.movie-detail-title h2{letter-spacing:-1px;margin:8px 0 0;font-size:clamp(27px,5vw,43px);font-weight:500}.movie-detail-body{padding:22px 26px 26px}.detail-score{color:var(--accent);align-items:center;gap:8px;font-size:19px;display:flex}.detail-score small{color:#77776f;font-size:10px}.detail-plot{color:#c1beb5;font-size:13px;line-height:1.8}.detail-cast,.detail-comment{border-top:1px solid var(--line);margin-top:21px;padding-top:16px}.detail-cast>span,.detail-comment>span{color:#aaa18e;letter-spacing:1.5px;font-size:9px}.detail-cast p,.detail-comment p{color:#b9b6ad;font-size:12px;line-height:1.8}.detail-actions{border-top:1px solid var(--line);align-items:center;gap:18px;margin-top:22px;padding-top:15px;display:flex}.detail-actions a,.delete-entry{color:#88877e;letter-spacing:1px;background:0 0;border:0;align-items:center;gap:6px;font-size:9px;text-decoration:none;display:inline-flex}.detail-actions a:hover{color:var(--accent)}.delete-entry{color:var(--danger);margin-left:auto}.frame-logout{z-index:12;color:#77776f;letter-spacing:1px;background:0 0;border:0;font-size:9px;position:fixed;bottom:65px;right:clamp(22px,5vw,76px)}.frame-logout:hover{color:var(--text)}@media (width<=1000px){.mora-film-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 18px}}@media (width<=680px){.mora-header{height:65px;padding:0 18px}.mora-wordmark{font-size:19px}.mora-collection{padding:0 18px}.collection-empty{min-height:calc(100vh - 130px)}.empty-plus{width:72px;height:72px}.collection-content{padding:35px 0 65px}.mora-film-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:29px 13px}.mora-film-title{font-size:12px}.mora-film-add{min-height:230px}.mora-footer{padding:0 18px}.mora-modal{padding:19px 17px}.movie-fields{grid-template-columns:1fr}.movie-fields .wide{grid-column:auto}.movie-detail-art{height:245px}.movie-detail-body{padding:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.welcome-loading{color:#bdb6a7;letter-spacing:1px;background:#111210;place-items:center;min-height:100vh;font-size:11px;display:grid}.welcome-screen{color:#eeeae2;background:#10110f;place-items:center;width:100%;height:100svh;min-height:560px;display:grid;position:relative;overflow:hidden}.welcome-video{object-fit:cover;opacity:.62;filter:brightness(.65)saturate(.62);width:100%;height:100%;position:absolute;inset:0}.welcome-shade{background:linear-gradient(#090a09a8 0%,#090a0933 45%,#090a09a8 100%);position:absolute;inset:0}.welcome-logo{z-index:2;color:#f0ede5;letter-spacing:.24em;text-shadow:0 2px 30px #0008;padding-left:.24em;font-size:clamp(42px,7vw,76px);font-weight:400;text-decoration:none;position:absolute;top:43%;left:50%;transform:translate(-50%,-50%)}.welcome-cta{z-index:2;color:#f0ede5;letter-spacing:1.8px;white-space:nowrap;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#15161335;border:1px solid #e8e3d3a6;align-items:center;gap:15px;padding:15px 22px;font-size:9px;transition:background .2s,border-color .2s;display:inline-flex;position:absolute;top:57%;left:50%;transform:translate(-50%,-50%)}.welcome-cta:hover{background:#e8e3d31c;border-color:#e8e3d3}.welcome-auth{z-index:3;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#151613d9;border:1px solid #ffffff35;width:min(390px,100% - 36px);padding:30px;position:relative;box-shadow:0 25px 90px #0008}.auth-back{color:#aaa79d;letter-spacing:1.5px;background:0 0;border:0;margin-bottom:26px;padding:0;font-size:9px}.auth-form-title{color:#eeeae2;margin-bottom:24px;font-size:23px;font-weight:400}.welcome-auth form{gap:17px;display:grid}.welcome-auth form label{gap:8px;display:grid}.welcome-auth form label>span{color:#aaa79d;letter-spacing:1.4px;font-size:9px}.welcome-auth form label>div{color:#aaa79d;border:1px solid #ffffff35;align-items:center;gap:10px;height:43px;padding:0 11px;display:flex}.welcome-auth form label>div:focus-within{border-color:var(--accent)}.welcome-auth form input{color:#eeeae2;background:0 0;border:0;outline:0;width:100%;font-size:12px}.welcome-auth form input::placeholder{color:#77766e}.welcome-auth .auth-submit{border:1px solid var(--accent);background:var(--accent);color:#171814;letter-spacing:1.5px;justify-content:center;align-items:center;gap:10px;height:43px;margin-top:4px;font-size:9px;display:flex}.welcome-auth .auth-submit:disabled{opacity:.5}.auth-mode{color:#aaa79d;letter-spacing:1.2px;background:0 0;border:0;width:100%;margin-top:20px;padding:0;font-size:8px}.auth-mode:hover,.auth-back:hover{color:#eeeae2}.auth-error,.auth-message{color:#e0a39a;border:1px solid #79504b;margin:0;padding:10px;font-size:10px;line-height:1.5}.auth-message{color:#b9d0ad;border-color:#50684e}@media (width<=600px){.welcome-screen{min-height:520px}.welcome-logo{font-size:54px;top:44%}.welcome-cta{top:57%}.welcome-auth{padding:25px 21px}}@media (prefers-reduced-motion:reduce){.welcome-cta{transition:none}}
