.flip-card{perspective:1600px;transition:height .4s}.flip-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s;position:relative}.flip-card-inner.is-flipped{transform:rotateY(180deg)}.flip-card-face{backface-visibility:hidden;width:100%;position:absolute;top:0;left:0}.flip-card-back{transform:rotateY(180deg)}.card .field{flex-direction:column;gap:.35rem;margin-bottom:1rem;display:flex}.card .field label{color:var(--inky-color-black);font-size:.85rem}.card .field input{border:1px solid var(--inky-color-blue);color:var(--inky-color-black);background:#fff;border-radius:6px;padding:.6rem .75rem;font-size:1rem}.card .field input:focus{outline:2px solid var(--inky-color-orange);outline-offset:1px}.card .error{color:var(--inky-color-red);font-size:.9rem}.card button[type=submit]{background:var(--inky-color-green);width:100%;color:var(--inky-color-white);cursor:pointer;border:none;border-radius:6px;padding:.7rem;font-size:1rem}.card button[type=submit]:hover:not(:disabled){background:var(--inky-color-blue)}.card button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.about-body p{margin:0 0 1rem;font-size:.95rem;line-height:1.5}.about-body p:last-child{margin-bottom:0}.login-page{background-image:url(/assets/login-background-BUx66_CO.jpeg);background-position:50%;background-size:cover;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login-flip-card{width:min(92vw,440px)}.card{color:var(--inky-color-black);background:#fff;border-radius:16px;flex-direction:column;padding:3.5rem 3rem;display:flex;box-shadow:0 10px 40px #00000080}.card h1,.card h2{color:var(--inky-color-blue);margin:0;font-family:Silkscreen,system-ui,sans-serif;font-size:2rem;line-height:1.4}.card .tagline{color:var(--inky-color-black);opacity:.7;margin:.5rem 0 1.5rem;font-family:Silkscreen,system-ui,sans-serif}.flip-link{color:var(--inky-color-blue);cursor:pointer;text-align:left;background:0 0;border:none;margin-top:auto;padding:1.5rem 0 0;font-size:.9rem}.flip-link:hover{text-decoration:underline}.activate-card,.reset-password-card{width:min(92vw,440px)}.recipient-search{border:2px solid var(--inky-color-blue);box-sizing:border-box;border-radius:999px;width:100%;padding:.7rem 1rem;font-size:1.05rem}.recipient-list{flex-direction:column;gap:.5rem;max-height:280px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.recipient-option{width:100%;font:inherit;color:var(--inky-color-black);text-align:left;cursor:pointer;background:#091d5f0d;border:none;border-radius:12px;align-items:center;gap:.75rem;padding:.6rem .8rem;font-size:1.05rem;display:flex}.recipient-option:hover{background:var(--inky-color-yellow)}.recipient-names{flex-direction:column;gap:.1rem;min-width:0;display:flex}.recipient-display-name{font-size:1.05rem}.recipient-username{color:var(--inky-color-black);opacity:.6;font-size:.8rem}.recipient-avatar{background:var(--inky-color-orange);width:2.4rem;height:2.4rem;color:var(--inky-color-white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:Silkscreen,system-ui,sans-serif;font-size:1.1rem;display:flex}.recipient-empty{color:var(--inky-color-black);opacity:.7;text-align:center;margin:0}.send-canvas-modal{max-width:420px}.send-message-input{border:1px solid var(--inky-color-blue);font:inherit;resize:vertical;border-radius:6px;padding:.5rem .75rem;font-size:1rem}.message-counter{color:var(--inky-color-black);opacity:.6;align-self:flex-end;font-size:.75rem}.modal-fields .show-name-toggle{flex-direction:row;align-items:center;gap:.6rem;font-size:1rem}.show-name-toggle input{width:1.2rem;height:1.2rem}.show-name-hint{color:var(--inky-color-black);opacity:.65;margin:-.4rem 0 0;font-size:.8rem}.gallery-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;min-height:60vh;display:flex}.gallery-empty-message{color:var(--inky-color-blue);font-size:1.1rem}.gallery-empty-cta{background:var(--inky-color-green);color:var(--inky-color-white);font:inherit;cursor:pointer;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:1.05rem}.gallery-empty-cta:hover{background:var(--inky-color-blue)}.gallery-page h1{color:var(--inky-color-blue);margin:0;font-family:Silkscreen,system-ui,sans-serif}.gallery-toolbar{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.gallery-toolbar-actions{align-items:center;gap:1rem;display:flex}.mail-toggle{color:var(--inky-color-blue);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.55rem;font-size:.9rem;display:inline-flex}.mail-toggle-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mail-toggle-track{background:var(--inky-color-sand);border-radius:999px;flex-shrink:0;width:46px;height:26px;padding:2px;transition:background .2s;position:relative;box-shadow:inset 0 1px 3px #00000040}.mail-toggle-input:checked~.mail-toggle-track{background:repeating-linear-gradient(-45deg, var(--inky-color-red) 0 6px, var(--inky-color-blue) 6px 12px)}.mail-toggle-input:focus-visible~.mail-toggle-track{outline:2px solid var(--inky-color-blue);outline-offset:2px}.mail-toggle-thumb{background:var(--inky-color-white);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;line-height:1;transition:transform .35s cubic-bezier(.34,1.56,.64,1);display:flex;transform:translate(0)rotate(-12deg);box-shadow:0 2px 4px #00000059}.mail-toggle-input:checked~.mail-toggle-track .mail-toggle-thumb{transform:translate(20px)rotate(8deg)}.mail-toggle-count{background:var(--inky-color-red);min-width:1.3rem;height:1.3rem;color:var(--inky-color-white);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;padding:0 .35rem;font-size:.7rem;font-weight:700;transition:transform .2s;display:inline-flex}.mail-toggle-input:checked~.mail-toggle-count{transform:scale(1.1)}.gallery-section-empty{color:var(--inky-color-blue);opacity:.75;margin:0 0 1.5rem}.gallery-new-drawing{background:var(--inky-color-green);color:var(--inky-color-white);font:inherit;cursor:pointer;border:none;border-radius:6px;padding:.5rem 1rem;font-size:1rem}.gallery-new-drawing:hover{background:var(--inky-color-blue)}.gallery-error{color:var(--inky-color-red);margin-bottom:1rem}.drawing-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem;margin:0 0 1.5rem;padding:0;list-style:none;display:grid}.drawing-card-item{position:relative}.drawing-card-item:hover,.drawing-card-item:focus-within{z-index:2}.drawing-card{background:var(--inky-color-sand);border-radius:12px;transition:transform .15s,box-shadow .15s;position:absolute;inset:0;overflow:hidden;box-shadow:0 4px 20px #00000026}.drawing-card:hover,.drawing-card:focus-within{transform:scale(1.04);box-shadow:0 12px 32px #0000004d}.drawing-card-open{cursor:pointer;background:0 0;border:none;width:100%;height:100%;padding:0;display:block}.drawing-card-open:disabled{cursor:default}.drawing-card-image{object-fit:contain;background:#fff;width:100%;height:100%;display:block}.drawing-card-placeholder{background:var(--texture-canvas), var(--inky-color-sand);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.drawing-card-error{color:var(--inky-color-red);font-size:.8rem}.card-hover-action{background:var(--inky-color-blue);color:var(--inky-color-white);opacity:0;pointer-events:none;z-index:1;border-radius:999px;padding:.35rem .8rem;font-size:.8rem;transition:opacity .15s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.draft-card:hover .card-hover-action,.draft-card:focus-visible .card-hover-action,.drawing-card:hover .card-hover-action,.drawing-card:focus-within .card-hover-action,.message-card:hover .card-hover-action,.message-card:focus-visible .card-hover-action{opacity:1}.card-meta{color:var(--inky-color-white);pointer-events:none;background:linear-gradient(#0000,#05051499);justify-content:space-between;align-items:center;gap:.5rem;padding:.35rem .6rem;font-size:.75rem;display:flex;position:absolute;bottom:0;left:0;right:0}.draft-card-item{position:relative}.draft-card-item:hover,.draft-card-item:focus-within{z-index:2}.draft-card{border:2px dashed var(--inky-color-blue);background:#fff;border-radius:12px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex;position:absolute;inset:0;overflow:hidden}.draft-card:hover,.draft-card:focus-visible{transform:scale(1.04);box-shadow:0 12px 32px #0000004d}.draft-card-offscreen{position:fixed;top:-9999px;left:-9999px}.draft-card-image{object-fit:contain;width:100%;height:100%;display:block}.draft-card-label{background:var(--inky-color-blue);color:var(--inky-color-white);opacity:1;border-radius:999px;padding:.3rem .7rem;font-size:.8rem;transition:opacity .15s;position:absolute;top:.6rem;left:.6rem}.draft-card:hover .draft-card-label,.draft-card:focus-visible .draft-card-label{opacity:0}.draft-card-warning{color:var(--inky-color-yellow);cursor:help;display:flex;position:absolute;top:.6rem;right:.6rem}.draft-card-warning svg{width:1.4rem;height:1.4rem}.draft-card-warning-tooltip{border:1px solid var(--inky-color-yellow);width:max-content;max-width:180px;color:var(--inky-color-black);text-align:left;opacity:0;visibility:hidden;pointer-events:none;z-index:1;background:#fff;border-radius:6px;padding:.5rem .7rem;font-size:.75rem;line-height:1.3;transition:opacity 80ms;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 8px 24px #00000059}.draft-card-warning:hover .draft-card-warning-tooltip,.draft-card-warning:focus-within .draft-card-warning-tooltip{opacity:1;visibility:visible}.canvas-preview-modal{max-width:640px}.canvas-preview-image{object-fit:contain;background:var(--texture-canvas), var(--inky-color-sand);border-radius:8px;width:100%;max-height:65vh;display:block}.canvas-preview-meta{color:var(--inky-color-blue);justify-content:space-between;align-items:center;gap:.75rem;font-size:.85rem;display:flex}.received-section{border-top:2px dashed var(--inky-color-sand);margin-top:1rem;padding-top:1.5rem}.received-section-heading{color:var(--inky-color-blue);align-items:center;gap:.5rem;margin:0 0 1.25rem;font-family:Silkscreen,system-ui,sans-serif;font-size:1.1rem;display:flex}.received-section-icon{font-size:1.2rem}.message-card-item{position:relative}.message-card-item:hover,.message-card-item:focus-within{z-index:2}.message-card{background:linear-gradient(var(--inky-color-white), var(--inky-color-white)) padding-box, repeating-linear-gradient(-45deg, var(--inky-color-red) 0 10px, var(--inky-color-white) 10px 20px, var(--inky-color-blue) 20px 30px, var(--inky-color-white) 30px 40px) border-box;font:inherit;cursor:pointer;border:4px solid #0000;border-radius:12px;justify-content:center;align-items:center;padding:0;transition:transform .15s,box-shadow .15s;display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:0 4px 20px #00000026}.message-card:hover,.message-card:focus-visible{transform:scale(1.04);box-shadow:0 12px 32px #0000004d}.message-card-seal{color:var(--inky-color-blue);opacity:.5;font-size:2.5rem}.message-card-label{background:var(--inky-color-red);color:var(--inky-color-white);border-radius:999px;padding:.3rem .7rem;font-size:.75rem;position:absolute;top:.6rem;left:.6rem}.message-detail-loading{border-radius:8px;position:relative;overflow:hidden}.message-detail-loading-active:after{content:"";background:linear-gradient(#0000 0%,#091d5f26 45%,#091d5f4d 50%,#091d5f26 55%,#0000 100%) 0 0/100% 250%;position:absolute;inset:0}.message-detail-loading-content{color:var(--inky-color-blue);flex-direction:column;align-items:center;gap:.4rem;display:flex;position:relative}.message-detail-loading-icon{font-size:2rem}.message-detail-loading-text{opacity:.8;font-size:.85rem}@media (prefers-reduced-motion:no-preference){.message-detail-loading-active:after{animation:1.8s ease-in-out infinite message-scan}.message-detail-loading-icon{animation:1.6s ease-in-out infinite message-pulse}.message-reveal-image{animation:.4s ease-out message-reveal-fade}}@keyframes message-scan{0%{background-position:0 -50%}to{background-position:0 150%}}@keyframes message-pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.9;transform:scale(1.12)}}@keyframes message-reveal-fade{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.message-detail-from{color:var(--inky-color-blue);margin:.9rem 0 0;font-weight:600}.message-detail-text{color:var(--inky-color-black);margin:.3rem 0 .6rem;font-style:italic}.draw-page{flex-direction:column;align-items:center;gap:1rem;display:flex}.draw-page-status{text-align:center;color:var(--inky-color-blue);flex-direction:column;align-items:center;gap:.75rem;padding:3rem 1rem;display:flex}.draw-page-notice{border:1px solid var(--inky-color-blue);color:var(--inky-color-blue);background:#091d5f0f;border-radius:8px;margin:0;padding:.6rem .9rem;font-size:.85rem}.draw-toolbar{flex-direction:column;gap:.75rem;display:flex}.toolbar-row{align-items:center;gap:1.5rem;display:flex}.toolbar-button-group{gap:.5rem;display:flex}.toolbar-button{border:1px solid var(--inky-color-blue);color:var(--inky-color-blue);cursor:pointer;background:0 0;border-radius:6px;padding:.4rem .9rem;font-size:.9rem}.toolbar-button.active{background:var(--inky-color-blue);color:#fff}.toolbar-button.danger{border-color:var(--inky-color-red);color:var(--inky-color-red)}.toolbar-button.danger:hover{background:var(--inky-color-red);color:#fff}.toolbar-button:disabled{opacity:.4;cursor:not-allowed}.toolbar-button.danger:disabled:hover{color:var(--inky-color-red);background:0 0}.clear-button{margin-left:auto}.stroke-width-control{color:var(--inky-color-blue);align-items:center;gap:.6rem;font-size:.9rem;display:flex}.stroke-width-control span{min-width:2.5em}.palette-swatches{gap:.5rem;display:flex}.palette-swatch{cursor:pointer;border:2px solid #091d5f4d;border-radius:50%;width:28px;height:28px;padding:0}.palette-swatch.active{border:3px solid var(--inky-color-blue)}.palette-color-input{border:1px solid var(--inky-color-blue);cursor:pointer;border-radius:6px;width:44px;height:32px;padding:0}.save-button{background:var(--inky-color-green);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.5rem 1.2rem;font-size:.9rem}.save-button:hover:not(:disabled){background:var(--inky-color-blue)}.save-button:disabled{opacity:.6;cursor:not-allowed}.draw-save-error{color:var(--inky-color-red);margin:0;font-size:.85rem}.draw-canvas{border:1px solid var(--inky-color-blue);border-radius:12px}.admin-page h1{color:var(--inky-color-blue);margin:0 0 1rem;font-family:Silkscreen,system-ui,sans-serif}.admin-toolbar{flex-wrap:wrap;align-items:flex-start;gap:.75rem;margin-bottom:1.5rem;display:flex}.admin-filters{display:contents}.admin-search{border:1px solid var(--inky-color-blue);border-radius:6px;width:100%;max-width:320px;padding:.5rem .75rem;font-size:1rem}.admin-filters select{border:1px solid var(--inky-color-blue);appearance:none;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23091D5F' stroke-width='1.5'%3E%3Cpath d='M6 8l4 4 4-4'/%3E%3C/svg%3E");background-position:right .6rem center;background-repeat:no-repeat;background-size:16px;border-radius:6px;padding:.5rem 2rem .5rem .75rem;font-size:1rem}.admin-error{color:var(--inky-color-red);margin-bottom:1rem}.user-list{background:#fff;border-radius:12px;margin:0;padding:0;list-style:none;box-shadow:0 4px 20px #00000026}.user-list-item{border-bottom:1px solid #091d5f1a;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.status-badge{white-space:nowrap;border-radius:999px;padding:.2rem .6rem;font-size:.8rem;display:inline-block}.status-badge--disabled{color:var(--inky-color-red);background:#9e564a26}.status-badge--pending{color:var(--inky-color-yellow);background:#c6b46740}.status-badge--admin{color:var(--inky-color-blue);background:#091d5f1f}.status-badge--pill{cursor:pointer;border:none;font-family:inherit}.status-badge--pill:hover:not(:disabled){filter:brightness(.93)}.status-badge--pill:disabled{opacity:.6;cursor:not-allowed}.user-cell-link{color:inherit;text-decoration:none;display:contents}.user-cell{flex:1;align-items:center;gap:.6rem;min-width:0;display:flex}.user-cell-link:hover .user-cell-displayname{text-decoration:underline}.user-list-item-actions{flex-shrink:0;align-items:center;gap:.6rem;display:flex}.user-cell-names{flex-direction:column;display:flex}.user-cell-displayname{color:var(--inky-color-black)}.user-cell-username{color:var(--inky-color-black);opacity:.6;margin-top:.1rem;font-size:.8rem}.user-cell-badges{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.user-actions-menu{display:inline-block;position:relative}.user-actions-trigger{width:1.75rem;height:1.75rem;color:var(--inky-color-black);cursor:pointer;background:#0505140f;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:1rem;line-height:1;display:inline-flex}.user-actions-trigger:hover:not(:disabled){background:#0505141f}.user-actions-trigger:disabled{opacity:.5;cursor:not-allowed}.user-actions-dropdown{z-index:5;background:#fff;border-radius:10px;flex-direction:column;min-width:11rem;display:flex;position:absolute;top:calc(100% + .4rem);right:0;overflow:hidden;box-shadow:0 8px 24px #0003}.user-actions-dropdown--up{top:auto;bottom:calc(100% + .4rem)}.user-actions-dropdown button{text-align:left;color:var(--inky-color-black);cursor:pointer;background:0 0;border:none;padding:.55rem .85rem;font-size:.85rem}.user-actions-dropdown button:hover:not(:disabled){background:#091d5f0f}.user-actions-dropdown button:disabled{opacity:.5;cursor:not-allowed}.user-actions-dropdown button.user-actions-danger{color:var(--inky-color-red)}.user-actions-divider{border-top:1px solid #091d5f1a;margin:.2rem 0}.admin-pagination{align-items:center;gap:1rem;margin-top:1rem;display:flex}.admin-new-user-toggle{background:var(--inky-color-green);color:var(--inky-color-white);cursor:pointer;border:none;border-radius:6px;margin-left:auto;padding:.5rem 1rem;font-size:1rem}.admin-new-user-toggle:hover{background:var(--inky-color-blue)}.admin-modal-backdrop{z-index:10;background:#05051480;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.create-user-flip-card{width:100%;max-width:480px}.modal-card{background:#fff;border-radius:12px;flex-direction:column;gap:1rem;width:100%;max-width:480px;padding:1.5rem;display:flex;box-shadow:0 10px 40px #0000004d}.modal-card h2{color:var(--inky-color-blue);margin:0;font-family:Silkscreen,system-ui,sans-serif;font-size:1.25rem}.modal-description{color:var(--inky-color-black);opacity:.75;margin:0}.modal-fields{flex-direction:column;gap:.75rem;display:flex}.modal-fields label{color:var(--inky-color-black);flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}.modal-fields input,.modal-fields select{border:1px solid var(--inky-color-blue);border-radius:6px;padding:.5rem .75rem;font-size:1rem}.copy-link-field{background:var(--inky-color-sand);width:100%;font:inherit;text-align:left;cursor:pointer;border:none;border-radius:6px;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.copy-link-field:hover{filter:brightness(.97)}.copy-link-field--copied{animation:.25s copy-link-pop}.copy-link-redacted{letter-spacing:.05em;word-break:break-all;color:var(--inky-color-black);font-size:.9rem;display:block}.copy-link-hint{color:var(--inky-color-blue);opacity:0;flex-shrink:0;font-size:.8rem;transition:opacity .15s}.copy-link-field:hover .copy-link-hint,.copy-link-field--copied .copy-link-hint{opacity:1}.modal-actions{gap:.75rem;display:flex}.modal-actions .btn-primary{background:var(--inky-color-green);color:var(--inky-color-white);cursor:pointer;border:none;border-radius:6px;padding:.6rem 1.2rem;font-size:1rem}.modal-actions .btn-primary:hover:not(:disabled){background:var(--inky-color-blue)}.modal-actions .btn-primary:disabled{opacity:.6;cursor:not-allowed}@keyframes copy-link-pop{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}.modal-actions .btn-secondary{border:1px solid var(--inky-color-blue);color:var(--inky-color-blue);cursor:pointer;background:0 0;border-radius:6px;padding:.6rem 1.2rem;font-size:1rem}.orientation-field{padding:.75rem 0 1.5rem}.orientation-picker{justify-content:center;gap:.75rem;display:flex}.orientation-option{color:var(--inky-color-black);background:0 0;border:2px solid #091d5f26;border-radius:8px;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.85rem;display:flex}button.orientation-option{cursor:pointer}button.orientation-option:hover{border-color:var(--inky-color-blue)}.orientation-option--selected{border-color:var(--inky-color-blue);color:var(--inky-color-blue);background:#091d5f0f}.orientation-dimensions{color:inherit;opacity:.65;font-size:.75rem}.orientation-box-frame{justify-content:center;align-items:center;width:3rem;height:3rem;display:flex}.orientation-box{background:#091d5f1a;border:2px solid;border-radius:4px;display:block}.device-model-swatch{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.device-model-swatch-dot{border:1px solid #091d5f33;border-radius:50%;width:1rem;height:1rem;display:inline-block}.device-model-swatch-more{min-width:1rem;height:1rem;color:var(--inky-color-blue);background:#091d5f1f;border-radius:999px;justify-content:center;align-items:center;padding:0 .3rem;font-size:.65rem;font-weight:600;display:inline-flex}.device-models-toolbar{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.device-models-toolbar h1{margin:0}.device-model-empty{color:var(--inky-color-black);opacity:.6}.device-model-list{background:#fff;border-radius:12px;margin:0;padding:0;list-style:none;box-shadow:0 4px 20px #00000026}.device-model-list-item{border-bottom:1px solid #091d5f1a;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.device-model-list-item:last-child{border-bottom:none}.device-model-cell{flex-direction:column;display:flex}.device-model-name{color:var(--inky-color-black)}.device-model-dimensions{color:var(--inky-color-black);opacity:.6;margin-top:.1rem;font-size:.8rem}.device-model-dimensions-field{color:var(--inky-color-black);flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}.device-model-dimensions-inputs{align-items:center;gap:.5rem;display:flex}.device-model-dimensions-inputs input{width:100%;min-width:0}.device-model-swatch-field{color:var(--inky-color-black);flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}.device-model-swatch-editor{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.device-model-swatch-input{align-items:center;gap:.25rem;display:flex}.device-model-swatch-input input[type=color]{width:2.25rem;height:2.25rem;padding:.15rem}.device-model-swatch-remove{width:1.5rem;height:1.5rem;color:var(--inky-color-red);cursor:pointer;background:#0505140f;border:none;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.device-model-swatch-remove:hover{background:#0505141f}.settings-page{max-width:640px}.settings-back{color:var(--inky-color-blue);margin-bottom:1rem;text-decoration:none;display:inline-block}.settings-back:hover{text-decoration:underline}.settings-page h1{color:var(--inky-color-blue);margin:0 0 1.5rem;font-family:Silkscreen,system-ui,sans-serif}.settings-section{background:#fff;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 4px 20px #00000026}.settings-section h2{color:var(--inky-color-blue);margin:0 0 1rem;font-family:Silkscreen,system-ui,sans-serif;font-size:1.1rem}.settings-section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.settings-section-header h2{margin:0}.settings-form{flex-direction:column;gap:.75rem;max-width:360px;display:flex}.settings-form label{color:var(--inky-color-black);flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}.settings-form input{border:1px solid var(--inky-color-blue);border-radius:6px;padding:.5rem .75rem;font-size:1rem}.profile-display{max-width:360px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.5rem;margin:-.5rem -.75rem;padding:.5rem .75rem;display:flex}.profile-display:hover{background:#091d5f0f}.profile-displayname{color:var(--inky-color-black);font-size:1rem}.profile-edit-icon{color:var(--inky-color-blue);opacity:0;font-size:.9rem;transition:opacity .15s}.profile-display:hover .profile-edit-icon{opacity:1}.btn-primary{background:var(--inky-color-green);color:var(--inky-color-white);cursor:pointer;border:none;border-radius:6px;align-self:flex-start;padding:.6rem 1.2rem;font-size:1rem}.btn-primary:hover:not(:disabled){background:var(--inky-color-blue)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-danger{background:var(--inky-color-red);color:var(--inky-color-white);cursor:pointer;border:none;border-radius:6px;align-self:flex-start;padding:.6rem 1.2rem;font-size:1rem}.btn-danger:hover:not(:disabled){filter:brightness(.92)}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.settings-danger-zone{border:1px solid #9e564a66}.settings-danger-zone p{color:var(--inky-color-black);opacity:.75;margin:0 0 1rem}.modal-fields label.settings-checkbox-label{flex-direction:row;align-items:center;gap:.5rem}.settings-checkbox-label input[type=checkbox]{border:none;width:auto;padding:0}.status-badge--enabled{color:var(--inky-color-green);background:#285f5526}.full-page-message{background-color:var(--inky-color-sand);background-image:var(--texture-canvas);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.full-page-message-card{width:100%;max-width:420px;color:var(--inky-color-black);text-align:center;background:#fff;border-radius:16px;padding:3rem 2.5rem;box-shadow:0 10px 40px #00000026}.full-page-message-card h1{color:var(--inky-color-blue);margin:0;font-family:Silkscreen,system-ui,sans-serif;font-size:1.5rem;line-height:1.4}.full-page-message-card p{color:var(--inky-color-black);opacity:.7;margin:.75rem 0 1.75rem}.full-page-message-card button{background:var(--inky-color-green);width:100%;color:var(--inky-color-white);cursor:pointer;border:none;border-radius:6px;padding:.7rem;font-size:1rem}.full-page-message-card button:hover{background:var(--inky-color-blue)}.btn-secondary{border:1px solid var(--inky-color-blue);color:var(--inky-color-blue);cursor:pointer;background:0 0;border-radius:6px;padding:.6rem 1.2rem;font-size:1rem}.btn-secondary:hover:not(:disabled){background:#091d5f0f}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.user-detail-back{color:var(--inky-color-blue);margin-bottom:1rem;text-decoration:none;display:inline-block}.user-detail-back:hover{text-decoration:underline}.user-detail-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.user-detail-displayname{color:var(--inky-color-blue);font-family:Silkscreen,system-ui,sans-serif;font-size:1.4rem}.user-detail-actions{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:2rem;display:flex}.user-detail-actions .user-actions-danger{color:var(--inky-color-red);border-color:var(--inky-color-red)}.connections-section h2{color:var(--inky-color-blue);margin:0 0 1rem;font-family:Silkscreen,system-ui,sans-serif;font-size:1.1rem}.connections-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;gap:1.5rem;display:grid}.connection-column{background:#fff;border-radius:12px;padding:1rem;box-shadow:0 4px 20px #00000026}.connection-column h3{color:var(--inky-color-black);margin:0 0 .75rem;font-size:.95rem}.connection-column-empty{color:var(--inky-color-black);opacity:.6;margin:0 0 .75rem;font-size:.9rem}.connection-list{margin:0 0 .75rem;padding:0;list-style:none}.connection-list-item{border-bottom:1px solid #091d5f1a;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem 0;display:flex}.connection-list-item:last-child{border-bottom:none}.connection-remove-btn{width:1.75rem;height:1.75rem;color:var(--inky-color-red);cursor:pointer;background:#0505140f;border:none;border-radius:6px;flex-shrink:0}.connection-remove-btn:hover:not(:disabled){background:#0505141f}.connection-remove-btn:disabled{opacity:.5;cursor:not-allowed}.connection-add-btn{width:100%}.user-typeahead-input-row{gap:.5rem;display:flex}.user-typeahead-input-row input{border:1px solid var(--inky-color-blue);border-radius:6px;flex:1;min-width:0;padding:.5rem .75rem;font-size:.95rem}.user-typeahead-results{border:1px solid #091d5f1a;border-radius:8px;max-height:220px;margin:.5rem 0 0;padding:0;list-style:none;overflow-y:auto}.user-typeahead-status{color:var(--inky-color-black);opacity:.6;padding:.5rem .75rem;font-size:.85rem}.user-typeahead-result{text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;display:flex}.user-typeahead-result:hover:not(:disabled){background:#091d5f0f}.user-typeahead-result:disabled{opacity:.5;cursor:not-allowed}.admin-tabs{border-bottom:1px solid #091d5f26;gap:1.5rem;margin-bottom:1.5rem;display:flex}.admin-tabs a{color:var(--inky-color-blue);opacity:.6;border-bottom:2px solid #0000;padding:.6rem .1rem;font-size:.95rem;text-decoration:none}.admin-tabs a:hover{opacity:1}.admin-tabs a.active{opacity:1;border-bottom-color:var(--inky-color-blue)}.app-layout{background-color:var(--inky-color-sand);background-image:var(--texture-canvas);min-height:100vh}.app-nav{background:var(--inky-color-black);align-items:center;gap:2rem;padding:1rem 2rem;display:flex}.app-nav-brand{color:var(--inky-color-white);font-family:Silkscreen,system-ui,sans-serif;font-size:1.1rem;text-decoration:none}.app-nav-brand:hover{opacity:.85}.app-nav nav{gap:1.5rem;display:flex}.app-nav nav a,.app-nav-actions a{color:var(--inky-color-white);opacity:.85;font-size:.95rem;text-decoration:none}.app-nav nav a:hover,.app-nav-actions a:hover{opacity:1}.app-nav nav a.active,.app-nav-actions a.active{opacity:1;color:var(--inky-color-yellow)}.app-nav-actions{align-items:center;gap:1rem;margin-left:auto;display:flex}.app-nav-user{color:var(--inky-color-white);font-size:.95rem}.app-nav-divider{background:#ebf2f54d;width:1px;height:1.1rem}.app-nav-logout{color:var(--inky-color-white);opacity:.85;cursor:pointer;background:0 0;border:none;font-size:.95rem}.app-nav-logout:hover{opacity:1}.app-content{padding:2rem}:root{--inky-color-white:#ebf2f5;--inky-color-sand:#ede0d0;--inky-color-black:#050514;--inky-color-yellow:#c6b467;--inky-color-red:#9e564a;--inky-color-orange:#aa6e52;--inky-color-green:#285f55;--inky-color-blue:#091d5f;--texture-canvas:repeating-linear-gradient(0deg, #0505140d 0, #0505140d 1px, transparent 1px, transparent 3px), repeating-linear-gradient(90deg, #0505140d 0, #0505140d 1px, transparent 1px, transparent 3px)}*{box-sizing:border-box}body{margin:0;font-family:Nunito,system-ui,sans-serif}
