:root{--sans:"Helvetica Neue", Helvetica, Arial, sans-serif;--serif:Georgia, "Times New Roman", serif;--ui-scale:1;--page-bg:#e7e3db;--panel-bg:#fff;--ink:#211f1b;--ink-soft:#3a372f;--muted:#9a948a;--muted-light:#b3ada2;--crumb:#a39e94;--border:#cfc8bb;--border-light:#e4e0d8;--border-faint:#efece5;--accent:#211f1b;--preview-empty-bg:#ece8e0;--preview-active-bg:#f4f1ea;--folder-bg:#fcfbf8;--folder-border:#e7e3da;--folder-border-hover:#c3bbac;--caption-bg:#f7f5f0f2;--hairline:#c7c1b6}*{box-sizing:border-box}body{background:var(--page-bg);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}button{font-family:inherit}.page{min-height:100vh;padding:calc(38px * var(--ui-scale)) calc(32px * var(--ui-scale)) calc(64px * var(--ui-scale));flex-direction:column;align-items:center;display:flex}.shell{max-width:100%}.header{padding:0 2px calc(18px * var(--ui-scale));justify-content:space-between;align-items:flex-end;display:flex}.brand{gap:calc(8px * var(--ui-scale));flex-direction:column;display:flex}.brand__wordmark{font:300 calc(28px * var(--ui-scale))/1 var(--sans);letter-spacing:.44em;color:var(--ink)}.brand__tagline{font:600 calc(9px * var(--ui-scale))/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--muted)}.header__actions{gap:calc(8px * var(--ui-scale));display:flex}.btn-download{border:1px solid var(--border);background:var(--panel-bg);cursor:pointer;font:600 calc(9px * var(--ui-scale))/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);padding:calc(11px * var(--ui-scale)) calc(17px * var(--ui-scale));min-width:calc(84px * var(--ui-scale));transition:all .18s}.btn-download:hover:not(:disabled){background:var(--ink);color:#fff;border-color:var(--ink)}.btn-download:disabled{opacity:.45;cursor:default}.banner{margin:0 0 calc(12px * var(--ui-scale));padding:calc(11px * var(--ui-scale)) calc(14px * var(--ui-scale));background:var(--panel-bg);border:1px solid var(--border-light);font:500 calc(12px * var(--ui-scale))/1.5 var(--sans);color:var(--ink-soft)}.banner--error{color:#8a3f2c;border-color:#d8b4a8}.layoutbar{background:var(--panel-bg);border:1px solid var(--border-light);padding:calc(13px * var(--ui-scale)) calc(18px * var(--ui-scale));border-bottom:none;justify-content:space-between;align-items:center;display:flex}.layoutbar__left{align-items:center;gap:calc(14px * var(--ui-scale));display:flex}.layoutbar__label{font:600 calc(9px * var(--ui-scale))/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.layoutbar__choices{gap:calc(10px * var(--ui-scale));display:flex}.layoutbar__hint{font:600 calc(9px * var(--ui-scale))/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted-light)}.layout-choice{cursor:pointer;align-items:center;gap:calc(6px * var(--ui-scale));padding:calc(4px * var(--ui-scale)) 2px;opacity:.5;background:0 0;border:none;flex-direction:column;transition:opacity .15s;display:flex}.layout-choice.is-active{opacity:1}.layout-choice__preview{background:var(--preview-empty-bg);border:1px solid var(--border-light);display:block;position:relative;overflow:hidden}.layout-choice.is-active .layout-choice__preview{background:var(--preview-active-bg);border-color:var(--border)}.layout-choice__rect{background:#3a372f66;position:absolute;box-shadow:inset 0 0 0 .5px #ffffff80}.layout-choice.is-active .layout-choice__rect{background:var(--accent)}.layout-choice__label{font:600 calc(8px * var(--ui-scale))/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.layout-choice.is-active .layout-choice__label{color:var(--ink)}.board{border:1px solid var(--border-light);margin:0 auto;position:relative;overflow:hidden}.board__centre{z-index:8;align-items:center;gap:calc(6px * var(--ui-scale));pointer-events:none;flex-direction:column;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.board__eyebrow{font:300 calc(9px * var(--ui-scale))/1 var(--sans);letter-spacing:.42em;text-transform:uppercase;color:var(--muted)}.board__title{pointer-events:auto;min-width:calc(200px * var(--ui-scale));font:italic 300 calc(44px * var(--ui-scale))/1.15 var(--serif);letter-spacing:.01em;color:var(--ink);text-align:center;white-space:nowrap;outline:none}.board__title:focus{box-shadow:0 1px 0 0 var(--hairline)}.board__title.is-empty:before{content:attr(data-placeholder);color:var(--muted-light)}.board__rule{width:calc(46px * var(--ui-scale));background:var(--hairline);height:1px}.board__caption{font:600 calc(8px * var(--ui-scale))/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}.board__disclaimer{left:0;right:0;bottom:calc(5px * var(--ui-scale));z-index:8;text-align:center;font:400 calc(7px * var(--ui-scale))/1.2 var(--sans);letter-spacing:.04em;color:var(--muted-light);pointer-events:none;position:absolute}.board--exporting .tile{transition:none}.board--exporting .board__title.is-empty:before{content:""}.tile{left:var(--tile-left);top:var(--tile-top);width:var(--tile-width);height:var(--tile-height);z-index:var(--tile-z);background:var(--preview-empty-bg);cursor:pointer;border:none;padding:0;transition:transform .25s,box-shadow .25s;position:absolute;overflow:hidden;box-shadow:0 20px 44px -26px #2b231880}.tile:hover{z-index:35;transform:translateY(-5px)scale(1.012);box-shadow:0 34px 64px -28px #2b23189e}.tile__image{display:block;position:absolute}.tile__empty{font:600 calc(9px * var(--ui-scale))/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.tile__inner-border{border:1px solid #2b23181a;position:absolute;inset:0}.tile__caption{left:calc(12px * var(--ui-scale));bottom:calc(12px * var(--ui-scale));background:var(--caption-bg);padding:calc(7px * var(--ui-scale)) calc(12px * var(--ui-scale)) calc(8px * var(--ui-scale));gap:calc(3px * var(--ui-scale));text-align:left;max-width:calc(100% - 24px * var(--ui-scale));flex-direction:column;display:flex;position:absolute}.tile__name{font:600 calc(11px * var(--ui-scale))/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);overflow-wrap:anywhere}.tile__folder{font:600 calc(8.5px * var(--ui-scale))/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes picker-in{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:none}}.picker-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1c19146b;justify-content:center;align-items:center;animation:.2s backdrop-in;display:flex;position:fixed;inset:0}.picker{width:calc(860px * var(--ui-scale));height:calc(632px * var(--ui-scale));background:var(--panel-bg);flex-direction:column;max-width:94vw;max-height:90vh;animation:.26s cubic-bezier(.2,.8,.2,1) picker-in;display:flex;overflow:hidden;box-shadow:0 40px 90px -30px #14120e8c}.picker__head{padding:calc(20px * var(--ui-scale)) calc(22px * var(--ui-scale)) calc(16px * var(--ui-scale));border-bottom:1px solid var(--border-faint);justify-content:space-between;align-items:flex-start;display:flex}.picker__heading{gap:calc(9px * var(--ui-scale));flex-direction:column;display:flex}.picker__eyebrow{font:600 calc(8.5px * var(--ui-scale))/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.picker__crumbs{flex-wrap:wrap;align-items:center;gap:2px;display:flex}.crumb{cursor:pointer;padding:2px calc(4px * var(--ui-scale));font:500 calc(13px * var(--ui-scale))/1 var(--sans);letter-spacing:.01em;color:var(--crumb);background:0 0;border:none}.crumb.is-current{cursor:default;color:var(--ink);font-weight:600}.picker__close{cursor:pointer;font:300 calc(22px * var(--ui-scale))/1 var(--sans);color:#8a857c;padding:2px calc(4px * var(--ui-scale));background:0 0;border:none}.picker__body{padding:calc(18px * var(--ui-scale)) calc(22px * var(--ui-scale)) calc(24px * var(--ui-scale));flex:1;overflow:auto}.picker__section-label{font:600 calc(8.5px * var(--ui-scale))/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--muted-light);padding:0 0 calc(12px * var(--ui-scale))}.picker__section-label--items{padding:calc(24px * var(--ui-scale)) 0 calc(12px * var(--ui-scale))}.picker__empty{font:500 calc(12px * var(--ui-scale))/1.5 var(--sans);color:var(--muted);margin:0}.folder-grid{gap:calc(16px * var(--ui-scale));grid-template-columns:repeat(3,1fr);display:grid}.folder{border:1px solid var(--folder-border);background:var(--folder-bg);cursor:pointer;flex-direction:column;padding:0;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.folder:hover{border-color:var(--folder-border-hover);box-shadow:0 12px 26px -16px #2b231866}.folder__previews{height:calc(72px * var(--ui-scale));background:var(--preview-empty-bg);display:flex}.folder__preview{object-fit:cover;flex:1;min-width:0;height:100%}.folder__meta{justify-content:space-between;align-items:center;gap:calc(8px * var(--ui-scale));padding:calc(11px * var(--ui-scale)) calc(13px * var(--ui-scale));border-top:1px solid var(--border-faint);display:flex}.folder__name{font:600 calc(10px * var(--ui-scale))/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.folder__count{font:600 calc(8.5px * var(--ui-scale))/1 var(--sans);letter-spacing:.08em;color:var(--muted-light);white-space:nowrap}.image-grid{gap:calc(18px * var(--ui-scale));grid-template-columns:repeat(4,1fr);display:grid}.image-option{cursor:pointer;gap:calc(8px * var(--ui-scale));text-align:left;background:0 0;border:none;flex-direction:column;padding:0;display:flex}.image-option__frame{aspect-ratio:1;background:var(--preview-empty-bg);width:100%;display:block;position:relative}.image-option.is-current .image-option__frame{box-shadow:0 0 0 2px var(--accent)}.image-option__frame:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px #2b23181f}.image-option__thumb{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.image-option__name{font:600 calc(9px * var(--ui-scale))/1.2 var(--sans);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft)}.message{flex-direction:column;align-items:flex-start;gap:18px;width:880px;padding-top:60px;display:flex}.message__title{font:italic 300 34px/1.2 var(--serif);color:var(--ink);margin:0}.message__detail{max-width:46em;font:500 13px/1.6 var(--sans);color:var(--ink-soft);overflow-wrap:anywhere;margin:0}
