@import url('https://fonts.googleapis.com/css2?family=Golos+Text:wght@400;450;500;550;600;650;700;800&display=swap');
:root{font-family:'Golos Text',sans-serif;color:#333b32;background:#f6f6f0;font-synthesis:none;--accent:#5145a3;--muted:#787d72;--line:#dfe2d7;--desk:#e4e7dd}*{box-sizing:border-box}body{margin:0;display:flex;min-height:100dvh}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit;border:0;background:none}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #8a7cce;outline-offset:4px}input:focus,textarea:focus,select:focus{outline:2px solid #8a7cce;outline-offset:1px}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.sprite{position:absolute;width:0;height:0;overflow:hidden}.sidebar{width:242px;flex-shrink:0;border-right:1px solid var(--line);padding:35px 22px 22px;display:flex;flex-direction:column;min-height:100dvh;z-index:2;background:#f6f6f0}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:650;font-size:27px;letter-spacing:-1.3px}.brand svg{width:37px;height:37px}.brand-dot{color:var(--accent)}.brand-note{font-size:12px;color:var(--muted);margin:12px 0 43px;white-space:nowrap}.side-action{width:100%;display:flex;gap:12px;align-items:center;text-align:left;padding:12px 9px;font-size:14px;border-radius:8px}.side-action span{margin-left:auto;color:var(--muted);font-size:12px}.side-action svg{width:19px;height:19px}.side-action.active{background:#e8e7ef;color:var(--accent)}.world-label{display:flex;align-items:center;justify-content:space-between;padding-left:10px;font-size:12px;color:var(--muted);margin:33px 0 5px}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;border-radius:7px;flex-shrink:0}.icon-button:hover{background:#00000008}.world-nav{display:flex;align-items:center;width:100%;gap:12px;text-align:left;padding:13px 12px;border-radius:7px;font-size:14px;margin:3px 0}.world-nav span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.world-nav .world-count{margin-left:auto;font-size:12px;color:var(--muted)}.world-nav.active{background:#e6e8dd}.world-nav:hover{background:#eaebe4}.dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.favorite-nav{margin-top:22px}.side-bottom{margin-top:auto;padding-top:80px}.local-status{font-size:11px;color:#65725f;display:flex;align-items:center;gap:6px}.local-status span{width:5px;height:5px;background:#7c8c6f;border-radius:50%}.side-bottom p{font-size:12px;color:#8a8d82;line-height:1.8;margin:13px 0 21px}.backup-actions{display:flex;gap:14px;font-size:11px}.backup-actions button{padding:0;display:flex;gap:6px;align-items:center}.backup-actions svg{width:14px;height:14px}main{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:99px;padding:0 43px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px}.breadcrumb{font-size:12px;color:#85897f;display:flex;gap:15px}.breadcrumb #crumb{color:#4c5548}.top-actions{display:flex;align-items:center;gap:26px}.text-button{font-size:12px;color:#7e8378;padding:8px 0}.primary{background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:43px;padding:12px 18px;border-radius:7px;font-size:13px;font-weight:500;transition:background .16s,transform .16s}.primary:hover{background:#44398c}.primary:active{transform:scale(.97)}.primary svg{width:18px;height:18px}.collection-heading{display:flex;align-items:center;justify-content:space-between;padding:39px 43px 25px;gap:15px}.heading-line{display:flex;align-items:center;gap:13px}h1{font-size:33px;letter-spacing:-1.2px;font-weight:550;margin:0;line-height:1.2}.world-dot{width:14px;height:14px;background:#777c65;border-radius:50%;flex-shrink:0}.heading-line .icon-button{color:#929789;margin-left:2px}.collection-heading p{font-size:13px;color:var(--muted);margin:13px 0 0;line-height:1.6}.count-label{font-size:12px;color:var(--muted);white-space:nowrap}.toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:0 43px 23px}.filters{display:flex;gap:5px}.filters button{font-size:12px;color:#7c8176;padding:8px 13px;border-radius:6px;white-space:nowrap}.filters button.selected{background:#e8eade;color:#3c4737}.filters button:hover{background:#eeefe8}.tools{display:flex;align-items:center;gap:20px}.search{display:flex;align-items:center;gap:7px}.search svg{color:#858a80;width:16px;height:16px}.search input{border:0;background:none;width:105px;min-width:0;color:#414a3c;font-size:12px;padding:7px 0}.search input::placeholder{color:#989d91}.view-switch{display:flex;border:1px solid #dcded4;padding:2px;border-radius:7px}.view-switch .icon-button{min-height:30px;min-width:33px;color:#92988a}.view-switch .selected{background:#fff;color:#414d3b;box-shadow:0 1px 3px #30332612}.view-switch svg{width:17px;height:17px}.table-viewport{position:relative;flex:1;min-height:620px;overflow:auto;background:var(--desk);background-image:radial-gradient(#a9b09b45 .75px,transparent .75px);background-size:20px 20px;border-top:1px solid #daddd0;border-bottom:1px solid #daddd0;scrollbar-width:thin;isolation:isolate}.table{position:relative;width:1180px;height:850px;margin:0 auto;min-height:100%}.table:after{content:'У каждой находки — своя история.';position:absolute;bottom:28px;left:38px;font-size:12px;color:#969f8b;pointer-events:none}.item{position:absolute;width:232px;transform:rotate(var(--rotation));filter:drop-shadow(1px 7px 6px #38422d19);transition:filter .18s;cursor:grab;touch-action:pan-x pan-y;user-select:none;-webkit-user-select:none;outline-offset:8px}.item:hover{filter:drop-shadow(2px 11px 8px #38422d28);z-index:10!important}.item.dragging{cursor:grabbing;z-index:50!important;filter:drop-shadow(3px 17px 12px #38422d30);transition:none}.item button{font:inherit}.item-paper{background:#fffef8;padding:11px 11px 0;border:1px solid #ffffff80}.item-art{height:209px;overflow:hidden;background:#d3dac9}.item-art svg{display:block;width:100%;height:100%;stroke:none;border-radius:0}.item-art img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.item-caption{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:13px 2px 15px;font-size:13px;line-height:1.5;font-weight:450}.item-caption span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-small-label{font-size:10px;color:#858b7e;font-weight:400;display:flex;align-items:center;gap:5px}.item-small-label svg{width:13px;height:13px}.pin{width:41px;height:15px;position:absolute;left:calc(50% - 20px);top:-6px;background:#f2e4bc99;transform:rotate(-5deg);z-index:2}.item.quote{width:247px}.quote-paper{padding:30px 24px 22px;background:#f1e8b4;min-height:220px;position:relative}.quote-paper:after{content:'';position:absolute;right:0;bottom:0;border-bottom:17px solid #e4e7dd;border-left:17px solid #d7cd98}.quote-paper>.quote-mark{width:28px;height:28px;opacity:.35;margin-bottom:15px}.quote-paper blockquote{font-family:Georgia,'Times New Roman',serif;font-size:23px;line-height:1.35;letter-spacing:-.4px;margin:0 0 22px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical;overflow:hidden}.quote-paper .attribution{font-size:10px;color:#6e705b;line-height:1.5}.quote-paper.pink{background:#ead3d6}.quote-paper.blue{background:#d2e0e6}.quote-paper.sage{background:#d2dbc2}.quote-paper.cream{background:#f6f1df}.item.music{width:249px}.music-sleeve{padding:17px;background:#c6c6da;overflow:hidden;min-height:292px;position:relative}.record{width:191px;height:191px;border-radius:50%;background:repeating-radial-gradient(circle,#26272a 0 2px,#343438 3px 4px,#26272a 5px 7px);margin:7px auto 20px;display:grid;place-items:center;box-shadow:5px 5px 8px #0002;position:relative}.record:before{content:'';position:absolute;inset:0;border-radius:50%;background:conic-gradient(transparent 0deg,#fff2 45deg,transparent 90deg,transparent 180deg,#fff2 225deg,transparent 270deg)}.record-label{background:#b15f43;width:70px;height:70px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#f4e2c5;font-size:9px;text-align:center;line-height:1.4;padding:10px;position:relative}.record-label:after{content:'';position:absolute;left:calc(50% - 3px);top:calc(50% - 3px);width:6px;height:6px;border-radius:50%;background:#26272a}.music-name{font-size:16px;font-weight:550;letter-spacing:-.4px;padding-right:30px;overflow-wrap:anywhere}.music-artist{font-size:10px;color:#5f6075;margin-top:5px}.play-disc{position:absolute;right:17px;bottom:19px;border:1px solid #7d7e98;border-radius:50%;width:29px;height:29px;display:grid;place-items:center}.play-disc svg{width:14px;height:14px}.item.link{width:253px}.link-paper{background:#f9faf4;overflow:hidden}.link-preview{height:165px;background:#52644d;padding:20px;position:relative;overflow:hidden;color:#e8e9c4}.link-preview .preview-top{font-size:8px;letter-spacing:1px}.link-preview .preview-title{font-family:Georgia,serif;font-size:42px;line-height:.95;margin-top:18px;position:relative;z-index:1}.link-preview .orbit{position:absolute;width:170px;height:170px;border:1px solid #d9e3b688;border-radius:50%;right:-30px;top:45px;transform:rotate(30deg)}.link-preview .orbit:after{content:'';position:absolute;inset:16px 42px;border:1px solid #d9e3b688;border-radius:50%}.link-info{padding:17px}.link-title{font-size:14px;font-weight:550;margin-bottom:7px;overflow-wrap:anywhere}.link-domain{color:#8b9282;font-size:10px;display:flex;align-items:center;gap:5px}.link-domain svg{width:12px;height:12px}.item-fav{position:absolute;right:13px;top:14px;z-index:3;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#f9faf0e8;color:#4f5a45;opacity:0;transition:opacity .16s}.item:hover .item-fav,.item-fav:focus-visible,.item-fav.is-fav{opacity:1}.item-fav svg{width:16px;height:16px}.item-fav.is-fav svg{fill:#7a835a;stroke:#7a835a}.tape-note{position:absolute;top:759px;right:87px;font-size:21px;color:#7d866f;font-family:Georgia,serif;font-style:italic;transform:rotate(-6deg);pointer-events:none}.grid-mode .table{height:auto!important;width:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:35px;padding:35px;align-items:start;max-width:1600px}.grid-mode .item{position:relative!important;left:auto!important;top:auto!important;transform:none;width:100%!important;cursor:pointer}.grid-mode .table:after{display:none}.grid-mode .item-art{height:230px}.grid-mode .item.quote{min-height:260px}.grid-mode .tape-note{display:none}footer{display:flex;justify-content:space-between;padding:14px 30px;font-size:10px;color:#919887;background:#f0f2e9;gap:15px}footer span{display:flex;align-items:center;gap:7px}footer svg{width:14px;height:14px}#empty{padding:90px 25px;text-align:center}#empty[hidden]{display:none}#empty>svg{width:50px;height:50px;color:#8c987b}#empty h2{font-size:24px;font-weight:500;letter-spacing:-.7px}#empty p{color:var(--muted);line-height:1.7;font-size:14px;margin-bottom:25px}dialog{border:1px solid #d8ddcd;border-radius:16px;background:#fafbf5;color:#333b32;padding:28px;width:min(510px,calc(100% - 28px));max-height:calc(100dvh - 40px);overflow:auto;box-shadow:0 25px 100px #27301f33}dialog::backdrop{background:#303b3066}dialog[open]{animation:dialog-in .2s ease-out}@keyframes dialog-in{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:24px}.dialog-header h2{font-size:23px;font-weight:550;letter-spacing:-.7px;margin:0}form>label,.form-row>label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:500;margin:18px 0}input,textarea,select{min-width:0}form input:not([type=file]),form textarea,form select{width:100%;border:1px solid #d9ded1;background:#fffef9;border-radius:7px;padding:12px;color:#34412d;font-size:14px;resize:vertical}.optional{font-size:10px;color:#8c9583;display:inline;font-weight:400}.type-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.type-picker button{display:flex;flex-direction:column;gap:7px;align-items:center;padding:12px 4px;border:1px solid var(--line);border-radius:8px;font-size:11px}.type-picker button.selected{border-color:#8980b9;background:#efedf8;color:var(--accent)}.upload-field{border:1px dashed #b9c2af;border-radius:8px;padding:14px}.upload-field input{font-size:11px;width:100%}.upload-field span{font-size:10px;color:#8c9583}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-row label{margin:0}.wide{width:100%}.error{font-size:12px;color:#ae423a;line-height:1.5}.error:empty{margin:0}.error:not(:empty){margin:15px 0}.world-buttons{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:25px}.danger{color:#a33f3c;font-size:12px}#help-dialog p{font-size:14px;line-height:1.8;color:#6f7867;margin-bottom:20px}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);opacity:0;background:#34412d;color:#fff;padding:13px 20px;border-radius:8px;z-index:100;font-size:13px;max-width:calc(100% - 30px);text-align:center;pointer-events:none;transition:opacity .2s,transform .2s}#toast.show{opacity:1;transform:translate(-50%,0)}.detail-art .item-art{height:300px}.detail-art .item-art svg{width:100%;height:100%}.detail-art img{object-fit:contain!important}.detail-art .quote-paper{min-height:160px}.detail-art .quote-paper blockquote{display:block;font-size:28px;user-select:text}.detail-art .quote-paper:after{display:none}.detail-art .music-sleeve{border-radius:8px}.detail-note{font-size:14px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;margin:22px 0;color:#717968}.detail-meta{font-size:11px;color:#909786;margin:16px 0}.detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.secondary{border:1px solid #d4dacb;border-radius:7px;padding:11px 13px;font-size:12px}.detail-actions .danger{margin-left:auto}#detail .external{display:flex;text-decoration:none;justify-content:center;margin-top:20px}.remove-confirm{background:#efe4dc;padding:16px;border-radius:8px;font-size:13px;line-height:1.7;margin-top:16px}.remove-confirm button{margin-top:10px;margin-right:15px}.save-warning{background:#fdecd4;color:#865920;padding:12px 20px;font-size:13px;position:sticky;top:0;z-index:90}[hidden]{display:none!important}
@media(min-width:1700px){:root{font-size:18px}.sidebar{width:285px;padding:44px 28px}.brand{font-size:32px}.brand-note,.world-label,.side-bottom p{font-size:14px}.side-action,.world-nav{font-size:16px;padding:15px 12px}.local-status,.backup-actions{font-size:12px}.topbar{height:112px}.breadcrumb,.text-button,.filters button,.search input,.collection-heading p,.count-label{font-size:15px}.primary{font-size:15px}.collection-heading{padding-top:43px;padding-bottom:30px}h1{font-size:41px}.table{width:1330px;height:960px}.table>.item{zoom:1.12}.table-viewport{min-height:760px}footer{font-size:12px}.search input{width:135px}}
@media(min-width:2800px){.sidebar{width:360px;padding:50px 35px}.brand{font-size:39px}.brand-note,.world-label,.side-bottom p{font-size:18px}.side-action,.world-nav{font-size:21px}.topbar{height:140px;padding:0 70px}.breadcrumb,.text-button,.filters button,.search input,.collection-heading p,.count-label{font-size:20px}.primary{font-size:20px;min-height:55px}.collection-heading{padding:55px 70px 35px}h1{font-size:54px}.toolbar{padding:0 70px 30px}.table{width:1770px;height:1260px}.table>.item{zoom:1.5}.table-viewport{min-height:1000px}.search input{width:170px}footer{font-size:16px}dialog{zoom:1.3}}
@media(max-width:1150px){.sidebar{width:205px;padding-left:15px;padding-right:15px}.brand{font-size:24px}.brand-note{font-size:10px}.topbar{padding:0 25px}.collection-heading{padding:30px 25px 22px}.toolbar{padding:0 25px 20px;flex-wrap:wrap}.tools{margin-left:auto}.top-actions{gap:15px}.text-button{font-size:11px}.filters button{padding:8px 9px}.table{margin:0}}
@media(max-width:760px){body{display:block}.sidebar{width:100%;min-height:0;padding:19px 18px 0;border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:0}.brand{font-size:25px}.brand svg{width:32px;height:32px}.brand-note{display:none}.sidebar>.side-action{width:auto;grid-column:2;grid-row:1;font-size:12px;padding:9px;gap:6px}.sidebar>.side-action svg{width:17px;height:17px}.sidebar>.favorite-nav{display:none}.world-label{grid-column:2;grid-row:2;margin:12px 0 6px}.world-label>span{display:none}#worlds{grid-column:1;grid-row:2;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:10px 4px 8px 0}.world-nav{width:auto;padding:9px 12px;margin:0;white-space:nowrap;font-size:12px;gap:7px}.world-count{display:none}.dot{width:7px;height:7px}.side-bottom{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;padding:5px 0 12px;gap:10px}.side-bottom p{display:none}.local-status{font-size:9px}.backup-actions{font-size:10px;gap:14px}.backup-actions svg{width:12px;height:12px}.topbar{height:72px;padding:12px 20px;border-bottom:0}.breadcrumb{font-size:10px;gap:8px}.breadcrumb #crumb{display:none}.breadcrumb>span:not(#crumb){display:none}.top-actions .text-button{font-size:10px}.top-actions{gap:13px}.primary{font-size:12px;min-height:41px;padding:11px 14px}.collection-heading{padding:9px 20px 22px;align-items:flex-start}h1{font-size:28px;letter-spacing:-1px}.heading-line{gap:9px}.world-dot{width:10px;height:10px}.collection-heading p{font-size:12px;margin-top:10px}.count-label{font-size:10px;padding-top:11px}.toolbar{padding:0 16px 15px;gap:12px}.filters{gap:0;width:100%;justify-content:space-between}.filters button{font-size:12px;padding:9px 12px}.tools{width:100%;justify-content:space-between}.search input{width:180px;font-size:12px}.search{padding-left:5px}.table-viewport{min-height:calc(100dvh - 375px)}.grid-mode .table{padding:25px 18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.grid-mode .item-art{height:175px}.grid-mode .item-paper{padding:7px 7px 0}.grid-mode .item-caption{font-size:11px;padding:12px 1px}.grid-mode .quote-paper{padding:20px 15px;min-height:220px}.grid-mode .quote-paper blockquote{font-size:20px}.grid-mode .item.quote{min-height:0}.grid-mode .music-sleeve{padding:12px;min-height:240px}.grid-mode .record{width:133px;height:133px;margin:7px auto 17px}.grid-mode .record-label{width:54px;height:54px;font-size:7px}.grid-mode .music-name{font-size:12px}.grid-mode .music-artist{font-size:9px}.grid-mode .play-disc{right:10px;bottom:15px;width:24px;height:24px}.grid-mode .link-preview{height:155px;padding:15px}.grid-mode .link-preview .preview-title{font-size:33px}.grid-mode .link-info{padding:13px}.grid-mode .link-title{font-size:12px}.grid-mode .link-domain{font-size:9px}.item-fav{opacity:1;width:28px;height:28px;top:12px;right:12px}.pin{width:33px}footer{font-size:9px;padding:14px 18px}footer span:last-child{display:none}dialog{padding:22px 20px;max-height:calc(100dvh - 28px)}form input:not([type=file]),form textarea,form select{font-size:16px}.dialog-header h2{font-size:22px}.type-picker button{font-size:11px;padding:13px 2px}.table:after{font-size:12px}.detail-art .item-art{height:270px}}
@media(max-width:365px){.top-actions .text-button{max-width:73px;text-align:left;line-height:1.5}.grid-mode .record{width:113px;height:113px}.grid-mode .music-sleeve{min-height:220px}.filters button{padding:8px 9px;font-size:11px}.count-label{display:none}.grid-mode .item-art{height:145px}.grid-mode .quote-paper blockquote{font-size:18px}.brand{font-size:23px}.sidebar>.side-action{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* The tape doubles as a touch drag handle; the rest of the card scrolls normally. */
.pin{height:44px;top:-15px;background:none;touch-action:none}.pin:after{content:'';position:absolute;left:0;top:9px;width:100%;height:15px;background:#f2e4bc99}.grid-mode .pin{pointer-events:none}
