@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&display=swap');
:root{--paper:#f5f3ee;--ink:#22211f;--muted:#817e76;--rule:#d9d6d0;--surface:#eeece6;--accent:#da6848}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Helvetica,Arial,sans-serif;font-weight:400}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #b16d45;outline-offset:2px}button:disabled{opacity:.45;cursor:not-allowed}#app{max-width:1120px;min-height:100svh;margin:auto;padding:0 4.1% 110px}.top{height:90px;border-bottom:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between}.wordmark{background:none;border:0;padding:0;font-family:'Roboto Slab',Georgia,serif;font-size:23px;font-weight:800;letter-spacing:-1.7px}.dot{color:var(--accent)}.head-right{background:none;border:0;font-size:11px;letter-spacing:.085em}.head-right .glyph{font-size:18px;margin-left:10px}.view{display:none;padding-top:34px}.view.active{display:block}h1,h2,h3{font-family:'Roboto Slab',Georgia,serif;letter-spacing:-.055em;line-height:1.1;margin:0}h1{font-size:clamp(40px,6.9vw,74px);font-weight:800}h1 em{font-style:normal;color:#8e8b81}h2{font-size:clamp(40px,5.8vw,62px)}h3{font-size:24px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.15em;color:#8b867d;margin:0 0 17px}.subtext{font-weight:300;font-size:16px;color:#6c685f;margin:16px 0 0}.hero-title{margin:18px 0 26px}.drawer-stage{margin:10px auto 0;width:min(100%,670px);position:relative}.drawer-hit{display:block;border:0;padding:0;width:100%;background:none;position:relative;line-height:0}.drawer-hit>img{display:block;width:100%;height:auto;filter:drop-shadow(0 14px 15px #33251519);transition:transform .55s cubic-bezier(.17,.75,.25,1)}.drawer-hit:hover>img{transform:translateY(5px)}#scatteredItems{position:absolute;left:14%;top:19%;width:72%;height:52%;pointer-events:none}#scatteredItems img,#scatteredItems .no-photo{position:absolute;object-fit:contain;filter:drop-shadow(2px 4px 2px #0004);max-width:28%;max-height:31%;transform:translate(-50%,-50%) rotate(var(--rotate));}#scatteredItems .no-photo{font-size:31px;line-height:1;color:#7c6a59}#scatteredItems .empty-text{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;font-size:11px;letter-spacing:.16em;color:#55483b;line-height:2}.drawer-bottom{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.08em;padding:0 3px}.arrow-hint span{font-size:18px;margin-left:8px}.home-controls{display:flex;gap:10px;justify-content:center;margin:22px auto 28px}.pill{border:1px solid var(--ink);background:none;color:var(--ink);padding:17px 21px;border-radius:0;letter-spacing:.06em;font-weight:600;font-size:10px;text-align:center;white-space:nowrap;min-height:50px}.pill.dark{background:var(--ink);color:white}.pill.outline{border-color:#a7a29a}.pill span{margin-left:20px}.wide{width:100%}.home-end{display:flex;align-items:center;gap:22px;border-top:1px solid var(--rule);padding:20px 0;font-size:10px;letter-spacing:.07em}.home-end strong{font-family:'Roboto Slab',Georgia,serif;font-size:23px;margin-right:5px}.mini-link{margin-left:auto;border:0;background:none;font-size:10px;letter-spacing:.08em}.section-heading{margin:22px 0 34px}.filter-row{display:flex;gap:9px;align-items:stretch}.search-box{background:#eae8e2;border-bottom:1px solid #d7d3ca;display:flex;align-items:center;padding:0 15px;flex:1}.search-box span{font-size:26px;color:#6b6860}.search-box input{width:100%;outline:0;border:0;background:none;padding:16px 12px;font-size:13px}.icon-btn{border:1px solid var(--rule);background:transparent;width:52px;font-size:23px}.chips{display:flex;overflow-x:auto;gap:9px;padding:18px 0 28px;scrollbar-width:none}.chip{flex-shrink:0;border:1px solid var(--rule);border-radius:0;background:none;padding:10px 13px;font-size:11px}.chip.selected{background:var(--ink);border-color:var(--ink);color:white}.objects-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px 16px}.object-card{border:0;background:none;text-align:left;padding:0;min-width:0}.thumb{background:#eae7e0;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.thumb img{width:88%;height:88%;object-fit:contain}.placeholder-object{color:#8b8378;font-family:Georgia,serif;font-size:66px}.item-name{font-family:'Roboto Slab',Georgia,serif;font-size:14px;font-weight:700;letter-spacing:-.035em;margin:11px 0 5px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.item-meta{font-size:11px;font-weight:300;color:#79756d;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.status{font-size:10px;margin-top:6px;color:#586e50}.status.loaned{color:#bf573b}.status::before{content:'●';font-size:8px;padding-right:6px}.private-mark{position:absolute;right:7px;top:6px;font-size:13px;color:#706d66}.empty-info{text-align:center;margin:30px auto;max-width:360px;padding:55px 0}.empty-scribble{font-family:Georgia,serif;font-size:65px;color:#a99a86}.empty-info p,.coming p,.backup p{font-weight:300;color:#706c64;line-height:1.7;font-size:14px}.empty-info .pill{margin-top:18px}.loan-list{display:grid;gap:12px}.loan-row{display:flex;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--rule);cursor:pointer}.loan-photo{width:78px;height:78px;background:var(--surface);display:flex;align-items:center;justify-content:center}.loan-photo img{width:85%;height:85%;object-fit:contain}.loan-desc{flex:1}.loan-desc strong{font-family:'Roboto Slab',Georgia,serif;font-size:17px}.loan-desc p{font-size:12px;color:var(--muted);margin:6px 0}.loan-days{color:var(--accent);font-size:12px}.coming{border-top:1px solid var(--rule);margin:40px auto;padding:50px 0;max-width:600px}.coming-star{font-size:50px;color:var(--accent)}.coming h3{margin:20px 0}.field-label{display:block;font-size:10px;letter-spacing:.13em;font-weight:700;color:#6f6c64;margin:25px 0 10px}.field{width:100%;border:0;border-bottom:1px solid #b5b0a7;background:#ece9e2;padding:16px 13px;min-height:50px;font-size:14px;color:var(--ink);border-radius:0}.field:focus{outline:0;border-color:var(--ink)}textarea.field{resize:vertical}.material-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.material-choice{background:#eae7e0;border:2px solid transparent;padding:9px;display:flex;align-items:center;flex-direction:column;gap:10px}.material-choice img{width:100%;height:150px;object-fit:contain}.material-choice span,.handle-choice span{font-size:10px;letter-spacing:.07em}.material-choice.selected,.handle-choice.selected{border-color:var(--ink)}.handle-options{display:flex;gap:14px}.handle-choice{width:120px;height:85px;border:2px solid transparent;background:#eae7e0;font-size:33px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px}.tiny-note{color:#827e76;font-size:11px;line-height:1.65}.backup{border-top:1px solid var(--rule);margin-top:55px;padding-top:30px}.button-line{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.file-button{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.photo-upload{display:flex;min-height:250px;max-width:400px;background:#ebe8e0;border:1px dashed #c6c1b7;justify-content:center;align-items:center;text-align:center;font-size:11px;letter-spacing:.08em;line-height:1.8;cursor:pointer}.camera{font-size:50px;font-weight:200}.photo-upload img{max-width:100%;max-height:250px;object-fit:contain}.fields-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.visibility-toggle{display:flex;gap:10px}.visibility-toggle label{flex:1}.visibility-toggle input{position:absolute;opacity:0}.visibility-toggle span{display:block;text-align:center;background:#e9e6df;padding:18px 8px;font-size:11px;border:1px solid transparent;cursor:pointer}.visibility-toggle input:checked+span{border-color:var(--ink);background:#d9d3c9}.edit-actions{display:flex;justify-content:space-between;gap:12px;margin:34px 0}.edit-actions .pill{flex:1}.back{background:none;border:0;padding:0;font-size:11px;letter-spacing:.08em;margin:6px 0 24px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}.detail-photo{aspect-ratio:1;background:#eae7e0;display:flex;align-items:center;justify-content:center}.detail-photo img{width:87%;height:87%;object-fit:contain}.detail-photo .placeholder-object{font-size:110px}.detail-info h2{margin:18px 0}.meta-line{font-size:11px;color:var(--muted);margin:12px 0 25px}.detail-block{border-top:1px solid var(--rule);padding:18px 0}.detail-block .field-label{margin:0 0 10px}.detail-block p{font-size:14px;line-height:1.6;margin:0}.loan-banner{background:#f2ddd3;padding:18px;font-size:13px;line-height:1.6}.loan-banner b{display:block;color:#9e452c}.loan-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.loan-buttons button{flex:1}.danger{color:#a34129;border-color:#c7a9a0!important}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--rule);width:min(94%,480px);padding:35px}dialog::backdrop{background:#14120db8}#toast{pointer-events:none;opacity:0;transition:opacity .2s;position:fixed;bottom:97px;left:50%;transform:translateX(-50%);background:#25231f;color:white;padding:12px 20px;font-size:12px;z-index:99;max-width:85vw;text-align:center}#toast.show{opacity:1}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,1120px);height:77px;display:flex;justify-content:space-around;align-items:center;background:#f5f3eef5;border-top:1px solid var(--rule);backdrop-filter:blur(12px);z-index:10;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{border:0;background:none;display:flex;flex-direction:column;gap:5px;align-items:center;font-size:9px;letter-spacing:.04em;color:#77736b;min-width:55px}.bottom-nav button span{font-size:22px}.bottom-nav button.current{color:var(--ink);font-weight:700}.bottom-nav .nav-add{border:1px solid var(--ink);background:var(--ink);color:white;border-radius:50%;width:42px;height:42px;min-width:42px;font-size:25px;display:block;font-weight:300;padding:0}@media(max-width:650px){#app{padding:0 5% 95px}.top{height:65px}.wordmark{font-size:20px}.head-right{font-size:9px}.view{padding-top:20px}.hero-title{margin:5px 0 20px}h1{font-size:44px}.subtext{font-size:13px}.drawer-stage{width:112%;margin-left:-6%}.drawer-bottom{padding:0 5%;font-size:9px}.home-controls .pill{padding:14px 9px;font-size:9px;min-height:46px}.home-controls .pill span{margin-left:3px}.home-end{gap:13px;flex-wrap:wrap}.home-end strong{font-size:19px}.home-end span{font-size:8px}.mini-link{font-size:9px}.section-heading{margin:15px 0 26px}h2{font-size:42px}.objects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}.fields-two{grid-template-columns:1fr;gap:0}.material-choice img{height:110px}.detail-layout{grid-template-columns:1fr;gap:18px}.detail-photo{aspect-ratio:1.6}.detail-info h2{font-size:38px}.photo-upload{min-height:190px}.bottom-nav{height:73px}.bottom-nav button{min-width:50px}.button-line .pill{flex:1;font-size:9px;padding:13px 9px}}

/* Optimisations tactiles et iOS */
html{-webkit-text-size-adjust:100%;scroll-padding-top:16px}body{overscroll-behavior-y:contain}button,input,select,textarea{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}input,textarea,select{font-size:16px} .bottom-nav{height:calc(72px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);bottom:0}#app{padding-bottom:calc(110px + env(safe-area-inset-bottom))}#toast{bottom:calc(90px + env(safe-area-inset-bottom))}dialog{max-height:calc(100dvh - 40px);overflow:auto;border-radius:3px} .drawer-hit:active>img{transform:translateY(7px) scale(.99)}.photo-upload{touch-action:manipulation} @media(max-width:650px){.top{padding-top:env(safe-area-inset-top);height:calc(65px + env(safe-area-inset-top))}.bottom-nav button{min-height:48px;justify-content:center}.search-box input{font-size:16px}.field{font-size:16px}.chip{min-height:40px}.material-choice,.handle-choice{min-height:85px}.objects-grid{gap:21px 12px}} @media(max-width:360px){h1{font-size:38px}h2{font-size:37px}.bottom-nav button{font-size:8px;min-width:42px}.home-controls{flex-direction:column}.home-controls .pill{width:100%}} @media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Atelier de détourage : photo, fond transparent, retouche au doigt */
#cutoutDialog{width:min(96%,650px);padding:22px;max-height:94dvh;overscroll-behavior:contain;border-radius:5px}
.cutout-top{display:flex;justify-content:space-between;align-items:start;gap:16px}.cutout-top h3{font-size:28px}.cutout-top .eyebrow{margin-bottom:8px}.cutout-cross{border:0;background:none;font-size:34px;line-height:1;padding:0 6px;color:var(--ink)}
.cutout-frame{width:100%;height:min(43dvh,360px);display:flex;justify-content:center;align-items:center;overflow:hidden;background-color:#ecebe7;background-image:linear-gradient(45deg,#d7d5cf 25%,transparent 25%),linear-gradient(-45deg,#d7d5cf 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#d7d5cf 75%),linear-gradient(-45deg,transparent 75%,#d7d5cf 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0;margin-top:13px}
#cutoutCanvas{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;touch-action:none}#cutoutCanvas.erasing{cursor:crosshair}.cutout-range{display:block;width:100%;accent-color:var(--ink);min-height:32px}.cutout-tools,.cutout-actions{display:flex;gap:8px;margin-top:12px}.cutout-tools .pill,.cutout-actions .pill{flex:1;white-space:normal;padding:12px 9px;min-height:46px;font-size:9px}.cutout-actions{border-top:1px solid var(--rule);padding-top:14px}.cutout-actions .dark{flex:1.1}#cutoutDialog .field-label{margin:12px 0 5px}#cutoutHint{margin:8px 0 5px;min-height:17px}
@media(max-width:650px){#cutoutDialog{padding:17px;max-height:95dvh}.cutout-frame{height:min(38dvh,325px)}.cutout-top h3{font-size:25px}.cutout-tools .pill,.cutout-actions .pill{font-size:8px}}

/* V4 : alphabet original SVG, aucune fonte de substitution dans les grands titres. */
h1,h2,h3,.wordmark,.item-name,.loan-desc strong,.home-end strong{font-family:'DM Sans',Helvetica,Arial,sans-serif;letter-spacing:normal}
.svg-typeset{display:inline-flex;flex-wrap:wrap;align-items:baseline;column-gap:.29em;row-gap:.12em;max-width:100%;line-height:1.02;vertical-align:top}
.svg-word{display:inline-flex;align-items:baseline;white-space:nowrap;flex-wrap:nowrap;max-width:100%;height:1.02em}
.svg-glyph{display:block;height:1.02em;width:auto;max-width:none;flex:none;margin-right:.004em}
.svg-punctuation{font-family:'DM Sans',Arial,sans-serif;font-weight:300;line-height:1;font-size:.82em;margin-right:.04em}
.visually-hidden{position:absolute!important;overflow:hidden!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;white-space:nowrap!important;clip:rect(0,0,0,0)!important;border:0!important}
.wordmark{display:flex;align-items:center;justify-content:flex-start;min-width:0}
.custom-wordmark{display:block;width:145px;height:auto;max-height:38px}
h1{font-size:clamp(36px,5.6vw,63px)}h2{font-size:clamp(35px,5.2vw,56px)}h3{font-size:23px}
.detail-info h2{overflow-wrap:anywhere}
@media(max-width:650px){h1{font-size:39px}h2{font-size:37px}.detail-info h2{font-size:33px}.custom-wordmark{width:127px}h3{font-size:22px}}
@media(max-width:370px){h1{font-size:34px}h2{font-size:32px}.svg-typeset{column-gap:.22em}}
